64 lines
2.1 KiB
C
64 lines
2.1 KiB
C
/* 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;
|
|
}
|
|
|