Function at 0x101264f0
Capabilities:
Access peb ldr_data
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10135ab9
push eax
mov dword fs:[0], esp
sub esp, 0xb8
mov ecx, dword [0x101d5dc0]
push ebx
mov eax, dword [ecx]
push esi
push edi
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x101d5edc]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov esi, eax
test esi, esi
je 0x10126f79
mov ecx, esi
call fcn.10034b90
test al, al
je 0x10126f79
mov ecx, esi
mov dword [0x101d3580], esi
call fcn.10022190
mov ecx, dword [0x101d5a74]
mov esi, dword [0x101d3580]
mov dword [0x101d3584], eax
mov eax, dword fs:[0x2c]
mov ebx, dword [eax + ecx*4]
mov eax, dword [0x10289dd8]
cmp eax, dword [ebx + 4]
jle 0x101265be
push 0x10289dd8
call fcn.1012b230
add esp, 4
cmp dword [0x10289dd8], 0xffffffff
jne 0x101265be
push str.m_iObserverMode
push str.DT_BasePlayer
mov dword [ebp - 4], 0
call fcn.10017f20
push 0x10289dd8
mov dword [0x10289de0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x10289de0]
mov eax, dword [esi + eax]
sub eax, 4
je 0x101265d0
sub eax, 1
jne 0x10126643
mov eax, dword [0x10289de4]
mov esi, dword [0x101d3580]
cmp eax, dword [ebx + 4]
jle 0x10126628
push 0x10289de4
call fcn.1012b230
add esp, 4
cmp dword [0x10289de4], 0xffffffff
jne 0x10126628
push str.m_hObserverTarget
push str.DT_BasePlayer
mov dword [ebp - 4], 1
call fcn.10017f20
push 0x10289de4
mov dword [0x10289ddc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x10289ddc]
mov ecx, dword [0x101d5edc]
mov edx, dword [esi + eax]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
mov dword [0x101d3588], eax
mov ecx, dword [0x101d5edc]
mov esi, 1
mov dword [ebp - 0x24], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp eax, esi
jle 0x10126f74
mov ecx, dword [0x101d5edc]
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov esi, eax
mov dword [ebp - 0x14], esi
test esi, esi
je case.0x10126d11.250
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x1012668f
mov edi, dword [eax + 0x14]
jmp 0x10126691
xor edi, edi
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov eax, dword [eax + 0x24]
call eax
mov dword [ebp - 0x18], eax
lea ecx, [esi + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x101269dd
cmp edi, 0xf7
jne case.0x10126d11.250
movzx eax, byte [ebp - 0x18]
xor eax, 0x811c9dc5
imul ecx, eax, 0x1000193
movzx eax, byte [ebp - 0x17]
xor ecx, eax
movzx eax, byte [ebp - 0x16]
imul ecx, ecx, 0x1000193
xor ecx, eax
movzx eax, byte [ebp - 0x15]
imul ecx, ecx, 0x1000193
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10037e30
cmp dword [eax + 4], 0
je case.0x10126d11.250
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.10037510
mov ecx, dword [0x101d5dc0]
mov eax, dword [eax]
add eax, 0xc
mov dword [ebp - 0x1c], eax
movss xmm0, dword [eax + 0xc]
mov eax, dword [ecx]
movss dword [ebp - 0x10], xmm0
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x20], eax
call dword [ebp - 0x20]
fstp dword [ebp - 0x20]
movss xmm0, dword [ebp - 0x20]
subss xmm0, dword [ebp - 0x10]
comiss xmm0, dword [0x101cf2c8]
ja case.0x10126d11.250
mov eax, dword [0x101d5fb8]
cmp eax, dword [ebx + 4]
jle 0x101267ad
push 0x101d5fb8
call fcn.1012b230
add esp, 4
cmp dword [0x101d5fb8], 0xffffffff
jne 0x101267ad
mov dword [ebp - 4], 2
mov eax, dword [0x101d2fd8]
test eax, eax
jne 0x10126794
mov ecx, 0x101d2fd8
call fcn.10128440
mov eax, dword [0x101d2fd8]
push 0x101d5fb8
mov dword [0x101d5fa8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
push dword [ebp - 0x1c]
mov ecx, esi
call dword [0x101d5fa8]
mov eax, dword [0x10289f44]
cmp eax, dword [ebx + 4]
jle 0x1012680a
push 0x10289f44
call fcn.1012b230
add esp, 4
cmp dword [0x10289f44], 0xffffffff
jne 0x1012680a
push str.m_vecOrigin
push str.DT_BaseEntity
mov dword [ebp - 4], 3
call fcn.10017f20
push 0x10289f44
mov dword [0x10289f40], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [ebp - 0x1c]
movss xmm0, dword [eax]
movss xmm1, dword [eax + 4]
movss xmm2, dword [eax + 8]
mov eax, dword [0x10289f40]
movss dword [eax + esi], xmm0
movss dword [eax + esi + 4], xmm1
movss dword [eax + esi + 8], xmm2
mov eax, dword [0x1028a0e4]
cmp eax, dword [ebx + 4]
jle 0x10126883
push 0x1028a0e4
call fcn.1012b230
add esp, 4
cmp dword [0x1028a0e4], 0xffffffff
jne 0x10126883
mov edx, str.m_lifeState
mov dword [ebp - 4], 4
mov ecx, str.CBasePlayer
call fcn.10014300
push 0x1028a0e4
mov dword [0x1028a0e8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x1028a0e8]
mov byte [eax + esi], 0
mov eax, dword [0x101d358c]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x101269dd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [0x101d5ec4]
cmp eax, dword [ebx + 4]
jle 0x101268f9
push 0x101d5ec4
call fcn.1012b230
add esp, 4
cmp dword [0x101d5ec4], 0xffffffff
jne 0x101268f9
push str.m_bValid
push str.baseclass
push str.DT_TFPlayerResource
mov dword [ebp - 4], 5
call fcn.10018010
push 0x101d5ec4
mov dword [0x101d5ecc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5ecc]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x1c]
mov al, byte [eax + ecx]
test al, al
je 0x101269dd
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10289b78]
cmp eax, dword [ebx + 4]
jle 0x1012696f
push 0x10289b78
call fcn.1012b230
add esp, 4
cmp dword [0x10289b78], 0xffffffff
jne 0x1012696c
push str.m_iHealth
push str.baseclass
push str.DT_TFPlayerResource
mov dword [ebp - 4], 6
call fcn.10018010
push 0x10289b78
mov dword [0x10289b7c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x10]
mov eax, dword [0x10289b7c]
lea eax, [eax + edx*4]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x10], eax
mov eax, dword [0x10289b60]
cmp eax, dword [ebx + 4]
jle 0x101269d2
push 0x10289b60
call fcn.1012b230
add esp, 4
cmp dword [0x10289b60], 0xffffffff
jne 0x101269d2
mov edx, str.m_iHealth
mov dword [ebp - 4], 7
mov ecx, str.CBasePlayer
call fcn.10014300
push 0x10289b60
mov dword [0x10289b80], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x10289b80]
mov ecx, dword [ebp - 0x10]
mov dword [eax + esi], ecx
cmp esi, dword [0x101d3580]
jne 0x101269f8
mov ecx, dword [0x10289b90]
mov eax, dword [ecx]
call dword [eax + 0x7c]
test eax, eax
je case.0x10126d11.250
cmp edi, 0xf7
jg 0x10126cfb
je 0x10126be5
lea eax, [edi - 1]
cmp eax, 0xd8
ja case.0x10126d11.250
movzx eax, byte [eax + 0x10126fa8]
jmp dword [eax*4 + 0x10126f8c]
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 3
push eax
lea eax, [ebp - 0x6c]
mov ecx, 0x101d35a0
push eax
call fcn.101272b0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x10126a54
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x10126a5e
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.10030900
mov ecx, dword [0x101d60bc]
mov edi, dword [0x101d3580]
cmp ecx, dword [ebx + 4]
jle 0x10126abf
push 0x101d60bc
call fcn.1012b230
mov ecx, dword [0x101d60bc]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10126abf
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 0xa
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
mov ecx, dword [0x101d60bc]
add esp, 4
mov eax, dword [0x101d60b8]
mov edi, dword [edi + eax]
cmp ecx, dword [ebx + 4]
jle 0x10126b14
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10126b14
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 0xb
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d60b8]
xor ecx, ecx
cmp dword [eax + esi], edi
lea eax, [ebp - 0x2c]
push eax
sete cl
lea eax, [ebp - 0x74]
add ecx, 4
mov dword [ebp - 0x2c], ecx
jmp 0x10126f2e
mov eax, dword [esi + 4]
lea ecx, [esi + 4]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x101d5fac]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x54], edi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10126b56
lea eax, [ebp - 0x54]
sub ecx, edx
push eax
mov dword [ebp - 0x50], ecx
call fcn.1002b930
cmp eax, 0x5978b32e
ja 0x10126b89
je 0x10126bb9
cmp eax, 0x1b20e275
je 0x10126bb9
cmp eax, 0x3cb8abb3
je 0x10126bb9
cmp eax, 0x4c849f3c
jmp 0x10126b95
cmp eax, 0x97113ea7
je 0x10126bb9
cmp eax, 0xa8d619ea
je 0x10126bb9
mov ecx, edi
call fcn.10128c90
test al, al
je case.0x10126d11.250
lea eax, [ebp - 0x30]
mov dword [ebp - 0x30], 6
push eax
lea eax, [ebp - 0x7c]
jmp 0x10126f2e
lea eax, [ebp - 0x34]
mov dword [ebp - 0x34], 7
push eax
lea eax, [ebp - 0x84]
jmp 0x10126f2e
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], 7
push eax
lea eax, [ebp - 0x8c]
jmp 0x10126f2e
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
lea eax, [ebp - 0x94]
mov ecx, 0x101d35a0
push eax
call fcn.101272b0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x10126c16
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x10126c20
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.10030900
mov ecx, dword [0x101d60bc]
cmp ecx, dword [ebx + 4]
jle 0x10126c7b
push 0x101d60bc
call fcn.1012b230
mov ecx, dword [0x101d60bc]
add esp, 4
cmp ecx, 0xffffffff
jne 0x10126c7b
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 8
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
mov ecx, dword [0x101d60bc]
add esp, 4
mov eax, dword [0x101d60b8]
mov edi, dword [eax + esi]
mov eax, dword [0x101d3580]
mov dword [ebp - 0x10], eax
cmp ecx, dword [ebx + 4]
jle 0x10126cd8
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10126cd8
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 9
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d60b8]
xor ecx, ecx
mov edx, dword [ebp - 0x10]
cmp edi, dword [edx + eax]
lea eax, [ebp - 0x3c]
push eax
sete cl
lea eax, [ebp - 0x9c]
inc ecx
mov dword [ebp - 0x3c], ecx
jmp 0x10126f2e
lea eax, [edi - 0xf9]
cmp eax, 0x69
ja case.0x10126d11.250
movzx eax, byte [eax + 0x10127098]
jmp dword [eax*4 + 0x10127084]
lea eax, [ebp - 0x40]
mov dword [ebp - 0x40], 8
push eax
lea eax, [ebp - 0xa4]
mov ecx, 0x101d35a0
push eax
call fcn.101272b0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x10126d49
mov dword [eax], esi
add dword [ecx + 4], 4
jmp 0x10126d53
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.10030900
cmp edi, 0xd9
jne 0x10126dff
cmp dword [esi + 0x8f8], 1
je 0x10126d75
cmp byte [esi + 0x908], 0
je case.0x10126d11.250
mov eax, dword [0x1028992c]
cmp eax, dword [ebx + 4]
jle 0x10126dc7
push 0x1028992c
call fcn.1012b230
add esp, 4
cmp dword [0x1028992c], 0xffffffff
jne 0x10126dc7
push str.m_hThrower
push str.DT_BaseGrenade
mov dword [ebp - 4], 0xc
call fcn.10017f20
push 0x1028992c
mov dword [0x1028997c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x1028997c]
mov ecx, dword [0x101d5edc]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [0x101d3580]
jne case.0x10126d11.250
lea eax, [ebp - 0x44]
mov dword [ebp - 0x44], 0xb
push eax
lea eax, [ebp - 0xac]
jmp 0x10126f2e
cmp edi, 0x101
jne case.0x10126d11.250
push ecx
mov ecx, dword [0x101d3580]
call fcn.100584d0
mov edi, eax
test edi, edi
je case.0x10126d11.250
mov ecx, dword [0x10289968]
cmp ecx, dword [ebx + 4]
jle 0x10126e6d
push 0x10289968
call fcn.1012b230
add esp, 4
cmp dword [0x10289968], 0xffffffff
jne 0x10126e6d
sub esp, 0x10
mov dword [ebp - 4], 0xd
call fcn.100412e0
push 0x10289968
mov dword [0x10289918], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x10289918]
cmp dword [eax + edi], 0x15f
jne case.0x10126d11.250
mov eax, dword [0x101d6040]
cmp eax, dword [ebx + 4]
jle 0x10126ed1
push 0x101d6040
call fcn.1012b230
add esp, 4
cmp dword [0x101d6040], 0xffffffff
jne 0x10126ed1
push str.m_hOwnerEntity
push str.DT_BaseEntity
mov dword [ebp - 4], 0xe
call fcn.10017f20
push 0x101d6040
mov dword [0x101d6074], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d6074]
mov ecx, dword [0x101d5edc]
mov edx, dword [eax + esi]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x10]
call eax
cmp eax, dword [0x101d3580]
jne case.0x10126d11.250
lea eax, [ebp - 0x48]
mov dword [ebp - 0x48], 0xc
push eax
lea eax, [ebp - 0xb4]
jmp 0x10126f2e
mov dword [0x101d358c], esi
jmp case.0x10126d11.250
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 9
push eax
lea eax, [ebp - 0xbc]
jmp 0x10126f2e
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0xa
push eax
lea eax, [ebp - 0xc4]
push eax
mov ecx, 0x101d35a0
call fcn.101272b0
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
add ecx, 0xc
cmp eax, dword [ecx + 8]
je 0x10126f4e
mov dword [eax], esi
add dword [ecx + 4], 4
jmp case.0x10126d11.250
lea edx, [ebp - 0x14]
push edx
push eax
call fcn.10030900
mov ecx, dword [0x101d5edc]
mov esi, dword [ebp - 0x24]
inc esi
mov dword [ebp - 0x24], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
call eax
cmp esi, eax
jl 0x10126660
call fcn.10127110
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret