Function at 0x180161620
Capabilities:
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
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov r13, rdx
mov rdi, qword [0x18022f758]
mov rbx, qword [0x18022f750]
cmp rbx, rdi
je 0x18016168f
lea rcx, [rbx + 0x20]
call fcn.1800f4520
mov rcx, rbx
call fcn.1800f4520
add rbx, 0x50
cmp rbx, rdi
jne 0x180161667
mov rax, qword [0x18022f750]
mov qword [0x18022f758], rax
xor edi, edi
mov dword [rbp + 0x120], edi
lea r8, [rbp + 0x120]
lea rdx, [rbp - 0x30]
lea rcx, [0x18022d8c0]
call fcn.1800b2bd0
mov rcx, qword [rax]
mov r15, qword [rcx + 0x18]
mov r12, qword [rcx + 0x20]
cmp r15, r12
je 0x180161e92
mov esi, dword [0x18023228c]
mov qword [rbp - 0x30], rsi
movabs rbx, 0x100000001b3
xorps xmm7, xmm7
movss xmm8, dword [0x180209198]
mov r14, qword [r15]
mov rcx, r14
call fcn.1800a78c0
cmp byte [rax], 0
je 0x180161f14
mov rcx, r14
call fcn.180161520
mov rcx, qword [0x180233ba8]
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 0x180161f14
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], rdi
mov qword [rsp + 0x48], 7
mov word [rsp + 0x30], di
mov rcx, r14
call fcn.180161420
mov ecx, dword [rax]
dec ecx
cmp ecx, 5
ja case.default.0x18016176b
movsxd rax, ecx
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x162054]
add rcx, rdx
jmp rcx
mov rax, qword [rsp + 0x48]
cmp rax, 8
jb 0x1801617ae
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], di
jmp 0x18016194e
lea r9, str.Deathcam
mov edx, 8
jmp 0x180161944
mov rax, qword [rsp + 0x48]
cmp rax, 9
jb 0x180161800
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], di
jmp 0x18016194e
lea r9, str.Freezecam
mov edx, 9
jmp 0x180161944
mov rax, qword [rsp + 0x48]
cmp rax, 5
jb 0x180161852
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 5
mov r8d, 0xa
lea rdx, str.Fixed
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 0xa], di
jmp 0x18016194e
lea r9, str.Fixed
mov edx, 5
jmp 0x180161944
mov rax, qword [rsp + 0x48]
cmp rax, 3
jb 0x1801618a4
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 3
mov r8d, 6
lea rdx, [0x180204f50]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 6], di
jmp 0x18016194e
lea r9, [0x180204f50]
mov edx, 3
jmp 0x180161944
mov rax, qword [rsp + 0x48]
cmp rax, 3
jb 0x1801618f3
lea rbx, [rsp + 0x30]
cmp rax, 7
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 3
mov r8d, 6
lea rdx, [0x180204f48]
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 6], di
jmp 0x18016194e
lea r9, [0x180204f48]
mov edx, 3
jmp 0x180161944
cmp qword [rsp + 0x48], 7
jb 0x180161938
lea rbx, [rsp + 0x30]
cmova rbx, qword [rsp + 0x30]
mov qword [rsp + 0x40], 7
mov r8d, 0xe
lea rdx, str.Roaming
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov word [rbx + 0xe], di
jmp 0x18016194e
lea r9, str.Roaming
mov edx, 7
lea rcx, [rsp + 0x30]
call fcn.180129fb0
movaps xmm6, xmm7
mov rbx, qword [0x18022d8b0]
test rbx, rbx
je 0x180161a67
lea rcx, [r14 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov edi, eax
mov edx, 4
mov rax, qword gs:[0x58]
mov rcx, qword [rax + rsi*8]
mov edx, dword [rdx + rcx]
cmp dword [0x1802341f8], edx
jle 0x180161a32
lea rcx, [0x1802341f8]
call fcn.180183aac
cmp dword [0x1802341f8], 0xffffffff
jne 0x180161a32
mov rcx, qword [0x180233b80]
mov rax, qword [rcx]
call qword [rax + 0x40]
mov r10, rax
xor r11d, r11d
test rax, rax
je 0x180161a1d
nop
mov r8, qword [r10 + 0x10]
mov rcx, 0xffffffffffffffff
mov r9d, 0x811c9dc5
inc rcx
cmp byte [r8 + rcx], r11b
jne 0x1801619d1
mov rdx, r11
test rcx, rcx
je 0x180161a14
nop dword [rax]
nop word [rax + rax]
movsx eax, byte [r8 + rdx]
xor eax, r9d
imul r9d, eax, 0x1000193
inc rdx
cmp rdx, rcx
jb 0x1801619f0
cmp r9d, 0x3369e751
je 0x180161b01
mov r10, qword [r10 + 0x20]
test r10, r10
jne 0x1801619c0
mov eax, r11d
mov dword [0x180234204], eax
lea rcx, [0x1802341f8]
call fcn.180183a40
lea eax, [rdi*4]
cdqe
movsxd rdx, dword [0x180234204]
add rax, rbx
movss xmm6, dword [rdx + rax]
movaps xmm0, xmm6
mov rax, qword [0x180233c00]
subss xmm0, dword [rax + 0xc]
cvttss2si edi, xmm0
test edi, edi
mov ebx, 0
cmovs edi, ebx
xor sil, sil
lea rcx, [r14 + 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
mov rcx, qword [0x18022f798]
and rcx, rdx
add rcx, rcx
mov rdx, qword [0x18022f780]
mov rax, qword [rdx + rcx*8 + 8]
cmp rax, qword [0x18022f770]
je 0x180161b16
mov rcx, qword [rdx + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x180161b19
nop dword [rax]
cmp rax, rcx
je 0x180161b16
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180161af0
jmp 0x180161b19
lea r8, str.m_flNextRespawnTime
mov rdx, qword [r10 + 0x18]
call fcn.180183640
jmp 0x180161a20
mov rax, rbx
test rax, rax
jne 0x180161b4e
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rbp + 0x130], eax
lea r8, [rbp + 0x130]
lea rdx, [rbp + 0x70]
lea rcx, [0x18022f768]
call fcn.180140d80
mov rcx, qword [rax]
movss dword [rcx + 0x14], xmm6
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rbp + 0x138], eax
lea r8, [rbp + 0x138]
lea rdx, [rbp + 0x80]
lea rcx, [0x18022f768]
call fcn.180140d80
mov rcx, qword [rax]
movss xmm0, dword [rcx + 0x14]
addss xmm0, xmm8
comiss xmm6, xmm0
jbe 0x180161bbf
mov sil, 1
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rsp + 0x50], eax
lea r8, [rsp + 0x50]
lea rdx, [rbp + 0x90]
lea rcx, [0x18022f768]
call fcn.180140d80
mov rcx, qword [rax]
mov dword [rcx + 0x14], 0xbf800000
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x20], xmm0
movups xmmword [rbp - 0x10], xmm0
movups xmmword [rbp], xmm0
movups xmmword [rbp + 0x10], xmm0
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
mov dword [rbp + 0x60], eax
mov rax, qword [0x180233bc0]
mov rcx, qword [rax]
mov rbx, qword [rcx + 0x40]
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
lea r8, [rbp - 0x20]
mov edx, eax
mov rcx, qword [0x180233bc0]
call rbx
test al, al
je 0x180161e33
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
xor ebx, ebx
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rbx
lea rax, [rbp - 0x20]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], bl
jne 0x180161c33
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x50]
call fcn.180092b30
nop
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r8, qword [rbp - 0x50]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rbx
xor edx, edx
mov ecx, 0xfde9
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movsxd rbx, eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor r11d, r11d
mov qword [rsp + 0x70], r11
mov qword [rsp + 0x78], r11
mov r8, rbx
lea rcx, [rsp + 0x60]
call fcn.1801812f0
lea rcx, [rsp + 0x60]
cmp qword [rsp + 0x78], 7
cmova rcx, qword [rsp + 0x60]
lea r8, [rbp - 0x50]
cmp qword [rbp - 0x38], 0xf
cmova r8, qword [rbp - 0x50]
mov dword [rsp + 0x28], ebx
mov qword [rsp + 0x20], rcx
xor edx, edx
mov ecx, 0xfde9
mov r9d, 0xffffffff
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
nop
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x80]
call fcn.1800f4120
nop
mov dword [rbp - 0x60], edi
mov byte [rbp - 0x5c], sil
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rsp + 0x58], eax
lea r8, [rsp + 0x58]
lea rdx, [rbp + 0xa0]
lea rcx, [0x18022d940]
call fcn.1800d7db0
mov rax, qword [rax]
movzx eax, byte [rax + 0x14]
mov byte [rbp - 0x5b], al
mov rcx, r14
call fcn.1800a8760
mov ecx, dword [rax]
mov dword [rbp - 0x58], ecx
mov rax, qword [r14 + 0x10]
lea rcx, [r14 + 0x10]
call qword [rax + 0x48]
mov dword [rbp - 0x54], eax
mov rdx, qword [0x18022f758]
cmp rdx, qword [0x18022f760]
je 0x180161dd8
xorps xmm0, xmm0
movups xmmword [rdx], xmm0
xor eax, eax
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rax
movups xmm0, xmmword [rsp + 0x60]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rsp + 0x70]
movups xmmword [rdx + 0x10], xmm1
mov qword [rsp + 0x70], rax
mov qword [rsp + 0x78], 7
mov word [rsp + 0x60], ax
xorps xmm0, xmm0
movups xmmword [rdx + 0x20], xmm0
mov qword [rdx + 0x30], rax
mov qword [rdx + 0x38], rax
movups xmm0, xmmword [rbp - 0x80]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rbp - 0x70]
movups xmmword [rdx + 0x30], xmm1
mov qword [rbp - 0x70], rax
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], ax
mov eax, dword [rbp - 0x60]
mov dword [rdx + 0x40], eax
movzx eax, byte [rbp - 0x5c]
mov byte [rdx + 0x44], al
movzx eax, byte [rbp - 0x5b]
mov byte [rdx + 0x45], al
mov eax, dword [rbp - 0x58]
mov dword [rdx + 0x48], eax
mov eax, dword [rbp - 0x54]
mov dword [rdx + 0x4c], eax
add qword [0x18022f758], 0x50
jmp 0x180161de3
lea r8, [rsp + 0x60]
call fcn.1801624f0
nop
lea rcx, [rbp - 0x80]
call fcn.1800f4520
lea rcx, [rsp + 0x60]
call fcn.1800f4520
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0xf
jbe 0x180161e33
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180161e2d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x180162046
call fcn.1801839fc
nop
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x180161e75
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180161e70
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016204d
call fcn.1801839fc
movabs rbx, 0x100000001b3
xor edi, edi
mov rsi, qword [rbp - 0x30]
add r15, 8
cmp r15, r12
jne 0x1801616e2
mov rax, qword [0x18022f758]
cmp qword [0x18022f750], rax
setne al
lea r11, [rsp + 0x1e0]
mov rbx, 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 rdi
pop rsi
pop rbp
ret
mov rdx, qword [rsp + 0x48]
cmp rdx, 7
jbe 0x180161e85
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180161f0a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18016204d
call fcn.1801839fc
jmp 0x180161e85
lea rcx, [r14 + 0x10]
mov rax, qword [rcx]
call qword [rax + 0x48]
mov r8d, eax
shr eax, 8
movzx edx, al
movzx eax, r8b
movabs r14, 0xcbf29ce484222325
xor rax, r14
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 [0x18022f798]
mov rcx, r9
and rcx, rdx
add rcx, rcx
mov r10, qword [0x18022f780]
mov rax, qword [r10 + rcx*8 + 8]
mov r11, qword [0x18022f770]
cmp rax, r11
je 0x180161fa4
mov rcx, qword [r10 + rcx*8]
cmp r8d, dword [rax + 0x10]
je 0x180161fa7
cmp rax, rcx
je 0x180161fa4
mov rax, qword [rax + 8]
cmp r8d, dword [rax + 0x10]
jne 0x180161f93
jmp 0x180161fa7
mov rax, rdi
mov rcx, r11
test rax, rax
cmovne rcx, rax
cmp rcx, r11
je 0x180161e85
movzx edx, byte [rcx + 0x10]
xor rdx, r14
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 0x180162012
cmp rax, rcx
jne 0x180162007
mov qword [r10 + r9*8], r11
mov qword [r10 + r9*8 + 8], r11
jmp 0x18016201e
mov r11, qword [rcx + 8]
mov qword [r10 + r9*8 + 8], r11
jmp 0x18016201e
cmp rax, rcx
jne 0x18016201e
mov rax, qword [rcx]
mov qword [r10 + r9*8], rax
mov rdx, qword [rcx]
dec qword [0x18022f778]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x18
call fcn.1801839fc
jmp 0x180161e85
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