38 lines
991 B
C
38 lines
991 B
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14016f100 FUN_14016f100
|
|
* Pseudocode, not original source. */
|
|
|
|
void FUN_14016f100(longlong *param_1)
|
|
|
|
{
|
|
int *piVar1;
|
|
int iVar2;
|
|
longlong *plVar3;
|
|
longlong lVar4;
|
|
|
|
lVar4 = *param_1;
|
|
plVar3 = *(longlong **)(lVar4 + -0x18);
|
|
if (*(int *)(lVar4 + -0x10) != 0) {
|
|
if (*(int *)(lVar4 + -8) < 0) {
|
|
if (*(int *)(lVar4 + -0xc) < 0) {
|
|
/* WARNING: Subroutine does not return */
|
|
FUN_14004dc60(0x80070057);
|
|
}
|
|
*(undefined4 *)(lVar4 + -0x10) = 0;
|
|
*(undefined2 *)*param_1 = 0;
|
|
return;
|
|
}
|
|
LOCK();
|
|
piVar1 = (int *)(lVar4 + -8);
|
|
iVar2 = *piVar1;
|
|
*piVar1 = *piVar1 + -1;
|
|
UNLOCK();
|
|
if (iVar2 + -1 < 1) {
|
|
(**(code **)(**(longlong **)(lVar4 + -0x18) + 8))();
|
|
}
|
|
lVar4 = (**(code **)(*plVar3 + 0x18))(plVar3);
|
|
*param_1 = lVar4 + 0x18;
|
|
}
|
|
return;
|
|
}
|
|
|