Function at 0x100c2e10
Capabilities:
Check http status code

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 0x101974a0
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x218
cmp byte [0x10317ddc], 0
push esi
push edi
je 0x100c51d3
cmp byte [0x10318310], 0
je 0x100c51d3
mov eax, dword [0x1024d1ec]
mov dword [ebp - 0x94], eax
test eax, eax
je 0x100c51d3
lea eax, [ebp - 0x88]
mov dword [ebp - 0x88], 0
push eax
mov ecx, 0x1024d200
call fcn.1018e520
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x70], eax
cmp edi, eax
je 0x100c51bb
nop
mov ecx, dword [edi]
call fcn.10071cb0
test al, al
jne 0x100c51ac
mov ecx, dword [edi]
push 0x4d
call fcn.1007f840
test al, al
jne 0x100c51ac
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, eax
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
mov ecx, eax
call edx
movss xmm1, dword [esi]
movss xmm0, dword [esi + 4]
subss xmm0, dword [eax + 4]
subss xmm1, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1006f270
mov ecx, dword [edi]
add ecx, 8
movss dword [ebp - 0x58], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x10318238]
test al, al
movss xmm1, dword [ebp - 0x58]
cmovne ecx, dword [0x10318280]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jae 0x100c51ac
cmp byte [0x103182a4], 0
je 0x100c300f
mov ecx, dword [edi]
movss xmm0, dword [0x10317efc]
add ecx, 8
movss dword [ebp - 0x1c], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov esi, dword [0x10318238]
test al, al
mov ecx, dword [edi]
cmovne esi, dword [0x10318280]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x10318238]
test al, al
movss xmm0, dword [ebp - 0x58]
cmovne ecx, dword [0x10318280]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
subss xmm2, dword [0x102379a8]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100c2fb4
comiss xmm0, xmm1
jb 0x100c2fad
xorps xmm1, xmm1
jmp 0x100c3017
movss xmm1, dword [ebp - 0x1c]
jmp 0x100c3017
subss xmm0, xmm2
mov dword [ebp - 0x34], 0x3f800000
subss xmm1, xmm2
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x24]
lea edx, [ebp - 0x14]
divss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm0
movss xmm1, dword [ebp - 0x1c]
movss dword [ebp - 0x24], xmm0
seta al
test al, al
cmove edx, ecx
lea ecx, [ebp - 0x34]
comiss xmm0, dword [0x10237798]
xorps xmm0, xmm0
subss xmm0, xmm1
seta al
test al, al
cmove ecx, edx
mulss xmm0, dword [ecx]
addss xmm1, xmm0
jmp 0x100c3017
movss xmm1, dword [0x10317efc]
mov ecx, dword [0x10310830]
push ecx
movss dword [esp], xmm1
mov eax, dword [ecx]
mov eax, dword [eax + 0x1b0]
call eax
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100c3133
mov ecx, dword [edi]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1024f340]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x10310a58]
cmp ecx, dword [esi + 4]
jle 0x100c30b7
push 0x10310a58
call fcn.101928b8
add esp, 4
cmp dword [0x10310a58], 0xffffffff
jne 0x100c30b7
push str.m_iHealth
push str.baseclass
push str.DT_TFPlayerResource
mov dword [ebp - 4], 0
call fcn.100757e0
push 0x10310a58
mov dword [0x10310a5c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10310a5c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x94]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [edi]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10310a48]
cmp eax, dword [esi + 4]
jle 0x100c3125
push 0x10310a48
call fcn.101928b8
add esp, 4
cmp dword [0x10310a48], 0xffffffff
jne 0x100c3125
mov edx, str.m_iHealth
mov dword [ebp - 4], 1
mov ecx, str.CBasePlayer
call fcn.10071b90
push 0x10310a48
mov dword [0x10310a60], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310a60]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x14]
mov dword [edx + eax], ecx
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 - 0x5c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x5c], eax
je 0x100c3586
mov eax, dword [0x10317b54]
sub eax, 1
je 0x100c3256
sub eax, 1
jne 0x100c3267
mov ecx, dword [edi]
push 4
call fcn.1007f840
test al, al
je 0x100c3267
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1024f340]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c31e6
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c31e6
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
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10310914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c3246
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c3246
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 [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [edx + eax]
jmp 0x100c3261
mov ecx, dword [edi]
push 4
call fcn.1007f840
test al, al
jne 0x100c51ac
test byte [0x10317be4], 1
je 0x100c3384
mov esi, dword [ebp - 0x5c]
xor edx, edx
mov eax, esi
xor ecx, ecx
and eax, 0x3f
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
shr esi, 6
and edx, dword [esi*8 + 0x1024d1f0]
and ecx, dword [esi*8 + 0x1024d1f4]
or edx, ecx
je 0x100c3384
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1024f340]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c3310
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c3310
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 4
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10310914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c3370
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c3370
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
add esp, 4
mov eax, dword [0x10310914]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [edx + eax]
je 0x100c51ac
test byte [0x10317be4], 2
je 0x100c349d
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1024f340]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c33f7
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c33f7
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 ecx, dword [ebp - 0x14]
mov eax, dword [0x10310914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c3457
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c3457
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 7
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 [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [edx + eax]
jne 0x100c349d
mov esi, dword [ebp - 0x5c]
xor edx, edx
mov eax, esi
xor ecx, ecx
and eax, 0x3f
bts edx, eax
cmp eax, 0x20
cmovae ecx, edx
xor edx, ecx
cmp eax, 0x40
cmovae ecx, edx
shr esi, 6
and edx, dword [esi*8 + 0x1024d1f0]
and ecx, dword [esi*8 + 0x1024d1f4]
or edx, ecx
je 0x100c51ac
test byte [0x10317be4], 4
je 0x100c3593
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1024f340]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c3510
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c3510
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 8
call fcn.100756f0
push 0x10310918
mov dword [0x10310914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10310914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10310918]
cmp eax, dword [esi + 4]
jle 0x100c3570
push 0x10310918
call fcn.101928b8
add esp, 4
cmp dword [0x10310918], 0xffffffff
jne 0x100c3570
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 eax, dword [0x10310914]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [edx + eax]
jne 0x100c51ac
jmp 0x100c3593
cmp byte [0x10317d04], 0
je 0x100c51ac
mov dl, byte [0x103181cc]
mov ecx, dword [edi]
call fcn.100c1da0
cmp byte [0x10317ce0], 0
mov dword [ebp - 0x28], eax
je 0x100c3653
mov ecx, dword [edi]
movss xmm0, dword [0x10317e00]
movss dword [ebp - 0x1c], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x10310a6c]
mov edi, eax
mov esi, dword [ebp - 0x5c]
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
mov ecx, dword [0x1024f68c]
mov dword [ebp - 0x24], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
mov dword [ebp - 0x14], edx
call dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
fadd dword [0x1023773c]
mov eax, dword [ebp - 0x28]
mov byte [ecx + 0x14], al
movss xmm0, dword [ebp - 0x1c]
mov al, byte [ebp - 0x26]
movss dword [ecx + 0x10], xmm0
xorps xmm0, xmm0
fstp dword [ecx + 0x18]
mov byte [ecx + 0x15], ah
mov byte [ecx + 0x16], al
mov byte [ecx + 0x17], 5
mov dword [ecx + 0x24], esi
mov dword [ecx + 0x1c], 0x44000000
movss xmm2, dword [edi]
movss xmm1, dword [edi + 4]
addss xmm2, xmm0
addss xmm1, xmm0
movss xmm0, dword [edi + 8]
addss xmm0, dword [0x10237934]
mov edi, dword [ebp - 0x44]
movss dword [ecx + 4], xmm2
movss dword [ecx + 8], xmm1
movss dword [ecx + 0xc], xmm0
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x224]
mov dword [ebp - 0x20], 0
mov ecx, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
nop word [eax + eax]
mov dword [eax + 4], 0
lea eax, [eax + 0xc]
mov dword [eax - 0xc], 0
mov dword [eax - 0x10], 0
sub ecx, 1
jne 0x100c3680
mov ecx, dword [edi]
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x228]
call fcn.100c2180
add esp, 0x10
test al, al
je 0x100c51ac
mov eax, dword [0x1024f340]
mov ecx, dword fs:[0x2c]
mov esi, dword [edi]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10310850]
cmp eax, dword [ecx + 4]
jle 0x100c3728
push 0x10310850
call fcn.101928b8
add esp, 4
cmp dword [0x10310850], 0xffffffff
jne 0x100c3728
push str.m_iHealth
push str.DT_BasePlayer
mov dword [ebp - 4], 0xa
call fcn.100756f0
push 0x10310850
mov dword [0x10310874], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310874]
mov ecx, dword [edi]
mov esi, dword [esi + eax]
mov eax, dword [ecx]
mov dword [ebp - 0x58], esi
mov eax, dword [eax + 0x1ac]
call eax
cmp eax, esi
mov dword [ebp - 0x50], eax
mov ecx, esi
mov word [ebp - 0x5e], 0xff00
cmovl ecx, eax
mov dword [ebp - 0x2c], 0
xor esi, esi
test ecx, ecx
cmovg esi, ecx
sub eax, esi
imul eax, eax, 0x1fe
cdq
idiv dword [ebp - 0x50]
mov ecx, eax
mov eax, 0xc8
cmp ecx, 0xc8
cmovg ecx, eax
imul eax, esi, 0x1fe
mov byte [ebp - 0x60], cl
mov ecx, dword [ebp - 0x30]
cdq
idiv dword [ebp - 0x50]
mov edx, 0xc8
cmp eax, 0xc8
cmovg eax, edx
mov edx, dword [0x1024f340]
mov byte [ebp - 0x5f], al
add ecx, 3
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x18], eax
add eax, ecx
mov dword [ebp - 0x54], eax
mov eax, dword [edi]
mov edi, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x103106f4]
mov dword [ebp - 0x40], esi
mov ecx, dword [edi + edx*4]
mov edi, dword [ebp - 0x44]
cmp eax, dword [ecx + 4]
jle 0x100c381c
push 0x103106f4
call fcn.101928b8
add esp, 4
cmp dword [0x103106f4], 0xffffffff
jne 0x100c381c
push str.m_iClass
push str.m_PlayerClass
push str.DT_TFPlayer
mov dword [ebp - 4], 0xb
call fcn.100757e0
push 0x103106f4
mov dword [0x10310704], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
cmp dword [0x10317ed8], 2
mov eax, dword [0x10310704]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x4c], eax
jne 0x100c3848
cmp eax, 5
jne 0x100c3848
push ecx
mov ecx, dword [edi]
call fcn.100c1ab0
test eax, eax
je 0x100c3848
add dword [ebp - 0x54], 5
mov eax, dword [0x10317db8]
test eax, eax
je 0x100c3a29
movaps xmm0, xmmword [0x10237bf0]
lea ecx, [ebp - 0xac]
cmp eax, 1
lea eax, [ebp - 0x9c]
push ecx
cmove esi, dword [0x10311cf4]
push eax
push ecx
lea ecx, [ebp - 0x108]
movups xmmword [ebp - 0xac], xmm0
call fcn.100cce50
mov dword [ebp - 4], 0xc
lea edx, [ebp - 0x108]
mov ecx, dword [edi]
push esi
call fcn.100ccab0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x108]
call fcn.1006f160
movaps xmm0, xmmword [0x10237c00]
lea ecx, [ebp - 0xac]
push ecx
lea eax, [ebp - 0x9c]
push eax
push ecx
lea ecx, [ebp - 0x114]
movups xmmword [ebp - 0xac], xmm0
call fcn.100cce50
mov dword [ebp - 4], 0xd
lea edx, [ebp - 0x114]
mov ecx, dword [edi]
push esi
call fcn.100ccab0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x114]
call fcn.1006f160
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc0], 0
push ecx
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xbc], 4
push eax
push ecx
lea ecx, [ebp - 0x120]
mov dword [ebp - 0xb8], 1
call fcn.100cce50
mov dword [ebp - 4], 0xe
lea edx, [ebp - 0x120]
mov ecx, dword [edi]
push esi
call fcn.100ccab0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.1006f160
lea ecx, [ebp - 0xcc]
mov dword [ebp - 0xcc], 0xe
push ecx
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc8], 0xd
push eax
push ecx
lea ecx, [ebp - 0x12c]
mov dword [ebp - 0xc4], 1
call fcn.100cce50
mov dword [ebp - 4], 0xf
lea edx, [ebp - 0x12c]
mov ecx, dword [edi]
push esi
call fcn.100ccab0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.1006f160
mov dword [ebp - 0xd8], 0x11
lea ecx, [ebp - 0xd8]
mov dword [ebp - 0xd4], 0x10
push ecx
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xd0], 1
push eax
push ecx
lea ecx, [ebp - 0x138]
call fcn.100cce50
mov dword [ebp - 4], 0x10
lea edx, [ebp - 0x138]
mov ecx, dword [edi]
push esi
call fcn.100ccab0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.1006f160
mov eax, dword [0x10317d28]
sub eax, 1
je 0x100c3acc
sub eax, 1
je 0x100c3a5b
sub eax, 1
jne 0x100c3bd9
push dword [ebp - 0x28]
lea ecx, [ebp - 0x228]
call fcn.100cb420
add esp, 4
jmp 0x100c3bd9
mov eax, dword [0x10318214]
mov edx, 1
mov ecx, dword [0x10318334]
test eax, eax
mov esi, dword [ebp - 0x20]
cmovle eax, edx
test ecx, ecx
mov dword [ebp - 0x24], eax
cmovle ecx, edx
lea edx, [ebp - 0x28]
push edx
push ecx
push eax
push dword [ebp - 0x38]
mov dword [ebp - 0x14], ecx
push dword [ebp - 0x30]
push esi
push dword [ebp - 0x18]
call fcn.1018cc40
cmp byte [0x1031825c], 0
je 0x100c3bd9
mov eax, dword [ebp - 0x38]
push 0x10311bf8
push dword [ebp - 0x14]
add eax, 2
push dword [ebp - 0x24]
push eax
mov eax, dword [ebp - 0x30]
add eax, 2
push eax
lea eax, [esi - 1]
push eax
mov eax, dword [ebp - 0x18]
dec eax
push eax
call fcn.1018cc40
jmp 0x100c3bd9
movzx eax, byte [ebp - 0x25]
mov ecx, dword [0x10310830]
movzx edi, byte [ebp - 0x26]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
movzx esi, ah
movzx edx, al
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10310830]
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x38]
inc eax
add eax, esi
push eax
mov eax, dword [ebp - 0x30]
add eax, edi
push eax
push esi
push edi
call edx
cmp byte [0x1031825c], 0
je 0x100c3bd6
movzx eax, byte [0x10311bfb]
mov ecx, dword [0x10310830]
movzx edi, byte [0x10311bfa]
movzx esi, byte [0x10311bf9]
movzx edx, byte [0x10311bf8]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10310830]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
dec edi
dec esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x38]
add eax, 3
add eax, edi
push eax
mov eax, dword [ebp - 0x30]
add eax, 2
add eax, esi
push eax
push edi
push esi
call edx
movzx eax, byte [0x10311bfb]
mov ecx, dword [0x10310830]
movzx edi, byte [0x10311bfa]
movzx esi, byte [0x10311bf9]
movzx edx, byte [0x10311bf8]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10310830]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x18]
inc edi
inc esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x38]
dec eax
add eax, edi
push eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffffe
add eax, esi
push eax
push edi
push esi
call edx
mov edi, dword [ebp - 0x44]
cmp byte [0x10317cbc], 0
je 0x100c3ee4
movd xmm0, dword [0x1024f66c]
mov ecx, dword [0x10310a64]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
movss dword [ebp - 0x34], xmm0
movd xmm0, dword [0x1024f668]
mov eax, dword [eax + 0x7c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
call eax
test eax, eax
je 0x100c3d55
mov ecx, dword [ebx + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
movss xmm5, dword [eax]
movss xmm4, dword [eax + 4]
movaps xmm0, xmm5
mulss xmm0, dword [0x10310e90]
movaps xmm1, xmm4
mulss xmm1, dword [0x10310e94]
movss xmm6, dword [eax + 8]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [0x10310e98]
addss xmm1, xmm0
addss xmm1, dword [0x10310e9c]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x10237770]
jbe 0x100c3d55
movss xmm3, dword [0x10237798]
movaps xmm0, xmm5
mulss xmm0, dword [0x10310e60]
xorps xmm2, xmm2
mov eax, dword [0x1024f664]
divss xmm3, xmm1
mov ecx, dword [0x1024f668]
movaps xmm1, xmm4
movsd xmm7, qword [0x102377e8]
mulss xmm1, dword [0x10310e64]
mulss xmm4, dword [0x10310e74]
addss xmm1, xmm0
mulss xmm5, dword [0x10310e70]
movaps xmm0, xmm6
mulss xmm6, dword [0x10310e78]
mulss xmm0, dword [0x10310e68]
addss xmm4, xmm5
addss xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
cdq
sub eax, edx
sar eax, 1
addss xmm4, xmm6
addss xmm1, dword [0x10310e6c]
addss xmm4, dword [0x10310e7c]
mulss xmm1, xmm3
cvtps2pd xmm1, xmm1
mulss xmm4, xmm3
mulsd xmm1, xmm7
mulsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
addsd xmm1, xmm7
cvtsi2sd xmm2, eax
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
cvtps2pd xmm1, xmm4
movss dword [ebp - 0x34], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, ecx
mulsd xmm1, xmm7
mulsd xmm1, xmm0
addsd xmm1, xmm7
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
movss dword [ebp - 0x1c], xmm0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
movss xmm6, dword [eax]
movss xmm5, dword [eax + 4]
movaps xmm0, xmm6
mulss xmm0, dword [0x10310e90]
movaps xmm1, xmm5
mulss xmm1, dword [0x10310e94]
movss xmm7, dword [eax + 8]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x10310e98]
addss xmm1, xmm0
addss xmm1, dword [0x10310e9c]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x10237770]
jbe 0x100c3ee4
movss xmm4, dword [0x10237798]
movaps xmm0, xmm6
mulss xmm0, dword [0x10310e60]
mov eax, dword [0x1024f664]
divss xmm4, xmm1
mov ecx, dword [0x1024f668]
movzx edi, byte [ebp - 0x26]
movaps xmm1, xmm5
mulss xmm6, dword [0x10310e70]
mulss xmm1, dword [0x10310e64]
mulss xmm5, dword [0x10310e74]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x10310e68]
mulss xmm7, dword [0x10310e78]
addss xmm5, xmm6
addss xmm1, xmm0
movd xmm0, eax
cdq
sub eax, edx
cvtdq2pd xmm0, xmm0
sar eax, 1
addss xmm5, xmm7
addss xmm1, dword [0x10310e6c]
addss xmm5, dword [0x10310e7c]
mulss xmm1, xmm4
cvtps2pd xmm1, xmm1
mulss xmm5, xmm4
mulsd xmm1, qword [0x102377e8]
mulsd xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addsd xmm1, qword [0x102377e8]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
addsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [0x10310830]
cvtpd2ps xmm3, xmm1
cvtps2pd xmm1, xmm5
mulsd xmm1, qword [0x102377e8]
mulsd xmm1, xmm0
addsd xmm1, qword [0x102377e8]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
cvttss2si eax, xmm0
mov dword [ebp - 0x24], eax
cvttss2si eax, xmm3
mov dword [ebp - 0x48], eax
movzx eax, byte [ebp - 0x25]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
movzx esi, ah
movzx edx, al
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
cvttss2si edx, dword [ebp - 0x1c]
mov ecx, dword [0x10310830]
mov eax, dword [ecx]
push dword [ebp - 0x24]
mov eax, dword [eax + 0x3c]
push dword [ebp - 0x48]
push edx
cvttss2si edx, dword [ebp - 0x34]
push edx
call eax
cmp dword [0x10317b78], 1
mov edi, dword [ebp - 0x20]
jne 0x100c3f34
mov ecx, dword [ebp - 0x50]
lea edx, [ebp - 0x40]
mov esi, dword [ebp - 0x58]
mov eax, 0x10311a60
push ecx
push esi
push str._d____d
cmp esi, ecx
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
push ecx
cmovle eax, edx
push eax
push edi
push dword [ebp - 0x54]
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c740
mov eax, dword [0x1024d0b8]
add esp, 0x24
mov dword [ebp - 0x2c], eax
cmp byte [0x10315ab4], 0
mov esi, dword [ebp - 0x44]
je 0x100c4042
mov eax, dword [esi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x1024f340]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10310a90]
cmp eax, dword [ecx + 4]
jle 0x100c3fcb
push 0x10310a90
call fcn.101928b8
add esp, 4
cmp dword [0x10310a90], 0xffffffff
jne 0x100c3fcb
mov dword [ebp - 4], 0x11
mov eax, dword [0x1024cfbc]
test eax, eax
jne 0x100c3fb2
mov ecx, 0x1024cfbc
call fcn.1018f6d0
mov eax, dword [0x1024cfbc]
push 0x10310a90
mov dword [0x10310a4c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x84]
push eax
call dword [0x10310a4c]
movss xmm1, dword [ebp - 0x80]
movss xmm0, dword [ebp - 0x84]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x7c]
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1006f270
mov eax, dword [ebp - 0x2c]
lea ecx, [ebp - 0x14]
sub esp, 8
mov dword [ebp - 0x14], 0
cvtss2sd xmm0, xmm0
add eax, edi
movsd qword [esp], xmm0
push str.SPEED___.0f_
push ecx
push 0x102490cc
push eax
push dword [ebp - 0x54]
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c740
add esp, 0x24
cmp dword [0x10317ed8], 0
je 0x100c4346
cmp dword [ebp - 0x4c], 5
jne 0x100c4346
push ecx
mov ecx, dword [esi]
call fcn.100c1ab0
mov esi, eax
mov dword [ebp - 0x24], esi
test esi, esi
je 0x100c4346
mov eax, dword [0x10317ed8]
cmp eax, 1
jne 0x100c40d5
movss xmm0, dword [esi + 0xc6c]
lea ecx, [ebp - 0x14]
mulss xmm0, dword [0x10237968]
sub esp, 8
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x14], 0
cvtps2pd xmm0, xmm0
lea eax, [esi + edi]
movsd qword [esp], xmm0
push 0x1021afe8
push ecx
push 0x10311cac
push eax
push dword [ebp - 0x54]
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c740
mov eax, dword [0x10317ed8]
add esp, 0x24
add esi, dword [0x1024d0b8]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x24]
cmp eax, 2
jne 0x100c4346
movss xmm0, dword [esi + 0xc6c]
ucomiss xmm0, dword [0x10237650]
lahf
test ah, 0x44
jnp 0x100c4346
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x1024f340]
inc ecx
add dword [ebp - 0x18], ecx
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x1024f788]
mov dword [ebp - 0x1c], edx
cmp ecx, dword [edx + 4]
jle 0x100c4178
push 0x1024f788
call fcn.101928b8
mov ecx, dword [0x1024f788]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100c4175
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0x12
call fcn.10082940
push 0x1024f788
mov dword [0x103106f8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
mov ecx, dword [0x1024f788]
add esp, 4
mov edx, dword [ebp - 0x1c]
mov eax, dword [0x103106f8]
cmp dword [esi + eax], 0x3e6
jne 0x100c4190
movss xmm1, dword [0x102379d0]
jmp 0x100c4198
movss xmm1, dword [0x10237968]
mulss xmm1, dword [esi + 0xc6c]
movss dword [ebp - 0x1c], xmm1
cmp ecx, dword [edx + 4]
jle 0x100c4201
push 0x1024f788
call fcn.101928b8
add esp, 4
cmp dword [0x1024f788], 0xffffffff
jne 0x100c41fc
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0x13
call fcn.10082940
push 0x1024f788
mov dword [0x103106f8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
movss xmm1, dword [ebp - 0x1c]
mov eax, dword [0x103106f8]
cmp dword [esi + eax], 0x3e6
jne 0x100c4219
movss xmm2, dword [0x102379d0]
jmp 0x100c4221
movss xmm2, dword [0x10237968]
movaps xmm0, xmm2
mov ecx, dword [0x10310830]
minss xmm0, xmm1
movzx esi, byte [0x10311cad]
xor eax, eax
movzx edx, byte [0x10311cac]
comiss xmm2, xmm0
divss xmm0, xmm2
seta al
inc eax
add eax, dword [ebp - 0x38]
movd xmm1, eax
add eax, edi
cvtdq2ps xmm1, xmm1
movzx edi, byte [0x10311cae]
mulss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x1c], xmm1
subss xmm0, xmm1
cvttss2si eax, xmm0
movss dword [ebp - 0x34], xmm0
mov dword [ebp - 0x24], eax
movzx eax, byte [0x10311caf]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10310830]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x24]
add esi, 2
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
cvttss2si eax, dword [ebp - 0x1c]
add eax, edi
push eax
lea eax, [esi + 2]
push eax
push edi
push esi
call edx
cmp byte [0x1031825c], 0
je 0x100c4334
movss xmm0, dword [ebp - 0x34]
subss xmm0, dword [0x10237798]
mov ecx, dword [0x10310830]
movzx edi, byte [0x10311bfa]
movzx esi, byte [0x10311bf9]
movzx edx, byte [0x10311bf8]
cvttss2si eax, xmm0
mov dword [ebp - 0x24], eax
movzx eax, byte [0x10311bfb]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10310830]
movss xmm0, dword [ebp - 0x1c]
addss xmm0, dword [0x10237820]
mov esi, dword [ebp - 0x18]
mov eax, dword [ecx]
inc esi
mov edi, dword [ebp - 0x24]
mov edx, dword [eax + 0x38]
cvttss2si eax, xmm0
add eax, edi
push eax
lea eax, [esi + 4]
push eax
push edi
push esi
call edx
mov edi, dword [ebp - 0x30]
or eax, 0xffffffff
mov esi, dword [ebp - 0x18]
sub eax, edi
add esi, eax
mov dword [ebp - 0x18], esi
jmp 0x100c434c
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x30]
push 0x84
lea eax, [ebp - 0x1c8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x1024f68c]
lea edx, [ebp - 0x1c8]
add esp, 0xc
mov eax, dword [ecx]
push edx
push dword [ebp - 0x5c]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100c46d0
mov eax, edi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
add edi, esi
cmp byte [0x10317eb4], 0
mov dword [ebp - 0x40], edi
je 0x100c45fc
mov eax, dword [0x1024d0cc]
cdq
and edx, 3
lea esi, [edx + eax]
sar esi, 2
add esi, dword [0x1024d0cc]
cmp byte [0x10317bc0], 0
mov dword [ebp - 0x48], esi
je 0x100c44fe
lea eax, [ebp - 0x1c8]
mov ecx, eax
mov dword [ebp - 0xe0], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c43d2
sub ecx, edx
lea edx, [ebp - 0xe0]
mov dword [ebp - 0xdc], ecx
lea ecx, [ebp - 0xb4]
call fcn.100c1b60
mov edx, eax
mov dword [ebp - 4], 0x14
cmp dword [edx + 0x14], 7
jbe 0x100c4403
mov edx, dword [edx]
mov ecx, dword [0x10310830]
lea edi, [ebp - 0x90]
push edi
lea edi, [ebp - 0x6c]
push edi
mov eax, dword [ecx]
push edx
push dword [0x1024d0c4]
mov eax, dword [eax + 0x12c]
call eax
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], 0xffffffff
call fcn.1006d720
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [0x10310830]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
sub eax, esi
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x34], eax
mov eax, edi
cdq
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, dword [ecx]
push 0xb4
push 0
push 0
mov eax, dword [eax + 0x2c]
sub esi, 5
push 0
call eax
mov ecx, dword [0x10310830]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x34]
add ecx, 2
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [0x10310830]
push eax
lea eax, [edi + 0xa]
mov edi, dword [ebp - 0x34]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x6c]
mov eax, ecx
movzx edi, byte [ebp - 0x26]
cdq
sub eax, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x40]
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x28]
sub ecx, 5
movzx esi, ah
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x10310830]
movzx edx, al
push 0xb4
push edi
mov eax, dword [ecx]
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10310830]
mov edi, dword [ebp - 0x34]
mov esi, dword [ebp - 0x14]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x24]
add eax, 0xa
add eax, esi
push eax
lea eax, [edi - 2]
push eax
push esi
call edx
dec dword [ebp - 0x48]
mov edi, dword [ebp - 0x40]
lea ecx, [ebp - 0x1c8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c4507
sub ecx, edx
lea eax, [ebp - 0x1c8]
cmp byte [0x10317d70], 0
je 0x100c458e
mov dword [ebp - 0xe4], ecx
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xe8], eax
call fcn.100c1b60
mov ecx, eax
mov dword [ebp - 4], 0x15
cmp dword [ecx + 0x14], 7
jbe 0x100c454d
mov ecx, dword [ecx]
mov esi, dword [ebp - 0x20]
mov eax, esi
sub eax, dword [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push ecx
push 0x10317d94
push eax
push edi
push 0x1024d0c4
push 0x1024d0b0
call fcn.1018c740
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.1006d720
jmp 0x100c45ff
mov dword [ebp - 0xec], ecx
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xf0], eax
call fcn.100c1b60
mov ecx, eax
mov dword [ebp - 4], 0x16
cmp dword [ecx + 0x14], 7
jbe 0x100c45bc
mov ecx, dword [ecx]
mov esi, dword [ebp - 0x20]
mov eax, esi
sub eax, dword [ebp - 0x48]
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push ecx
lea ecx, [ebp - 0x28]
push ecx
push eax
push edi
push 0x1024d0c4
push 0x1024d0b0
call fcn.1018c740
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.1006d720
jmp 0x100c45ff
mov esi, dword [ebp - 0x20]
cmp byte [0x10317e24], 0
je case.0x100c461b.386
lea eax, [ebp - 0x180]
push eax
call fcn.10085300
mov eax, dword [eax]
cmp eax, 4
ja case.0x100c461b.386
jmp dword [eax*4 + 0x100c51e8]
push str.FRIEND
lea eax, [ebp - 0x14]
push eax
push 0x10311aac
mov edi, dword [ebp - 0x2c]
mov eax, esi
sub eax, edi
mov dword [ebp - 0x14], 3
push eax
push dword [ebp - 0x40]
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c510
add esp, 0x1c
add edi, dword [0x1024d0b8]
mov dword [ebp - 0x2c], edi
jmp 0x100c4689
push str.IGNORED
jmp 0x100c4627
push str.RAGE
lea eax, [ebp - 0x14]
push eax
push 0x10311bac
jmp 0x100c4630
push str.CHEATER
lea eax, [ebp - 0x14]
push eax
push 0x10311a3c
jmp 0x100c4630
mov edi, dword [ebp - 0x2c]
cmp byte [0x10317e48], 0
je 0x100c46d0
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x14], 0
push eax
push 0x1021ad10
lea eax, [ebp - 0x14]
push eax
push 0x102490cc
lea eax, [edi + esi]
push eax
push dword [ebp - 0x54]
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c510
add esp, 0x20
add edi, dword [0x1024d0b8]
mov dword [ebp - 0x2c], edi
mov eax, dword [0x10317c2c]
test eax, eax
je 0x100c47c2
cmp eax, 1
je 0x100c46e7
cmp eax, 3
jne 0x100c4766
cmp byte [0x10317eb4], 0
je 0x100c4720
movd xmm1, dword [0x1024d0cc]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x10237720]
addss xmm0, xmm1
cvttss2si ecx, xmm0
test ecx, ecx
je 0x100c4722
cmp byte [0x10317bc0], 0
je 0x100c4722
add ecx, 2
jmp 0x100c4722
xor ecx, ecx
cmp byte [0x10317e24], 0
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x20]
je 0x100c476c
push edi
push 0x102490cc
mov eax, esi
push 0x12
sub eax, ecx
sub eax, 0x12
push 0x12
push eax
mov eax, dword [ebp - 0x30]
mov eax, eax
test eax, eax
jns 0x100c474f
add eax, 1
sar eax, 1
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff7
add eax, ecx
push eax
call fcn.1018ce70
mov eax, dword [0x10317c2c]
jmp 0x100c476c
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x4c]
cmp eax, 2
jl 0x100c47c2
lea eax, [edi - 1]
cmp eax, 8
ja 0x100c4782
mov ecx, dword [edi*4 + 0x1021b670]
jmp 0x100c4788
mov ecx, dword [str.unknown]
mov edi, dword [ebp - 0x2c]
push ecx
push 0x1021b00c
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
lea ecx, [ebp - 0x28]
push ecx
lea eax, [edi + esi]
push eax
push dword [ebp - 0x54]
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c740
add esp, 0x20
add edi, dword [0x1024d0b8]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x44]
mov ecx, dword [edi]
call fcn.10082ee0
mov dword [ebp - 0x34], eax
test eax, eax
je 0x100c4ce3
cmp byte [0x10317c74], 0
mov dword [ebp - 0x14], 0
je 0x100c49ed
mov eax, dword [0x1024f340]
mov ecx, dword fs:[0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1031a60c]
cmp eax, dword [esi + 4]
jle 0x100c4855
push 0x1031a60c
call fcn.101928b8
add esp, 4
cmp dword [0x1031a60c], 0xffffffff
jne 0x100c4855
mov dword [ebp - 4], 0x17
mov eax, dword [0x1024d730]
test eax, eax
jne 0x100c483c
mov ecx, 0x1024d730
call fcn.1018f6d0
mov eax, dword [0x1024d730]
push 0x1031a60c
mov dword [0x1031a608], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x1031a600]
cmp eax, dword [esi + 4]
jle 0x100c48b0
push 0x1031a600
call fcn.101928b8
add esp, 4
cmp dword [0x1031a600], 0xffffffff
jne 0x100c48b0
mov dword [ebp - 4], 0x18
mov eax, dword [0x1024d720]
test eax, eax
jne 0x100c4897
mov ecx, 0x1024d720
call fcn.1018f6d0
mov eax, dword [0x1024d720]
push 0x1031a600
mov dword [0x1031a610], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov ecx, dword [ebp - 0x34]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
mov edx, dword [0x1024f340]
mov esi, eax
mov eax, dword [edi]
mov edi, dword fs:[0x2c]
mov ecx, dword [0x103106f4]
mov dword [ebp - 0x24], eax
mov eax, dword [edi + edx*4]
mov edi, dword [ebp - 0x44]
cmp ecx, dword [eax + 4]
jle 0x100c492f
push 0x103106f4
call fcn.101928b8
add esp, 4
cmp dword [0x103106f4], 0xffffffff
jne 0x100c492f
push str.m_iClass
push str.m_PlayerClass
push str.DT_TFPlayer
mov dword [ebp - 4], 0x19
call fcn.100757e0
push 0x103106f4
mov dword [0x10310704], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10192867
add esp, 4
mov eax, dword [0x10310704]
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + ecx]
sub eax, 8
je 0x100c4955
sub eax, 1
jne 0x100c4979
mov eax, esi
sub eax, 3
je 0x100c4966
sub eax, 1
jne 0x100c4979
lea esi, [eax + 6]
jmp 0x100c4979
mov eax, esi
sub eax, 0
je 0x100c4974
sub eax, 1
je 0x100c496d
sub eax, 2
jne 0x100c4979
mov esi, 5
jmp 0x100c4979
mov esi, 4
jmp 0x100c4979
mov esi, 1
push 0
push esi
push dword [edi]
call dword [0x1031a608]
add esp, 0xc
test eax, eax
je 0x100c49f2
xor esi, esi
mov ecx, 0xa
cmp byte [0x10317e6c], 0
cmovne esi, ecx
mov ecx, eax
call dword [0x1031a610]
push eax
push 0x1021b008
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push eax
mov eax, dword [ebp - 0x38]
add eax, esi
mov esi, dword [ebp - 0x20]
add eax, esi
push 0x10311864
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x18]
push eax
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c510
mov eax, dword [0x1024d0b8]
add esp, 0x20
mov dword [ebp - 0x14], eax
jmp 0x100c49f5
mov esi, dword [ebp - 0x20]
jmp 0x100c49f8
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
cmp byte [0x10317b9c], 0
je 0x100c4ce3
mov ecx, eax
call fcn.101870a0
mov edx, eax
mov dword [ebp - 0x48], edx
test edx, edx
je 0x100c4ce3
movd xmm3, dword [ebp - 0x30]
xor eax, eax
cmp byte [0x10317e6c], al
mov ecx, 0xa
cvtdq2ps xmm3, xmm3
cmovne eax, ecx
lea ecx, [ebp - 0x9c]
mov dword [ebp - 0x3c], eax
mov eax, dword [edx + 0xa4]
sub eax, dword [edx + 0xa0]
movss xmm7, dword [0x1023773c]
movaps xmm0, xmm3
movd xmm5, dword [ebp - 0x18]
movd xmm1, dword [ebp - 0x38]
movd xmm4, eax
cvtdq2ps xmm4, xmm4
mov dword [ebp - 0x8c], 0x3f400000
mov dword [ebp - 0x9c], 0x3f000000
movd xmm6, esi
lea esi, [ebp - 0x98]
divss xmm0, xmm4
cvtdq2ps xmm5, xmm5
comiss xmm7, xmm0
cvtdq2ps xmm6, xmm6
seta al
test al, al
cmove ecx, esi
movss dword [ebp - 0x98], xmm0
comiss xmm0, dword [0x10237764]
lea esi, [ebp - 0x8c]
movss xmm0, dword [0x102490d0]
cvtdq2ps xmm1, xmm1
seta al
test al, al
cmove esi, ecx
movss dword [ebp - 0x28], xmm5
movss dword [ebp - 0x1c], xmm6
movss dword [ebp - 0x40], xmm3
movss xmm2, dword [esi]
comiss xmm2, xmm0
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x34], xmm4
movss dword [ebp - 0x68], xmm2
ja 0x100c4b46
movss dword [ebp - 0x24], xmm0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov ecx, dword [0x10310e48]
movss xmm0, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x4c]
movss xmm3, dword [ebp - 0x40]
movss xmm4, dword [ebp - 0x34]
movss xmm5, dword [ebp - 0x28]
movss xmm6, dword [ebp - 0x1c]
movss xmm7, dword [0x1023773c]
mov edx, dword [ebp - 0x48]
cmp eax, ecx
jle 0x100c4b3c
movss xmm2, dword [esi]
inc ecx
comiss xmm0, xmm2
mov dword [0x10310e48], ecx
jbe 0x100c4b43
mulss xmm0, dword [0x1023778c]
jmp 0x100c4b46
movss xmm2, dword [ebp - 0x68]
jmp 0x100c4b46
movaps xmm0, xmm2
mov eax, dword [0x10311864]
addss xmm1, xmm6
movss dword [0x102490d0], xmm0
movd xmm0, dword [ebp - 0x14]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x1c], eax
shr eax, 8
cmp byte [edx + 0x84], 0
mov dword [ebp - 0x24], eax
addss xmm1, dword [0x10237798]
mov ax, word [0x10311866]
mulss xmm3, xmm7
mov word [ebp - 0x26], ax
mulss xmm4, xmm7
movzx eax, ah
addss xmm1, xmm0
mov dword [ebp - 0x14], eax
movd xmm0, dword [ebp - 0x3c]
addss xmm3, xmm5
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm2
addss xmm1, xmm0
subss xmm3, xmm4
movss dword [ebp - 0x4c], xmm1
movss dword [ebp - 0x40], xmm3
je 0x100c4c2b
mov ecx, dword [0x10310830]
push dword [edx + 0x88]
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
mov ecx, dword [0x10310830]
push dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
mov ax, word [ebp - 0x26]
movzx eax, al
push eax
mov eax, dword [ebp - 0x24]
movzx eax, al
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, al
push eax
call edx
mov ecx, dword [0x10310830]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
cvttss2si eax, dword [ebp - 0x4c]
push eax
cvttss2si eax, dword [ebp - 0x40]
push eax
call edx
mov ecx, dword [ebp - 0x48]
push 0
movsx eax, byte [ecx + 0x86]
mov ecx, dword [0x10310830]
movzx edx, ax
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
call eax
jmp 0x100c4ce3
mov edx, dword [edx + 0x8c]
cmp edx, 0xffffffff
je 0x100c4ce3
mov ecx, dword [0x10310830]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
mov ecx, dword [0x10310830]
push dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
mov ax, word [ebp - 0x26]
movzx eax, al
push eax
mov eax, dword [ebp - 0x24]
movzx eax, al
push eax
mov eax, dword [ebp - 0x1c]
movzx eax, al
push eax
call edx
mov edx, dword [ebp - 0x48]
sub esp, 0x10
mov ecx, dword [0x10310830]
mov eax, dword [edx + 0xa4]
sub eax, dword [edx + 0xa0]
movd xmm0, eax
mov eax, dword [edx + 0xac]
sub eax, dword [edx + 0xa8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi]
addss xmm0, dword [ebp - 0x40]
cvttss2si edi, xmm0
movd xmm0, eax
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi]
addss xmm0, dword [ebp - 0x4c]
cvttss2si esi, xmm0
movups xmm0, xmmword [edx + 0x90]
mov edx, dword [eax + 0x194]
cvttss2si eax, dword [ebp - 0x4c]
movups xmmword [esp], xmm0
push esi
push edi
push eax
cvttss2si eax, dword [ebp - 0x40]
push eax
call edx
mov edi, dword [ebp - 0x44]
cmp byte [0x10317e6c], 0
je 0x100c4d91
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov esi, eax
mov eax, dword [ebx + 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x24]
mov ecx, eax
call edx
movss xmm1, dword [esi]
movss xmm0, dword [esi + 4]
subss xmm0, dword [eax + 4]
subss xmm1, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.1006f270
cvtss2sd xmm0, xmm0
push ecx
mulsd xmm0, qword [0x102377b0]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x3c], xmm0
fld dword [ebp - 0x3c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0x3c]
cvttss2si ecx, dword [ebp - 0x3c]
add esp, 4
mov dword [ebp - 0x3c], 3
lea eax, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x20]
push str.__d_M_
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
push 0x102490cc
push ecx
sar eax, 1
add eax, dword [ebp - 0x18]
push eax
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c740
add esp, 0x20
cmp byte [0x10317c08], 0
je 0x100c4e28
push dword [edi]
lea eax, [ebp - 0xfc]
push eax
call fcn.100ca360
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0x68], eax
cmp esi, eax
je 0x100c4e16
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x3c], 0
cmp dword [esi + 0x14], 7
mov ecx, esi
jbe 0x100c4ddd
mov ecx, dword [esi]
push ecx
lea ecx, [ebp - 0x3c]
add eax, edi
push ecx
push 0x103118ac
push eax
push dword [ebp - 0x54]
push 0x1024d0d8
push 0x1024d0b0
call fcn.1018c740
mov eax, dword [ebp - 0x2c]
add esi, 0x18
add eax, dword [0x1024d0e0]
add esp, 0x1c
mov dword [ebp - 0x2c], eax
cmp esi, dword [ebp - 0x68]
jne 0x100c4dd3
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0xfc]
mov dword [ebp - 4], 0xffffffff
call fcn.100ccdc0
cmp byte [0x10317e90], 0
je 0x100c50f7
mov edx, dword [ebp - 0x58]
mov eax, 0x10311a84
movd xmm0, dword [ebp - 0x50]
mov ecx, 0x10311a14
dec dword [ebp - 0x18]
cvtdq2ps xmm0, xmm0
movd xmm1, edx
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
cmovbe ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
jbe 0x100c4e6e
mov eax, dword [0x10311a60]
jmp 0x100c4ec4
mov ecx, dword [ebp - 0x50]
mov eax, edx
cmp ecx, edx
mov word [ebp - 0x62], 0xff00
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
imul eax, esi, 0x1fe
mov dword [ebp - 0x3c], ecx
movzx ecx, cl
cdq
idiv dword [ebp - 0x50]
cmp dword [ebp - 0x3c], 0xc8
mov edx, 0xc8
cmovg ecx, edx
cmp eax, edx
mov byte [ebp - 0x64], cl
movzx ecx, al
cmovg ecx, edx
mov byte [ebp - 0x63], cl
mov eax, dword [ebp - 0x64]
mov esi, dword [edi]
mov ecx, esi
push 5
mov dword [ebp - 0x14], eax
call fcn.1007f840
test al, al
jne 0x100c4f0a
push 0x39
mov ecx, esi
call fcn.1007f840
test al, al
jne 0x100c4f0a
push 0x33
mov ecx, esi
call fcn.1007f840
test al, al
jne 0x100c4f0a
push 0x34
mov ecx, esi
call fcn.1007f840
test al, al
jne 0x100c4f0a
push 0xe
mov ecx, esi
call fcn.1007f840
test al, al
je 0x100c4f15
mov eax, dword [0x10311c64]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x50]
movd xmm1, dword [ebp - 0x58]
cvtdq2ps xmm1, xmm1
mov eax, dword [0x10317d4c]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm0
minss xmm2, xmm1
divss xmm2, xmm0
movss dword [ebp - 0x1c], xmm2
test eax, eax
jne 0x100c4f84
mov esi, dword [ebp - 0x20]
cmp byte [0x10317e90], al
je 0x100c5062
push ecx
push 0x10311bf8
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x38]
push ecx
movss dword [esp], xmm2
push eax
add eax, esi
push ecx
push eax
mov eax, dword [ebp - 0x18]
add eax, 0xfffffffc
push eax
call fcn.1018cb80
movss xmm2, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x50]
jmp 0x100c5062
cmp eax, 1
jne 0x100c505f
cmp byte [0x10317e90], 0
je 0x100c505f
movzx eax, byte [0x10311bfb]
mov ecx, dword [0x10310830]
mov esi, dword [ebp - 0x18]
mov edi, dword [ebp - 0x20]
add esi, 0xfffffffb
push eax
movzx eax, byte [0x10311bfa]
dec edi
mov edx, dword [ecx]
push eax
movzx eax, byte [0x10311bf9]
push eax
movzx eax, byte [0x10311bf8]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [0x10310830]
add eax, 2
add eax, edi
push eax
lea eax, [esi + 4]
mov edx, dword [ecx]
push eax
push edi
push esi
mov eax, dword [edx + 0x38]
call eax
mov esi, dword [ebp - 0x18]
lea eax, [ebp - 0x14]
mov edi, dword [ebp - 0x20]
add esi, 0xfffffffc
push 0
push eax
push eax
push dword [ebp - 0x38]
push 2
push edi
push esi
call fcn.1018cad0
mov ecx, dword [0x10310830]
push 0xff
push 0x1a
push 0x18
mov eax, dword [ecx]
push 0x11
mov eax, dword [eax + 0x2c]
call eax
movd xmm0, dword [ebp - 0x38]
movss xmm1, dword [0x10237798]
subss xmm1, dword [ebp - 0x1c]
mov ecx, dword [0x10310830]
cvtdq2ps xmm0, xmm0
mov edx, dword [ecx]
mulss xmm1, xmm0
cvttss2si eax, xmm1
add eax, edi
push eax
lea eax, [esi + 2]
push eax
mov eax, dword [edx + 0x30]
push edi
push esi
call eax
movss xmm2, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x20]
cmp dword [0x10317b78], 2
jne 0x100c50f4
cmp byte [0x10318848], 0
mov eax, 0xa
mov ecx, 6
mov dword [ebp - 0x3c], 4
cmovne ecx, eax
mov eax, dword [ebp - 0x58]
cmp eax, edx
jle 0x100c50a4
sub eax, edx
push eax
push 0x1021b058
lea eax, [ebp - 0x3c]
push eax
push 0x10311a60
jmp 0x100c50b3
push eax
push 0x10219138
lea eax, [ebp - 0x3c]
push eax
push 0x102490cc
mov edx, dword [ebp - 0x38]
movd xmm0, edx
lea eax, [edx + esi]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
subss xmm1, xmm0
subss xmm1, dword [0x102378b0]
cvttss2si eax, xmm1
push eax
mov eax, dword [ebp - 0x18]
sub eax, ecx
push eax
push 0x1024d0b0
push 0x1024d0b0
call fcn.1018c510
add esp, 0x20
inc dword [ebp - 0x18]
cmp byte [0x10318848], 0
je 0x100c51ac
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.100ccf20
mov ecx, 0x10310a70
mov dword [ebp - 0x3c], 0x41b00000
push ecx
push 0x10311bf8
mov eax, dword [eax]
push 0x10311af8
push 0x10311af4
push ecx
movd xmm0, dword [eax + 0xc]
lea eax, [ebp - 0x3c]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x10237900]
comiss xmm0, dword [0x10237900]
movss dword [0x10310a70], xmm0
cmovbe eax, ecx
mov ecx, dword [ebp - 0x38]
movss xmm0, dword [eax]
maxss xmm0, dword [0x10237650]
mov eax, dword [ebp - 0x20]
add eax, ecx
movss dword [esp], xmm0
movss dword [0x10310a70], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push ecx
push ecx
cvttss2si eax, xmm0
push eax
mov eax, dword [ebp - 0x18]
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x10237820]
subss xmm0, dword [0x102378d4]
cvttss2si eax, xmm0
push eax
call fcn.1018cb80
add edi, 4
mov dword [ebp - 0x44], edi
cmp edi, dword [ebp - 0x70]
jne 0x100c2ea0
mov ecx, dword [0x10310830]
push ecx
mov dword [esp], 0x3f800000
mov eax, dword [ecx]
mov eax, dword [eax + 0x1b0]
call eax
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 4