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

41 lines
1.2 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14002dff0 FUN_14002dff0
* Pseudocode, not original source. */
void FUN_14002dff0(undefined8 *param_1)
{
undefined8 *puVar1;
undefined8 *puVar2;
ulonglong uVar3;
char *local_res8;
undefined **local_40 [3];
undefined8 *local_28;
undefined8 local_20;
undefined8 local_18;
ulonglong local_10;
local_28 = param_1 + 2;
puVar1 = (undefined8 *)0x0;
local_18 = 0;
local_20 = 0;
uVar3 = param_1[1] + 1;
if ((uVar3 != 0) &&
((local_10 = uVar3, 0x1fffffffffffffff < uVar3 ||
(puVar1 = operator_new(uVar3 * 8), puVar1 == (undefined8 *)0x0)))) {
local_res8 = (char *)0x0;
std::exception::exception((exception *)local_40,&local_res8);
local_40[0] = std::bad_alloc::vftable;
/* WARNING: Subroutine does not return */
_CxxThrowException(local_40,(ThrowInfo *)&DAT_140151ad0);
}
for (puVar2 = puVar1; puVar2 != puVar1 + uVar3; puVar2 = puVar2 + 1) {
if (puVar2 != (undefined8 *)0x0) {
*puVar2 = 0;
}
}
puVar1[param_1[1]] = puVar1 + param_1[1];
*param_1 = puVar1;
return;
}