50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14003f1c0 FUN_14003f1c0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 *
|
|
FUN_14003f1c0(undefined8 *param_1,ulonglong param_2,longlong *param_3,undefined8 param_4)
|
|
|
|
{
|
|
undefined8 *puVar1;
|
|
void *pvVar2;
|
|
ulonglong uVar3;
|
|
longlong lVar4;
|
|
longlong *plVar5;
|
|
exception local_a0 [72];
|
|
exception local_58 [80];
|
|
|
|
uVar3 = param_2;
|
|
plVar5 = param_3;
|
|
FUN_14003e820(param_1);
|
|
*param_1 = Proud::CFastHeapImpl::vftable;
|
|
puVar1 = param_1 + 9;
|
|
FUN_1400417c0(puVar1);
|
|
FUN_14003f0f0(puVar1,uVar3,plVar5,param_4);
|
|
if (param_2 < 0x80) {
|
|
FUN_14003db10(local_a0,L"bad AccelBlockSizeLimit value",plVar5,param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_a0,(ThrowInfo *)&DAT_14016c210);
|
|
}
|
|
if (param_1[9] == 0) {
|
|
puVar1 = FUN_14003f0f0(puVar1,uVar3,plVar5,param_4);
|
|
param_1[9] = *puVar1;
|
|
}
|
|
param_1[0xc] = param_2;
|
|
pvVar2 = malloc(0x400);
|
|
param_1[0xd] = pvVar2;
|
|
if (pvVar2 == (void *)0x0) {
|
|
FUN_14003db10(local_58,L"Cannot allocate FastHeap buckets! FATAL!",plVar5,param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_58,(ThrowInfo *)&DAT_14016c210);
|
|
}
|
|
lVar4 = 0;
|
|
do {
|
|
puVar1 = FUN_140041730(param_3,uVar3,plVar5,param_4);
|
|
*(undefined8 **)(lVar4 + param_1[0xd]) = puVar1;
|
|
lVar4 = lVar4 + 8;
|
|
} while (lVar4 < 0x400);
|
|
*(undefined4 *)(param_1 + 8) = 2;
|
|
return param_1;
|
|
}
|
|
|