/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x140001390 FUN_140001390 * Pseudocode, not original source. */ /* WARNING: Function: __chkstk replaced with injection: alloca_probe */ undefined8 FUN_140001390(int param_1,longlong param_2,undefined8 param_3,uint *param_4) { short sVar1; undefined4 uVar2; DWORD DVar3; _invalid_parameter_handler _Handler; undefined8 *puVar4; ulonglong uVar5; undefined8 **ProcessHeaps; LPCWSTR pWVar6; short *psVar7; undefined8 **ppuVar8; undefined8 **HeapInformation; undefined8 *local_res18; undefined8 local_res20; undefined8 *local_2028; undefined1 local_2020 [8192]; undefined8 uStack_20; uStack_20 = 0x14000139e; DAT_140162cc0 = timeGetTime(); FUN_140010070(&local_res20); uVar2 = FUN_1400100b0(&local_res20); if ((char)uVar2 != '\0') { FUN_140010120(); FUN_140001550(); FUN_140001060((longlong)DAT_1401626f0); if (1 < param_1) { uVar5 = 0xffffffffffffffff; psVar7 = *(short **)(param_2 + 8); do { if (uVar5 == 0) break; uVar5 = uVar5 - 1; sVar1 = *psVar7; psVar7 = psVar7 + 1; } while (sVar1 != 0); FUN_1400016e0((ulonglong *)&DAT_14015b048,*(short **)(param_2 + 8),~uVar5 - 1); } puVar4 = (undefined8 *)0x0; local_2028 = (undefined8 *)0x0; HeapInformation = (undefined8 **)0x2000; memset(local_2020,0,0x2000); ProcessHeaps = &local_2028; DVar3 = GetProcessHeaps(0x400,ProcessHeaps); if (DVar3 != 0) { ppuVar8 = &local_2028; uVar5 = (ulonglong)DVar3; do { local_res18 = (undefined8 *)CONCAT44(local_res18._4_4_,2); param_4 = (uint *)0x4; HeapInformation = &local_res18; ProcessHeaps = (undefined8 **)0x0; HeapSetInformation(*ppuVar8,HeapCompatibilityInformation,HeapInformation,4); ppuVar8 = ppuVar8 + 1; uVar5 = uVar5 - 1; } while (uVar5 != 0); } _Handler = _set_invalid_parameter_handler(FUN_140001340); local_res18 = operator_new(0xb0); if (local_res18 != (undefined8 *)0x0) { puVar4 = FUN_140003360(local_res18,ProcessHeaps,HeapInformation,param_4); } pWVar6 = (LPCWSTR)&DAT_14015b048; if (7 < DAT_14015b060) { pWVar6 = DAT_14015b048; } DAT_1401626f8 = puVar4; FUN_1400034a0(pWVar6,ProcessHeaps,HeapInformation,param_4); FUN_1400037a0((longlong)DAT_1401626f8,ProcessHeaps,HeapInformation,param_4); FUN_1400036c0((longlong)DAT_1401626f8); if (DAT_1401626f8 != (undefined8 *)0x0) { (**(code **)*DAT_1401626f8)(DAT_1401626f8,1); } if (DAT_1401626f0 != (undefined8 *)0x0) { (**(code **)*DAT_1401626f0)(DAT_1401626f0,1); } _set_invalid_parameter_handler(_Handler); } FUN_140010080(&local_res20); return 0; }