136 lines
3.9 KiB
C
136 lines
3.9 KiB
C
/* AgentManager_Release_x64.exe sha256 8fd8ca91725858651a7839d34257b10c2970ac16c97e60c523b8b0c983fcb186
|
|
* Ghidra 12.1.2 decompiler output for 0x14002fc00 FUN_14002fc00
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
ulonglong FUN_14002fc00(longlong param_1,LPCWSTR param_2,undefined8 param_3,undefined8 param_4)
|
|
|
|
{
|
|
WCHAR WVar1;
|
|
ulonglong uVar2;
|
|
DWORD DVar3;
|
|
errno_t eVar4;
|
|
int iVar5;
|
|
ulonglong *puVar6;
|
|
ulonglong uVar7;
|
|
char *_Str;
|
|
LPCWSTR pWVar8;
|
|
ulonglong *puVar9;
|
|
undefined1 auStack_f8 [32];
|
|
undefined8 local_d8;
|
|
undefined4 local_d0;
|
|
__time64_t local_c8 [2];
|
|
short local_b8;
|
|
short local_b6;
|
|
undefined2 local_b4;
|
|
undefined2 local_b2;
|
|
undefined2 local_b0;
|
|
undefined2 local_ae;
|
|
undefined2 local_ac;
|
|
undefined2 local_aa;
|
|
tm local_a8;
|
|
undefined1 local_80;
|
|
undefined7 uStack_7f;
|
|
undefined8 local_70;
|
|
ulonglong local_68;
|
|
undefined8 local_58;
|
|
undefined8 local_50;
|
|
undefined1 local_48;
|
|
undefined7 uStack_47;
|
|
undefined8 local_38;
|
|
ulonglong local_30;
|
|
ulonglong local_20;
|
|
|
|
local_c8[1] = 0xfffffffffffffffe;
|
|
local_20 = DAT_14016f5a0 ^ (ulonglong)auStack_f8;
|
|
DVar3 = GetCurrentProcessId();
|
|
*(DWORD *)(param_1 + 0x1ec) = DVar3;
|
|
local_c8[0] = _time64((__time64_t *)0x0);
|
|
local_d8 = 0;
|
|
local_d0 = 0;
|
|
eVar4 = _localtime64_s(&local_a8,local_c8);
|
|
if (eVar4 == 0) {
|
|
local_b8 = (short)local_a8.tm_year + 0x76c;
|
|
local_b6 = (short)local_a8.tm_mon + 1;
|
|
local_b4 = (undefined2)local_a8.tm_wday;
|
|
local_b2 = (undefined2)local_a8.tm_mday;
|
|
local_b0 = (undefined2)local_a8.tm_hour;
|
|
local_ae = (undefined2)local_a8.tm_min;
|
|
local_ac = (undefined2)local_a8.tm_sec;
|
|
local_aa = 0;
|
|
iVar5 = Ordinal_184(&local_b8,&local_d8);
|
|
local_58 = 0;
|
|
local_50 = 0;
|
|
if (iVar5 != 0) {
|
|
Ordinal_185(local_d8,&local_58);
|
|
}
|
|
}
|
|
*(undefined8 *)(param_1 + 0x1f0) = local_d8;
|
|
if (((ushort)*param_2 < 0x30) || (0x39 < (ushort)*param_2)) {
|
|
uVar7 = FUN_140031000(param_1,param_2);
|
|
}
|
|
else {
|
|
wprintf(L"\t-AGNET MODE-\t \n");
|
|
local_a8.tm_wday = 7;
|
|
local_a8.tm_yday = 0;
|
|
local_a8.tm_mon = 0;
|
|
local_a8.tm_year = 0;
|
|
local_a8.tm_sec._0_2_ = 0;
|
|
uVar7 = 0xffffffffffffffff;
|
|
pWVar8 = param_2;
|
|
do {
|
|
if (uVar7 == 0) break;
|
|
uVar7 = uVar7 - 1;
|
|
WVar1 = *pWVar8;
|
|
pWVar8 = pWVar8 + 1;
|
|
} while (WVar1 != L'\0');
|
|
FUN_140001710((ulonglong *)&local_a8,param_2,~uVar7 - 1);
|
|
puVar6 = FUN_1400ed7b0((ulonglong *)&local_48,(LPCWSTR)&local_a8);
|
|
if (0xf < puVar6[3]) {
|
|
puVar6 = (ulonglong *)*puVar6;
|
|
}
|
|
local_68 = 0xf;
|
|
local_70 = 0;
|
|
local_80 = '\0';
|
|
uVar7 = 0xffffffffffffffff;
|
|
puVar9 = puVar6;
|
|
do {
|
|
if (uVar7 == 0) break;
|
|
uVar7 = uVar7 - 1;
|
|
uVar2 = *puVar9;
|
|
puVar9 = (ulonglong *)((longlong)puVar9 + 1);
|
|
} while ((char)uVar2 != '\0');
|
|
uVar7 = ~uVar7 - 1;
|
|
FUN_14000c9e0((ulonglong *)&local_80,puVar6,uVar7);
|
|
if (0xf < local_30) {
|
|
operator_delete((void *)CONCAT71(uStack_47,local_48));
|
|
}
|
|
local_30 = 0xf;
|
|
local_38 = 0;
|
|
local_48 = 0;
|
|
if (7 < (ulonglong)local_a8._24_8_) {
|
|
operator_delete((void *)CONCAT26(local_a8.tm_min._2_2_,
|
|
CONCAT24((undefined2)local_a8.tm_min,
|
|
CONCAT22(local_a8.tm_sec._2_2_,
|
|
(undefined2)local_a8.tm_sec))));
|
|
}
|
|
local_a8.tm_wday = 7;
|
|
local_a8.tm_yday = 0;
|
|
local_a8.tm_mon = 0;
|
|
local_a8.tm_year = 0;
|
|
local_a8.tm_sec._0_2_ = 0;
|
|
_Str = &local_80;
|
|
if (0xf < local_68) {
|
|
_Str = (char *)CONCAT71(uStack_7f,local_80);
|
|
}
|
|
iVar5 = atoi(_Str);
|
|
uVar7 = FUN_140030300(param_1,iVar5,uVar7,param_4);
|
|
if (0xf < local_68) {
|
|
operator_delete((void *)CONCAT71(uStack_7f,local_80));
|
|
}
|
|
uVar7 = uVar7 & 0xff;
|
|
}
|
|
return uVar7;
|
|
}
|
|
|