0x1838338d0 | 0x1838338d0 |// WARNING: [rz-ghidra] Detected overlap for variable var_1dch 0x1838338d0 |// WARNING: [rz-ghidra] Detected overlap for variable var_1e0h | 0x1838338d0 |void fcn.1838338d0(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4) |{ | int64_t *piVar1; | int32_t *piVar2; | int32_t iVar3; | uint8_t uVar4; | undefined8 *puVar5; | code *pcVar6; | undefined4 uVar7; | undefined4 uVar8; | undefined4 uVar9; | undefined8 uVar10; | undefined8 uVar11; | undefined8 uVar12; | int64_t iVar13; | undefined4 *puVar14; | int64_t iVar15; | int64_t *piVar16; | int64_t iVar17; | uint64_t uVar18; | int64_t unaff_GS_OFFSET; | int64_t var_1f8h; | int64_t var_1f0h; | int64_t var_1e8h; | undefined8 var_1e0h; | int64_t var_1d8h; | undefined8 uStack_1d0; | undefined auStack_1c8 [7]; | int64_t var_1c1h; | int64_t var_1b8h; | undefined8 uStack_1b0; | undefined8 uStack_1a8; | int64_t var_198h; | undefined8 uStack_190; | int64_t var_188h; | undefined4 uStack_180; | undefined4 uStack_17c; | int64_t var_178h; | int64_t var_170h; | int64_t iStack_168; | int64_t var_130h; | int64_t var_120h; | int64_t var_108h; | int64_t var_58h; | 0x1838338ff | var_1d8h = 0; 0x1838338ff | uStack_1d0 = 0; 0x183833903 | var_1e8h = 0; 0x183833903 | var_1e0h = 0; 0x183833907 | var_1f8h = 0; 0x183833907 | var_1f0h = 0; 0x18383390a | _auStack_1c8 = 0; 0x1838338fa | func_0x000183832980(&var_1f8h, *(undefined8 *)(arg2 + 8)); 0x18383391b | iVar17 = *(int64_t *)(arg2 + 8) * 0x98; 0x183833926 | if (iVar17 != 0) { 0x18383392c | arg2 = *(int64_t *)arg2; | do { 0x183833947 | func_0x000183924980(arg2, &var_188h); 0x183833956 | if (var_1f0h == var_1e8h) { 0x183833f27 | iVar13 = func_0x0001838398a0(&var_1f8h, &var_188h); | } else { 0x183833963 | iVar15 = var_1f0h * 0x98 + var_1f8h; 0x183833968 | if (iVar15 == 0) goto code_r0x000183833efe; 0x18383396e | iVar13 = iVar15 + 0x98; 0x183833978 | func_0x000183924660(iVar15, &var_188h); | } 0x18383398c | var_1f0h = (iVar13 - var_1f8h >> 3) * -0x79435e50d79435e5; 0x183833998 | if (iVar13 == var_1f8h) { |code_r0x000183833efe: 0x183833efe | // WARNING: Does not return 0x183833efe | pcVar6 = (code *)invalidInstructionException(); 0x183833efe | (*pcVar6)(); | } 0x18383392f | func_0x0001839245d0(&var_188h); 0x1838339a6 | arg2 = arg2 + 0x98; 0x1838339ad | iVar17 = iVar17 + -0x98; 0x1838339b4 | } while (iVar17 != 0); | } 0x1838339be | var_1e0h._0_5_ = CONCAT14((char)arg4, (int32_t)arg3); 0x1838339c1 | piVar1 = (int64_t *)(arg1 + 0x18); 0x1838339c8 | if (&var_1d8h != piVar1) { 0x1838339cf | uVar4 = *(uint8_t *)(arg1 + 0x2f); 0x1838339d2 | if (_auStack_1c8 < 0) { 0x183833f02 | if ((char)uVar4 < '\0') { 0x183833f0d | uVar18 = *(uint64_t *)(arg1 + 0x20); 0x183833f11 | piVar16 = *(int64_t **)(arg1 + 0x18); | } else { 0x183833f04 | uVar18 = (uint64_t)uVar4; 0x183833f0b | piVar16 = piVar1; | } 0x1838339b6 | func_0x000184211e70(&var_1d8h, piVar16, uVar18); 0x1838339da | } else if ((char)uVar4 < '\0') { 0x1838339b6 | func_0x000184211d10(&var_1d8h, *(undefined8 *)(arg1 + 0x18), *(undefined8 *)(arg1 + 0x20)); | } else { 0x1838339e0 | _auStack_1c8 = *(int64_t *)(arg1 + 0x28); 0x1838339e8 | var_1d8h = *piVar1; 0x1838339e8 | uStack_1d0 = *(undefined8 *)(arg1 + 0x20); | } | } 0x1838339f0 | puVar5 = *(undefined8 **)(arg1 + 0x98); 0x183833a15 | if ((*(int32_t *)0x191de85c0 < 1) && ((*(int32_t *)0x191cd6be0 != 0 || (*(int64_t *)0x191de85c8 != 0)))) { 0x183833a22 | func_0x00018030d390(&var_188h, 0x190c25040, 0x498, 0); 0x183833a4d | uVar10 = func_0x000184dcd0d0(&var_178h, 0x1908fb27c, 6); 0x183833a62 | uVar10 = func_0x000184dcd0d0(uVar10, 0x190c25ab0, 0x40); 0x183833a67 | iVar17 = (int64_t)*(char *)(arg1 + 0x2f); 0x183833a72 | piVar16 = piVar1; 0x183833a72 | if (iVar17 < 0) { 0x183833a74 | iVar17 = *(int64_t *)(arg1 + 0x20); 0x183833a78 | piVar16 = *(int64_t **)(arg1 + 0x18); | } 0x183833a7f | uVar10 = func_0x000184dcd0d0(uVar10, piVar16, iVar17); 0x183833a94 | uVar10 = func_0x000184dcd0d0(uVar10, 0x190c25af8, 7); 0x183833aa4 | if (3 < (var_1e0h & 0xffffffff)) { 0x183833f37 | pcVar6 = (code *)swi(3); 0x183833f37 | (*pcVar6)(); 0x183833f37 | return; | } 0x183833ab1 | uVar12 = *(undefined8 *)((var_1e0h & 0xffffffff) * 8 + 0x190c26240); 0x183833ab8 | uVar11 = func_0x000185f5a650(uVar12); 0x183833ac6 | uVar10 = func_0x000184dcd0d0(uVar10, uVar12, uVar11); 0x183833adb | uVar10 = func_0x000184dcd0d0(uVar10, 0x190c25b00, 0x13); 0x183833ae8 | uVar10 = func_0x0001813014a0(uVar10, var_1f0h); 0x183833afd | uVar10 = func_0x000184dcd0d0(uVar10, 0x190c25b18, 10); 0x183833b09 | func_0x00018084a240(uVar10, var_1e0h >> 0x20 & 0xff); 0x183833b1d | var_188h = 0x18ff81648; 0x183833b15 | func_0x00018030e9d0(&var_188h); 0x183833b37 | *(undefined8 *)((int64_t)&var_178h + (int64_t)*(int32_t *)(CONCAT44(var_178h._4_4_, (undefined4)var_178h) + 4)) 0x183833b37 | = 0x18fe1b290; 0x183833b46 | var_170h = 0x18fe20d40; 0x183833b4e | if (var_120h._7_1_ < '\0') { 0x183833b6a | func_0x0001841dcbe0(var_130h, CONCAT17(var_120h._7_1_, (unkbyte7)var_120h) & 0x7fffffffffffffff); | } 0x183833b7e | var_170h = 0x18fe20db0; 0x183833b8f | if (iStack_168 != 0x191de1450) { 0x183833f3f | LOCK(); 0x183833f3f | piVar2 = (int32_t *)(iStack_168 + 8); 0x183833f3f | iVar3 = *piVar2; 0x183833f3f | *piVar2 = *piVar2 + -1; 0x183833f3f | UNLOCK(); 0x183833f46 | if (iVar3 == 0) { 0x183833f53 | (*(code *)0x185f59da0)(); | } | } 0x183833b6f | func_0x00018424db70(&var_170h); 0x183833b95 | func_0x0001848f8b80(&var_108h); | } 0x183833bad | uVar10 = *puVar5; 0x183833bb0 | uVar12 = func_0x000180589d40(); 0x183833bbe | iVar17 = func_0x000184300b20(uVar12, uVar10, 1); 0x183833bc6 | if (iVar17 == 0) { 0x183833e0b | if ((*(int32_t *)0x191de85c0 < 2) && ((*(int32_t *)0x191cd6be0 != 0 || (*(int64_t *)0x191de85c8 != 0)))) { 0x183833e18 | func_0x00018030d390(&var_188h, 0x190c25040, 0x4a6, 1); 0x183833e4c | uVar10 = func_0x000184dcd0d0(&var_178h, 0x1908fb27c, 6); 0x183833e61 | func_0x000184dcd0d0(uVar10, 0x190c25b30, 0x4f); 0x183833e6d | var_188h = 0x18ff81648; 0x183833e18 | func_0x00018030e9d0(&var_188h); 0x183833e87 | *(undefined8 *) 0x183833e87 | ((int64_t)&var_178h + (int64_t)*(int32_t *)(CONCAT44(var_178h._4_4_, (undefined4)var_178h) + 4)) = 0x183833e87 | 0x18fe1b290; 0x183833e96 | var_170h = 0x18fe20d40; 0x183833e9e | if (var_120h._7_1_ < '\0') { 0x183833eba | func_0x0001841dcbe0(var_130h, CONCAT17(var_120h._7_1_, (unkbyte7)var_120h) & 0x7fffffffffffffff); | } 0x183833ece | var_170h = 0x18fe20db0; 0x183833edf | if (iStack_168 != 0x191de1450) { 0x183833f63 | LOCK(); 0x183833f63 | piVar2 = (int32_t *)(iStack_168 + 8); 0x183833f63 | iVar3 = *piVar2; 0x183833f63 | *piVar2 = *piVar2 + -1; 0x183833f63 | UNLOCK(); 0x183833f6a | if (iVar3 == 0) { 0x183833f77 | (*(code *)0x185f59da0)(); | } | } 0x183833ebf | func_0x00018424db70(&var_170h); 0x183833ee1 | func_0x0001848f8b80(&var_108h); | } | } else { 0x183833bd7 | var_1b8h = 0; 0x183833bd7 | uStack_1b0 = 0; 0x183833bdd | uStack_1a8 = 0; 0x183833bd2 | func_0x000180ebbdc0(&var_1b8h, 1); 0x183833bee | func_0x000183924d50(&var_1f8h, &var_188h); 0x183833bd2 | func_0x0001812b4470(&var_1b8h, &var_188h); 0x183833bf3 | func_0x000185a60440(&var_188h); 0x183833c1b | iVar13 = func_0x000185f006b8(0x110); 0x183833c1b | var_188h = var_1b8h; 0x183833c26 | var_1b8h = 0; 0x183833c2d | uStack_180 = (undefined4)uStack_1b0; 0x183833c2d | uStack_17c = uStack_1b0._4_4_; 0x183833c2d | var_178h._0_4_ = (undefined4)uStack_1a8; 0x183833c2d | var_178h._4_4_ = uStack_1a8._4_4_; 0x183833c32 | uStack_1b0 = 0; 0x183833c32 | uStack_1a8 = 0; 0x183833c4c | var_198h = 0x1910f9850; 0x183833c4f | uStack_190 = 0x1d; 0x183833c67 | func_0x000182422390(iVar13, 0x261, &var_198h, &var_188h); 0x183833c72 | if (var_1b8h != 0) { 0x183833dcb | func_0x000184780a80(&var_1b8h); 0x183833de3 | func_0x0001841dcbe0(var_1b8h, uStack_1a8 << 5); | } 0x183833c86 | var_198h = iVar13; 0x183833c86 | func_0x000180eba190(iVar17); | } 0x183833c90 | if (var_1e0h._4_1_ == '\0') { 0x183833ca9 | piVar16 = *(int64_t **) 0x183833ca5 | (*(int64_t *)(*(int64_t *)(unaff_GS_OFFSET + 0x58) + (uint64_t)*(uint32_t *)0x191d832e0 * 8) + 0x3d8) | ; 0x183833cbf | if ((piVar16 == (int64_t *)0x0) || (iVar17 = *piVar16, iVar17 == 0)) { 0x183833f34 | pcVar6 = (code *)swi(3); 0x183833f34 | (*pcVar6)(); 0x183833f34 | return; | } 0x183833cd9 | if (((uint64_t)puVar5 & 0xfffffffc00000000) == *(uint64_t *)0x191cd6d08) { 0x183833cde | func_0x0001841c7180(puVar5); | } 0x183833ce8 | puVar14 = (undefined4 *)func_0x000185f006b8(0x48); 0x183833cf0 | *puVar14 = 1; 0x183833cfd | *(undefined8 *)(puVar14 + 2) = 0x180ed2a00; 0x183833d08 | *(undefined8 *)(puVar14 + 4) = 0x182c11ae0; 0x183833d13 | *(undefined8 *)(puVar14 + 6) = 0x1841d75d0; 0x183833d1e | *(undefined8 *)(puVar14 + 8) = 0x183832900; 0x183833d22 | *(undefined8 **)(puVar14 + 10) = puVar5; 0x183833d2e | if (*(char *)(arg1 + 0x2f) < '\0') { 0x183833d26 | func_0x0001841dd0f0(puVar14 + 0xc, *(undefined8 *)(arg1 + 0x18), *(undefined8 *)(arg1 + 0x20)); | } else { 0x183833d34 | *(undefined8 *)(puVar14 + 0x10) = *(undefined8 *)(arg1 + 0x28); 0x183833d38 | uVar7 = *(undefined4 *)(arg1 + 0x1c); 0x183833d38 | uVar8 = *(undefined4 *)(arg1 + 0x20); 0x183833d38 | uVar9 = *(undefined4 *)(arg1 + 0x24); 0x183833d3d | puVar14[0xc] = *(undefined4 *)piVar1; 0x183833d3d | puVar14[0xd] = uVar7; 0x183833d3d | puVar14[0xe] = uVar8; 0x183833d3d | puVar14[0xf] = uVar9; | } 0x183833d4e | func_0x000184339cd0(&var_188h, 0x190c25b80, 0x190c25040, 0x4ae); 0x183833d7b | var_1b8h = (int64_t)puVar14; 0x183833d7b | (*(code *)0x185f59da0)(iVar17, &var_188h, &var_1b8h, 0); | } 0x183833d81 | func_0x000183924cb0(&var_1f8h); 0x183833da6 | return; |} [{"offset":6501382352,"name":"fcn.1838338d0","size":1714,"is-pure":false,"realsz":1710,"noreturn":false,"stackframe":536,"calltype":"ms","cost":509,"cc":34,"loops":13,"bits":64,"type":"fcn","nbbs":55,"edges":81,"ebbs":4,"signature":"fcn.1838338d0(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4);","minbound":6501382352,"maxbound":6501384066,"callrefs":[{"from":6501382422,"to":6501378432,"type":"CALL"},{"from":6501382471,"to":6502369664,"type":"CALL"},{"from":6501382520,"to":6502368864,"type":"CALL"},{"from":6501382561,"to":6502368720,"type":"CALL"},{"from":6501382707,"to":6445650832,"type":"CALL"},{"from":6501382733,"to":6524031184,"type":"CALL"},{"from":6501382754,"to":6524031184,"type":"CALL"},{"from":6501382783,"to":6524031184,"type":"CALL"},{"from":6501382804,"to":6524031184,"type":"CALL"},{"from":6501382840,"to":6542435920,"type":"CALL"},{"from":6501382854,"to":6524031184,"type":"CALL"},{"from":6501382875,"to":6524031184,"type":"CALL"},{"from":6501382888,"to":6462379168,"type":"CALL"},{"from":6501382909,"to":6524031184,"type":"CALL"},{"from":6501382921,"to":6451143232,"type":"CALL"},{"from":6501382947,"to":6445656528,"type":"CALL"},{"from":6501383018,"to":6511512544,"type":"CALL"},{"from":6501383072,"to":6511975280,"type":"CALL"},{"from":6501383080,"to":6518967168,"type":"CALL"},{"from":6501383088,"to":6448258368,"type":"CALL"},{"from":6501383102,"to":6512708384,"type":"CALL"},{"from":6501383145,"to":6457900480,"type":"CALL"},{"from":6501383166,"to":6502370640,"type":"CALL"},{"from":6501383177,"to":6462063728,"type":"CALL"},{"from":6501383185,"to":6537217088,"type":"CALL"},{"from":6501383195,"to":6542067384,"type":"CALL"},{"from":6501383271,"to":6480339856,"type":"CALL"},{"from":6501383302,"to":6457893264,"type":"CALL"},{"from":6501383390,"to":6511423872,"type":"CALL"},{"from":6501383400,"to":6542067384,"type":"CALL"},{"from":6501383519,"to":6512942288,"type":"CALL"},{"from":6501383547,"to":6740346544,"type":"CALL"},{"from":6501383558,"to":6502370480,"type":"CALL"},{"from":6501383602,"to":6511513840,"type":"CALL"},{"from":6501383607,"to":6501383488,"type":"CODE"},{"from":6501383617,"to":6511729936,"type":"CALL"},{"from":6501383622,"to":6501382640,"type":"CODE"},{"from":6501383635,"to":6517426816,"type":"CALL"},{"from":6501383651,"to":6511512544,"type":"CALL"},{"from":6501383656,"to":6501383288,"type":"CODE"},{"from":6501383727,"to":6445650832,"type":"CALL"},{"from":6501383756,"to":6524031184,"type":"CALL"},{"from":6501383777,"to":6524031184,"type":"CALL"},{"from":6501383796,"to":6445656528,"type":"CALL"},{"from":6501383866,"to":6511512544,"type":"CALL"},{"from":6501383916,"to":6511975280,"type":"CALL"},{"from":6501383924,"to":6518967168,"type":"CALL"},{"from":6501383929,"to":6501383307,"type":"CODE"},{"from":6501383947,"to":6501383957,"type":"CODE"},{"from":6501383957,"to":6511730288,"type":"CALL"},{"from":6501383962,"to":6501382640,"type":"CODE"},{"from":6501383975,"to":6501406880,"type":"CALL"},{"from":6501383983,"to":6501382525,"type":"CODE"},{"from":6501384019,"to":6740346544,"type":"CALL"},{"from":6501384025,"to":6501383061,"type":"CODE"},{"from":6501384055,"to":6740346544,"type":"CALL"},{"from":6501384061,"to":6501383905,"type":"CODE"}],"datarefs":[{"from":6501382647,"to":6742246848,"type":"DATA"},{"from":6501382660,"to":6741126112,"type":"DATA"},{"from":6501382669,"to":6742246856,"type":"DATA"},{"from":6501382683,"to":6723620928,"type":"DATA"},{"from":6501382720,"to":6720303740,"type":"DATA"},{"from":6501382738,"to":6723623600,"type":"DATA"},{"from":6501382788,"to":6723623672,"type":"DATA"},{"from":6501382826,"to":6723625536,"type":"DATA"},{"from":6501382859,"to":6723623680,"type":"DATA"},{"from":6501382893,"to":6723623704,"type":"DATA"},{"from":6501382926,"to":6710367816,"type":"DATA"},{"from":6501382960,"to":6708900496,"type":"DATA"},{"from":6501382975,"to":6708923712,"type":"DATA"},{"from":6501383031,"to":6708923824,"type":"DATA"},{"from":6501383045,"to":6742217808,"type":"DATA"},{"from":6501383229,"to":6728685648,"type":"DATA"},{"from":6501383318,"to":6741832416,"type":"DATA"},{"from":6501383378,"to":6741126408,"type":"DATA"},{"from":6501383414,"to":6457993728,"type":"DATA"},{"from":6501383425,"to":6488660704,"type":"DATA"},{"from":6501383436,"to":6511490512,"type":"DATA"},{"from":6501383447,"to":6501378304,"type":"DATA"},{"from":6501383488,"to":6723623808,"type":"DATA"},{"from":6501383495,"to":6723620928,"type":"DATA"},{"from":6501383661,"to":6742246848,"type":"DATA"},{"from":6501383674,"to":6741126112,"type":"DATA"},{"from":6501383683,"to":6742246856,"type":"DATA"},{"from":6501383697,"to":6723620928,"type":"DATA"},{"from":6501383740,"to":6720303740,"type":"DATA"},{"from":6501383761,"to":6723623728,"type":"DATA"},{"from":6501383782,"to":6710367816,"type":"DATA"},{"from":6501383808,"to":6708900496,"type":"DATA"},{"from":6501383823,"to":6708923712,"type":"DATA"},{"from":6501383879,"to":6708923824,"type":"DATA"},{"from":6501383893,"to":6742217808,"type":"DATA"}],"codexrefs":[{"from":6501383607,"to":6501383488,"type":"CODE"},{"from":6501383622,"to":6501382640,"type":"CODE"},{"from":6501383656,"to":6501383288,"type":"CODE"},{"from":6501383929,"to":6501383307,"type":"CODE"},{"from":6501383947,"to":6501383957,"type":"CODE"},{"from":6501383962,"to":6501382640,"type":"CODE"},{"from":6501383983,"to":6501382525,"type":"CODE"},{"from":6501384025,"to":6501383061,"type":"CODE"},{"from":6501384061,"to":6501383905,"type":"CODE"}],"dataxrefs":[],"indegree":9,"outdegree":48,"nlocals":16,"nargs":4,"stackvars":[{"name":"var_1f8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-504}},{"name":"var_1f0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-496}},{"name":"var_1e8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-488}},{"name":"var_1e0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-480}},{"name":"var_1dch","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-476}},{"name":"var_1d8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-472}},{"name":"var_1c1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-449}},{"name":"var_1b8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-440}},{"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_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_130h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-304}},{"name":"var_120h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-288}},{"name":"var_108h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-264}},{"name":"var_58h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-88}}],"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"}}]}]