49 lines
1.4 KiB
C
49 lines
1.4 KiB
C
/* 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);
|
|
}
|
|
|