/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1 * Ghidra 12.1.2 decompiler output for 0x140118b90 FUN_140118b90 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ ulonglong * FUN_140118b90(ulonglong *param_1,LPCSTR param_2) { char cVar1; WCHAR WVar2; longlong lVar3; ulonglong uVar4; LPCSTR pCVar5; WCHAR *pWVar6; undefined1 auStackY_868 [32]; WCHAR local_828; undefined1 local_826 [2046]; ulonglong local_28; local_28 = DAT_1401ac5a0 ^ (ulonglong)auStackY_868; local_828 = L'\0'; memset(local_826,0,0x7fe); if (0xf < *(ulonglong *)(param_2 + 0x18)) { param_2 = *(LPCSTR *)param_2; } lVar3 = -1; pCVar5 = param_2; do { if (lVar3 == 0) break; lVar3 = lVar3 + -1; cVar1 = *pCVar5; pCVar5 = pCVar5 + 1; } while (cVar1 != '\0'); MultiByteToWideChar(0,1,param_2,~(uint)lVar3,&local_828,0x400); uVar4 = 0xffffffffffffffff; param_1[3] = 7; param_1[2] = 0; *(undefined2 *)param_1 = 0; pWVar6 = &local_828; do { if (uVar4 == 0) break; uVar4 = uVar4 - 1; WVar2 = *pWVar6; pWVar6 = pWVar6 + 1; } while (WVar2 != L'\0'); FUN_140001830(param_1,&local_828,~uVar4 - 1); return param_1; }