Function at 0x18005dab0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xc8]
sub rsp, 0x188
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
movaps xmmword [rax - 0x78], xmm8
movaps xmmword [rax - 0x88], xmm9
movaps xmmword [rax - 0x98], xmm10
movaps xmmword [rax - 0xa8], xmm11
movaps xmmword [rax - 0xb8], xmm12
movaps xmmword [rax - 0xc8], xmm13
mov rax, qword [0x1800ff040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r12, r9
mov r13, rcx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], r8
xor esi, esi
mov dword [rsp + 0x30], esi
cmp byte [rcx + 0xc], sil
je 0x18005e4a4
mov rax, qword [0x180150338]
cmp byte [rax], sil
jne 0x18005e4a4
mov rcx, qword [r8]
call fcn.1800761b0
test al, al
je 0x18005e4a4
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x18005e4a4
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rax
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rdx + 0x20]
movdqu xmmword [rbp - 0x68], xmm0
mov rax, qword [rdx + 0x18]
test rax, rax
je 0x18005db8b
lock inc dword [rax + 8]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x68], rax
mov rax, qword [rdx + 0x18]
mov qword [rbp - 0x60], rax
movsd xmm0, qword [0x1800e56c8]
movsd qword [rsp + 0x20], xmm0
lea r9, [rbp - 0x68]
mov r8, qword [rbp - 0x80]
lea rdx, [rbp - 0x30]
call fcn.18007bcb0
nop
xorps xmm0, xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x40], xmm1
movups xmmword [rsp + 0x38], xmm0
movdqu xmmword [rsp + 0x48], xmm1
mov r8d, 5
lea rdx, str.Range
lea rcx, [rsp + 0x38]
call fcn.180050870
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.18005f590
movaps xmm7, xmm0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005dc36
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005dc31
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e508
call fcn.180095a90
mov rdi, qword [rbp - 0x30]
mov r15d, 0xffffffff
xorps xmm9, xmm9
cmp rdi, qword [rbp - 0x28]
je 0x18005ded6
nop
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov qword [rbp - 0x58], rsi
mov qword [rbp - 0x50], rsi
mov r8d, 0xb
lea rdx, str.PlayersOnly
lea rcx, [rbp - 0x68]
call fcn.180050870
nop
or dword [rsp + 0x30], 1
lea rdx, [rbp - 0x68]
mov rcx, r12
call fcn.18005f650
test al, al
je 0x18005dc9f
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rdi]
call fcn.180078980
test al, al
jne 0x18005dc9f
mov bl, 1
jmp 0x18005dca1
xor bl, bl
test byte [rsp + 0x30], 1
je 0x18005dce8
and dword [rsp + 0x30], 0xfffffffe
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x18005dce8
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005dce3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e508
call fcn.180095a90
test bl, bl
mov rbx, qword [rbp - 0x80]
jne 0x18005dec6
mov rax, qword [rdi]
mov rsi, qword [rax]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x10]
mov rax, qword [rcx]
mov r14, qword [rax]
cmp byte [rsi + 9], 0
je 0x18005dd5d
mov rax, qword [rbx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, qword [rsi]
mov rcx, rbx
call r9
test al, al
jne 0x18005dd59
cmp byte [rsi + 8], al
jne 0x18005dd38
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsi + 0xc]
jne 0x18005dd59
mov rax, qword [rbx]
mov r9, qword [rax + 0xc0]
mov r8, r14
mov rdx, qword [rsi]
mov rcx, rbx
call r9
test al, al
setne al
mov rbx, qword [rbp - 0x80]
jmp 0x18005dd63
mov rbx, qword [rbp - 0x80]
test r14, r14
sete al
test al, al
jne 0x18005dec4
mov r14, qword [rdi]
mov rsi, qword [r14]
test rsi, rsi
je 0x18005de07
cmp byte [rsi + 9], al
je 0x18005de07
mov rax, qword [rbx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, qword [rsi]
mov rcx, rbx
call r9
test al, al
jne 0x18005de03
cmp byte [rsi + 8], al
jne 0x18005ddad
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsi + 0xc]
jne 0x18005de03
mov rax, qword [rbx]
mov r9, qword [rax + 0xc0]
xor r8d, r8d
mov rdx, qword [rsi]
mov rcx, rbx
call r9
test al, al
jne 0x18005de03
mov rcx, qword [0x18014ce48]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rax, qword [r14 + 8]
test rax, rax
je 0x18005dde3
lock inc dword [rax + 8]
mov rax, qword [r14]
mov qword [rbp - 0x68], rax
mov rax, qword [r14 + 8]
mov qword [rbp - 0x60], rax
lea rdx, [rbp - 0x68]
call fcn.18007ab30
test al, al
jne 0x18005dec0
mov rbx, qword [rbp - 0x80]
mov rdx, rbx
mov rcx, qword [rdi]
call fcn.180079860
comiss xmm9, xmm0
jae 0x18005dec0
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x10]
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x38], xmm0
mov rax, qword [rdi + 8]
test rax, rax
je 0x18005de3a
lock inc dword [rax + 8]
mov rax, qword [rdi]
mov qword [rsp + 0x38], rax
mov rax, qword [rdi + 8]
mov qword [rsp + 0x40], rax
lea r8, [rsp + 0x38]
mov rdx, qword [rbp - 0x80]
call fcn.180079c00
movaps xmm6, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm7
comisd xmm1, xmm0
jbe 0x18005dec0
mov rax, qword [rdi + 8]
test rax, rax
je 0x18005de76
lock inc dword [rax + 8]
mov rcx, qword [rdi + 8]
mov rax, qword [rdi]
mov qword [rbp - 0x40], rax
mov rbx, qword [rbp - 0x38]
mov qword [rbp - 0x38], rcx
test rbx, rbx
je 0x18005deb9
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18005deb9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18005deb9
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
xorps xmm7, xmm7
cvtsd2ss xmm7, xmm6
mov rbx, qword [rbp - 0x80]
xor esi, esi
add rdi, 0x10
cmp rdi, qword [rbp - 0x28]
jne 0x18005dc50
jmp 0x18005deda
mov rbx, qword [rbp - 0x80]
cmp qword [rbp - 0x40], 0
jne 0x18005def9
mov qword [r13 + 0x1c], 0
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18005e425
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
mov rax, qword [rbp - 0x78]
mov r8, rbx
lea rdx, [rbp - 0x68]
mov rcx, qword [rax]
call fcn.1800751c0
nop
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x68]
call fcn.180071a40
movss dword [rbp - 0x48], xmm0
lea rax, [rbp - 0x48]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x78]
mov qword [rsp + 0x58], rax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x60], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x68], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x70], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x78], rax
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x58]
call fcn.18005e520
call fcn.1800a8a68
movd xmm7, eax
cvtdq2ps xmm7, xmm7
divss xmm7, dword [0x1800e57b0]
addss xmm7, dword [rsp + 0x30]
call fcn.1800a8a68
movd xmm11, eax
cvtdq2ps xmm11, xmm11
divss xmm11, dword [0x1800e57b0]
addss xmm11, dword [rsp + 0x34]
mov rax, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rax + 0x10]
call fcn.180079a30
movaps xmm6, xmm0
mov rax, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rax + 0x10]
call fcn.180079950
movaps xmm10, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x38], xmm1
xorps xmm2, xmm2
movdqu xmmword [rsp + 0x48], xmm2
mov r8d, 3
lea rdx, [0x1800e2df8]
lea rcx, [rsp + 0x38]
call fcn.180050870
nop
subss xmm7, xmm6
movaps xmm6, xmm7
movss xmm13, dword [0x1800e5ec0]
andps xmm6, xmm13
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.18005f590
comiss xmm6, xmm0
seta bl
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005e058
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e053
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e51a
call fcn.180095a90
test bl, bl
je 0x18005e069
mov qword [r13 + 0x1c], 0
jmp 0x18005e3eb
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov r8d, 9
lea rdx, str.Smoothing
lea rcx, [rsp + 0x58]
call fcn.180050870
nop
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.18005f590
movaps xmm6, xmm0
movss xmm8, dword [0x1800e56a0]
addss xmm6, xmm8
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
mov r8d, 9
lea rdx, str.Smoothing
lea rcx, [rsp + 0x38]
call fcn.180050870
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.18005f590
movaps xmm2, xmm6
movaps xmm1, xmm0
call fcn.18005d450
divss xmm7, xmm0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005e133
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e12d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e50e
call fcn.180095a90
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x18005e170
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e16b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e51a
call fcn.180095a90
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x48], xmm1
mov r8d, 9
lea rdx, str.Smoothing
lea rcx, [rsp + 0x38]
call fcn.180050870
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.18005f590
movaps xmm6, xmm0
addss xmm6, xmm8
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
mov r8d, 9
lea rdx, str.Smoothing
lea rcx, [rsp + 0x58]
call fcn.180050870
nop
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.18005f590
subss xmm11, xmm10
movaps xmm2, xmm6
movaps xmm1, xmm0
call fcn.18005d450
divss xmm11, xmm0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x18005e237
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e231
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e514
call fcn.180095a90
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005e274
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e26f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e51a
call fcn.180095a90
movss xmm1, dword [rbp - 0x48]
mulss xmm1, dword [0x1800e55f4]
addss xmm1, dword [0x1800e55c4]
movaps xmm8, xmm1
mulss xmm8, xmm1
mulss xmm8, xmm1
mulss xmm8, dword [0x1800e5710]
divss xmm7, xmm8
movaps xmm0, xmm7
call fcn.1800c6628
movss dword [r13 + 0x1c], xmm0
movss xmm10, dword [0x1800e5590]
movaps xmm6, xmm10
movss xmm12, dword [0x1800e5ef0]
nop dword [rax]
movaps xmm1, xmm6
xorps xmm1, xmm12
movaps xmm2, xmm6
call fcn.18005d450
divss xmm0, xmm8
call fcn.1800c6628
movaps xmm7, xmm0
addss xmm6, xmm10
ucomiss xmm7, xmm9
jp 0x18005e2f9
je 0x18005e2d0
xorps xmm1, xmm1
movups xmmword [rsp + 0x58], xmm1
xorps xmm2, xmm2
movdqu xmmword [rsp + 0x68], xmm2
mov r8d, 8
lea rdx, str.Vertical
lea rcx, [rsp + 0x58]
call fcn.180050870
nop
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.18005f650
test al, al
jne 0x18005e339
movaps xmm0, xmm9
jmp 0x18005e347
divss xmm11, xmm8
movaps xmm0, xmm11
call fcn.1800c6628
movss dword [r13 + 0x20], xmm0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x18005e38a
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005e385
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e51a
call fcn.180095a90
movss xmm0, dword [r13 + 0x1c]
andps xmm0, xmm13
comiss xmm0, xmm9
jbe 0x18005e3eb
movss xmm0, dword [r13 + 0x20]
andps xmm0, xmm13
ucomiss xmm0, xmm9
jp 0x18005e3eb
jne 0x18005e3eb
movss xmm6, dword [0x1800e5634]
movaps xmm2, xmm6
movaps xmm1, xmm9
call fcn.18005d450
movss xmm8, dword [0x1800e55a8]
comiss xmm8, xmm0
jbe 0x18005e3eb
movaps xmm2, xmm6
movaps xmm1, xmm9
call fcn.18005d450
comiss xmm8, xmm0
jbe 0x18005e3e5
addss xmm7, xmm7
movss dword [r13 + 0x20], xmm7
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x18005e425
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18005e425
mov rbx, qword [rbp - 0x60]
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18005e425
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x18005e459
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18005e459
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x18005e459
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x18005e4b3
mov rdx, qword [rbp - 0x28]
mov rcx, rbx
call fcn.18005fb50
mov rdx, qword [rbp - 0x20]
sub rdx, rbx
and rdx, 0xfffffffffffffff0
mov rax, rbx
cmp rdx, 0x1000
jb 0x18005e49a
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005e502
mov rcx, rbx
call fcn.180095a90
jmp 0x18005e4b3
mov qword [r13 + 0x1c], rsi
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180095340
lea r11, [rsp + 0x188]
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
movaps xmm9, xmmword [r11 - 0x48]
movaps xmm10, xmmword [r11 - 0x58]
movaps xmm11, xmmword [r11 - 0x68]
movaps xmm12, xmmword [r11 - 0x78]
movaps xmm13, xmmword [r11 - 0x88]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
call fcn.1800a8200
nop
call fcn.1800a8200
nop
call fcn.1800a8200
nop
call fcn.1800a8200
nop
call fcn.1800a8200
int3