| 0x183823ad0 |int64_t fcn.183823ad0(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4, int64_t arg_28h) |{ | int32_t *piVar1; | int32_t iVar2; | code *pcVar3; | char cVar4; | uint32_t uVar5; | undefined8 uVar6; | int64_t iVar7; | int64_t iVar8; | uint64_t uVar9; | uint32_t uVar10; | undefined8 *puVar11; | uint64_t uVar12; | uint64_t uVar13; | uint64_t uVar14; | int64_t var_170h; | int64_t var_160h; | int64_t var_158h; | int64_t iStack_150; | int64_t var_118h; | int64_t var_108h; | int64_t var_f0h; | 0x183823aef | cVar4 = (*(code *)0x11c22ea4)(); 0x183823af7 | if (cVar4 == '\0') { 0x183823ef9 | func_0x0001842fee20(arg1, 0x190ca6410); | } 0x183823b05 | puVar11 = *(undefined8 **)(arg1 + 0x18); 0x183823b0c | if (puVar11 != (undefined8 *)0x0) { | do { 0x183823b21 | if ((uint64_t)arg3 < (uint64_t)puVar11[4]) { 0x183823b14 | puVar11 = (undefined8 *)*puVar11; | } else { 0x183823b23 | if ((uint64_t)arg3 <= (uint64_t)puVar11[4]) { 0x183823b2e | if (puVar11 != (undefined8 *)(arg1 + 0x18)) { 0x183823b3c | uVar10 = 0x100000; 0x183823b3c | if ((uint32_t)arg_28h < 0x100000) { 0x183823b3c | uVar10 = (uint32_t)arg_28h; | } 0x183823b40 | if ((uint32_t)arg_28h < 0x100001) { 0x183823b4c | if ((uint32_t)arg_28h != 0) goto code_r0x000183823e13; 0x183823f08 | iVar7 = 0; | } else { 0x183823ce3 | if ((*(int32_t *)0x191de85c0 < 1) && 0x183823cd2 | ((*(int32_t *)0x191cd6be0 != 0 || (*(int64_t *)0x191de85c8 != 0)))) { 0x183823cf0 | func_0x00018030d390(&var_170h, 0x190c23b08, 0x1b4, 0); 0x183823d18 | uVar6 = func_0x000184dcd0d0(&var_160h, 0x1908fb27c, 6); 0x183823d2d | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24c30, 0x23); 0x183823d38 | uVar6 = func_0x0001813014a0(uVar6, arg3); 0x183823d4d | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24c58, 0xb); 0x183823d58 | uVar6 = func_0x00018540d690(uVar6, arg_28h & 0xffffffff); 0x183823d6d | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24c68, 9); 0x183823d77 | func_0x00018540d690(uVar6, uVar10); 0x183823d83 | var_170h = 0x18ff81648; 0x183823d87 | func_0x00018030e9d0(&var_170h); 0x183823d9f | *(undefined8 *)((int64_t)&var_160h + (int64_t)*(int32_t *)(var_160h + 4)) = 0x18fe1b290; 0x183823dab | var_158h = 0x18fe20d40; 0x183823db4 | if (var_108h._7_1_ < '\0') { 0x183823dd0 | func_0x0001841dcbe0(var_118h, 0x183823dc0 | CONCAT17(var_108h._7_1_, (unkbyte7)var_108h) & 0x183823dd0 | 0x7fffffffffffffff); | } 0x183823de1 | var_158h = 0x18fe20db0; 0x183823df2 | if (iStack_150 != 0x191de1450) { 0x1838240cc | LOCK(); 0x1838240cc | piVar1 = (int32_t *)(iStack_150 + 8); 0x1838240cc | iVar2 = *piVar1; 0x1838240cc | *piVar1 = *piVar1 + -1; 0x1838240cc | UNLOCK(); 0x1838240d3 | if (iVar2 == 0) { 0x1838240e0 | (*(code *)0x185f59da0)(); | } | } 0x183823dd5 | func_0x00018424db70(&var_158h); 0x183823df8 | func_0x0001848f8b80(&var_f0h); | } |code_r0x000183823e13: 0x183823e13 | uVar14 = (uint64_t)uVar10; 0x183823e16 | iVar7 = func_0x000185f006b8(uVar14); 0x183823e28 | if ((uint64_t)-iVar7 <= uVar14 - 1) goto code_r0x000183823e77; 0x183823e32 | func_0x000185f5a0c0(iVar7, 0, uVar14); | } 0x183823e37 | uVar14 = (uint64_t)uVar10; 0x183823e47 | uVar5 = func_0x000180a461a0(puVar11 + 5, arg4, iVar7, uVar14); 0x183823e4e | if ((int32_t)uVar5 < 0) { 0x183823f3b | if (*(int32_t *)0x191de85c0 < 3) { 0x183823f48 | func_0x00018030d390(&var_170h, 0x190c23b08, 0x1ba, 2); 0x183823f73 | uVar6 = func_0x000184dcd0d0(&var_160h, 0x1908fb27c, 6); 0x183823f88 | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24c78, 0x1d); 0x183823f93 | uVar6 = func_0x0001813014a0(uVar6, arg3); 0x183823fa8 | uVar6 = func_0x000184dcd0d0(uVar6, 0x19014ff38, 8); 0x183823fb3 | uVar6 = func_0x000184dd1300(uVar6, arg4); 0x183823fc8 | uVar6 = func_0x000184dcd0d0(uVar6, 0x19028e144, 6); 0x183823fd2 | uVar6 = func_0x00018540d690(uVar6, uVar10); 0x183823fe7 | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c23bc0, 7); 0x183823ff4 | func_0x00018041ca10(uVar6, 5); 0x183824000 | var_170h = 0x18ff81648; 0x183824004 | func_0x00018030e9d0(&var_170h); 0x18382401d | *(undefined8 *)((int64_t)&var_160h + (int64_t)*(int32_t *)(var_160h + 4)) = 0x18fe1b290; 0x183824029 | var_158h = 0x18fe20d40; 0x183824032 | if (var_108h._7_1_ < '\0') { 0x18382404e | func_0x0001841dcbe0(var_118h, 0x18382403e | CONCAT17(var_108h._7_1_, (unkbyte7)var_108h) & 0x18382404e | 0x7fffffffffffffff); | } 0x18382405f | var_158h = 0x18fe20db0; 0x183824070 | if (iStack_150 != 0x191de1450) { 0x1838240f0 | LOCK(); 0x1838240f0 | piVar1 = (int32_t *)(iStack_150 + 8); 0x1838240f0 | iVar2 = *piVar1; 0x1838240f0 | *piVar1 = *piVar1 + -1; 0x1838240f0 | UNLOCK(); 0x1838240f7 | if (iVar2 == 0) { 0x183824104 | (*(code *)0x185f59da0)(); | } | } 0x183824053 | func_0x00018424db70(&var_158h); 0x183824072 | func_0x0001848f8b80(&var_f0h); | } 0x18382408d | *(undefined8 *)arg2 = 0; 0x18382408d | *(undefined8 *)(arg2 + 8) = 0; 0x183824090 | *(undefined8 *)(arg2 + 0x10) = 0; 0x183824098 | *(undefined4 *)(arg2 + 0x18) = 5; 0x1838240a2 | if (iVar7 != 0) { 0x1838240b1 | if ((uint64_t)-iVar7 < uVar14) { |code_r0x000183823e77: 0x183823e77 | // WARNING: Does not return 0x183823e77 | pcVar3 = (code *)invalidInstructionException(); 0x183823e77 | (*pcVar3)(); | } 0x1838240bd | func_0x0001841dcbe0(iVar7, uVar14); | } | } else { 0x183823e54 | uVar12 = (uint64_t)uVar5; 0x183823e5a | uVar13 = uVar12; 0x183823e5a | if (uVar10 < uVar5) { 0x183823e80 | uVar9 = uVar14 * 2; 0x183823e80 | if (uVar14 * 2 <= uVar12) { 0x183823e80 | uVar9 = uVar12; | } 0x183823e87 | iVar8 = func_0x000185f006b8(uVar9); 0x183823e9f | if (uVar14 - uVar12 <= (uVar14 + iVar8) - 1) goto code_r0x000183823e77; 0x183823ea4 | func_0x000185f5a0c0(iVar8 + uVar14, 0, uVar12 - uVar14); 0x183823ebd | func_0x000185f5a940(iVar8, iVar7, uVar14); 0x183823ec5 | if (iVar7 != 0) { 0x183823ecd | func_0x0001841dcbe0(iVar7, uVar14); | } | } else { 0x183823e5f | iVar8 = iVar7; 0x183823e5f | uVar13 = uVar14; 0x183823e5f | uVar9 = uVar14; 0x183823e75 | if ((uVar5 < uVar10) && (uVar13 = uVar12, (uVar14 + iVar7) - 1 < uVar14 - uVar12)) 0x183823e75 | goto code_r0x000183823e77; | } 0x183823ed8 | *(int64_t *)arg2 = iVar8; 0x183823edb | *(uint64_t *)(arg2 + 8) = uVar13; 0x183823edf | *(uint64_t *)(arg2 + 0x10) = uVar9; 0x183823ee3 | *(undefined4 *)(arg2 + 0x18) = 0; | } | goto code_r0x000183823ca5; | } | break; | } 0x183823b25 | puVar11 = (undefined8 *)puVar11[1]; | } 0x183823b1b | } while (puVar11 != (undefined8 *)0x0); | } 0x183823b5e | if (*(int32_t *)0x191de85c0 < 3) { 0x183823b6b | func_0x00018030d390(&var_170h, 0x190c23b08, 0x1ad, 2); 0x183823b99 | uVar6 = func_0x000184dcd0d0(&var_160h, 0x1908fb27c, 6); 0x183823bae | uVar6 = func_0x000184dcd0d0(uVar6, 0x190c24c08, 0x21); 0x183823bb9 | uVar6 = func_0x0001813014a0(uVar6, arg3); 0x183823bce | uVar6 = func_0x000184dcd0d0(uVar6, 0x19014ff38, 8); 0x183823bd9 | uVar6 = func_0x000184dd1300(uVar6, arg4); 0x183823bee | uVar6 = func_0x000184dcd0d0(uVar6, 0x19028e144, 6); 0x183823bf9 | func_0x00018540d690(uVar6, arg_28h & 0xffffffff); 0x183823c05 | var_170h = 0x18ff81648; 0x183823b6b | func_0x00018030e9d0(&var_170h); 0x183823c1f | *(undefined8 *)((int64_t)&var_160h + (int64_t)*(int32_t *)(var_160h + 4)) = 0x18fe1b290; 0x183823c2b | var_158h = 0x18fe20d40; 0x183823c34 | if (var_108h._7_1_ < '\0') { 0x183823c50 | func_0x0001841dcbe0(var_118h, CONCAT17(var_108h._7_1_, (unkbyte7)var_108h) & 0x7fffffffffffffff); | } 0x183823c61 | var_158h = 0x18fe20db0; 0x183823c72 | if (iStack_150 != 0x191de1450) { 0x183823f15 | LOCK(); 0x183823f15 | piVar1 = (int32_t *)(iStack_150 + 8); 0x183823f15 | iVar2 = *piVar1; 0x183823f15 | *piVar1 = *piVar1 + -1; 0x183823f15 | UNLOCK(); 0x183823f1c | if (iVar2 == 0) { 0x183823f29 | (*(code *)0x185f59da0)(); | } | } 0x183823c55 | func_0x00018424db70(&var_158h); 0x183823c78 | func_0x0001848f8b80(&var_f0h); | } 0x183823c93 | *(undefined8 *)arg2 = 0; 0x183823c93 | *(undefined8 *)(arg2 + 8) = 0; 0x183823c96 | *(undefined8 *)(arg2 + 0x10) = 0; 0x183823c9e | *(undefined4 *)(arg2 + 0x18) = 9; |code_r0x000183823ca5: 0x183823ca8 | (*(code *)0x11c22954)(arg1); 0x183823cc4 | return arg2; |} [{"offset":6501317328,"name":"fcn.183823ad0","size":1599,"is-pure":false,"realsz":1599,"noreturn":false,"stackframe":408,"calltype":"ms","cost":517,"cc":33,"loops":16,"bits":64,"type":"fcn","nbbs":56,"edges":85,"ebbs":2,"signature":"fcn.183823ad0(int64_t arg1, int64_t arg2, int64_t arg3, int64_t arg4, int64_t arg_28h);","minbound":6501317328,"maxbound":6501318927,"callrefs":[{"from":6501317359,"to":6740380256,"type":"CALL"},{"from":6501317394,"to":6501317405,"type":"CODE"},{"from":6501317417,"to":6501317400,"type":"CODE"},{"from":6501317458,"to":6501318408,"type":"CODE"},{"from":6501317503,"to":6445650832,"type":"CALL"},{"from":6501317529,"to":6524031184,"type":"CALL"},{"from":6501317550,"to":6524031184,"type":"CALL"},{"from":6501317561,"to":6462379168,"type":"CALL"},{"from":6501317582,"to":6524031184,"type":"CALL"},{"from":6501317593,"to":6524048128,"type":"CALL"},{"from":6501317614,"to":6524031184,"type":"CALL"},{"from":6501317625,"to":6530586256,"type":"CALL"},{"from":6501317644,"to":6445656528,"type":"CALL"},{"from":6501317712,"to":6511512544,"type":"CALL"},{"from":6501317763,"to":6511975280,"type":"CALL"},{"from":6501317771,"to":6518967168,"type":"CALL"},{"from":6501317800,"to":6740379744,"type":"CALL"},{"from":6501317886,"to":6445650832,"type":"CALL"},{"from":6501317912,"to":6524031184,"type":"CALL"},{"from":6501317933,"to":6524031184,"type":"CALL"},{"from":6501317944,"to":6462379168,"type":"CALL"},{"from":6501317965,"to":6524031184,"type":"CALL"},{"from":6501317976,"to":6530586256,"type":"CALL"},{"from":6501317997,"to":6524031184,"type":"CALL"},{"from":6501318007,"to":6530586256,"type":"CALL"},{"from":6501318028,"to":6445656528,"type":"CALL"},{"from":6501318096,"to":6511512544,"type":"CALL"},{"from":6501318147,"to":6511975280,"type":"CALL"},{"from":6501318155,"to":6518967168,"type":"CALL"},{"from":6501318166,"to":6542067384,"type":"CALL"},{"from":6501318194,"to":6542434496,"type":"CALL"},{"from":6501318215,"to":6453223840,"type":"CALL"},{"from":6501318279,"to":6542067384,"type":"CALL"},{"from":6501318319,"to":6542434496,"type":"CALL"},{"from":6501318333,"to":6542436672,"type":"CALL"},{"from":6501318349,"to":6511512544,"type":"CALL"},{"from":6501318378,"to":6501317797,"type":"CODE"},{"from":6501318393,"to":6512700960,"type":"CALL"},{"from":6501318398,"to":6501317373,"type":"CODE"},{"from":6501318406,"to":6501318360,"type":"CODE"},{"from":6501318411,"to":6501318199,"type":"CODE"},{"from":6501318441,"to":6740346544,"type":"CALL"},{"from":6501318447,"to":6501317752,"type":"CODE"},{"from":6501318489,"to":6445650832,"type":"CALL"},{"from":6501318515,"to":6524031184,"type":"CALL"},{"from":6501318536,"to":6524031184,"type":"CALL"},{"from":6501318547,"to":6462379168,"type":"CALL"},{"from":6501318568,"to":6524031184,"type":"CALL"},{"from":6501318579,"to":6524048128,"type":"CALL"},{"from":6501318600,"to":6524031184,"type":"CALL"},{"from":6501318610,"to":6530586256,"type":"CALL"},{"from":6501318631,"to":6524031184,"type":"CALL"},{"from":6501318644,"to":6446762512,"type":"CALL"},{"from":6501318665,"to":6445656528,"type":"CALL"},{"from":6501318734,"to":6511512544,"type":"CALL"},{"from":6501318781,"to":6511975280,"type":"CALL"},{"from":6501318789,"to":6518967168,"type":"CALL"},{"from":6501318845,"to":6511512544,"type":"CALL"},{"from":6501318850,"to":6501317797,"type":"CODE"},{"from":6501318880,"to":6740346544,"type":"CALL"},{"from":6501318886,"to":6501318136,"type":"CODE"},{"from":6501318916,"to":6740346544,"type":"CALL"},{"from":6501318922,"to":6501318770,"type":"CODE"}],"datarefs":[{"from":6501317463,"to":6742246848,"type":"DATA"},{"from":6501317476,"to":6723615496,"type":"DATA"},{"from":6501317513,"to":6720303740,"type":"DATA"},{"from":6501317534,"to":6723619848,"type":"DATA"},{"from":6501317566,"to":6712262456,"type":"DATA"},{"from":6501317598,"to":6713565508,"type":"DATA"},{"from":6501317630,"to":6710367816,"type":"DATA"},{"from":6501317656,"to":6708900496,"type":"DATA"},{"from":6501317668,"to":6708923712,"type":"DATA"},{"from":6501317722,"to":6708923824,"type":"DATA"},{"from":6501317736,"to":6742217808,"type":"DATA"},{"from":6501317829,"to":6742246848,"type":"DATA"},{"from":6501317842,"to":6741126112,"type":"DATA"},{"from":6501317851,"to":6742246856,"type":"DATA"},{"from":6501317865,"to":6723615496,"type":"DATA"},{"from":6501317896,"to":6720303740,"type":"DATA"},{"from":6501317917,"to":6723619888,"type":"DATA"},{"from":6501317949,"to":6723619928,"type":"DATA"},{"from":6501317981,"to":6723619944,"type":"DATA"},{"from":6501318012,"to":6710367816,"type":"DATA"},{"from":6501318040,"to":6708900496,"type":"DATA"},{"from":6501318052,"to":6708923712,"type":"DATA"},{"from":6501318106,"to":6708923824,"type":"DATA"},{"from":6501318120,"to":6742217808,"type":"DATA"},{"from":6501318383,"to":6724150288,"type":"DATA"},{"from":6501318452,"to":6742246848,"type":"DATA"},{"from":6501318465,"to":6723615496,"type":"DATA"},{"from":6501318499,"to":6720303740,"type":"DATA"},{"from":6501318520,"to":6723619960,"type":"DATA"},{"from":6501318552,"to":6712262456,"type":"DATA"},{"from":6501318584,"to":6713565508,"type":"DATA"},{"from":6501318615,"to":6723615680,"type":"DATA"},{"from":6501318649,"to":6710367816,"type":"DATA"},{"from":6501318678,"to":6708900496,"type":"DATA"},{"from":6501318690,"to":6708923712,"type":"DATA"},{"from":6501318744,"to":6708923824,"type":"DATA"},{"from":6501318758,"to":6742217808,"type":"DATA"}],"codexrefs":[{"from":6501317394,"to":6501317405,"type":"CODE"},{"from":6501317417,"to":6501317400,"type":"CODE"},{"from":6501317458,"to":6501318408,"type":"CODE"},{"from":6501318378,"to":6501317797,"type":"CODE"},{"from":6501318398,"to":6501317373,"type":"CODE"},{"from":6501318406,"to":6501318360,"type":"CODE"},{"from":6501318411,"to":6501318199,"type":"CODE"},{"from":6501318447,"to":6501317752,"type":"CODE"},{"from":6501318850,"to":6501317797,"type":"CODE"},{"from":6501318886,"to":6501318136,"type":"CODE"},{"from":6501318922,"to":6501318770,"type":"CODE"}],"dataxrefs":[],"indegree":11,"outdegree":52,"nlocals":6,"nargs":5,"stackvars":[{"name":"var_170h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-368}},{"name":"var_160h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-352}},{"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}}],"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"}}]}]