Function at 0x1400513c0
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 0x1400517bc
cmp byte [0x140068a53], 1
jne 0x1400514b6
mov rax, rbx
shl rax, 4
add rax, qword [0x140068b10]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a56], 1
jne 0x14005141c
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051424
movsd xmm1, qword [0x140068338]
cmp byte [0x140068a3a], 1
je 0x140051449
cmp byte [0x140068a51], 1
je 0x140051449
cmp byte [0x140068a54], 1
jne 0x14005145b
movsd xmm1, qword [0x14005e760]
jmp 0x14005145b
movsd xmm1, qword [0x14005e748]
jmp 0x14005145b
movsd xmm1, qword [0x140068348]
call fcn.1400511e0
movaps xmm3, xmm0
movss xmm0, dword [0x14006810c]
mulsd xmm3, qword [rax]
mov eax, dword [0x140068110]
mulss xmm0, dword [0x14005e768]
add eax, eax
mulsd xmm3, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
cvtps2pd xmm2, xmm0
divsd xmm1, qword [0x14005e7c0]
mulsd xmm2, qword [0x14005e880]
mulsd xmm2, qword [0x14005e770]
mulsd xmm2, xmm1
divsd xmm3, xmm2
movaps xmm0, xmm3
add rsp, 0x20
pop rbx
ret
cmp byte [0x140068a3c], 1
jne 0x1400514fc
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a68]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a56], 1
jne 0x14005141c
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051424
cmp byte [0x140068a64], 1
jne 0x140051542
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ab0]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a56], 1
jne 0x14005141c
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051424
cmp byte [0x140068a3f], 1
jne 0x140051588
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ae0]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a56], 1
jne 0x14005141c
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051424
cmp byte [0x140068a56], 1
jne 0x1400515f8
movzx ecx, byte [0x140068a3b]
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ac8]
cmp cl, 1
jne 0x140051453
cmp byte [0x140068a3a], cl
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
je 0x140051449
cmp byte [0x140068a51], cl
je 0x140051449
cmp byte [0x140068a54], cl
jne 0x14005145b
cmp cl, cl
jne 0x14005145b
movsd xmm1, qword [0x14005e760]
jmp 0x14005145b
cmp byte [0x140068a57], 1
jne 0x140051650
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a80]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a3a], 1
je 0x140051449
cmp byte [0x140068a51], 1
je 0x140051449
cmp byte [0x140068a54], 1
je 0x14005143f
movsd xmm1, qword [0x140068338]
jmp 0x14005145b
cmp byte [0x140068a3d], 1
jne 0x1400516a4
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a98]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a3a], 1
je 0x140051449
cmp byte [0x140068a51], 1
je 0x140051449
cmp byte [0x140068a54], 1
jne 0x140051643
movsd xmm1, qword [0x14005e760]
jmp 0x14005145b
cmp byte [0x140068a55], 1
jne 0x1400516fc
mov rax, rbx
shl rax, 4
add rax, qword [0x140068af8]
cmp byte [0x140068a3b], 1
jne 0x140051453
cmp byte [0x140068a3a], 1
je 0x140051449
cmp byte [0x140068a51], 1
je 0x140051449
cmp byte [0x140068a54], 1
jne 0x140051643
movsd xmm1, qword [0x14005e760]
jmp 0x14005145b
cmp byte [0x140068a3e], 1
jne 0x140051b67
cmp byte [0x140068a3b], 1
jne 0x14005174b
cmp byte [0x140068a3a], 1
je 0x140051741
cmp byte [0x140068a51], 1
je 0x140051741
cmp byte [0x140068a54], 1
jne 0x140051737
movsd xmm1, qword [0x14005e760]
jmp 0x140051753
movsd xmm1, qword [0x140068338]
jmp 0x140051753
movsd xmm1, qword [0x14005e748]
jmp 0x140051753
movsd xmm1, qword [0x140068348]
call fcn.1400511e0
mov rax, qword [0x140068b38]
movaps xmm3, xmm0
movss xmm0, dword [0x14006810c]
mov rcx, rbx
mulss xmm0, dword [0x14005e768]
add rcx, rcx
mulsd xmm3, qword [rax + rcx*8]
mov eax, dword [0x140068110]
add eax, eax
cvtps2pd xmm2, xmm0
mulsd xmm3, xmm1
xorps xmm1, xmm1
mulsd xmm2, qword [0x14005e880]
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x14005e770]
divsd xmm1, qword [0x14005e7c0]
mulsd xmm2, xmm1
divsd xmm3, xmm2
movaps xmm0, xmm3
add rsp, 0x20
pop rbx
ret
cmp byte [0x140068a53], 1
jne 0x140051887
mov rax, rbx
shl rax, 4
add rax, qword [0x140068b10]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a56], 1
jne 0x1400517fb
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051803
movsd xmm1, qword [0x140068338]
cmp byte [0x140068a3a], 1
je 0x140051828
cmp byte [0x140068a51], 1
je 0x140051828
cmp byte [0x140068a54], 1
jne 0x14005183a
movsd xmm1, qword [0x14005e760]
jmp 0x14005183a
movsd xmm1, qword [0x14005e748]
jmp 0x14005183a
movsd xmm1, qword [0x140068348]
call fcn.1400511e0
mulsd xmm0, qword [rax]
mov eax, dword [0x140068110]
movss xmm2, dword [0x14006810c]
add eax, eax
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x14005e880]
divsd xmm1, qword [0x14005e7c0]
mulsd xmm2, qword [0x14005e770]
mulsd xmm2, xmm1
divsd xmm0, xmm2
add rsp, 0x20
pop rbx
ret
cmp byte [0x140068a3c], 1
jne 0x14005190f
cmp byte [0x140068a3b], 1
jne 0x1400518eb
cmp byte [0x140068a56], 1
jne 0x1400518b4
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x1400518bc
movsd xmm1, qword [0x140068338]
cmp byte [0x140068a3a], 1
je 0x1400518e1
cmp byte [0x140068a51], 1
je 0x1400518e1
cmp byte [0x140068a54], 1
jne 0x1400518f3
movsd xmm1, qword [0x14005e760]
jmp 0x1400518f3
movsd xmm1, qword [0x14005e748]
jmp 0x1400518f3
movsd xmm1, qword [0x140068348]
call fcn.1400511e0
mov rax, qword [0x140068a68]
mov rcx, rbx
add rcx, rcx
mulsd xmm0, qword [rax + rcx*8]
jmp 0x140051843
cmp byte [0x140068a64], 1
jne 0x140051955
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ab0]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a56], 1
jne 0x1400517fb
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051803
cmp byte [0x140068a3f], 1
jne 0x14005199b
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ae0]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a56], 1
jne 0x1400517fb
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
jmp 0x140051803
cmp byte [0x140068a56], 1
jne 0x140051a0b
movzx ecx, byte [0x140068a3b]
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ac8]
cmp cl, 1
jne 0x140051832
cmp byte [0x140068a3a], cl
movsd xmm1, qword [0x14005e750]
movsd qword [0x140068338], xmm1
je 0x140051828
cmp byte [0x140068a51], cl
je 0x140051828
cmp byte [0x140068a54], cl
jne 0x14005183a
cmp cl, cl
jne 0x14005183a
movsd xmm1, qword [0x14005e760]
jmp 0x14005183a
cmp byte [0x140068a57], 1
jne 0x140051a63
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a80]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a3a], 1
je 0x140051828
cmp byte [0x140068a51], 1
je 0x140051828
cmp byte [0x140068a54], 1
je 0x14005181e
movsd xmm1, qword [0x140068338]
jmp 0x14005183a
cmp byte [0x140068a3d], 1
jne 0x140051ab7
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a98]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a3a], 1
je 0x140051828
cmp byte [0x140068a51], 1
je 0x140051828
cmp byte [0x140068a54], 1
jne 0x140051a56
movsd xmm1, qword [0x14005e760]
jmp 0x14005183a
cmp byte [0x140068a55], 1
jne 0x140051b0f
mov rax, rbx
shl rax, 4
add rax, qword [0x140068af8]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a3a], 1
je 0x140051828
cmp byte [0x140068a51], 1
je 0x140051828
cmp byte [0x140068a54], 1
jne 0x140051a56
movsd xmm1, qword [0x14005e760]
jmp 0x14005183a
cmp byte [0x140068a3e], 1
jne 0x140051b67
mov rax, rbx
shl rax, 4
add rax, qword [0x140068b38]
cmp byte [0x140068a3b], 1
jne 0x140051832
cmp byte [0x140068a3a], 1
je 0x140051828
cmp byte [0x140068a51], 1
je 0x140051828
cmp byte [0x140068a54], 1
jne 0x140051a56
movsd xmm1, qword [0x14005e760]
jmp 0x14005183a
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret