/* Agent_Release_x64.exe sha256 6f2be7b8eb799ba51b359d1958720aac5baee5b7ee0d1d36684d3cbd72d45469 * Ghidra 12.1.2 decompiler output for 0x1400dca90 FUN_1400dca90 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ ulonglong * FUN_1400dca90(ulonglong *param_1,LPCWSTR param_2) { char cVar1; WCHAR WVar2; longlong lVar3; ulonglong uVar4; LPCWSTR pWVar5; char *pcVar6; undefined1 auStackY_478 [32]; CHAR local_428 [1024]; ulonglong local_28; local_28 = DAT_1401555a0 ^ (ulonglong)auStackY_478; local_428[0] = '\0'; memset(local_428 + 1,0,0x3ff); if (7 < *(ulonglong *)(param_2 + 0xc)) { param_2 = *(LPCWSTR *)param_2; } lVar3 = -1; pWVar5 = param_2; do { if (lVar3 == 0) break; lVar3 = lVar3 + -1; WVar2 = *pWVar5; pWVar5 = pWVar5 + 1; } while (WVar2 != L'\0'); WideCharToMultiByte(0,0,param_2,~(uint)lVar3,local_428,0x400,(LPCSTR)0x0,(LPBOOL)0x0); uVar4 = 0xffffffffffffffff; param_1[3] = 0xf; param_1[2] = 0; *(undefined1 *)param_1 = 0; pcVar6 = local_428; do { if (uVar4 == 0) break; uVar4 = uVar4 - 1; cVar1 = *pcVar6; pcVar6 = pcVar6 + 1; } while (cVar1 != '\0'); FUN_14000b810(param_1,local_428,~uVar4 - 1); return param_1; }