65 lines
2.1 KiB
C
65 lines
2.1 KiB
C
/* MessageServer_Release_x64.exe sha256 7911b15c4379625eaa12ff227708aa3a033bc6ac2cf6b34283136e3a62df25f1
|
|
* Ghidra 12.1.2 decompiler output for 0x140001060 FUN_140001060
|
|
* Pseudocode, not original source. */
|
|
|
|
/* WARNING: Function: __security_check_cookie replaced with injection: security_check_cookie */
|
|
|
|
undefined8 FUN_140001060(longlong param_1)
|
|
|
|
{
|
|
PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo;
|
|
DWORD DVar1;
|
|
BOOL BVar2;
|
|
wchar_t *pwVar3;
|
|
wchar_t *pwVar4;
|
|
ulonglong uVar5;
|
|
HANDLE pvVar6;
|
|
undefined1 auStack_268 [32];
|
|
undefined8 local_248;
|
|
undefined8 local_240;
|
|
WCHAR local_228;
|
|
undefined1 local_226 [526];
|
|
ulonglong local_18;
|
|
|
|
local_18 = DAT_1401ac5a0 ^ (ulonglong)auStack_268;
|
|
DVar1 = GetCurrentProcessId();
|
|
*(DWORD *)(param_1 + 0x450) = DVar1;
|
|
local_228 = L'\0';
|
|
memset(local_226,0,0x206);
|
|
DVar1 = GetModuleFileNameW((HMODULE)0x0,&local_228,0x104);
|
|
if (0 < (int)DVar1) {
|
|
pwVar3 = wcsrchr(&local_228,L'\\');
|
|
pwVar4 = wcsrchr(&local_228,L'.');
|
|
uVar5 = (longlong)pwVar4 + (-2 - (longlong)pwVar3) >> 1;
|
|
if (0x104 < uVar5) {
|
|
uVar5 = 0x104;
|
|
}
|
|
memcpy((void *)(param_1 + 0x3c),pwVar3 + 1,uVar5 * 2);
|
|
FUN_140001260(param_1,param_1 + 0x3c);
|
|
pvVar6 = GetStdHandle(0xfffffff5);
|
|
*(HANDLE *)(param_1 + 8) = pvVar6;
|
|
if (pvVar6 != (HANDLE)0xffffffffffffffff) {
|
|
FUN_1400011d0(param_1);
|
|
pvVar6 = *(HANDLE *)(param_1 + 8);
|
|
if (pvVar6 != (HANDLE)0xffffffffffffffff) {
|
|
lpConsoleScreenBufferInfo = (PCONSOLE_SCREEN_BUFFER_INFO)(param_1 + 0x10);
|
|
local_248 = 0;
|
|
local_240 = 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(pvVar6,lpConsoleScreenBufferInfo);
|
|
if (BVar2 != 0) {
|
|
*(undefined2 *)(param_1 + 0x454) = *(undefined2 *)(param_1 + 0x18);
|
|
}
|
|
}
|
|
return 1;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|