Function at 0x1400214e0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 8], rcx
push rbp
push rdi
push r14
lea rbp, [rsp - 0x10f0]
mov eax, 0x11f0
call fcn.1400844a0
sub rsp, rax
movaps xmmword [rsp + 0x11e0], xmm6
xor sil, sil
movaps xmmword [rsp + 0x11d0], xmm7
xor r14d, r14d
movaps xmmword [rsp + 0x11c0], xmm8
movaps xmmword [rsp + 0x11b0], xmm9
movaps xmmword [rsp + 0x11a0], xmm10
movaps xmmword [rsp + 0x1190], xmm11
movss xmm11, dword [0x14028a2c0]
movaps xmmword [rsp + 0x1180], xmm12
movss xmm12, dword [0x14028a40c]
movaps xmmword [rsp + 0x1170], xmm13
movss xmm13, dword [0x14028a278]
movaps xmmword [rsp + 0x1160], xmm14
movss xmm14, dword [0x14028a300]
movaps xmmword [rsp + 0x1150], xmm15
movss xmm15, dword [0x14028a47c]
cmp qword [0x1402d1890], r14
je 0x1400215be
cmp qword [0x1402d18b0], r14
je 0x1400215be
cmp byte [0x1402d13f0], r14b
je 0x1400215be
cmp byte [0x1402d1468], r14b
jne 0x1400215cb
mov qword [0x1402d1058], r14
mov ecx, 0x12c
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x140021593
mov ecx, dword [0x1402d1484]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1400215e8
mov qword [0x1402d1058], r14
jmp 0x1400219c9
mov rdi, qword [0x1402b0230]
movaps xmm10, xmm15
mov rbx, qword [0x1402b0228]
cmp rbx, rdi
je 0x1400217f8
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400217e8
cmp rcx, qword [0x1402d1890]
je 0x1400217e8
comiss xmm12, dword [rbx + 0x34]
jae 0x1400217e8
cmp byte [0x1402d1494], r14b
jne 0x14002163a
cmp byte [rbx + 0x2c], r14b
jne 0x1400217e8
lea rdx, [rsp + 0x60]
call fcn.140081f10
movups xmm0, xmmword [0x1402d1184]
lea rdx, [rsp + 0x20]
movups xmm1, xmmword [0x1402d1194]
lea rcx, [rsp + 0x20]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1402d11a4]
movaps xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x1402d11b4]
movaps xmmword [rsp + 0x40], xmm0
movaps xmmword [rsp + 0x50], xmm1
call qword [sym.imp.d3dx9_43.dll_D3DXMatrixTranspose]
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x54]
movss xmm7, dword [rsp + 0x60]
movss xmm8, dword [rsp + 0x64]
movss xmm1, dword [rsp + 0x58]
movss xmm9, dword [rsp + 0x68]
mov eax, dword [0x1402d13ec]
mov ecx, dword [0x1402d13e8]
mulss xmm2, xmm7
mulss xmm0, xmm8
mulss xmm1, xmm9
addss xmm2, xmm0
addss xmm2, xmm1
addss xmm2, dword [rsp + 0x5c]
comiss xmm2, xmm13
ja 0x1400216e3
xorps xmm2, xmm2
xorps xmm6, xmm6
jmp 0x140021791
movss xmm5, dword [rsp + 0x30]
movaps xmm4, xmm14
movss xmm0, dword [rsp + 0x34]
movss xmm1, dword [rsp + 0x38]
movss xmm3, dword [rsp + 0x40]
divss xmm4, xmm2
xorps xmm2, xmm2
mulss xmm3, xmm7
cvtsi2ss xmm2, eax
mulss xmm5, xmm7
movaps xmm6, xmm2
mulss xmm0, xmm8
mulss xmm1, xmm9
addss xmm5, xmm0
mulss xmm6, xmm11
movss xmm0, dword [rsp + 0x44]
mulss xmm0, xmm8
addss xmm5, xmm1
movss xmm1, dword [rsp + 0x48]
mulss xmm1, xmm9
addss xmm3, xmm0
xorps xmm0, xmm0
cvtsi2ss xmm0, ecx
addss xmm5, dword [rsp + 0x3c]
addss xmm3, xmm1
mulss xmm5, xmm4
addss xmm3, dword [rsp + 0x4c]
mulss xmm3, xmm4
mulss xmm3, xmm11
mulss xmm3, xmm2
movaps xmm2, xmm5
addss xmm2, xmm14
addss xmm3, xmm11
mulss xmm2, xmm11
subss xmm6, xmm3
mulss xmm2, xmm0
addss xmm2, xmm11
addss xmm2, xmm5
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2ss xmm1, eax
cvtsi2ss xmm0, ecx
mulss xmm1, xmm11
mulss xmm0, xmm11
subss xmm6, xmm1
xorps xmm1, xmm1
subss xmm2, xmm0
mulss xmm6, xmm6
mulss xmm2, xmm2
addss xmm6, xmm2
sqrtss xmm1, xmm6
comiss xmm10, xmm1
jbe 0x1400217e8
movd xmm0, dword [0x1402d146c]
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jae 0x1400217e8
mov rax, qword [rbx]
movaps xmm10, xmm1
mov qword [0x1402d1058], rax
add rbx, 0x1f0
cmp rbx, rdi
jne 0x140021603
cmp qword [0x1402d1058], r14
jne 0x14002180d
mov qword [0x1402d1058], r14
jmp 0x1400219c9
mov edx, dword [0x1402d1140]
add rdx, qword [0x1402d16b0]
call fcn.140004450
mov rbx, rax
test rax, rax
je 0x140021875
mov ecx, dword [0x1402d0c58]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x70]
mov dword [rsp + 0x58], ecx
mov ecx, dword [0x1402d0c50]
mov qword [rsp + 0x38], rax
mov rax, qword [0x1402d10c8]
mov dword [rsp + 0x24], ecx
mov ecx, dword [0x1402d0c54]
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x40], 0x10d8
test rax, rax
je 0x140021875
lea rcx, [rsp + 0x20]
call rax
cmp byte [0x1402d1494], r14b
jne 0x14002189a
mov eax, dword [0x1402d1148]
mov ecx, dword [rsp + rax + 0x70]
and ecx, 0x1fc000
cmp ecx, 0x8000
jne 0x140021593
mov edx, dword [0x1402d116c]
add rdx, rbx
call fcn.140004450
mov edx, dword [0x1402d1160]
add rdx, rax
call fcn.140004550
test rbx, rbx
je 0x1400218d0
mov rax, qword [0x1402d1058]
cmp rbx, rax
jne 0x1400218d0
test rax, rax
je 0x1400218d0
mov bl, 1
jmp 0x1400218d2
xor bl, bl
mov edx, dword [0x1402d1144]
add rdx, qword [0x1402d16b0]
call fcn.140004550
test eax, eax
movzx ecx, bl
mov eax, dword [0x1402d1158]
mov edx, r14d
cmovne edx, ecx
cvttss2si ecx, dword [rsp + rax + 0x70]
test sil, sil
jne 0x14002196e
test dl, dl
je 0x1400219c9
cmp ecx, 0x65
jle 0x1400219c9
cmp byte [0x1402d1489], r14b
jne 0x140021934
movsxd rax, dword [0x1402d148c]
lea rcx, [rbp + 0x1110]
mov qword [rbp + 0x1110], rax
call fcn.140002f50
xorps xmm0, xmm0
mov dword [rsp + 0x20], r14d
xorps xmm1, xmm1
mov dword [rsp + 0x34], 2
mov r8d, 0x28
lea rdx, [rsp + 0x20]
mov ecx, 1
movdqu xmmword [rsp + 0x24], xmm0
movdqu xmmword [rsp + 0x38], xmm1
call qword [sym.imp.USER32.dll_SendInput]
mov sil, 1
jmp 0x1400219c9
cmp byte [0x1402d1489], r14b
jne 0x140021991
movsxd rax, dword [0x1402d1490]
lea rcx, [rbp + 0x1110]
mov qword [rbp + 0x1110], rax
call fcn.140002f50
xorps xmm0, xmm0
mov dword [rsp + 0x20], r14d
xorps xmm1, xmm1
mov dword [rsp + 0x34], 4
mov r8d, 0x28
lea rdx, [rsp + 0x20]
mov ecx, 1
movdqu xmmword [rsp + 0x24], xmm0
movdqu xmmword [rsp + 0x38], xmm1
call qword [sym.imp.USER32.dll_SendInput]
xor sil, sil
lea rcx, [rbp + 0x1110]
mov qword [rbp + 0x1110], 1
call fcn.140002f50
jmp 0x140021593