Function at 0x180018e80
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
sub rsp, 0x128
cmp byte [0x1801af03a], 0
je 0x180019200
mov qword [rax + 8], rbx
xor ebx, ebx
mov qword [rax - 8], rdi
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
movaps xmmword [rax - 0x48], xmm9
movaps xmmword [rax - 0x58], xmm10
movaps xmmword [rax - 0x68], xmm11
movaps xmmword [rax - 0x78], xmm12
movabs rax, 0x837765a25378f0bb
mov qword [0x1801b1910], rax
mov dword [0x18014c6a8], ebx
mov qword [0x18014c770], rbx
mov dword [0x18014c698], 1
call fcn.18003c7d0
xorps xmm11, xmm11
xorps xmm10, xmm10
movsd xmm2, qword [rax + 0x10]
movups xmm1, xmmword [rax]
movsd qword [rsp + 0x80], xmm2
mulss xmm1, dword [0x180101e8c]
mulss xmm2, dword [0x180101e8c]
cvtss2sd xmm11, xmm1
cvtss2sd xmm10, xmm2
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
mov dword [0x18014c698], ebx
cvtsd2ss xmm1, xmm0
movabs rdi, 0xd80958fc74e988a6
mov dword [0x18014c6a8], ebx
mov qword [0x1801b1910], rdi
andps xmm1, xmmword [0x180106410]
cvtps2pd xmm9, xmm1
call fcn.18003c7d0
mov qword [rsp + 0x138], rbx
mov ecx, dword [rax]
movabs rax, 0x17c07fc640e86b4e
mov qword [0x1801b1910], rax
mov dword [rsp + 0x138], ecx
mov rax, qword [rsp + 0x138]
mov qword [0x18014c770], rax
mov qword [rsp + 0x138], rbx
mov dword [rsp + 0x138], 0x796e
mov rax, qword [rsp + 0x138]
mov qword [0x18014c778], rax
mov qword [rsp + 0x138], rbx
mov dword [rsp + 0x138], ebx
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x138], rbx
mov qword [0x18014c780], rax
mov dword [rsp + 0x138], ebx
mov rax, qword [rsp + 0x138]
mov qword [rsp + 0x138], rbx
mov qword [0x18014c788], rax
mov dword [rsp + 0x138], ebx
mov rax, qword [rsp + 0x138]
mov qword [0x18014c790], rax
mov dword [0x18014c6a8], ebx
mov dword [0x18014c698], 5
call fcn.18003c7d0
movups xmm0, xmmword [rax]
movsd xmm1, qword [rax + 0x10]
movabs rax, 0x14d6f5678d8f1b37
movups xmmword [rsp + 0x70], xmm0
mov dword [0x18014c698], ebx
movsd qword [rsp + 0x80], xmm1
mov dword [0x18014c6a8], ebx
mov qword [0x1801b1910], rax
call fcn.18003c7d0
movaps xmm0, xmm10
movups xmm7, xmmword [rax]
movsd xmm8, qword [rax + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm1, xmm1
xorps xmm2, xmm2
cvtsd2ss xmm1, xmm0
xorps xmm1, xmmword [0x180106440]
cvtss2sd xmm2, xmm1
mulsd xmm2, xmm9
movss xmm6, dword [0x180103b7c]
movaps xmm0, xmm10
cvtpd2ps xmm12, xmm2
mulss xmm12, xmm6
addss xmm12, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_cos
xorps xmm1, xmm1
shufps xmm7, xmm7, 0xaa
cvtsd2ss xmm1, xmm0
movaps xmm0, xmm11
cvtps2pd xmm2, xmm1
mulsd xmm2, xmm9
cvtpd2ps xmm9, xmm2
mulss xmm9, xmm6
addss xmm9, xmm7
call sub.api_ms_win_crt_math_l1_1_0.dll_sin
xorps xmm10, xmm10
lea ecx, [rbx + 0x10]
cvtsd2ss xmm10, xmm0
mulss xmm10, xmm6
addss xmm10, xmm8
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
movaps xmm11, xmmword [rsp + 0xc0]
jae 0x1800191bc
movss xmm8, dword [rsp + 0x80]
movaps xmm3, xmm12
movss xmm7, dword [rsp + 0x78]
movaps xmm2, xmm8
movss xmm6, dword [rsp + 0x70]
movaps xmm1, xmm7
mov dword [rsp + 0x48], 0xff
movaps xmm0, xmm6
mov dword [rsp + 0x40], 0xff
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], 0xff
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
call fcn.18002e490
mov dword [0x18014c698], ebx
mov dword [0x18014c6a8], ebx
mov qword [0x1801b1910], rdi
call fcn.18003c7d0
movss xmm4, dword [0x180102c4c]
movaps xmm3, xmm12
movss dword [rsp + 0x60], xmm4
movaps xmm2, xmm8
mov dword [rsp + 0x58], 1
movaps xmm1, xmm7
mov ecx, dword [rax]
movaps xmm0, xmm6
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x40], 0x476bf155
mov dword [rsp + 0x38], ebx
mov dword [rsp + 0x30], 0x64
movss dword [rsp + 0x28], xmm10
movss dword [rsp + 0x20], xmm9
call fcn.18002ecf0
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm8, xmmword [rsp + 0xf0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
mov rdi, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x130]
movaps xmm12, xmmword [rsp + 0xb0]
add rsp, 0x128
ret