Function at 0x140041a30
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 0x140041e2c
cmp byte [0x140085784], 1
jne 0x140041b26
mov rax, rbx
shl rax, 4
add rax, qword [0x140085858]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085789], 1
jne 0x140041a8c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041a94
movsd xmm1, qword [0x140084d28]
cmp byte [0x140085752], 1
je 0x140041ab9
cmp byte [0x140085776], 1
je 0x140041ab9
cmp byte [0x140085786], 1
jne 0x140041acb
movsd xmm1, qword [0x140053a28]
jmp 0x140041acb
movsd xmm1, qword [0x140053a10]
jmp 0x140041acb
movsd xmm1, qword [0x140084d38]
call fcn.140041850
movaps xmm3, xmm0
movss xmm0, dword [0x14005e674]
mulsd xmm3, qword [rax]
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 0x140041b6c
mov rax, rbx
shl rax, 4
add rax, qword [0x140085790]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085789], 1
jne 0x140041a8c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041a94
cmp byte [0x14008578b], 1
jne 0x140041bb2
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857d8]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085789], 1
jne 0x140041a8c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041a94
cmp byte [0x140085774], 1
jne 0x140041bf8
mov rax, rbx
shl rax, 4
add rax, qword [0x140085828]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085789], 1
jne 0x140041a8c
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041a94
cmp byte [0x140085789], 1
jne 0x140041c68
movzx ecx, byte [0x140085753]
mov rax, rbx
shl rax, 4
add rax, qword [0x140085810]
cmp cl, 1
jne 0x140041ac3
cmp byte [0x140085752], cl
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
je 0x140041ab9
cmp byte [0x140085776], cl
je 0x140041ab9
cmp byte [0x140085786], cl
jne 0x140041acb
cmp cl, cl
jne 0x140041acb
movsd xmm1, qword [0x140053a28]
jmp 0x140041acb
cmp byte [0x14008578a], 1
jne 0x140041cc0
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857a8]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085752], 1
je 0x140041ab9
cmp byte [0x140085776], 1
je 0x140041ab9
cmp byte [0x140085786], 1
je 0x140041aaf
movsd xmm1, qword [0x140084d28]
jmp 0x140041acb
cmp byte [0x140085756], 1
jne 0x140041d14
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857c0]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085752], 1
je 0x140041ab9
cmp byte [0x140085776], 1
je 0x140041ab9
cmp byte [0x140085786], 1
jne 0x140041cb3
movsd xmm1, qword [0x140053a28]
jmp 0x140041acb
cmp byte [0x140085787], 1
jne 0x140041d6c
mov rax, rbx
shl rax, 4
add rax, qword [0x140085840]
cmp byte [0x140085753], 1
jne 0x140041ac3
cmp byte [0x140085752], 1
je 0x140041ab9
cmp byte [0x140085776], 1
je 0x140041ab9
cmp byte [0x140085786], 1
jne 0x140041cb3
movsd xmm1, qword [0x140053a28]
jmp 0x140041acb
cmp byte [0x140085757], 1
jne 0x1400421d7
cmp byte [0x140085753], 1
jne 0x140041dbb
cmp byte [0x140085752], 1
je 0x140041db1
cmp byte [0x140085776], 1
je 0x140041db1
cmp byte [0x140085786], 1
jne 0x140041da7
movsd xmm1, qword [0x140053a28]
jmp 0x140041dc3
movsd xmm1, qword [0x140084d28]
jmp 0x140041dc3
movsd xmm1, qword [0x140053a10]
jmp 0x140041dc3
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]
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 0x140041ef7
mov rax, rbx
shl rax, 4
add rax, qword [0x140085858]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085789], 1
jne 0x140041e6b
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041e73
movsd xmm1, qword [0x140084d28]
cmp byte [0x140085752], 1
je 0x140041e98
cmp byte [0x140085776], 1
je 0x140041e98
cmp byte [0x140085786], 1
jne 0x140041eaa
movsd xmm1, qword [0x140053a28]
jmp 0x140041eaa
movsd xmm1, qword [0x140053a10]
jmp 0x140041eaa
movsd xmm1, qword [0x140084d38]
call fcn.140041850
mulsd xmm0, qword [rax]
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 0x140041f7f
cmp byte [0x140085753], 1
jne 0x140041f5b
cmp byte [0x140085789], 1
jne 0x140041f24
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041f2c
movsd xmm1, qword [0x140084d28]
cmp byte [0x140085752], 1
je 0x140041f51
cmp byte [0x140085776], 1
je 0x140041f51
cmp byte [0x140085786], 1
jne 0x140041f63
movsd xmm1, qword [0x140053a28]
jmp 0x140041f63
movsd xmm1, qword [0x140053a10]
jmp 0x140041f63
movsd xmm1, qword [0x140084d38]
call fcn.140041850
mov rax, qword [0x140085790]
mov rcx, rbx
add rcx, rcx
mulsd xmm0, qword [rax + rcx*8]
jmp 0x140041eb3
cmp byte [0x14008578b], 1
jne 0x140041fc5
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857d8]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085789], 1
jne 0x140041e6b
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041e73
cmp byte [0x140085774], 1
jne 0x14004200b
mov rax, rbx
shl rax, 4
add rax, qword [0x140085828]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085789], 1
jne 0x140041e6b
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
jmp 0x140041e73
cmp byte [0x140085789], 1
jne 0x14004207b
movzx ecx, byte [0x140085753]
mov rax, rbx
shl rax, 4
add rax, qword [0x140085810]
cmp cl, 1
jne 0x140041ea2
cmp byte [0x140085752], cl
movsd xmm1, qword [0x140053a18]
movsd qword [0x140084d28], xmm1
je 0x140041e98
cmp byte [0x140085776], cl
je 0x140041e98
cmp byte [0x140085786], cl
jne 0x140041eaa
cmp cl, cl
jne 0x140041eaa
movsd xmm1, qword [0x140053a28]
jmp 0x140041eaa
cmp byte [0x14008578a], 1
jne 0x1400420d3
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857a8]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085752], 1
je 0x140041e98
cmp byte [0x140085776], 1
je 0x140041e98
cmp byte [0x140085786], 1
je 0x140041e8e
movsd xmm1, qword [0x140084d28]
jmp 0x140041eaa
cmp byte [0x140085756], 1
jne 0x140042127
mov rax, rbx
shl rax, 4
add rax, qword [0x1400857c0]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085752], 1
je 0x140041e98
cmp byte [0x140085776], 1
je 0x140041e98
cmp byte [0x140085786], 1
jne 0x1400420c6
movsd xmm1, qword [0x140053a28]
jmp 0x140041eaa
cmp byte [0x140085787], 1
jne 0x14004217f
mov rax, rbx
shl rax, 4
add rax, qword [0x140085840]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085752], 1
je 0x140041e98
cmp byte [0x140085776], 1
je 0x140041e98
cmp byte [0x140085786], 1
jne 0x1400420c6
movsd xmm1, qword [0x140053a28]
jmp 0x140041eaa
cmp byte [0x140085757], 1
jne 0x1400421d7
mov rax, rbx
shl rax, 4
add rax, qword [0x140085890]
cmp byte [0x140085753], 1
jne 0x140041ea2
cmp byte [0x140085752], 1
je 0x140041e98
cmp byte [0x140085776], 1
je 0x140041e98
cmp byte [0x140085786], 1
jne 0x1400420c6
movsd xmm1, qword [0x140053a28]
jmp 0x140041eaa
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret