/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140074d00 FUN_140074d00 * Pseudocode, not original source. */ void FUN_140074d00(undefined8 *param_1,longlong param_2,undefined8 param_3,undefined8 param_4) { longlong *plVar1; ulonglong uVar2; ushort uVar3; *param_1 = Proud::CLookasideAllocatorImpl::vftable; if (*(int *)((longlong)param_1 + 0x14) == 0) { plVar1 = *(longlong **)param_1[9]; if (plVar1 != (longlong *)0x0) { FUN_1400749c0(plVar1,param_2,param_3,param_4); operator_delete(plVar1); } } else { uVar3 = 0; uVar2 = (ulonglong)DAT_1401b5028; if (DAT_1401b5028 != 0) { do { plVar1 = *(longlong **)(param_1[9] + (ulonglong)uVar3 * 8); if (plVar1 != (longlong *)0x0) { FUN_1400749c0(plVar1,uVar2,param_3,param_4); operator_delete(plVar1); uVar2 = (ulonglong)DAT_1401b5028; } uVar3 = uVar3 + 1; } while ((uint)uVar3 < (uint)uVar2); } } free((void *)param_1[9]); FUN_14006fb00(param_1); return; }