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

64 lines
1.8 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x140010e40 FUN_140010e40
* Pseudocode, not original source. */
void FUN_140010e40(longlong param_1)
{
longlong lVar1;
undefined8 *puVar2;
char *local_res8;
undefined **local_88 [5];
undefined8 uStack_60;
undefined8 local_58;
undefined8 uStack_50;
undefined8 local_48;
undefined8 uStack_40;
undefined8 local_38;
undefined8 uStack_30;
undefined8 local_28;
undefined8 uStack_20;
undefined8 local_18;
lVar1 = *(longlong *)(param_1 + 8);
if (lVar1 != 0) {
if (0xf < *(ulonglong *)(lVar1 + 0x48)) {
operator_delete(*(void **)(lVar1 + 0x30));
}
*(undefined8 *)(lVar1 + 0x48) = 0xf;
*(undefined8 *)(lVar1 + 0x40) = 0;
*(undefined1 *)(lVar1 + 0x30) = 0;
if (0xf < *(ulonglong *)(lVar1 + 0x20)) {
operator_delete(*(void **)(lVar1 + 8));
}
*(undefined8 *)(lVar1 + 0x20) = 0xf;
*(undefined8 *)(lVar1 + 0x18) = 0;
*(undefined1 *)(lVar1 + 8) = 0;
*(undefined1 *)(param_1 + 0x11) = 0;
return;
}
*(undefined2 *)(param_1 + 0x10) = 0;
puVar2 = operator_new(0x58);
if (puVar2 != (undefined8 *)0x0) {
*(undefined8 **)(param_1 + 8) = puVar2;
*puVar2 = 0;
puVar2[1] = uStack_60;
puVar2[2] = local_58;
puVar2[3] = uStack_50;
puVar2[4] = local_48;
puVar2[5] = uStack_40;
puVar2[6] = local_38;
puVar2[7] = uStack_30;
puVar2[8] = local_28;
puVar2[9] = uStack_20;
puVar2[10] = local_18;
*(undefined1 *)(param_1 + 0x10) = 1;
return;
}
local_res8 = (char *)0x0;
std::exception::exception((exception *)local_88,&local_res8);
local_88[0] = std::bad_alloc::vftable;
/* WARNING: Subroutine does not return */
_CxxThrowException(local_88,(ThrowInfo *)&DAT_14016c158);
}