Function at 0x180086f10
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
mov qword [rsp + 0x20], r14
push rbp
lea rbp, [rsp - 0x57]
sub rsp, 0xa0
mov rax, qword [0x180312040]
xor rax, rsp
mov qword [rbp + 0x4f], rax
mov rsi, rcx
xor ebx, ebx
mov dword [rbp + 0x3f], ebx
mov edx, dword [0x1803130f8]
mov rax, qword gs:[0x58]
mov ecx, 4
mov rdx, qword [rax + rdx*8]
mov eax, dword [rcx + rdx]
cmp dword [0x1803151fc], eax
jle 0x180086faa
lea rcx, [0x1803151fc]
call fcn.18009cfb8
cmp dword [0x1803151fc], 0xffffffff
jne 0x180086faa
mov eax, 0x3e8
cdq
idiv dword [rsi + 0x20]
movsxd rdx, eax
mov qword [0x180315200], rbx
lea rcx, [0x180315200]
call fcn.18008f980
lea rcx, [0x1803151fc]
call fcn.18009cf58
cmp byte [rsi + 8], bl
je 0x180086fea
cmp byte [0x1803136d0], bl
jne 0x180086fea
mov ecx, 1
call qword [sym.imp.USER32.dll_GetKeyState]
bt ax, 0xf
jae 0x180086fea
lea rdx, [rbp - 0x29]
mov rcx, qword [0x180315058]
call fcn.180066b40
mov ebx, 1
cmp qword [rax + 8], 0
jne 0x180086fea
xor dil, dil
jmp 0x180086fed
mov dil, 1
test bl, 1
je 0x18008701d
cmp byte [rbp - 0x19], 0
je 0x18008701d
cmp qword [0x180313110], 0
je 0x18008701d
mov rdx, qword [rbp - 0x21]
test rdx, rdx
je 0x18008701d
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test dil, dil
jne 0x1800872f3
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x180087044
imul rcx, rax, 0x64
jmp 0x18008705f
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rcx, rax
mov rdx, rcx
sub rdx, qword [0x180315200]
movabs rax, 0x431bde82d7b634db
imul rdx
sar rdx, 0x12
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [0x180315208]
je 0x1800870a6
mov r8d, 1
mov r9d, 0xff
cmovl r8d, r9d
test r8b, r8b
js 0x1800872f3
mov qword [0x180315200], rcx
lea rdx, [rbp + 0xf]
mov rcx, qword [0x180315058]
call fcn.180066a50
nop
lea rdx, [rbp - 0x29]
mov rcx, rax
call fcn.180069640
mov r14, rax
mov rdi, qword [0x180313110]
xorps xmm0, xmm0
movups xmmword [rbp - 0x11], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 1], xmm1
mov r8d, 5
lea rdx, str.BLOCK
lea rcx, [rbp - 0x11]
call fcn.180005870
nop
lea rdx, [rbp - 0x11]
lea rcx, [0x180314f60]
call fcn.180070aa0
mov rbx, rax
mov rdx, rdi
lea rcx, [0x180314f60]
call fcn.1800708c0
mov rcx, qword [rdi]
mov r9, qword [rcx + 0x488]
mov r8, rbx
mov rdx, rax
mov rcx, rdi
call r9
mov r8, rax
mov qword [rbp + 0x27], rdi
mov byte [rbp + 0x37], 0
mov qword [rbp + 0x2f], rax
mov rdx, qword [r14 + 8]
cmp rdx, rax
jne 0x18008714e
mov bl, 1
jmp 0x180087171
test rdx, rdx
je 0x18008716f
test r8, r8
je 0x18008716f
mov rcx, qword [r14]
mov rax, qword [rcx]
mov r9, qword [rax + 0xc0]
call r9
cmp al, 1
sete bl
jmp 0x180087171
xor bl, bl
mov rdx, qword [rbp + 7]
cmp rdx, 0x10
jb 0x1800871af
inc rdx
mov rcx, qword [rbp - 0x11]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800871aa
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800871aa
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18009d55c
movdqa xmm0, xmmword [0x180301e10]
movdqu xmmword [rbp - 1], xmm0
mov byte [rbp - 0x11], 0
cmp byte [rbp - 0x19], 0
je 0x1800871f2
cmp qword [0x180313110], 0
je 0x1800871f2
mov rdx, qword [rbp - 0x21]
test rdx, rdx
je 0x1800871f2
mov rcx, qword [rbp - 0x29]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
mov qword [rbp - 0x21], 0
cmp byte [rbp + 0x1f], 0
je 0x18008721d
cmp qword [0x180313110], 0
je 0x18008721d
mov rdx, qword [rbp + 0x17]
test rdx, rdx
je 0x18008721d
mov rcx, qword [rbp + 0xf]
mov rax, qword [rcx]
mov r8, qword [rax + 0xb0]
call r8
nop
test bl, bl
jne 0x1800872f3
mov qword [rbp + 0x3f], 0
lea rcx, [rbp + 0x3f]
call qword [sym.imp.USER32.dll_GetCursorPos]
movzx r9d, word [rbp + 0x43]
shl r9d, 0x10
movzx eax, word [rbp + 0x3f]
or r9, rax
mov edx, 0x201
mov r8d, 1
mov rcx, qword [0x1803136c8]
call qword [sym.imp.USER32.dll_PostMessageA]
movzx r9d, word [rbp + 0x43]
shl r9d, 0x10
movzx ecx, word [rbp + 0x3f]
or r9, rcx
mov edx, 0x202
mov r8d, 1
mov rcx, qword [0x1803136c8]
call qword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [rsi + 0x20]
mov dword [rbp + 0x47], ecx
mov ecx, dword [rsi + 0x24]
mov dword [rbp + 0x4b], ecx
lea rcx, [rbp + 0x47]
call fcn.180083220
mov ecx, eax
mov eax, 0x3e8
cdq
idiv ecx
movsxd rbx, eax
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rdi, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rdi, 0x989680
jne 0x1800872c7
imul rax, rax, 0x64
jmp 0x1800872e5
cqo
idiv rdi
mov rcx, rax
imul rax, rdx, 0x3b9aca00
cqo
idiv rdi
imul rcx, rcx, 0x3b9aca00
add rax, rcx
mov qword [0x180315200], rax
mov qword [0x180315208], rbx
mov rcx, qword [rbp + 0x4f]
xor rcx, rsp
call fcn.18009ce10
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
mov r14, qword [r11 + 0x28]
mov rsp, r11
pop rbp
ret