Function at 0x18005f000
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 [0x1800fd040]
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 0x18005f9f9
mov rax, qword [0x18014e338]
cmp byte [rax], sil
jne 0x18005f9f9
mov rcx, qword [r8]
call fcn.180075670
test al, al
je 0x18005f9f9
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
shr eax, 0xf
test al, 1
je 0x18005f9f9
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 0x18005f0db
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 [0x1800e3758]
movsd qword [rsp + 0x20], xmm0
lea r9, [rbp - 0x68]
mov r8, qword [rbp - 0x80]
lea rdx, [rbp - 0x30]
call fcn.180079760
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.180051990
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.180060af0
movaps xmm7, xmm0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005f186
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f181
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa5d
call fcn.180093450
mov rdi, qword [rbp - 0x30]
mov r15d, 0xffffffff
xorps xmm9, xmm9
cmp rdi, qword [rbp - 0x28]
je 0x18005f426
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.180051990
nop
or dword [rsp + 0x30], 1
lea rdx, [rbp - 0x68]
mov rcx, r12
call fcn.180060b50
test al, al
je 0x18005f1ef
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rdi]
call fcn.180077000
test al, al
jne 0x18005f1ef
mov bl, 1
jmp 0x18005f1f1
xor bl, bl
test byte [rsp + 0x30], 1
je 0x18005f238
and dword [rsp + 0x30], 0xfffffffe
mov rdx, qword [rbp - 0x50]
cmp rdx, 0xf
jbe 0x18005f238
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f233
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa5d
call fcn.180093450
test bl, bl
mov rbx, qword [rbp - 0x80]
jne 0x18005f416
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 0x18005f2ad
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 0x18005f2a9
cmp byte [rsi + 8], al
jne 0x18005f288
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsi + 0xc]
jne 0x18005f2a9
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 0x18005f2b3
mov rbx, qword [rbp - 0x80]
test r14, r14
sete al
test al, al
jne 0x18005f414
mov r14, qword [rdi]
mov rsi, qword [r14]
test rsi, rsi
je 0x18005f357
cmp byte [rsi + 9], al
je 0x18005f357
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 0x18005f353
cmp byte [rsi + 8], al
jne 0x18005f2fd
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp eax, dword [rsi + 0xc]
jne 0x18005f353
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 0x18005f353
mov rcx, qword [0x18014ae48]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov rax, qword [r14 + 8]
test rax, rax
je 0x18005f333
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.180078960
test al, al
jne 0x18005f410
mov rbx, qword [rbp - 0x80]
mov rdx, rbx
mov rcx, qword [rdi]
call fcn.180077ee0
comiss xmm9, xmm0
jae 0x18005f410
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 0x18005f38a
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.180078280
movaps xmm6, xmm0
xorps xmm1, xmm1
cvtss2sd xmm1, xmm7
comisd xmm1, xmm0
jbe 0x18005f410
mov rax, qword [rdi + 8]
test rax, rax
je 0x18005f3c6
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 0x18005f409
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18005f409
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
mov eax, r15d
lock xadd dword [rbx + 0xc], eax
cmp eax, 1
jne 0x18005f409
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 0x18005f1a0
jmp 0x18005f42a
mov rbx, qword [rbp - 0x80]
cmp qword [rbp - 0x40], 0
jne 0x18005f449
mov qword [r13 + 0x1c], 0
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x18005f97a
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.180074680
nop
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rbp - 0x68]
call fcn.180071710
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.18005fa80
call fcn.1800a65d8
movd xmm7, eax
cvtdq2ps xmm7, xmm7
divss xmm7, dword [0x1800e3840]
addss xmm7, dword [rsp + 0x30]
call fcn.1800a65d8
movd xmm11, eax
cvtdq2ps xmm11, xmm11
divss xmm11, dword [0x1800e3840]
addss xmm11, dword [rsp + 0x34]
mov rax, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rax + 0x10]
call fcn.1800780b0
movaps xmm6, xmm0
mov rax, qword [rbp - 0x78]
mov rdx, qword [rbp - 0x80]
mov rcx, qword [rax + 0x10]
call fcn.180077fd0
movaps xmm10, xmm0
xorps xmm1, xmm1
movups xmmword [rsp + 0x38], xmm1
xorps xmm2, xmm2
movdqu xmmword [rsp + 0x48], xmm2
mov r8d, 3
lea rdx, [0x1800e0e70]
lea rcx, [rsp + 0x38]
call fcn.180051990
nop
subss xmm7, xmm6
movaps xmm6, xmm7
movss xmm13, dword [0x1800e3f50]
andps xmm6, xmm13
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.180060af0
comiss xmm6, xmm0
seta bl
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005f5a8
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f5a3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa6f
call fcn.180093450
test bl, bl
je 0x18005f5b9
mov qword [r13 + 0x1c], 0
jmp 0x18005f940
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.180051990
nop
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.180060af0
movaps xmm6, xmm0
movss xmm8, dword [0x1800e3730]
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.180051990
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.180060af0
movaps xmm2, xmm6
movaps xmm1, xmm0
call fcn.18005e9a0
divss xmm7, xmm0
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005f683
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f67d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa63
call fcn.180093450
nop
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x18005f6c0
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f6bb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa6f
call fcn.180093450
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.180051990
nop
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.180060af0
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.180051990
nop
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.180060af0
subss xmm11, xmm10
movaps xmm2, xmm6
movaps xmm1, xmm0
call fcn.18005e9a0
divss xmm11, xmm0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x18005f787
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f781
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa69
call fcn.180093450
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0xf
jbe 0x18005f7c4
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f7bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa6f
call fcn.180093450
movss xmm1, dword [rbp - 0x48]
mulss xmm1, dword [0x1800e3684]
addss xmm1, dword [0x1800e3650]
movaps xmm8, xmm1
mulss xmm8, xmm1
mulss xmm8, xmm1
mulss xmm8, dword [0x1800e37a0]
divss xmm7, xmm8
movaps xmm0, xmm7
call fcn.1800c4198
movss dword [r13 + 0x1c], xmm0
movss xmm10, dword [0x1800e3618]
movaps xmm6, xmm10
movss xmm12, dword [0x1800e3f80]
nop dword [rax]
movaps xmm1, xmm6
xorps xmm1, xmm12
movaps xmm2, xmm6
call fcn.18005e9a0
divss xmm0, xmm8
call fcn.1800c4198
movaps xmm7, xmm0
addss xmm6, xmm10
ucomiss xmm7, xmm9
jp 0x18005f849
je 0x18005f820
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.180051990
nop
lea rdx, [rsp + 0x58]
mov rcx, r12
call fcn.180060b50
test al, al
jne 0x18005f889
movaps xmm0, xmm9
jmp 0x18005f897
divss xmm11, xmm8
movaps xmm0, xmm11
call fcn.1800c4198
movss dword [r13 + 0x20], xmm0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0xf
jbe 0x18005f8da
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18005f8d5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa6f
call fcn.180093450
movss xmm0, dword [r13 + 0x1c]
andps xmm0, xmm13
comiss xmm0, xmm9
jbe 0x18005f940
movss xmm0, dword [r13 + 0x20]
andps xmm0, xmm13
ucomiss xmm0, xmm9
jp 0x18005f940
jne 0x18005f940
movss xmm6, dword [0x1800e36c4]
movaps xmm2, xmm6
movaps xmm1, xmm9
call fcn.18005e9a0
movss xmm3, dword [0x1800e3628]
comiss xmm3, xmm0
jbe 0x18005f940
movaps xmm2, xmm6
movaps xmm1, xmm9
call fcn.18005e9a0
movss xmm1, dword [0x1800e3634]
comiss xmm1, xmm0
jbe 0x18005f93a
addss xmm7, xmm7
movss dword [r13 + 0x20], xmm7
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x18005f97a
mov eax, r15d
lock xadd dword [rcx + 8], eax
cmp eax, 1
jne 0x18005f97a
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 0x18005f97a
mov rcx, qword [rbp - 0x60]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x38]
test rbx, rbx
je 0x18005f9ae
mov eax, r15d
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x18005f9ae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax]
lock xadd dword [rbx + 0xc], r15d
cmp r15d, 1
jne 0x18005f9ae
mov rax, qword [rbx]
mov rcx, rbx
call qword [rax + 8]
nop
mov rbx, qword [rbp - 0x30]
test rbx, rbx
je 0x18005fa08
mov rdx, qword [rbp - 0x28]
mov rcx, rbx
call fcn.180060e80
mov rdx, qword [rbp - 0x20]
sub rdx, rbx
and rdx, 0xfffffffffffffff0
mov rax, rbx
cmp rdx, 0x1000
jb 0x18005f9ef
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18005fa57
mov rcx, rbx
call fcn.180093450
jmp 0x18005fa08
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.180092d00
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.1800a5c60
nop
call fcn.1800a5c60
nop
call fcn.1800a5c60
nop
call fcn.1800a5c60
nop
call fcn.1800a5c60
int3