Function at 0x14006e0a0
Capabilities:
Log keystrokes

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x70]
sub rsp, 0x170
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x1402f2018]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r14, r9
mov rsi, r8
mov r12, rcx
mov rax, qword [0x1402fb490]
cmp byte [rax + 0x6c], 0
jne 0x14006e5b5
mov r15, qword [0x1402fb580]
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
xor r13d, r13d
mov qword [rbp - 0x70], r13
mov rdx, qword [0x1402fe798]
sub rdx, qword [0x1402fe790]
je 0x14006e150
lea rcx, [rbp - 0x80]
call fcn.140014500
mov rdi, qword [rbp - 0x80]
mov rbx, qword [0x1402fe798]
mov rdx, qword [0x1402fe790]
sub rbx, rdx
mov r8, rbx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rdi]
mov qword [rbp - 0x78], rax
lea rdx, [rbp - 0x80]
lea rcx, [r15 + 0x170]
call fcn.140066940
test al, al
jne 0x14006e5b5
mov rax, qword [0x1402fb4f0]
cmp dword [rax + 0x154], 1
je 0x14006e5b5
cmp dword [0x1402fb3e0], 2
je 0x14006e5b5
lea rcx, [rbp - 0x30]
call qword [sym.imp.USER32.dll_GetCursorPos]
cmp byte [0x1402fb399], r13b
jne 0x14006e5b5
mov r9, qword [0x1402fb9c0]
test r9, r9
jne 0x14006e1cd
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.1401d6670
mov r9, rax
mov qword [0x1402fb9c0], rax
movsd xmm0, qword [rsi]
movsd qword [rsp + 0x20], xmm0
mov ecx, dword [rsi + 8]
mov dword [rsp + 0x28], ecx
lea r8, [rsp + 0x20]
lea rdx, [rsp + 0x30]
mov rcx, r9
call fcn.1401d5b90
test r9, r9
jne 0x14006e216
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x20], rax
mov rcx, rax
call fcn.1401d6670
mov r9, rax
mov qword [0x1402fb9c0], rax
movsd xmm0, qword [r14]
movsd qword [rbp - 0x80], xmm0
mov eax, dword [r14 + 8]
mov dword [rbp - 0x78], eax
lea r8, [rbp - 0x80]
lea rdx, [rsp + 0x20]
mov rcx, r9
call fcn.1401d5b90
xorps xmm6, xmm6
movss xmm8, dword [rsp + 0x30]
ucomiss xmm8, xmm6
jp 0x14006e24e
je 0x14006e5b5
movss xmm7, dword [rsp + 0x34]
ucomiss xmm7, xmm6
jp 0x14006e25f
je 0x14006e5b5
test r9, r9
jne 0x14006e283
mov ecx, 0x36e490
call fcn.14022869c
mov qword [rsp + 0x30], rax
mov rcx, rax
call fcn.1401d6670
nop
mov qword [0x1402fb9c0], rax
comiss xmm8, xmm6
jbe 0x14006e5b5
movaps xmm1, xmm8
addss xmm1, xmm6
movd xmm0, dword [0x1402fb3a0]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x14006e5b5
comiss xmm7, xmm6
jbe 0x14006e5b5
movaps xmm1, xmm7
addss xmm1, xmm6
movd xmm0, dword [0x1402fb39c]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x14006e5b5
mov edx, 2
call fcn.14006d430
mov ebx, eax
test eax, eax
je 0x14006e5b5
lea ecx, [rdx - 1]
call qword [sym.imp.USER32.dll_BlockInput]
movaps xmm2, xmm7
movaps xmm1, xmm8
mov rcx, r12
call fcn.14006d5e0
movzx edi, bx
xor edx, edx
mov ecx, edi
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov qword [rbp - 0x80], 1
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x60], r13
mov word [rbp - 0x76], ax
mov qword [rbp - 0x68], r13
mov word [rbp - 0x78], r13w
mov dword [rbp - 0x74], 8
lea r8, [rbp - 0x80]
mov rcx, r12
call fcn.14006ca60
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14006e354
imul rax, rax, 0x64
jmp 0x14006e36f
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
movabs rsi, 0x7ffffffffeced2ff
movabs r14, 0x7fffffffffffffff
cmp rax, rsi
jge 0x14006e395
add rax, 0x1312d00
mov qword [rsp + 0x30], rax
jmp 0x14006e39a
mov qword [rsp + 0x30], r14
lea rcx, [rsp + 0x30]
call fcn.14006ea00
movss xmm2, dword [rsp + 0x24]
movss xmm1, dword [rsp + 0x20]
mov rcx, r12
call fcn.14006d5e0
xor edx, edx
mov ecx, edi
call qword [sym.imp.USER32.dll_MapVirtualKeyW]
mov qword [rbp - 0x80], 1
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x60], r13
mov word [rbp - 0x76], ax
mov qword [rbp - 0x68], r13
mov word [rbp - 0x78], r13w
mov dword [rbp - 0x74], 0xa
lea r8, [rbp - 0x80]
mov rcx, r12
call fcn.14006ca60
call qword [sym.imp.MSVCP140.dll__Query_perf_frequency]
mov rbx, rax
call qword [sym.imp.MSVCP140.dll__Query_perf_counter]
cmp rbx, 0x989680
jne 0x14006e410
imul rax, rax, 0x64
jmp 0x14006e42b
cqo
idiv rbx
imul rcx, rax, 0x3b9aca00
imul rax, rdx, 0x3b9aca00
cqo
idiv rbx
add rax, rcx
cmp rax, rsi
jge 0x14006e43d
add rax, 0x1312d00
mov qword [rsp + 0x20], rax
jmp 0x14006e442
mov qword [rsp + 0x20], r14
lea rcx, [rsp + 0x20]
call fcn.14006ea00
movd xmm2, dword [rbp - 0x2c]
cvtdq2ps xmm2, xmm2
movd xmm1, dword [rbp - 0x30]
cvtdq2ps xmm1, xmm1
mov qword [rbp - 0x80], r13
mov dword [rbp - 0x70], r13d
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x68], xmm0
mov dword [rbp - 0x6c], 0x8001
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [r12 + 0x18]
cvttsd2si eax, xmm0
mov dword [rbp - 0x78], eax
cvttss2si eax, xmm2
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [r12 + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x74], eax
lea r8, [rbp - 0x80]
mov rcx, r12
call fcn.14006ca60
lea r8, [rbp - 0x80]
mov rcx, r12
call fcn.14006ca60
xor ecx, ecx
call qword [sym.imp.USER32.dll_BlockInput]
mov dword [0x1402fb3e0], 2
lea rax, vtable.std::_Func_impl_no_alloc_class__public:_void___cdecl_Controller::CastSpell_int__class_Vector3__class_Vector3____ptr64::_15::_lambda_1___void___.0
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x38]
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x18], r13
lea rdx, [rsp + 0x38]
lea rcx, [rbp - 0x20]
call fcn.140035380
call qword [sym.imp.KERNEL32.dll_GetTickCount64]
mov rcx, rax
xorps xmm0, xmm0
test rax, rax
js 0x14006e51b
cvtsi2ss xmm0, rax
jmp 0x14006e52d
shr rax, 1
and ecx, 1
or rax, rcx
cvtsi2ss xmm0, rax
addss xmm0, xmm0
addss xmm0, dword [0x1402c19f4]
movss dword [rbp + 0x20], xmm0
mov byte [rbp + 0x24], 0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x14006e55e
mov rax, qword [rcx]
lea rdx, [rsp + 0x38]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov qword [rsp + 0x70], r13
lea rax, [rbp - 0x80]
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x48], r13
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x14006e581
mov rax, qword [rcx]
lea rdx, [rbp - 0x80]
call qword [rax]
mov qword [rbp - 0x48], rax
movss xmm0, dword [rbp + 0x20]
movss dword [rbp - 0x40], xmm0
movzx eax, byte [rbp + 0x24]
mov byte [rbp - 0x3c], al
lea rdx, [rbp - 0x80]
call fcn.140035270
nop
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x14006e5b5
mov rax, qword [rcx]
lea rdx, [rbp - 0x20]
cmp rcx, rdx
setne dl
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1402283f0
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret