0x18337c280 | 0x18337c280 |// WARNING: [rz-ghidra] Detected overlap for variable var_199h 0x18337c280 |// WARNING: [rz-ghidra] Detected overlap for variable var_1a0h | 0x18337c280 |void fcn.18337c280(int64_t arg1, int64_t arg2, int64_t arg3) |{ | char cVar1; | int32_t *piVar2; | code *pcVar3; | int32_t iVar4; | uint32_t uVar5; | int64_t iVar6; | undefined4 *puVar7; | undefined8 uVar8; | int64_t iVar9; | int64_t iVar10; | int64_t var_1c8h; | int64_t var_1c0h; | int64_t var_1b8h; | int64_t var_1b0h; | undefined8 uStack_1a8; | uint64_t var_1a0h; | int64_t var_198h; | undefined8 uStack_190; | int64_t var_188h; | undefined8 uStack_180; | undefined8 uStack_178; | int64_t var_170h; | int64_t var_168h; | int64_t var_160h; | undefined8 uStack_158; | int64_t var_150h; | int64_t var_148h; | int64_t iStack_140; | int64_t var_108h; | int64_t var_f8h; | int64_t var_e0h; | 0x18337c290 | iVar10 = *(int64_t *)(arg1 + 0x90); 0x18337c29a | if (iVar10 != 0) { 0x18337c2a9 | cVar1 = *(char *)(arg1 + 0x5f); 0x18337c2a9 | iVar6 = (int64_t)cVar1; 0x18337c2b1 | iVar9 = iVar6; 0x18337c2b1 | if (iVar6 < 0) { 0x18337c6da | iVar9 = *(int64_t *)(arg1 + 0x50); | } 0x18337c2bd | if (iVar9 != 0) { 0x18337c2c5 | iVar9 = (int64_t)*(char *)(arg1 + 0xbf); 0x18337c2d3 | if (iVar9 < 0) { 0x18337c2d5 | iVar9 = *(int64_t *)(arg1 + 0xb0); | } 0x18337c2de | if (cVar1 < '\0') { 0x18337c2e0 | iVar6 = *(int64_t *)(arg1 + 0x50); | } 0x18337c2e7 | if (iVar9 == iVar6) { 0x18337c2ef | if (cVar1 < '\0') { 0x18337c2f7 | iVar6 = *(int64_t *)(arg1 + 0x48); | } else { 0x18337c2f1 | iVar6 = arg1 + 0x48; | } 0x18337c2fd | if (*(char *)(arg1 + 0xbf) < '\0') { 0x18337c308 | iVar9 = *(int64_t *)(arg1 + 0xa8); | } else { 0x18337c2ff | iVar9 = arg1 + 0xa8; | } 0x18337c30f | iVar4 = func_0x000185f59f10(iVar9, iVar6); 0x18337c323 | if ((iVar4 == 0) && (*(char *)(arg1 + 0xd0) != '\x01')) { 0x18337c330 | if (*(char *)(arg1 + 0xc0) == '\x01') { 0x18337c6df | pcVar3 = (code *)swi(3); 0x18337c6df | (*pcVar3)(); 0x18337c6df | return; | } 0x18337c33d | if (*(char *)(arg1 + 0xc1) == '\x01') { 0x18337c6e2 | pcVar3 = (code *)swi(3); 0x18337c6e2 | (*pcVar3)(); 0x18337c6e2 | return; | } 0x18337c34b | var_1c8h = 0; 0x18337c34b | var_1c0h = 0; 0x18337c35f | (*(code *)0x185f59da0)(*(undefined8 *)(iVar10 + 8), &var_1c8h); 0x18337c382 | if (((var_1c8h == 0) || (*(char *)(var_1c8h + 4) != '\0')) || (var_1c0h == 0)) { 0x18337c646 | iVar10 = func_0x000185f006b8(0x68); 0x18337c653 | func_0x0001823f6f50(iVar10, 0); 0x18337c658 | *(undefined8 *)(iVar10 + 0x58) = 0; 0x18337c660 | *(undefined *)(iVar10 + 0x60) = 1; 0x18337c672 | var_168h = iVar10; 0x18337c672 | func_0x0001893815b0(arg3); | } else { 0x18337c38f | iVar10 = *(int64_t *)(arg1 + 200) + 1; 0x18337c392 | *(int64_t *)(arg1 + 200) = iVar10; 0x18337c3a1 | var_188h = 0; 0x18337c3a1 | uStack_180 = 0; 0x18337c3a5 | var_198h = 0; 0x18337c3a5 | uStack_190 = 0; 0x18337c3a9 | uStack_1a8 = 0; 0x18337c3a9 | var_1a0h = 0; 0x18337c3ad | var_1b8h = 0; 0x18337c3ad | var_1b0h = 0; 0x18337c3b0 | uStack_178 = 0; 0x18337c39c | func_0x00018b5f0ad0(&var_1b8h, arg2); 0x18337c3c0 | piVar2 = *(int32_t **)(arg1 + 0x278); 0x18337c3c7 | uVar8 = *(undefined8 *)(arg1 + 0x280); 0x18337c3d1 | if (piVar2 != (int32_t *)0x0) { 0x18337c3d8 | LOCK(); 0x18337c3d8 | iVar4 = *piVar2; 0x18337c3d8 | *piVar2 = *piVar2 + 1; 0x18337c3d8 | UNLOCK(); 0x18337c3e3 | if (iVar4 == 0x7fffffff) { 0x18337c6e5 | pcVar3 = (code *)swi(3); 0x18337c6e5 | (*pcVar3)(); 0x18337c6e5 | return; | } | } 0x18337c3ee | puVar7 = (undefined4 *)func_0x000185f006b8(0x50); 0x18337c3ee | iVar6 = var_1b8h; 0x18337c3f3 | *puVar7 = 1; 0x18337c400 | *(undefined8 *)(puVar7 + 2) = 0x183381850; 0x18337c40b | *(undefined8 *)(puVar7 + 4) = 0x1833818d0; 0x18337c416 | *(undefined8 *)(puVar7 + 6) = 0x1832818a0; 0x18337c421 | *(undefined8 *)(puVar7 + 8) = 0x18337d5e0; 0x18337c425 | puVar7[10] = 0; 0x18337c42c | *(int32_t **)(puVar7 + 0xc) = piVar2; 0x18337c430 | *(undefined8 *)(puVar7 + 0xe) = uVar8; 0x18337c434 | *(int64_t *)(puVar7 + 0x10) = iVar10; 0x18337c438 | piVar2 = *(int32_t **)arg2; 0x18337c43b | *(int32_t **)(puVar7 + 0x12) = piVar2; 0x18337c442 | if (piVar2 != (int32_t *)0x0) { 0x18337c449 | LOCK(); 0x18337c449 | iVar4 = *piVar2; 0x18337c449 | *piVar2 = *piVar2 + 1; 0x18337c449 | UNLOCK(); 0x18337c44f | if (iVar4 < 1) { 0x18337c6e8 | pcVar3 = (code *)swi(3); 0x18337c6e8 | (*pcVar3)(); 0x18337c6e8 | return; | } 0x18337c45b | if (iVar4 == 0x7fffffff) { 0x18337c6eb | pcVar3 = (code *)swi(3); 0x18337c6eb | (*pcVar3)(); 0x18337c6eb | return; | } | } 0x18337c46e | if (var_1b8h != 0) { 0x18337c67c | LOCK(); 0x18337c67c | *(int32_t *)var_1b8h = *(int32_t *)var_1b8h + -1; 0x18337c67c | UNLOCK(); 0x18337c680 | if (*(int32_t *)var_1b8h == 0) { 0x18337c694 | if (*(int64_t *)(var_1b8h + 0x10) == 0x182bf38a0) { 0x18337c6a4 | piVar2 = *(int32_t **)(var_1b8h + 0x30); 0x18337c6ab | var_1b8h = (int64_t)puVar7; 0x18337c6ab | if (piVar2 != (int32_t *)0x0) { 0x18337c6bf | LOCK(); 0x18337c6bf | *piVar2 = *piVar2 + -1; 0x18337c6bf | UNLOCK(); 0x18337c6c2 | if (*piVar2 == 0) { 0x18337c6c9 | func_0x0001841dcbe0(piVar2, 8); | } | } 0x18337c6b5 | func_0x0001841dcbe0(iVar6, 0x48); 0x18337c6ba | puVar7 = (undefined4 *)var_1b8h; | } else { 0x18337c699 | var_1b8h = (int64_t)puVar7; 0x18337c699 | (*(code *)0x185f59da0)(iVar6); 0x18337c69f | puVar7 = (undefined4 *)var_1b8h; | } | } | } 0x18337c474 | var_1b8h = (int64_t)puVar7; 0x18337c474 | *(undefined2 *)(arg1 + 0xc0) = 0x101; 0x18337c487 | if (*(int64_t *)0x191de85d8 == 0) { 0x18337c49a | uVar5 = -*(int32_t *)0x191de85c0 >> 0x1f | -*(int32_t *)0x191de85c0; | } else { 0x18337c739 | var_160h = 0x19088bb98; 0x18337c73c | uStack_158 = 0x3c; 0x18337c744 | uVar5 = func_0x00018befeaa0(); | } 0x18337c49e | if (0 < (int32_t)uVar5) { 0x18337c4ab | func_0x00018030d390(&var_160h, 0x19088bb98, 0x840, 0xffffffff); 0x18337c4df | uVar8 = func_0x000184dcd0d0(&var_150h, 0x19088bc28, 0x38); 0x18337c4ea | func_0x0001813014a0(uVar8, iVar10); 0x18337c4f6 | var_160h = 0x18ff81648; 0x18337c4ab | func_0x00018030e9d0(&var_160h); 0x18337c510 | *(undefined8 *)((int64_t)&var_150h + (int64_t)*(int32_t *)(var_150h + 4)) = 0x18fe1b290; 0x18337c51f | var_148h = 0x18fe20d40; 0x18337c528 | if (var_f8h._7_1_ < '\0') { 0x18337c544 | func_0x0001841dcbe0(var_108h, 0x18337c534 | CONCAT17(var_f8h._7_1_, (unkbyte7)var_f8h) & 0x7fffffffffffffff); | } 0x18337c558 | var_148h = 0x18fe20db0; 0x18337c569 | if (iStack_140 != 0x191de1450) { 0x18337c753 | LOCK(); 0x18337c753 | piVar2 = (int32_t *)(iStack_140 + 8); 0x18337c753 | iVar4 = *piVar2; 0x18337c753 | *piVar2 = *piVar2 + -1; 0x18337c753 | UNLOCK(); 0x18337c75a | if (iVar4 == 0) { 0x18337c767 | (*(code *)0x185f59da0)(); | } | } 0x18337c549 | func_0x00018424db70(&var_148h); 0x18337c56f | func_0x0001848f8b80(&var_e0h); | } 0x18337c59a | if ((var_1c8h == 0) || (*(char *)(var_1c8h + 4) != '\0')) { 0x18337c6d3 | pcVar3 = (code *)swi(3); 0x18337c6d3 | (*pcVar3)(); 0x18337c6d3 | return; | } 0x18337c5a5 | var_170h = *(int64_t *)arg3; 0x18337c5b0 | *(undefined8 *)arg3 = 0; 0x18337c5c6 | (*(code *)0x185f59da0)(var_1c0h, &var_1b8h); 0x18337c5d0 | if (var_188h < 0) { 0x18337c702 | func_0x0001841dcbe0(var_198h, var_188h & 0x7fffffffffffffff); | } 0x18337c5db | if ((int64_t)var_1a0h < 0) { 0x18337c720 | func_0x0001841dcbe0(var_1b0h, var_1a0h & 0x7fffffffffffffff); | } 0x18337c5e9 | if (var_1b8h != 0) { 0x18337c630 | LOCK(); 0x18337c630 | *(int32_t *)var_1b8h = *(int32_t *)var_1b8h + -1; 0x18337c630 | UNLOCK(); 0x18337c633 | if (*(int32_t *)var_1b8h == 0) { 0x18337c639 | (*(code *)0x185f59da0)(); | } | } | } 0x18337c5f3 | if (var_1c8h != 0) { 0x18337c60e | LOCK(); 0x18337c60e | *(int32_t *)var_1c8h = *(int32_t *)var_1c8h + -1; 0x18337c60e | UNLOCK(); 0x18337c611 | if (*(int32_t *)var_1c8h == 0) { 0x18337c618 | func_0x0001841dcbe0(var_1c8h, 8); | } | } 0x18337c5f5 | piVar2 = *(int32_t **)arg3; 0x18337c5fb | if (piVar2 != (int32_t *)0x0) { 0x18337c61f | LOCK(); 0x18337c61f | *piVar2 = *piVar2 + -1; 0x18337c61f | UNLOCK(); 0x18337c622 | if (*piVar2 == 0) { 0x18337c628 | (*(code *)0x185f59da0)(); | } | } 0x18337c60d | return; | } | } | } | } 0x18337c6d0 | pcVar3 = (code *)swi(3); 0x18337c6d0 | (*pcVar3)(); 0x18337c6d0 | return; |} [{"offset":6496436864,"name":"fcn.18337c280","size":1266,"is-pure":false,"realsz":1252,"noreturn":false,"stackframe":488,"calltype":"ms","cost":398,"cc":48,"loops":18,"bits":64,"type":"fcn","nbbs":70,"edges":102,"ebbs":8,"signature":"fcn.18337c280(int64_t arg1, int64_t arg2, int64_t arg3);","minbound":6496436864,"maxbound":6496438130,"callrefs":[{"from":6496436981,"to":6496436987,"type":"CODE"},{"from":6496436998,"to":6496437007,"type":"CODE"},{"from":6496437007,"to":6542434064,"type":"CALL"},{"from":6496437087,"to":6740346544,"type":"CALL"},{"from":6496437179,"to":6633229008,"type":"CALL"},{"from":6496437230,"to":6542067384,"type":"CALL"},{"from":6496437442,"to":6445650832,"type":"CALL"},{"from":6496437471,"to":6524031184,"type":"CALL"},{"from":6496437482,"to":6462379168,"type":"CALL"},{"from":6496437501,"to":6445656528,"type":"CALL"},{"from":6496437572,"to":6511512544,"type":"CALL"},{"from":6496437626,"to":6511975280,"type":"CALL"},{"from":6496437634,"to":6518967168,"type":"CALL"},{"from":6496437702,"to":6740346544,"type":"CALL"},{"from":6496437784,"to":6511512544,"type":"CALL"},{"from":6496437789,"to":6496437749,"type":"CODE"},{"from":6496437800,"to":6740346544,"type":"CALL"},{"from":6496437806,"to":6496437757,"type":"CODE"},{"from":6496437817,"to":6740346544,"type":"CALL"},{"from":6496437823,"to":6496437739,"type":"CODE"},{"from":6496437830,"to":6542067384,"type":"CALL"},{"from":6496437843,"to":6480162640,"type":"CALL"},{"from":6496437874,"to":6597121456,"type":"CALL"},{"from":6496437879,"to":6496437739,"type":"CODE"},{"from":6496437913,"to":6740346544,"type":"CALL"},{"from":6496437919,"to":6496437364,"type":"CODE"},{"from":6496437941,"to":6511512544,"type":"CALL"},{"from":6496437946,"to":6496437364,"type":"CODE"},{"from":6496437961,"to":6511512544,"type":"CALL"},{"from":6496437966,"to":6496437933,"type":"CODE"},{"from":6496437978,"to":6496436922,"type":"CODE"},{"from":6496438018,"to":6511512544,"type":"CALL"},{"from":6496438023,"to":6496437718,"type":"CODE"},{"from":6496438048,"to":6511512544,"type":"CALL"},{"from":6496438053,"to":6496437729,"type":"CODE"},{"from":6496438084,"to":6642723488,"type":"CALL"},{"from":6496438089,"to":6496437404,"type":"CODE"},{"from":6496438119,"to":6740346544,"type":"CALL"},{"from":6496438125,"to":6496437615,"type":"CODE"}],"datarefs":[{"from":6496437241,"to":6496458832,"type":"DATA"},{"from":6496437252,"to":6496458960,"type":"DATA"},{"from":6496437263,"to":6495410336,"type":"DATA"},{"from":6496437274,"to":6496441824,"type":"DATA"},{"from":6496437373,"to":6742246872,"type":"DATA"},{"from":6496437391,"to":6742246848,"type":"DATA"},{"from":6496437412,"to":6719847320,"type":"DATA"},{"from":6496437455,"to":6719847464,"type":"DATA"},{"from":6496437487,"to":6710367816,"type":"DATA"},{"from":6496437513,"to":6708900496,"type":"DATA"},{"from":6496437528,"to":6708923712,"type":"DATA"},{"from":6496437585,"to":6708923824,"type":"DATA"},{"from":6496437599,"to":6742217808,"type":"DATA"},{"from":6496437898,"to":6488537248,"type":"DATA"},{"from":6496438058,"to":6719847320,"type":"DATA"}],"codexrefs":[{"from":6496436981,"to":6496436987,"type":"CODE"},{"from":6496436998,"to":6496437007,"type":"CODE"},{"from":6496437789,"to":6496437749,"type":"CODE"},{"from":6496437806,"to":6496437757,"type":"CODE"},{"from":6496437823,"to":6496437739,"type":"CODE"},{"from":6496437879,"to":6496437739,"type":"CODE"},{"from":6496437919,"to":6496437364,"type":"CODE"},{"from":6496437946,"to":6496437364,"type":"CODE"},{"from":6496437966,"to":6496437933,"type":"CODE"},{"from":6496437978,"to":6496436922,"type":"CODE"},{"from":6496438023,"to":6496437718,"type":"CODE"},{"from":6496438053,"to":6496437729,"type":"CODE"},{"from":6496438089,"to":6496437404,"type":"CODE"},{"from":6496438125,"to":6496437615,"type":"CODE"}],"dataxrefs":[],"indegree":14,"outdegree":25,"nlocals":16,"nargs":3,"stackvars":[{"name":"var_1c8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-456}},{"name":"var_1c0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-448}},{"name":"var_1b8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-440}},{"name":"var_1b0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-432}},{"name":"var_1a0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-416}},{"name":"var_199h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-409}},{"name":"var_198h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-408}},{"name":"var_188h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-392}},{"name":"var_170h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-368}},{"name":"var_168h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-360}},{"name":"var_160h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-352}},{"name":"var_150h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-336}},{"name":"var_148h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-328}},{"name":"var_108h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-264}},{"name":"var_f8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-248}},{"name":"var_e0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-224}}],"regvars":[{"name":"arg3","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"r8"}},{"name":"arg1","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rcx"}},{"name":"arg2","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rdx"}}]}]