Function at 0x1801651b0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x68]
sub rsp, 0x130
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
vmovaps xmmword [rax - 0x78], xmm9
vmovaps xmmword [rax - 0x88], xmm10
vmovaps xmmword [rax - 0x98], xmm11
vmovaps xmmword [rax - 0xa8], xmm12
vmovaps xmmword [rax - 0xb8], xmm13
vmovaps xmmword [rax - 0xc8], xmm14
vmovaps xmmword [rax - 0xd8], xmm15
movzx edi, r9b
mov rsi, r8
mov r14, rdx
xor r12d, r12d
test rdx, rdx
je 0x180165cf4
lea rcx, [rdx + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x180165cf4
cmp dword [rax + 0x28], 0xf7
jne 0x180165cf4
mov rcx, r14
call fcn.1800c3e00
cmp byte [rax], r12b
jne 0x180165cf4
mov qword [rsi], r14
lea rdx, vtable.CUserCmd.0
mov rcx, r14
call fcn.1801115d0
mov rdx, rsi
call fcn.1801640b0
mov rcx, qword [0x180267790]
movzx eax, byte [rcx + 0xc]
mov byte [0x1802628f0], al
movzx eax, byte [rcx + 0xd]
mov byte [0x1802628f1], al
mov rax, qword [0x180267770]
vmovss xmm0, dword [rax + 0x10]
vmovss dword [0x1802628f4], xmm0
mov rcx, r14
call fcn.1800c55c0
test byte [rax], 2
je 0x1801652f8
mov rcx, r14
call fcn.1800c55c0
and dword [rax], 0xfffffffd
mov rcx, r14
call fcn.1801620b0
mov byte [rax], 1
mov rcx, r14
call fcn.1801623b0
mov dword [rax], r12d
mov rcx, r14
call fcn.1801624b0
mov dword [rax], r12d
mov rcx, r14
call fcn.1801621b0
mov byte [rax], r12b
mov rcx, r14
call fcn.1801622b0
mov byte [rax], r12b
vxorps xmm7, xmm7, xmm7
cmp r14, qword [0x180268200]
je 0x180165361
mov rcx, r14
call fcn.1800d2c10
mov dword [rax], 0xffffffff
mov rcx, r14
call fcn.1801627b0
mov qword [rax], r12
mov dword [rax + 8], r12d
mov rcx, r14
call fcn.1800c55c0
test byte [rax], 1
je 0x180165361
vmovss dword [rbp + 0x70], xmm7
mov rcx, r14
call fcn.1800ebca0
add rax, 8
lea rcx, [rbp + 0x70]
vmovss xmm0, dword [rax]
vcomiss xmm0, xmm7
cmovbe rcx, rax
vmovss xmm6, dword [rcx]
mov rcx, r14
call fcn.1800ebca0
vmovss dword [rax + 8], xmm6
mov rcx, qword [0x180261b80]
movsxd rax, dword [rcx + 3]
mov rax, qword [rax + rcx + 7]
test rax, rax
je 0x1801653db
mov rax, qword [rax]
mov rcx, qword [rax + 0xf8]
call rcx
test rax, rax
je 0x1801653db
mov dword [rax + 0xc], 0xc1bf0000
mov dword [rax + 0x10], 0xc1bf0000
mov dword [rax + 0x14], 0x3e000000
mov dword [rax + 0x18], 0x41bf0000
mov dword [rax + 0x1c], 0x41bf0000
mov dword [rax + 0x20], 0x42a3c000
mov dword [rax + 0x24], 0xc1bf0000
mov dword [rax + 0x28], 0xc1bf0000
mov dword [rax + 0x2c], 0x3e000000
mov dword [rax + 0x30], 0x41bf0000
mov dword [rax + 0x34], 0x41bf0000
mov dword [rax + 0x38], 0x42778000
mov rcx, r14
call fcn.1800ebca0
vmovss xmm0, dword [rax]
vmovss xmm14, dword [0x18023c290]
vandps xmm0, xmm0, xmm14
vmovss xmm6, dword [0x18023bac8]
vcomiss xmm6, xmm0
jbe 0x180165410
mov rcx, r14
call fcn.1800ebca0
mov dword [rax], 0x3c75c28f
mov rcx, r14
call fcn.1800ebca0
vmovss xmm0, dword [rax + 4]
vandps xmm0, xmm0, xmm14
vcomiss xmm6, xmm0
jbe 0x180165437
mov rcx, r14
call fcn.1800ebca0
mov dword [rax + 4], 0x3c75c28f
mov rdx, rsi
call fcn.180165d60
test al, al
je 0x180165822
mov rcx, r14
call fcn.1800c55c0
test byte [rax], 1
mov ebx, dword [0x180269d24]
cmovne ebx, dword [0x180269124]
mov dword [rsp + 0x40], ebx
cmp byte [rbp + 0x90], r12b
je 0x180165470
xor eax, eax
jmp 0x1801654a4
mov rcx, qword [rsi]
call fcn.1800c55c0
test byte [rax], 1
mov eax, dword [0x1802690a4]
je 0x180165485
shr eax, 1
not eax
test al, 1
je 0x18016548f
xor al, al
jmp 0x1801654a4
mov r8d, ebx
mov rdx, rsi
call fcn.180166660
vmovss dword [rsi + 0x1a0], xmm0
mov al, 1
vmovss xmm15, dword [0x18023bc20]
test dil, dil
je 0x18016582e
test al, al
je 0x18016582e
mov rcx, r14
call fcn.1800ebca0
vmovss xmm0, dword [rax]
vandps xmm0, xmm0, xmm14
vmovss xmm8, dword [0x18023ba5c]
vcomiss xmm8, xmm0
jbe 0x180165500
vmovss xmm0, dword [rax + 4]
vandps xmm0, xmm0, xmm14
vcomiss xmm8, xmm0
jbe 0x180165500
vmovss xmm0, dword [rax + 8]
vandps xmm0, xmm0, xmm14
vcomiss xmm8, xmm0
ja 0x18016582e
vmovss xmm0, dword [0x180269da4]
vucomiss xmm0, xmm7
jp 0x180165514
je 0x18016582e
mov rcx, qword [rsi]
add rcx, 0x10
mov rax, qword [rcx]
call qword [rax + 0x48]
mov dword [rbp + 0x70], eax
lea r8, [rbp + 0x70]
lea rdx, [rsp + 0x58]
lea rcx, [0x1802628f8]
call fcn.180167a40
mov r13, qword [rax]
mov qword [rsp + 0x48], r13
mov r13, qword [r13 + 0x38]
vmovaps xmm9, xmm15
vxorps xmm8, xmm8, xmm8
mov r15, r12
test r13, r13
je 0x1801656ea
vmovss xmm10, dword [0x18023bbc0]
vmovss xmm11, dword [0x18023be18]
vmovss xmm12, dword [0x18023be48]
vmovss xmm13, dword [0x18023bf9c]
mov r14, qword [rsp + 0x48]
lea rax, [r15 + 2]
cmp r13, rax
jbe 0x1801656e6
mov r8, qword [r14 + 0x30]
add r8, r15
mov rdx, qword [r14 + 0x28]
dec rdx
mov rax, r8
and rax, rdx
mov rcx, qword [r14 + 0x20]
mov rdi, qword [rcx + rax*8]
lea rax, [r8 + 1]
and rax, rdx
mov rbx, qword [rcx + rax*8]
lea rdx, [rdi + 0x20]
lea rcx, [rsp + 0x30]
call fcn.180161f70
vmovss xmm6, dword [rax + 4]
lea rdx, [rbx + 0x20]
lea rcx, [rsp + 0x20]
call fcn.180161f70
vmovss xmm0, dword [rdi + 0x18]
vsubss xmm3, xmm6, dword [rax + 4]
vsubss xmm0, xmm0, dword [rbx + 0x18]
mov rax, qword [0x180267770]
vdivss xmm1, xmm0, dword [rax + 0x1c]
vaddss xmm2, xmm1, xmm10
vcvttss2si eax, xmm2
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm1, xmm3, xmm0
vaddss xmm0, xmm1, xmm11
vmovaps xmm1, xmm12
call sub.api_ms_win_crt_math_l1_1_0.dll_fmodf
vcmpltss xmm1, xmm0, xmm7
vblendvps xmm1, xmm13, xmm11, xmm1
vaddss xmm0, xmm0, xmm1
vaddss xmm8, xmm8, xmm0
movsxd rbx, dword [rsp + 0x40]
mov rcx, rbx
xor edx, edx
lea rax, [r15 + 1]
div rbx
test rdx, rdx
je 0x18016564a
lea rax, [r13 - 1]
cmp r15, rax
jne 0x1801656da
xor edx, edx
mov rax, r15
div rcx
add rdx, 1
vxorps xmm0, xmm0, xmm0
js 0x180165663
vcvtsi2ss xmm0, xmm0, rdx
jmp 0x180165678
mov rax, rdx
shr rax, 1
and edx, 1
or rax, rdx
vcvtsi2ss xmm0, xmm0, rax
vaddss xmm0, xmm0, xmm0
vdivss xmm1, xmm8, xmm0
vmovss xmm0, dword [rsi + 0x1a0]
vsubss xmm2, xmm0, xmm1
vandps xmm2, xmm2, xmm14
vcomiss xmm2, xmm10
jbe 0x1801656d6
lea rcx, [r13 - 1]
vxorps xmm1, xmm1, xmm1
test rcx, rcx
js 0x1801656a8
vcvtsi2ss xmm1, xmm1, rcx
jmp 0x1801656bd
mov rax, rcx
shr rax, 1
and ecx, 1
or rax, rcx
vcvtsi2ss xmm1, xmm1, rax
vaddss xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ebx
vdivss xmm1, xmm1, xmm0
vaddss xmm2, xmm1, xmm15
vdivss xmm0, xmm15, xmm2
vsubss xmm9, xmm9, xmm0
vmovaps xmm8, xmm7
inc r15
cmp r15, r13
jb 0x180165580
mov r14, qword [rbp + 0x78]
vmovss xmm1, dword [0x180269da4]
vmovss xmm2, dword [0x18023bde4]
vdivss xmm0, xmm1, xmm2
vcomiss xmm0, xmm9
jbe 0x18016582e
movzx edi, byte [0x180271aa1]
vmulss xmm0, xmm9, xmm2
lea rax, str.Hitchance________
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], 0x15
vmovss dword [rsp + 0x68], xmm0
movabs rax, 0x7000000000000000
mov qword [rsp + 0x58], rax
vmovss dword [rsp + 0x6c], xmm1
movabs rax, 0x7000000000000004
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x30], 2
lea rax, [rsp + 0x58]
mov qword [rsp + 0x38], rax
vmovups xmm0, xmmword [rsp + 0x30]
vmovdqa xmmword [rsp + 0x30], xmm0
vmovups xmm1, xmmword [rsp + 0x20]
vmovdqa xmmword [rsp + 0x20], xmm1
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call fcn.1800b7a90
nop
lea rbx, [rsp + 0x70]
cmp qword [rbp - 0x78], 0xf
cmova rbx, qword [rsp + 0x70]
mov dword [rbp + 0x70], 0xff78c850
test rbx, rbx
je 0x1801657f0
test dil, dil
je 0x180165818
mov rcx, qword [0x1802676e8]
mov rax, qword [rcx]
lea r9, str.MovementSimulation
lea r8, str.__s_
lea rdx, [rbp + 0x70]
call qword [rax + 0xb8]
mov rcx, qword [0x1802676e8]
mov rax, qword [rcx]
mov dword [rbp + 0x78], 0xffffffff
mov r9, rbx
lea rdx, [rbp + 0x78]
jmp 0x18016580a
test dil, dil
je 0x180165818
mov rcx, qword [0x1802676e8]
mov rax, qword [rcx]
lea r9, str.MovementSimulation
lea rdx, [rbp + 0x70]
lea r8, [0x18023b6b4]
call qword [rax + 0xb8]
nop
lea rcx, [rsp + 0x70]
call fcn.1800a0370
mov byte [rsi + 0x1e8], 1
jmp 0x180165cfd
mov r15d, r12d
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov edx, eax
call fcn.1801ab7f0
test eax, eax
jle 0x180165cf0
mov r13d, dword [0x180265dfc]
lea r12, [r14 + 0x10]
mov r14d, 4
vmovss xmm11, dword [0x18023c2b0]
vmovss xmm13, dword [0x18023be24]
vmovss xmm12, dword [0x18023bb80]
nop dword [rax]
nop dword [rax + rax]
cmp byte [rsi + 0x1e8], 0
jne 0x180165cd3
mov rcx, qword [rsi]
test rcx, rcx
je 0x180165cd3
add rcx, 0x10
mov rax, qword [rcx]
call qword [rax + 0x10]
test rax, rax
je 0x180165cd3
cmp dword [rax + 0x28], 0xf7
jne 0x180165cd3
lea rcx, [rsi + 0x1c0]
lea rbx, [rsi + 0xa4]
mov rdx, rbx
call fcn.1800d98a0
mov rax, qword [0x180267790]
mov byte [rax + 0xc], 1
mov rax, qword [0x180267790]
mov byte [rax + 0xd], 0
mov rcx, qword [0x180267770]
mov rax, qword [0x180267790]
cmp byte [rax + 0xf], 0
je 0x1801658ff
vmovaps xmm0, xmm7
jmp 0x180165904
vmovss xmm0, dword [rcx + 0x1c]
vmovss dword [rcx + 0x10], xmm0
vmovaps xmm10, xmm7
lea rdi, [rsi + 0x1a0]
vmovss xmm8, dword [rdi]
mov rcx, qword [rsi]
vucomiss xmm8, xmm7
jp 0x180165944
jne 0x180165944
call fcn.1800c55c0
test byte [rax], 1
jne 0x180165b46
mov dword [rsi + 0x3c], 0
mov dword [rsi + 0x34], 0
jmp 0x180165b46
call fcn.1800c55c0
test byte [rax], 1
jne 0x180165b37
vmovss xmm0, dword [rdi]
xor ecx, ecx
vcomiss xmm0, xmm7
seta cl
xor eax, eax
vcomiss xmm7, xmm0
seta al
sub ecx, eax
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, ecx
vmulss xmm10, xmm0, dword [0x18023bdd8]
mov rbx, qword [rsi]
mov edi, r14d
mov rax, qword gs:[0x58]
mov r14, qword [rax + r13*8]
mov eax, dword [rdi + r14]
cmp dword [0x180278cc4], eax
jle 0x1801659cd
lea rcx, [0x180278cc4]
call fcn.1801b3c6c
cmp dword [0x180278cc4], 0xffffffff
jne 0x1801659cd
lea rdx, str.sv_gravity
call fcn.1801b0360
mov qword [0x180278cc8], rax
lea rcx, [0x180278cc4]
call fcn.1801b3c00
mov rcx, rbx
call fcn.1801639b0
vmovss xmm0, dword [rax]
vucomiss xmm0, xmm7
jp 0x1801659e8
jne 0x1801659e8
vmovaps xmm6, xmm15
jmp 0x1801659f4
mov rcx, rbx
call fcn.1801639b0
vmovss xmm6, dword [rax]
mov rcx, qword [0x180261b80]
movsxd rax, dword [rcx + 3]
mov rbx, qword [rax + rcx + 7]
mov rax, qword [0x180278cc8]
mov rcx, qword [rax + 0x38]
test rbx, rbx
je 0x180165af1
vmovss xmm9, dword [rcx + 0x54]
mov eax, dword [rdi + r14]
cmp dword [0x180267c34], eax
jle 0x180165acd
lea rcx, [0x180267c34]
call fcn.1801b3c6c
cmp dword [0x180267c34], 0xffffffff
jne 0x180165acd
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x180165ab9
nop dword [rax + rax]
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180165a71
xor edx, edx
test rcx, rcx
je 0x180165ab0
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [rdx + r8]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180165a90
cmp r9d, 0xf1c5030f
je 0x180165adf
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180165a60
xor eax, eax
mov dword [0x180267c94], eax
lea rcx, [0x180267c34]
call fcn.1801b3c00
movsxd rax, dword [0x180267c94]
vmulss xmm0, xmm9, dword [rax + rbx]
vmulss xmm1, xmm0, xmm6
jmp 0x180165af6
lea r8, str.m_flGravityMultiplier
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
jmp 0x180165abb
vmulss xmm1, xmm6, dword [rcx + 0x54]
mov rax, qword [0x180267770]
vmulss xmm0, xmm1, dword [rax + 0x1c]
vaddss xmm1, xmm0, dword [rsi + 0x54]
vcomiss xmm1, xmm7
jbe 0x180165b1a
vcomiss xmm13, xmm1
jb 0x180165b1a
vmovaps xmm0, xmm12
jmp 0x180165b1f
vmovaps xmm0, xmm15
vmulss xmm8, xmm8, xmm0
lea rbx, [rsi + 0xa4]
lea rdi, [rsi + 0x1a0]
mov r14d, 4
vaddss xmm0, xmm8, xmm10
vaddss xmm1, xmm0, dword [rsi + 0x18]
vmovss dword [rsi + 0x18], xmm1
mov rcx, qword [0x180267758]
mov rax, qword [rcx]
lea r8, [rsi + 8]
mov rdx, qword [rsi]
call qword [rax + 8]
mov rax, qword [0x180267770]
vmovss xmm0, dword [rax + 0x1c]
vaddss xmm1, xmm0, dword [rsi + 0x1a4]
vmovss dword [rsi + 0x1a4], xmm1
vmovss xmm0, dword [rsi + 0x1ac]
vcomiss xmm1, xmm0
setae al
mov byte [rsi + 0x1b0], al
test al, al
je 0x180165bb9
mov eax, dword [rbx]
mov dword [rsi + 0x1b4], eax
mov eax, dword [rbx + 4]
mov dword [rsi + 0x1b8], eax
mov eax, dword [rbx + 8]
mov dword [rsi + 0x1bc], eax
vaddss xmm0, xmm0, dword [rsi + 0x1a8]
vmovss dword [rsi + 0x1ac], xmm0
vmovss xmm0, dword [rdi]
vucomiss xmm0, xmm7
jp 0x180165cc4
jne 0x180165cc4
mov rcx, qword [rsi]
call fcn.1800c55c0
test byte [rax], 1
je 0x180165cd3
vmovss xmm0, dword [rsi + 0x34]
vucomiss xmm0, xmm7
jp 0x180165cd3
jne 0x180165cd3
vmovss xmm0, dword [rsi + 0x3c]
vucomiss xmm0, xmm7
jp 0x180165cd3
jne 0x180165cd3
vmovss xmm2, dword [rsi + 0x4c]
vandps xmm0, xmm2, xmm14
vmovss xmm8, dword [0x18023ba5c]
vcomiss xmm8, xmm0
jbe 0x180165c44
vmovss xmm0, dword [rsi + 0x50]
vandps xmm0, xmm0, xmm14
vcomiss xmm8, xmm0
jbe 0x180165c44
vmovss xmm0, dword [rsi + 0x54]
vandps xmm0, xmm0, xmm14
vcomiss xmm8, xmm0
ja 0x180165cd3
vmovss dword [rsp + 0x48], xmm7
vmovss xmm0, dword [rsi + 0x18]
vxorps xmm1, xmm0, xmm11
vmovss dword [rsp + 0x4c], xmm1
vmovss dword [rsp + 0x50], xmm7
vmovss dword [rsp + 0x58], xmm7
vmovss dword [rsp + 0x5c], xmm7
vmovss dword [rsp + 0x60], xmm7
vmovss dword [rsp + 0x20], xmm2
vmovss xmm0, dword [rsi + 0x50]
vmovss dword [rsp + 0x24], xmm0
vmulss xmm0, xmm7, dword [rsi + 0x54]
vmovss dword [rsp + 0x28], xmm0
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x30]
call fcn.180151400
vmovss xmm0, dword [rsp + 0x30]
vmovss dword [rsi + 0x34], xmm0
vmovss xmm1, dword [rsp + 0x34]
vxorps xmm2, xmm1, xmm11
vmovss dword [rsi + 0x3c], xmm2
jmp 0x180165cd3
vmovss xmm0, dword [rsi + 0x18]
vsubss xmm1, xmm0, xmm10
vmovss dword [rsi + 0x18], xmm1
inc r15d
mov rax, qword [r12]
mov rcx, r12
call qword [rax + 0x48]
mov edx, eax
call fcn.1801ab7f0
cmp r15d, eax
jl 0x180165880
mov al, 1
jmp 0x180165cff
mov word [rsi + 0x1e8], 0x101
xor al, al
lea r11, [rsp + 0x130]
mov rbx, qword [r11 + 0x50]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
vmovaps xmm9, xmmword [r11 - 0x40]
vmovaps xmm10, xmmword [r11 - 0x50]
vmovaps xmm11, xmmword [r11 - 0x60]
vmovaps xmm12, xmmword [r11 - 0x70]
vmovaps xmm13, xmmword [r11 - 0x80]
vmovaps xmm14, xmmword [r11 - 0x90]
vmovaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret