44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c
|
|
* Ghidra 12.1.2 decompiler output for 0x14016da70 FUN_14016da70
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined4 * FUN_14016da70(undefined4 *param_1,DWORD param_2,char param_3)
|
|
|
|
{
|
|
int iVar1;
|
|
BOOL BVar2;
|
|
longlong lVar3;
|
|
undefined1 local_58 [80];
|
|
|
|
*(undefined1 *)(param_1 + 0xc) = 0;
|
|
*param_1 = 0x3faf713;
|
|
iVar1 = FUN_14016eed0();
|
|
if (iVar1 == 1) {
|
|
param_2 = 0;
|
|
}
|
|
if ((param_3 != '\0') && (lVar3 = FUN_14016f040(), *(longlong *)(lVar3 + 0x50) != 0)) {
|
|
lVar3 = FUN_14016f040();
|
|
iVar1 = (**(code **)(lVar3 + 0x50))(param_1 + 2,param_2,0x1000000);
|
|
if (iVar1 != 0) {
|
|
return param_1;
|
|
}
|
|
FUN_14016d300(local_58,L"InitializeCriticalSectionEx Failure!",
|
|
L"Proud::CriticalSection::CriticalSection");
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_58,(ThrowInfo *)&DAT_1403417f8);
|
|
}
|
|
if (param_2 == 0) {
|
|
InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 2));
|
|
}
|
|
else {
|
|
BVar2 = InitializeCriticalSectionAndSpinCount((LPCRITICAL_SECTION)(param_1 + 2),param_2);
|
|
if (BVar2 == 0) {
|
|
FUN_14016d300(local_58,L"InitializeCriticalSectionEx Failure!",
|
|
L"Proud::CriticalSection::CriticalSection");
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_58,(ThrowInfo *)&DAT_1403417f8);
|
|
}
|
|
}
|
|
return param_1;
|
|
}
|
|
|