Function at 0x1800ac6b0
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0xa8
movss xmm2, dword [0x18039cd0c]
movss xmm0, dword [0x18039cd14]
movss xmm1, dword [0x18039cd10]
movaps xmmword [rsp + 0x70], xmm8
xorps xmm8, xmm8
ucomiss xmm2, xmm8
jp 0x1800ac6f1
jne 0x1800ac6f1
ucomiss xmm1, xmm8
jp 0x1800ac6f1
jne 0x1800ac6f1
ucomiss xmm0, xmm8
jp 0x1800ac6f1
je 0x1800ac709
movss dword [0x18039fdf8], xmm2
movss dword [0x18039fdfc], xmm1
movss dword [0x18039fe00], xmm0
movss xmm0, dword [0x18039fdf8]
ucomiss xmm0, xmm8
jp 0x1800ac73d
jne 0x1800ac73d
movss xmm0, dword [0x18039fdfc]
ucomiss xmm0, xmm8
jp 0x1800ac73d
jne 0x1800ac73d
movss xmm0, dword [0x18039fe00]
ucomiss xmm0, xmm8
jp 0x1800ac73d
je 0x1800ac96f
mov eax, dword [0x18039aa9c]
test eax, eax
jne 0x1800ac755
mov ecx, dword [0x18039aa98]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x1800ac766
cmp eax, 1
jne 0x1800ac778
mov ecx, dword [0x18039aa98]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
test al, al
mov eax, dword [0x18039aa9c]
je 0x1800ac77d
jmp 0x1800ac791
cmp eax, 2
je 0x1800ac7be
movss xmm0, dword [0x18039fdd4]
ucomiss xmm0, xmm8
jp 0x1800ac791
je 0x1800ac96f
test eax, eax
jne 0x1800ac7a3
mov ecx, dword [0x18039aa98]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
jmp 0x1800ac7b4
cmp eax, 1
jne 0x1800ac811
mov ecx, dword [0x18039aa98]
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
setne al
test al, al
je 0x1800ac816
mov rax, qword [0x18039f630]
movss xmm1, dword [rax + 8]
mulss xmm1, dword [0x18024d874]
addss xmm1, dword [0x18039fdd4]
comiss xmm8, xmm1
mov qword [rsp + 0xb8], rsi
movss xmm0, dword [0x18024d7ac]
movaps xmmword [rsp + 0x90], xmm6
movaps xmmword [rsp + 0x80], xmm7
movaps xmmword [rsp + 0x60], xmm9
movaps xmmword [rsp + 0x50], xmm10
jb 0x1800ac838
xorps xmm2, xmm2
jmp 0x1800ac83f
cmp eax, 2
je 0x1800ac7be
mov rax, qword [0x18039f630]
movss xmm1, dword [0x18039fdd4]
movss xmm0, dword [rax + 8]
mulss xmm0, dword [0x18024d874]
subss xmm1, xmm0
jmp 0x1800ac7da
movaps xmm2, xmm0
minss xmm2, xmm1
movss xmm9, dword [0x18024d910]
movaps xmm6, xmm2
movss xmm7, dword [0x18024d838]
mulss xmm6, xmm9
movss dword [0x18039fdd4], xmm2
comiss xmm7, xmm6
jbe 0x1800ac868
movaps xmm6, xmm7
movss xmm10, dword [0x18024daac]
subss xmm6, xmm0
mov qword [rsp + 0xb0], rbx
mov esi, 1
mov qword [rsp + 0xa0], rdi
nop word [rax + rax]
movaps xmm0, xmm2
mulss xmm0, xmm9
comiss xmm7, xmm0
jbe 0x1800ac8a0
movaps xmm0, xmm7
movd xmm1, esi
cvtdq2ps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x1800ac93b
comiss xmm6, xmm7
jbe 0x1800ac92f
mov ebx, dword [0x18039aa91]
movaps xmm0, xmm6
mulss xmm1, xmm2
cvttss2si eax, xmm1
movzx edi, al
movzx eax, byte [0x18039aa93]
shl edi, 8
or edi, eax
movzx eax, byte [0x18039aa92]
shl edi, 8
or edi, eax
movzx eax, bl
shl edi, 8
or edi, eax
call fcn.18018fe88
cvttss2si r8d, dword [0x18039fe00]
cvttss2si edx, dword [0x18039fdfc]
cvttss2si ecx, dword [0x18039fdf8]
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x38], xmm8
cvttss2si r9d, xmm0
mov dword [rsp + 0x30], edi
mov dword [rsp + 0x28], ebx
call fcn.1800ac2a0
movss xmm2, dword [0x18039fdd4]
addss xmm6, xmm10
inc esi
jmp 0x1800ac890
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm7, xmmword [rsp + 0x80]
mov rsi, qword [rsp + 0xb8]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x70]
add rsp, 0xa8
ret