Function at 0x140002300
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 0x14000258a
cmp byte [0x1400097b2], 1
jne 0x1400023f4
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097c0]
cmp byte [0x1400097b0], 1
jne 0x1400023aa
cmp byte [0x1400097b3], 1
movsd xmm0, qword [0x1400066b0]
jne 0x14000235f
movsd qword [0x1400090e0], xmm0
movaps xmm1, xmm0
jmp 0x140002367
movsd xmm1, qword [0x1400090e0]
cmp byte [0x1400097b7], 1
jne 0x140002380
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
cmp byte [0x1400097b1], 1
je 0x1400023a5
cmp byte [0x1400097b4], 1
je 0x1400023a5
cmp byte [0x1400097b6], 1
jne 0x1400023b2
movsd xmm1, qword [0x1400066c8]
jmp 0x1400023b2
movaps xmm1, xmm0
jmp 0x1400023b2
movsd xmm1, qword [0x1400090e8]
call fcn.140002250
mulsd xmm0, qword [rax]
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 0x140002410
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097d8]
jmp 0x140002338
cmp byte [0x1400097bf], 1
jne 0x14000242c
mov rax, rbx
shl rax, 4
add rax, qword [0x140009838]
jmp 0x140002338
cmp byte [0x1400097bd], 1
jne 0x140002448
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097f0]
jmp 0x140002338
cmp byte [0x1400097b7], 1
jne 0x14000249f
mov rax, rbx
shl rax, 4
add rax, qword [0x140009808]
cmp byte [0x1400097b0], 1
jne 0x1400023aa
cmp byte [0x1400097b1], 1
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
je 0x140002492
cmp byte [0x1400097b4], 1
jne 0x140002392
movsd xmm1, qword [0x1400066b0]
jmp 0x1400023b2
cmp byte [0x1400097b3], 1
jne 0x140002512
movzx eax, byte [0x1400097b0]
cmp al, 1
jne 0x1400024e9
cmp byte [0x1400097b1], al
movsd xmm2, qword [0x1400066b0]
movsd qword [0x1400090e0], xmm2
je 0x1400024f1
cmp byte [0x1400097b4], al
je 0x1400024f1
cmp byte [0x1400097b6], al
jne 0x1400024f1
cmp al, al
jne 0x1400024f1
movsd xmm2, qword [0x1400066c8]
jmp 0x1400024f1
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
mov rax, qword [0x140009820]
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rax + rbx*8]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x1400023bf
cmp byte [0x1400097bc], 1
jne 0x1400027eb
cmp byte [0x1400097b0], 1
mov rcx, qword [0x140009850]
jne 0x140002568
cmp byte [0x1400097b1], 1
je 0x14000255e
cmp byte [0x1400097b4], 1
je 0x14000255e
cmp byte [0x1400097b6], 1
jne 0x140002554
movsd xmm2, qword [0x1400066c8]
jmp 0x140002570
movsd xmm2, qword [0x1400090e0]
jmp 0x140002570
movsd xmm2, qword [0x1400066b0]
jmp 0x140002570
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rcx + rbx*8]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x1400023bf
cmp byte [0x1400097b2], 1
jne 0x140002659
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097c0]
cmp byte [0x1400097b0], 1
jne 0x140002617
cmp byte [0x1400097b3], 1
movsd xmm0, qword [0x1400066b0]
jne 0x1400025cc
movsd qword [0x1400090e0], xmm0
movaps xmm1, xmm0
jmp 0x1400025d4
movsd xmm1, qword [0x1400090e0]
cmp byte [0x1400097b7], 1
jne 0x1400025ed
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
cmp byte [0x1400097b1], 1
je 0x140002612
cmp byte [0x1400097b4], 1
je 0x140002612
cmp byte [0x1400097b6], 1
jne 0x14000261f
movsd xmm1, qword [0x1400066c8]
jmp 0x14000261f
movaps xmm1, xmm0
jmp 0x14000261f
movsd xmm1, qword [0x1400090e8]
call fcn.140002250
mulsd xmm0, qword [rax]
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 0x140002675
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097d8]
jmp 0x1400025a5
cmp byte [0x1400097bf], 1
jne 0x140002691
mov rax, rbx
shl rax, 4
add rax, qword [0x140009838]
jmp 0x1400025a5
cmp byte [0x1400097bd], 1
jne 0x1400026ad
mov rax, rbx
shl rax, 4
add rax, qword [0x1400097f0]
jmp 0x1400025a5
cmp byte [0x1400097b7], 1
jne 0x140002704
mov rax, rbx
shl rax, 4
add rax, qword [0x140009808]
cmp byte [0x1400097b0], 1
jne 0x140002617
cmp byte [0x1400097b1], 1
movsd xmm1, qword [0x1400066b8]
movsd qword [0x1400090e0], xmm1
je 0x1400026f7
cmp byte [0x1400097b4], 1
jne 0x1400025ff
movsd xmm1, qword [0x1400066b0]
jmp 0x14000261f
cmp byte [0x1400097b3], 1
jne 0x140002777
movzx eax, byte [0x1400097b0]
mov rdx, qword [0x140009820]
cmp al, 1
jne 0x140002755
cmp byte [0x1400097b1], al
movsd xmm2, qword [0x1400066b0]
movsd qword [0x1400090e0], xmm2
je 0x14000275d
cmp byte [0x1400097b4], al
je 0x14000275d
cmp byte [0x1400097b6], al
jne 0x14000275d
cmp al, al
jne 0x14000275d
movsd xmm2, qword [0x1400066c8]
jmp 0x14000275d
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rdx + rbx*8]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x14000262c
cmp byte [0x1400097bc], 1
jne 0x1400027eb
cmp byte [0x1400097b0], 1
mov rcx, qword [0x140009850]
jne 0x1400027c9
cmp byte [0x1400097b1], 1
je 0x1400027bf
cmp byte [0x1400097b4], 1
je 0x1400027bf
cmp byte [0x1400097b6], 1
jne 0x1400027b5
movsd xmm2, qword [0x1400066c8]
jmp 0x1400027d1
movsd xmm2, qword [0x1400090e0]
jmp 0x1400027d1
movsd xmm2, qword [0x1400066b0]
jmp 0x1400027d1
movsd xmm2, qword [0x1400090e8]
call fcn.140002250
xorps xmm1, xmm1
cvtsi2sd xmm1, dword [rcx + rbx*8]
mulsd xmm0, xmm1
mulsd xmm0, xmm2
jmp 0x14000262c
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret