Function at 0x140065260
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
movsxd rbx, ecx
mov ecx, dword [0x1401cd028]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movsd xmm2, qword [0x140086ff8]
test ax, ax
jns 0x14006528c
movsd xmm3, qword [0x140087018]
jmp 0x14006528f
movaps xmm3, xmm2
mov rcx, rbx
add rcx, rcx
cmp byte [0x1401cd09d], 0
je 0x1400652f9
movsd xmm0, qword [0x140087058]
subsd xmm0, qword [0x1401cd108]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd0e0]
mov rax, qword [0x1401cd278]
mulsd xmm0, qword [0x140086fa0]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8 + 8]
call fcn.140064e20
movsd xmm1, qword [0x1401cd120]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1401cd003], 0
je 0x14006535d
movsd xmm0, qword [0x140087058]
subsd xmm0, qword [0x1401cd1c0]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd1d0]
mov rax, qword [0x1401cd260]
mulsd xmm0, qword [0x140086fa0]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8 + 8]
call fcn.140064e20
movsd xmm1, qword [0x1401cd1a8]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1401cd02e], 0
je 0x1400653c1
movsd xmm0, qword [0x140087058]
subsd xmm0, qword [0x1401cd0f0]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd0d8]
mov rax, qword [0x1401cd218]
mulsd xmm0, qword [0x140086fa0]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8 + 8]
call fcn.140064e20
movsd xmm1, qword [0x1401cd138]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1401cd00d], 0
je 0x140065425
movsd xmm0, qword [0x140087058]
subsd xmm0, qword [0x1401cd1b0]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd130]
mov rax, qword [0x1401cd290]
mulsd xmm0, qword [0x140086fa0]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8 + 8]
call fcn.140064e20
movsd xmm1, qword [0x1401cd110]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1401cd09c], 0
je 0x140065489
movsd xmm0, qword [0x140087058]
subsd xmm0, qword [0x1401cd128]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd160]
mov rax, qword [0x1401cd200]
mulsd xmm0, qword [0x140086fa0]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8 + 8]
call fcn.140064e20
movsd xmm1, qword [0x1401cd140]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1401cd02d], 0
je 0x1400654ed
movsd xmm1, qword [0x140087058]
subsd xmm1, qword [0x1401cd180]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd178]
mov rax, qword [0x1401cd230]
mulsd xmm1, qword [0x140086fa0]
movsd xmm0, qword [rax + rcx*8 + 8]
subsd xmm2, xmm1
movaps xmm1, xmm3
call fcn.140064e20
movsd xmm1, qword [0x1401cd1b8]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1401cd02c], 0
je 0x140065551
movsd xmm0, qword [0x140087058]
subsd xmm0, qword [0x1401cd118]
movsd xmm2, qword [0x1400871b8]
addsd xmm3, qword [0x1401cd0f8]
mov rax, qword [0x1401cd248]
mulsd xmm0, qword [0x140086fa0]
movaps xmm1, xmm3
subsd xmm2, xmm0
movsd xmm0, qword [rax + rcx*8 + 8]
call fcn.140064e20
movsd xmm1, qword [0x1401cd1e0]
divsd xmm1, qword [0x140087028]
addsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
mov rax, qword [0x1401cd278]
movaps xmm1, xmm3
movsd xmm0, qword [rax + rcx*8 + 8]
add rsp, 0x20
pop rbx
jmp fcn.140064e20