Function at 0x140062e10
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
movsxd rbx, ecx
mov ecx, dword [0x14022e948]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm2, qword [0x1400de448]
test ax, ax
jns 0x140062e3c
movsd xmm3, qword [0x1400de468]
jmp 0x140062e3f
movaps xmm3, xmm2
mov rcx, rbx
add rcx, rcx
cmp byte [0x14022e9bd], 0
je 0x140062ea8
movsd xmm0, qword [0x1400de4a8]
subsd xmm0, qword [0x14022ea28]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022eab0]
mov rax, qword [0x14022ec98]
mulsd xmm0, qword [0x1400de3e8]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8]
call fcn.140062ce0
movsd xmm1, qword [0x14022eaf8]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x14022e923], 0
je 0x140062f0b
movsd xmm0, qword [0x1400de4a8]
subsd xmm0, qword [0x14022eae0]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022ea78]
mov rax, qword [0x14022ec80]
mulsd xmm0, qword [0x1400de3e8]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8]
call fcn.140062ce0
movsd xmm1, qword [0x14022ea90]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x14022e94e], 0
je 0x140062f6e
movsd xmm0, qword [0x1400de4a8]
subsd xmm0, qword [0x14022ea10]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022eac0]
mov rax, qword [0x14022ec38]
mulsd xmm0, qword [0x1400de3e8]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8]
call fcn.140062ce0
movsd xmm1, qword [0x14022eb08]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x14022e92d], 0
je 0x140062fd1
movsd xmm0, qword [0x1400de4a8]
subsd xmm0, qword [0x14022ead0]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022ea70]
mov rax, qword [0x14022ecb0]
mulsd xmm0, qword [0x1400de3e8]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8]
call fcn.140062ce0
movsd xmm1, qword [0x14022eaa8]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x14022e9bc], 0
je 0x140063034
movsd xmm0, qword [0x1400de4a8]
subsd xmm0, qword [0x14022ea48]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022ea08]
mov rax, qword [0x14022ec20]
mulsd xmm0, qword [0x1400de3e8]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8]
call fcn.140062ce0
movsd xmm1, qword [0x14022eab8]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x14022e94d], 0
je 0x140063097
movsd xmm1, qword [0x1400de4a8]
subsd xmm1, qword [0x14022eaa0]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022ea20]
mov rax, qword [0x14022ec50]
mulsd xmm1, qword [0x1400de3e8]
movsd xmm0, qword [rax + rcx*8]
subsd xmm2, xmm1
movaps xmm1, xmm3
call fcn.140062ce0
movsd xmm1, qword [0x14022eae8]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x14022e94c], 0
je 0x1400630fa
movsd xmm0, qword [0x1400de4a8]
subsd xmm0, qword [0x14022ea38]
movsd xmm2, qword [0x1400de610]
addsd xmm3, qword [0x14022ea88]
mov rax, qword [0x14022ec68]
mulsd xmm0, qword [0x1400de3e8]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8]
call fcn.140062ce0
movsd xmm1, qword [0x14022ea68]
divsd xmm1, qword [0x1400de478]
subsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
mov rax, qword [0x14022ec98]
movaps xmm1, xmm3
movsd xmm0, qword [rax + rcx*8]
add rsp, 0x20
pop rbx
jmp fcn.140062ce0