/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x14002c400 FUN_14002c400 * Pseudocode, not original source. */ /* WARNING: Removing unreachable block (ram,0x00014002c4b6) */ void FUN_14002c400(longlong param_1) { undefined8 *puVar1; longlong lVar2; longlong lVar3; undefined8 *puVar4; undefined8 *puVar5; longlong lVar6; undefined8 *puVar7; undefined8 *local_28; undefined8 *puStack_20; if (*(longlong *)(param_1 + 0x58) == 0) { local_28 = (undefined8 *)0x0; } else { local_28 = *(undefined8 **)(param_1 + 0x68); if (local_28 != (undefined8 *)0x0) { puStack_20 = (undefined8 *)*local_28; goto joined_r0x00014002c452; } } puStack_20 = (undefined8 *)0x0; joined_r0x00014002c452: while (puStack_20 != (undefined8 *)0x0) { if (puStack_20[2] == 0) { lVar3 = *(longlong *)(param_1 + 0x18); lVar6 = *(longlong *)(param_1 + 0x10); while ((lVar6 != 0 && ((lVar6 != 0 || (lVar3 == 0x10))))) { lVar2 = lVar3 + -0x10; lVar3 = *(longlong *)(lVar3 + -8 + lVar6); lVar6 = *(longlong *)(lVar2 + lVar6); } } for (puStack_20 = (undefined8 *)*puStack_20; puStack_20 == (undefined8 *)0x0; puStack_20 = (undefined8 *)*puStack_20) { puStack_20 = local_28 + 1; local_28 = local_28 + 1; } if (local_28 == puStack_20) { puStack_20 = (undefined8 *)0x0; } } if (*(longlong *)(param_1 + 0x58) != 0) { puVar7 = *(undefined8 **)(param_1 + 0x38); puVar1 = puVar7 + *(longlong *)(param_1 + 0x40); for (; puVar7 != puVar1; puVar7 = puVar7 + 1) { puVar4 = (undefined8 *)*puVar7; *puVar7 = 0; while (puVar4 != (undefined8 *)0x0) { puVar5 = (undefined8 *)*puVar4; operator_delete(puVar4); puVar4 = puVar5; } } *(undefined8 **)(param_1 + 0x68) = puVar1; *(undefined8 *)(param_1 + 0x58) = 0; } return; }