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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1d8
vmovaps xmmword [rax - 0x58], xmm6
vmovaps xmmword [rax - 0x68], xmm7
vmovaps xmmword [rax - 0x78], xmm8
mov rsi, rdx
mov rdi, qword [0x180262d28]
mov rbx, qword [0x180262d20]
cmp rbx, rdi
je 0x180186588
nop word [rax + rax]
lea rcx, [rbx + 0x20]
call fcn.1800a0370
mov rcx, rbx
call fcn.1800a0370
add rbx, 0x50
cmp rbx, rdi
jne 0x180186560
mov rax, qword [0x180262d20]
mov qword [0x180262d28], rax
mov dword [rbp + 0x120], 2
lea r8, [rbp + 0x120]
lea rdx, [rbp - 0x40]
lea rcx, [0x180268220]
call fcn.1801ac590
mov rcx, qword [rax]
mov r15, qword [rcx + 0x18]
mov r12, qword [rcx + 0x20]
cmp r15, r12
je 0x180186afe
mov r13d, dword [0x180265dfc]
movabs rdi, 0xcbf29ce484222325
movabs rbx, 0x100000001b3
vxorps xmm7, xmm7, xmm7
vmovss xmm8, dword [0x18023bc08]
mov r14, qword [r15]
mov rcx, r14
call fcn.1800c3e00
cmp byte [rax], 0
je 0x180186b39
mov rcx, r14
call fcn.180186410
mov rcx, qword [0x180267710]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x130], eax
lea rdx, [rbp + 0x130]
call r8
cmp rax, rsi
jne 0x180186b39
lea rcx, [r14 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov dword [rbp + 0x120], eax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], 0
mov ebx, 0xf
mov qword [rsp + 0x48], rbx
mov byte [rsp + 0x30], 0
mov rcx, r14
call fcn.180186310
mov edx, dword [rax]
sub edx, 4
je 0x180186688
cmp edx, 1
je 0x180186674
jmp 0x180186ae7
mov eax, dword [0x1802351b0]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1802351b2]
jmp 0x18018669a
mov eax, dword [0x1802351b4]
mov word [rsp + 0x30], ax
movzx eax, byte [0x1802351b6]
mov byte [rsp + 0x33], 0
mov byte [rsp + 0x32], al
mov qword [rsp + 0x40], 3
xor edi, edi
vmovaps xmm6, xmm7
mov rsi, qword [0x180268210]
mov r8d, dword [rbp + 0x120]
test rsi, rsi
je 0x1801867e2
mov edi, r8d
mov ecx, 4
mov rax, qword gs:[0x58]
mov rax, qword [rax + r13*8]
mov ecx, dword [rcx + rax]
cmp dword [0x180267de0], ecx
jle 0x180186798
lea rcx, [0x180267de0]
call fcn.1801b3c6c
cmp dword [0x180267de0], 0xffffffff
jne 0x180186791
mov rcx, qword [0x1802676e0]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
test rax, rax
je 0x18018677d
nop dword [rax + rax]
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], 0
jne 0x180186731
xor edx, edx
test rcx, rcx
je 0x180186774
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 0x180186750
cmp r9d, 0x3369e751
je 0x180186868
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180186720
xor eax, eax
mov dword [0x180267dec], eax
lea rcx, [0x180267de0]
call fcn.1801b3c00
mov r8d, dword [rbp + 0x120]
lea eax, [rdi*4]
cdqe
movsxd rdx, dword [0x180267dec]
add rax, rsi
vmovss xmm6, dword [rdx + rax]
vmovss dword [rbp + 0x138], xmm7
mov rax, qword [0x180267770]
vsubss xmm0, xmm6, dword [rax + 0xc]
vmovss dword [rsp + 0x20], xmm0
lea rax, [rbp + 0x138]
lea rcx, [rsp + 0x20]
vcomiss xmm7, xmm0
cmovbe rax, rcx
vcvttss2si edi, dword [rax]
xor sil, sil
movzx ecx, r8b
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs rdx, 0x100000001b3
imul rcx, rdx
movzx eax, byte [rbp + 0x121]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x122]
xor rcx, rax
imul rcx, rdx
movzx eax, byte [rbp + 0x123]
xor rcx, rax
imul rcx, rdx
and rcx, qword [0x180262d68]
add rcx, rcx
mov rdx, qword [0x180262d50]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [0x180262d40]
je 0x18018687d
mov rdx, qword [rdx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x18018687f
cmp rax, rdx
je 0x18018687d
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180186857
jmp 0x18018687f
lea r8, str.m_flNextRespawnTime
mov rdx, qword [r10 + 0x18]
call fcn.1801b3800
jmp 0x18018677f
xor eax, eax
test rax, rax
jne 0x1801868a3
lea r8, [rbp + 0x120]
lea rdx, [rbp - 0x30]
lea rcx, [0x180262d38]
call fcn.1800b8a60
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm6
lea r8, [rbp + 0x120]
lea rdx, [rbp - 0x20]
lea rcx, [0x180262d38]
call fcn.1800b8a60
mov rcx, qword [rax]
vaddss xmm1, xmm8, dword [rcx + 0x14]
vcomiss xmm6, xmm1
jbe 0x1801868ec
mov sil, 1
lea r8, [rbp + 0x120]
lea rdx, [rbp - 0x10]
lea rcx, [0x180262d38]
call fcn.1800b8a60
mov rcx, qword [rax]
mov dword [rcx + 0x14], 0xbf800000
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp + 0x10], ymm0
vmovups ymmword [rbp + 0x30], ymm0
vmovups ymmword [rbp + 0x50], ymm0
vmovups ymmword [rbp + 0x70], ymm0
mov dword [rbp + 0x90], eax
mov rcx, qword [0x180267728]
mov rax, qword [rcx]
lea r8, [rbp + 0x10]
mov edx, dword [rbp + 0x120]
vzeroupper
call qword [rax + 0x40]
test al, al
je 0x180186a9d
xor r9d, r9d
lea r8, [rbp + 0x10]
mov edx, dword [rbp + 0x120]
lea rcx, [0x1802769d0]
call fcn.18015e950
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x50], xmm0
xor ecx, ecx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], rcx
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], cl
jne 0x180186964
mov rdx, rax
lea rcx, [rsp + 0x50]
call fcn.1800a2420
nop
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.18009ffe0
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.18009ffe0
nop
mov dword [rbp - 0x50], edi
mov byte [rbp - 0x4c], sil
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rsp + 0x28], eax
lea r8, [rsp + 0x28]
lea rdx, [rbp]
lea rcx, [0x1802684e0]
call fcn.1800b8f20
mov rcx, qword [rax]
movzx ebx, byte [rcx + 0x14]
mov byte [rbp - 0x4b], bl
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rbp - 0x48], eax
mov rdx, qword [0x180262d28]
cmp rdx, qword [0x180262d30]
je 0x180186a39
vmovups ymm0, ymmword [rsp + 0x70]
vmovups ymmword [rdx], ymm0
xor ecx, ecx
mov qword [rbp - 0x80], rcx
mov qword [rbp - 0x78], 0xf
mov byte [rsp + 0x70], cl
vmovups ymm0, ymmword [rbp - 0x70]
vmovups ymmword [rdx + 0x20], ymm0
mov qword [rbp - 0x60], rcx
mov qword [rbp - 0x58], 0xf
mov byte [rbp - 0x70], cl
mov dword [rdx + 0x40], edi
mov byte [rdx + 0x44], sil
mov byte [rdx + 0x45], bl
mov dword [rdx + 0x48], eax
add qword [0x180262d28], 0x50
jmp 0x180186a44
lea r8, [rsp + 0x70]
call fcn.180186ff0
nop
lea rcx, [rbp - 0x70]
vzeroupper
call fcn.1800a0370
lea rcx, [rsp + 0x70]
call fcn.1800a0370
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0xf
jbe 0x180186a98
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180186a93
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180186beb
call fcn.1801b3bbc
mov rbx, qword [rsp + 0x48]
cmp rbx, 0xf
jbe 0x180186ad6
lea rdx, [rbx + 1]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180186ad1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180186bf2
call fcn.1801b3bbc
movabs rdi, 0xcbf29ce484222325
mov rsi, qword [rbp + 0x128]
movabs rbx, 0x100000001b3
add r15, 8
cmp r15, r12
jne 0x1801865e4
mov rax, qword [0x180262d28]
cmp qword [0x180262d20], rax
setne al
lea r11, [rsp + 0x1d8]
vmovaps xmm6, xmmword [r11 - 0x18]
vmovaps xmm7, xmmword [r11 - 0x28]
vmovaps xmm8, xmmword [r11 - 0x38]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
lea rcx, [r14 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r8d, eax
shr eax, 8
movzx edx, al
movzx eax, r8b
xor rax, rdi
imul rax, rbx
xor rdx, rax
imul rdx, rbx
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, rbx
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, rbx
mov rcx, qword [0x180262d68]
and rcx, rdx
add rcx, rcx
mov rdx, qword [0x180262d50]
mov rax, qword [rdx + rcx*8 + 8]
mov r9, qword [0x180262d40]
cmp rax, r9
je 0x180186bc1
mov rcx, qword [rdx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x180186bc3
nop dword [rax + rax]
cmp rax, rcx
je 0x180186bc1
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180186bb0
jmp 0x180186bc3
xor eax, eax
mov r8, r9
test rax, rax
cmovne r8, rax
cmp r8, r9
je 0x180186af1
lea rdx, [rbp - 0x40]
lea rcx, [0x180262d38]
call fcn.180111030
jmp 0x180186af1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3