0x1837c5c40 | 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_b1h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_d1h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_e9h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_101h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_71h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_108h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_f0h 0x1837c5c40 |// WARNING: [rz-ghidra] Detected overlap for variable var_128h | 0x1837c5c40 |void fcn.1837c5c40(int64_t arg1) |{ | int32_t iVar1; | int32_t *piVar2; | code *pcVar3; | char cVar4; | undefined uVar5; | undefined uVar6; | int64_t iVar7; | undefined8 uVar8; | undefined4 *puVar9; | undefined4 *puVar10; | undefined8 *puVar11; | undefined auStack_158 [32]; | int64_t var_138h; | undefined8 uStack_130; | undefined var_128h [7]; | int64_t var_121h; | int64_t var_118h; | unkbyte7 var_108h; | char var_101h; | int64_t var_100h; | undefined8 uStack_f8; | unkbyte7 var_f0h; | char var_e9h; | int64_t var_e8h; | undefined8 uStack_e0; | int64_t var_d8h; | int64_t var_c8h; | int64_t var_c0h; | int64_t var_b8h; | int64_t var_a8h; | undefined8 uStack_a0; | int64_t var_98h; | undefined8 uStack_90; | int64_t var_88h; | undefined8 uStack_80; | int64_t var_78h; | int64_t var_70h; | undefined8 uStack_68; | int64_t var_60h; | undefined8 uStack_58; | int64_t var_50h; | int64_t var_48h; | 0x1837c5c61 | var_50h = *(uint64_t *)0x191c71040 ^ (uint64_t)auStack_158; 0x1837c5c7a | if ((*(int64_t *)(arg1 + 0x10) != 0) && (*(char *)(*(int64_t *)(arg1 + 0x10) + 4) == '\0')) { 0x1837c5ccf | if (*(int64_t *)0x191d87838 != 0 && *(int64_t *)(arg1 + 0x18) != 0) { 0x1837c5cd8 | iVar7 = (*(code *)0x185f59da0)(); 0x1837c5ce1 | if (iVar7 != 0) { 0x1837c5ce7 | if (*(char *)(arg1 + 0x50) == '\x01') { 0x1837c5ce9 | *(undefined *)(arg1 + 0x51) = 1; | } else { 0x1837c5cef | *(undefined *)(arg1 + 0x50) = 1; 0x1837c5d01 | uVar8 = (*(code *)0x185f59da0)(); 0x1837c5d19 | var_98h = 0x1908ef9c0; 0x1837c5d1c | uStack_90 = 0x3a; 0x1837c5d27 | cVar4 = func_0x000184dc6ec0(uVar8); 0x1837c5d2e | if (cVar4 == '\0') { 0x1837c5d30 | uVar5 = 0; | } else { 0x1837c5d43 | var_a8h = 0x190c20980; 0x1837c5d46 | uStack_a0 = 0x36; 0x1837c5d51 | uVar5 = func_0x000184dc6ec0(uVar8); | } 0x1837c5d62 | uVar6 = func_0x0001837d5fc0(0x191dd81d0, uVar8); 0x1837c5d6b | var_b8h = 0; 0x1837c5d76 | var_c8h = 0; 0x1837c5d76 | var_c0h = 0; 0x1837c5d83 | _var_128h = 0; 0x1837c5d87 | var_138h = 0; 0x1837c5d87 | uStack_130 = 0; 0x1837c5d8f | cVar4 = func_0x0001812de640(5); 0x1837c5d96 | if (cVar4 == '\0') { 0x1837c5e0c | var_c8h = 0; 0x1837c5e0c | var_c0h = 0; 0x1837c5e14 | var_b8h = 0; | } else { 0x1837c5da4 | var_e8h = 0x190c0ac08; 0x1837c5da7 | uStack_e0 = 0xb; 0x1837c5daf | func_0x000180a8fe00(&var_138h, &var_88h); 0x1837c5dd0 | var_100h = 0x190c20aa8; 0x1837c5dd3 | uStack_f8 = 0x19; 0x1837c5db4 | func_0x000180a8fe00(&var_88h, &var_c8h); 0x1837c5df0 | if (var_78h < 0) { 0x1837c5e05 | func_0x0001841dcbe0(var_88h, var_78h * 2); | } | } 0x1837c5e25 | if (_var_128h < 0) { 0x1837c5e34 | func_0x0001841dcbe0(var_138h, _var_128h * 2); | } 0x1837c5e39 | piVar2 = *(int32_t **)(arg1 + 0x58); 0x1837c5e3d | uVar8 = *(undefined8 *)(arg1 + 0x60); 0x1837c5e44 | if (piVar2 != (int32_t *)0x0) { 0x1837c5e4b | LOCK(); 0x1837c5e4b | iVar1 = *piVar2; 0x1837c5e4b | *piVar2 = *piVar2 + 1; 0x1837c5e4b | UNLOCK(); 0x1837c5e56 | if (iVar1 == 0x7fffffff) { 0x1837c61d8 | pcVar3 = (code *)swi(3); 0x1837c61d8 | (*pcVar3)(); 0x1837c61d8 | return; | } | } 0x1837c5e61 | puVar9 = (undefined4 *)func_0x000185f006b8(0x40); 0x1837c5e69 | *puVar9 = 1; 0x1837c5e76 | *(undefined8 *)(puVar9 + 2) = 0x1837c7060; 0x1837c5e81 | *(undefined8 *)(puVar9 + 4) = 0x182bf38e0; 0x1837c5e8c | *(undefined8 *)(puVar9 + 6) = 0x1841d75d0; 0x1837c5e90 | *(int32_t **)(puVar9 + 10) = piVar2; 0x1837c5e94 | *(undefined8 *)(puVar9 + 0xc) = uVar8; 0x1837c5e9b | puVar9[0xe] = *(undefined4 *)(arg1 + 0x54); 0x1837c5e9f | *(undefined *)(puVar9 + 0xf) = uVar5; 0x1837c5ea3 | *(undefined *)((int64_t)puVar9 + 0x3d) = uVar6; 0x1837c5ea7 | func_0x0001838a75a0(&var_88h); 0x1837c5ec6 | if ((*(int64_t *)(arg1 + 0x10) == 0) || (*(char *)(*(int64_t *)(arg1 + 0x10) + 4) != '\0')) 0x1837c5ec6 | goto code_r0x0001837c61d5; 0x1837c5edf | (*(code *)0x185f59da0)(*(undefined8 *)(arg1 + 0x18), &var_118h); 0x1837c5ed7 | func_0x0001852b6790(&var_118h, &var_100h); 0x1837c5f04 | var_60h = 0x190c211e0; 0x1837c5f07 | uStack_58 = 10; 0x1837c5ee5 | func_0x0001859c0910(&var_100h, &var_138h); 0x1837c5f2e | var_70h = 0x190c211f8; 0x1837c5f31 | uStack_68 = 0xd; 0x1837c5f0f | func_0x0001859c0910(&var_138h, &var_e8h); 0x1837c5f4a | if (_var_128h < 0) { 0x1837c5f59 | func_0x0001841dcbe0(var_138h, _var_128h * 2); | } 0x1837c5f63 | puVar10 = (undefined4 *)func_0x000185f006b8(0x78); 0x1837c5f6b | *puVar10 = 1; 0x1837c5f78 | *(undefined8 *)(puVar10 + 2) = 0x1837c7aa0; 0x1837c5f83 | *(undefined8 *)(puVar10 + 4) = 0x1837c7ae0; 0x1837c5f87 | *(undefined8 *)(puVar10 + 6) = 0x1841d75d0; 0x1837c5f92 | *(undefined8 *)(puVar10 + 8) = 0x1837c61e0; 0x1837c5fa2 | if (var_b8h < 0) { 0x1837c5f96 | func_0x000184c2f840(puVar10 + 10, var_c8h, var_c0h); | } else { 0x1837c5fac | *(int64_t *)(puVar10 + 0xe) = var_b8h; 0x1837c5fb8 | *(int64_t *)(puVar10 + 10) = var_c8h; 0x1837c5fb8 | *(int64_t *)(puVar10 + 0xc) = var_c0h; | } 0x1837c5fdd | *(int64_t *)(puVar10 + 0x14) = var_d8h; 0x1837c5fe6 | *(int64_t *)(puVar10 + 0x10) = var_e8h; 0x1837c5fe6 | *(undefined8 *)(puVar10 + 0x12) = uStack_e0; 0x1837c5fee | var_e8h = 0; 0x1837c5fee | uStack_e0 = 0; 0x1837c5ff5 | var_d8h = 0; 0x1837c6005 | *(int64_t *)(puVar10 + 0x1a) = var_78h; 0x1837c6011 | puVar10[0x16] = (undefined4)var_88h; 0x1837c6011 | puVar10[0x17] = var_88h._4_4_; 0x1837c6011 | puVar10[0x18] = (undefined4)uStack_80; 0x1837c6011 | puVar10[0x19] = uStack_80._4_4_; 0x1837c6016 | var_88h = 0; 0x1837c6016 | uStack_80 = 0; 0x1837c601e | var_78h = 0; 0x1837c6026 | *(undefined *)(puVar10 + 0x1c) = uVar5; 0x1837c602a | *(undefined *)((int64_t)puVar10 + 0x71) = uVar6; 0x1837c603c | func_0x000184339cd0(&var_138h, 0x190c20a08, 0x190c209c0, 0xa4); 0x1837c6051 | puVar11 = (undefined8 *)func_0x000185f006b8(8); 0x1837c6059 | *puVar11 = 0; 0x1837c6061 | var_60h = func_0x000185f006b8(0x38); 0x1837c606b | *(undefined4 *)var_60h = 1; 0x1837c6074 | *(undefined8 *)(var_60h + 8) = 0x181346940; 0x1837c607f | *(undefined8 *)(var_60h + 0x10) = 0x1837c8380; 0x1837c6083 | *(undefined8 *)(var_60h + 0x18) = 0x1841d75d0; 0x1837c608e | *(undefined8 *)(var_60h + 0x20) = 0x1837c7f20; 0x1837c6092 | *(undefined4 **)(var_60h + 0x28) = puVar9; 0x1837c6096 | *(undefined8 **)(var_60h + 0x30) = puVar11; 0x1837c60a7 | puVar9 = (undefined4 *)func_0x000185f006b8(0x38); 0x1837c60af | *puVar9 = 1; 0x1837c60b8 | *(undefined8 *)(puVar9 + 2) = 0x1800b3540; 0x1837c60c3 | *(undefined8 *)(puVar9 + 4) = 0x18336e440; 0x1837c60c7 | *(undefined8 *)(puVar9 + 6) = 0x1841d75d0; 0x1837c60d2 | *(undefined8 *)(puVar9 + 8) = 0x1837c8130; 0x1837c60d6 | *(undefined4 **)(puVar9 + 10) = puVar10; 0x1837c60ee | if (((uint64_t)puVar11 & 0xfffffffc00000000) == *(uint64_t *)0x191cd6d08) { 0x1837c60f3 | func_0x0001841c7180(puVar11); | } 0x1837c60f8 | *(undefined8 **)(puVar9 + 0xc) = puVar11; 0x1837c611b | var_70h = (int64_t)puVar9; 0x1837c610e | func_0x000181401ac0(&var_138h, 0x190c209b7, &var_70h, &var_60h); 0x1837c6128 | if (var_d8h < 0) { 0x1837c613a | func_0x0001841dcbe0(var_e8h, var_d8h * 2); | } 0x1837c6144 | if (var_e9h < '\0') { 0x1837c6153 | func_0x0001841dcbe0(var_100h, CONCAT17(var_e9h, var_f0h) * 2); | } 0x1837c615d | if (var_101h < '\0') { 0x1837c616c | func_0x0001841dcbe0(var_118h, CONCAT17(var_101h, var_108h) * 2); | } 0x1837c6179 | if (var_78h < 0) { 0x1837c6195 | func_0x0001841dcbe0(var_88h, var_78h & 0x7fffffffffffffff); | } 0x1837c61a2 | if (var_b8h < 0) { 0x1837c61bb | func_0x0001841dcbe0(var_c8h, var_b8h * 2); | } | } | } | } | } 0x1837c5c91 | if (*(uint64_t *)0x191c71040 == (var_50h ^ (uint64_t)auStack_158)) { 0x1837c5cb1 | return; | } 0x1837c61cd | func_0x000185f05b40(var_50h ^ (uint64_t)auStack_158); |code_r0x0001837c61d5: 0x1837c61d5 | pcVar3 = (code *)swi(3); 0x1837c61d5 | (*pcVar3)(); 0x1837c61d5 | return; |} [{"offset":6500932672,"name":"fcn.1837c5c40","size":1433,"is-pure":false,"realsz":1431,"noreturn":false,"stackframe":344,"calltype":"ms","cost":399,"cc":25,"loops":5,"bits":64,"type":"fcn","nbbs":41,"edges":60,"ebbs":3,"signature":"fcn.1837c5c40(int64_t arg1);","minbound":6500932672,"maxbound":6500934105,"callrefs":[{"from":6500932824,"to":6740346544,"type":"CALL"},{"from":6500932845,"to":6500932732,"type":"CODE"},{"from":6500932865,"to":6740346544,"type":"CALL"},{"from":6500932903,"to":6524006080,"type":"CALL"},{"from":6500932914,"to":6500932952,"type":"CODE"},{"from":6500932945,"to":6524006080,"type":"CALL"},{"from":6500932962,"to":6500999104,"type":"CALL"},{"from":6500933007,"to":6462236224,"type":"CALL"},{"from":6500933055,"to":6453526016,"type":"CALL"},{"from":6500933094,"to":6453526016,"type":"CALL"},{"from":6500933125,"to":6511512544,"type":"CALL"},{"from":6500933130,"to":6500933152,"type":"CODE"},{"from":6500933172,"to":6511512544,"type":"CALL"},{"from":6500933217,"to":6542067384,"type":"CALL"},{"from":6500933295,"to":6501856672,"type":"CALL"},{"from":6500933343,"to":6740346544,"type":"CALL"},{"from":6500933360,"to":6529181584,"type":"CALL"},{"from":6500933402,"to":6536562960,"type":"CALL"},{"from":6500933441,"to":6536562960,"type":"CALL"},{"from":6500933465,"to":6511512544,"type":"CALL"},{"from":6500933475,"to":6542067384,"type":"CALL"},{"from":6500933563,"to":6500933589,"type":"CODE"},{"from":6500933584,"to":6522337344,"type":"CALL"},{"from":6500933703,"to":6512942288,"type":"CALL"},{"from":6500933713,"to":6542067384,"type":"CALL"},{"from":6500933729,"to":6542067384,"type":"CALL"},{"from":6500933799,"to":6542067384,"type":"CALL"},{"from":6500933875,"to":6511423872,"type":"CALL"},{"from":6500933915,"to":6463429312,"type":"CALL"},{"from":6500933946,"to":6511512544,"type":"CALL"},{"from":6500933971,"to":6511512544,"type":"CALL"},{"from":6500933996,"to":6511512544,"type":"CALL"},{"from":6500934037,"to":6511512544,"type":"CALL"},{"from":6500934075,"to":6511512544,"type":"CALL"},{"from":6500934080,"to":6500932732,"type":"CODE"},{"from":6500934096,"to":6542089024,"type":"CALL"}],"datarefs":[{"from":6500932698,"to":6740709440,"type":"DATA"},{"from":6500932743,"to":6740709440,"type":"DATA"},{"from":6500932797,"to":6741850168,"type":"DATA"},{"from":6500932851,"to":6741850168,"type":"DATA"},{"from":6500932874,"to":6720256448,"type":"DATA"},{"from":6500932916,"to":6723602816,"type":"DATA"},{"from":6500932952,"to":6742180304,"type":"DATA"},{"from":6500933016,"to":6723513352,"type":"DATA"},{"from":6500933060,"to":6723603112,"type":"DATA"},{"from":6500933231,"to":6500937824,"type":"DATA"},{"from":6500933242,"to":6488537312,"type":"DATA"},{"from":6500933253,"to":6511490512,"type":"DATA"},{"from":6500933365,"to":6723604960,"type":"DATA"},{"from":6500933407,"to":6723604984,"type":"DATA"},{"from":6500933489,"to":6500940448,"type":"DATA"},{"from":6500933500,"to":6500940512,"type":"DATA"},{"from":6500933515,"to":6500934112,"type":"DATA"},{"from":6500933678,"to":6723602952,"type":"DATA"},{"from":6500933685,"to":6723602880,"type":"DATA"},{"from":6500933741,"to":6462662976,"type":"DATA"},{"from":6500933752,"to":6500942720,"type":"DATA"},{"from":6500933767,"to":6500941600,"type":"DATA"},{"from":6500933809,"to":6443185472,"type":"DATA"},{"from":6500933820,"to":6496379968,"type":"DATA"},{"from":6500933835,"to":6500942128,"type":"DATA"},{"from":6500933863,"to":6741126408,"type":"DATA"},{"from":6500933895,"to":6723602871,"type":"DATA"}],"codexrefs":[{"from":6500932845,"to":6500932732,"type":"CODE"},{"from":6500932914,"to":6500932952,"type":"CODE"},{"from":6500933130,"to":6500933152,"type":"CODE"},{"from":6500933563,"to":6500933589,"type":"CODE"},{"from":6500934080,"to":6500932732,"type":"CODE"}],"dataxrefs":[],"indegree":5,"outdegree":31,"nlocals":25,"nargs":1,"stackvars":[{"name":"var_138h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-312}},{"name":"var_128h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-296}},{"name":"var_121h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-289}},{"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_100h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-256}},{"name":"var_f0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-240}},{"name":"var_e9h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-233}},{"name":"var_e8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-232}},{"name":"var_d8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-216}},{"name":"var_d1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-209}},{"name":"var_c8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-200}},{"name":"var_c0h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-192}},{"name":"var_b8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-184}},{"name":"var_b1h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-177}},{"name":"var_a8h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-168}},{"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_78h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-120}},{"name":"var_71h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-113}},{"name":"var_70h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-112}},{"name":"var_60h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-96}},{"name":"var_50h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-80}},{"name":"var_48h","arg":false,"type":"int64_t","storage":{"type":"stack","stack":-72}}],"regvars":[{"name":"arg1","arg":true,"type":"int64_t","storage":{"type":"reg","reg":"rcx"}}]}]