Function at 0x140042160
Capabilities:
Hide graphical window
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rsp - 0x10]
sub rsp, 0x110
mov rax, qword [0x140054040]
xor rax, rsp
mov qword [rbp], rax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
call qword [sym.imp.USER32.dll_ShowWindow]
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
mov byte [rsp + 0x41], 1
lea rcx, [rsp + 0x40]
call fcn.140041bf0
cmp byte [rsp + 0x41], 0
je 0x140042450
movabs rdi, 0x4e94914f0000
movabs rsi, 0x431bde82d7b634db
movabs r12, 0x7ffffffffff0bdbe
movabs r15, 0x7fffffffffffffff
mov r14d, 0xff
nop dword [rax]
nop word [rax + rax]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x140042272
nop
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_TranslateMessage]
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_DispatchMessageA]
mov dword [rsp + 0x20], 1
xor r9d, r9d
xor r8d, r8d
xor edx, edx
lea rcx, [rbp - 0x40]
call qword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
jne 0x140042240
mov rax, qword [0x140054780]
test rax, rax
je 0x140042287
mov rcx, qword [rax + 0xa8]
jmp 0x140042289
xor ecx, ecx
cmp qword [rcx + 0x48], 0
jne 0x140042295
call fcn.1400310e0
call fcn.1400322f0
call fcn.140009010
mov ecx, 0x2d
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x1400422da
cmp byte [rsp + 0x40], 0
sete al
mov byte [rsp + 0x40], al
mov edx, 0xffffffec
mov rcx, qword [rsp + 0x48]
test al, al
mov r8d, 0xa0
jne 0x1400422d4
mov r8d, 0x800a8
call qword [sym.imp.USER32.dll_SetWindowLongA]
cmp byte [rsp + 0x40], 0
je 0x1400423d4
lea rcx, [rsp + 0x30]
call fcn.140042080
mov rbx, qword [rsp + 0x30]
cmp rbx, r12
jg 0x140042302
add rbx, 0xf4240
jmp 0x140042305
mov rbx, r15
lea rcx, [rsp + 0x38]
call fcn.140042080
mov rax, qword [rsp + 0x38]
cmp rbx, rax
je 0x14004238c
mov ecx, 1
cmovl ecx, r14d
test cl, cl
jle 0x14004238c
mov rcx, rbx
sub rcx, rax
cmp rcx, rdi
jne 0x14004234e
mov rax, rsi
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140042305
jl 0x14004235e
mov edx, 0x5265c00
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140042305
mov rax, rsi
imul rcx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0xf4240
cmp rax, rcx
jge 0x140042380
inc edx
mov ecx, edx
call sub.KERNEL32.dll_Sleep
jmp 0x140042305
mov rax, qword [0x140054780]
or dword [rax + 0x1d88], 2
mov dword [rax + 0x1da8], 0x437a0000
mov dword [rax + 0x1dac], 0x437a0000
mov dword [rax + 0x1d90], 1
mov r8d, 0x108
lea rdx, [rsp + 0x40]
lea rcx, str.cheat
call fcn.14000e860
call fcn.140010fa0
call fcn.14000b0c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, [rbp - 0x48]
mov edx, 1
call qword [rax + 0x108]
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
lea r8, [rbp - 0x10]
mov rdx, qword [rbp - 0x48]
call qword [rax + 0x190]
mov rax, qword [0x140054780]
mov rax, qword [rax + 0x1e98]
mov rcx, qword [rax]
add rcx, 0x50
xor eax, eax
cmp byte [rcx], al
cmovne rax, rcx
mov rcx, rax
call fcn.140030630
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 1
call qword [rax + 0x40]
cmp byte [rsp + 0x41], 0
jne 0x140042220
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140042486
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x50]
mov rax, qword [rcx]
call qword [rax + 0x10]
mov rcx, qword [rbp - 0x48]
mov rax, qword [rcx]
call qword [rax + 0x10]
lea rcx, str._____Released_Device_n
jmp 0x14004248d
lea rcx, str._____Device_Not_Found_when_Exiting._n
call fcn.140001480
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.USER32.dll_DestroyWindow]
mov rdx, qword [rsp + 0x68]
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.USER32.dll_UnregisterClassA]
call fcn.140042760
nop
xor eax, eax
mov rcx, qword [rbp]
xor rcx, rsp
call fcn.1400429b0
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret