Function at 0x140002800
Capabilities:
Log keystrokes via polling

Disassembly:
push rbx
sub rsp, 0x20
movsxd rbx, ecx
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x140002a8d
cmp byte [0x1400097b2], 1
jne 0x1400028f5
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097c0]
cmp byte [0x1400097b0], 1
jne 0x1400028aa
cmp byte [0x1400097b3], 1
movsd xmm0, qword [0x1400066b0]
jne 0x14000285f
movsd qword [0x1400090e0], xmm0
movaps xmm1, xmm0
jmp 0x140002867
movsd xmm1, qword [0x1400090e0]
cmp byte [0x1400097b7], 1
jne 0x140002880
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
cmp byte [0x1400097b1], 1
je 0x1400028a5
cmp byte [0x1400097b4], 1
je 0x1400028a5
cmp byte [0x1400097b6], 1
jne 0x1400028b2
movsd xmm1, qword [0x1400066c8]
jmp 0x1400028b2
movaps xmm1, xmm0
jmp 0x1400028b2
movsd xmm1, qword [0x1400090e8]
call fcn.140002250
mulsd xmm0, qword [rax + 8]
mulsd xmm0, xmm1
movss xmm1, dword [0x1400097b8]
mulss xmm1, dword [0x1400066d0]
cvtps2pd xmm2, xmm1
mulsd xmm2, qword [0x140006720]
mulsd xmm2, qword [0x1400066d8]
mulsd xmm2, qword [0x1400066c0]
divsd xmm0, xmm2
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400097b5], 1
jne 0x140002911
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097d8]
jmp 0x140002838
cmp byte [0x1400097bf], 1
jne 0x14000292d
mov rax, rbx
shl rax, 4
add rax, qword [0x140009838]
jmp 0x140002838
cmp byte [0x1400097bd], 1
jne 0x140002949
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097f0]
jmp 0x140002838
cmp byte [0x1400097b7], 1
jne 0x1400029a0
mov rax, rbx
shl rax, 4
add rax, qword [0x140009808]
cmp byte [0x1400097b0], 1
jne 0x1400028aa
cmp byte [0x1400097b1], 1
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
je 0x140002993
cmp byte [0x1400097b4], 1
jne 0x140002892
movsd xmm1, qword [0x1400066b0]
jmp 0x1400028b2
cmp byte [0x1400097b3], 1
jne 0x140002a14
movzx eax, byte [0x1400097b0]
cmp al, 1
jne 0x1400029ea
cmp byte [0x1400097b1], al
movsd xmm2, qword [0x1400066b0]
movsd qword [0x1400090e0], xmm2
je 0x1400029f2
cmp byte [0x1400097b4], al
je 0x1400029f2
cmp byte [0x1400097b6], al
jne 0x1400029f2
cmp al, al
jne 0x1400029f2
movsd xmm2, qword [0x1400066c8]
jmp 0x1400029f2
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
mov rax, qword [0x140009820]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rax + rbx*8 + 4]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x1400028c0
cmp byte [0x1400097bc], 1
jne 0x140002cf1
cmp byte [0x1400097b0], 1
mov rcx, qword [0x140009850]
jne 0x140002a6a
cmp byte [0x1400097b1], 1
je 0x140002a60
cmp byte [0x1400097b4], 1
je 0x140002a60
cmp byte [0x1400097b6], 1
jne 0x140002a56
movsd xmm2, qword [0x1400066c8]
jmp 0x140002a72
movsd xmm2, qword [0x1400090e0]
jmp 0x140002a72
movsd xmm2, qword [0x1400066b0]
jmp 0x140002a72
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rcx + rbx*8 + 4]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x1400028c0
cmp byte [0x1400097b2], 1
jne 0x140002b5d
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097c0]
cmp byte [0x1400097b0], 1
jne 0x140002b1a
cmp byte [0x1400097b3], 1
movsd xmm0, qword [0x1400066b0]
jne 0x140002acf
movsd qword [0x1400090e0], xmm0
movaps xmm1, xmm0
jmp 0x140002ad7
movsd xmm1, qword [0x1400090e0]
cmp byte [0x1400097b7], 1
jne 0x140002af0
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
cmp byte [0x1400097b1], 1
je 0x140002b15
cmp byte [0x1400097b4], 1
je 0x140002b15
cmp byte [0x1400097b6], 1
jne 0x140002b22
movsd xmm1, qword [0x1400066c8]
jmp 0x140002b22
movaps xmm1, xmm0
jmp 0x140002b22
movsd xmm1, qword [0x1400090e8]
call fcn.140002250
mulsd xmm0, qword [rax + 8]
mulsd xmm0, xmm1
movss xmm1, dword [0x1400097b8]
cvtps2pd xmm1, xmm1
mulsd xmm1, qword [0x140006720]
mulsd xmm1, qword [0x1400066d8]
mulsd xmm1, qword [0x1400066c0]
divsd xmm0, xmm1
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400097b5], 1
jne 0x140002b79
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097d8]
jmp 0x140002aa8
cmp byte [0x1400097bf], 1
jne 0x140002b95
mov rax, rbx
shl rax, 4
add rax, qword [0x140009838]
jmp 0x140002aa8
cmp byte [0x1400097bd], 1
jne 0x140002bb1
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097f0]
jmp 0x140002aa8
cmp byte [0x1400097b7], 1
jne 0x140002c08
mov rax, rbx
shl rax, 4
add rax, qword [0x140009808]
cmp byte [0x1400097b0], 1
jne 0x140002b1a
cmp byte [0x1400097b1], 1
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
je 0x140002bfb
cmp byte [0x1400097b4], 1
jne 0x140002b02
movsd xmm1, qword [0x1400066b0]
jmp 0x140002b22
cmp byte [0x1400097b3], 1
jne 0x140002c7c
movzx eax, byte [0x1400097b0]
mov rdx, qword [0x140009820]
cmp al, 1
jne 0x140002c59
cmp byte [0x1400097b1], al
movsd xmm2, qword [0x1400066b0]
movsd qword [0x1400090e0], xmm2
je 0x140002c61
cmp byte [0x1400097b4], al
je 0x140002c61
cmp byte [0x1400097b6], al
jne 0x140002c61
cmp al, al
jne 0x140002c61
movsd xmm2, qword [0x1400066c8]
jmp 0x140002c61
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rdx + rbx*8 + 4]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x140002b30
cmp byte [0x1400097bc], 1
jne 0x140002cf1
cmp byte [0x1400097b0], 1
mov rcx, qword [0x140009850]
jne 0x140002cce
cmp byte [0x1400097b1], 1
je 0x140002cc4
cmp byte [0x1400097b4], 1
je 0x140002cc4
cmp byte [0x1400097b6], 1
jne 0x140002cba
movsd xmm2, qword [0x1400066c8]
jmp 0x140002cd6
movsd xmm2, qword [0x1400090e0]
jmp 0x140002cd6
movsd xmm2, qword [0x1400066b0]
jmp 0x140002cd6
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rcx + rbx*8 + 4]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x140002b30
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret