Function at 0x100cf0f0
Capabilities:
Hash data using fnv

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x101977c9
push eax
mov dword fs:[0], esp
mov eax, dword [0x1031a568]
push ebx
sub esp, 0xc8
push esi
push edi
cmp eax, dword [0x1031a56c]
je 0x100cf136
mov dword [0x1031a56c], eax
cmp dword [0x1031a57c], 0
je 0x100cf149
mov ecx, 0x1031a574
call fcn.10076950
cmp byte [0x10313b28], 0
je 0x100d13c4
mov esi, dword [0x1024d1e0]
mov dword [ebp - 0x34], esi
test esi, esi
je 0x100d13c4
mov ecx, dword [0x1024f664]
mov eax, dword [0x1024f668]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], eax
cmp ecx, 1
jl 0x100d13c4
cmp eax, 1
jl 0x100d13c4
cmp ecx, 0x1000
jg 0x100d13c4
cmp eax, 0x870
jg 0x100d13c4
mov ecx, dword [0x10310784]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test al, al
jne 0x100d13c4
mov ecx, dword [0x103107e4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x190]
call eax
mov edi, eax
mov dword [ebp - 0x18], edi
test edi, edi
je 0x100d13c4
cmp byte [0x10310a98], 0
jne 0x100cf200
mov ecx, dword [0x1031a560]
test ecx, ecx
je 0x100cf200
mov eax, dword [ecx]
push 1
push 0x10310a98
push str._bloomamount
mov eax, dword [eax + 0x2c]
call eax
mov dword [0x10310a94], eax
jmp 0x100cf215
mov ecx, dword [0x10310a94]
test ecx, ecx
je 0x100cf215
mov eax, dword [ecx]
push dword [0x10313ae0]
call dword [eax + 0x10]
mov ecx, dword [0x103109e0]
lea edx, [ebp - 0x90]
xorps xmm0, xmm0
mov dword [ebp - 0x88], 0
movq qword [ebp - 0x90], xmm0
push edx
mov eax, dword [ecx]
call dword [eax + 0x1c]
mov ecx, dword [0x103109e0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
cmp byte [0x1031a5e4], 0
fstp dword [ebp - 0x6c]
jne 0x100cf2ae
push edi
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0x94], 0xffffffff
mov dword [ebp - 0x98], 0xffffffff
mov byte [ebp - 0xb0], 1
mov dword [ebp - 0x9c], 1
mov dword [ebp - 0xa0], 8
mov dword [ebp - 0xa4], 3
mov dword [ebp - 0xac], 1
mov dword [ebp - 0xa8], 3
call fcn.100ce330
mov ecx, dword [0x103109e0]
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [0x103109e0]
lea edx, [ebp - 0x60]
push edx
mov dword [ebp - 0x60], 0x3f800000
mov dword [ebp - 0x5c], 0x3f800000
mov eax, dword [ecx]
mov dword [ebp - 0x58], 0x3f800000
call dword [eax + 0x18]
cmp byte [0x10313a08], 0
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x48], eax
je 0x100cfa66
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x14], eax
cmp edi, eax
je 0x100cfa63
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
jne 0x100cfa54
mov ecx, dword [edi]
call fcn.10071cb0
test al, al
jne 0x100cfa54
mov ecx, dword [edi]
push 0x4d
call fcn.1007f840
test al, al
jne 0x100cfa54
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x1024f68c]
mov dword [ebp - 0x44], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x30]
call edx
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x44], eax
je 0x100cf5a0
mov ecx, dword [0x10313978]
sub ecx, 1
je 0x100cf4be
sub ecx, 1
jne 0x100cf5ad
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x1024f340]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x10310918]
cmp ecx, dword [eax + 4]
jle 0x100cf3fd
push 0x10310918
call fcn.101928b8
mov ecx, dword [0x10310918]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cf3fd
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 2
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
mov ecx, dword [0x10310918]
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [0x1024f340]
mov eax, dword [eax + esi]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + edx*4]
mov esi, dword [ebp - 0x34]
cmp ecx, dword [eax + 4]
jle 0x100cf469
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100cf469
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 3
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [eax + edx], ecx
jne 0x100cf5ad
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
xor esi, esi
mov ecx, eax
and ecx, 0x3f
xor edx, edx
bts esi, ecx
cmp ecx, 0x20
cmovae edx, esi
xor esi, edx
cmp ecx, 0x40
cmovae edx, esi
shr eax, 6
and esi, dword [eax*8 + 0x1024d1f0]
and edx, dword [eax*8 + 0x1024d1f4]
or esi, edx
mov esi, dword [ebp - 0x34]
jmp 0x100cf5a7
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x1024f340]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x10310918]
cmp ecx, dword [eax + 4]
jle 0x100cf524
push 0x10310918
call fcn.101928b8
mov ecx, dword [0x10310918]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cf524
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 0
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
mov ecx, dword [0x10310918]
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [0x1024f340]
mov eax, dword [eax + esi]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 0x28], eax
mov eax, dword [edi]
mov dword [ebp - 0x2c], eax
mov eax, dword [esi + edx*4]
mov esi, dword [ebp - 0x34]
cmp ecx, dword [eax + 4]
jle 0x100cf590
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100cf590
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 1
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
cmp dword [eax + edx], ecx
jmp 0x100cf5a7
cmp byte [0x1031399c], 0
je 0x100cfa54
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100cfa54
cmp dword [0x10313930], 0
jne 0x100cf5fb
cmp byte [0x103139c0], 0
je 0x100cf5e7
mov eax, dword [ebp - 0x20]
cmp dword [ebp - 0x44], eax
jne 0x100cf5e7
xorps xmm0, xmm0
call fcn.100a6cc0
mov esi, eax
jmp 0x100cf6ca
mov dl, byte [0x103181cc]
mov ecx, dword [edi]
call fcn.100c1da0
mov esi, eax
jmp 0x100cf6ca
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ac]
call eax
mov ecx, dword [ebp - 0x48]
mov esi, eax
mov eax, dword [edi]
mov dword [ebp - 0x20], eax
mov eax, dword [0x1024f340]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x10310850]
cmp ecx, dword [edx + 4]
jle 0x100cf66c
push 0x10310850
call fcn.101928b8
add esp, 4
cmp dword [0x10310850], 0xffffffff
jne 0x100cf66c
push str.m_iHealth
push str.DT_BasePlayer
mov dword [ebp - 4], 4
call fcn.100756f0
push 0x10310850
mov dword [0x10310874], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x20]
mov eax, dword [0x10310874]
mov eax, dword [ecx + eax]
cmp esi, eax
cmovl eax, esi
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, esi
sub eax, ecx
imul eax, eax, 0x1fe
cdq
idiv esi
mov edx, 0xc8
cmp eax, 0xc8
cmovg eax, edx
mov dword [ebp - 0x20], eax
imul eax, ecx, 0x1fe
mov ecx, 0xc8
cdq
idiv esi
cmp eax, 0xc8
cmovg eax, ecx
movzx esi, al
mov eax, dword [ebp - 0x20]
or esi, 0xffff0000
shl esi, 8
movzx eax, al
or esi, eax
movss xmm0, dword [0x10313a2c]
mov eax, dword [0x1031a56c]
mov ecx, dword [edi]
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
movss dword [ebp - 0x70], xmm0
cmp eax, dword [0x1031a570]
je 0x100cf6ff
mov dword [eax], ecx
mov dword [eax + 4], esi
movss dword [eax + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100cf70e
lea ecx, [ebp - 0x78]
push ecx
push eax
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x28], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x20], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.10085e90
mov eax, dword [eax + 4]
test eax, eax
je 0x100cf776
cmp eax, dword [0x1031a5c8]
jne 0x100cf7b1
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x20], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x20]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0xc8]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
cmp byte [0x10313954], 0
je 0x100cf942
mov ecx, dword [edi]
push 5
call fcn.1007f840
test al, al
jne 0x100cf942
mov eax, dword [edi]
mov ecx, dword [0x10310738]
mov edx, dword [eax + 0x1b0]
mov eax, dword [ecx]
and edx, 0xfff
push edx
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov eax, 0x20
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x44], eax
test edi, edi
je 0x100cf933
mov eax, dword [edi + 8]
lea ecx, [edi + 8]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x100cf911
cmp dword [eax + 0x14], 0x150
jne 0x100cf911
movss xmm0, dword [0x10313a2c]
mov eax, dword [0x1031a56c]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], esi
movss dword [ebp - 0x7c], xmm0
cmp eax, dword [0x1031a570]
je 0x100cf859
mov dword [eax], edx
mov dword [eax + 4], esi
movss dword [eax + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100cf86e
lea ecx, [ebp - 0x84]
push ecx
push eax
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [ebp - 0x2c]
mov eax, edx
mov dword [ebp - 0x20], edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0xd0]
push eax
call fcn.10085e90
mov eax, dword [eax + 4]
test eax, eax
je 0x100cf8d1
cmp eax, dword [0x1031a5c8]
jne 0x100cf90e
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x30], edi
lea ecx, [edi + 4]
mov byte [0x1031a595], 1
mov eax, dword [ecx]
push 1
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x30]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
jmp 0x100cf911
mov edi, dword [ebp - 0x2c]
mov ecx, dword [0x10310738]
mov edx, dword [edi + 0x1b4]
and edx, 0xfff
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x2c], edi
sub eax, 1
mov dword [ebp - 0x44], eax
jne 0x100cf7f8
mov edi, dword [ebp - 0x4c]
cmp byte [0x103139e4], 0
je 0x100cfa51
mov ecx, dword [edi]
push 5
call fcn.1007f840
test al, al
jne 0x100cfa51
mov ecx, dword [edi]
call fcn.10082ee0
mov edx, eax
mov dword [ebp - 0x44], edx
test edx, edx
je 0x100cfa51
movss xmm0, dword [0x10313a2c]
mov eax, dword [0x1031a56c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], esi
movss dword [ebp - 0x38], xmm0
cmp eax, dword [0x1031a570]
je 0x100cf9a7
mov dword [eax], edx
mov dword [eax + 4], esi
movss dword [eax + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100cf9b9
lea ecx, [ebp - 0x40]
push ecx
push eax
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [ebp - 0x44]
mov eax, edx
mov dword [ebp - 0x20], edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
imul eax, eax, 0x1000193
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085e90
mov eax, dword [eax + 4]
test eax, eax
je 0x100cfa19
cmp eax, dword [0x1031a5c8]
jne 0x100cfa51
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x20], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x20]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
mov esi, dword [ebp - 0x34]
add edi, 4
mov dword [ebp - 0x4c], edi
cmp edi, dword [ebp - 0x14]
jne 0x100cf323
mov edi, dword [ebp - 0x18]
cmp byte [0x10313b94], 0
je 0x100cfa74
call fcn.10173320
cmp byte [0x10313b4c], 0
je 0x100cfa82
call fcn.101717a0
cmp byte [0x10313b70], 0
je 0x100cfa95
mov ecx, 0x10310fa0
call fcn.10173620
cmp byte [0x10313bb8], 0
je 0x100cfaa8
mov ecx, 0x10310fa0
call fcn.10173c50
cmp byte [0x10313a98], 0
je 0x100cfe4c
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100cfe4c
mov edi, dword [ebp - 0x34]
mov eax, dword [esi]
mov ecx, eax
mov dword [ebp - 0x4c], eax
call fcn.10071cb0
test al, al
jne 0x100cfe3a
cmp byte [0x10313a74], al
je 0x100cfbe6
mov ecx, dword [ebp - 0x48]
mov eax, dword [0x1024f340]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x10310918]
cmp ecx, dword [eax + 4]
jle 0x100cfb66
push 0x10310918
call fcn.101928b8
mov ecx, dword [0x10310918]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100cfb66
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 5
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
mov ecx, dword [0x10310918]
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [0x1024f340]
mov eax, dword [eax + edi]
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
mov dword [ebp - 0x30], eax
mov eax, dword [edi + edx*4]
mov edi, dword [ebp - 0x34]
cmp ecx, dword [eax + 4]
jle 0x100cfbd2
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100cfbd2
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 6
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x14]
cmp dword [edx + eax], ecx
je 0x100cfe3a
mov edx, dword [esi]
mov ecx, edi
call fcn.100ce3b0
test al, al
je 0x100cfe3a
mov eax, dword [0x10313a50]
mov dword [ebp - 0x2c], 0
sub eax, 0
je 0x100cfd48
sub eax, 1
jne 0x100cfd43
mov eax, dword [0x1024f340]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x1031099c]
cmp eax, dword [ecx + 4]
jle 0x100cfc72
push 0x1031099c
call fcn.101928b8
add esp, 4
cmp dword [0x1031099c], 0xffffffff
jne 0x100cfc72
push str.m_iMaxHealth
push str.DT_BaseObject
mov dword [ebp - 4], 7
call fcn.100756f0
push 0x1031099c
mov dword [0x103109dc], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x103109dc]
mov esi, dword [ebp - 0x4c]
mov edi, dword [0x1024f340]
mov ecx, dword [esi + eax]
mov esi, dword [ebp - 0x48]
mov eax, dword [0x103109fc]
mov dword [ebp - 0x2c], ecx
mov edx, dword [esi + edi*4]
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x4c]
cmp eax, dword [edx + 4]
jle 0x100cfce7
push 0x103109fc
call fcn.101928b8
add esp, 4
cmp dword [0x103109fc], 0xffffffff
jne 0x100cfce4
push str.m_iHealth
push str.DT_BaseObject
mov dword [ebp - 4], 8
call fcn.100756f0
push 0x103109fc
mov dword [0x103109f0], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x2c]
mov eax, dword [0x103109f0]
mov word [ebp - 0x42], 0xff00
mov eax, dword [esi + eax]
cmp ecx, eax
cmovl eax, ecx
xor esi, esi
test eax, eax
cmovg esi, eax
mov eax, ecx
sub eax, esi
imul eax, eax, 0x1fe
cdq
idiv ecx
mov ecx, eax
mov eax, 0xc8
cmp ecx, 0xc8
cmovg ecx, eax
imul eax, esi, 0x1fe
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x44], cl
cdq
idiv dword [ebp - 0x2c]
mov edx, 0xc8
cmp eax, 0xc8
cmovg eax, edx
mov byte [ebp - 0x43], al
mov eax, dword [ebp - 0x44]
jmp 0x100cfd55
mov eax, dword [ebp - 0x2c]
jmp 0x100cfd58
mov dl, byte [0x103181cc]
mov ecx, dword [esi]
call fcn.100c1da0
mov dword [ebp - 0x2c], eax
movss xmm0, dword [0x10313abc]
mov ecx, dword [0x1031a56c]
mov edx, dword [esi]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100cfd8e
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100cfd9d
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [esi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov eax, dword [eax + 4]
test eax, eax
je 0x100cfe02
cmp eax, dword [0x1031a5c8]
jne 0x100cfe3a
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add esi, 4
mov dword [ebp - 0x28], esi
cmp esi, dword [ebp - 0x20]
jne 0x100cfae0
mov edi, dword [ebp - 0x18]
cmp byte [0x10313cb4], 0
je 0x100d09b8
cmp byte [0x10313c90], 0
je 0x100cff9c
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 6
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov esi, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100cff9f
mov edi, eax
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100cff8b
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov edx, dword [edi]
mov eax, dword [0x10311b1c]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100cfedf
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100cfeee
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov eax, dword [eax + 4]
test eax, eax
je 0x100cff53
cmp eax, dword [0x1031a5c8]
jne 0x100cff8b
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100cfe93
mov edi, dword [ebp - 0x18]
jmp 0x100cff9f
mov esi, dword [ebp - 0x34]
cmp byte [0x10313c24], 0
je 0x100d00dd
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 7
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100d00dd
mov edi, eax
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100d00ce
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov edx, dword [edi]
mov eax, dword [0x10311960]
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d0022
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d0031
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov eax, dword [eax + 4]
test eax, eax
je 0x100d0096
cmp eax, dword [0x1031a5c8]
jne 0x100d00ce
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100cffd6
mov edi, dword [ebp - 0x18]
cmp dword [0x10313cd8], 0
je 0x100d031b
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 8
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov esi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x20], eax
cmp esi, eax
je 0x100d031b
mov edi, dword [ebp - 0x34]
mov eax, dword [esi]
mov dword [ebp - 0x14], eax
test byte [eax + 0x7c], 0x20
jne 0x100d030c
mov eax, dword [0x1024f340]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + eax*4]
mov eax, dword [0x10310918]
mov dword [ebp - 0x28], edx
cmp eax, dword [edx + 4]
jle 0x100d0184
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100d0181
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 9
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov edx, dword [ebp - 0x28]
cmp dword [0x10313cd8], 2
mov eax, dword [0x10310914]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x28], eax
jne 0x100d01fe
mov eax, dword [0x10310918]
cmp eax, dword [edx + 4]
jle 0x100d01ed
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100d01ed
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 0xa
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310914]
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax + edi]
je 0x100d030c
mov edx, dword [esi]
mov ecx, edi
call fcn.100ce3b0
test al, al
je 0x100d030c
mov eax, dword [esi]
mov dl, byte [0x103181cc]
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], eax
call fcn.100c1c70
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d0259
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d0268
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [esi]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov ecx, dword [0x1031a5c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1031a5c8]
jne 0x100d030c
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add esi, 4
cmp esi, dword [ebp - 0x20]
jne 0x100d0112
mov edi, dword [ebp - 0x18]
cmp byte [0x10313bdc], 0
je 0x100d046f
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 9
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov esi, dword [ebp - 0x34]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100d0472
mov edi, eax
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100d045e
mov eax, dword [edi]
xor dl, dl
mov ecx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], eax
call fcn.100c1da0
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d03ab
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d03ba
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov ecx, dword [0x1031a5c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1031a5c8]
jne 0x100d045e
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100d0355
mov edi, dword [ebp - 0x18]
jmp 0x100d0472
mov esi, dword [ebp - 0x34]
cmp byte [0x10313c00], 0
je 0x100d05c8
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xa
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100d05c8
mov edi, eax
nop dword [eax]
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100d05b9
mov eax, dword [edi]
xor dl, dl
mov ecx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], eax
call fcn.100c1da0
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d0506
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d0515
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov ecx, dword [0x1031a5c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1031a5c8]
jne 0x100d05b9
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100d04b0
mov edi, dword [ebp - 0x18]
cmp byte [0x10313c6c], 0
je 0x100d0718
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xb
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100d0718
mov edi, eax
nop
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100d0709
mov eax, dword [edi]
xor dl, dl
mov ecx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], eax
call fcn.100c1da0
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d0656
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d0665
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov ecx, dword [0x1031a5c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1031a5c8]
jne 0x100d0709
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100d0600
mov edi, dword [ebp - 0x18]
cmp byte [0x10313c48], 0
je 0x100d0868
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xc
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100d0868
mov edi, eax
nop
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100d0859
mov eax, dword [edi]
xor dl, dl
mov ecx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], eax
call fcn.100c1da0
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d07a6
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d07b5
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
mov eax, edx
shr eax, 8
movzx ecx, al
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov ecx, dword [0x1031a5c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1031a5c8]
jne 0x100d0859
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100d0750
mov edi, dword [ebp - 0x18]
cmp byte [0x10313cfc], 0
je 0x100d09b8
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0xd
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
cmp eax, ecx
je 0x100d09b8
mov edi, eax
nop
mov edx, dword [edi]
mov ecx, esi
call fcn.100ce3b0
test al, al
je 0x100d09a9
mov eax, dword [edi]
xor dl, dl
mov ecx, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x40], eax
call fcn.100c1da0
movss xmm0, dword [0x10313d20]
mov ecx, dword [0x1031a56c]
mov dword [ebp - 0x3c], eax
movss dword [ebp - 0x38], xmm0
cmp ecx, dword [0x1031a570]
je 0x100d08f6
mov edx, dword [ebp - 0x14]
mov dword [ecx], edx
mov dword [ecx + 4], eax
movss dword [ecx + 8], xmm0
add dword [0x1031a56c], 0xc
jmp 0x100d0905
lea eax, [ebp - 0x40]
push eax
push ecx
mov ecx, 0x1031a568
call fcn.100d13f0
mov edx, dword [edi]
movzx eax, dl
xor eax, 0x811c9dc5
mov dword [ebp - 0x30], edx
imul ecx, eax, 0x1000193
mov eax, edx
shr eax, 8
movzx eax, al
mov dword [ebp - 0x14], edx
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x10
movzx eax, al
xor ecx, eax
mov eax, edx
imul ecx, ecx, 0x1000193
shr eax, 0x18
xor ecx, eax
imul eax, ecx, 0x1000193
mov ecx, 0x1031a5c4
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
call fcn.10085e90
mov ecx, dword [0x1031a5c8]
mov eax, dword [eax + 4]
test eax, eax
cmovne ecx, eax
cmp ecx, dword [0x1031a5c8]
jne 0x100d09a9
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x14], ecx
add ecx, 4
mov byte [0x1031a595], 1
push 1
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
lea eax, [ebp - 0x14]
mov ecx, 0x1031a574
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.10085780
mov eax, dword [eax]
mov byte [eax + 0xc], 1
mov byte [0x1031a595], 0
add edi, 4
cmp edi, dword [ebp - 0x20]
jne 0x100d08a0
mov edi, dword [ebp - 0x18]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1d4]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1d8]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1dc]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1e0]
mov eax, dword [edi]
mov ecx, edi
push 8
call dword [eax + 0x1e4]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1e8]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x1ec]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x1f0]
mov ecx, dword [0x10310a30]
push 0
push dword [0x1031a540]
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1b0]
mov eax, dword [edi]
mov ecx, edi
push dword [0x1031a54c]
call dword [eax + 0x18]
push dword [ebp - 0x24]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x1c]
push 0
push 0
call dword [eax + 0x98]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 0
push 0
call dword [eax + 0x124]
mov eax, dword [edi]
mov ecx, edi
push 0
push 0
push 1
call dword [eax + 0x30]
mov eax, dword [0x1031a56c]
mov esi, dword [0x1031a568]
cmp esi, eax
je 0x100d0b2a
mov edi, eax
nop dword [eax]
mov ecx, dword [0x103109e0]
movss xmm0, dword [esi + 8]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x10]
movzx eax, byte [esi + 4]
lea edx, [ebp - 0x40]
movss xmm1, dword [0x10237a64]
mov ecx, dword [0x103109e0]
push edx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [esi + 5]
divss xmm0, xmm1
movss dword [ebp - 0x40], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movzx eax, byte [esi + 6]
divss xmm0, xmm1
movss dword [ebp - 0x3c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
divss xmm0, xmm1
movss dword [ebp - 0x38], xmm0
call dword [eax + 0x18]
mov ecx, dword [esi]
add ecx, 4
mov word [0x1031a594], 0x101
push 0x81
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
add esi, 0xc
mov word [0x1031a594], 0
cmp esi, edi
jne 0x100d0a90
mov edi, dword [ebp - 0x18]
cmp byte [0x10313b94], 0
je 0x100d0b38
call fcn.10173320
cmp byte [0x10313b4c], 0
je 0x100d0b46
call fcn.101717a0
cmp byte [0x10313b70], 0
je 0x100d0b89
cmp byte [0x10317c50], 0
je 0x100d0b89
mov eax, 0x40
mov esi, 0x10310fe0
mov dword [ebp - 0x28], eax
cmp byte [esi + 4], 0
je 0x100d0b7e
push ecx
push dword [esi]
lea eax, [esi - 0xc]
push eax
lea eax, [esi - 0x18]
push eax
call fcn.10173570
mov eax, dword [ebp - 0x28]
add esi, 0x20
sub eax, 1
mov dword [ebp - 0x28], eax
jne 0x100d0b65
cmp byte [0x10313bb8], 0
je 0x100d0b9c
mov ecx, 0x10310fa0
call fcn.10173c50
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1d4]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1d8]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1dc]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1e0]
mov eax, dword [edi]
mov ecx, edi
push 8
call dword [eax + 0x1e4]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1e8]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x1ec]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x1f0]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1b4]
cmp dword [0x10313b04], 0
jne 0x100d0d09
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1b0]
push dword [ebp - 0x24]
mov eax, dword [edi]
mov ecx, edi
push dword [ebp - 0x1c]
push 0
push 0
call dword [eax + 0x98]
mov eax, dword [edi]
mov ecx, edi
push dword [0x1031a550]
call dword [eax + 0x18]
mov edx, dword [ebp - 0x24]
mov edi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
dec edi
push 1
push 1
push 0
mov eax, dword [ecx]
lea esi, [edx - 1]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
movd xmm1, edi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0
push 0
push dword [0x1031a558]
call dword [eax + 0x19c]
mov ecx, dword [ebp - 0x18]
push dword [0x1031a54c]
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [ebp - 0x18]
push 1
push 1
push 0
push dword [ebp - 0x24]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x1c]
push ecx
sub esp, 0x10
movd xmm0, esi
mov esi, dword [ebp - 0x24]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
mov edi, dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push esi
push ecx
push 0
push 0
push dword [0x1031a560]
mov ecx, edi
call dword [eax + 0x19c]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x1b4]
jmp 0x100d0d0c
mov esi, dword [ebp - 0x24]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1d4]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1d8]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1dc]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1e0]
mov eax, dword [edi]
mov ecx, edi
push 3
call dword [eax + 0x1e4]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1e8]
mov eax, dword [edi]
mov ecx, edi
push 0xff
call dword [eax + 0x1ec]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1f0]
mov eax, dword [edi]
lea ecx, [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [ebp - 0xb4]
push ecx
lea ecx, [ebp - 0xb8]
push ecx
mov ecx, edi
call dword [eax + 0x9c]
mov eax, dword [0x10313b04]
cmp eax, 3
ja case.default.0x100d0d9d
jmp dword [eax*4 + 0x100d13d8]
mov ecx, dword [ebp - 0x1c]
lea eax, [esi - 1]
push 1
push 1
push 0
push esi
push ecx
sub esp, 0x10
mov edx, dword [edi]
movd xmm0, eax
lea eax, [ecx - 1]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push esi
push ecx
push 0
push 0
push dword [0x1031a564]
mov ecx, edi
call dword [edx + 0x19c]
jmp case.default.0x100d0d9d
mov edi, dword [ebp - 0x1c]
dec esi
mov edx, dword [ebp - 0x24]
dec edi
mov ecx, dword [ebp - 0x18]
push 1
push 1
push 0
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
movd xmm1, edi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
push 1
push 1
push 0
mov ecx, dword [ebp - 0x18]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0
push 0xffffffffffffffff
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
push 1
push 1
push 0
mov ecx, dword [ebp - 0x18]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
push 1
push 1
push 0
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
sub esp, 0x10
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 1
push 0
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
push 1
push 1
push 0
mov ecx, dword [ebp - 0x18]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 1
push 1
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
push 1
push 1
push 0
mov ecx, dword [ebp - 0x18]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0
push 1
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
push 1
push 1
push 0
mov ecx, dword [ebp - 0x18]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
mov eax, dword [ecx]
sub esp, 0x10
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0xffffffffffffffff
push 1
push dword [0x1031a564]
call dword [eax + 0x19c]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
push 1
push 1
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x24]
push 0
push ecx
push edx
sub esp, 0x10
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push ecx
push edx
push 1
push 0xffffffffffffffff
jmp 0x100d131a
movd xmm0, dword [0x10313ae0]
mov eax, dword [edi]
mov ecx, dword [0x1031a548]
cvtdq2ps xmm0, xmm0
mov edi, dword [eax + 0x19c]
mov eax, dword [ecx]
mulss xmm0, dword [0x102377ac]
mov eax, dword [eax + 0x10]
movss dword [ebp - 0x28], xmm0
call eax
mov ecx, dword [0x1031a548]
mov esi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
movd xmm0, dword [ebp - 0x64]
push 1
cvtdq2ps xmm0, xmm0
push 1
push 0
push esi
push eax
sub esp, 0x10
mov esi, dword [ebp - 0x18]
mulss xmm0, dword [0x102377dc]
mov ecx, esi
subss xmm0, dword [0x10237858]
movss dword [esp + 0xc], xmm0
movd xmm0, dword [ebp - 0x68]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102377dc]
subss xmm0, dword [0x10237858]
movss dword [esp + 8], xmm0
movss xmm0, dword [ebp - 0x28]
movss dword [esp + 4], xmm0
movss dword [esp], xmm0
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
push 0
push 0
push dword [0x1031a564]
call edi
mov eax, dword [esi]
mov ecx, dword [0x1031a548]
mov edi, dword [eax + 0x19c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, dword [0x1031a548]
mov esi, eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
movd xmm0, dword [ebp - 0x64]
push 1
cvtdq2ps xmm0, xmm0
push 1
push 0
push esi
push eax
movss xmm2, dword [ebp - 0x28]
sub esp, 0x10
mulss xmm0, dword [0x102377dc]
mov ecx, dword [ebp - 0x18]
xorps xmm2, xmmword [0x10237f00]
subss xmm0, dword [0x10237858]
movss dword [esp + 0xc], xmm0
movd xmm0, dword [ebp - 0x68]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x102377dc]
subss xmm0, dword [0x10237858]
movss dword [esp + 8], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm2
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
push 0
push 0
push dword [0x1031a564]
call edi
mov edi, dword [ebp - 0x18]
jmp case.default.0x100d0d9d
mov edi, dword [ebp - 0x1c]
dec esi
mov edx, dword [ebp - 0x24]
dec edi
mov ecx, dword [ebp - 0x18]
push 1
push 1
push 0
mov eax, dword [ecx]
push edx
push dword [ebp - 0x1c]
movd xmm0, esi
sub esp, 0x10
movd xmm1, edi
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm1
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [0x1031a564]
call dword [eax + 0x19c]
mov edx, dword [ebp - 0x24]
push 1
push 1
push 0
mov ecx, dword [ebp - 0x18]
lea eax, [edx + 1]
push edx
push dword [ebp - 0x1c]
movd xmm0, eax
sub esp, 0x10
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push edx
push dword [ebp - 0x1c]
push 1
push 0xffffffffffffffff
push dword [0x1031a564]
call dword [eax + 0x19c]
mov eax, dword [ebp - 0x24]
push 1
push 1
push 0
push dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
inc eax
push dword [ebp - 0x1c]
sub esp, 0x10
mov edx, dword [ecx]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push dword [ebp - 0x24]
push dword [ebp - 0x1c]
push 0xffffffffffffffff
push 1
push dword [0x1031a564]
call dword [edx + 0x19c]
mov ecx, dword [ebp - 0x18]
push 1
push 1
push 0
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x1c]
push edx
sub esp, 0x10
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm0
mov dword [esp + 4], 0
mov dword [esp], 0
push ecx
push edx
push 1
push 1
mov edi, dword [ebp - 0x18]
mov ecx, edi
push dword [0x1031a564]
call dword [eax + 0x19c]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1d4]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1d8]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1dc]
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax + 0x1e0]
mov eax, dword [edi]
mov ecx, edi
push 8
call dword [eax + 0x1e4]
mov eax, dword [edi]
mov ecx, edi
push 0
call dword [eax + 0x1e8]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x1ec]
mov eax, dword [edi]
mov ecx, edi
push 0xffffffffffffffff
call dword [eax + 0x1f0]
mov ecx, dword [0x10310a30]
push 0
push 0
mov eax, dword [ecx]
mov eax, dword [eax + 4]
call eax
mov ecx, dword [0x103109e0]
lea edx, [ebp - 0x90]
push edx
mov eax, dword [ecx]
call dword [eax + 0x18]
mov ecx, dword [0x103109e0]
movss xmm0, dword [ebp - 0x6c]
push ecx
movss dword [esp], xmm0
mov eax, dword [ecx]
call dword [eax + 0x10]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret