Function at 0x100caea6
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 0x1019d5f0
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x218
cmp byte [0x1031ddd4], 0
push esi
push edi
je 0x100cba50
cmp byte [0x1031e308], 0
je 0x100cba50
mov eax, dword [0x1025321c]
mov dword [ebp - 0x8c], eax
test eax, eax
je 0x100cba50
lea eax, [ebp - 0x90]
mov dword [ebp - 0x90], 0
push eax
mov ecx, 0x10253230
call fcn.10194570
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x70], eax
cmp edi, eax
je 0x100cba38
nop
mov ecx, dword [edi]
call fcn.10078d00
test al, al
jne 0x100cba29
mov ecx, dword [edi]
push 0x4d
call fcn.10086220
test al, al
jne 0x100cba29
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.10076060
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 [0x1031e230]
test al, al
movss xmm1, dword [ebp - 0x58]
cmovne ecx, dword [0x1031e278]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jae 0x100cba29
cmp byte [0x1031e29c], 0
je 0x100c9895
mov ecx, dword [edi]
movss xmm0, dword [0x1031def4]
add ecx, 8
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov esi, dword [0x1031e230]
test al, al
mov ecx, dword [edi]
cmovne esi, dword [0x1031e278]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x1031e230]
test al, al
movss xmm0, dword [ebp - 0x58]
cmovne ecx, dword [0x1031e278]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
subss xmm2, dword [0x1023d330]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100c9844
comiss xmm0, xmm1
jb 0x100c983d
xorps xmm1, xmm1
jmp 0x100c989d
movss xmm1, dword [ebp - 0x18]
jmp 0x100c989d
subss xmm0, xmm2
mov dword [ebp - 0x5c], 0x3f800000
subss xmm1, xmm2
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x28]
lea ecx, [ebp - 0x14]
divss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm0
movss xmm1, dword [ebp - 0x18]
movss dword [ebp - 0x28], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x5c]
comiss xmm0, dword [0x1023d120]
xorps xmm0, xmm0
subss xmm0, xmm1
cmovbe eax, ecx
mulss xmm0, dword [eax]
addss xmm1, xmm0
jmp 0x100c989d
movss xmm1, dword [0x1031def4]
mov ecx, dword [0x10316830]
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 0x100c99b9
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 [0x10255374]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x10316a58]
cmp ecx, dword [esi + 4]
jle 0x100c993d
push 0x10316a58
call fcn.101987e8
add esp, 4
cmp dword [0x10316a58], 0xffffffff
jne 0x100c993d
push str.m_iHealth
push str.baseclass
push str.DT_TFPlayerResource
mov dword [ebp - 4], 0
call fcn.1007c680
push 0x10316a58
mov dword [0x10316a5c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10316a5c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [edi]
mov dword [ebp - 0x28], eax
mov eax, dword [0x10316a48]
cmp eax, dword [esi + 4]
jle 0x100c99ab
push 0x10316a48
call fcn.101987e8
add esp, 4
cmp dword [0x10316a48], 0xffffffff
jne 0x100c99ab
mov edx, str.m_iHealth
mov dword [ebp - 4], 1
mov ecx, str.CBasePlayer
call fcn.10078be0
push 0x10316a48
mov dword [0x10316a60], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316a60]
mov edx, dword [ebp - 0x28]
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 [0x102556bc]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x64], eax
je 0x100c9e0c
mov eax, dword [0x1031db4c]
sub eax, 1
je 0x100c9adc
sub eax, 1
jne 0x100c9aed
mov ecx, dword [edi]
push 4
call fcn.10086220
test al, al
je 0x100c9aed
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10255374]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9a6c
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9a6c
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 2
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10316914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9acc
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9acc
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 3
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316914]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
jmp 0x100c9ae7
mov ecx, dword [edi]
push 4
call fcn.10086220
test al, al
jne 0x100cba29
test byte [0x1031dbdc], 1
je 0x100c9c0a
mov esi, dword [ebp - 0x64]
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 + 0x10253220]
and ecx, dword [esi*8 + 0x10253224]
or edx, ecx
je 0x100c9c0a
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10255374]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9b96
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9b96
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 4
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10316914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9bf6
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9bf6
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 5
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316914]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
je 0x100cba29
test byte [0x1031dbdc], 2
je 0x100c9d23
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10255374]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9c7d
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9c7d
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 6
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10316914]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9cdd
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9cdd
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 7
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316914]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
jne 0x100c9d23
mov esi, dword [ebp - 0x64]
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 + 0x10253220]
and ecx, dword [esi*8 + 0x10253224]
or edx, ecx
je 0x100cba29
test byte [0x1031dbdc], 4
je 0x100c9e19
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10255374]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9d96
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9d96
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 8
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10316914]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10316918]
cmp eax, dword [esi + 4]
jle 0x100c9df6
push 0x10316918
call fcn.101987e8
add esp, 4
cmp dword [0x10316918], 0xffffffff
jne 0x100c9df6
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 9
call fcn.1007c590
push 0x10316918
mov dword [0x10316914], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316914]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
jne 0x100cba29
jmp 0x100c9e19
cmp byte [0x1031dcfc], 0
je 0x100cba29
mov dl, byte [0x1031e1c4]
mov ecx, dword [edi]
call fcn.100c8640
cmp byte [0x1031dcd8], 0
mov dword [ebp - 0x24], eax
je 0x100c9edc
mov ecx, dword [edi]
movss xmm0, dword [0x1031ddf8]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x10316a68]
mov edi, eax
mov esi, dword [ebp - 0x64]
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
mov ecx, dword [0x102556bc]
mov dword [ebp - 0x28], eax
mov edx, dword [ecx]
mov edx, dword [edx + 0x38]
mov dword [ebp - 0x14], edx
call dword [ebp - 0x14]
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
fadd dword [0x1023d0c4]
mov byte [ecx + 0x14], al
mov al, byte [ebp - 0x23]
movss xmm0, dword [ebp - 0x18]
mov byte [ecx + 0x15], al
mov al, byte [ebp - 0x22]
movss dword [ecx + 0x10], xmm0
xorps xmm0, xmm0
fstp dword [ecx + 0x18]
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 [0x1023d2bc]
mov edi, dword [ebp - 0x44]
movss dword [ecx + 4], xmm2
movss dword [ecx + 8], xmm1
movss dword [ecx + 0xc], xmm0
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x224]
mov dword [ebp - 0x20], 0
mov ecx, 8
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x34], 0
mov dword [eax + 4], 0
lea eax, [eax + 0xc]
mov dword [eax - 0xc], 0
mov dword [eax - 0x10], 0
sub ecx, 1
jne 0x100c9f03
mov ecx, dword [edi]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x228]
call fcn.100c8a20
add esp, 0x10
test al, al
je 0x100cba29
mov eax, dword [0x10255374]
mov ecx, dword fs:[0x2c]
mov esi, dword [edi]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x10316850]
cmp eax, dword [ecx + 4]
jle 0x100c9fab
push 0x10316850
call fcn.101987e8
add esp, 4
cmp dword [0x10316850], 0xffffffff
jne 0x100c9fab
push str.m_iHealth
push str.DT_BasePlayer
mov dword [ebp - 4], 0xa
call fcn.1007c590
push 0x10316850
mov dword [0x10316874], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316874]
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 - 0x60], eax
mov ecx, esi
mov dword [ebp - 0x2c], 0
cmovl ecx, eax
xor esi, esi
test ecx, ecx
cmovg esi, ecx
sub eax, esi
imul eax, eax, 0x1fe
cdq
idiv dword [ebp - 0x60]
mov ecx, eax
mov eax, 0xc8
cmp ecx, 0xc8
cmovg ecx, eax
imul eax, esi, 0x1fe
cdq
idiv dword [ebp - 0x60]
mov edx, 0xc8
cmp eax, 0xc8
cmovg eax, edx
mov edx, dword [0x10255374]
movzx esi, al
or esi, 0xffff0000
movzx eax, cl
shl esi, 8
or esi, eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
add eax, 3
mov dword [ebp - 0x50], eax
mov eax, dword [edi]
mov edi, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x103166f4]
mov dword [ebp - 0x48], esi
mov ecx, dword [edi + edx*4]
mov edi, dword [ebp - 0x44]
cmp eax, dword [ecx + 4]
jle 0x100ca0a2
push 0x103166f4
call fcn.101987e8
add esp, 4
cmp dword [0x103166f4], 0xffffffff
jne 0x100ca0a2
push str.m_iClass
push str.m_PlayerClass
push str.DT_TFPlayer
mov dword [ebp - 4], 0xb
call fcn.1007c680
push 0x103166f4
mov dword [0x10316704], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
cmp dword [0x1031ded0], 2
mov eax, dword [0x10316704]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x54], eax
jne 0x100ca0ce
cmp eax, 5
jne 0x100ca0ce
push ecx
mov ecx, dword [edi]
call fcn.100c8350
test eax, eax
je 0x100ca0ce
add dword [ebp - 0x50], 5
mov eax, dword [0x1031ddb0]
test eax, eax
je 0x100ca2af
movaps xmm0, xmmword [0x1023d580]
lea ecx, [ebp - 0xa8]
cmp eax, 1
lea eax, [ebp - 0x98]
push ecx
cmove esi, dword [0x10317cec]
push eax
push ecx
lea ecx, [ebp - 0x104]
movups xmmword [ebp - 0xa8], xmm0
call fcn.100d3660
mov dword [ebp - 4], 0xc
lea edx, [ebp - 0x104]
mov ecx, dword [edi]
push esi
call fcn.100d32c0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x104]
call fcn.10075f50
movaps xmm0, xmmword [0x1023d590]
lea ecx, [ebp - 0xa8]
push ecx
lea eax, [ebp - 0x98]
push eax
push ecx
lea ecx, [ebp - 0x110]
movups xmmword [ebp - 0xa8], xmm0
call fcn.100d3660
mov dword [ebp - 4], 0xd
lea edx, [ebp - 0x110]
mov ecx, dword [edi]
push esi
call fcn.100d32c0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x110]
call fcn.10075f50
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], 0
push ecx
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xb8], 4
push eax
push ecx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0xb4], 1
call fcn.100d3660
mov dword [ebp - 4], 0xe
lea edx, [ebp - 0x11c]
mov ecx, dword [edi]
push esi
call fcn.100d32c0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x11c]
call fcn.10075f50
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], 0xe
push ecx
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xc4], 0xd
push eax
push ecx
lea ecx, [ebp - 0x128]
mov dword [ebp - 0xc0], 1
call fcn.100d3660
mov dword [ebp - 4], 0xf
lea edx, [ebp - 0x128]
mov ecx, dword [edi]
push esi
call fcn.100d32c0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
call fcn.10075f50
mov dword [ebp - 0xd4], 0x11
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd0], 0x10
push ecx
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xcc], 1
push eax
push ecx
lea ecx, [ebp - 0x134]
call fcn.100d3660
mov dword [ebp - 4], 0x10
lea edx, [ebp - 0x134]
mov ecx, dword [edi]
push esi
call fcn.100d32c0
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x134]
call fcn.10075f50
mov eax, dword [0x1031dd20]
sub eax, 1
je 0x100ca352
sub eax, 1
je 0x100ca2e1
sub eax, 1
jne 0x100ca45d
push dword [ebp - 0x24]
lea ecx, [ebp - 0x228]
call fcn.100d1c50
add esp, 4
jmp 0x100ca45d
mov eax, dword [0x1031e20c]
mov edx, 1
mov ecx, dword [0x1031e32c]
test eax, eax
mov esi, dword [ebp - 0x20]
cmovle eax, edx
test ecx, ecx
mov dword [ebp - 0x28], eax
cmovle ecx, edx
lea edx, [ebp - 0x24]
push edx
push ecx
push eax
push dword [ebp - 0x34]
mov dword [ebp - 0x14], ecx
push dword [ebp - 0x30]
push esi
push dword [ebp - 0x1c]
call fcn.10192c90
cmp byte [0x1031e254], 0
je 0x100ca45d
mov eax, dword [ebp - 0x34]
push 0x10317bf0
push dword [ebp - 0x14]
add eax, 2
push dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x30]
add eax, 2
push eax
lea eax, [esi - 1]
push eax
mov eax, dword [ebp - 0x1c]
dec eax
push eax
call fcn.10192c90
jmp 0x100ca45d
movzx eax, byte [ebp - 0x21]
mov ecx, dword [0x10316830]
movzx edi, byte [ebp - 0x22]
movzx esi, byte [ebp - 0x23]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
movzx edx, al
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10316830]
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x34]
inc eax
add eax, esi
push eax
push dword [ebp - 0x28]
push esi
push edi
call edx
cmp byte [0x1031e254], 0
je 0x100ca45a
movzx eax, byte [0x10317bf3]
mov ecx, dword [0x10316830]
movzx edi, byte [0x10317bf2]
movzx esi, byte [0x10317bf1]
movzx edx, byte [0x10317bf0]
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 [0x10316830]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
dec edi
dec esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x34]
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 [0x10317bf3]
mov ecx, dword [0x10316830]
movzx edi, byte [0x10317bf2]
movzx esi, byte [0x10317bf1]
movzx edx, byte [0x10317bf0]
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 [0x10316830]
mov edi, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
inc edi
inc esi
mov eax, dword [ecx]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp - 0x34]
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 [0x1031dcb4], 0
je 0x100ca769
movd xmm0, dword [0x1025569c]
mov ecx, dword [0x10316a6c]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
movss dword [ebp - 0x5c], xmm0
movd xmm0, dword [0x10255698]
mov eax, dword [eax + 0x7c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
call eax
test eax, eax
je 0x100ca5d9
mov ecx, dword [ebx + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
movss xmm5, dword [eax + 4]
movss xmm4, dword [eax]
movaps xmm0, xmm5
mulss xmm0, dword [0x10316e8c]
movaps xmm1, xmm4
mulss xmm1, dword [0x10316e88]
movss xmm6, dword [eax + 8]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [0x10316e90]
addss xmm1, xmm0
addss xmm1, dword [0x10316e94]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x1023d0f8]
jbe 0x100ca5d9
movss xmm3, dword [0x1023d120]
movaps xmm0, xmm5
mulss xmm0, dword [0x10316e5c]
xorps xmm2, xmm2
mov eax, dword [0x10255694]
divss xmm3, xmm1
mov ecx, dword [0x10255698]
movaps xmm1, xmm4
movsd xmm7, qword [0x1023d170]
mulss xmm1, dword [0x10316e58]
mulss xmm4, dword [0x10316e68]
addss xmm1, xmm0
mulss xmm5, dword [0x10316e6c]
movaps xmm0, xmm6
mulss xmm6, dword [0x10316e70]
mulss xmm0, dword [0x10316e60]
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 [0x10316e64]
addss xmm4, dword [0x10316e74]
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 - 0x5c], 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 - 0x18], xmm0
mov ecx, dword [edi]
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
movss xmm6, dword [eax + 4]
movss xmm5, dword [eax]
movaps xmm0, xmm6
mulss xmm0, dword [0x10316e8c]
movaps xmm1, xmm5
mulss xmm1, dword [0x10316e88]
movss xmm7, dword [eax + 8]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x10316e90]
addss xmm1, xmm0
addss xmm1, dword [0x10316e94]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x1023d0f8]
jbe 0x100ca769
movss xmm4, dword [0x1023d120]
movaps xmm0, xmm6
mulss xmm0, dword [0x10316e5c]
mov eax, dword [0x10255694]
divss xmm4, xmm1
mov ecx, dword [0x10255698]
movzx edi, byte [ebp - 0x22]
movzx esi, byte [ebp - 0x23]
movaps xmm1, xmm5
mulss xmm6, dword [0x10316e6c]
mulss xmm1, dword [0x10316e58]
mulss xmm5, dword [0x10316e68]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x10316e60]
mulss xmm7, dword [0x10316e70]
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 [0x10316e64]
addss xmm5, dword [0x10316e74]
mulss xmm1, xmm4
cvtps2pd xmm1, xmm1
mulss xmm5, xmm4
mulsd xmm1, qword [0x1023d170]
mulsd xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addsd xmm1, qword [0x1023d170]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
addsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [0x10316830]
cvtpd2ps xmm3, xmm1
cvtps2pd xmm1, xmm5
mulsd xmm1, qword [0x1023d170]
mulsd xmm1, xmm0
addsd xmm1, qword [0x1023d170]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
cvttss2si eax, xmm0
mov dword [ebp - 0x28], eax
cvttss2si eax, xmm3
mov dword [ebp - 0x40], eax
movzx eax, byte [ebp - 0x21]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
movzx edx, al
mov eax, dword [ecx]
push edi
push esi
push edx
mov eax, dword [eax + 0x2c]
call eax
cvttss2si edx, dword [ebp - 0x18]
mov ecx, dword [0x10316830]
mov eax, dword [ecx]
push dword [ebp - 0x28]
mov eax, dword [eax + 0x3c]
push dword [ebp - 0x40]
push edx
cvttss2si edx, dword [ebp - 0x5c]
push edx
call eax
cmp dword [0x1031db70], 1
mov edi, dword [ebp - 0x20]
jne 0x100ca7b9
mov ecx, dword [ebp - 0x60]
lea edx, [ebp - 0x48]
mov esi, dword [ebp - 0x58]
mov eax, 0x10317a58
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 - 0x50]
push 0x102530e0
push 0x102530e0
call fcn.10192790
mov eax, dword [0x102530e8]
add esp, 0x24
mov dword [ebp - 0x2c], eax
cmp byte [0x1031baac], 0
mov esi, dword [ebp - 0x44]
je 0x100ca8cb
mov eax, dword [esi]
mov esi, dword fs:[0x2c]
mov edx, dword [0x10255374]
mov dword [ebp - 0x14], eax
mov eax, dword [0x10316a90]
mov dword [ebp - 0x7c], 0
mov ecx, dword [esi + edx*4]
mov esi, dword [ebp - 0x44]
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
cmp eax, dword [ecx + 4]
jle 0x100ca854
push 0x10316a90
call fcn.101987e8
add esp, 4
cmp dword [0x10316a90], 0xffffffff
jne 0x100ca854
mov dword [ebp - 4], 0x11
mov eax, dword [0x10252fec]
test eax, eax
jne 0x100ca83b
mov ecx, 0x10252fec
call fcn.10195870
mov eax, dword [0x10252fec]
push 0x10316a90
mov dword [0x10316a4c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x84]
push eax
call dword [0x10316a4c]
movss xmm1, dword [ebp - 0x84]
movss xmm0, dword [ebp - 0x80]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x7c]
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10076060
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 0x1024f0cc
push eax
push dword [ebp - 0x50]
push 0x102530e0
push 0x102530e0
call fcn.10192790
add esp, 0x24
cmp dword [0x1031ded0], 0
je 0x100cabc5
cmp dword [ebp - 0x54], 5
jne 0x100cabc5
push ecx
mov ecx, dword [esi]
call fcn.100c8350
mov esi, eax
mov dword [ebp - 0x18], esi
test esi, esi
je 0x100cabc5
mov ecx, dword [0x1031ded0]
lea eax, [esi + 0xc6c]
mov dword [ebp - 0x28], eax
cmp ecx, 1
jne 0x100ca968
movss xmm0, dword [eax]
lea ecx, [ebp - 0x14]
mulss xmm0, dword [0x1023d2f0]
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 0x10220f90
push ecx
push 0x10317ca4
push eax
push dword [ebp - 0x50]
push 0x102530e0
push 0x102530e0
call fcn.10192790
mov ecx, dword [0x1031ded0]
add esp, 0x24
add esi, dword [0x102530e8]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], esi
mov esi, dword [ebp - 0x18]
cmp ecx, 2
jne 0x100cabc5
movss xmm0, dword [eax]
ucomiss xmm0, dword [0x1023cfdc]
lahf
test ah, 0x44
jnp 0x100cabc5
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x10255374]
inc ecx
add dword [ebp - 0x1c], ecx
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x102557b8]
mov dword [ebp - 0x18], edx
cmp ecx, dword [edx + 4]
jle 0x100caa07
push 0x102557b8
call fcn.101987e8
mov ecx, dword [0x102557b8]
add esp, 4
cmp ecx, 0xffffffff
jne 0x100caa04
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0x12
call fcn.100892f0
push 0x102557b8
mov dword [0x103166f8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
mov ecx, dword [0x102557b8]
add esp, 4
mov edx, dword [ebp - 0x18]
mov eax, dword [0x103166f8]
cmp dword [esi + eax], 0x3e6
jne 0x100caa1f
movss xmm1, dword [0x1023d35c]
jmp 0x100caa27
movss xmm1, dword [0x1023d2f0]
mulss xmm1, dword [esi + 0xc6c]
movss dword [ebp - 0x18], xmm1
cmp ecx, dword [edx + 4]
jle 0x100caa90
push 0x102557b8
call fcn.101987e8
add esp, 4
cmp dword [0x102557b8], 0xffffffff
jne 0x100caa8b
push str.m_iItemDefinitionIndex
push str.m_Item
push str.m_AttributeManager
push str.DT_EconEntity
mov dword [ebp - 4], 0x13
call fcn.100892f0
push 0x102557b8
mov dword [0x103166f8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
movss xmm1, dword [ebp - 0x18]
mov eax, dword [0x103166f8]
cmp dword [esi + eax], 0x3e6
jne 0x100caaa8
movss xmm2, dword [0x1023d35c]
jmp 0x100caab0
movss xmm2, dword [0x1023d2f0]
xor eax, eax
mov ecx, dword [0x10316830]
movaps xmm0, xmm2
mov esi, dword [ebp - 0x1c]
minss xmm0, xmm1
comiss xmm2, xmm0
divss xmm0, xmm2
seta al
add esi, 2
inc eax
add eax, dword [ebp - 0x34]
movd xmm1, eax
add eax, edi
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm0
movd xmm0, eax
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
mov edx, dword [eax + 0x2c]
movzx eax, byte [0x10317ca7]
push eax
movzx eax, byte [0x10317ca6]
subss xmm0, xmm1
push eax
movzx eax, byte [0x10317ca5]
push eax
movzx eax, byte [0x10317ca4]
push eax
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
cvttss2si edi, xmm0
call edx
mov ecx, dword [0x10316830]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
cvttss2si eax, dword [ebp - 0x18]
add eax, edi
push eax
lea eax, [esi + 2]
push eax
push edi
push esi
call edx
cmp byte [0x1031e254], 0
je 0x100cabb3
movss xmm0, dword [ebp - 0x14]
subss xmm0, dword [0x1023d120]
mov ecx, dword [0x10316830]
movzx esi, byte [0x10317bf2]
movzx edi, byte [0x10317bf0]
cvttss2si eax, xmm0
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
movzx eax, byte [0x10317bf3]
push eax
movzx eax, byte [0x10317bf1]
push esi
push eax
push edi
call edx
mov ecx, dword [0x10316830]
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x1023d1a8]
mov esi, dword [ebp - 0x1c]
mov eax, dword [ecx]
inc esi
mov edi, dword [ebp - 0x14]
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 - 0x1c]
sub eax, edi
add esi, eax
mov dword [ebp - 0x1c], esi
jmp 0x100cabcb
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x30]
push 0x84
lea eax, [ebp - 0x1c8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x102556bc]
lea edx, [ebp - 0x1c8]
add esp, 0xc
mov eax, dword [ecx]
push edx
push dword [ebp - 0x64]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x100caf54
mov eax, edi
cdq
sub eax, edx
mov edi, eax
sar edi, 1
add edi, esi
cmp byte [0x1031deac], 0
mov dword [ebp - 0x3c], edi
je 0x100cae7c
mov eax, dword [0x102530fc]
cdq
and edx, 3
lea esi, [edx + eax]
sar esi, 2
add esi, dword [0x102530fc]
cmp byte [0x1031dbb8], 0
mov dword [ebp - 0x48], esi
je 0x100cad7e
lea eax, [ebp - 0x1c8]
mov ecx, eax
mov dword [ebp - 0xdc], eax
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cac51
sub ecx, edx
lea edx, [ebp - 0xdc]
mov dword [ebp - 0xd8], ecx
lea ecx, [ebp - 0xb0]
call fcn.100c8400
mov edx, eax
mov dword [ebp - 4], 0x14
cmp dword [edx + 0x14], 7
jbe 0x100cac82
mov edx, dword [edx]
mov ecx, dword [0x10316830]
lea edi, [ebp - 0x94]
push edi
lea edi, [ebp - 0x6c]
push edi
mov eax, dword [ecx]
push edx
push dword [0x102530f4]
mov eax, dword [eax + 0x12c]
call eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 4], 0xffffffff
call fcn.10074410
mov eax, dword [ebp - 0x94]
mov edi, dword [ebp - 0x6c]
mov ecx, dword [0x10316830]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
sub eax, esi
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x40], 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 [0x10316830]
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x40]
add ecx, 2
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [0x10316830]
push eax
lea eax, [edi + 0xa]
mov edi, dword [ebp - 0x40]
add eax, esi
push eax
push edi
push esi
call edx
mov ecx, dword [ebp - 0x6c]
mov eax, ecx
movzx edi, byte [ebp - 0x22]
movzx esi, byte [ebp - 0x23]
cdq
sub eax, edx
mov dword [ebp - 0x28], ecx
mov ecx, dword [ebp - 0x3c]
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x24]
sub ecx, 5
movzx edx, al
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x10316830]
push 0xb4
push edi
push esi
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x10316830]
mov edi, dword [ebp - 0x40]
mov esi, dword [ebp - 0x14]
push edi
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
mov eax, dword [ebp - 0x28]
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 - 0x3c]
lea ecx, [ebp - 0x1c8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100cad87
sub ecx, edx
lea eax, [ebp - 0x1c8]
cmp byte [0x1031dd68], 0
je 0x100cae0e
mov dword [ebp - 0xe0], ecx
lea edx, [ebp - 0xe4]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xe4], eax
call fcn.100c8400
mov ecx, eax
mov dword [ebp - 4], 0x15
cmp dword [ecx + 0x14], 7
jbe 0x100cadcd
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 0x1031dd8c
push eax
push edi
push 0x102530f4
push 0x102530e0
call fcn.10192790
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.10074410
jmp 0x100cae7f
mov dword [ebp - 0xe8], ecx
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xec], eax
call fcn.100c8400
mov ecx, eax
mov dword [ebp - 4], 0x16
cmp dword [ecx + 0x14], 7
jbe 0x100cae3c
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 - 0x24]
push ecx
push eax
push edi
push 0x102530f4
push 0x102530e0
call fcn.10192790
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb0]
call fcn.10074410
jmp 0x100cae7f
mov esi, dword [ebp - 0x20]
cmp byte [0x1031de1c], 0
je case.0x100cae9f.386
lea eax, [ebp - 0x180]
push eax
call fcn.1008bc90
mov eax, dword [eax]
cmp eax, 4
ja case.0x100cae9f.386
jmp dword [eax*4 + 0x100cba68]
push str.FRIEND
lea eax, [ebp - 0x14]
push eax
push 0x10317aa4
mov edi, dword [ebp - 0x2c]
mov eax, esi
sub eax, edi
mov dword [ebp - 0x14], 3
push eax
push dword [ebp - 0x3c]
push 0x102530e0
push 0x102530e0
call fcn.10192560
add esp, 0x1c
add edi, dword [0x102530e8]
mov dword [ebp - 0x2c], edi
jmp 0x100caf0d
push str.IGNORED
jmp 0x100caeab
push str.RAGE
lea eax, [ebp - 0x14]
push eax
push 0x10317ba4
jmp 0x100caeb4
push str.CHEATER
lea eax, [ebp - 0x14]
push eax
push 0x10317a34
jmp 0x100caeb4
mov edi, dword [ebp - 0x2c]
cmp byte [0x1031de40], 0
je 0x100caf54
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x14], 0
push eax
push 0x10220d68
lea eax, [ebp - 0x14]
push eax
push 0x1024f0cc
lea eax, [edi + esi]
push eax
push dword [ebp - 0x50]
push 0x102530e0
push 0x102530e0
call fcn.10192560
add esp, 0x20
add edi, dword [0x102530e8]
mov dword [ebp - 0x2c], edi
mov eax, dword [0x1031dc24]
test eax, eax
je 0x100cb04a
cmp eax, 1
je 0x100caf6f
cmp eax, 3
jne 0x100cafee
cmp byte [0x1031deac], 0
je 0x100cafa8
movd xmm1, dword [0x102530fc]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x1023d0a8]
addss xmm0, xmm1
cvttss2si ecx, xmm0
test ecx, ecx
je 0x100cafaa
cmp byte [0x1031dbb8], 0
je 0x100cafaa
add ecx, 2
jmp 0x100cafaa
xor ecx, ecx
cmp byte [0x1031de1c], 0
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x20]
je 0x100caff4
push edi
push 0x1024f0cc
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 0x100cafd7
add eax, 1
sar eax, 1
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff7
add eax, ecx
push eax
call fcn.10192ec0
mov eax, dword [0x1031dc24]
jmp 0x100caff4
mov esi, dword [ebp - 0x20]
mov edi, dword [ebp - 0x54]
cmp eax, 2
jl 0x100cb04a
lea eax, [edi - 1]
cmp eax, 8
ja 0x100cb00a
mov ecx, dword [edi*4 + 0x102216a4]
jmp 0x100cb010
mov ecx, dword [str.unknown]
mov edi, dword [ebp - 0x2c]
push ecx
push 0x1022104c
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
lea ecx, [ebp - 0x24]
push ecx
lea eax, [edi + esi]
push eax
push dword [ebp - 0x50]
push 0x102530e0
push 0x102530e0
call fcn.10192790
add esp, 0x20
add edi, dword [0x102530e8]
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x44]
mov ecx, dword [edi]
call fcn.10089890
mov dword [ebp - 0x40], eax
test eax, eax
je 0x100cb559
cmp byte [0x1031dc6c], 0
mov dword [ebp - 0x14], 0
je 0x100cb271
mov eax, dword [0x10255374]
mov ecx, dword fs:[0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10320604]
cmp eax, dword [esi + 4]
jle 0x100cb0dd
push 0x10320604
call fcn.101987e8
add esp, 4
cmp dword [0x10320604], 0xffffffff
jne 0x100cb0dd
mov dword [ebp - 4], 0x17
mov eax, dword [0x10253760]
test eax, eax
jne 0x100cb0c4
mov ecx, 0x10253760
call fcn.10195870
mov eax, dword [0x10253760]
push 0x10320604
mov dword [0x10320600], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x103205f8]
cmp eax, dword [esi + 4]
jle 0x100cb138
push 0x103205f8
call fcn.101987e8
add esp, 4
cmp dword [0x103205f8], 0xffffffff
jne 0x100cb138
mov dword [ebp - 4], 0x18
mov eax, dword [0x10253750]
test eax, eax
jne 0x100cb11f
mov ecx, 0x10253750
call fcn.10195870
mov eax, dword [0x10253750]
push 0x103205f8
mov dword [0x10320608], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov eax, dword [eax + 0x528]
call eax
mov ecx, dword fs:[0x2c]
mov esi, eax
mov eax, dword [edi]
mov dword [ebp - 0x28], eax
mov eax, dword [0x10255374]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x103166f4]
cmp ecx, dword [edx + 4]
jle 0x100cb1b3
push 0x103166f4
call fcn.101987e8
add esp, 4
cmp dword [0x103166f4], 0xffffffff
jne 0x100cb1b3
push str.m_iClass
push str.m_PlayerClass
push str.DT_TFPlayer
mov dword [ebp - 4], 0x19
call fcn.1007c680
push 0x103166f4
mov dword [0x10316704], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10198797
add esp, 4
mov eax, dword [0x10316704]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + ecx]
sub eax, 8
je 0x100cb1d9
sub eax, 1
jne 0x100cb1fd
mov eax, esi
sub eax, 3
je 0x100cb1ea
sub eax, 1
jne 0x100cb1fd
lea esi, [eax + 6]
jmp 0x100cb1fd
mov eax, esi
sub eax, 0
je 0x100cb1f8
sub eax, 1
je 0x100cb1f1
sub eax, 2
jne 0x100cb1fd
mov esi, 5
jmp 0x100cb1fd
mov esi, 4
jmp 0x100cb1fd
mov esi, 1
push 0
push esi
push dword [edi]
call dword [0x10320600]
add esp, 0xc
test eax, eax
je 0x100cb276
xor esi, esi
mov ecx, 0xa
cmp byte [0x1031de64], 0
cmovne esi, ecx
mov ecx, eax
call dword [0x10320608]
push eax
push 0x10221048
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push eax
mov eax, dword [ebp - 0x34]
add eax, esi
mov esi, dword [ebp - 0x20]
add eax, esi
push 0x1031785c
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1c]
push eax
push 0x102530e0
push 0x102530e0
call fcn.10192560
mov eax, dword [0x102530e8]
add esp, 0x20
mov dword [ebp - 0x14], eax
jmp 0x100cb279
mov esi, dword [ebp - 0x20]
jmp 0x100cb27c
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x40]
cmp byte [0x1031db94], 0
je 0x100cb559
mov ecx, eax
call fcn.1018d0f0
mov edx, eax
mov dword [ebp - 0x48], edx
test edx, edx
je 0x100cb559
movd xmm3, dword [ebp - 0x30]
xor ecx, ecx
cmp byte [0x1031de64], cl
mov eax, 0xa
cvtdq2ps xmm3, xmm3
cmovne ecx, eax
mov eax, dword [edx + 0xa4]
sub eax, dword [edx + 0xa0]
mov dword [ebp - 0x68], 0x3f400000
mov dword [ebp - 0x98], 0x3f000000
movss xmm7, dword [0x1023d0c4]
movd xmm4, eax
movaps xmm0, xmm3
cvtdq2ps xmm4, xmm4
lea eax, [ebp - 0x98]
mov dword [ebp - 0x18], ecx
movd xmm5, dword [ebp - 0x1c]
divss xmm0, xmm4
movd xmm1, dword [ebp - 0x34]
comiss xmm7, xmm0
movd xmm6, esi
lea esi, [ebp - 0x88]
cvtdq2ps xmm5, xmm5
cmovbe eax, esi
lea esi, [ebp - 0x68]
movss dword [ebp - 0x88], xmm0
comiss xmm0, dword [0x1023d0ec]
movss xmm0, dword [0x1024f0d0]
cvtdq2ps xmm6, xmm6
cmovbe esi, eax
movss dword [ebp - 0x54], xmm5
movss xmm2, dword [esi]
comiss xmm2, xmm0
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x5c], xmm6
movss dword [ebp - 0x3c], xmm3
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x40], xmm4
movss dword [ebp - 0x38], xmm2
ja 0x100cb3c0
movss dword [ebp - 0x28], xmm0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov ecx, dword [0x10316e40]
movss xmm0, dword [ebp - 0x28]
movss xmm1, dword [ebp - 0x24]
movss xmm3, dword [ebp - 0x3c]
movss xmm4, dword [ebp - 0x40]
movss xmm5, dword [ebp - 0x54]
movss xmm6, dword [ebp - 0x5c]
movss xmm7, dword [0x1023d0c4]
mov edx, dword [ebp - 0x48]
cmp eax, ecx
jle 0x100cb3b3
movss xmm2, dword [esi]
inc ecx
comiss xmm0, xmm2
mov dword [0x10316e40], ecx
mov ecx, dword [ebp - 0x18]
jbe 0x100cb3bd
mulss xmm0, dword [0x1023d114]
jmp 0x100cb3c0
movss xmm2, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
jmp 0x100cb3c0
movaps xmm0, xmm2
mov eax, dword [0x1031785c]
addss xmm1, xmm6
movss dword [0x1024f0d0], xmm0
movd xmm0, dword [ebp - 0x14]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x18], eax
shr eax, 8
cmp byte [edx + 0x84], 0
mov dword [ebp - 0x28], eax
addss xmm1, dword [0x1023d120]
mov al, byte [0x1031785e]
mulss xmm3, xmm7
mov byte [ebp - 0x49], al
movzx eax, byte [0x1031785f]
addss xmm1, xmm0
mulss xmm4, xmm7
mov dword [ebp - 0x14], eax
movd xmm0, ecx
addss xmm3, xmm5
cvtdq2ps xmm0, xmm0
mulss xmm4, xmm2
addss xmm1, xmm0
subss xmm3, xmm4
movss dword [ebp - 0x24], xmm1
movss dword [ebp - 0x3c], xmm3
je 0x100cb4a4
mov ecx, dword [0x10316830]
push dword [edx + 0x88]
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
mov ecx, dword [0x10316830]
push dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
movzx eax, byte [ebp - 0x49]
push eax
mov eax, dword [ebp - 0x28]
movzx eax, al
push eax
mov eax, dword [ebp - 0x18]
movzx eax, al
push eax
call edx
mov ecx, dword [0x10316830]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
cvttss2si eax, dword [ebp - 0x24]
push eax
cvttss2si eax, dword [ebp - 0x3c]
push eax
call edx
mov ecx, dword [ebp - 0x48]
push 0
movsx ax, byte [ecx + 0x86]
mov ecx, dword [0x10316830]
movzx edx, ax
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x5c]
call eax
jmp 0x100cb559
mov edx, dword [edx + 0x8c]
cmp edx, 0xffffffff
je 0x100cb559
mov ecx, dword [0x10316830]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
mov ecx, dword [0x10316830]
push dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
movzx eax, byte [ebp - 0x49]
push eax
mov eax, dword [ebp - 0x28]
movzx eax, al
push eax
mov eax, dword [ebp - 0x18]
movzx eax, al
push eax
call edx
mov edx, dword [ebp - 0x48]
sub esp, 0x10
mov ecx, dword [0x10316830]
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 - 0x3c]
cvttss2si edi, xmm0
movd xmm0, eax
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi]
addss xmm0, dword [ebp - 0x24]
cvttss2si esi, xmm0
movups xmm0, xmmword [edx + 0x90]
mov edx, dword [eax + 0x194]
cvttss2si eax, dword [ebp - 0x24]
movups xmmword [esp], xmm0
push esi
push edi
push eax
cvttss2si eax, dword [ebp - 0x3c]
push eax
call edx
mov edi, dword [ebp - 0x44]
cmp byte [0x1031de64], 0
je 0x100cb607
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.10076060
cvtss2sd xmm0, xmm0
push ecx
mulsd xmm0, qword [0x1023d138]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x38], xmm0
fld dword [ebp - 0x38]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0x38]
cvttss2si ecx, dword [ebp - 0x38]
add esp, 4
mov dword [ebp - 0x38], 3
lea eax, [ebp - 0x38]
push ecx
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x20]
push 0x10221038
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
push 0x1024f0cc
push ecx
sar eax, 1
add eax, dword [ebp - 0x1c]
push eax
push 0x102530e0
push 0x102530e0
call fcn.10192790
add esp, 0x20
cmp byte [0x1031dc00], 0
je 0x100cb6a5
push dword [edi]
lea eax, [ebp - 0xf8]
push eax
call fcn.100d0b60
mov dword [ebp - 4], 0x1a
mov eax, dword [ebp - 0xf4]
mov esi, dword [ebp - 0xf8]
mov dword [ebp - 0x68], eax
cmp esi, eax
je 0x100cb693
mov edi, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x38], 0
nop dword [eax]
cmp dword [esi + 0x14], 7
mov ecx, esi
jbe 0x100cb65a
mov ecx, dword [esi]
push ecx
lea ecx, [ebp - 0x38]
add eax, edi
push ecx
push 0x103178a4
push eax
push dword [ebp - 0x50]
push 0x10253108
push 0x102530e0
call fcn.10192790
mov eax, dword [ebp - 0x2c]
add esi, 0x18
add eax, dword [0x10253110]
add esp, 0x1c
mov dword [ebp - 0x2c], eax
cmp esi, dword [ebp - 0x68]
jne 0x100cb650
mov edi, dword [ebp - 0x44]
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], 0xffffffff
call fcn.100d35d0
cmp byte [0x1031de88], 0
je 0x100cb974
mov edx, dword [ebp - 0x58]
mov eax, 0x10317a7c
mov esi, dword [ebp - 0x60]
mov ecx, 0x10317a0c
dec dword [ebp - 0x1c]
movd xmm1, edx
movd xmm0, esi
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
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 0x100cb6ee
mov edx, dword [0x10317a58]
jmp 0x100cb741
cmp esi, edx
mov eax, edx
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 dword [ebp - 0x38], eax
imul eax, ecx, 0x1fe
cdq
idiv esi
mov esi, 0xc8
cmp eax, 0xc8
movzx ecx, al
cmovg ecx, esi
movzx edx, cl
mov ecx, dword [ebp - 0x38]
or edx, 0xffff0000
shl edx, 8
cmp ecx, esi
movzx eax, cl
cmovg eax, esi
movzx eax, al
or edx, eax
mov esi, dword [edi]
mov ecx, esi
push 5
mov dword [ebp - 0x14], edx
call fcn.10086220
test al, al
jne 0x100cb787
push 0x39
mov ecx, esi
call fcn.10086220
test al, al
jne 0x100cb787
push 0x33
mov ecx, esi
call fcn.10086220
test al, al
jne 0x100cb787
push 0x34
mov ecx, esi
call fcn.10086220
test al, al
jne 0x100cb787
push 0xe
mov ecx, esi
call fcn.10086220
test al, al
je 0x100cb792
mov eax, dword [0x10317c5c]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x60]
movd xmm1, dword [ebp - 0x58]
cvtdq2ps xmm1, xmm1
mov eax, dword [0x1031dd44]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm0
minss xmm2, xmm1
divss xmm2, xmm0
movss dword [ebp - 0x18], xmm2
test eax, eax
jne 0x100cb801
mov esi, dword [ebp - 0x20]
cmp byte [0x1031de88], al
je 0x100cb8df
push ecx
push 0x10317bf0
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x78]
push eax
mov eax, dword [ebp - 0x34]
push ecx
movss dword [esp], xmm2
push eax
add eax, esi
push ecx
push eax
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffffc
push eax
call fcn.10192bd0
movss xmm2, dword [ebp - 0x18]
mov edx, dword [ebp - 0x60]
jmp 0x100cb8df
cmp eax, 1
jne 0x100cb8dc
cmp byte [0x1031de88], 0
je 0x100cb8dc
movzx eax, byte [0x10317bf3]
mov ecx, dword [0x10316830]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x20]
add esi, 0xfffffffb
push eax
movzx eax, byte [0x10317bf2]
dec edi
mov edx, dword [ecx]
push eax
movzx eax, byte [0x10317bf1]
push eax
movzx eax, byte [0x10317bf0]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [0x10316830]
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 - 0x1c]
lea eax, [ebp - 0x14]
mov edi, dword [ebp - 0x20]
add esi, 0xfffffffc
push 0
push eax
push eax
push dword [ebp - 0x34]
push 2
push edi
push esi
call fcn.10192b20
mov ecx, dword [0x10316830]
push 0xff
push 0x1a
push 0x18
mov eax, dword [ecx]
push 0x11
mov eax, dword [eax + 0x2c]
call eax
movd xmm0, dword [ebp - 0x34]
movss xmm1, dword [0x1023d120]
subss xmm1, dword [ebp - 0x18]
mov ecx, dword [0x10316830]
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 - 0x18]
mov edi, dword [ebp - 0x44]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x20]
cmp dword [0x1031db70], 2
jne 0x100cb971
cmp byte [0x1031e840], 0
mov eax, 0xa
mov ecx, 6
mov dword [ebp - 0x38], 4
cmovne ecx, eax
mov eax, dword [ebp - 0x58]
cmp eax, edx
jle 0x100cb921
sub eax, edx
push eax
push 0x10221034
lea eax, [ebp - 0x38]
push eax
push 0x10317a58
jmp 0x100cb930
push eax
push 0x1021f1a8
lea eax, [ebp - 0x38]
push eax
push 0x1024f0cc
mov edx, dword [ebp - 0x34]
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 [0x1023d238]
cvttss2si eax, xmm1
push eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
push eax
push 0x102530e0
push 0x102530e0
call fcn.10192560
add esp, 0x20
inc dword [ebp - 0x1c]
cmp byte [0x1031e840], 0
je 0x100cba29
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.100d3720
mov ecx, 0x10316a70
mov dword [ebp - 0x38], 0x41b00000
push ecx
push 0x10317bf0
mov eax, dword [eax]
push 0x10317af0
push 0x10317aec
push ecx
movd xmm0, dword [eax + 0xc]
lea eax, [ebp - 0x38]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x1023d288]
comiss xmm0, dword [0x1023d288]
movss dword [0x10316a70], xmm0
cmovbe eax, ecx
mov ecx, dword [ebp - 0x34]
movss xmm0, dword [eax]
maxss xmm0, dword [0x1023cfdc]
mov eax, dword [ebp - 0x20]
add eax, ecx
movss dword [esp], xmm0
movss dword [0x10316a70], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
push ecx
push ecx
cvttss2si eax, xmm0
push eax
mov eax, dword [ebp - 0x1c]
dec eax
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x1023d1a8]
subss xmm0, dword [0x1023d25c]
cvttss2si eax, xmm0
push eax
call fcn.10192bd0
add edi, 4
mov dword [ebp - 0x44], edi
cmp edi, dword [ebp - 0x70]
jne 0x100c9730
mov ecx, dword [0x10316830]
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