server-re/decomp/DBCServer_Release_x64/full/functions/0x1401e23d0.c

39 lines
978 B
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x1401e23d0 FUN_1401e23d0
* Pseudocode, not original source. */
void FUN_1401e23d0(undefined8 *param_1)
{
void *pvVar1;
uint uVar2;
ushort uVar3;
*param_1 = Proud::CLookasideAllocatorImpl::vftable;
if (*(int *)((longlong)param_1 + 0x14) == 0) {
pvVar1 = *(void **)param_1[9];
if (pvVar1 != (void *)0x0) {
FUN_1401e2090(pvVar1);
operator_delete(pvVar1);
}
}
else {
uVar3 = 0;
uVar2 = DAT_14034f230;
if (DAT_14034f230 != 0) {
do {
pvVar1 = *(void **)(param_1[9] + (ulonglong)uVar3 * 8);
if (pvVar1 != (void *)0x0) {
FUN_1401e2090(pvVar1);
operator_delete(pvVar1);
uVar2 = DAT_14034f230;
}
uVar3 = uVar3 + 1;
} while (uVar3 < uVar2);
}
}
free((void *)param_1[9]);
FUN_1401b3a50(param_1);
return;
}