0x183823560 | 0x183823560 |// WARNING: [rz-ghidra] Detected overlap for variable var_1a8h 0x183823560 |// WARNING: [rz-ghidra] Detected overlap for variable var_1a0h 0x183823560 |// WARNING: [rz-ghidra] Detected overlap for variable var_159h 0x183823560 |// WARNING: [rz-ghidra] Detected overlap for variable var_158h 0x183823560 |// WARNING: [rz-ghidra] Detected overlap for variable var_108h | 0x183823560 |void fcn.183823560(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; | int32_t *piVar2; | uint64_t uVar3; | code *pcVar4; | char cVar5; | undefined8 uVar6; | undefined4 *puVar7; | undefined4 *puVar8; | undefined8 *puVar9; | int64_t iVar10; | int64_t *piVar11; | int64_t iVar12; | int64_t var_1b8h; | int64_t var_1b0h; | undefined var_1a8h [7]; | int64_t var_1a1h; | int64_t var_198h; | int64_t var_190h; | int64_t 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; | unkbyte7 var_108h; | int64_t var_101h; | int64_t var_f0h; | 0x1838235ac | if ((*(int32_t *)0x191de85c0 < 1) && ((*(int32_t *)0x191cd6be0 != 0 || (*(int64_t *)0x191de85c8 != 0)))) { 0x1838235b9 | func_0x00018030d390(&var_170h, 0x190c23b08, 0x77c, 0); 0x1838235de | uVar6 = func_0x000184dcd0d0(&var_160h, 0x1908fb27c, 6); 0x1838235f3 | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24528, 0x24); 0x1838235fb | func_0x00018380ccc0(&var_1b8h, arg2); 0x183823613 | piVar11 = &var_1b8h; 0x183823613 | iVar12 = (int64_t)(char)var_1a1h; 0x183823613 | if ((int64_t)(char)var_1a1h < 0) { 0x18382361a | piVar11 = (int64_t *)var_1b8h; 0x18382361a | iVar12 = var_1b0h; | } 0x183823625 | uVar6 = func_0x000184dcd0d0(uVar6, piVar11, iVar12); 0x18382363a | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c23a88, 8); 0x18382363f | iVar12 = (int64_t)*(char *)(arg_30h + 0x17); 0x18382364b | iVar10 = arg_30h; 0x18382364b | if (iVar12 < 0) { 0x18382364d | iVar12 = *(int64_t *)(arg_30h + 8); 0x183823652 | iVar10 = *(int64_t *)arg_30h; | } 0x183823659 | uVar6 = func_0x000184dcd0d0(uVar6, iVar10, iVar12); 0x18382366e | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24550, 4); 0x183823679 | uVar6 = func_0x0001813014a0(uVar6, arg3); 0x18382368e | uVar6 = func_0x000184dcd0d0(uVar6, 0x19014ff38, 8); 0x183823699 | uVar6 = func_0x000184dd1300(uVar6, arg4); 0x1838236ae | uVar6 = func_0x000184dcd0d0(uVar6, 0x19028e144, 6); 0x1838236b8 | func_0x00018540d690(uVar6, arg_28h & 0xffffffff); 0x1838236cc | if ((int64_t)_var_1a8h < 0) { 0x1838236db | func_0x0001841dcbe0(var_1b8h, _var_1a8h & 0x7fffffffffffffff); | } 0x1838236ec | var_170h = 0x18ff81648; 0x1838236e7 | func_0x00018030e9d0(&var_170h); 0x183823707 | *(undefined8 *)((int64_t)&var_160h + (int64_t)*(int32_t *)(var_160h + 4)) = 0x18fe1b290; 0x183823713 | var_158h = 0x18fe20d40; 0x18382371b | if ((char)var_101h < '\0') { 0x183823730 | func_0x0001841dcbe0(var_118h, CONCAT17((char)var_101h, var_108h) & 0x7fffffffffffffff); | } 0x183823744 | var_158h = 0x18fe20db0; 0x183823756 | if (iStack_150 != 0x191de1450) { 0x183823ab1 | LOCK(); 0x183823ab1 | piVar2 = (int32_t *)(iStack_150 + 8); 0x183823ab1 | iVar1 = *piVar2; 0x183823ab1 | *piVar2 = *piVar2 + -1; 0x183823ab1 | UNLOCK(); 0x183823ab8 | if (iVar1 == 0) { 0x183823ac5 | (*(code *)0x185f59da0)(); | } | } 0x183823735 | func_0x00018424db70(&var_158h); 0x18382375c | func_0x0001848f8b80(&var_f0h); | } 0x183823784 | var_1b8h = 0; 0x183823784 | var_1b0h = 0; 0x183823788 | _var_1a8h = 0; 0x183823799 | cVar5 = func_0x00018381e110(arg1, arg2, arg_30h); 0x1838237a0 | if (cVar5 == '\0') { 0x1838237ab | var_170h = func_0x000185f006b8(0x20); 0x1838237b5 | var_168h = 0x1e; 0x1838237c8 | var_160h = -0x7fffffffffffffe0; 0x1838237f1 | if (((undefined4 *)(var_170h + 0x1e) < (uint64_t)var_170h) || 0x1838237eb | ((undefined4 *)0x190c24398 < (undefined4 *)(var_170h + 0x1e) && 0x1838237e4 | (uint64_t)var_170h < (undefined4 *)0x190c24399)) { |code_r0x0001838238a2: 0x1838238a2 | // WARNING: Does not return 0x1838238a2 | pcVar4 = (code *)invalidInstructionException(); 0x1838238a2 | (*pcVar4)(); | } 0x1838237fe | *(undefined8 *)(var_170h + 0xe) = 0x6f20656c646e6168; 0x1838237fe | *(undefined8 *)(var_170h + 0x16) = 0x6e696769726f2072; 0x183823809 | *(undefined4 *)var_170h = 0x61766e49; 0x183823809 | *(undefined4 *)(var_170h + 4) = 0x2064696c; 0x183823809 | *(undefined4 *)(var_170h + 8) = 0x6e756f6d; 0x183823809 | *(undefined4 *)(var_170h + 0xc) = 0x61682074; 0x18382380e | *(undefined *)(var_170h + 0x1e) = 0; 0x183823811 | var_1a1h._1_1_ = 0; 0x183823815 | var_188h._0_1_ = '\0'; 0x183823819 | piVar2 = *(int32_t **)arg_38h; 0x183823820 | if (piVar2 == (int32_t *)0x0) { 0x183823aa9 | pcVar4 = (code *)swi(3); 0x183823aa9 | (*pcVar4)(); 0x183823aa9 | return; | } 0x183823826 | *(undefined8 *)arg_38h = 0; 0x18382383f | (*(code *)0x185f59da0)(piVar2, (int64_t)&var_1a1h + 1, &var_170h); 0x183823845 | LOCK(); 0x183823845 | *piVar2 = *piVar2 + -1; 0x183823845 | UNLOCK(); 0x183823848 | if (*piVar2 == 0) { 0x183823851 | (*(code *)0x185f59da0)(piVar2); | } 0x183823866 | if (((char)var_188h == '\x01') && (iVar12 = CONCAT71(stack0xfffffffffffffe61, var_1a1h._1_1_), iVar12 != 0)) { 0x18382389c | if ((uint64_t)-iVar12 < (uint64_t)var_198h) goto code_r0x0001838238a2; 0x183823a91 | var_198h = 0; 0x183823a9f | func_0x0001841dcbe0(iVar12, var_190h); | } 0x18382386d | if (var_160h < 0) { 0x183823887 | func_0x0001841dcbe0(var_170h, var_160h & 0x7fffffffffffffff); | } | } else { 0x1838238a4 | uVar3 = *(uint64_t *)(arg1 + 0x90); 0x1838238b0 | puVar7 = (undefined4 *)func_0x000185f006b8(0x30); 0x1838238b8 | *puVar7 = 1; 0x1838238c5 | *(undefined8 *)(puVar7 + 2) = 0x18382a6d0; 0x1838238d0 | *(undefined8 *)(puVar7 + 4) = 0x183283eb0; 0x1838238db | *(undefined8 *)(puVar7 + 6) = 0x1841d75d0; 0x1838238e3 | *(undefined8 *)(puVar7 + 10) = *(undefined8 *)arg_38h; 0x1838238e7 | *(undefined8 *)arg_38h = 0; 0x183823906 | if ((uVar3 & 0xfffffffc00000000) == *(uint64_t *)0x191cd6d08) { 0x18382390b | func_0x0001841c7180(uVar3); | } 0x183823915 | puVar8 = (undefined4 *)func_0x000185f006b8(0x48); 0x183823923 | *puVar8 = 1; 0x18382392d | *(undefined8 *)(puVar8 + 2) = 0x18382a9a0; 0x183823938 | *(undefined8 *)(puVar8 + 4) = 0x182d887f0; 0x18382393c | *(undefined8 *)(puVar8 + 6) = 0x1841d75d0; 0x183823947 | *(undefined8 *)(puVar8 + 8) = 0x183823ad0; 0x18382394b | *(uint64_t *)(puVar8 + 10) = uVar3; 0x18382394f | *(int64_t *)(puVar8 + 0xc) = arg3; 0x183823953 | *(int64_t *)(puVar8 + 0xe) = arg4; 0x18382395e | puVar8[0x10] = (undefined4)arg_28h; 0x183823970 | func_0x000184339cd0(&var_170h, 0x190c24560, 0x190c23b08, 0x787); 0x183823985 | puVar9 = (undefined8 *)func_0x000185f006b8(8); 0x18382398d | *puVar9 = 0; 0x183823999 | var_180h = func_0x000185f006b8(0x38); 0x18382399e | *(undefined4 *)var_180h = 1; 0x1838239a8 | *(undefined8 *)(var_180h + 8) = 0x181346940; 0x1838239b3 | *(undefined8 *)(var_180h + 0x10) = 0x18382cc30; 0x1838239b7 | *(undefined8 *)(var_180h + 0x18) = 0x1841d75d0; 0x1838239c2 | *(undefined8 *)(var_180h + 0x20) = 0x18382ca00; 0x1838239c6 | *(undefined4 **)(var_180h + 0x28) = puVar7; 0x1838239ca | *(undefined8 **)(var_180h + 0x30) = puVar9; 0x1838239d8 | var_178h = func_0x000185f006b8(0x38); 0x1838239e0 | *(undefined4 *)var_178h = 1; 0x1838239ea | *(undefined8 *)(var_178h + 8) = 0x1800b3540; 0x1838239f5 | *(undefined8 *)(var_178h + 0x10) = 0x18336e440; 0x1838239f9 | *(undefined8 *)(var_178h + 0x18) = 0x1841d75d0; 0x183823a04 | *(undefined8 *)(var_178h + 0x20) = 0x18382caf0; 0x183823a08 | *(undefined4 **)(var_178h + 0x28) = puVar8; 0x183823a16 | if (((uint64_t)puVar9 & 0xfffffffc00000000) == *(uint64_t *)0x191cd6d08) { 0x183823a1b | func_0x0001841c7180(puVar9); | } 0x183823a20 | *(undefined8 **)(var_178h + 0x30) = puVar9; 0x183823a33 | func_0x000181401ac0(&var_170h, 0x190c24555, &var_178h, &var_180h); | } 0x183823a4f | if ((int64_t)_var_1a8h < 0) { 0x183823a5e | func_0x0001841dcbe0(var_1b8h, _var_1a8h * 2); | } 0x183823a63 | piVar2 = *(int32_t **)arg_38h; 0x183823a6a | if (piVar2 != (int32_t *)0x0) { 0x183823a80 | LOCK(); 0x183823a80 | *piVar2 = *piVar2 + -1; 0x183823a80 | UNLOCK(); 0x183823a83 | if (*piVar2 == 0) { 0x183823a89 | (*(code *)0x185f59da0)(); | } | } 0x183823a7f | return; |} [{"offset":6501315936,"name":"fcn.183823560","size":1392,"is-pure":false,"realsz":1390,"noreturn":false,"stackframe":472,"calltype":"ms","cost":409,"cc":26,"loops":5,"bits":64,"type":"fcn","nbbs":40,"edges":60,"ebbs":3,"signature":"fcn.183823560(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":6501315936,"maxbound":6501317328,"callrefs":[{"from":6501316039,"to":6445650832,"type":"CALL"},{"from":6501316062,"to":6524031184,"type":"CALL"},{"from":6501316083,"to":6524031184,"type":"CALL"},{"from":6501316102,"to":6501223616,"type":"CALL"},{"from":6501316133,"to":6524031184,"type":"CALL"},{"from":6501316154,"to":6524031184,"type":"CALL"},{"from":6501316185,"to":6524031184,"type":"CALL"},{"from":6501316206,"to":6524031184,"type":"CALL"},{"from":6501316217,"to":6462379168,"type":"CALL"},{"from":6501316238,"to":6524031184,"type":"CALL"},{"from":6501316249,"to":6524048128,"type":"CALL"},{"from":6501316270,"to":6524031184,"type":"CALL"},{"from":6501316280,"to":6530586256,"type":"CALL"},{"from":6501316315,"to":6511512544,"type":"CALL"},{"from":6501316339,"to":6445656528,"type":"CALL"},{"from":6501316400,"to":6511512544,"type":"CALL"},{"from":6501316455,"to":6511975280,"type":"CALL"},{"from":6501316463,"to":6518967168,"type":"CALL"},{"from":6501316505,"to":6501294352,"type":"CALL"},{"from":6501316523,"to":6542067384,"type":"CALL"},{"from":6501316671,"to":6740346544,"type":"CALL"},{"from":6501316689,"to":6740346544,"type":"CALL"},{"from":6501316743,"to":6511512544,"type":"CALL"},{"from":6501316748,"to":6501317194,"type":"CODE"},{"from":6501316784,"to":6542067384,"type":"CALL"},{"from":6501316875,"to":6511423872,"type":"CALL"},{"from":6501316885,"to":6542067384,"type":"CALL"},{"from":6501316987,"to":6512942288,"type":"CALL"},{"from":6501316997,"to":6542067384,"type":"CALL"},{"from":6501317017,"to":6542067384,"type":"CALL"},{"from":6501317080,"to":6542067384,"type":"CALL"},{"from":6501317147,"to":6511423872,"type":"CALL"},{"from":6501317181,"to":6463429312,"type":"CALL"},{"from":6501317214,"to":6511512544,"type":"CALL"},{"from":6501317257,"to":6740346544,"type":"CALL"},{"from":6501317263,"to":6501317228,"type":"CODE"},{"from":6501317279,"to":6511512544,"type":"CALL"},{"from":6501317284,"to":6501316712,"type":"CODE"},{"from":6501317317,"to":6740346544,"type":"CALL"},{"from":6501317323,"to":6501316444,"type":"CODE"}],"datarefs":[{"from":6501315982,"to":6742246848,"type":"DATA"},{"from":6501315995,"to":6741126112,"type":"DATA"},{"from":6501316004,"to":6742246856,"type":"DATA"},{"from":6501316018,"to":6723615496,"type":"DATA"},{"from":6501316049,"to":6720303740,"type":"DATA"},{"from":6501316067,"to":6723618088,"type":"DATA"},{"from":6501316138,"to":6723615368,"type":"DATA"},{"from":6501316190,"to":6723618128,"type":"DATA"},{"from":6501316222,"to":6712262456,"type":"DATA"},{"from":6501316254,"to":6713565508,"type":"DATA"},{"from":6501316320,"to":6710367816,"type":"DATA"},{"from":6501316352,"to":6708900496,"type":"DATA"},{"from":6501316364,"to":6708923712,"type":"DATA"},{"from":6501316413,"to":6708923824,"type":"DATA"},{"from":6501316428,"to":6742217808,"type":"DATA"},{"from":6501316570,"to":6723617688,"type":"DATA"},{"from":6501316599,"to":6723617702,"type":"DATA"},{"from":6501316610,"to":6723617688,"type":"DATA"},{"from":6501316798,"to":6501344976,"type":"DATA"},{"from":6501316809,"to":6495420080,"type":"DATA"},{"from":6501316820,"to":6511490512,"type":"DATA"},{"from":6501316863,"to":6741126408,"type":"DATA"},{"from":6501316902,"to":6501345696,"type":"DATA"},{"from":6501316913,"to":6490195952,"type":"DATA"},{"from":6501316928,"to":6501317328,"type":"DATA"},{"from":6501316962,"to":6723618144,"type":"DATA"},{"from":6501316969,"to":6723615496,"type":"DATA"},{"from":6501317025,"to":6462662976,"type":"DATA"},{"from":6501317036,"to":6501354544,"type":"DATA"},{"from":6501317051,"to":6501353984,"type":"DATA"},{"from":6501317091,"to":6443185472,"type":"DATA"},{"from":6501317102,"to":6496379968,"type":"DATA"},{"from":6501317117,"to":6501354224,"type":"DATA"},{"from":6501317135,"to":6741126408,"type":"DATA"},{"from":6501317164,"to":6723618133,"type":"DATA"}],"codexrefs":[{"from":6501316748,"to":6501317194,"type":"CODE"},{"from":6501317263,"to":6501317228,"type":"CODE"},{"from":6501317284,"to":6501316712,"type":"CODE"},{"from":6501317323,"to":6501316444,"type":"CODE"}],"dataxrefs":[],"indegree":4,"outdegree":36,"nlocals":19,"nargs":7,"stackvars":[{"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_1a8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-424}},{"name":"var_1a1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-417}},{"name":"var_1a0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-416}},{"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_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_101h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-257}},{"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"}}]}]