97 lines
2.9 KiB
C
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;
|
|
}
|
|
|