Function at 0x18000d160
Capabilities:
Hash data using fnv

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xb0
mov rax, qword [0x180225b80]
xor rax, rsp
mov qword [rbp + 0x27], rax
mov r14, rcx
mov qword [rbp - 0x49], rcx
mov rax, qword [0x18022f448]
mov rcx, qword [rax + 8]
call fcn.180007a30
cmp dword [rax], 0
jle 0x18000d78d
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0xf], xmm0
mov qword [rbp + 0x1f], rax
lea r8, str.CCSPlayerController
lea rdx, [rbp + 0xf]
mov rcx, qword [0x18022f458]
call fcn.180004310
nop
lea rcx, [r14 + 0x60]
call fcn.1800105e0
mov rdi, qword [rbp + 0xf]
mov qword [rbp - 0x41], rdi
mov rcx, qword [rbp + 0x17]
mov qword [rbp - 0x59], rcx
cmp rdi, rcx
je 0x18000d74d
mov r15d, dword [0x18022eb14]
mov qword [rbp - 0x51], r15
mov r14d, 0x20
nop word [rax + rax]
mov rdi, qword [rdi]
test rdi, rdi
je 0x18000d734
mov rax, qword [0x18022f448]
cmp rdi, qword [rax + 0x10]
je 0x18000d734
lea rdx, [rbp - 0x11]
mov rcx, rdi
call fcn.18000ba50
mov ebx, dword [rax]
mov dword [rbp + 7], ebx
mov esi, ebx
shr esi, 0x18
mov r12d, ebx
shr r12d, 0x10
mov r13d, ebx
shr r13d, 8
mov rax, qword gs:[0x58]
mov r15, qword [rax + r15*8]
mov eax, dword [r14 + r15]
cmp dword [0x18022f1a4], eax
jle 0x18000d2a5
lea rcx, [0x18022f1a4]
call fcn.180199b58
cmp dword [0x18022f1a4], 0xffffffff
jne 0x18000d2a5
lea rdx, str.m_bPawnIsAlive
lea rcx, str.CCSPlayerController
call fcn.1800934d0
mov word [0x18022f1e0], ax
lea rcx, [0x18022f1a4]
call fcn.180199aec
movsx rax, word [0x18022f1e0]
cmp byte [rax + rdi], 0
jne 0x18000d3d8
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r11, 0x100000001b3
imul rcx, r11
movzx eax, r13b
xor rcx, rax
imul rcx, r11
movzx eax, r12b
xor rcx, rax
imul rcx, r11
mov eax, esi
xor rcx, rax
imul rcx, r11
mov r14, qword [rbp - 0x49]
mov r9, qword [r14 + 0x90]
mov rax, r9
and rax, rcx
mov r10, qword [r14 + 0x78]
add rax, rax
mov rcx, qword [r10 + rax*8 + 8]
mov r8, qword [r14 + 0x68]
cmp rcx, r8
je 0x18000d333
mov rax, qword [r10 + rax*8]
cmp ebx, dword [rcx + 0x10]
je 0x18000d335
cmp rcx, rax
je 0x18000d333
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x18000d323
jmp 0x18000d335
xor ecx, ecx
test rcx, rcx
cmove rcx, r8
cmp rcx, r8
je 0x18000d726
movzx edx, byte [rcx + 0x10]
movabs rsi, 0xcbf29ce484222325
xor rdx, rsi
imul rdx, r11
movzx eax, byte [rcx + 0x11]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 0x12]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 0x13]
xor rdx, rax
imul rdx, r11
and r9, rdx
add r9, r9
mov rax, qword [r10 + r9*8]
cmp qword [r10 + r9*8 + 8], rcx
jne 0x18000d3a7
cmp rax, rcx
jne 0x18000d39c
mov qword [r10 + r9*8], r8
mov qword [r10 + r9*8 + 8], r8
jmp 0x18000d3b3
mov r8, qword [rcx + 8]
mov qword [r10 + r9*8 + 8], r8
jmp 0x18000d3b3
cmp rax, rcx
jne 0x18000d3b3
mov rax, qword [rcx]
mov qword [r10 + r9*8], rax
mov rdx, qword [rcx]
dec qword [r14 + 0x70]
mov rax, qword [rcx + 8]
mov qword [rax], rdx
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov edx, 0x40
call fcn.180199f84
jmp 0x18000d726
mov rax, qword [0x18022f428]
mov rsi, qword [rax]
mov eax, dword [r14 + r15]
cmp dword [0x18022eff8], eax
jle 0x18000d429
lea rcx, [0x18022eff8]
call fcn.180199b58
cmp dword [0x18022eff8], 0xffffffff
jne 0x18000d429
lea rdx, str.m_hPawn
lea rcx, str.CBasePlayerController
call fcn.1800934d0
mov word [0x18022eff4], ax
lea rcx, [0x18022eff8]
call fcn.180199aec
movsx rax, word [0x18022eff4]
mov edx, dword [rax + rdi]
and edx, 0x7fff
mov rcx, rsi
call fcn.180004ae0
mov rsi, rax
test rax, rax
jne 0x18000d555
movzx edx, bl
movabs rsi, 0xcbf29ce484222325
xor rdx, rsi
movabs r11, 0x100000001b3
imul rdx, r11
movzx eax, byte [rbp + 8]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rbp + 9]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rbp + 0xa]
xor rdx, rax
imul rdx, r11
mov r14, qword [rbp - 0x49]
mov r10, qword [r14 + 0x90]
and rdx, r10
mov r9, qword [r14 + 0x78]
add rdx, rdx
mov rcx, qword [r9 + rdx*8 + 8]
mov r8, qword [r14 + 0x68]
cmp rcx, r8
je 0x18000d4d0
mov rax, qword [r9 + rdx*8]
cmp ebx, dword [rcx + 0x10]
je 0x18000d4d2
nop dword [rax]
cmp rcx, rax
je 0x18000d4d0
mov rcx, qword [rcx + 8]
cmp ebx, dword [rcx + 0x10]
jne 0x18000d4c0
jmp 0x18000d4d2
xor ecx, ecx
test rcx, rcx
cmove rcx, r8
cmp rcx, r8
je 0x18000d726
movzx edx, byte [rcx + 0x10]
xor rdx, rsi
imul rdx, r11
movzx eax, byte [rcx + 0x11]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 0x12]
xor rdx, rax
imul rdx, r11
movzx eax, byte [rcx + 0x13]
xor rdx, rax
imul rdx, r11
and rdx, r10
add rdx, rdx
mov rax, qword [r9 + rdx*8]
cmp qword [r9 + rdx*8 + 8], rcx
jne 0x18000d540
cmp rax, rcx
jne 0x18000d532
mov qword [r9 + rdx*8], r8
mov qword [r9 + rdx*8 + 8], r8
jmp 0x18000d3b3
mov r8, qword [rcx + 8]
mov qword [r9 + rdx*8 + 8], r8
jmp 0x18000d3b3
cmp rax, rcx
jne 0x18000d3b3
mov rax, qword [rcx]
mov qword [r9 + rdx*8], rax
jmp 0x18000d3b3
mov ecx, dword [0x18022efec]
cmp ecx, dword [r14 + r15]
jle 0x18000d5a4
lea rcx, [0x18022efec]
call fcn.180199b58
mov ecx, dword [0x18022efec]
cmp ecx, 0xffffffff
jne 0x18000d5a4
lea rdx, str.m_iTeamNum
lea rcx, str.C_BaseEntity
call fcn.1800934d0
mov word [0x18022efe8], ax
lea rcx, [0x18022efec]
call fcn.180199aec
mov ecx, dword [0x18022efec]
movsx rdi, word [0x18022efe8]
mov rax, qword [0x18022f448]
mov r12, qword [rax + 8]
cmp ecx, dword [r14 + r15]
jle 0x18000d5f8
lea rcx, [0x18022efec]
call fcn.180199b58
cmp dword [0x18022efec], 0xffffffff
jne 0x18000d5f8
lea rdx, str.m_iTeamNum
lea rcx, str.C_BaseEntity
call fcn.1800934d0
mov word [0x18022efe8], ax
lea rcx, [0x18022efec]
call fcn.180199aec
movsx rax, word [0x18022efe8]
mov ecx, dword [rax + r12]
cmp dword [rdi + rsi], ecx
je 0x18000d726
mov rax, qword [0x18022f448]
cmp rsi, qword [rax + 8]
je 0x18000d726
movzx ecx, bl
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r9, 0x100000001b3
imul rcx, r9
movzx eax, byte [rbp + 8]
xor rcx, rax
imul rcx, r9
movzx eax, byte [rbp + 9]
xor rcx, rax
imul rcx, r9
movzx eax, byte [rbp + 0xa]
xor rcx, rax
imul rcx, r9
mov r14, qword [rbp - 0x49]
mov rdx, qword [r14 + 0x90]
and rdx, rcx
add rdx, rdx
mov rcx, qword [r14 + 0x78]
mov rax, qword [rcx + rdx*8 + 8]
mov r8, qword [r14 + 0x68]
cmp rax, r8
je 0x18000d6a0
mov rcx, qword [rcx + rdx*8]
cmp ebx, dword [rax + 0x10]
je 0x18000d6a2
nop dword [rax]
cmp rax, rcx
je 0x18000d6a0
mov rax, qword [rax + 8]
cmp ebx, dword [rax + 0x10]
jne 0x18000d690
jmp 0x18000d6a2
xor eax, eax
test rax, rax
cmove rax, r8
cmp rax, r8
jne 0x18000d726
mov edx, ebx
mov rcx, r14
call fcn.18000cea0
mov rbx, rax
test rax, rax
je 0x18000d726
mov qword [rbp - 0x39], 0
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x31], xmm0
mov qword [rbp - 0x21], rax
mov byte [rbp - 0x31], al
mov qword [rbp - 0x2d], rax
mov qword [rbp - 0x25], rax
mov byte [rbp - 0x1d], al
mov qword [rbp - 0x19], rax
mov rcx, rsi
call fcn.180008b90
test al, al
je 0x18000d711
mov qword [rbp - 0x19], rsi
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x18000d711
call fcn.180008b90
xor ecx, ecx
test al, al
cmovne rcx, rbx
mov qword [rbp - 0x39], rcx
lea r9, [rbp - 0x39]
lea r8, [rbp + 7]
lea rdx, [rbp - 9]
lea rcx, [r14 + 0x60]
call fcn.180011fe0
mov rcx, qword [rbp - 0x59]
mov r15, qword [rbp - 0x51]
mov r14d, 0x20
mov rdi, qword [rbp - 0x41]
add rdi, 8
mov qword [rbp - 0x41], rdi
cmp rdi, rcx
jne 0x18000d210
mov rdi, qword [rbp + 0xf]
test rdi, rdi
je 0x18000d78d
mov rdx, qword [rbp + 0x1f]
sub rdx, rdi
and rdx, 0xfffffffffffffff8
mov rax, rdi
cmp rdx, 0x1000
jb 0x18000d785
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000d785
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rdi
call fcn.180199f84
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.180199a90
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret