Function at 0x1004d9b0
Capabilities:
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100a40e9
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x100df040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x100e2f40]
mov eax, dword [ecx]
call dword [eax + 0x190]
mov ebx, eax
mov dword [ebp - 0x48], ebx
test ebx, ebx
je 0x1004df56
cmp byte [0x100df28c], 0
je 0x1004df56
cmp byte [0x100e2fb3], 0
jne 0x1004df56
mov eax, dword [0x100e2f44]
mov ecx, dword [0x100e2f50]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [0x100e2f44]
push eax
call esi
mov edi, eax
mov dword [ebp - 0x38], edi
test edi, edi
je 0x1004df56
call fcn.10099080
test eax, eax
je 0x1004df56
push eax
call fcn.10038b80
test eax, eax
jne 0x1004da83
cmp byte [0x100df249], al
je 0x1004df56
cmp byte [0x100df138], al
je 0x1004df56
cmp byte [0x100df2e1], al
je 0x1004df56
cmp byte [0x100df1e8], al
jne 0x1004dac0
jmp 0x1004df56
cmp eax, 1
jne 0x1004df56
cmp byte [0x100df249], 0
je 0x1004df56
cmp byte [0x100df175], 0
je 0x1004df56
cmp byte [0x100df2e1], 0
je 0x1004df56
cmp byte [0x100df250], 0
je 0x1004df56
mov ecx, dword [0x100e2f30]
lea edx, [ebp - 0x1c]
vmovss xmm0, dword [0x100d5534]
mov byte [0x100e3b75], 0
push edx
mov eax, dword [ecx]
vmovss dword [ebp - 0x1c], xmm0
vmovss dword [ebp - 0x18], xmm0
vmovss dword [ebp - 0x14], xmm0
call dword [eax + 0x18]
mov ecx, dword [0x100e2f6c]
cmp dword [0x100df32c], 0
push 0
mov eax, dword [ecx]
mov edx, dword [eax + 4]
mov eax, dword [0x100e3b98]
cmove eax, dword [0x100e3b94]
push eax
call edx
cmp byte [0x100e30ce], 0
je 0x1004db3a
vmovss xmm0, dword [0x100d54d0]
mov eax, dword [ebx]
sub esp, 8
mov ecx, ebx
vmovss dword [esp + 4], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [esp], xmm0
call dword [eax + 0x2c]
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 1
push eax
call fcn.10028b10
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x44], eax
cmp edx, eax
je 0x1004df04
nop dword [eax]
mov ebx, dword [edx]
test ebx, ebx
je 0x1004def2
mov eax, dword [0x100e2f10]
mov ecx, dword fs:[0x2c]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x100e3124]
cmp eax, dword [ecx + 4]
jle 0x1004dbce
push 0x100e3124
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3124], 0xffffffff
jne 0x1004dbcb
mov edx, str.deadflag
mov dword [ebp - 4], 0
mov ecx, str.CBasePlayer
call fcn.1009b460
push 0x100e3124
mov dword [0x100e313c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1009faec
add esp, 4
mov edx, dword [ebp - 0x30]
mov eax, dword [0x100e313c]
cmp dword [eax + ebx], 0
jne 0x1004def2
mov eax, ebx
mov dword [ebp - 0x20], ebx
shr eax, 8
movzx ecx, al
movzx eax, bl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, ebx
shr eax, 0x10
imul ecx, ecx, 0x1000193
movzx eax, al
xor ecx, eax
mov eax, ebx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.1004c2f0
cmp dword [eax + 4], 0
je 0x1004deef
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.1004bd30
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x20], eax
test eax, eax
je 0x1004deef
lea esi, [eax - 1]
test esi, esi
jle 0x1004deef
cmp dword [0x100df32c], 0
jne 0x1004df72
mov edi, 1
cmp esi, edi
jle 0x1004deec
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], ebx
push eax
lea eax, [ebp - 0x60]
push eax
call fcn.1004bd30
mov edx, dword [eax]
mov eax, dword [edx + 0x18]
mov ecx, dword [edx + 0x14]
add eax, edi
dec ecx
and ecx, eax
mov eax, dword [edx + 0x10]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1004dedf
lea eax, [esi + 0x1808]
push eax
push dword [ebp - 0x38]
call fcn.10087110
test al, al
je 0x1004dedf
push esi
call fcn.1004b2f0
test al, al
je 0x1004dedf
mov eax, dword [0x100e2f30]
mov ecx, dword [ebp - 0x20]
vmovss xmm2, dword [0x100d5534]
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax]
vxorps xmm1, xmm1, xmm1
vcvtsi2ss xmm1, xmm1, edi
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x34], eax
lea eax, [ecx - 1]
vcvtsi2ss xmm0, xmm0, eax
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x1004dd14
vcomiss xmm1, xmm0
jb 0x1004dd0a
vmovss xmm0, dword [0x100d5448]
jmp 0x1004dd6c
vmovss xmm0, dword [0x100d54b0]
jmp 0x1004dd6c
vsubss xmm0, xmm0, xmm2
vsubss xmm1, xmm1, xmm2
vdivss xmm0, xmm1, xmm0
vxorps xmm1, xmm1, xmm1
vcomiss xmm1, xmm0
lea ecx, [ebp - 0x24]
seta al
lea edx, [ebp - 0x3c]
test al, al
vmovss dword [ebp - 0x24], xmm0
cmove edx, ecx
lea ecx, [ebp - 0x40]
vcomiss xmm0, xmm2
vmovss dword [ebp - 0x3c], xmm1
vmovss xmm1, dword [0x100d54b0]
seta al
test al, al
vmovss dword [ebp - 0x40], xmm2
cmove ecx, edx
vmovss xmm0, dword [ecx]
vmulss xmm0, xmm0, dword [0x100d54ac]
vsubss xmm0, xmm1, xmm0
push ecx
mov ecx, dword [0x100e2f30]
vmovss dword [esp], xmm0
call dword [ebp - 0x34]
push esi
call fcn.1004b500
mov eax, dword [0x100e2f10]
mov edx, dword fs:[0x2c]
mov ecx, dword [0x100e3120]
mov byte [0x100e3b74], 1
mov esi, dword [edx + eax*4]
cmp ecx, dword [esi + 4]
jle 0x1004ddf5
push 0x100e3120
call fcn.1009fb3d
mov ecx, dword [0x100e3120]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1004ddf5
mov edx, str.m_flInvisChangeCompleteTime
mov dword [ebp - 4], 1
mov ecx, str.CTFPlayer
call fcn.1009b460
sub eax, 8
mov dword [ebp - 4], 0xffffffff
push 0x100e3120
mov dword [0x100e3104], eax
call fcn.1009faec
mov ecx, dword [0x100e3120]
add esp, 4
mov eax, dword [0x100e3104]
vmovss xmm0, dword [eax + ebx]
vmovss dword [ebp - 0x34], xmm0
cmp ecx, dword [esi + 4]
jle 0x1004de54
push 0x100e3120
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3120], 0xffffffff
jne 0x1004de54
mov edx, str.m_flInvisChangeCompleteTime
mov dword [ebp - 4], 2
mov ecx, str.CTFPlayer
call fcn.1009b460
sub eax, 8
mov dword [ebp - 4], 0xffffffff
push 0x100e3120
mov dword [0x100e3104], eax
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3104]
lea ecx, [ebx + 4]
vxorps xmm0, xmm0, xmm0
push 0x81
vmovss dword [eax + ebx], xmm0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov eax, dword [0x100e3120]
cmp eax, dword [esi + 4]
jle 0x1004dec4
push 0x100e3120
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3120], 0xffffffff
jne 0x1004dec4
mov edx, str.m_flInvisChangeCompleteTime
mov dword [ebp - 4], 3
mov ecx, str.CTFPlayer
call fcn.1009b460
sub eax, 8
mov dword [ebp - 4], 0xffffffff
push 0x100e3120
mov dword [0x100e3104], eax
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3104]
vmovss xmm0, dword [ebp - 0x34]
vmovss dword [eax + ebx], xmm0
mov byte [0x100e3b74], 0
call fcn.1004b680
mov eax, dword [ebp - 0x20]
inc edi
dec eax
cmp edi, eax
jl 0x1004dc75
mov edi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x30]
add edx, 4
mov dword [ebp - 0x30], edx
cmp edx, dword [ebp - 0x44]
jne 0x1004db60
mov ebx, dword [ebp - 0x48]
mov ecx, dword [0x100e2f6c]
push 0
push 0
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [0x100e30ce], 0
je 0x1004df3d
vmovss xmm0, dword [0x100d5534]
mov eax, dword [ebx]
sub esp, 8
mov ecx, ebx
vmovss dword [esp + 4], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [esp], xmm0
call dword [eax + 0x2c]
mov ecx, dword [0x100e2f30]
vmovss xmm0, dword [0x100d5534]
push ecx
vmovss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1009f72e
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], ebx
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.1004bd30
dec esi
mov edx, dword [eax]
mov ecx, dword [edx + 0x18]
mov eax, dword [edx + 0x14]
add ecx, esi
dec eax
and ecx, eax
mov eax, dword [edx + 0x10]
mov esi, dword [eax + ecx*4]
test esi, esi
je 0x1004deef
lea eax, [esi + 0x1808]
push eax
push edi
call fcn.10087110
test al, al
je 0x1004deef
push esi
call fcn.1004b2f0
test al, al
je 0x1004deef
mov ecx, dword [0x100e2f30]
vmovss xmm0, dword [0x100d5534]
push ecx
vmovss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x10]
push esi
call fcn.1004b500
mov ecx, dword fs:[0x2c]
mov eax, dword [0x100e2f10]
mov byte [0x100e3b74], 1
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x100e3120]
cmp ecx, dword [esi + 4]
jle 0x1004e054
push 0x100e3120
call fcn.1009fb3d
mov ecx, dword [0x100e3120]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1004e054
mov edx, str.m_flInvisChangeCompleteTime
mov dword [ebp - 4], 4
mov ecx, str.CTFPlayer
call fcn.1009b460
sub eax, 8
mov dword [ebp - 4], 0xffffffff
push 0x100e3120
mov dword [0x100e3104], eax
call fcn.1009faec
mov ecx, dword [0x100e3120]
add esp, 4
mov eax, dword [0x100e3104]
vmovss xmm0, dword [eax + ebx]
vmovss dword [ebp - 0x34], xmm0
cmp ecx, dword [esi + 4]
jle 0x1004e0b3
push 0x100e3120
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3120], 0xffffffff
jne 0x1004e0b3
mov edx, str.m_flInvisChangeCompleteTime
mov dword [ebp - 4], 5
mov ecx, str.CTFPlayer
call fcn.1009b460
sub eax, 8
mov dword [ebp - 4], 0xffffffff
push 0x100e3120
mov dword [0x100e3104], eax
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3104]
lea ecx, [ebx + 4]
vxorps xmm0, xmm0, xmm0
push 0x81
vmovss dword [eax + ebx], xmm0
mov eax, dword [ecx]
call dword [eax + 0x28]
mov eax, dword [0x100e3120]
cmp eax, dword [esi + 4]
jle 0x1004e123
push 0x100e3120
call fcn.1009fb3d
add esp, 4
cmp dword [0x100e3120], 0xffffffff
jne 0x1004e123
mov edx, str.m_flInvisChangeCompleteTime
mov dword [ebp - 4], 6
mov ecx, str.CTFPlayer
call fcn.1009b460
sub eax, 8
mov dword [ebp - 4], 0xffffffff
push 0x100e3120
mov dword [0x100e3104], eax
call fcn.1009faec
add esp, 4
mov eax, dword [0x100e3104]
vmovss xmm0, dword [ebp - 0x34]
vmovss dword [eax + ebx], xmm0
mov byte [0x100e3b74], 0
call fcn.1004b680
jmp 0x1004deef