server-re/decomp/Agent_Release_x64/full/functions/0x14002f870.c
2026-10-14 16:45:19 -04:00

46 lines
1.8 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x14002f870 FUN_14002f870
* Pseudocode, not original source. */
undefined8 *
FUN_14002f870(undefined8 *param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
HMODULE hModule;
FARPROC pFVar1;
exception local_58 [80];
hModule = LoadLibraryA("kernel32.dll");
param_1[0xc] = hModule;
if (hModule == (HMODULE)0x0) {
FUN_14002f1e0(local_58,L"Cannot find kernel32.dll handle!",param_3,param_4);
/* WARNING: Subroutine does not return */
_CxxThrowException(local_58,(ThrowInfo *)&DAT_140151b88);
}
pFVar1 = GetProcAddress(hModule,"CreateIoCompletionPort");
*param_1 = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"HeapSetInformation");
param_1[1] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"QueueUserWorkItem");
param_1[2] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"GetQueuedCompletionStatus");
param_1[3] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"GetQueuedCompletionStatusEx");
param_1[4] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"AddVectoredExceptionHandler");
param_1[5] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"CreateTimerQueue");
param_1[6] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"CreateTimerQueueTimer");
param_1[7] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"DeleteTimerQueueTimer");
param_1[8] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"DeleteTimerQueueEx");
param_1[9] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"InitializeCriticalSectionEx");
param_1[10] = pFVar1;
pFVar1 = GetProcAddress((HMODULE)param_1[0xc],"GetLogicalProcessorInformation");
param_1[0xb] = pFVar1;
return param_1;
}