/* 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; }