Function at 0x180017f30
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
lea rbp, [rax - 0x58]
sub rsp, 0x150
cmp byte [0x1801cef47], 0
je 0x180018303
mov qword [rax - 0x10], rsi
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x48], xmm8
movaps xmmword [rax - 0x58], xmm9
movaps xmmword [rax - 0x68], xmm10
movaps xmmword [rax - 0x78], xmm11
movaps xmmword [rax - 0x88], xmm12
movaps xmmword [rax - 0x98], xmm13
call fcn.180007bb0
mov ecx, eax
lea rdx, [rbp + 0x68]
call fcn.180017ba0
call fcn.1800142e0
call fcn.180007bb0
xor edx, edx
lea rcx, [rbp - 0x78]
call fcn.180017ed0
movss xmm1, dword [rbp - 0x78]
movss xmm2, dword [rbp - 0x68]
mulss xmm1, dword [0x1801a0378]
mulss xmm2, dword [0x1801a0378]
movaps xmm0, xmm1
movaps xmm1, xmm2
call fcn.18013a423
movaps xmm8, xmm0
lea rcx, [rbp - 0x78]
shufps xmm8, xmm0, 0xe
movaps xmm1, xmm0
movaps xmm10, xmm8
shufps xmm1, xmm0, 1
andps xmm1, xmmword [0x1801a1d20]
movaps xmm9, xmm0
mulss xmm10, xmm1
shufps xmm8, xmm8, 1
mulss xmm8, xmm1
xorps xmm10, xmmword [0x1801a1d40]
call fcn.180017e80
call fcn.180007bb0
mov edx, eax
lea rcx, [rsp + 0x70]
mov r8d, 1
call fcn.180007530
movss xmm0, dword [rsp + 0x70]
movaps xmm11, xmm10
subss xmm0, dword [rbp - 0x78]
movss xmm1, dword [rsp + 0x78]
movaps xmm12, xmm8
subss xmm1, dword [rbp - 0x70]
movaps xmm13, xmm9
cvtps2pd xmm2, xmm0
movss xmm0, dword [rbp - 0x80]
subss xmm0, dword [rbp - 0x68]
cvtps2pd xmm3, xmm1
cvtps2pd xmm0, xmm0
mulsd xmm3, xmm3
mulsd xmm2, xmm2
addsd xmm3, xmm2
addsd xmm3, xmm0
sqrtpd xmm0, xmm3
cvtpd2ps xmm1, xmm0
addss xmm1, dword [0x1801a048c]
mulss xmm11, xmm1
mulss xmm12, xmm1
addss xmm11, dword [rbp - 0x78]
mulss xmm13, xmm1
addss xmm12, dword [rbp - 0x70]
addss xmm13, dword [rbp - 0x68]
call fcn.1800142e0
cmp byte [0x1801cef57], 0
mov esi, eax
je 0x180018299
call fcn.1800142e0
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.180017a40
test eax, eax
je 0x180018299
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x180018299
mov edx, dword [rbp + 0x60]
lea rcx, [rbp - 0x78]
mov qword [rsp + 0x170], rbx
xor r8d, r8d
mov qword [rsp + 0x140], rdi
movaps xmmword [rsp + 0x120], xmm7
call fcn.180007530
mov edx, 1
mov ecx, esi
call fcn.180017aa0
mov ecx, dword [rbp + 0x60]
call fcn.1800169d0
test eax, eax
je 0x18001812f
mov ecx, dword [rbp + 0x60]
mov edx, 1
call fcn.180017520
test eax, eax
je 0x18001812f
mov ecx, dword [rbp + 0x60]
xor edx, edx
call fcn.180007a40
mov edi, eax
mov dword [rbp + 0x60], eax
jmp 0x180018132
mov edi, dword [rbp + 0x60]
mov ecx, edi
call fcn.1800173c0
xor ebx, ebx
nop dword [rax + rax]
mov ecx, edi
call fcn.180017400
test eax, eax
jne 0x180018173
mov rax, qword gs:[0x20]
mov rcx, qword [rax]
mov byte [rcx + 0x20], 0
mov rcx, qword [rcx + 8]
call qword [sym.imp.KERNEL32.dll_SwitchToFiber]
mov ecx, edi
call fcn.1800173c0
inc ebx
cmp ebx, 0x32
jle 0x180018140
mov ecx, dword [rbp + 0x60]
call fcn.180016a10
mov rdi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x170]
test eax, eax
je 0x1800181a1
mov ecx, esi
call fcn.180016920
mov ecx, dword [rbp + 0x60]
movaps xmm1, xmm0
call fcn.180016e70
mov ecx, esi
call fcn.180016e20
mov edx, 2
lea rcx, [rbp - 0x78]
call fcn.180017ed0
mov edx, 2
lea rcx, [rsp + 0x70]
movss xmm7, dword [rax + 0x10]
call fcn.180017ed0
mov edx, 2
lea rcx, [rbp - 0x60]
movss xmm6, dword [rax + 8]
call fcn.180017ed0
movaps xmm3, xmm7
mov dword [rsp + 0x20], 2
movaps xmm2, xmm6
mov ecx, esi
movss xmm1, dword [rax]
call fcn.180017020
xor r8d, r8d
mov edx, 0xff
mov ecx, esi
call fcn.180014030
mov ecx, dword [rbp + 0x60]
movaps xmm3, xmm13
movaps xmm2, xmm12
mov dword [rsp + 0x30], 0
movaps xmm1, xmm11
call fcn.180016d40
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
movaps xmm7, xmmword [rsp + 0x120]
test ax, ax
je 0x180018299
mov ecx, esi
call fcn.180016920
mov ecx, dword [rbp + 0x60]
movaps xmm1, xmm0
call fcn.180016e70
movss xmm0, dword [0x1801a0e70]
mov ecx, dword [rbp + 0x60]
mulss xmm8, xmm0
mov dword [rsp + 0x48], 0
mulss xmm10, xmm0
mov dword [rsp + 0x40], 0
mulss xmm9, xmm0
movaps xmm3, xmm8
movaps xmm2, xmm10
movss dword [rsp + 0x20], xmm9
call fcn.180016ad0
xor edx, edx
mov byte [0x1801cef57], 0
mov ecx, esi
call fcn.180017aa0
call fcn.1800142e0
mov ecx, eax
lea rdx, [rbp + 0x60]
call fcn.180017a40
movaps xmm13, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm11, xmmword [rsp + 0xe0]
movaps xmm10, xmmword [rsp + 0xf0]
movaps xmm9, xmmword [rsp + 0x100]
movaps xmm8, xmmword [rsp + 0x110]
movaps xmm6, xmmword [rsp + 0x130]
test eax, eax
jne 0x1800182fb
xor edx, edx
mov byte [0x1801cef57], 1
mov ecx, esi
call fcn.180017aa0
mov rsi, qword [rsp + 0x148]
add rsp, 0x150
pop rbp
ret