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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x118]
sub rsp, 0x1e0
vmovaps xmmword [rax - 0x48], xmm6
vmovaps xmmword [rax - 0x58], xmm7
vmovaps xmmword [rax - 0x68], xmm8
mov r13, rdx
xor esi, esi
mov rdi, qword [0x180230758]
mov rbx, qword [0x180230750]
cmp rbx, rdi
je 0x180162a38
nop dword [rax + rax]
lea rcx, [rbx + 0x20]
call fcn.1800f6250
mov rcx, rbx
call fcn.1800f6250
add rbx, 0x50
cmp rbx, rdi
jne 0x180162a10
mov rax, qword [0x180230750]
mov qword [0x180230758], rax
mov dword [rbp + 0x120], esi
lea r8, [rbp + 0x120]
lea rdx, [rbp - 0x30]
lea rcx, [0x18022e8c0]
call fcn.1800c0da0
mov rcx, qword [rax]
mov r15, qword [rcx + 0x18]
mov r12, qword [rcx + 0x20]
cmp r15, r12
je 0x1801631d3
mov r14d, dword [0x18023328c]
mov qword [rbp - 0x30], r14
movabs rbx, 0x100000001b3
vxorps xmm7, xmm7, xmm7
vmovss xmm8, dword [0x18020a330]
nop word [rax + rax]
mov rdi, qword [r15]
mov rcx, rdi
call fcn.1800b5ca0
cmp byte [rax], 0
je 0x180163211
mov rcx, rdi
call fcn.1801628c0
mov rcx, qword [0x180234bb0]
mov rdx, qword [rcx]
mov r8, qword [rdx + 0x20]
mov eax, dword [rax]
mov dword [rbp + 0x120], eax
lea rdx, [rbp + 0x120]
call r8
cmp rax, r13
jne 0x180163211
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], si
mov rcx, rdi
call fcn.1801627c0
mov edx, dword [rax]
sub edx, 1
je 0x180162c57
sub edx, 1
je 0x180162c0b
sub edx, 2
je 0x180162bb9
cmp edx, 1
je 0x180162b67
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x1801631c6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180162b5d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016334a
call fcn.180184c4c
jmp 0x1801631c6
mov rax, qword [rsp + 0x48]
cmp rax, 3
jb 0x180162ba8
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 3
mov r8d, 6
lea rdx, [0x1802060c0]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 6], si
jmp 0x180162cab
lea r9, [0x1802060c0]
mov edx, 3
jmp 0x180162ca1
mov rax, qword [rsp + 0x48]
cmp rax, 3
jb 0x180162bfa
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 3
mov r8d, 6
lea rdx, [0x1802060c8]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 6], si
jmp 0x180162cab
lea r9, [0x1802060c8]
mov edx, 3
jmp 0x180162ca1
mov rax, qword [rsp + 0x48]
cmp rax, 9
jb 0x180162c49
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 9
mov r8d, 0x12
lea rdx, str.Freezecam
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 0x12], si
jmp 0x180162cab
lea r9, str.Freezecam
mov edx, 9
jmp 0x180162ca1
mov rax, qword [rsp + 0x48]
cmp rax, 8
jb 0x180162c95
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 8
mov r8d, 0x10
lea rdx, str.Deathcam
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 0x10], si
jmp 0x180162cab
lea r9, str.Deathcam
mov edx, 8
lea rcx, [rsp + 0x30]
call fcn.18012ba40
vmovaps xmm6, xmm7
mov rbx, qword [0x18022e8b0]
test rbx, rbx
je 0x180162dc4
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov esi, eax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax + r14*8]
mov edx, dword [rdx + rcx]
cmp dword [0x180235208], edx
jle 0x180162d92
lea rcx, [0x180235208]
call fcn.180184cfc
cmp dword [0x180235208], 0xffffffff
jne 0x180162d92
mov rcx, qword [0x180234b88]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x180162d7d
nop dword [rax]
mov r9, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r8d, 0x811c9dc5
inc rcx
cmp byte [r9 + rcx], r11b
jne 0x180162d31
mov rdx, r11
test rcx, rcx
je 0x180162d74
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r9 + rdx]
xor eax, r8d
imul r8d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x180162d50
cmp r8d, 0x3369e751
je 0x180162e58
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x180162d20
mov eax, r11d
mov dword [0x180235214], eax
lea rcx, [0x180235208]
call fcn.180184c90
lea eax, [rsi*4]
cdqe
movsxd rdx, dword [0x180235214]
add rax, rbx
vmovss xmm6, dword [rdx + rax]
mov rax, qword [0x180234c08]
vsubss xmm0, xmm6, dword [rax + 0xc]
vcvttss2si esi, xmm0
test esi, esi
mov ebx, 0
cmovs esi, ebx
xor r14b, r14b
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r8d, eax
shr eax, 8
movzx edx, al
movzx eax, r8b
movabs rcx, 0xcbf29ce484222325
xor rax, rcx
movabs r9, 0x100000001b3
imul rax, r9
xor rdx, rax
imul rdx, r9
mov eax, r8d
shr eax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r9
mov eax, r8d
shr rax, 0x18
xor rdx, rax
imul rdx, r9
and rdx, qword [0x180230798]
add rdx, rdx
mov rcx, qword [0x180230780]
mov rax, qword [rcx + rdx*8 + 8]
cmp rax, qword [0x180230770]
je 0x180162e6d
mov rcx, qword [rcx + rdx*8]
cmp r8d, dword [rax + 0x10]
je 0x180162e70
cmp rax, rcx
je 0x180162e6d
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180162e47
jmp 0x180162e70
lea r8, str.m_flNextRespawnTime
mov rdx, qword [r10 + 0x18]
call fcn.180184890
jmp 0x180162d80
mov rax, rbx
test rax, rax
jne 0x180162ea5
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov dword [rbp + 0x130], eax
lea r8, [rbp + 0x130]
lea rdx, [rbp - 0x20]
lea rcx, [0x180230768]
call fcn.180142620
mov rcx, qword [rax]
vmovss dword [rcx + 0x14], xmm6
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov dword [rbp + 0x138], eax
lea r8, [rbp + 0x138]
lea rdx, [rbp - 0x10]
lea rcx, [0x180230768]
call fcn.180142620
mov rcx, qword [rax]
vaddss xmm1, xmm8, dword [rcx + 0x14]
vcomiss xmm6, xmm1
jbe 0x180162f0c
mov r14b, 1
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov dword [rsp + 0x50], eax
lea r8, [rsp + 0x50]
lea rdx, [rbp]
lea rcx, [0x180230768]
call fcn.180142620
mov rcx, qword [rax]
mov dword [rcx + 0x14], 0xbf800000
vpxor xmm0, xmm0, xmm0
xor eax, eax
vmovups ymmword [rbp + 0x20], ymm0
vmovups ymmword [rbp + 0x40], ymm0
vmovups ymmword [rbp + 0x60], ymm0
vmovups ymmword [rbp + 0x80], ymm0
mov dword [rbp + 0xa0], eax
mov rax, qword [0x180234bc8]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x40]
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
vzeroupper
call qword [rax + 0x48]
lea r8, [rbp + 0x20]
mov edx, eax
mov rcx, qword [0x180234bc8]
call rbx
test al, al
je 0x180163174
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rsp + 0x60], xmm0
xor ebx, ebx
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x78], rbx
lea rax, [rbp + 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x180162f83
lea rdx, [rbp + 0x20]
lea rcx, [rsp + 0x60]
call fcn.180093c20
nop
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova r8, qword [rsp + 0x60]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0xfde9
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x80], xmm0
xor r11d, r11d
mov qword [rbp - 0x70], r11
mov qword [rbp - 0x68], r11
mov r8, rbx
lea rcx, [rbp - 0x80]
call fcn.1801824a0
lea rcx, [rbp - 0x80]
cmp qword [rbp - 0x68], 7
cmova rcx, qword [rbp - 0x80]
lea r8, [rsp + 0x60]
cmp qword [rsp + 0x78], 0xf
cmova r8, qword [rsp + 0x60]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
xor edx, edx
mov ecx, 0xfde9
lea r9d, [rdx - 1]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x60]
call fcn.1800f5e40
nop
mov dword [rbp - 0x40], esi
mov byte [rbp - 0x3c], r14b
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0x10]
lea rcx, [0x18022e940]
call fcn.1800d9720
mov rcx, qword [rax]
movzx eax, byte [rcx + 0x14]
mov byte [rbp - 0x3b], al
mov rcx, rdi
call fcn.1800b6b20
mov ecx, dword [rax]
mov dword [rbp - 0x38], ecx
mov rax, qword [rdi + 0x10]
lea rcx, [rdi + 0x10]
call qword [rax + 0x48]
mov dword [rbp - 0x34], eax
mov rdx, qword [0x180230758]
cmp rdx, qword [0x180230760]
je 0x180163116
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdx], xmm0
xor eax, eax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
vmovups ymm0, ymmword [rbp - 0x80]
vmovups ymmword [rdx], ymm0
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], ax
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rdx + 0x20], xmm0
mov qword [rdx + 0x30], rax
mov qword [rdx + 0x38], rax
vmovups ymm0, ymmword [rbp - 0x60]
vmovups ymmword [rdx + 0x20], ymm0
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], 7
mov word [rbp - 0x60], ax
mov eax, dword [rbp - 0x40]
mov dword [rdx + 0x40], eax
movzx eax, byte [rbp - 0x3c]
mov byte [rdx + 0x44], al
movzx eax, byte [rbp - 0x3b]
mov byte [rdx + 0x45], al
mov eax, dword [rbp - 0x38]
mov dword [rdx + 0x48], eax
mov eax, dword [rbp - 0x34]
mov dword [rdx + 0x4c], eax
add qword [0x180230758], 0x50
jmp 0x180163120
lea r8, [rbp - 0x80]
call fcn.180163850
nop
lea rcx, [rbp - 0x60]
vzeroupper
call fcn.1800f6250
lea rcx, [rbp - 0x80]
call fcn.1800f6250
nop
mov rdx, qword [rsp + 0x78]
cmp rdx, 0xf
jbe 0x180163174
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18016316e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180163343
call fcn.180184c4c
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x1801631b6
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801631b1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016334a
call fcn.180184c4c
movabs rbx, 0x100000001b3
xor esi, esi
mov r14, qword [rbp - 0x30]
add r15, 8
cmp r15, r12
jne 0x180162a90
mov rax, qword [0x180230758]
cmp qword [0x180230750], rax
setne al
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x48]
vmovaps xmm6, xmmword [r11 - 0x10]
vmovaps xmm7, xmmword [r11 - 0x20]
vmovaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rcx, [rdi + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r8d, eax
shr eax, 8
movzx edx, al
movzx eax, r8b
movabs rdi, 0xcbf29ce484222325
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 r9, qword [0x180230798]
mov rcx, r9
and rcx, rdx
add rcx, rcx
mov r10, qword [0x180230780]
mov rax, qword [r10 + rcx*8 + 8]
mov r11, qword [0x180230770]
cmp rax, r11
je 0x1801632a1
mov rcx, qword [r10 + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x1801632a4
cmp rax, rcx
je 0x1801632a1
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180163290
jmp 0x1801632a4
mov rax, rsi
mov rcx, r11
test rax, rax
cmovne rcx, rax
cmp rcx, r11
je 0x1801631c6
movzx edx, byte [rcx + 0x10]
xor rdx, rdi
imul rdx, rbx
movzx eax, byte [rcx + 0x11]
xor rdx, rax
imul rdx, rbx
movzx eax, byte [rcx + 0x12]
xor rdx, rax
imul rdx, rbx
movzx eax, byte [rcx + 0x13]
xor rdx, rax
imul rdx, rbx
and r9, rdx
add r9, r9
mov rax, qword [r10 + r9*8]
cmp qword [r10 + r9*8 + 8], rcx
jne 0x18016330f
cmp rax, rcx
jne 0x180163304
mov qword [r10 + r9*8], r11
mov qword [r10 + r9*8 + 8], r11
jmp 0x18016331b
mov r11, qword [rcx + 8]
mov qword [r10 + r9*8 + 8], r11
jmp 0x18016331b
cmp rax, rcx
jne 0x18016331b
mov rax, qword [rcx]
mov qword [r10 + r9*8], rax
mov rdx, qword [rcx]
dec qword [0x180230778]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x18
call fcn.180184c4c
jmp 0x1801631c6
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