Function at 0x14000aa00
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x60
cmp byte [0x140080808], 0
movaps xmmword [rsp + 0x50], xmm6
movaps xmmword [rsp + 0x40], xmm7
je 0x14000aa47
mov ecx, dword [0x1400800e4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x14000aa47
mov rdx, qword [0x140080888]
mov rcx, qword [0x140080880]
call fcn.1400078f0
cmp byte [0x14008080b], 0
movss xmm7, dword [0x140066460]
movss xmm6, dword [0x14006644c]
mov qword [rsp + 0x90], rbx
je 0x14000ab27
call fcn.14001d060
movdqa xmm0, xmmword [0x140066560]
lea rcx, [rbp - 0x30]
movups xmmword [rbp - 0x30], xmm0
mov rbx, rax
call fcn.1400194a0
movd xmm0, dword [0x14008082c]
lea rdx, [rbp + 0x20]
movd xmm1, dword [0x140080830]
mov r9d, eax
movss xmm2, dword [0x1400800e8]
mov rcx, rbx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x28], xmm7
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
mov dword [rsp + 0x20], 0x64
call fcn.140032cd0
call fcn.14001d060
lea rcx, [0x1400800f8]
mov rbx, rax
call fcn.1400194a0
movd xmm0, dword [0x14008082c]
lea rdx, [rbp + 0x20]
movd xmm1, dword [0x140080830]
mov r9d, eax
movss xmm2, dword [0x1400800e8]
mov rcx, rbx
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [rsp + 0x28], xmm6
movss dword [rbp + 0x20], xmm0
movss dword [rbp + 0x24], xmm1
mov dword [rsp + 0x20], 0x64
call fcn.140032cd0
cmp byte [0x14008080c], 0
je 0x14000acde
call fcn.14001d060
movdqa xmm0, xmmword [0x140066560]
lea rcx, [rbp - 0x30]
movups xmmword [rbp - 0x30], xmm0
mov rbx, rax
call fcn.1400194a0
mov edx, dword [0x14008082c]
lea r8, [rbp + 0x20]
movd xmm1, dword [0x140080830]
mov r9d, eax
cvtdq2ps xmm1, xmm1
lea ecx, [rdx + 6]
movss dword [rsp + 0x20], xmm7
movd xmm0, ecx
lea ecx, [rdx - 6]
cvtdq2ps xmm0, xmm0
lea rdx, [rbp + 0x28]
movss dword [rbp + 0x24], xmm1
movss dword [rbp + 0x20], xmm0
movd xmm0, ecx
mov rcx, rbx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x2c], xmm1
movss dword [rbp + 0x28], xmm0
call fcn.140034750
call fcn.14001d060
movdqa xmm0, xmmword [0x140066560]
lea rcx, [rbp - 0x30]
movups xmmword [rbp - 0x30], xmm0
mov rbx, rax
call fcn.1400194a0
mov edx, dword [0x140080830]
lea r8, [rbp + 0x20]
movd xmm1, dword [0x14008082c]
mov r9d, eax
cvtdq2ps xmm1, xmm1
lea ecx, [rdx + 6]
movss dword [rsp + 0x20], xmm7
movd xmm0, ecx
lea ecx, [rdx - 6]
cvtdq2ps xmm0, xmm0
lea rdx, [rbp + 0x28]
movss dword [rbp + 0x20], xmm1
movss dword [rbp + 0x24], xmm0
movd xmm0, ecx
mov rcx, rbx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x28], xmm1
movss dword [rbp + 0x2c], xmm0
call fcn.140034750
call fcn.14001d060
lea rcx, [0x140080108]
mov rbx, rax
call fcn.1400194a0
mov edx, dword [0x14008082c]
lea r8, [rbp + 0x20]
movd xmm1, dword [0x140080830]
mov r9d, eax
cvtdq2ps xmm1, xmm1
lea ecx, [rdx + 6]
add edx, 0xfffffffa
movss dword [rsp + 0x20], xmm6
movd xmm0, ecx
mov rcx, rbx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x24], xmm1
movss dword [rbp + 0x20], xmm0
movd xmm0, edx
lea rdx, [rbp + 0x28]
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x2c], xmm1
movss dword [rbp + 0x28], xmm0
call fcn.140034750
call fcn.14001d060
lea rcx, [0x140080108]
mov rbx, rax
call fcn.1400194a0
movd xmm1, dword [0x14008082c]
mov edx, dword [0x140080830]
cvtdq2ps xmm1, xmm1
movss dword [rbp + 0x20], xmm1
lea ecx, [rdx + 6]
movss dword [rbp + 0x28], xmm1
movd xmm0, ecx
lea r8, [rbp + 0x20]
cvtdq2ps xmm0, xmm0
lea ecx, [rdx - 6]
mov r9d, eax
lea rdx, [rbp + 0x28]
movss dword [rsp + 0x20], xmm6
movss dword [rbp + 0x24], xmm0
movd xmm0, ecx
mov rcx, rbx
cvtdq2ps xmm0, xmm0
movss dword [rbp + 0x2c], xmm0
call fcn.140034750
call fcn.140006750
mov rcx, qword [0x140080850]
movaps xmm7, xmmword [rsp + 0x40]
add rcx, 0x68
cmp byte [0x14008081d], 0
je 0x14000ad06
movss xmm1, dword [0x1400664f8]
jmp 0x14000ad09
movaps xmm1, xmm6
call fcn.140004cc0
cmp byte [0x14008081e], 0
je 0x14000ad3f
mov ecx, 0xa0
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
mov rcx, qword [0x140080858]
add rcx, 0x68
test ax, ax
je 0x14000ad37
xorps xmm1, xmm1
jmp 0x14000ad3a
movaps xmm1, xmm6
call fcn.140004cc0
mov rcx, qword [0x140080838]
add rcx, qword [0x140080098]
call fcn.140004950
mov r14, rax
xor edi, edi
lea rcx, [rax + 0x18]
call fcn.140004630
movaps xmm6, xmmword [rsp + 0x50]
test eax, eax
jle 0x14000adae
nop dword [rax]
mov rcx, qword [0x140080858]
call fcn.140004950
movsxd rcx, edi
mov rbx, rax
lea rcx, [r14 + rcx*8]
call fcn.140004950
cmp rax, rbx
je 0x14000ad9f
mov rcx, qword [0x1400800c8]
add rcx, rax
call fcn.140004950
lea rcx, [r14 + 0x18]
inc edi
call fcn.140004630
cmp edi, eax
jl 0x14000ad70
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
add rsp, 0x60
pop r14
pop rdi
pop rbp
ret