Function at 0x1400012b0
Capabilities:
Log keystrokes via polling

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x68
mov rax, qword [0x140005040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r15, r9
mov r14, r8
mov rsi, rdx
mov rbx, rcx
mov ecx, 0x75
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140001527
movzx ecx, byte [rbx]
test cl, cl
sete al
mov byte [rbx], al
lea rax, str.Running
lea r14, str.Stopped
test cl, cl
cmove r14, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xor edi, edi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], rdi
mov rbx, 0xffffffffffffffff
inc rbx
cmp byte [r14 + rbx], dil
jne 0x140001324
movabs rsi, 0x7fffffffffffffff
cmp rbx, rsi
ja 0x1400016d0
mov qword [rbp - 0x28], 0xf
cmp rbx, 0xf
ja 0x14000136b
mov qword [rbp - 0x30], rbx
mov r8, rbx
mov rdx, r14
lea rcx, [rbp - 0x40]
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbp + rbx - 0x40], dil
jmp 0x1400013fa
mov rax, rbx
or rax, 0xf
cmp rax, rsi
jbe 0x1400013a4
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1400020e4
test rax, rax
je 0x140001514
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x1400013dc
mov rsi, rax
mov ecx, 0x16
cmp rax, rcx
cmovb rsi, rcx
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x1400013cf
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x1400016d6
jmp 0x140001385
test rcx, rcx
je 0x1400013dc
call fcn.1400020e4
mov rdi, rax
mov qword [rbp - 0x40], rdi
mov qword [rbp - 0x30], rbx
mov qword [rbp - 0x28], rsi
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + rbx], 0
lea rdx, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova rdx, qword [rbp - 0x40]
mov r8, qword [rbp - 0x30]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001e10
mov rcx, rax
lea rdx, [0x140001c00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x140005768], eax
jle 0x140001464
lea rcx, [0x140005768]
call fcn.14000206c
cmp dword [0x140005768], 0xffffffff
jne 0x140001464
lea rcx, [0x140005768]
call fcn.140002000
mov eax, dword [rbx]
cmp dword [0x14000576c], eax
jle 0x1400014b3
lea rcx, [0x14000576c]
call fcn.14000206c
cmp dword [0x14000576c], 0xffffffff
jne 0x1400014b3
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140005760], rax
lea rcx, [0x14000576c]
call fcn.140002000
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov qword [rbp - 0x48], 0xffffffffffb3b4c0
lea rdx, [rbp - 0x48]
xor ecx, ecx
call qword [0x140005760]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x14000169d
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000151b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14000151b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.140002120
xor eax, eax
jmp 0x1400016b7
mov ecx, 0x76
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1400016a1
mov rcx, rsi
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rdx, rsi
mov rcx, qword [0x140005758]
call qword [sym.imp.USER32.dll_ScreenToClient]
lea rdx, [0x1400034b0]
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
call fcn.140001c40
mov rcx, rax
mov edx, dword [rsi]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, str.__y:
call fcn.140001c40
mov rcx, rax
mov edx, dword [rsi + 4]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___long_int____ptr64]
mov rcx, rax
lea rdx, [0x140001c00]
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64____cdecl___class_std::basic_ostream_char__struct_std::char_traits_char______ptr64_____ptr64]
xor ecx, ecx
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
lea rdx, [rbp - 0x40]
mov rcx, qword [0x140005758]
call qword [sym.imp.USER32.dll_GetWindowPlacement]
mov ecx, dword [rsi]
add ecx, dword [rbp - 0x24]
imul eax, ecx, 0xffff
cdq
idiv ebx
mov dword [r14], eax
mov ecx, dword [rsi + 4]
add ecx, dword [rbp - 0x20]
imul eax, ecx, 0xffff
cdq
idiv edi
mov dword [r15], eax
mov ebx, 4
mov rax, qword gs:[0x58]
add rbx, qword [rax]
mov eax, dword [rbx]
cmp dword [0x140005768], eax
jle 0x140001624
lea rcx, [0x140005768]
call fcn.14000206c
cmp dword [0x140005768], 0xffffffff
jne 0x140001624
lea rcx, [0x140005768]
call fcn.140002000
mov eax, dword [rbx]
cmp dword [0x14000576c], eax
jle 0x140001673
lea rcx, [0x14000576c]
call fcn.14000206c
cmp dword [0x14000576c], 0xffffffff
jne 0x140001673
lea rcx, str.ntdll.dll
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov rcx, rax
lea rdx, str.NtDelayExecution
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x140005760], rax
lea rcx, [0x14000576c]
call fcn.140002000
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeBeginPeriod]
mov qword [rbp - 0x48], 0xffffffffffb3b4c0
lea rdx, [rbp - 0x48]
xor ecx, ecx
call qword [0x140005760]
mov ecx, 1
call qword [sym.imp.WINMM.dll_timeEndPeriod]
xor eax, eax
jmp 0x1400016b7
mov ecx, 0x77
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
xor edi, edi
test ax, ax
setne dil
mov eax, edi
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.140001fe0
add rsp, 0x68
pop r15
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1400011a0
int3
call fcn.140001100
int3