/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x14015abd0 FUN_14015abd0 * Pseudocode, not original source. */ void FUN_14015abd0(longlong param_1) { longlong lVar1; undefined8 *puVar2; char *local_res8; undefined **local_38; undefined8 local_30; undefined8 local_28; undefined8 local_20; undefined8 local_18; undefined8 local_10; lVar1 = *(longlong *)(param_1 + 8); if (lVar1 != 0) { if (*(longlong *)(lVar1 + 0x10) != 0) { FUN_14015a580(*(longlong *)(lVar1 + 0x10),*(undefined8 *)(lVar1 + 0x18)); operator_delete(*(void **)(lVar1 + 0x10)); } *(undefined8 *)(lVar1 + 0x10) = 0; *(undefined8 *)(lVar1 + 0x18) = 0; *(undefined8 *)(lVar1 + 0x20) = 0; *(undefined1 *)(param_1 + 0x11) = 0; return; } *(undefined2 *)(param_1 + 0x10) = 0; puVar2 = operator_new(0x30); if (puVar2 != (undefined8 *)0x0) { *(undefined8 **)(param_1 + 8) = puVar2; *puVar2 = 0; puVar2[1] = local_30; puVar2[2] = local_28; puVar2[3] = local_20; puVar2[4] = local_18; puVar2[5] = local_10; *(undefined1 *)(param_1 + 0x10) = 1; return; } local_res8 = (char *)0x0; std::exception::exception((exception *)&local_38,&local_res8); local_38 = std::bad_alloc::vftable; /* WARNING: Subroutine does not return */ _CxxThrowException(&local_38,(ThrowInfo *)&DAT_140341858); }