| 0x18336d9c0 |void fcn.18336d9c0(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4) |{ | int32_t *piVar1; | int64_t iVar2; | undefined8 uVar3; | code *pcVar4; | int64_t iVar5; | undefined auStack_b8 [32]; | int64_t var_98h; | int64_t var_88h; | undefined8 uStack_80; | undefined uStack_60; | int64_t var_58h; | int64_t var_50h; | int64_t var_48h; | 0x18336d9e0 | var_48h = *(uint64_t *)0x191c71040 ^ (uint64_t)auStack_b8; 0x18336d9ed | if (*(char *)(arg4 + 0x28) == '\x01') { 0x18336d9ef | var_50h = 0; 0x18336d9f8 | piVar1 = *(int32_t **)arg3; 0x18336d9fe | if (piVar1 == (int32_t *)0x0) goto code_r0x00018336dbd4; 0x18336da04 | *(undefined8 *)arg3 = 0; 0x18336da1a | (*(code *)0x185f59da0)(piVar1, arg4, &var_50h); 0x18336da20 | LOCK(); 0x18336da20 | *piVar1 = *piVar1 + -1; 0x18336da20 | UNLOCK(); 0x18336da24 | if (*piVar1 == 0) { 0x18336da2d | (*(code *)0x185f59da0)(piVar1); | } 0x18336da33 | iVar2 = var_50h; 0x18336da38 | var_50h = 0; 0x18336da44 | if (iVar2 != 0) { 0x18336dbe2 | func_0x00018124f850(iVar2, 1); | } 0x18336da4d | if (arg2 != 0) { 0x18336da53 | LOCK(); 0x18336da53 | piVar1 = (int32_t *)(arg2 + 8); 0x18336da53 | *piVar1 = *piVar1 + -1; 0x18336da53 | UNLOCK(); 0x18336da57 | if (*piVar1 == 0) { 0x18336da60 | func_0x000185578b40(arg2); | } | } | } else { 0x18336da6a | iVar2 = *(int64_t *)(arg4 + 0x30); 0x18336da71 | if (iVar2 == 0) { 0x18336dbd7 | pcVar4 = (code *)swi(3); 0x18336dbd7 | (*pcVar4)(); 0x18336dbd7 | return; | } 0x18336da7e | iVar5 = func_0x000185f006b8(0x38); 0x18336da89 | *(undefined8 *)(arg4 + 0x30) = 0; 0x18336da95 | uStack_80 = *(undefined8 *)(arg4 + 0x38); 0x18336da9d | *(undefined8 *)(arg4 + 0x38) = 0; 0x18336dab4 | var_98h = arg2; 0x18336dab4 | var_88h = iVar2; 0x18336dab4 | func_0x00018134a090(iVar5, arg1 & 0xffffffff, 1, &var_88h); 0x18336dabe | var_88h = var_88h & 0xffffffffffffff00; 0x18336dac1 | uStack_60 = 0; 0x18336dac5 | piVar1 = *(int32_t **)arg3; 0x18336dacb | var_58h = iVar5; 0x18336dacb | if (piVar1 == (int32_t *)0x0) { 0x18336dbda | pcVar4 = (code *)swi(3); 0x18336dbda | (*pcVar4)(); 0x18336dbda | return; | } 0x18336dad1 | *(undefined8 *)arg3 = 0; 0x18336dae9 | (*(code *)0x185f59da0)(piVar1, &var_88h, &var_58h); 0x18336daef | LOCK(); 0x18336daef | *piVar1 = *piVar1 + -1; 0x18336daef | UNLOCK(); 0x18336daf2 | if (*piVar1 == 0) { 0x18336dafb | (*(code *)0x185f59da0)(piVar1); | } 0x18336db01 | iVar2 = var_58h; 0x18336db06 | var_58h = 0; 0x18336db12 | if (iVar2 != 0) { 0x18336dbf1 | func_0x00018124f850(iVar2, 1); | } | } 0x18336db18 | piVar1 = *(int32_t **)arg3; 0x18336db1e | if (piVar1 != (int32_t *)0x0) { 0x18336db65 | LOCK(); 0x18336db65 | *piVar1 = *piVar1 + -1; 0x18336db65 | UNLOCK(); 0x18336db68 | if (*piVar1 == 0) { 0x18336db6e | (*(code *)0x185f59da0)(); | } | } 0x18336db20 | iVar2 = *(int64_t *)(arg4 + 0x30); 0x18336db24 | *(undefined8 *)(arg4 + 0x30) = 0; 0x18336db2f | if (iVar2 != 0) { 0x18336db76 | uVar3 = *(undefined8 *)(arg4 + 0x38); 0x18336db88 | func_0x000184339cd0(&var_88h, 0x190124590, 0x1901b9970, 0x19e); 0x18336dbb2 | (*(code *)0x185f59da0)(uVar3, &var_88h, 0x18336e430, iVar2); | } 0x18336db38 | if (*(int64_t *)(arg4 + 0x38) != 0) { 0x18336db3a | LOCK(); 0x18336db3a | piVar1 = (int32_t *)(*(int64_t *)(arg4 + 0x38) + 8); 0x18336db3a | *piVar1 = *piVar1 + -1; 0x18336db3a | UNLOCK(); 0x18336db3e | if (*piVar1 == 0) { 0x18336dbbd | func_0x000185578b40(); | } | } 0x18336db52 | if (*(uint64_t *)0x191c71040 == (var_48h ^ (uint64_t)auStack_b8)) { 0x18336db64 | return; | } 0x18336dbcc | func_0x000185f05b40(var_48h ^ (uint64_t)auStack_b8); |code_r0x00018336dbd4: 0x18336dbd4 | pcVar4 = (code *)swi(3); 0x18336dbd4 | (*pcVar4)(); 0x18336dbd4 | return; |} [{"offset":6496377280,"name":"fcn.18336d9c0","size":571,"is-pure":false,"realsz":565,"noreturn":false,"stackframe":184,"calltype":"ms","cost":203,"cc":20,"loops":6,"bits":64,"type":"fcn","nbbs":29,"edges":41,"ebbs":4,"signature":"fcn.18336d9c0(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4);","minbound":6496377280,"maxbound":6496377851,"callrefs":[{"from":6496377370,"to":6740346544,"type":"CALL"},{"from":6496377389,"to":6740346544,"type":"CALL"},{"from":6496377440,"to":6532074304,"type":"CALL"},{"from":6496377445,"to":6496377624,"type":"CODE"},{"from":6496377470,"to":6542067384,"type":"CALL"},{"from":6496377524,"to":6462677136,"type":"CALL"},{"from":6496377577,"to":6740346544,"type":"CALL"},{"from":6496377595,"to":6740346544,"type":"CALL"},{"from":6496377710,"to":6740346544,"type":"CALL"},{"from":6496377716,"to":6496377632,"type":"CODE"},{"from":6496377750,"to":6512942288,"type":"CALL"},{"from":6496377778,"to":6740346544,"type":"CALL"},{"from":6496377784,"to":6496377649,"type":"CODE"},{"from":6496377789,"to":6532074304,"type":"CALL"},{"from":6496377794,"to":6496377664,"type":"CODE"},{"from":6496377807,"to":6542089024,"type":"CALL"},{"from":6496377826,"to":6461651024,"type":"CALL"},{"from":6496377831,"to":6496377418,"type":"CODE"},{"from":6496377841,"to":6461651024,"type":"CALL"},{"from":6496377846,"to":6496377624,"type":"CODE"}],"datarefs":[{"from":6496377305,"to":6740709440,"type":"DATA"},{"from":6496377672,"to":6740709440,"type":"DATA"},{"from":6496377722,"to":6712083856,"type":"DATA"},{"from":6496377729,"to":6712695152,"type":"DATA"},{"from":6496377762,"to":6496379952,"type":"DATA"}],"codexrefs":[{"from":6496377445,"to":6496377624,"type":"CODE"},{"from":6496377716,"to":6496377632,"type":"CODE"},{"from":6496377784,"to":6496377649,"type":"CODE"},{"from":6496377794,"to":6496377664,"type":"CODE"},{"from":6496377831,"to":6496377418,"type":"CODE"},{"from":6496377846,"to":6496377624,"type":"CODE"}],"dataxrefs":[],"indegree":6,"outdegree":14,"nlocals":5,"nargs":4,"stackvars":[{"name":"var_98h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-152}},{"name":"var_88h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-136}},{"name":"var_58h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-88}},{"name":"var_50h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-80}},{"name":"var_48h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-72}}],"regvars":[{"name":"arg3","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"r8"}},{"name":"arg4","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"r9"}},{"name":"arg1","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rcx"}},{"name":"arg2","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rdx"}}]}]