Function at 0x18009ed50
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
sub rsp, 0x100
mov r8d, dword [0x180152b34]
mov rsi, rdx
movaps xmmword [rax - 0x68], xmm10
mov rdi, rcx
movaps xmmword [rax - 0x98], xmm14
xorps xmm14, xmm14
mov qword [rax + 0x18], rbp
mov rax, qword gs:[0x58]
mov ebp, 4
mov rbx, qword [rax + r8*8]
mov eax, dword [rbx + rbp]
cmp dword [0x180155d20], eax
jle 0x18009edd2
lea rcx, [0x180155d20]
call fcn.1800d2898
cmp dword [0x180155d20], 0xffffffff
jne 0x18009edd2
lea rcx, [0x180155d20]
mov qword [0x180155d28], 0
mov dword [0x180155d30], 0
call fcn.1800d2838
mov eax, dword [rbx + rbp]
cmp dword [0x180155d34], eax
jle 0x18009ee0a
lea rcx, [0x180155d34]
call fcn.1800d2898
cmp dword [0x180155d34], 0xffffffff
jne 0x18009ee0a
lea rcx, [0x1800dd4f0]
call fcn.1800d2f5c
lea rcx, [0x180155d34]
call fcn.1800d2838
mov eax, dword [rbx + rbp]
cmp dword [0x180155d38], eax
mov rbp, qword [rsp + 0x130]
jle 0x18009ee53
lea rcx, [0x180155d38]
call fcn.1800d2898
cmp dword [0x180155d38], 0xffffffff
jne 0x18009ee53
lea rcx, [0x180155d38]
mov qword [0x180155d40], 0
mov dword [0x180155d48], 0
call fcn.1800d2838
mov rax, qword [rdi + 0x78]
movss xmm10, dword [0x1801502c4]
mulss xmm10, dword [0x1801376e4]
cmp byte [rax], 0
je 0x18009f27d
movzx eax, byte [0x1801530b5]
test al, al
jne 0x18009f27d
cmp byte [0x18015319b], al
jne 0x18009eeb1
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x18009eeb1
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x64
call fcn.18008ef60
jmp 0x18009f153
cmp byte [0x18015319a], 0
je 0x18009ef2e
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x18009ef2e
mov rcx, qword [rdi + 0x180]
lea rdx, [rsp + 0x48]
call fcn.18009af40
cmp qword [rax + 0x18], 0x10
mov r8, qword [rax + 0x10]
jb 0x18009eee9
mov rax, qword [rax]
cmp r8, 5
jne 0x18009ef24
lea rdx, str.BLOCK
mov rcx, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18009ef24
lea rcx, [rsp + 0x48]
call fcn.1800663a0
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0x32
call fcn.18008ef60
jmp 0x18009f153
lea rcx, [rsp + 0x48]
call fcn.1800663a0
cmp byte [0x180153198], 0
movaps xmmword [rsp + 0xf0], xmm6
movaps xmmword [rsp + 0xe0], xmm7
movaps xmmword [rsp + 0xd0], xmm8
movss xmm8, dword [0x1801377b0]
movaps xmmword [rsp + 0xc0], xmm9
movss xmm9, dword [0x1801377c4]
movaps xmmword [rsp + 0xa0], xmm11
movaps xmmword [rsp + 0x90], xmm12
movss xmm12, dword [0x180137cd0]
je 0x18009f08f
mov rcx, qword [0x180153188]
test rcx, rcx
je 0x18009f08f
lea rdx, [rsp + 0x38]
call fcn.180092120
movsd xmm0, qword [rax]
movsd qword [0x180155d40], xmm0
mov ecx, dword [rax + 8]
movss xmm6, dword [0x180155d40]
mov dword [0x180155d48], ecx
mov rbx, qword [rsi]
movd xmm11, ecx
movss dword [0x180155d48], xmm11
subss xmm11, dword [rbx + 0x2c]
subss xmm6, dword [rbx + 0x24]
movaps xmm0, xmm11
movaps xmm1, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm2, dword [rbx + 0x48]
movaps xmm1, xmm9
mulss xmm0, xmm8
divss xmm0, dword [0x1801376e8]
subss xmm0, dword [0x180137778]
subss xmm2, xmm0
xorps xmm2, xmm12
addss xmm2, xmm8
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
comiss xmm14, xmm0
jbe 0x18009f027
addss xmm0, xmm9
movd xmm1, dword [0x1801502cc]
subss xmm0, xmm8
cvtdq2ps xmm1, xmm1
andps xmm0, xmmword [0x180137ca0]
comiss xmm1, xmm0
jb 0x18009f08f
movss xmm7, dword [0x180155d44]
movaps xmm0, xmm7
mulss xmm6, xmm6
subss xmm0, dword [rbx + 0x28]
mulss xmm11, xmm11
mulss xmm0, xmm0
addss xmm6, xmm0
xorps xmm0, xmm0
addss xmm6, xmm11
ucomiss xmm0, xmm6
ja 0x18009f07a
xorps xmm0, xmm0
sqrtss xmm0, xmm6
jmp 0x18009f082
movaps xmm0, xmm6
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movss xmm1, dword [0x1801502c8]
comiss xmm1, xmm0
jae 0x18009f0aa
lea rcx, [rdi - 8]
mov r9, rsi
lea r8, [0x180155d40]
call fcn.18009f2a0
movss xmm7, dword [0x180155d44]
cmp qword [0x180153188], 0
je 0x18009f10c
cmp dword [0x1801502b8], 1
jne 0x18009f0cd
addss xmm7, dword [0x1801376a0]
movss dword [0x180155d44], xmm7
lea rax, [rsp + 0x30]
mov byte [rsp + 0x30], 1
lea r9, [0x180155d40]
mov qword [rsp + 0x20], rax
mov r8, rsi
lea rdx, [rsp + 0x68]
call fcn.1800a0300
cmp byte [rsp + 0x30], 0
movsd xmm0, qword [rax]
movsd qword [0x180155d28], xmm0
mov eax, dword [rax + 8]
mov dword [0x180155d30], eax
jne 0x18009f16c
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xa
call fcn.18008ef60
movaps xmm11, xmmword [rsp + 0xa0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
movaps xmm12, xmmword [rsp + 0x90]
lea r11, [rsp + 0x100]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm14, xmmword [r11 - 0x80]
mov rsp, r11
pop rdi
pop rsi
pop rbx
ret
mov rbx, qword [rsi]
movss xmm6, dword [0x180155d28]
movss xmm7, dword [0x180155d30]
movss xmm11, dword [0x180155d2c]
subss xmm6, dword [rbx + 0x24]
subss xmm7, dword [rbx + 0x2c]
subss xmm11, dword [rbx + 0x28]
movaps xmm0, xmm6
mulss xmm0, xmm6
movaps xmm1, xmm7
mulss xmm1, xmm7
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm1
ja 0x18009f1bb
xorps xmm0, xmm0
sqrtss xmm0, xmm1
jmp 0x18009f1c3
movaps xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm1, xmm0
movaps xmm0, xmm11
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movaps xmm11, xmm0
movaps xmm1, xmm6
xorps xmm11, xmm12
movaps xmm0, xmm7
mulss xmm11, xmm8
divss xmm11, dword [0x1801376e8]
call sub.api_ms_win_crt_math_l1_1_0.dll_atan2f
movss xmm2, dword [rbx + 0x48]
movaps xmm1, xmm9
mulss xmm0, xmm8
divss xmm0, dword [0x1801376e8]
subss xmm0, dword [0x180137778]
subss xmm2, xmm0
xorps xmm2, xmm12
addss xmm2, xmm8
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
movaps xmm6, xmm0
comiss xmm14, xmm6
jbe 0x18009f231
addss xmm6, xmm9
movss xmm0, dword [rbx + 0x44]
subss xmm6, xmm8
subss xmm0, xmm11
movaps xmm1, xmm9
xorps xmm0, xmm12
addss xmm0, xmm8
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
comiss xmm14, xmm0
jbe 0x18009f25d
addss xmm0, xmm9
subss xmm0, xmm8
movss dword [rsp + 0x20], xmm10
lea rcx, [rdi - 8]
movaps xmm2, xmm6
movaps xmm3, xmm0
call fcn.18009f930
jmp 0x18009f11f
lea rcx, [rsp + 0x38]
mov qword [rsp + 0x38], 0xfa
call fcn.18008ef60
jmp 0x18009f153