server-re/decomp/Agent_Release_x64/full/functions/0x14002c400.c
2026-10-14 16:45:19 -04:00

68 lines
2 KiB
C

/* 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;
}