85 lines
2.4 KiB
C
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;
|
|
}
|
|
|