Function at 0x140051170
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 0x14005156c
cmp byte [0x1400689e3], 1
jne 0x140051266
mov rax, rbx
shl rax, 4
add rax, qword [0x140068aa0]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689e6], 1
jne 0x1400511cc
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400511d4
movsd xmm1, qword [0x1400682c8]
cmp byte [0x1400689ca], 1
je 0x1400511f9
cmp byte [0x1400689e1], 1
je 0x1400511f9
cmp byte [0x1400689e4], 1
jne 0x14005120b
movsd xmm1, qword [0x14005e7b8]
jmp 0x14005120b
movsd xmm1, qword [0x14005e7a0]
jmp 0x14005120b
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
movaps xmm3, xmm0
movss xmm0, dword [0x14006809c]
mulsd xmm3, qword [rax]
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 0x1400512ac
mov rax, rbx
shl rax, 4
add rax, qword [0x1400689f8]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689e6], 1
jne 0x1400511cc
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400511d4
cmp byte [0x1400689f4], 1
jne 0x1400512f2
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a40]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689e6], 1
jne 0x1400511cc
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400511d4
cmp byte [0x1400689cf], 1
jne 0x140051338
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a70]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689e6], 1
jne 0x1400511cc
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400511d4
cmp byte [0x1400689e6], 1
jne 0x1400513a8
movzx ecx, byte [0x1400689cb]
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a58]
cmp cl, 1
jne 0x140051203
cmp byte [0x1400689ca], cl
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
je 0x1400511f9
cmp byte [0x1400689e1], cl
je 0x1400511f9
cmp byte [0x1400689e4], cl
jne 0x14005120b
cmp cl, cl
jne 0x14005120b
movsd xmm1, qword [0x14005e7b8]
jmp 0x14005120b
cmp byte [0x1400689e7], 1
jne 0x140051400
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a10]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689ca], 1
je 0x1400511f9
cmp byte [0x1400689e1], 1
je 0x1400511f9
cmp byte [0x1400689e4], 1
je 0x1400511ef
movsd xmm1, qword [0x1400682c8]
jmp 0x14005120b
cmp byte [0x1400689cd], 1
jne 0x140051454
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a28]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689ca], 1
je 0x1400511f9
cmp byte [0x1400689e1], 1
je 0x1400511f9
cmp byte [0x1400689e4], 1
jne 0x1400513f3
movsd xmm1, qword [0x14005e7b8]
jmp 0x14005120b
cmp byte [0x1400689e5], 1
jne 0x1400514ac
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a88]
cmp byte [0x1400689cb], 1
jne 0x140051203
cmp byte [0x1400689ca], 1
je 0x1400511f9
cmp byte [0x1400689e1], 1
je 0x1400511f9
cmp byte [0x1400689e4], 1
jne 0x1400513f3
movsd xmm1, qword [0x14005e7b8]
jmp 0x14005120b
cmp byte [0x1400689ce], 1
jne 0x140051917
cmp byte [0x1400689cb], 1
jne 0x1400514fb
cmp byte [0x1400689ca], 1
je 0x1400514f1
cmp byte [0x1400689e1], 1
je 0x1400514f1
cmp byte [0x1400689e4], 1
jne 0x1400514e7
movsd xmm1, qword [0x14005e7b8]
jmp 0x140051503
movsd xmm1, qword [0x1400682c8]
jmp 0x140051503
movsd xmm1, qword [0x14005e7a0]
jmp 0x140051503
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]
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 0x140051637
mov rax, rbx
shl rax, 4
add rax, qword [0x140068aa0]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689e6], 1
jne 0x1400515ab
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400515b3
movsd xmm1, qword [0x1400682c8]
cmp byte [0x1400689ca], 1
je 0x1400515d8
cmp byte [0x1400689e1], 1
je 0x1400515d8
cmp byte [0x1400689e4], 1
jne 0x1400515ea
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400515ea
movsd xmm1, qword [0x14005e7a0]
jmp 0x1400515ea
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
mulsd xmm0, qword [rax]
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 0x1400516bf
cmp byte [0x1400689cb], 1
jne 0x14005169b
cmp byte [0x1400689e6], 1
jne 0x140051664
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x14005166c
movsd xmm1, qword [0x1400682c8]
cmp byte [0x1400689ca], 1
je 0x140051691
cmp byte [0x1400689e1], 1
je 0x140051691
cmp byte [0x1400689e4], 1
jne 0x1400516a3
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400516a3
movsd xmm1, qword [0x14005e7a0]
jmp 0x1400516a3
movsd xmm1, qword [0x1400682d8]
call fcn.140050f90
mov rax, qword [0x1400689f8]
mov rcx, rbx
add rcx, rcx
mulsd xmm0, qword [rax + rcx*8]
jmp 0x1400515f3
cmp byte [0x1400689f4], 1
jne 0x140051705
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a40]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689e6], 1
jne 0x1400515ab
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400515b3
cmp byte [0x1400689cf], 1
jne 0x14005174b
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a70]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689e6], 1
jne 0x1400515ab
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
jmp 0x1400515b3
cmp byte [0x1400689e6], 1
jne 0x1400517bb
movzx ecx, byte [0x1400689cb]
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a58]
cmp cl, 1
jne 0x1400515e2
cmp byte [0x1400689ca], cl
movsd xmm1, qword [0x14005e7a8]
movsd qword [0x1400682c8], xmm1
je 0x1400515d8
cmp byte [0x1400689e1], cl
je 0x1400515d8
cmp byte [0x1400689e4], cl
jne 0x1400515ea
cmp cl, cl
jne 0x1400515ea
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400515ea
cmp byte [0x1400689e7], 1
jne 0x140051813
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a10]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689ca], 1
je 0x1400515d8
cmp byte [0x1400689e1], 1
je 0x1400515d8
cmp byte [0x1400689e4], 1
je 0x1400515ce
movsd xmm1, qword [0x1400682c8]
jmp 0x1400515ea
cmp byte [0x1400689cd], 1
jne 0x140051867
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a28]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689ca], 1
je 0x1400515d8
cmp byte [0x1400689e1], 1
je 0x1400515d8
cmp byte [0x1400689e4], 1
jne 0x140051806
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400515ea
cmp byte [0x1400689e5], 1
jne 0x1400518bf
mov rax, rbx
shl rax, 4
add rax, qword [0x140068a88]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689ca], 1
je 0x1400515d8
cmp byte [0x1400689e1], 1
je 0x1400515d8
cmp byte [0x1400689e4], 1
jne 0x140051806
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400515ea
cmp byte [0x1400689ce], 1
jne 0x140051917
mov rax, rbx
shl rax, 4
add rax, qword [0x140068ac8]
cmp byte [0x1400689cb], 1
jne 0x1400515e2
cmp byte [0x1400689ca], 1
je 0x1400515d8
cmp byte [0x1400689e1], 1
je 0x1400515d8
cmp byte [0x1400689e4], 1
jne 0x140051806
movsd xmm1, qword [0x14005e7b8]
jmp 0x1400515ea
xorps xmm0, xmm0
add rsp, 0x20
pop rbx
ret