0x183384070 | 0x183384070 |// WARNING: [rz-ghidra] Detected overlap for variable var_e1h | 0x183384070 |void fcn.183384070(int64_t arg1, int64_t arg2, int64_t arg3) |{ | int32_t iVar1; | undefined8 uVar2; | int32_t *piVar3; | undefined8 uVar4; | code *pcVar5; | undefined8 *puVar6; | undefined8 *puVar7; | undefined8 *puVar8; | undefined8 *puVar9; | undefined8 *puVar10; | undefined8 *puVar11; | undefined8 *unaff_RSI; | int64_t iVar12; | undefined8 *unaff_R14; | undefined8 *unaff_R15; | int64_t unaff_XMM6_Qa; | undefined8 unaff_XMM6_Qb; | undefined4 unaff_XMM7_Da; | undefined4 unaff_XMM7_Db; | undefined4 unaff_XMM7_Dc; | undefined4 unaff_XMM7_Dd; | undefined auStack_138 [40]; | int64_t var_110h; | int64_t var_108h; | int64_t var_100h; | int64_t var_f8h; | undefined4 uStack_f0; | undefined4 uStack_ec; | int64_t var_e8h; | int64_t var_e0h; | int64_t var_d8h; | int64_t var_d0h; | int64_t var_c8h; | undefined8 uStack_c0; | int64_t var_b8h; | int64_t var_b0h; | int64_t var_a8h; | int64_t var_a0h; | int64_t var_98h; | undefined8 uStack_90; | int64_t var_88h; | int64_t var_80h; | int64_t var_70h; | int64_t var_68h; | int64_t var_58h; | 0x18338409e | var_70h = *(uint64_t *)0x191c71040 ^ (uint64_t)auStack_138; 0x1833840ad | if (*(char *)(arg2 + 0x28) != '\x01') { 0x183384158 | var_110h = arg1; 0x183384158 | var_108h = arg3; 0x183384158 | puVar6 = (undefined8 *)func_0x000185f006b8(0x1818); 0x183384165 | var_d8h = 0; 0x18338416e | var_d0h = 0x101; 0x183384177 | unaff_R15 = (undefined8 *)0x101; 0x18338417d | unaff_RSI = (undefined8 *)0x0; 0x183384197 | unaff_XMM6_Qb = 0x185abdf70; 0x183384197 | unaff_XMM6_Qa = 0x19088c8d0; 0x18338419b | arg3 = (int64_t)&var_a8h; 0x1833841a3 | unaff_XMM7_Da = 0; 0x1833841a3 | unaff_XMM7_Db = 0; 0x1833841a3 | unaff_XMM7_Dc = 0; 0x1833841a3 | unaff_XMM7_Dd = 0; 0x1833841a6 | unaff_R14 = (undefined8 *)0x0; 0x1833841a9 | var_e0h = (int64_t)puVar6; 0x1833841a9 | goto code_r0x0001833841d7; | } 0x1833840bf | var_c8h = 0x19088bea8; 0x1833840c2 | uStack_c0 = 0x12; 0x1833840ca | func_0x000183383e10(); |code_r0x0001833840cf: 0x1833840cf | puVar6 = *(undefined8 **)arg3; 0x1833840d3 | *(int64_t *)arg3 = 0; 0x1833840de | if (puVar6 != (undefined8 *)0x0) { 0x1833840e0 | func_0x0001812ec4e0(puVar6 + 4); 0x1833840f8 | var_98h = (int64_t)puVar6; 0x1833840ed | func_0x00018097e300(&var_98h, puVar6[1]); 0x183384105 | func_0x0001841dcbe0(puVar6, 0x78); | } 0x18338411f | if (*(uint64_t *)0x191c71040 == (var_70h ^ (uint64_t)auStack_138)) { 0x183384148 | return; | } 0x1833846b9 | func_0x000185f05b40(var_70h ^ (uint64_t)auStack_138); |code_r0x0001833846c1: 0x1833846c1 | func_0x00018628dc40(); |code_r0x0001833846c6: 0x1833846c6 | func_0x0001860265d0(); | do { 0x1833846cb | iVar12 = 0; 0x1833846cd | puVar7 = puVar6; 0x1833842ed | while( true ) { 0x183384315 | puVar11 = (undefined8 *)((int64_t)unaff_R15 * 0x18 + iVar12); 0x183384318 | if (puVar11 == (undefined8 *)0x0) goto code_r0x00018338457d; 0x183384323 | puVar11[2] = var_e8h; 0x18338432d | *puVar11 = CONCAT44(var_f8h._4_4_, (undefined4)var_f8h); 0x18338432d | puVar11[1] = CONCAT44(uStack_ec, uStack_f0); 0x183384336 | var_e8h = 0; 0x183384347 | iVar12 = (int64_t)unaff_R15 * 0x18; 0x18338434e | puVar6 = puVar11 + (int64_t)unaff_R15 * -3; 0x183384354 | var_f8h._0_4_ = unaff_XMM7_Da; 0x183384354 | var_f8h._4_4_ = unaff_XMM7_Db; 0x183384354 | uStack_f0 = unaff_XMM7_Dc; 0x183384354 | uStack_ec = unaff_XMM7_Dd; 0x183384354 | if (unaff_R15 != (undefined8 *)0x0) { 0x18338435f | func_0x000185f5a940(puVar6, puVar7, iVar12); | } 0x183384380 | var_d8h = (iVar12 + 0x18 >> 3) * -0x5555555555555555; 0x183384396 | unaff_R15 = unaff_RSI; 0x183384396 | var_e0h = (int64_t)puVar6; 0x183384396 | var_d0h = (int64_t)unaff_RSI; 0x183384396 | if (puVar7 != (undefined8 *)0x0) { 0x18338439e | func_0x0001841dcbe0(puVar7, iVar12); | } 0x183384246 | while( true ) { 0x18338427a | puVar7 = puVar11 + 3; 0x183384292 | unaff_RSI = (undefined8 *)(((int64_t)puVar7 - (int64_t)puVar6 >> 3) * -0x5555555555555555); 0x18338429e | iVar12 = (int64_t)puVar7 - (int64_t)puVar6; 0x1833842a1 | var_d8h = (int64_t)unaff_RSI; 0x1833842a1 | if (iVar12 == 0) goto code_r0x00018338457d; 0x1833842ac | if (var_e8h < 0) { 0x1833841bd | func_0x0001841dcbe0(CONCAT44(var_f8h._4_4_, (undefined4)var_f8h), var_e8h & 0x7fffffffffffffff); | } 0x1833841c7 | unaff_R14 = (undefined8 *)((int64_t)unaff_R14 + 1); 0x1833841d1 | if (unaff_R14 == (undefined8 *)0x100) { 0x1833843b1 | if ((int64_t)unaff_RSI - (int64_t)unaff_R15 == 0) { 0x18338457f | puVar7 = (undefined8 *)((int64_t)unaff_R15 + 1); 0x183384590 | if ((undefined8 *)0xaaaaaaaaaaaaaaa < puVar7) goto code_r0x0001833846c1; 0x18338459d | if (puVar7 < (undefined8 *)((int64_t)unaff_R15 * 2)) { 0x18338459d | puVar7 = (undefined8 *)((int64_t)unaff_R15 * 2); | } 0x1833845b8 | if ((undefined8 *)0x555555555555554 < unaff_R15) { 0x1833845b8 | puVar7 = (undefined8 *)0xaaaaaaaaaaaaaaa; | } 0x1833845bf | if (puVar7 == (undefined8 *)0x0) { 0x1833845e0 | puVar9 = (undefined8 *)0x0; | } else { 0x1833845c4 | if ((undefined8 *)0xaaaaaaaaaaaaaaa < puVar7) goto code_r0x0001833846c6; 0x1833845d6 | puVar9 = (undefined8 *)func_0x000185f006b8((int64_t)puVar7 * 0x18); | } 0x1833845e6 | puVar8 = (undefined8 *)((int64_t)puVar9 + iVar12); 0x1833845e9 | if (puVar8 == (undefined8 *)0x0) goto code_r0x00018338457d; 0x1833845f0 | puVar10 = (undefined8 *)func_0x000185f006b8(0x20); 0x1833845f5 | *puVar8 = puVar10; 0x1833845f8 | puVar8[1] = 0x1b; 0x18338460e | puVar8[2] = 0x8000000000000020; 0x183384636 | if (((undefined8 *)((int64_t)puVar10 + 0x1b) < puVar10) || 0x183384630 | ((undefined8 *)0x19088bec0 < (undefined8 *)((int64_t)puVar10 + 0x1b) && 0x183384629 | puVar10 < (undefined8 *)0x19088bec1)) goto code_r0x00018338457d; 0x183384643 | *(undefined8 *)((int64_t)puVar10 + 0xb) = 0x2d6c61636f6c2d65; 0x183384643 | *(undefined8 *)((int64_t)puVar10 + 0x13) = 0x31762d6574617473; 0x18338464f | *puVar10 = 0x3a6c6f72746e6f63; 0x18338464f | puVar10[1] = 0x636f6c2d65676170; 0x183384653 | *(undefined *)((int64_t)puVar10 + 0x1b) = 0; 0x18338465f | unaff_RSI = puVar8 + (int64_t)unaff_R15 * -3; 0x18338466b | func_0x000185f5a940(unaff_RSI, puVar6, iVar12); 0x183384686 | var_d8h = ((int64_t)unaff_R15 * 0x18 + 0x18 >> 3) * -0x5555555555555555; 0x18338469c | var_e0h = (int64_t)unaff_RSI; 0x18338469c | var_d0h = (int64_t)puVar7; 0x18338469c | if (puVar6 != (undefined8 *)0x0) { 0x1833846a4 | func_0x0001841dcbe0(puVar6, (int64_t)unaff_R15 * 0x18); | } | } else { 0x1833843ba | if (puVar7 == (undefined8 *)0x0) goto code_r0x00018338457d; 0x1833843c5 | puVar7 = (undefined8 *)func_0x000185f006b8(0x20); 0x1833843ca | *(undefined8 **)((int64_t)puVar6 + iVar12) = puVar7; 0x1833843ce | *(undefined8 *)((int64_t)puVar6 + iVar12 + 8) = 0x1b; 0x1833843e5 | *(undefined8 *)((int64_t)puVar6 + iVar12 + 0x10) = 0x8000000000000020; 0x18338440e | if (((undefined8 *)((int64_t)puVar7 + 0x1b) < puVar7) || 0x183384408 | ((undefined8 *)0x19088bec0 < (undefined8 *)((int64_t)puVar7 + 0x1b) && 0x183384401 | puVar7 < (undefined8 *)0x19088bec1)) goto code_r0x00018338457d; 0x18338441b | *(undefined8 *)((int64_t)puVar7 + 0xb) = 0x2d6c61636f6c2d65; 0x18338441b | *(undefined8 *)((int64_t)puVar7 + 0x13) = 0x31762d6574617473; 0x183384427 | *puVar7 = 0x3a6c6f72746e6f63; 0x183384427 | puVar7[1] = 0x636f6c2d65676170; 0x18338442b | *(undefined *)((int64_t)puVar7 + 0x1b) = 0; 0x183384432 | unaff_RSI = puVar6; 0x183384432 | puVar9 = puVar6; 0x183384432 | puVar7 = unaff_R15; | } 0x183384439 | puVar8 = (undefined8 *)((int64_t)puVar9 + iVar12 + 0x18); 0x183384451 | var_d8h = ((int64_t)puVar8 - (int64_t)unaff_RSI >> 3) * -0x5555555555555555; 0x18338445d | if (puVar8 == unaff_RSI) goto code_r0x00018338457d; 0x183384468 | uVar2 = *(undefined8 *)(var_110h + 0x10); 0x18338446c | piVar3 = *(int32_t **)(var_110h + 0x198); 0x183384473 | uVar4 = *(undefined8 *)(var_110h + 0x1a0); 0x18338447d | if (piVar3 != (int32_t *)0x0) { 0x183384484 | LOCK(); 0x183384484 | iVar1 = *piVar3; 0x183384484 | *piVar3 = *piVar3 + 1; 0x183384484 | UNLOCK(); 0x18338448e | if (iVar1 == 0x7fffffff) { 0x1833846d2 | pcVar5 = (code *)swi(3); 0x1833846d2 | (*pcVar5)(); 0x1833846d2 | return; | } | } 0x183384499 | var_100h = func_0x000185f006b8(0x40); 0x183384499 | arg3 = var_108h; 0x18338449e | *(undefined4 *)var_100h = 1; 0x1833844ab | *(undefined8 *)(var_100h + 8) = 0x18339ce10; 0x1833844b6 | *(undefined8 *)(var_100h + 0x10) = 0x18339ced0; 0x1833844c1 | *(undefined8 *)(var_100h + 0x18) = 0x18339cdd0; 0x1833844cc | *(undefined8 *)(var_100h + 0x20) = 0x1833846e0; 0x1833844d0 | *(int32_t **)(var_100h + 0x28) = piVar3; 0x1833844d4 | *(undefined8 *)(var_100h + 0x30) = uVar4; 0x1833844dd | uVar4 = *(undefined8 *)var_108h; 0x1833844e1 | *(undefined8 *)var_108h = 0; 0x1833844e9 | *(undefined8 *)(var_100h + 0x38) = uVar4; 0x1833844fd | func_0x00018b5ef3d0(uVar2, &var_e0h); 0x183384505 | unaff_R14 = puVar9; 0x183384505 | unaff_R15 = puVar7; 0x183384505 | if (unaff_RSI == (undefined8 *)0x0) goto code_r0x0001833840cf; 0x18338451a | unaff_R14 = (undefined8 *) 0x18338451a | ((int64_t)puVar11 + (int64_t)puVar9 + (-(int64_t)puVar6 - (int64_t)unaff_RSI) + 0x18); 0x183384524 | iVar12 = (int64_t)puVar6 + (int64_t)unaff_RSI + (-(int64_t)puVar11 - (int64_t)puVar9) + -0x30; 0x183384524 | goto code_r0x000183384528; | } |code_r0x0001833841d7: 0x1833841ef | var_80h = 0x181dc6570; 0x1833841f7 | var_a8h = (int64_t)&var_98h; 0x183384207 | var_a0h = 2; 0x18338421a | var_b8h = 0x19088c8ec; 0x183384222 | var_b0h = 6; 0x18338423e | var_98h = unaff_XMM6_Qa; 0x18338423e | uStack_90 = unaff_XMM6_Qb; 0x18338423e | var_88h = (int64_t)unaff_R14; 0x18338422e | func_0x000184321670(&var_f8h, &var_b8h, arg3); 0x183384246 | if (unaff_RSI == unaff_R15) break; 0x18338424c | puVar11 = puVar6 + (int64_t)unaff_RSI * 3; 0x183384253 | if (puVar11 == (undefined8 *)0x0) goto code_r0x00018338457d; 0x18338425e | puVar11[2] = var_e8h; 0x183384268 | *puVar11 = CONCAT44(var_f8h._4_4_, (undefined4)var_f8h); 0x183384268 | puVar11[1] = CONCAT44(uStack_ec, uStack_f0); 0x183384271 | var_e8h = 0; 0x183384271 | var_f8h._0_4_ = unaff_XMM7_Da; 0x183384271 | var_f8h._4_4_ = unaff_XMM7_Db; 0x183384271 | uStack_f0 = unaff_XMM7_Dc; 0x183384271 | uStack_ec = unaff_XMM7_Dd; | } 0x1833842b7 | unaff_RSI = (undefined8 *)((int64_t)unaff_R15 + 1); 0x1833842c8 | if ((undefined8 *)0xaaaaaaaaaaaaaaa < unaff_RSI) goto code_r0x0001833846c1; 0x1833842d5 | if (unaff_RSI < (undefined8 *)((int64_t)unaff_R15 * 2)) { 0x1833842d5 | unaff_RSI = (undefined8 *)((int64_t)unaff_R15 * 2); | } 0x1833842e6 | if ((undefined8 *)0x555555555555554 < unaff_R15) { 0x1833842e6 | unaff_RSI = (undefined8 *)0xaaaaaaaaaaaaaaa; | } 0x1833842ed | if (unaff_RSI == (undefined8 *)0x0) break; 0x1833842f6 | if ((undefined8 *)0xaaaaaaaaaaaaaaa < unaff_RSI) goto code_r0x0001833846c6; 0x183384308 | iVar12 = func_0x000185f006b8((int64_t)unaff_RSI * 0x18); 0x183384308 | puVar7 = puVar6; | } | } while( true ); 0x183384540 | while( true ) { 0x183384536 | if (*(char *)((int64_t)unaff_RSI + 0x17 + (int64_t)unaff_R14) < '\0') { 0x183384572 | func_0x0001841dcbe0(*(undefined8 *)((int64_t)unaff_RSI + (int64_t)unaff_R14), 0x183384560 | *(uint64_t *)((int64_t)(unaff_RSI + 2) + (int64_t)unaff_R14) & 0x7fffffffffffffff); | } 0x183384538 | unaff_R14 = unaff_R14 + -3; 0x18338453c | iVar12 = iVar12 + 0x18; 0x183384540 | if (iVar12 == 0) break; |code_r0x000183384528: 0x18338452e | if ((int64_t)unaff_RSI + (int64_t)unaff_R14 == 0) { |code_r0x00018338457d: 0x18338457d | // WARNING: Does not return 0x18338457d | pcVar5 = (code *)invalidInstructionException(); 0x18338457d | (*pcVar5)(); | } | } 0x183384542 | var_d8h = 0; 0x18338454b | unaff_R15 = (undefined8 *)((int64_t)puVar7 * 8); 0x183384556 | func_0x0001841dcbe0(unaff_RSI, (int64_t)puVar7 * 0x18); 0x18338455b | goto code_r0x0001833840cf; |} [{"offset":6496469104,"name":"fcn.183384070","size":1635,"is-pure":false,"realsz":1635,"noreturn":false,"stackframe":312,"calltype":"ms","cost":437,"cc":35,"loops":12,"bits":64,"type":"fcn","nbbs":57,"edges":86,"ebbs":3,"signature":"fcn.183384070(int64_t arg1, int64_t arg2, int64_t arg3);","minbound":6496469104,"maxbound":6496470739,"callrefs":[{"from":6496469194,"to":6496468496,"type":"CALL"},{"from":6496469220,"to":6462293216,"type":"CALL"},{"from":6496469240,"to":6452404992,"type":"CALL"},{"from":6496469253,"to":6511512544,"type":"CALL"},{"from":6496469336,"to":6542067384,"type":"CALL"},{"from":6496469417,"to":6496469463,"type":"CODE"},{"from":6496469442,"to":6511512544,"type":"CALL"},{"from":6496469566,"to":6512842352,"type":"CALL"},{"from":6496469682,"to":6496469419,"type":"CODE"},{"from":6496469768,"to":6542067384,"type":"CALL"},{"from":6496469855,"to":6542436672,"type":"CALL"},{"from":6496469918,"to":6511512544,"type":"CALL"},{"from":6496469929,"to":6496469626,"type":"CODE"},{"from":6496469957,"to":6542067384,"type":"CALL"},{"from":6496470169,"to":6542067384,"type":"CALL"},{"from":6496470269,"to":6633223120,"type":"CALL"},{"from":6496470358,"to":6511512544,"type":"CALL"},{"from":6496470363,"to":6496469199,"type":"CODE"},{"from":6496470390,"to":6511512544,"type":"CALL"},{"from":6496470395,"to":6496470328,"type":"CODE"},{"from":6496470486,"to":6542067384,"type":"CALL"},{"from":6496470494,"to":6496470499,"type":"CODE"},{"from":6496470512,"to":6542067384,"type":"CALL"},{"from":6496470635,"to":6542436672,"type":"CALL"},{"from":6496470692,"to":6511512544,"type":"CALL"},{"from":6496470700,"to":6496470069,"type":"CODE"},{"from":6496470716,"to":6542089024,"type":"CALL"},{"from":6496470721,"to":6545792064,"type":"CALL"},{"from":6496470726,"to":6543271376,"type":"CALL"},{"from":6496470733,"to":6496469773,"type":"CODE"}],"datarefs":[{"from":6496469143,"to":6740709440,"type":"DATA"},{"from":6496469171,"to":6719848104,"type":"DATA"},{"from":6496469269,"to":6740709440,"type":"DATA"},{"from":6496469375,"to":6537600880,"type":"DATA"},{"from":6496469387,"to":6719850704,"type":"DATA"},{"from":6496469480,"to":6473672048,"type":"DATA"},{"from":6496469523,"to":6719850732,"type":"DATA"},{"from":6496470007,"to":6719848128,"type":"DATA"},{"from":6496470036,"to":6719848139,"type":"DATA"},{"from":6496470180,"to":6496570896,"type":"DATA"},{"from":6496470191,"to":6496571088,"type":"DATA"},{"from":6496470202,"to":6496570832,"type":"DATA"},{"from":6496470213,"to":6496470752,"type":"DATA"},{"from":6496470559,"to":6719848128,"type":"DATA"},{"from":6496470588,"to":6719848139,"type":"DATA"}],"codexrefs":[{"from":6496469417,"to":6496469463,"type":"CODE"},{"from":6496469682,"to":6496469419,"type":"CODE"},{"from":6496469929,"to":6496469626,"type":"CODE"},{"from":6496470363,"to":6496469199,"type":"CODE"},{"from":6496470395,"to":6496470328,"type":"CODE"},{"from":6496470494,"to":6496470499,"type":"CODE"},{"from":6496470700,"to":6496470069,"type":"CODE"},{"from":6496470733,"to":6496469773,"type":"CODE"}],"dataxrefs":[],"indegree":8,"outdegree":22,"nlocals":20,"nargs":3,"stackvars":[{"name":"var_110h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-272}},{"name":"var_108h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-264}},{"name":"var_100h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-256}},{"name":"var_f8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-248}},{"name":"var_e8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-232}},{"name":"var_e1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-225}},{"name":"var_e0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-224}},{"name":"var_d8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-216}},{"name":"var_d0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-208}},{"name":"var_c8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-200}},{"name":"var_b8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-184}},{"name":"var_b0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-176}},{"name":"var_a8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-168}},{"name":"var_a0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-160}},{"name":"var_98h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-152}},{"name":"var_88h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-136}},{"name":"var_80h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-128}},{"name":"var_70h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-112}},{"name":"var_68h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-104}},{"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":"arg1","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rcx"}},{"name":"arg2","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rdx"}}]}]