Function at 0x140001490
Capabilities:
Log keystrokes via polling
Set console window title

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x70], rax
lea rcx, str.calc.exe
call qword [sym.imp.KERNEL32.dll_SetConsoleTitleA]
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
mov edx, 0x80
call qword [sym.imp.KERNEL32.dll_SetPriorityClass]
lea rcx, str.BloodStrike
call fcn.140001030
mov rcx, qword [0x140005720]
test rcx, rcx
jne 0x14000156f
nop dword [rax + rax]
lea rdx, str.BloodStrike.exe
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
xor edx, edx
lea rcx, str.Lovecraft
mov qword [0x140005720], rax
call qword [sym.imp.USER32.dll_FindWindowA]
xor edx, edx
lea rcx, str.LaunchUnrealUWindowsClient
mov qword [0x140005720], rax
call qword [sym.imp.USER32.dll_FindWindowA]
xor edx, edx
lea rcx, str.UnrealWindow
mov qword [0x140005720], rax
call qword [sym.imp.USER32.dll_FindWindowA]
mov ecx, 0x1f4
mov qword [0x140005720], rax
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x140005720]
test rcx, rcx
je 0x140001500
xorps xmm0, xmm0
lea rdx, [rsp + 0x60]
movups xmmword [rsp + 0x60], xmm0
call qword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [rsp + 0x6c]
mov ecx, dword [rsp + 0x68]
nop word [rax + rax]
test ecx, ecx
je 0x140001598
test eax, eax
jne 0x1400015d1
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
lea rcx, [0x140003438]
call fcn.140001030
mov rcx, qword [0x140005720]
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [rsp + 0x68]
test ecx, ecx
jne 0x1400015d1
mov eax, dword [rsp + 0x6c]
test eax, eax
je 0x140001590
mov rcx, qword [0x140005720]
lea rdx, [rsp + 0x60]
call qword [sym.imp.USER32.dll_GetClientRect]
mov ebx, dword [rsp + 0x68]
lea rcx, [0x14000343c]
mov edi, dword [rsp + 0x6c]
call fcn.140001030
mov r8d, edi
lea rcx, str.Screen_size__dx_d_n
mov edx, ebx
call fcn.140001030
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
mov r13d, eax
mov eax, edi
cdq
mov esi, r13d
sub eax, edx
sar eax, 1
mov r8d, eax
mov dword [rsp + 0x4c], eax
mov ebx, r8d
mov eax, 0x51eb851f
imul r13d
mov eax, 0x51eb851f
mov r15d, edx
imul r8d
sar r15d, 5
mov r14d, edx
mov ecx, r15d
shr ecx, 0x1f
add r15d, ecx
sar r14d, 5
mov eax, r14d
lea rcx, str.Scan_area__d__d__d__d_n
shr eax, 0x1f
sub esi, r15d
add r14d, eax
mov dword [rsp + 0x50], esi
lea edi, [r15 + r8]
sub ebx, r14d
lea ebp, [r15 + r13]
mov dword [rsp + 0x54], ebx
mov r8d, ebx
mov dword [rsp + 0x58], ebp
mov r9d, ebp
mov dword [rsp + 0x5c], edi
mov edx, esi
mov dword [rsp + 0x20], edi
call fcn.140001030
sub ebp, esi
lea rcx, str.Scan_area_size__d__d_n
sub edi, ebx
mov edx, ebp
mov r8d, edi
call fcn.140001030
imul edi, ebp
lea eax, [rdi + rdi*2]
movsxd rcx, eax
call fcn.140001890
mov ebx, dword [rsp + 0x4c]
lea ecx, [r14 + r14*2]
movaps xmm6, xmmword [rsp + 0x50]
mov r14d, r13d
mov qword [0x140005718], rax
mov ebp, ebx
xor eax, eax
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x44], eax
mov dword [rsp + 0x48], eax
lea eax, [r15 + r15*2]
sub r14d, eax
lea r12d, [rax + r13]
sub ebp, ecx
lea r15d, [rcx + rbx]
nop word [rax + rax]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400017fd
call qword [sym.imp.USER32.dll_GetForegroundWindow]
cmp rax, qword [0x140005720]
jne 0x1400017fd
lea rax, [rsp + 0x48]
movdqa xmmword [rsp + 0x50], xmm6
lea r9, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x44]
lea rdx, [rsp + 0x40]
call fcn.140001090
test eax, eax
je 0x1400017fd
mov edi, dword [rsp + 0x40]
mov eax, edi
mov esi, dword [rsp + 0x44]
sub eax, r13d
cdq
sub eax, edx
sar eax, 1
mov ecx, eax
mov eax, esi
sub eax, ebx
mov ebx, dword [rsp + 0x48]
cdq
sub eax, edx
sar eax, 1
cmp ebx, dword [0x140005080]
je 0x14000177c
cmp ebx, dword [0x140005084]
je 0x14000177c
cmp ebx, dword [0x140005088]
jne 0x140001798
xor r9d, r9d
mov qword [rsp + 0x20], 0
lea edx, [rcx - 1]
mov r8d, eax
lea ecx, [r9 + 1]
call qword [sym.imp.USER32.dll_mouse_event]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400017fd
cmp edi, r14d
jl 0x1400017fd
cmp edi, r12d
jg 0x1400017fd
cmp esi, ebp
jl 0x1400017fd
cmp esi, r15d
jg 0x1400017fd
cmp ebx, dword [0x140005080]
je 0x1400017d3
cmp ebx, dword [0x140005084]
je 0x1400017d3
cmp ebx, dword [0x140005088]
jne 0x1400017fd
cmp byte [0x140005710], 0
jne 0x140001806
xor edx, edx
mov byte [0x140005710], 1
xor r9d, r9d
mov qword [rsp + 0x20], 0
xor r8d, r8d
lea ecx, [rdx + 2]
call qword [sym.imp.USER32.dll_mouse_event]
cmp byte [0x140005710], 0
je 0x140001844
call qword [sym.imp.WINMM.dll_timeGetTime]
sub eax, dword [0x140005728]
cmp eax, 1
jb 0x140001844
xor edx, edx
mov byte [0x140005710], 0
xor r9d, r9d
mov qword [rsp + 0x20], 0
xor r8d, r8d
lea ecx, [rdx + 4]
call qword [sym.imp.USER32.dll_mouse_event]
call qword [sym.imp.WINMM.dll_timeGetTime]
mov dword [0x140005728], eax
mov ecx, 1
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ebx, dword [rsp + 0x4c]
jmp 0x1400016f0