53 lines
1.7 KiB
C
53 lines
1.7 KiB
C
/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
|
|
* Ghidra 12.1.2 decompiler output for 0x14002e600 FUN_14002e600
|
|
* Pseudocode, not original source. */
|
|
|
|
undefined4 *
|
|
FUN_14002e600(undefined4 *param_1,ulonglong param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
DWORD DVar1;
|
|
int iVar2;
|
|
BOOL BVar3;
|
|
undefined *puVar4;
|
|
ulonglong uVar5;
|
|
ulonglong uVar6;
|
|
char cVar7;
|
|
exception local_58 [80];
|
|
|
|
cVar7 = (char)param_3;
|
|
uVar6 = param_2 & 0xffffffff;
|
|
*(undefined1 *)(param_1 + 0xc) = 0;
|
|
*param_1 = 0x3faf713;
|
|
DVar1 = FUN_14002f850();
|
|
uVar5 = 0;
|
|
if (DVar1 == 1) {
|
|
uVar6 = uVar5;
|
|
}
|
|
if ((cVar7 != '\0') &&
|
|
(puVar4 = FUN_14002f9c0(0,param_2,param_3,param_4), *(longlong *)(puVar4 + 0x50) != 0)) {
|
|
puVar4 = FUN_14002f9c0(uVar5,param_2,param_3,param_4);
|
|
iVar2 = (**(code **)(puVar4 + 0x50))(param_1 + 2,uVar6,0x1000000);
|
|
if (iVar2 != 0) {
|
|
return param_1;
|
|
}
|
|
FUN_14002f1e0(local_58,L"InitializeCriticalSectionEx Failure!",
|
|
L"Proud::CriticalSection::CriticalSection",param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88);
|
|
}
|
|
if ((DWORD)uVar6 == 0) {
|
|
InitializeCriticalSection((LPCRITICAL_SECTION)(param_1 + 2));
|
|
}
|
|
else {
|
|
BVar3 = InitializeCriticalSectionAndSpinCount((LPCRITICAL_SECTION)(param_1 + 2),(DWORD)uVar6);
|
|
if (BVar3 == 0) {
|
|
FUN_14002f1e0(local_58,L"InitializeCriticalSectionEx Failure!",
|
|
L"Proud::CriticalSection::CriticalSection",param_4);
|
|
/* WARNING: Subroutine does not return */
|
|
_CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88);
|
|
}
|
|
}
|
|
return param_1;
|
|
}
|
|
|