0x183824110 | 0x183824110 |// WARNING: [rz-ghidra] Detected overlap for variable var_181h 0x183824110 |// WARNING: [rz-ghidra] Detected overlap for variable var_188h 0x183824110 |// WARNING: [rz-ghidra] Detected overlap for variable var_159h 0x183824110 |// WARNING: [rz-ghidra] Detected overlap for variable var_158h | 0x183824110 |void fcn.183824110(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4, int64_t arg_28h, int64_t arg_30h, | int64_t arg_38h) |{ | int32_t iVar1; | undefined8 uVar2; | int32_t *piVar3; | uint64_t uVar4; | code *pcVar5; | undefined4 uVar6; | undefined4 uVar7; | undefined4 uVar8; | undefined4 uVar9; | char cVar10; | undefined8 uVar11; | undefined4 *puVar12; | undefined4 *puVar13; | undefined8 *puVar14; | int64_t iVar15; | int64_t *piVar16; | int64_t iVar17; | int64_t var_198h; | int64_t var_190h; | undefined8 var_188h; | int64_t var_180h; | int64_t var_178h; | int64_t var_170h; | int64_t var_168h; | int64_t var_160h; | undefined8 var_158h; | int64_t iStack_150; | int64_t var_118h; | int64_t var_108h; | int64_t var_f0h; | 0x183824155 | if ((*(int32_t *)0x191de85c0 < 1) && ((*(int32_t *)0x191cd6be0 != 0 || (*(int64_t *)0x191de85c8 != 0)))) { 0x183824163 | uVar2 = *(undefined8 *)(arg_28h + 8); 0x18382416e | func_0x00018030d390(&var_170h, 0x190c23b08, 0x79f, 0); 0x183824193 | uVar11 = func_0x000184dcd0d0(&var_160h, 0x1908fb27c, 6); 0x1838241a8 | uVar11 = func_0x000184dcd0d0(uVar11, 0x190c24570, 0x25); 0x1838241b0 | func_0x00018380ccc0(&var_198h, arg2); 0x1838241c8 | piVar16 = &var_198h; 0x1838241c8 | iVar17 = (int64_t)var_188h._7_1_; 0x1838241c8 | if ((int64_t)var_188h._7_1_ < 0) { 0x1838241cf | piVar16 = (int64_t *)var_198h; 0x1838241cf | iVar17 = var_190h; | } 0x1838241da | uVar11 = func_0x000184dcd0d0(uVar11, piVar16, iVar17); 0x1838241ef | uVar11 = func_0x000184dcd0d0(uVar11, 0x190c23a88, 8); 0x1838241f4 | iVar17 = (int64_t)*(char *)(arg_30h + 0x17); 0x1838241ff | iVar15 = arg_30h; 0x1838241ff | if (iVar17 < 0) { 0x183824201 | iVar17 = *(int64_t *)(arg_30h + 8); 0x183824205 | iVar15 = *(int64_t *)arg_30h; | } 0x18382420b | uVar11 = func_0x000184dcd0d0(uVar11, iVar15, iVar17); 0x183824220 | uVar11 = func_0x000184dcd0d0(uVar11, 0x190c24550, 4); 0x18382422b | uVar11 = func_0x0001813014a0(uVar11, arg3); 0x183824240 | uVar11 = func_0x000184dcd0d0(uVar11, 0x19014ff38, 8); 0x18382424b | uVar11 = func_0x000184dd1300(uVar11, arg4); 0x183824260 | uVar11 = func_0x000184dcd0d0(uVar11, 0x19028e144, 6); 0x18382426b | func_0x0001813014a0(uVar11, uVar2); 0x18382427f | if ((int64_t)var_188h < 0) { 0x18382428e | func_0x0001841dcbe0(var_198h, var_188h & 0x7fffffffffffffff); | } 0x18382429f | var_170h = 0x18ff81648; 0x18382429a | func_0x00018030e9d0(&var_170h); 0x1838242ba | *(undefined8 *)((int64_t)&var_160h + (int64_t)*(int32_t *)(var_160h + 4)) = 0x18fe1b290; 0x1838242c6 | var_158h = 0x18fe20d40; 0x1838242cf | if (var_108h._7_1_ < '\0') { 0x1838242e4 | func_0x0001841dcbe0(var_118h, CONCAT17(var_108h._7_1_, (unkbyte7)var_108h) & 0x7fffffffffffffff); | } 0x1838242f5 | var_158h = 0x18fe20db0; 0x183824308 | if (iStack_150 != 0x191de1450) { 0x183824666 | LOCK(); 0x183824666 | piVar3 = (int32_t *)(iStack_150 + 8); 0x183824666 | iVar1 = *piVar3; 0x183824666 | *piVar3 = *piVar3 + -1; 0x183824666 | UNLOCK(); 0x18382466d | if (iVar1 == 0) { 0x18382467a | (*(code *)0x185f59da0)(); | } | } 0x1838242e9 | func_0x00018424db70(&var_158h); 0x18382430e | func_0x0001848f8b80(&var_f0h); | } 0x183824336 | var_198h = 0; 0x183824336 | var_190h = 0; 0x18382433a | var_188h = 0; 0x18382434b | cVar10 = func_0x00018381e110(arg1, arg2, arg_30h); 0x183824352 | if (cVar10 == '\0') { 0x18382435d | var_170h = func_0x000185f006b8(0x20); 0x183824367 | var_168h = 0x1e; 0x18382437a | var_160h = -0x7fffffffffffffe0; 0x183824386 | if ((undefined4 *)(var_170h + 0x1e) < (uint64_t)var_170h) goto code_r0x000183824638; 0x1838243ab | if ((undefined4 *)0x190c24398 < (undefined4 *)(var_170h + 0x1e) && 0x183824396 | (uint64_t)var_170h < (undefined4 *)0x190c24399) goto code_r0x000183824638; 0x1838243b8 | *(undefined8 *)(var_170h + 0xe) = 0x6f20656c646e6168; 0x1838243b8 | *(undefined8 *)(var_170h + 0x16) = 0x6e696769726f2072; 0x1838243c3 | *(undefined4 *)var_170h = 0x61766e49; 0x1838243c3 | *(undefined4 *)(var_170h + 4) = 0x2064696c; 0x1838243c3 | *(undefined4 *)(var_170h + 8) = 0x6e756f6d; 0x1838243c3 | *(undefined4 *)(var_170h + 0xc) = 0x61682074; 0x1838243c6 | *(undefined *)(var_170h + 0x1e) = 0; 0x1838243ca | piVar3 = *(int32_t **)arg_38h; 0x1838243d1 | if (piVar3 == (int32_t *)0x0) { 0x18382465e | pcVar5 = (code *)swi(3); 0x18382465e | (*pcVar5)(); 0x18382465e | return; | } 0x1838243d7 | *(undefined8 *)arg_38h = 0; 0x1838243f0 | (*(code *)0x185f59da0)(piVar3, 0xffffffff, &var_170h); 0x1838243f6 | LOCK(); 0x1838243f6 | *piVar3 = *piVar3 + -1; 0x1838243f6 | UNLOCK(); 0x1838243f9 | if (*piVar3 == 0) { 0x183824402 | (*(code *)0x185f59da0)(piVar3); | } 0x18382440d | if (var_160h < 0) { 0x183824427 | func_0x0001841dcbe0(var_170h, var_160h & 0x7fffffffffffffff); | } | } else { 0x183824431 | uVar4 = *(uint64_t *)(arg1 + 0x90); 0x18382443d | puVar12 = (undefined4 *)func_0x000185f006b8(0x30); 0x183824445 | *puVar12 = 1; 0x183824452 | *(undefined8 *)(puVar12 + 2) = 0x18382a9e0; 0x18382445d | *(undefined8 *)(puVar12 + 4) = 0x183283eb0; 0x183824468 | *(undefined8 *)(puVar12 + 6) = 0x1841d75d0; 0x183824470 | *(undefined8 *)(puVar12 + 10) = *(undefined8 *)arg_38h; 0x183824474 | *(undefined8 *)arg_38h = 0; 0x183824493 | if ((uVar4 & 0xfffffffc00000000) == *(uint64_t *)0x191cd6d08) { 0x183824498 | func_0x0001841c7180(uVar4); | } 0x1838244a2 | puVar13 = (undefined4 *)func_0x000185f006b8(0x58); 0x1838244b0 | *puVar13 = 1; 0x1838244ba | *(undefined8 *)(puVar13 + 2) = 0x18382aba0; 0x1838244c5 | *(undefined8 *)(puVar13 + 4) = 0x18382ac20; 0x1838244c9 | *(undefined8 *)(puVar13 + 6) = 0x1841d75d0; 0x1838244d4 | *(undefined8 *)(puVar13 + 8) = 0x183824690; 0x1838244d8 | *(uint64_t *)(puVar13 + 10) = uVar4; 0x1838244dc | *(int64_t *)(puVar13 + 0xc) = arg3; 0x1838244e0 | *(int64_t *)(puVar13 + 0xe) = arg4; 0x1838244ec | uVar2 = *(undefined8 *)arg_28h; 0x1838244f1 | *(undefined8 *)arg_28h = 0; 0x1838244f4 | *(undefined8 *)(puVar13 + 0x10) = uVar2; 0x1838244f8 | uVar6 = *(undefined4 *)(arg_28h + 8); 0x1838244f8 | uVar7 = *(undefined4 *)(arg_28h + 0xc); 0x1838244f8 | uVar8 = *(undefined4 *)(arg_28h + 0x10); 0x1838244f8 | uVar9 = *(undefined4 *)(arg_28h + 0x14); 0x183824500 | *(undefined8 *)(arg_28h + 8) = 0; 0x183824500 | *(undefined8 *)(arg_28h + 0x10) = 0; 0x183824505 | puVar13[0x12] = uVar6; 0x183824505 | puVar13[0x13] = uVar7; 0x183824505 | puVar13[0x14] = uVar8; 0x183824505 | puVar13[0x15] = uVar9; 0x183824518 | func_0x000184339cd0(&var_170h, 0x190c245a0, 0x190c23b08, 0x7ab); 0x18382452d | puVar14 = (undefined8 *)func_0x000185f006b8(8); 0x183824535 | *puVar14 = 0; 0x18382453d | var_180h = func_0x000185f006b8(0x38); 0x183824542 | *(undefined4 *)var_180h = 1; 0x18382454c | *(undefined8 *)(var_180h + 8) = 0x181346940; 0x183824557 | *(undefined8 *)(var_180h + 0x10) = 0x18382cd80; 0x18382455b | *(undefined8 *)(var_180h + 0x18) = 0x1841d75d0; 0x183824566 | *(undefined8 *)(var_180h + 0x20) = 0x1813475b0; 0x18382456a | *(undefined4 **)(var_180h + 0x28) = puVar12; 0x18382456e | *(undefined8 **)(var_180h + 0x30) = puVar14; 0x18382457c | var_178h = func_0x000185f006b8(0x38); 0x183824584 | *(undefined4 *)var_178h = 1; 0x18382458e | *(undefined8 *)(var_178h + 8) = 0x1800b3540; 0x183824599 | *(undefined8 *)(var_178h + 0x10) = 0x18336e440; 0x18382459d | *(undefined8 *)(var_178h + 0x18) = 0x1841d75d0; 0x1838245a8 | *(undefined8 *)(var_178h + 0x20) = 0x18382cce0; 0x1838245ac | *(undefined4 **)(var_178h + 0x28) = puVar13; 0x1838245ba | if (((uint64_t)puVar14 & 0xfffffffc00000000) == *(uint64_t *)0x191cd6d08) { 0x1838245bf | func_0x0001841c7180(puVar14); | } 0x1838245c4 | *(undefined8 **)(var_178h + 0x30) = puVar14; 0x1838245d7 | func_0x000181401ac0(&var_170h, 0x190c24596, &var_178h, &var_180h); | } 0x1838245f3 | if ((int64_t)var_188h < 0) { 0x183824602 | func_0x0001841dcbe0(var_198h, var_188h * 2); | } 0x183824607 | iVar17 = *(int64_t *)arg_28h; 0x18382460d | if (iVar17 != 0) { 0x183824636 | if ((uint64_t)-iVar17 < *(uint64_t *)(arg_28h + 8)) { |code_r0x000183824638: 0x183824638 | // WARNING: Does not return 0x183824638 | pcVar5 = (code *)invalidInstructionException(); 0x183824638 | (*pcVar5)(); | } 0x18382464b | *(undefined8 *)(arg_28h + 8) = 0; 0x183824657 | func_0x0001841dcbe0(iVar17, *(undefined8 *)(arg_28h + 0x10)); | } 0x18382460f | piVar3 = *(int32_t **)arg_38h; 0x183824616 | if (piVar3 != (int32_t *)0x0) { 0x18382463a | LOCK(); 0x18382463a | *piVar3 = *piVar3 + -1; 0x18382463a | UNLOCK(); 0x18382463d | if (*piVar3 == 0) { 0x183824643 | (*(code *)0x185f59da0)(); | } | } 0x18382462b | return; |} [{"offset":6501318928,"name":"fcn.183824110","size":1397,"is-pure":false,"realsz":1395,"noreturn":false,"stackframe":440,"calltype":"ms","cost":412,"cc":25,"loops":5,"bits":64,"type":"fcn","nbbs":39,"edges":58,"ebbs":3,"signature":"fcn.183824110(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4, int64_t arg_28h, int64_t arg_30h, int64_t arg_38h);","minbound":6501318928,"maxbound":6501320325,"callrefs":[{"from":6501319036,"to":6445650832,"type":"CALL"},{"from":6501319059,"to":6524031184,"type":"CALL"},{"from":6501319080,"to":6524031184,"type":"CALL"},{"from":6501319099,"to":6501223616,"type":"CALL"},{"from":6501319130,"to":6524031184,"type":"CALL"},{"from":6501319151,"to":6524031184,"type":"CALL"},{"from":6501319179,"to":6524031184,"type":"CALL"},{"from":6501319200,"to":6524031184,"type":"CALL"},{"from":6501319211,"to":6462379168,"type":"CALL"},{"from":6501319232,"to":6524031184,"type":"CALL"},{"from":6501319243,"to":6524048128,"type":"CALL"},{"from":6501319264,"to":6524031184,"type":"CALL"},{"from":6501319275,"to":6462379168,"type":"CALL"},{"from":6501319310,"to":6511512544,"type":"CALL"},{"from":6501319334,"to":6445656528,"type":"CALL"},{"from":6501319396,"to":6511512544,"type":"CALL"},{"from":6501319449,"to":6511975280,"type":"CALL"},{"from":6501319457,"to":6518967168,"type":"CALL"},{"from":6501319499,"to":6501294352,"type":"CALL"},{"from":6501319517,"to":6542067384,"type":"CALL"},{"from":6501319664,"to":6740346544,"type":"CALL"},{"from":6501319682,"to":6740346544,"type":"CALL"},{"from":6501319719,"to":6511512544,"type":"CALL"},{"from":6501319724,"to":6501320174,"type":"CODE"},{"from":6501319741,"to":6542067384,"type":"CALL"},{"from":6501319832,"to":6511423872,"type":"CALL"},{"from":6501319842,"to":6542067384,"type":"CALL"},{"from":6501319971,"to":6512942288,"type":"CALL"},{"from":6501319981,"to":6542067384,"type":"CALL"},{"from":6501319997,"to":6542067384,"type":"CALL"},{"from":6501320060,"to":6542067384,"type":"CALL"},{"from":6501320127,"to":6511423872,"type":"CALL"},{"from":6501320161,"to":6463429312,"type":"CALL"},{"from":6501320194,"to":6511512544,"type":"CALL"},{"from":6501320259,"to":6740346544,"type":"CALL"},{"from":6501320265,"to":6501320216,"type":"CODE"},{"from":6501320279,"to":6511512544,"type":"CALL"},{"from":6501320284,"to":6501320207,"type":"CODE"},{"from":6501320314,"to":6740346544,"type":"CALL"},{"from":6501320320,"to":6501319438,"type":"CODE"}],"datarefs":[{"from":6501318967,"to":6742246848,"type":"DATA"},{"from":6501318980,"to":6741126112,"type":"DATA"},{"from":6501318989,"to":6742246856,"type":"DATA"},{"from":6501319015,"to":6723615496,"type":"DATA"},{"from":6501319046,"to":6720303740,"type":"DATA"},{"from":6501319064,"to":6723618160,"type":"DATA"},{"from":6501319135,"to":6723615368,"type":"DATA"},{"from":6501319184,"to":6723618128,"type":"DATA"},{"from":6501319216,"to":6712262456,"type":"DATA"},{"from":6501319248,"to":6713565508,"type":"DATA"},{"from":6501319315,"to":6710367816,"type":"DATA"},{"from":6501319347,"to":6708900496,"type":"DATA"},{"from":6501319359,"to":6708923712,"type":"DATA"},{"from":6501319406,"to":6708923824,"type":"DATA"},{"from":6501319422,"to":6742217808,"type":"DATA"},{"from":6501319564,"to":6723617688,"type":"DATA"},{"from":6501319601,"to":6723617702,"type":"DATA"},{"from":6501319612,"to":6723617688,"type":"DATA"},{"from":6501319755,"to":6501345760,"type":"DATA"},{"from":6501319766,"to":6495420080,"type":"DATA"},{"from":6501319777,"to":6511490512,"type":"DATA"},{"from":6501319820,"to":6741126408,"type":"DATA"},{"from":6501319859,"to":6501346208,"type":"DATA"},{"from":6501319870,"to":6501346336,"type":"DATA"},{"from":6501319885,"to":6501320336,"type":"DATA"},{"from":6501319946,"to":6723618208,"type":"DATA"},{"from":6501319953,"to":6723615496,"type":"DATA"},{"from":6501320005,"to":6462662976,"type":"DATA"},{"from":6501320016,"to":6501354880,"type":"DATA"},{"from":6501320031,"to":6462666160,"type":"DATA"},{"from":6501320071,"to":6443185472,"type":"DATA"},{"from":6501320082,"to":6496379968,"type":"DATA"},{"from":6501320097,"to":6501354720,"type":"DATA"},{"from":6501320115,"to":6741126408,"type":"DATA"},{"from":6501320144,"to":6723618198,"type":"DATA"}],"codexrefs":[{"from":6501319724,"to":6501320174,"type":"CODE"},{"from":6501320265,"to":6501320216,"type":"CODE"},{"from":6501320284,"to":6501320207,"type":"CODE"},{"from":6501320320,"to":6501319438,"type":"CODE"}],"dataxrefs":[],"indegree":4,"outdegree":36,"nlocals":14,"nargs":7,"stackvars":[{"name":"var_198h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-408}},{"name":"var_190h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-400}},{"name":"var_188h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-392}},{"name":"var_181h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-385}},{"name":"var_180h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-384}},{"name":"var_178h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-376}},{"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_159h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-345}},{"name":"var_158h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-344}},{"name":"var_118h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-280}},{"name":"var_108h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-264}},{"name":"var_f0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-240}},{"name":"arg_28h","arg":true,"type":"int64_t","storage":{"type":"stack","stack":40}},{"name":"arg_30h","arg":true,"type":"int64_t","storage":{"type":"stack","stack":48}},{"name":"arg_38h","arg":true,"type":"int64_t","storage":{"type":"stack","stack":56}}],"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"}}]}]