Function at 0x1400421e0
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 0x1400425de
cmp byte [0x140085784], 1
jne 0x1400422d7
mov rax, rbx
shl rax, 4
add rax, qword [0x140085858]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085789], 1
jne 0x14004223c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042244
movsd xmm1, qword [0x140084d28]
cmp byte [0x140085752], 1
je 0x140042269
cmp byte [0x140085776], 1
je 0x140042269
cmp byte [0x140085786], 1
jne 0x14004227b
movsd xmm1, qword [0x140053a28]
jmp 0x14004227b
movsd xmm1, qword [0x140053a10]
jmp 0x14004227b
movsd xmm1, qword [0x140084d38]
call fcn.140041850
movaps xmm3, xmm0
movss xmm0, dword [0x14005e674]
mulsd xmm3, qword [rax + 8]
mov eax, dword [0x14005e6a4]
mulss xmm0, dword [0x140053a30]
add eax, eax
mulsd xmm3, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
cvtps2pd xmm2, xmm0
divsd xmm1, qword [0x140053a68]
mulsd xmm2, qword [0x140053ba8]
mulsd xmm2, qword [0x140053a38]
mulsd xmm2, xmm1
divsd xmm3, xmm2
movaps xmm0, xmm3
add rsp, 0x20
pop rbx
ret
cmp byte [0x140085754], 1
jne 0x14004231d
mov rax, rbx
shl rax, 4
add rax, qword [0x140085790]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085789], 1
jne 0x14004223c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042244
cmp byte [0x14008578b], 1
jne 0x140042363
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857d8]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085789], 1
jne 0x14004223c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042244
cmp byte [0x140085774], 1
jne 0x1400423a9
mov rax, rbx
shl rax, 4
add rax, qword [0x140085828]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085789], 1
jne 0x14004223c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042244
cmp byte [0x140085789], 1
jne 0x140042419
movzx ecx, byte [0x140085753]
mov rax, rbx
shl rax, 4
add rax, qword [0x140085810]
cmp cl, 1
jne 0x140042273
cmp byte [0x140085752], cl
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
je 0x140042269
cmp byte [0x140085776], cl
je 0x140042269
cmp byte [0x140085786], cl
jne 0x14004227b
cmp cl, cl
jne 0x14004227b
movsd xmm1, qword [0x140053a28]
jmp 0x14004227b
cmp byte [0x14008578a], 1
jne 0x140042471
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857a8]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085752], 1
je 0x140042269
cmp byte [0x140085776], 1
je 0x140042269
cmp byte [0x140085786], 1
je 0x14004225f
movsd xmm1, qword [0x140084d28]
jmp 0x14004227b
cmp byte [0x140085756], 1
jne 0x1400424c5
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857c0]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085752], 1
je 0x140042269
cmp byte [0x140085776], 1
je 0x140042269
cmp byte [0x140085786], 1
jne 0x140042464
movsd xmm1, qword [0x140053a28]
jmp 0x14004227b
cmp byte [0x140085787], 1
jne 0x14004251d
mov rax, rbx
shl rax, 4
add rax, qword [0x140085840]
cmp byte [0x140085753], 1
jne 0x140042273
cmp byte [0x140085752], 1
je 0x140042269
cmp byte [0x140085776], 1
je 0x140042269
cmp byte [0x140085786], 1
jne 0x140042464
movsd xmm1, qword [0x140053a28]
jmp 0x14004227b
cmp byte [0x140085757], 1
jne 0x14004298f
cmp byte [0x140085753], 1
jne 0x14004256c
cmp byte [0x140085752], 1
je 0x140042562
cmp byte [0x140085776], 1
je 0x140042562
cmp byte [0x140085786], 1
jne 0x140042558
movsd xmm1, qword [0x140053a28]
jmp 0x140042574
movsd xmm1, qword [0x140084d28]
jmp 0x140042574
movsd xmm1, qword [0x140053a10]
jmp 0x140042574
movsd xmm1, qword [0x140084d38]
call fcn.140041850
mov rax, qword [0x140085890]
movaps xmm3, xmm0
movss xmm0, dword [0x14005e674]
mov rcx, rbx
mulss xmm0, dword [0x140053a30]
add rcx, rcx
mulsd xmm3, qword [rax + rcx*8 + 8]
mov eax, dword [0x14005e6a4]
add eax, eax
cvtps2pd xmm2, xmm0
mulsd xmm3, xmm1
xorps xmm1, xmm1
mulsd xmm2, qword [0x140053ba8]
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x140053a38]
divsd xmm1, qword [0x140053a68]
mulsd xmm2, xmm1
divsd xmm3, xmm2
movaps xmm0, xmm3
add rsp, 0x20
pop rbx
ret
cmp byte [0x140085784], 1
jne 0x1400426aa
mov rax, rbx
shl rax, 4
add rax, qword [0x140085858]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085789], 1
jne 0x14004261d
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042625
movsd xmm1, qword [0x140084d28]
cmp byte [0x140085752], 1
je 0x14004264a
cmp byte [0x140085776], 1
je 0x14004264a
cmp byte [0x140085786], 1
jne 0x14004265c
movsd xmm1, qword [0x140053a28]
jmp 0x14004265c
movsd xmm1, qword [0x140053a10]
jmp 0x14004265c
movsd xmm1, qword [0x140084d38]
call fcn.140041850
mulsd xmm0, qword [rax + 8]
mov eax, dword [0x14005e6a4]
movss xmm2, dword [0x14005e674]
add eax, eax
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x140053ba8]
divsd xmm1, qword [0x140053a68]
mulsd xmm2, qword [0x140053a38]
mulsd xmm2, xmm1
divsd xmm0, xmm2
add rsp, 0x20
pop rbx
ret
cmp byte [0x140085754], 1
jne 0x140042737
cmp byte [0x140085753], 1
jne 0x140042712
cmp byte [0x140085789], 1
jne 0x1400426db
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x1400426e3
movsd xmm1, qword [0x140084d28]
cmp byte [0x140085752], 1
je 0x140042708
cmp byte [0x140085776], 1
je 0x140042708
cmp byte [0x140085786], 1
jne 0x14004271a
movsd xmm1, qword [0x140053a28]
jmp 0x14004271a
movsd xmm1, qword [0x140053a10]
jmp 0x14004271a
movsd xmm1, qword [0x140084d38]
call fcn.140041850
mov rax, qword [0x140085790]
mov rcx, rbx
add rcx, rcx
mulsd xmm0, qword [rax + rcx*8 + 8]
jmp 0x140042666
cmp byte [0x14008578b], 1
jne 0x14004277d
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857d8]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085789], 1
jne 0x14004261d
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042625
cmp byte [0x140085774], 1
jne 0x1400427c3
mov rax, rbx
shl rax, 4
add rax, qword [0x140085828]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085789], 1
jne 0x14004261d
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140042625
cmp byte [0x140085789], 1
jne 0x140042833
movzx ecx, byte [0x140085753]
mov rax, rbx
shl rax, 4
add rax, qword [0x140085810]
cmp cl, 1
jne 0x140042654
cmp byte [0x140085752], cl
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
je 0x14004264a
cmp byte [0x140085776], cl
je 0x14004264a
cmp byte [0x140085786], cl
jne 0x14004265c
cmp cl, cl
jne 0x14004265c
movsd xmm1, qword [0x140053a28]
jmp 0x14004265c
cmp byte [0x14008578a], 1
jne 0x14004288b
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857a8]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085752], 1
je 0x14004264a
cmp byte [0x140085776], 1
je 0x14004264a
cmp byte [0x140085786], 1
je 0x140042640
movsd xmm1, qword [0x140084d28]
jmp 0x14004265c
cmp byte [0x140085756], 1
jne 0x1400428df
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857c0]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085752], 1
je 0x14004264a
cmp byte [0x140085776], 1
je 0x14004264a
cmp byte [0x140085786], 1
jne 0x14004287e
movsd xmm1, qword [0x140053a28]
jmp 0x14004265c
cmp byte [0x140085787], 1
jne 0x140042937
mov rax, rbx
shl rax, 4
add rax, qword [0x140085840]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085752], 1
je 0x14004264a
cmp byte [0x140085776], 1
je 0x14004264a
cmp byte [0x140085786], 1
jne 0x14004287e
movsd xmm1, qword [0x140053a28]
jmp 0x14004265c
cmp byte [0x140085757], 1
jne 0x14004298f
mov rax, rbx
shl rax, 4
add rax, qword [0x140085890]
cmp byte [0x140085753], 1
jne 0x140042654
cmp byte [0x140085752], 1
je 0x14004264a
cmp byte [0x140085776], 1
je 0x14004264a
cmp byte [0x140085786], 1
jne 0x14004287e
movsd xmm1, qword [0x140053a28]
jmp 0x14004265c
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret