Function at 0x1007b89b
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100aea25
mov eax, dword fs:[0]
push eax
sub esp, 0x24
push ebx
push esi
push edi
mov eax, dword [0x100df00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x100e4790]
mov ecx, dword [0x100e4750]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x100e4790]
push eax
call esi
mov esi, eax
test esi, esi
je 0x1007bace
mov ecx, dword fs:[0x2c]
mov edx, dword [0x100e1a08]
mov ebx, dword [ecx + edx*4]
mov ecx, dword [0x100e4858]
mov dword [ebp - 0x14], ebx
cmp ecx, dword [ebx + 4]
jle 0x1007b56e
push 0x100e4858
call fcn.100a68e6
mov ecx, dword [0x100e4858]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007b56e
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 0
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
mov ecx, dword [0x100e4858]
add esp, 4
mov eax, dword [0x100e4860]
cmp dword [eax + esi], 2
je 0x1007b5d5
cmp ecx, dword [ebx + 4]
jle 0x1007b5c6
push 0x100e4858
call fcn.100a68e6
add esp, 4
cmp dword [0x100e4858], 0xffffffff
jne 0x1007b5c6
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 1
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e4860]
cmp dword [eax + esi], 3
jne 0x1007bace
mov ecx, esi
mov dword [0x100e5540], esi
call fcn.1000f650
mov ecx, dword [0x100e4790]
mov edi, 1
mov dword [0x100e5544], eax
mov dword [ebp - 0x18], edi
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp eax, edi
jle 0x1007bace
mov ecx, dword [0x100e4790]
push edi
mov eax, dword [ecx]
call dword [eax + 0xc]
mov edi, eax
mov dword [ebp - 0x10], edi
test edi, edi
je case.0x1007b655.2
mov edx, dword [edi + 8]
lea ecx, [edi + 8]
mov edx, dword [edx + 0x20]
call edx
test al, al
jne case.0x1007b655.2
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
call dword [eax + 8]
test eax, eax
je case.0x1007b655.2
mov eax, dword [eax + 0x14]
dec eax
cmp eax, 0xdc
ja case.0x1007b655.2
movzx eax, byte [eax + 0x1007bb9c]
jmp dword [eax*4 + 0x1007bb88]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007b67c
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x1007b68b
lea edx, [ebp - 0x10]
push edx
push ecx
mov ecx, eax
call fcn.1007bef0
mov edi, dword [ebp - 0x10]
mov ecx, dword [0x100e4858]
cmp ecx, dword [ebx + 4]
jle 0x1007b6e6
push 0x100e4858
call fcn.100a68e6
mov ecx, dword [0x100e4858]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007b6e6
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 2
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
mov ecx, dword [0x100e4858]
add esp, 4
mov eax, dword [ebp - 0x14]
mov esi, dword [0x100e4860]
mov ebx, dword [0x100e5540]
cmp ecx, dword [eax + 4]
jle 0x1007b742
push 0x100e4858
call fcn.100a68e6
add esp, 4
cmp dword [0x100e4858], 0xffffffff
jne 0x1007b742
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 3
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e4860]
mov ecx, dword [esi + edi]
sub ecx, dword [eax + ebx]
lea eax, [ebp - 0x20]
neg ecx
push eax
sbb ecx, ecx
add ecx, 2
mov dword [ebp - 0x20], ecx
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007baa5
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x1007bab1
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 3
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007b797
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x1007b7a6
lea edx, [ebp - 0x10]
push edx
push ecx
mov ecx, eax
call fcn.1007bef0
mov edi, dword [ebp - 0x10]
mov ecx, dword [0x100e4858]
mov esi, dword [0x100e5540]
cmp ecx, dword [ebx + 4]
jle 0x1007b807
push 0x100e4858
call fcn.100a68e6
mov ecx, dword [0x100e4858]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007b807
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 4
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
mov ecx, dword [0x100e4858]
add esp, 4
add esi, dword [0x100e4860]
cmp ecx, dword [ebx + 4]
jle 0x1007b85a
push 0x100e4858
call fcn.100a68e6
add esp, 4
cmp dword [0x100e4858], 0xffffffff
jne 0x1007b85a
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 5
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e4860]
mov eax, dword [eax + edi]
sub eax, dword [esi]
neg eax
sbb eax, eax
add eax, 5
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x24]
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007b88a
mov dword [ecx], edi
add dword [eax + 4], 4
jmp case.0x1007b655.2
lea edx, [ebp - 0x10]
push edx
push ecx
mov ecx, eax
call fcn.1007bef0
jmp case.0x1007b655.2
mov eax, dword [0x100e4788]
lea ecx, [edi + 4]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, dword [0x100e4788]
push eax
call esi
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov esi, 0x811c9dc5
xor edx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1007b8c5
sub ecx, ebx
je 0x1007b98e
mov edi, dword [ebp - 0x1c]
nop word [eax + eax]
movsx eax, byte [edx + edi]
xor eax, esi
imul esi, eax, 0x1000193
mov eax, edi
inc edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1007b8f2
sub eax, ebx
cmp edx, eax
jb 0x1007b8e0
mov edi, dword [ebp - 0x10]
cmp esi, 0x7c4a5426
ja 0x1007b926
je 0x1007b93e
cmp esi, 0x1b20e275
je 0x1007b967
cmp esi, 0x3cb8abb3
je 0x1007b967
cmp esi, 0x43d6266e
je 0x1007b93e
jmp 0x1007b98e
cmp esi, 0x97113ea7
je 0x1007b967
cmp esi, 0xac2ddd03
je 0x1007b95e
cmp esi, 0xd614ea2e
jne 0x1007b98e
mov dword [ebp - 0x1c], 7
lea eax, [ebp - 0x1c]
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007b97f
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x1007b98e
mov dword [ebp - 0x1c], 8
jmp 0x1007b945
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 9
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
jne 0x1007b956
lea edx, [ebp - 0x10]
push edx
push ecx
mov ecx, eax
call fcn.1007bef0
mov edi, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xa
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007b9b1
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x1007b9c0
lea edx, [ebp - 0x10]
push edx
push ecx
mov ecx, eax
call fcn.1007bef0
mov edi, dword [ebp - 0x10]
mov ecx, dword [0x100e4858]
cmp ecx, dword [ebx + 4]
jle 0x1007ba1b
push 0x100e4858
call fcn.100a68e6
mov ecx, dword [0x100e4858]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007ba1b
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 6
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
mov ecx, dword [0x100e4858]
add esp, 4
mov eax, dword [ebp - 0x14]
mov esi, dword [0x100e4860]
mov ebx, dword [0x100e5540]
cmp ecx, dword [eax + 4]
jle 0x1007ba77
push 0x100e4858
call fcn.100a68e6
add esp, 4
cmp dword [0x100e4858], 0xffffffff
jne 0x1007ba77
mov edx, str.m_iTeamNum
mov dword [ebp - 4], 7
mov ecx, str.CBaseEntity
call fcn.100083c0
push 0x100e4858
mov dword [0x100e4860], eax
mov dword [ebp - 4], 0xffffffff
call fcn.100a689c
add esp, 4
mov eax, dword [0x100e4860]
mov ecx, dword [esi + edi]
sub ecx, dword [ebx + eax]
lea eax, [ebp - 0x28]
neg ecx
push eax
sbb ecx, ecx
add ecx, 0xc
mov dword [ebp - 0x28], ecx
call fcn.1007be00
mov ecx, dword [eax + 4]
cmp ecx, dword [eax + 8]
je 0x1007baa5
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x1007bab1
lea edx, [ebp - 0x10]
push edx
push ecx
mov ecx, eax
call fcn.1007bef0
mov ebx, dword [ebp - 0x14]
mov ecx, dword [0x100e4790]
mov edi, dword [ebp - 0x18]
inc edi
mov dword [ebp - 0x18], edi
mov eax, dword [ecx]
call dword [eax + 0x18]
cmp edi, eax
jl 0x1007b602
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
call fcn.1007be00
mov ecx, dword [eax + 4]
mov edi, dword [eax]
mov eax, ecx
sub eax, edi
mov dword [ebp - 0x24], ecx
sar eax, 2
mov dword [0x100e7f10], eax
cmp eax, dword [0x100e7f0c]
je 0x1007bb75
cmp edi, ecx
je 0x1007bb75
nop
mov eax, dword [0x100e4750]
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [eax]
mov esi, dword [eax + 0x20]
mov eax, dword [ecx]
call dword [eax + 0x24]
mov ecx, dword [0x100e4750]
push 0x100e2c48
push eax
call esi
test al, al
je 0x1007bb5b
mov esi, dword [0x100e2c90]
test esi, esi
je 0x1007bb5b
mov ecx, dword [0x100e47cc]
mov byte [ebp - 0x29], 1
mov edx, dword [ebp - 0x2c]
and edx, 0xff100001
mov eax, dword [ecx]
or edx, 0x100001
push 4
push edx
push esi
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0x2c], edx
call eax
mov bl, al
jmp 0x1007bb5d
xor bl, bl
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
call dword [eax + 0x24]
add edi, 4
mov byte [eax + 0x100e5548], bl
cmp edi, dword [ebp - 0x24]
jne 0x1007bb00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret