server-re/decomp/AgentManager_Release_x64/full/functions/0x14000db30.c
2026-10-15 09:58:24 -04:00

77 lines
2.4 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14000db30 FUN_14000db30
* Pseudocode, not original source. */
void FUN_14000db30(longlong param_1)
{
undefined8 *puVar1;
longlong lVar2;
ulonglong *puVar3;
ulonglong *puVar4;
longlong lVar5;
undefined8 *puVar6;
undefined8 *puVar7;
undefined8 *puVar8;
undefined8 *local_38;
undefined8 *puStack_30;
FUN_14003d040((int *)(param_1 + 0x78));
if (*(longlong *)(param_1 + 0x58) == 0) {
local_38 = (undefined8 *)0x0;
}
else {
local_38 = *(undefined8 **)(param_1 + 0x68);
if (local_38 != (undefined8 *)0x0) {
puStack_30 = (undefined8 *)*local_38;
goto joined_r0x00014000db89;
}
}
puStack_30 = (undefined8 *)0x0;
joined_r0x00014000db89:
do {
if (puStack_30 == (undefined8 *)0x0) {
if (*(longlong *)(param_1 + 0x58) != 0) {
puVar8 = *(undefined8 **)(param_1 + 0x38);
puVar1 = puVar8 + *(longlong *)(param_1 + 0x40);
for (; puVar8 != puVar1; puVar8 = puVar8 + 1) {
puVar6 = (undefined8 *)*puVar8;
*puVar8 = 0;
while (puVar6 != (undefined8 *)0x0) {
puVar7 = (undefined8 *)*puVar6;
operator_delete(puVar6);
puVar6 = puVar7;
}
}
*(undefined8 **)(param_1 + 0x68) = puVar1;
*(undefined8 *)(param_1 + 0x58) = 0;
}
FUN_14003d0d0(param_1 + 0x78);
return;
}
puVar3 = (ulonglong *)puStack_30[2];
if (puVar3 != (ulonglong *)0x0) {
lVar5 = *(longlong *)(param_1 + 0x18);
for (puVar4 = *(ulonglong **)(param_1 + 0x10); puVar4 != (ulonglong *)0x0;
puVar4 = *(ulonglong **)(lVar2 + (longlong)puVar4)) {
if ((puVar4 <= puVar3) && (puVar3 < (ulonglong *)(lVar5 + -0x10 + (longlong)puVar4))) {
if (puVar4 != (ulonglong *)0x0) {
FUN_14000e040((undefined8 *)(param_1 + 8),puVar3);
}
break;
}
lVar2 = lVar5 + -0x10;
lVar5 = *(longlong *)(lVar5 + -8 + (longlong)puVar4);
}
}
for (puStack_30 = (undefined8 *)*puStack_30; puStack_30 == (undefined8 *)0x0;
puStack_30 = (undefined8 *)*puStack_30) {
puStack_30 = local_38 + 1;
local_38 = local_38 + 1;
}
if (local_38 == puStack_30) {
puStack_30 = (undefined8 *)0x0;
}
} while( true );
}