Function at 0x18000e6c0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
mov rax, qword [0x180225b80]
xor rax, rsp
mov qword [rsp + 0x40], rax
mov rbp, rcx
mov rax, qword [0x18022f448]
mov rcx, qword [rax + 8]
call fcn.180007a30
cmp dword [rax], 0
jg 0x18000e764
xor r14d, r14d
mov qword [rbp + 0xa0], r14
mov rcx, qword [rsp + 0x40]
xor rcx, rsp
call fcn.180199a90
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp qword [rbp + 0x70], 0
je 0x18000e718
mov rax, qword [0x18022f448]
mov rcx, qword [rax + 8]
call fcn.180007a30
xor r14d, r14d
cmp dword [rax], r14d
jle 0x18000e71b
mov esi, r14d
mov rax, qword [0x18022f480]
test rax, rax
je 0x18000e71b
movsd xmm0, qword [rax + 0x40]
movsd qword [rsp + 0x28], xmm0
mov eax, dword [rax + 0x48]
mov dword [rsp + 0x30], eax
movss xmm6, dword [0x1801fbfa4]
mov rax, qword [rbp + 0x68]
mov rbx, qword [rax]
cmp rbx, rax
je 0x18000e910
mov r12d, dword [0x18022eb14]
mov r13, qword gs:[0x58]
movss xmm7, dword [rsp + 0x30]
movss xmm8, dword [rsp + 0x2c]
movss xmm9, dword [rsp + 0x28]
mov r14d, 0x20
nop word [rax + rax]
cmp qword [rbx + 0x18], 0
je 0x18000e900
mov rcx, qword [rbx + 0x38]
test rcx, rcx
je 0x18000e900
call fcn.180008b90
test al, al
je 0x18000e900
mov rcx, qword [rbx + 0x38]
call fcn.180007a30
cmp dword [rax], 0
jle 0x18000e900
mov rcx, qword [rbx + 0x38]
call fcn.1800082d0
cmp qword [rax], 0
je 0x18000e900
mov rcx, qword [rbx + 0x38]
call fcn.1800082d0
mov r15, qword [rax]
mov rax, qword [r13 + r12*8]
mov ecx, dword [r14 + rax]
cmp dword [0x18022f06c], ecx
jle 0x18000e892
lea rcx, [0x18022f06c]
call fcn.180199b58
cmp dword [0x18022f06c], 0xffffffff
jne 0x18000e892
lea rdx, str.m_vecOrigin
lea rcx, str.CGameSceneNode
call fcn.1800934d0
mov word [0x18022f090], ax
lea rcx, [0x18022f06c]
call fcn.180199aec
movsx rax, word [0x18022f090]
movss xmm1, dword [rax + r15]
subss xmm1, xmm9
movss xmm2, dword [rax + r15 + 4]
subss xmm2, xmm8
movss xmm0, dword [rax + r15 + 8]
subss xmm0, xmm7
mulss xmm2, xmm2
mulss xmm1, xmm1
addss xmm2, xmm1
mulss xmm0, xmm0
addss xmm2, xmm0
xorps xmm0, xmm0
ucomiss xmm0, xmm2
ja 0x18000e8e1
xorps xmm0, xmm0
sqrtss xmm0, xmm2
jmp 0x18000e8e9
movaps xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
comiss xmm6, xmm0
jbe 0x18000e900
movaps xmm6, xmm0
lea rsi, [rbx + 0x18]
nop word [rax + rax]
mov rbx, qword [rbx]
cmp rbx, qword [rbp + 0x68]
jne 0x18000e7f0
xor r14d, r14d
test rsi, rsi
je 0x18000e71b
cmp qword [rsi], 0
je 0x18000e71b
mov rcx, qword [rsi + 0x20]
call fcn.180007a30
cmp dword [rax], 0
jle 0x18000e71b
mov rcx, qword [0x18022f448]
mov rcx, qword [rcx + 8]
call fcn.180008450
mov rcx, qword [rax + 0x360]
call fcn.180008350
mov r15d, dword [rax]
mov rbx, qword [0x18022f430]
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x10]
call fcn.180007a30
mov ecx, dword [rax]
cmp dword [rbx + 0xd0], ecx
jge 0x18000e981
mov rbx, qword [0x18022f430]
lea rax, [rbx + 0xd0]
jmp 0x18000e994
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x10]
call fcn.180007a30
mov rbx, qword [0x18022f430]
mov edi, dword [rax]
mov edx, dword [rbx + 0xe0]
mov ecx, dword [rbx + 0xe4]
test ecx, ecx
je 0x18000e9b8
cmp ecx, 1
jne 0x18000e9d9
mov ecx, edx
call qword [sym.imp.USER32.dll_GetKeyState]
test ax, ax
jmp 0x18000e9cb
mov ecx, edx
call qword [sym.imp.USER32.dll_GetKeyState]
movsx rcx, ax
shr rcx, 0x10
test cx, cx
setne al
test al, al
je 0x18000ea0c
mov rbx, qword [0x18022f430]
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x10]
call fcn.180007a30
mov ecx, dword [rax]
cmp dword [rbx + 0xd4], ecx
jge 0x18000e9fe
mov rax, qword [0x18022f430]
mov edi, dword [rax + 0xd4]
jmp 0x18000ea0c
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x10]
call fcn.180007a30
mov edi, dword [rax]
cmp r15d, 8
jne 0x18000ea20
mov rcx, qword [rsi]
mov rcx, qword [rcx + 0x10]
call fcn.180007a30
mov edi, dword [rax]
mov rdx, qword [rsi + 0x20]
mov rcx, qword [rsi]
call fcn.18000c000
mov dword [rsp + 0x20], 0
lea r9, [rsp + 0x20]
mov r8, qword [rsi]
lea rdx, [rsp + 0x28]
mov rcx, rbp
call fcn.18000e3a0
mov r15, qword [rsi]
mov rbx, qword [rsi + 0x20]
test rbx, rbx
je 0x18000eab4
mov rcx, rbx
call fcn.180008b90
test al, al
je 0x18000eab4
mov rcx, rbx
call fcn.180007a30
cmp dword [rax], 0
jle 0x18000eab4
mov rcx, rbx
call fcn.1800082d0
mov rcx, qword [rax]
test rcx, rcx
je 0x18000eab4
mov rax, qword [rcx]
test rax, rax
jne 0x18000ea8b
mov rax, r14
jmp 0x18000ea8f
mov rax, qword [rax + 0x40]
call rax
test rax, rax
je 0x18000eab4
movsxd r8, dword [rax + 0x1cc]
shl r8, 5
lea rdx, [r15 + 0x1020]
mov rcx, qword [rax + 0x1f0]
call sub.VCRUNTIME140.dll_memcpy
cmp dword [rsp + 0x38], 0xffffffff
je 0x18000e71b
movd xmm0, edi
cvtdq2ps xmm0, xmm0
comiss xmm0, dword [rsp + 0x20]
ja 0x18000e71b
movups xmm0, xmmword [rsp + 0x28]
movups xmmword [rsi + 8], xmm0
movsd xmm1, qword [rsp + 0x38]
movsd qword [rsi + 0x18], xmm1
mov qword [rbp + 0xa0], rsi
jmp 0x18000e722