/* 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; }