server-re/decomp/DBCServer_Release_x64/full/functions/0x14014d8b0.c

70 lines
2.1 KiB
C

/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
* Ghidra 12.1.2 decompiler output for 0x14014d8b0 FUN_14014d8b0
* Pseudocode, not original source. */
void FUN_14014d8b0(undefined8 param_1,longlong param_2)
{
int *piVar1;
longlong *plVar2;
longlong *plVar3;
undefined *puVar4;
undefined *puVar5;
undefined *local_res10;
undefined *local_res18;
undefined *local_res20;
undefined8 uVar6;
uVar6 = 0xfffffffffffffffe;
FUN_14016d8c0();
local_res10 = PTR_DAT_1403440a0;
plVar2 = (longlong *)FUN_14014a400(&local_res20,param_2 + 0x78);
plVar3 = (longlong *)FUN_14014a400(&local_res18,param_2 + 0xb4);
puVar5 = (undefined *)*plVar2;
if ((undefined *)*plVar2 == (undefined *)0x0) {
puVar5 = PTR_DAT_1403440a0;
}
puVar4 = (undefined *)*plVar3;
if ((undefined *)*plVar3 == (undefined *)0x0) {
puVar4 = PTR_DAT_1403440a0;
}
FUN_14004c020(&local_res10,L"{ %s %s }",puVar4,puVar5,uVar6);
if (((local_res18 != (undefined *)0x0) && (local_res18 != PTR_DAT_1403440a0)) &&
(local_res18 + -8 != (undefined *)0x0)) {
uVar6 = FUN_14016d8c0();
FUN_14016db50(uVar6);
piVar1 = (int *)(local_res18 + -4);
*piVar1 = *piVar1 + -1;
if (*piVar1 == 0) {
FUN_14016d970(local_res18 + -8);
}
FUN_14016dbe0(uVar6);
}
local_res18 = PTR_DAT_1403440a0;
if (((local_res20 != (undefined *)0x0) && (local_res20 != PTR_DAT_1403440a0)) &&
(local_res20 + -8 != (undefined *)0x0)) {
uVar6 = FUN_14016d8c0();
FUN_14016db50(uVar6);
piVar1 = (int *)(local_res20 + -4);
*piVar1 = *piVar1 + -1;
if (*piVar1 == 0) {
FUN_14016d970(local_res20 + -8);
}
FUN_14016dbe0(uVar6);
}
FUN_14004be20(param_1,&local_res10);
puVar5 = local_res10;
if (((local_res10 != (undefined *)0x0) && (local_res10 != PTR_DAT_1403440a0)) &&
(puVar4 = local_res10 + -8, puVar4 != (undefined *)0x0)) {
uVar6 = FUN_14016d8c0();
FUN_14016db50(uVar6);
piVar1 = (int *)(puVar5 + -4);
*piVar1 = *piVar1 + -1;
if (*piVar1 == 0) {
FUN_14016d970(puVar4);
}
FUN_14016dbe0(uVar6);
}
return;
}