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

43 lines
1.1 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x14001e1f0 FUN_14001e1f0
* Pseudocode, not original source. */
void FUN_14001e1f0(longlong *param_1,longlong param_2)
{
longlong lVar1;
void *pvVar2;
undefined8 *puVar3;
undefined1 auVar4 [16];
__uint64 _Var5;
longlong *plVar6;
longlong *local_28;
lVar1 = *(longlong *)*param_1;
if (param_2 == 0) {
plVar6 = &DAT_14017ce88;
}
else {
auVar4._8_8_ = 0;
auVar4._0_8_ = param_2 + 0x1bU >> 2;
_Var5 = SUB168(ZEXT816(4) * auVar4,0);
if (SUB168(ZEXT816(4) * auVar4,8) != 0) {
_Var5 = 0xffffffffffffffff;
}
plVar6 = operator_new(_Var5);
*plVar6 = lVar1;
*(undefined1 *)((longlong)plVar6 + lVar1 + 0x10) = 0;
plVar6[1] = param_2;
local_28 = plVar6;
}
memcpy(plVar6 + 2,(size_t *)*param_1 + 2,*(size_t *)*param_1);
pvVar2 = (void *)param_1[1];
puVar3 = (undefined8 *)*param_1;
*param_1 = (longlong)plVar6;
param_1[1] = (longlong)local_28;
if (puVar3 != &DAT_14017ce88) {
operator_delete__(pvVar2);
}
return;
}