Function at 0x18005aae0
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0xd0
mov rax, qword [0x1800a6040]
xor rax, rsp
mov qword [rbp - 9], rax
cmp byte [0x1800aa33e], 0
je 0x18005adde
mov qword [r11 + 8], rbx
xorps xmm0, xmm0
mov qword [r11 + 0x10], rsi
mov ecx, 8
xor esi, esi
mov qword [rbp - 0x59], 8
mov qword [rbp - 0x11], rsi
movdqu xmmword [rbp - 0x21], xmm0
call fcn.180064a90
mov qword [rbp - 0x21], rax
lea rdx, [rbp - 0x21]
lea rcx, [rax + 8]
mov qword [rbp - 0x11], rcx
mov rcx, qword [rbp - 0x59]
mov qword [rax], rcx
add rax, 8
mov rcx, qword [0x1800aa280]
mov qword [rbp - 0x19], rax
call fcn.180048d40
mov ecx, dword [0x1800aa344]
mov rbx, rax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test al, 1
je 0x18005ab82
cmp byte [0x1800aa351], sil
sete cl
mov byte [0x1800aa351], cl
jmp 0x18005ab89
movzx ecx, byte [0x1800aa351]
test rbx, rbx
je 0x18005adce
test cl, cl
je 0x18005adce
mov qword [rsp + 0xf0], rdi
lea r8, [rbp - 0x59]
movaps xmmword [rsp + 0xc0], xmm6
lea rdi, [rbx + 0x90]
movaps xmmword [rsp + 0xb0], xmm7
lea rcx, [rbp - 0x21]
movaps xmmword [rsp + 0xa0], xmm8
xorps xmm0, xmm0
movaps xmmword [rsp + 0x90], xmm9
mov rdx, rdi
movaps xmmword [rsp + 0x80], xmm10
movdqu xmmword [rbp - 0x59], xmm0
mov qword [rbp - 0x49], rsi
call fcn.180048e40
xorps xmm0, xmm0
mov qword [rbp - 0x49], rsi
lea rcx, [rbx + 0x30]
lea rdx, [rbp - 0x59]
movdqu xmmword [rbp - 0x59], xmm0
call fcn.180048d40
mov ecx, 0x57
mov rbx, rax
xorps xmm10, xmm10
xorps xmm7, xmm7
xorps xmm6, xmm6
xorps xmm8, xmm8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movss xmm9, dword [0x180099804]
test ax, ax
jns 0x18005ac37
movaps xmm6, xmm9
mov ecx, 0x53
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18005ac4f
addss xmm6, dword [0x180099950]
mov ecx, 0x41
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18005ac67
movss xmm7, dword [0x180099950]
mov ecx, 0x44
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18005ac7c
addss xmm7, xmm9
mov ecx, 0x20
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18005ac90
movaps xmm8, xmm9
mov ecx, 0x11
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18005aca9
addss xmm8, dword [0x180099950]
ucomiss xmm7, xmm10
jp 0x18005acc5
jne 0x18005acc5
ucomiss xmm6, xmm10
jp 0x18005acc5
jne 0x18005acc5
ucomiss xmm8, xmm10
jp 0x18005acc5
je 0x18005ad9b
movaps xmm0, xmm6
movaps xmm2, xmm7
mulss xmm2, xmm7
movaps xmm1, xmm8
mulss xmm0, xmm6
mulss xmm1, xmm8
addss xmm2, xmm0
xorps xmm0, xmm0
addss xmm2, xmm1
ucomiss xmm0, xmm2
ja 0x18005acf5
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18005acfd
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
divss xmm9, xmm0
mov qword [rbp - 0x29], rsi
lea r8, [rbp - 0x39]
lea rdx, [rbp - 0x59]
mov rcx, rdi
xorps xmm0, xmm0
movaps xmm10, xmm9
mulss xmm10, xmm7
movaps xmm7, xmm9
mulss xmm7, xmm6
mulss xmm9, xmm8
addss xmm10, xmm10
addss xmm7, xmm7
movdqu xmmword [rbp - 0x39], xmm0
addss xmm10, dword [rbp - 0x21]
addss xmm9, xmm9
addss xmm7, dword [rbp - 0x1d]
movss dword [rbp - 0x59], xmm10
addss xmm9, dword [rbp - 0x19]
movss dword [rbp - 0x55], xmm7
movss dword [rbp - 0x51], xmm9
call fcn.180048f30
cmp byte [0x1800aa33f], sil
jne 0x18005ad9b
xorps xmm0, xmm0
movss dword [rbp - 0x59], xmm10
lea rcx, [rbx + 0x30]
movss dword [rbp - 0x55], xmm7
lea r8, [rbp - 0x39]
movss dword [rbp - 0x51], xmm9
lea rdx, [rbp - 0x59]
mov qword [rbp - 0x29], rsi
movdqu xmmword [rbp - 0x39], xmm0
call fcn.180048f30
movaps xmm9, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0xa0]
movaps xmm7, xmmword [rsp + 0xb0]
movaps xmm6, xmmword [rsp + 0xc0]
mov rdi, qword [rsp + 0xf0]
movaps xmm10, xmmword [rsp + 0x80]
mov rbx, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.180064a70
add rsp, 0xd0
pop rbp
ret