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

85 lines
2.4 KiB
C

/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469
* Ghidra 12.1.2 decompiler output for 0x1400034a0 FUN_1400034a0
* Pseudocode, not original source. */
void FUN_1400034a0(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
longlong lVar1;
char *pcVar2;
undefined8 *puVar3;
ulonglong uVar4;
undefined8 *puVar5;
wchar_t *pwVar6;
undefined8 uVar7;
if ((DAT_14016319c & 1) == 0) {
DAT_14016319c = DAT_14016319c | 1;
FUN_1400de360();
atexit((_func_5014 *)&LAB_1400f13a0);
if ((DAT_14016319c & 1) == 0) {
DAT_14016319c = DAT_14016319c | 1;
FUN_1400de360();
atexit((_func_5014 *)&LAB_1400f13a0);
}
}
if ((DAT_140162f60 != 200) && (DAT_140162f60 != 100)) {
if ((DAT_14016319c & 1) == 0) {
DAT_14016319c = DAT_14016319c | 1;
FUN_1400de360();
atexit((_func_5014 *)&LAB_1400f13a0);
}
if (DAT_140162f60 != 1000) goto LAB_140003556;
}
setlocale(0,"kor");
LAB_140003556:
pcVar2 = setlocale(0,(char *)0x0);
printf("Locale is: %s\n");
puVar3 = operator_new(0x60);
if (puVar3 == (undefined8 *)0x0) {
puVar3 = (undefined8 *)0x0;
}
else {
*puVar3 = MagiAgentProcess::vftable;
puVar3[1] = 0;
puVar3[2] = 0;
puVar3[3] = 0;
uVar4 = FUN_14002e790();
pcVar2 = (char *)(uVar4 & 0xffffffff);
param_3 = CONCAT71((int7)((ulonglong)param_3 >> 8),1);
FUN_14002e600((undefined4 *)(puVar3 + 5),(ulonglong)pcVar2,param_3,param_4);
}
DAT_140162d78 = puVar3;
puVar5 = operator_new(8);
puVar3 = (undefined8 *)0x0;
if (puVar5 != (undefined8 *)0x0) {
puVar3 = FUN_14002e1c0(puVar5,pcVar2,param_3,param_4);
}
lVar1 = DAT_140162d68;
DAT_140162d70 = puVar3;
*(undefined1 *)(DAT_140162d68 + 0x1e8) = 0xd;
FUN_1400227e0(lVar1,param_1,param_3,param_4);
_wmkdir(L"Log");
puVar5 = operator_new(0xe8);
puVar3 = (undefined8 *)0x0;
if (puVar5 != (undefined8 *)0x0) {
puVar3 = FUN_1400de890(puVar5);
}
DAT_1401626e8 = puVar3;
FUN_1400deb60((longlong)puVar3,param_1,param_3,param_4);
puVar3 = DAT_1401626e8;
EnterCriticalSection(DAT_140162d80);
uVar7 = 0x12;
pwVar6 = L"Log\\Protocol_Agent";
FUN_1400016e0(puVar3 + 3,L"Log\\Protocol_Agent",0x12);
LeaveCriticalSection(DAT_140162d80);
puVar3 = operator_new(0x98);
if (puVar3 == (undefined8 *)0x0) {
DAT_140162d50 = (undefined8 *)0x0;
}
else {
DAT_140162d50 = FUN_1400dc730(puVar3,pwVar6,uVar7,param_4);
}
return;
}