Function at 0x1400010e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov eax, 0x3e8
cdq
idiv ecx
movsxd rcx, eax
mov qword [rsp + 0x28], rcx
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
movabs r12, 0xb2f4fc0794908cf3
mov rcx, rax
cmp rbx, 0x989680
jne 0x140001141
imul rsi, rcx, 0x64
jmp 0x1400011b5
cmp rbx, 0x16e3600
jne 0x140001194
mov rax, r12
imul rcx
lea r8, [rcx + rdx]
sar r8, 0x18
mov rax, r8
shr rax, 0x3f
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
mov rax, r12
imul rcx, rcx, 0x3b9aca00
imul rcx
lea rsi, [rcx + rdx]
sar rsi, 0x18
mov rax, rsi
shr rax, 0x3f
add rsi, rax
imul rax, r8, 0x3b9aca00
jmp 0x1400011b2
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rsi, rax
imul rax, rcx, 0x3b9aca00
add rsi, rax
xor r14d, r14d
mov qword [rsp + 0x90], rdi
mov r15d, 0xffff8001
movabs r13, 0x112e0be826d694b3
mov ebp, r14d
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll__kbhit]
test eax, eax
je 0x1400011ed
call qword [sym.imp.api_ms_win_crt_conio_l1_1_0.dll__getch]
sub al, 0x51
test al, 0xdf
je 0x14000138c
mov ecx, 0x76
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
cmp ax, r15w
jne 0x140001210
cmp byte [0x140005668], r14b
sete al
mov byte [0x140005668], al
jmp 0x140001217
movzx eax, byte [0x140005668]
test al, al
je 0x1400011d3
mov r8d, 0x28
mov dword [rsp + 0x30], r14d
xorps xmm0, xmm0
mov dword [rsp + 0x44], 2
xorps xmm1, xmm1
lea rdx, [rsp + 0x30]
movdqu xmmword [rsp + 0x34], xmm0
lea ecx, [r8 - 0x27]
movdqu xmmword [rsp + 0x48], xmm1
call qword [sym.imp.USER32.dll_SendInput]
lea rcx, [rsp + 0x20]
mov qword [rsp + 0x20], 0xa
call fcn.1400014b0
mov r8d, 0x28
mov dword [rsp + 0x44], 4
lea rdx, [rsp + 0x30]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
lea rcx, [rsp + 0x28]
inc ebp
call fcn.1400014b0
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
mov rcx, rax
cmp rbx, 0x989680
jne 0x1400012ac
imul rbx, rcx, 0x64
jmp 0x140001320
cmp rbx, 0x16e3600
jne 0x1400012ff
mov rax, r12
imul rcx
lea r8, [rcx + rdx]
sar r8, 0x18
mov rax, r8
shr rax, 0x3f
add r8, rax
imul rax, r8, 0x16e3600
sub rcx, rax
mov rax, r12
imul rcx, rcx, 0x3b9aca00
imul rcx
lea rbx, [rcx + rdx]
sar rbx, 0x18
mov rax, rbx
shr rax, 0x3f
add rbx, rax
imul rax, r8, 0x3b9aca00
jmp 0x14000131d
cqo
idiv rbx
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
mov rbx, rax
imul rax, rcx, 0x3b9aca00
add rbx, rax
mov rdi, rbx
sub rdi, rsi
cmp rdi, 0x3b9aca00
jl 0x1400011d3
mov rcx, qword [sym.imp.MSVCP140.dll_class_std::basic_ostream_char__struct_std::char_traits_char___std::cout]
lea rdx, str.CPS:
call fcn.140001620
mov r9, rax
mov rax, r13
imul rdi
movsxd rax, ebp
mov r8, rdx
cqo
sar r8, 0x1a
mov rcx, r8
shr rcx, 0x3f
add r8, rcx
mov rcx, r9
idiv r8
mov rdx, rax
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_long___int64_____ptr64]
mov rcx, rax
lea rdx, [0x1400017f0]
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 rsi, rbx
jmp 0x1400011d0
mov rdi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.140001850
lea r11, [rsp + 0x60]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rsi
ret