server-re/decomp/AgentManager_Release_x64/full/functions/0x140002400.c
2026-10-15 09:58:24 -04:00

97 lines
2.9 KiB
C

/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
* Ghidra 12.1.2 decompiler output for 0x140002400 FUN_140002400
* Pseudocode, not original source. */
void FUN_140002400(LPCWSTR param_1,undefined8 param_2,undefined8 param_3,undefined8 param_4)
{
longlong lVar1;
char *pcVar2;
undefined8 *puVar3;
undefined8 *puVar4;
undefined8 uVar5;
ulonglong uVar6;
wchar_t *pwVar7;
if ((DAT_14017d37c & 1) == 0) {
DAT_14017d37c = DAT_14017d37c | 1;
FUN_1400ef080();
atexit((_func_5014 *)&LAB_140104340);
if ((DAT_14017d37c & 1) == 0) {
DAT_14017d37c = DAT_14017d37c | 1;
FUN_1400ef080();
atexit((_func_5014 *)&LAB_140104340);
}
}
if ((DAT_14017d140 != 200) && (DAT_14017d140 != 100)) {
if ((DAT_14017d37c & 1) == 0) {
DAT_14017d37c = DAT_14017d37c | 1;
FUN_1400ef080();
atexit((_func_5014 *)&LAB_140104340);
}
if (DAT_14017d140 != 1000) goto LAB_1400024b1;
}
setlocale(0,"kor");
LAB_1400024b1:
pcVar2 = setlocale(0,(char *)0x0);
printf("Locale is: %s\n");
puVar3 = operator_new(8);
puVar4 = (undefined8 *)0x0;
if (puVar3 != (undefined8 *)0x0) {
puVar4 = FUN_14003acf0(puVar3,pcVar2,param_3,param_4);
}
lVar1 = DAT_14017cf28;
DAT_14017cf30 = puVar4;
*(undefined1 *)(DAT_14017cf28 + 0x1e8) = 0x15;
FUN_14002fc00(lVar1,param_1,param_3,param_4);
uVar5 = FUN_140032f70(DAT_14017cf28,param_1,param_3,param_4);
if ((char)uVar5 == '\0') {
printf("DB PASE ERROR !!! \n");
}
_wmkdir(L"Log");
puVar3 = operator_new(0xe8);
puVar4 = (undefined8 *)0x0;
if (puVar3 != (undefined8 *)0x0) {
puVar4 = FUN_1400ef640(puVar3);
}
DAT_14017c8a8 = puVar4;
FUN_1400ef910((longlong)puVar4,param_1,param_3,param_4);
puVar4 = DAT_14017c8a8;
EnterCriticalSection(DAT_14017cf60);
uVar5 = 0x19;
pwVar7 = L"Log\\Protocol_AgentManager";
FUN_140001710(puVar4 + 3,L"Log\\Protocol_AgentManager",0x19);
LeaveCriticalSection(DAT_14017cf60);
FUN_1400efa40((longlong)DAT_14017c8a8);
puVar3 = operator_new(0x98);
puVar4 = (undefined8 *)0x0;
if (puVar3 != (undefined8 *)0x0) {
puVar4 = FUN_1400ed450(puVar3,pwVar7,uVar5,param_4);
}
DAT_14017cf18 = puVar4;
DAT_14017cf40 = operator_new(8);
if (DAT_14017cf40 != (undefined8 *)0x0) {
*DAT_14017cf40 = MagiXmlFormat::vftable;
}
puVar3 = operator_new(0xb0);
puVar4 = (undefined8 *)0x0;
if (puVar3 != (undefined8 *)0x0) {
puVar4 = FUN_14000da20(puVar3,pwVar7,uVar5,param_4);
}
DAT_14017cf38 = puVar4;
puVar4 = operator_new(0x80);
if (puVar4 == (undefined8 *)0x0) {
puVar4 = (undefined8 *)0x0;
}
else {
*puVar4 = MagiStatistics::vftable;
FUN_14000c1f0(puVar4 + 1);
uVar6 = FUN_140094860();
uVar5 = CONCAT71((int7)((ulonglong)uVar5 >> 8),1);
FUN_14003cf60((undefined4 *)(puVar4 + 9),uVar6 & 0xffffffff,uVar5,param_4);
}
DAT_14017cf48 = puVar4;
FUN_1400ef250((longlong)DAT_14017c8a8,L"\t # INIT # \n",uVar5,param_4);
return;
}