/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1400a59f0 FUN_1400a59f0 * Pseudocode, not original source. */ void FUN_1400a59f0(undefined8 *param_1) { undefined8 *puVar1; undefined8 *puVar2; ulonglong uVar3; char *local_res8; undefined **local_40 [3]; undefined8 *local_28; undefined8 local_20; undefined8 local_18; ulonglong local_10; local_28 = param_1 + 2; puVar1 = (undefined8 *)0x0; local_18 = 0; local_20 = 0; uVar3 = param_1[1] + 1; if ((uVar3 != 0) && ((local_10 = uVar3, 0x1fffffffffffffff < uVar3 || (puVar1 = operator_new(uVar3 * 8), puVar1 == (undefined8 *)0x0)))) { local_res8 = (char *)0x0; std::exception::exception((exception *)local_40,&local_res8); local_40[0] = std::bad_alloc::vftable; /* WARNING: Subroutine does not return */ _CxxThrowException(local_40,(ThrowInfo *)&DAT_140341858); } for (puVar2 = puVar1; puVar2 != puVar1 + uVar3; puVar2 = puVar2 + 1) { if (puVar2 != (undefined8 *)0x0) { *puVar2 = 0; } } puVar1[param_1[1]] = puVar1 + param_1[1]; *param_1 = puVar1; return; }