Function at 0x140051920
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 0x140051d1e
cmp byte [0x1400689e3], 1
jne 0x140051a17
mov rax, rbx
shl rax, 4
add rax, qword [0x140068aa0]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689e6], 1
jne 0x14005197c
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051984
movsd xmm1, qword [0x1400682c8]
cmp byte [0x1400689ca], 1
je 0x1400519a9
cmp byte [0x1400689e1], 1
je 0x1400519a9
cmp byte [0x1400689e4], 1
jne 0x1400519bb
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400519bb
movsd xmm1, qword [0x14005e7a0]
jmp 0x1400519bb
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
movaps xmm3, xmm0
movss xmm0, dword [0x14006809c]
mulsd xmm3, qword [rax + 8]
mov eax, dword [0x1400680a0]
mulss xmm0, dword [0x14005e7c0]
add eax, eax
mulsd xmm3, xmm1
xorps xmm1, xmm1
cvtsi2sd xmm1, eax
cvtps2pd xmm2, xmm0
divsd xmm1, qword [0x14005e818]
mulsd xmm2, qword [0x14005e8d8]
mulsd xmm2, qword [0x14005e7c8]
mulsd xmm2, xmm1
divsd xmm3, xmm2
movaps xmm0, xmm3
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400689cc], 1
jne 0x140051a5d
mov rax, rbx
shl rax, 4
add rax, qword [0x1400689f8]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689e6], 1
jne 0x14005197c
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051984
cmp byte [0x1400689f4], 1
jne 0x140051aa3
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a40]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689e6], 1
jne 0x14005197c
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051984
cmp byte [0x1400689cf], 1
jne 0x140051ae9
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a70]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689e6], 1
jne 0x14005197c
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051984
cmp byte [0x1400689e6], 1
jne 0x140051b59
movzx ecx, byte [0x1400689cb]
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a58]
cmp cl, 1
jne 0x1400519b3
cmp byte [0x1400689ca], cl
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
je 0x1400519a9
cmp byte [0x1400689e1], cl
je 0x1400519a9
cmp byte [0x1400689e4], cl
jne 0x1400519bb
cmp cl, cl
jne 0x1400519bb
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400519bb
cmp byte [0x1400689e7], 1
jne 0x140051bb1
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a10]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689ca], 1
je 0x1400519a9
cmp byte [0x1400689e1], 1
je 0x1400519a9
cmp byte [0x1400689e4], 1
je 0x14005199f
movsd xmm1, qword [0x1400682c8]
jmp 0x1400519bb
cmp byte [0x1400689cd], 1
jne 0x140051c05
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a28]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689ca], 1
je 0x1400519a9
cmp byte [0x1400689e1], 1
je 0x1400519a9
cmp byte [0x1400689e4], 1
jne 0x140051ba4
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400519bb
cmp byte [0x1400689e5], 1
jne 0x140051c5d
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a88]
cmp byte [0x1400689cb], 1
jne 0x1400519b3
cmp byte [0x1400689ca], 1
je 0x1400519a9
cmp byte [0x1400689e1], 1
je 0x1400519a9
cmp byte [0x1400689e4], 1
jne 0x140051ba4
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400519bb
cmp byte [0x1400689ce], 1
jne 0x1400520cf
cmp byte [0x1400689cb], 1
jne 0x140051cac
cmp byte [0x1400689ca], 1
je 0x140051ca2
cmp byte [0x1400689e1], 1
je 0x140051ca2
cmp byte [0x1400689e4], 1
jne 0x140051c98
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051cb4
movsd xmm1, qword [0x1400682c8]
jmp 0x140051cb4
movsd xmm1, qword [0x14005e7a0]
jmp 0x140051cb4
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
mov rax, qword [0x140068ac8]
movaps xmm3, xmm0
movss xmm0, dword [0x14006809c]
mov rcx, rbx
mulss xmm0, dword [0x14005e7c0]
add rcx, rcx
mulsd xmm3, qword [rax + rcx*8 + 8]
mov eax, dword [0x1400680a0]
add eax, eax
cvtps2pd xmm2, xmm0
mulsd xmm3, xmm1
xorps xmm1, xmm1
mulsd xmm2, qword [0x14005e8d8]
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x14005e7c8]
divsd xmm1, qword [0x14005e818]
mulsd xmm2, xmm1
divsd xmm3, xmm2
movaps xmm0, xmm3
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400689e3], 1
jne 0x140051dea
mov rax, rbx
shl rax, 4
add rax, qword [0x140068aa0]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689e6], 1
jne 0x140051d5d
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051d65
movsd xmm1, qword [0x1400682c8]
cmp byte [0x1400689ca], 1
je 0x140051d8a
cmp byte [0x1400689e1], 1
je 0x140051d8a
cmp byte [0x1400689e4], 1
jne 0x140051d9c
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051d9c
movsd xmm1, qword [0x14005e7a0]
jmp 0x140051d9c
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
mulsd xmm0, qword [rax + 8]
mov eax, dword [0x1400680a0]
movss xmm2, dword [0x14006809c]
add eax, eax
mulsd xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm2, xmm2
cvtsi2sd xmm1, eax
mulsd xmm2, qword [0x14005e8d8]
divsd xmm1, qword [0x14005e818]
mulsd xmm2, qword [0x14005e7c8]
mulsd xmm2, xmm1
divsd xmm0, xmm2
add rsp, 0x20
pop rbx
ret
cmp byte [0x1400689cc], 1
jne 0x140051e77
cmp byte [0x1400689cb], 1
jne 0x140051e52
cmp byte [0x1400689e6], 1
jne 0x140051e1b
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051e23
movsd xmm1, qword [0x1400682c8]
cmp byte [0x1400689ca], 1
je 0x140051e48
cmp byte [0x1400689e1], 1
je 0x140051e48
cmp byte [0x1400689e4], 1
jne 0x140051e5a
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051e5a
movsd xmm1, qword [0x14005e7a0]
jmp 0x140051e5a
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
mov rax, qword [0x1400689f8]
mov rcx, rbx
add rcx, rcx
mulsd xmm0, qword [rax + rcx*8 + 8]
jmp 0x140051da6
cmp byte [0x1400689f4], 1
jne 0x140051ebd
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a40]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689e6], 1
jne 0x140051d5d
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051d65
cmp byte [0x1400689cf], 1
jne 0x140051f03
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a70]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689e6], 1
jne 0x140051d5d
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x140051d65
cmp byte [0x1400689e6], 1
jne 0x140051f73
movzx ecx, byte [0x1400689cb]
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a58]
cmp cl, 1
jne 0x140051d94
cmp byte [0x1400689ca], cl
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
je 0x140051d8a
cmp byte [0x1400689e1], cl
je 0x140051d8a
cmp byte [0x1400689e4], cl
jne 0x140051d9c
cmp cl, cl
jne 0x140051d9c
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051d9c
cmp byte [0x1400689e7], 1
jne 0x140051fcb
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a10]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689ca], 1
je 0x140051d8a
cmp byte [0x1400689e1], 1
je 0x140051d8a
cmp byte [0x1400689e4], 1
je 0x140051d80
movsd xmm1, qword [0x1400682c8]
jmp 0x140051d9c
cmp byte [0x1400689cd], 1
jne 0x14005201f
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a28]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689ca], 1
je 0x140051d8a
cmp byte [0x1400689e1], 1
je 0x140051d8a
cmp byte [0x1400689e4], 1
jne 0x140051fbe
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051d9c
cmp byte [0x1400689e5], 1
jne 0x140052077
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a88]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689ca], 1
je 0x140051d8a
cmp byte [0x1400689e1], 1
je 0x140051d8a
cmp byte [0x1400689e4], 1
jne 0x140051fbe
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051d9c
cmp byte [0x1400689ce], 1
jne 0x1400520cf
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ac8]
cmp byte [0x1400689cb], 1
jne 0x140051d94
cmp byte [0x1400689ca], 1
je 0x140051d8a
cmp byte [0x1400689e1], 1
je 0x140051d8a
cmp byte [0x1400689e4], 1
jne 0x140051fbe
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051d9c
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret