/* DBCServer_Release_x64.exe sha256 d9e4fccdf3482e50247686d4452c0b13c75a53efc4bd7320668eece8d1ce828c * Ghidra 12.1.2 decompiler output for 0x1400a6fe0 FUN_1400a6fe0 * Pseudocode, not original source. */ /* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */ undefined8 FUN_1400a6fe0(longlong param_1) { PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo; DWORD DVar1; BOOL BVar2; uchar *puVar3; uchar *puVar4; HANDLE pvVar5; undefined1 auStack_168 [32]; undefined8 local_148; undefined8 local_140; uchar local_128; undefined1 local_127 [271]; ulonglong local_18; local_18 = DAT_1403463c0 ^ (ulonglong)auStack_168; DVar1 = GetCurrentProcessId(); local_128 = '\0'; *(DWORD *)(param_1 + 0x248) = DVar1; memset(local_127,0,0x103); DVar1 = GetModuleFileNameA((HMODULE)0x0,(LPSTR)&local_128,0x104); if (0 < (int)DVar1) { puVar3 = _mbsrchr(&local_128,0x5c); puVar4 = _mbsrchr(&local_128,0x2e); puVar4 = puVar4 + (-1 - (longlong)puVar3); if ((uchar *)0x104 < puVar4) { puVar4 = (uchar *)0x104; } memcpy((void *)(param_1 + 0x3c),puVar3 + 1,(size_t)puVar4); FUN_1400a71d0(param_1,param_1 + 0x3c); pvVar5 = GetStdHandle(0xfffffff5); *(HANDLE *)(param_1 + 8) = pvVar5; if (pvVar5 != (HANDLE)0xffffffffffffffff) { FUN_1400a7140(param_1); pvVar5 = *(HANDLE *)(param_1 + 8); if (pvVar5 != (HANDLE)0xffffffffffffffff) { lpConsoleScreenBufferInfo = (PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x10); local_148 = 0; local_140 = 0; (lpConsoleScreenBufferInfo->dwSize).X = 0; (lpConsoleScreenBufferInfo->dwSize).Y = 0; (lpConsoleScreenBufferInfo->dwCursorPosition).X = 0; (lpConsoleScreenBufferInfo->dwCursorPosition).Y = 0; *(undefined8 *)(param_1 + 0x18) = 0; *(undefined4 *)(param_1 + 0x20) = 0; *(undefined2 *)(param_1 + 0x24) = 0; BVar2 = GetConsoleScreenBufferInfo(pvVar5,lpConsoleScreenBufferInfo); if (BVar2 != 0) { *(undefined2 *)(param_1 + 0x24c) = *(undefined2 *)(param_1 + 0x18); } } return 1; } } return 0; }