Function at 0x14007fae0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
lea rbp, [rax - 0x5f]
sub rsp, 0xb8
cmp byte [rcx + 0x1a7], 0
mov rbx, rcx
mov byte [rcx + 0x1cc], 0
je 0x1400800a4
mov qword [rax + 0x18], rsi
mov qword [rax - 0x20], r14
mov qword [rax - 0x28], r15
mov qword [rax - 0x18], rdi
call qword [sym.imp.MSVCP140.dll__Xtime_get_ticks]
cmp byte [rbx + 0x1d5], 0
mov rsi, rax
mov qword [rbp + 0x6f], rax
je 0x14007fb91
cmp dword [0x1401b34e8], 0
je 0x14007fb91
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0xffffffff
jne 0x14007fb43
xor dil, dil
jmp 0x14007fb4c
call qword [sym.imp.USER32.dll_GetKeyState]
movzx edi, ax
and dil, 1
cmp dil, byte [rbx + 0x1f0]
je 0x14007fb8a
mov rdx, qword [rbx + 0x1e0]
lea rcx, [rbx + 0x1d8]
cmp rdx, qword [rbx + 0x1e8]
je 0x14007fb7d
mov qword [rdx], rsi
add qword [rbx + 0x1e0], 8
jmp 0x14007fb8a
lea r8, [rbp + 0x6f]
call fcn.1400b0990
mov rsi, qword [rbp + 0x6f]
mov byte [rbx + 0x1f0], dil
lea rcx, [rbx + 8]
call fcn.140078670
movzx ecx, byte [0x140190c88]
movzx r14d, al
mov eax, 0x989680
cdq
idiv dword [rbx + 0x1ac]
movsxd r15, eax
test cl, cl
je 0x14007fbc6
mov rax, r15
cqo
sub rax, rdx
sar rax, 1
mov r15, rax
mov rax, qword [rbx + 0x1b8]
test r14b, r14b
je 0x14007ff51
cmp rax, rsi
jge 0x14007ff60
movaps xmmword [rsp + 0x90], xmm6
movsd xmm6, qword [0x1400d9b60]
movaps xmmword [rsp + 0x80], xmm7
movss xmm7, dword [0x1400d9cd4]
nop
test cl, cl
je 0x14007fd55
cmp byte [rbx], 0
je 0x14007fcf0
cmp byte [rbx + 0x1cd], 0
je 0x14007fc3f
call fcn.14006b7a0
test al, al
jne 0x14007fc3f
cmp byte [rbx + 0x1d4], al
je 0x14007fc31
cmp r14b, byte [rbx + 0x70]
je 0x14007fc3f
mov eax, dword [rbx + 0x1d0]
dec eax
mov dword [0x1401b32b8], eax
mov rcx, rbx
call fcn.14007fa10
test al, al
je 0x14007fd48
mov edx, dword [rbx + 0x7c]
cmp edx, 0xffffffff
je 0x14007fca7
xor dil, dil
mov ecx, edx
sub ecx, 1
je 0x14007fc75
sub ecx, 1
je 0x14007fc75
sub ecx, 2
je 0x14007fc75
sub ecx, 1
je 0x14007fc75
cmp ecx, 1
jne 0x14007fc78
mov dil, 1
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], edx
mov qword [rbp - 0x49], rax
lea rdx, [rbp - 0x49]
lea rax, [rbp + 0x6b]
lea rcx, [rbp - 9]
mov qword [rbp - 0x41], rax
call fcn.1400a7e60
mov r8b, 1
mov rdx, rax
movzx ecx, dil
call fcn.14006e8f0
mov rdx, qword [rbx + 0x1e0]
lea rcx, [rbx + 0x1d8]
cmp rdx, qword [rbx + 0x1e8]
je 0x14007fcd6
mov qword [rdx], rsi
add qword [rbx + 0x1e0], 8
cmp byte [rbx], 0
sete al
mov byte [rbx], al
jmp 0x14007fe74
lea r8, [rbp + 0x6f]
call fcn.1400b0990
cmp byte [rbx], 0
mov rsi, qword [rbp + 0x6f]
sete al
mov byte [rbx], al
jmp 0x14007fe74
mov edx, dword [rbx + 0x7c]
cmp edx, 0xffffffff
je 0x14007fd48
xor dil, dil
mov ecx, edx
sub ecx, 1
je 0x14007fd16
sub ecx, 1
je 0x14007fd16
sub ecx, 2
je 0x14007fd16
sub ecx, 1
je 0x14007fd16
cmp ecx, 1
jne 0x14007fd19
mov dil, 1
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], edx
mov qword [rbp - 0x39], rax
lea rdx, [rbp - 0x39]
lea rax, [rbp + 0x6b]
lea rcx, [rbp - 9]
mov qword [rbp - 0x31], rax
call fcn.1400a7e60
xor r8d, r8d
mov rdx, rax
movzx ecx, dil
call fcn.14006e8f0
cmp byte [rbx], 0
sete al
mov byte [rbx], al
jmp 0x14007fe74
cmp byte [rbx + 0x1cd], 0
je 0x14007fd83
call fcn.14006b7a0
test al, al
jne 0x14007fd83
cmp byte [rbx + 0x1d4], al
je 0x14007fd75
cmp r14b, byte [rbx + 0x70]
je 0x14007fd83
mov eax, dword [rbx + 0x1d0]
dec eax
mov dword [0x1401b32b8], eax
mov rcx, rbx
call fcn.14007fa10
test al, al
je 0x14007fe74
mov edx, dword [rbx + 0x7c]
cmp edx, 0xffffffff
je 0x14007fdeb
xor dil, dil
mov ecx, edx
sub ecx, 1
je 0x14007fdb9
sub ecx, 1
je 0x14007fdb9
sub ecx, 2
je 0x14007fdb9
sub ecx, 1
je 0x14007fdb9
cmp ecx, 1
jne 0x14007fdbc
mov dil, 1
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], edx
mov qword [rbp - 0x29], rax
lea rdx, [rbp - 0x29]
lea rax, [rbp + 0x6b]
lea rcx, [rbp - 9]
mov qword [rbp - 0x21], rax
call fcn.1400a7e60
mov r8b, 1
mov rdx, rax
movzx ecx, dil
call fcn.14006e8f0
mov rdx, qword [rbx + 0x1e0]
lea rcx, [rbx + 0x1d8]
cmp rdx, qword [rbx + 0x1e8]
je 0x14007fe0f
mov qword [rdx], rsi
add qword [rbx + 0x1e0], 8
jmp 0x14007fe1c
lea r8, [rbp + 0x6f]
call fcn.1400b0990
mov rsi, qword [rbp + 0x6f]
mov edx, dword [rbx + 0x7c]
cmp edx, 0xffffffff
je 0x14007fe74
xor dil, dil
mov ecx, edx
sub ecx, 1
je 0x14007fe42
sub ecx, 1
je 0x14007fe42
sub ecx, 2
je 0x14007fe42
sub ecx, 1
je 0x14007fe42
cmp ecx, 1
jne 0x14007fe45
mov dil, 1
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], edx
mov qword [rbp - 0x19], rax
lea rdx, [rbp - 0x19]
lea rax, [rbp + 0x6b]
lea rcx, [rbp - 9]
mov qword [rbp - 0x11], rax
call fcn.1400a7e60
xor r8d, r8d
mov rdx, rax
movzx ecx, dil
call fcn.14006e8f0
cmp byte [rbx + 0x1b0], 0
je 0x14007ff16
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movss xmm1, dword [rbx + 0x1c8]
xorps xmm2, xmm2
xorps xmm3, xmm3
cvtsi2sd xmm3, qword [rbx + 0x1b8]
movd xmm0, eax
movzx eax, byte [rbx + 0x1c0]
cvtdq2ps xmm0, xmm0
cvtsi2sd xmm2, r15
divss xmm0, xmm7
cvtps2pd xmm4, xmm0
test al, al
je 0x14007fed8
cvtpd2ps xmm0, xmm4
movss dword [rbx + 0x1c4], xmm0
mulss xmm0, xmm1
movaps xmm1, xmm6
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
jmp 0x14007fee7
mulss xmm1, dword [rbx + 0x1c4]
cvtps2pd xmm1, xmm1
addsd xmm1, xmm6
mulsd xmm1, xmm2
addsd xmm1, xmm3
cvttsd2si rcx, xmm1
mov qword [rbx + 0x1b8], rcx
cmp byte [0x140190c88], 0
je 0x14007ff09
cmp byte [rbx], 0
je 0x14007ff27
test al, al
sete al
mov byte [rbx + 0x1c0], al
jmp 0x14007ff27
mov rcx, qword [rbx + 0x1b8]
add rcx, r15
mov qword [rbx + 0x1b8], rcx
mov byte [rbx + 0x1cc], 1
cmp rcx, rsi
jge 0x14007ff3f
movzx ecx, byte [0x140190c88]
jmp 0x14007fc00
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
jmp 0x14007ff60
cmp rax, rsi
jge 0x14007ff5d
mov qword [rbx + 0x1b8], rsi
mov byte [rbx], 1
mov r15, qword [rsp + 0xa0]
cmp r14b, byte [rbx + 0x70]
je 0x140080088
test r14b, r14b
jne 0x140080088
mov ecx, dword [rbx + 0x7c]
cmp ecx, 0xffffffff
jne 0x14007ff87
xor eax, eax
jmp 0x14007ff8e
call qword [sym.imp.USER32.dll_GetKeyState]
cwde
shr eax, 0xf
test al, 1
je 0x140080030
mov rcx, rbx
call fcn.14007fa10
test al, al
je 0x140080088
mov edx, dword [rbx + 0x7c]
cmp edx, 0xffffffff
je 0x140080001
xor dil, dil
mov ecx, edx
sub ecx, 1
je 0x14007ffcf
sub ecx, 1
je 0x14007ffcf
sub ecx, 2
je 0x14007ffcf
sub ecx, 1
je 0x14007ffcf
cmp ecx, 1
jne 0x14007ffd2
mov dil, 1
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], edx
mov qword [rbp - 0x19], rax
lea rdx, [rbp - 0x19]
lea rax, [rbp + 0x6b]
lea rcx, [rbp - 9]
mov qword [rbp - 0x11], rax
call fcn.1400a7e60
mov r8b, 1
mov rdx, rax
movzx ecx, dil
call fcn.14006e8f0
mov rdx, qword [rbx + 0x1e0]
lea rcx, [rbx + 0x1d8]
cmp rdx, qword [rbx + 0x1e8]
je 0x140080025
mov qword [rdx], rsi
add qword [rbx + 0x1e0], 8
jmp 0x140080088
lea r8, [rbp + 0x6f]
call fcn.1400b0990
jmp 0x140080088
mov edx, dword [rbx + 0x7c]
cmp edx, 0xffffffff
je 0x140080088
xor dil, dil
mov ecx, edx
sub ecx, 1
je 0x140080056
sub ecx, 1
je 0x140080056
sub ecx, 2
je 0x140080056
sub ecx, 1
je 0x140080056
cmp ecx, 1
jne 0x140080059
mov dil, 1
lea rax, [rbp + 0x67]
mov dword [rbp + 0x67], edx
mov qword [rbp - 0x19], rax
lea rdx, [rbp - 0x19]
lea rax, [rbp + 0x6b]
lea rcx, [rbp - 9]
mov qword [rbp - 0x11], rax
call fcn.1400a7e60
xor r8d, r8d
mov rdx, rax
movzx ecx, dil
call fcn.14006e8f0
mov rdi, qword [rsp + 0xb0]
mov rsi, qword [rsp + 0xe0]
mov byte [rbx + 0x70], r14b
mov r14, qword [rsp + 0xa8]
add rsp, 0xb8
pop rbx
pop rbp
ret