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

50 lines
1.6 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400de9f0 FUN_1400de9f0
* Pseudocode, not original source. */
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
void FUN_1400de9f0(longlong param_1,wchar_t *param_2,undefined8 param_3,undefined8 param_4)
{
int iVar1;
undefined8 local_res18;
undefined8 local_res20;
undefined1 auStack_458 [32];
undefined8 local_438;
wchar_t local_428 [516];
ulonglong local_20;
local_438 = 0xfffffffffffffffe;
local_20 = DAT_1401555a0 ^ (ulonglong)auStack_458;
local_res18 = param_3;
local_res20 = param_4;
EnterCriticalSection(DAT_140162d80);
if ((DAT_140163198 & 1) == 0) {
DAT_140163198 = DAT_140163198 | 1;
FUN_1400dd560();
atexit((_func_5014 *)&LAB_1400f13b0);
}
if ((DAT_140163190 == 200) && ((DAT_140163198 & 1) == 0)) {
DAT_140163198 = DAT_140163198 | 1;
FUN_1400dd560();
atexit((_func_5014 *)&LAB_1400f13b0);
if (DAT_140163190 == 1000) goto LAB_1400deb2d;
}
iVar1 = _vscwprintf(param_2,(va_list)&local_res18);
vswprintf_s(local_428,(longlong)(iVar1 + 1),param_2,(va_list)&local_res18);
wcscat_s(local_428,0x200,L"\n");
if ((*(byte *)(param_1 + 0x10) & 4) != 0) {
OutputDebugStringW(local_428);
}
if ((*(byte *)(param_1 + 0x10) & 2) != 0) {
wprintf(local_428);
}
if ((*(FILE **)(param_1 + 0xb8) != (FILE *)0x0) && ((*(byte *)(param_1 + 0x10) & 8) != 0)) {
fwprintf(*(FILE **)(param_1 + 0xb8),L"%s");
}
LAB_1400deb2d:
LeaveCriticalSection(DAT_140162d80);
return;
}