/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1401aeff0 FUN_1401aeff0 * Pseudocode, not original source. */ void FUN_1401aeff0(undefined1 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4) { undefined1 *puVar1; ulonglong uVar2; int iVar3; ulonglong uVar4; undefined8 uVar5; undefined1 *puVar6; undefined1 uVar7; uVar5 = 0xfffffffffffffffe; *param_1 = 1; FUN_140199740(param_1 + 8); puVar1 = param_1 + 0x30; puVar6 = puVar1; FUN_14016db50(puVar1); uVar7 = 1; uVar2 = 0; uVar4 = uVar2; if (0 < *(int *)(param_1 + 0x80)) { do { if (((longlong)uVar2 < 0) || (iVar3 = (int)uVar4, *(int *)(param_1 + 0x80) <= iVar3)) { /* WARNING: Subroutine does not return */ FUN_14016d6e0(); } FUN_14019e9d0(*(undefined8 *)(*(longlong *)(param_1 + 0x78) + uVar2 * 8)); if (*(int *)(param_1 + 0x80) <= iVar3) { /* WARNING: Subroutine does not return */ FUN_14016d6e0(); } Ordinal_3(*(undefined8 *)(*(longlong *)(param_1 + 0x78) + uVar2 * 8)); uVar4 = (ulonglong)(iVar3 + 1U); uVar2 = uVar2 + 1; } while ((int)(iVar3 + 1U) < *(int *)(param_1 + 0x80)); } FUN_14016add0(param_1 + 0x68,0,param_3,param_4,uVar5,puVar6,uVar7); FUN_14016dbe0(puVar1); *(undefined ***)(param_1 + 0x68) = Proud::CFastArray::vftable; if (*(longlong *)(param_1 + 0x78) != 0) { if (*(longlong **)(param_1 + 0x70) == (longlong *)0x0) { FUN_14016d970(*(longlong *)(param_1 + 0x78)); } else { (**(code **)(**(longlong **)(param_1 + 0x70) + 0x18))(); } } FUN_14016dc00(puVar1); FUN_1401997c0(param_1 + 8); return; }