74 lines
1.5 KiB
C
74 lines
1.5 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x1401d1ec0 FUN_1401d1ec0
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined8 * FUN_1401d1ec0(undefined8 *param_1)
|
|
|
|
{
|
|
undefined4 uVar1;
|
|
int iVar2;
|
|
longlong lVar3;
|
|
longlong lVar4;
|
|
bool bVar5;
|
|
longlong local_res10;
|
|
|
|
LOCK();
|
|
bVar5 = DAT_14034f200 == 0;
|
|
if (bVar5) {
|
|
DAT_14034f200 = 1;
|
|
}
|
|
UNLOCK();
|
|
if (bVar5) {
|
|
lVar3 = FUN_14016d940(0x2c0);
|
|
if (lVar3 == 0) {
|
|
lVar3 = 0;
|
|
}
|
|
else {
|
|
lVar3 = FUN_1401f3460(lVar3);
|
|
}
|
|
if (lVar3 == 0) {
|
|
local_res10 = 0;
|
|
}
|
|
else {
|
|
lVar4 = FUN_14016d940(0x48);
|
|
if (lVar4 != 0) {
|
|
local_res10 = lVar4;
|
|
uVar1 = FUN_140171510();
|
|
FUN_14016da70(lVar4,uVar1,1);
|
|
}
|
|
local_res10 = lVar4;
|
|
FUN_14016db50(lVar4);
|
|
*(undefined8 *)(lVar4 + 0x40) = 1;
|
|
*(longlong *)(lVar4 + 0x38) = lVar3;
|
|
FUN_14016dbe0(lVar4);
|
|
}
|
|
FUN_1401c84c0(&DAT_14034f208,&local_res10);
|
|
FUN_1401c8200(&local_res10);
|
|
LOCK();
|
|
UNLOCK();
|
|
DAT_14034f200 = 2;
|
|
}
|
|
else {
|
|
LOCK();
|
|
iVar2 = DAT_14034f200;
|
|
if (DAT_14034f200 == 9999) {
|
|
DAT_14034f200 = 999;
|
|
iVar2 = 9999;
|
|
}
|
|
UNLOCK();
|
|
while (iVar2 != 2) {
|
|
Sleep(5);
|
|
LOCK();
|
|
iVar2 = DAT_14034f200;
|
|
if (DAT_14034f200 == 9999) {
|
|
DAT_14034f200 = 999;
|
|
iVar2 = 9999;
|
|
}
|
|
UNLOCK();
|
|
}
|
|
}
|
|
*param_1 = 0;
|
|
FUN_1401c84c0(param_1,&DAT_14034f208);
|
|
return param_1;
|
|
}
|
|
|