Function at 0x18001fe30
Capabilities:
Log keystrokes via polling

Disassembly:
sub rsp, 0x128
mov rax, qword [0x18021e580]
xor rax, rsp
mov qword [rsp + 0x88], rax
cmp byte [0x18021edd6], 0
je 0x18002025b
mov ecx, dword [0x1801837e0]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x18002025b
mov qword [rsp + 0x130], rbx
call fcn.18001e7c0
mov rbx, rax
test rax, rax
je 0x180020253
mov rcx, qword [rax + 0x180]
movdqu xmm0, xmmword [rax + 0x430]
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm7
movups xmm4, xmmword [rcx]
movups xmm5, xmmword [rcx + 0x10]
movups xmm7, xmmword [rcx + 0x30]
movups xmm6, xmmword [rcx + 0x20]
mov ecx, dword [0x18021ede0]
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
movaps xmm10, xmm4
movaps xmmword [rsp + 0xc0], xmm11
pshufd xmm1, xmm0, 0
mulps xmm10, xmm1
movaps xmm1, xmm6
movaps xmmword [rsp + 0xb0], xmm12
movaps xmmword [rsp + 0xa0], xmm13
xorps xmm13, xmm13
pshufd xmm3, xmm0, 0xaa
movaps xmmword [rsp + 0x90], xmm14
addps xmm10, xmm7
pshufd xmm2, xmm0, 0x55
xorps xmm14, xmm14
mulps xmm1, xmm3
movaps xmm0, xmm5
mulps xmm0, xmm2
cvtsi2ss xmm13, dword [0x18021edb0]
addps xmm10, xmm0
mulss xmm13, dword [0x1800b7114]
cvtsi2ss xmm14, dword [0x18021edb4]
addps xmm10, xmm1
mulss xmm14, dword [0x1800b7114]
movaps xmm11, xmm10
movaps xmm12, xmm10
shufps xmm11, xmm10, 0x55
shufps xmm12, xmm10, 0xaa
test ecx, ecx
je 0x18001ffbc
sub ecx, 1
je 0x18001ff7c
cmp ecx, 1
jne 0x18001ffd1
movdqu xmm0, xmmword [rax + 0x4b0]
jmp 0x18001ff84
movdqu xmm0, xmmword [rax + 0x4a0]
pshufd xmm1, xmm0, 0
mulps xmm4, xmm1
pshufd xmm2, xmm0, 0x55
mulps xmm5, xmm2
addps xmm4, xmm7
pshufd xmm3, xmm0, 0xaa
mulps xmm6, xmm3
addps xmm4, xmm5
addps xmm4, xmm6
movaps xmm11, xmm4
movaps xmm10, xmm4
shufps xmm11, xmm4, 0x55
shufps xmm4, xmm4, 0xaa
movaps xmm12, xmm4
jmp 0x18001ffd1
movaps xmm1, xmm10
movaps xmm11, xmm1
shufps xmm11, xmm1, 0x55
shufps xmm1, xmm1, 0xaa
movaps xmm12, xmm1
lea rax, [rsp + 0x84]
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x28], rax
movaps xmm3, xmm12
lea rax, [rsp + 0x80]
movaps xmm2, xmm11
movaps xmm1, xmm10
mov qword [rsp + 0x20], rax
movabs rcx, 0x34e82f05df2974f5
xorps xmm9, xmm9
call fcn.1800021a0
movss xmm1, dword [rsp + 0x84]
movss xmm8, dword [rsp + 0x80]
movd xmm0, dword [0x18021edb0]
cvtdq2ps xmm0, xmm0
mulss xmm8, xmm0
movd xmm0, dword [0x18021edb4]
cvtdq2ps xmm0, xmm0
movss dword [rsp + 0x80], xmm8
mulss xmm1, xmm0
cvtps2pd xmm0, xmm1
movss dword [rsp + 0x84], xmm1
cvtps2pd xmm1, xmm14
subsd xmm0, xmm1
movsd xmm1, qword [0x1800b7180]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x1800b7180]
movaps xmm7, xmm0
cvtps2pd xmm0, xmm8
cvtps2pd xmm2, xmm13
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movaps xmm14, xmmword [rsp + 0x90]
addsd xmm7, xmm0
movaps xmm13, xmmword [rsp + 0xa0]
xorps xmm0, xmm0
movaps xmm8, xmmword [rsp + 0xf0]
xorps xmm1, xmm1
cvtsd2ss xmm0, xmm7
ucomiss xmm1, xmm0
ja 0x1800200c6
xorps xmm1, xmm1
sqrtss xmm1, xmm0
jmp 0x1800200ce
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
mov ecx, dword [0x18021ede4]
test ecx, ecx
je 0x1800202ae
sub ecx, 1
je 0x180020273
cmp ecx, 1
jne 0x18002021f
mov eax, dword [0x180183770]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18002021f
mov rax, qword [0x18021ed38]
mov rcx, qword [rax]
test rcx, rcx
je 0x18002021f
mov rdx, qword [rcx + 8]
test rdx, rdx
je 0x18002021f
mov rax, qword [0x18021ed68]
mov rcx, qword [rax + rdx]
test rcx, rcx
je 0x18002021f
mov rax, qword [rcx + 0x20]
test rax, rax
je 0x18002021f
mov qword [rsp + 0x120], rdi
mov rdi, qword [rax + 0x10]
call fcn.18001e7c0
test rax, rax
jne 0x180020168
xorps xmm6, xmm6
xorps xmm7, xmm7
jmp 0x18002018f
movsd xmm1, qword [rax + 0x90]
movss xmm7, dword [rax + 0x98]
movaps xmm0, xmm1
shufps xmm0, xmm0, 0x55
movsd qword [rsp + 0x70], xmm1
movaps xmm6, xmm0
movss xmm9, dword [rsp + 0x70]
movabs rcx, 0xd80958fc74e988a6
call fcn.180001e20
mov ebx, eax
test eax, eax
je 0x180020217
mov edx, eax
movabs rcx, 0x34616828cd07f1a1
call fcn.180001ec0
test eax, eax
je 0x180020217
movss xmm0, dword [0x1800b718c]
xor eax, eax
movss dword [rsp + 0x68], xmm0
movaps xmm3, xmm7
mov dword [rsp + 0x60], eax
movaps xmm2, xmm6
mov dword [rsp + 0x58], 1
movaps xmm1, xmm9
mov dword [rsp + 0x50], ebx
movabs rcx, 0x867654cbc7606f2c
mov dword [rsp + 0x48], edi
mov dword [rsp + 0x40], eax
mov eax, dword [0x1801837c8]
mov dword [rsp + 0x38], eax
movss dword [rsp + 0x30], xmm7
movss dword [rsp + 0x28], xmm6
movss dword [rsp + 0x20], xmm9
call fcn.180002a70
mov rdi, qword [rsp + 0x120]
movaps xmm10, xmmword [rsp + 0xd0]
movaps xmm9, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0x100]
movaps xmm6, xmmword [rsp + 0x110]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xb0]
mov rbx, qword [rsp + 0x130]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.18007a8a0
add rsp, 0x128
ret
mov eax, dword [0x180183770]
lea ecx, [rax + rax*4]
add ecx, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x18002021f
movaps xmm0, xmm10
movss dword [rsp + 0x78], xmm12
unpcklps xmm0, xmm11
lea rcx, [rsp + 0x70]
movsd qword [rsp + 0x70], xmm0
call fcn.18003a3d0
jmp 0x18002021f
mov rcx, rbx
call fcn.180039960
jmp 0x18002021f