Function at 0x10059700
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 0x1012f688
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x218
cmp byte [0x10289b2c], 0
push esi
push edi
je 0x1005b995
cmp byte [0x10289b05], 0
je 0x1005b995
mov eax, dword [0x101d358c]
mov dword [ebp - 0x90], eax
test eax, eax
je 0x1005b995
lea eax, [ebp - 0x94]
mov dword [ebp - 0x94], 0
push eax
mov ecx, 0x101d35a0
call fcn.10127290
mov edi, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x7c], eax
cmp edi, eax
je 0x1005b97d
nop
mov ecx, dword [edi]
call fcn.10014420
test al, al
jne 0x1005b96e
mov ecx, dword [edi]
call fcn.10021ee0
shr eax, 0xd
test al, 1
jne 0x1005b96e
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.10011780
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 [0x101cf218]
test al, al
movss xmm1, dword [ebp - 0x58]
cmovne ecx, dword [0x101cf21c]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jae 0x1005b96e
cmp byte [0x10289b0e], 0
je 0x100598f6
mov ecx, dword [edi]
movss xmm0, dword [0x101cf230]
add ecx, 8
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov esi, dword [0x101cf218]
test al, al
mov ecx, dword [edi]
cmovne esi, dword [0x101cf21c]
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x20]
call eax
mov ecx, dword [0x101cf218]
test al, al
movss xmm0, dword [ebp - 0x58]
cmovne ecx, dword [0x101cf21c]
movd xmm1, esi
cvtdq2ps xmm1, xmm1
movd xmm2, ecx
cvtdq2ps xmm2, xmm2
subss xmm2, dword [0x101bec24]
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x100598a5
comiss xmm0, xmm1
jb 0x1005989e
xorps xmm1, xmm1
jmp 0x100598fe
movss xmm1, dword [ebp - 0x18]
jmp 0x100598fe
subss xmm0, xmm2
mov dword [ebp - 0x50], 0x3f800000
subss xmm1, xmm2
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x24]
lea ecx, [ebp - 0x14]
divss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm0
movss xmm1, dword [ebp - 0x18]
movss dword [ebp - 0x24], xmm0
cmovbe ecx, eax
lea eax, [ebp - 0x50]
comiss xmm0, dword [0x101bea18]
xorps xmm0, xmm0
subss xmm0, xmm1
cmovbe eax, ecx
mulss xmm0, dword [eax]
addss xmm1, xmm0
jmp 0x100598fe
movss xmm1, dword [0x101cf230]
mov ecx, dword [0x101d602c]
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 0x10059a1a
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 [0x101d5a74]
mov esi, dword [ecx + eax*4]
mov ecx, dword [0x10289b78]
cmp ecx, dword [esi + 4]
jle 0x1005999e
push 0x10289b78
call fcn.1012b230
add esp, 4
cmp dword [0x10289b78], 0xffffffff
jne 0x1005999e
push str.m_iHealth
push str.baseclass
push str.DT_TFPlayerResource
mov dword [ebp - 4], 0
call fcn.10018010
push 0x10289b78
mov dword [0x10289b7c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x10289b7c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0x90]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [edi]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10289b60]
cmp eax, dword [esi + 4]
jle 0x10059a0c
push 0x10289b60
call fcn.1012b230
add esp, 4
cmp dword [0x10289b60], 0xffffffff
jne 0x10059a0c
mov edx, str.m_iHealth
mov dword [ebp - 4], 1
mov ecx, str.CBasePlayer
call fcn.10014300
push 0x10289b60
mov dword [0x10289b80], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x10289b80]
mov 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 [0x101d5dc0]
mov dword [ebp - 0x60], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
cmp dword [ebp - 0x60], eax
je 0x10059d4c
mov eax, dword [0x10289b5c]
sub eax, 1
je 0x10059b3e
sub eax, 1
jne 0x10059b50
mov ecx, dword [edi]
call fcn.10021e40
shr eax, 4
test al, 1
je 0x10059b50
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d5a74]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d60bc]
cmp eax, dword [esi + 4]
jle 0x10059ace
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10059ace
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 2
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x101d60b8]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d60bc]
cmp eax, dword [esi + 4]
jle 0x10059b2e
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10059b2e
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 3
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d60b8]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
jmp 0x10059b4a
mov ecx, dword [edi]
call fcn.10021e40
shr eax, 4
test al, 1
jne 0x1005b96e
mov eax, dword [0x10289b4c]
sub eax, 1
je 0x10059c76
sub eax, 1
jne 0x10059d59
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d5a74]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d60bc]
cmp eax, dword [esi + 4]
jle 0x10059bcd
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10059bcd
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 6
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x101d60b8]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d60bc]
cmp eax, dword [esi + 4]
jle 0x10059c2d
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10059c2d
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 7
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d60b8]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
jne 0x10059d59
mov edx, dword [ebp - 0x60]
xor esi, esi
mov eax, edx
xor ecx, ecx
and eax, 0x3f
bts esi, eax
cmp eax, 0x20
cmovae ecx, esi
xor esi, ecx
cmp eax, 0x40
cmovae ecx, esi
shr edx, 6
and esi, dword [edx*8 + 0x101d3590]
and ecx, dword [edx*8 + 0x101d3594]
or esi, ecx
jmp 0x10059d53
mov eax, dword [edi]
mov ecx, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d5a74]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101d60bc]
cmp eax, dword [esi + 4]
jle 0x10059cdc
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10059cdc
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 4
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x14]
mov eax, dword [0x101d60b8]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d60bc]
cmp eax, dword [esi + 4]
jle 0x10059d3c
push 0x101d60bc
call fcn.1012b230
add esp, 4
cmp dword [0x101d60bc], 0xffffffff
jne 0x10059d3c
push str.m_iTeamNum
push str.DT_BaseEntity
mov dword [ebp - 4], 5
call fcn.10017f20
push 0x101d60bc
mov dword [0x101d60b8], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d60b8]
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [eax + edx]
jmp 0x10059d53
cmp byte [0x10289b38], 0
je 0x1005b96e
mov dl, byte [0x10289b11]
mov ecx, dword [edi]
call fcn.100586b0
cmp byte [0x10289b39], 0
mov dword [ebp - 0x20], eax
je 0x10059e1c
mov ecx, dword [edi]
movss xmm0, dword [0x101cf234]
movss dword [ebp - 0x18], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
call eax
mov ecx, dword [0x10289b88]
mov edi, eax
mov esi, dword [ebp - 0x60]
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
call edx
mov ecx, dword [0x101d5dc0]
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]
mov eax, dword [ebp - 0x20]
fadd dword [0x101be9bc]
mov byte [ecx + 0x14], al
mov al, byte [ebp - 0x1f]
movss xmm0, dword [ebp - 0x18]
mov byte [ecx + 0x15], al
mov al, byte [ebp - 0x1e]
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 [0x101bebac]
mov edi, dword [ebp - 0x3c]
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 - 0x28], 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 0x10059e43
mov ecx, dword [edi]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x18]
push eax
lea edx, [ebp - 0x228]
call fcn.10058a60
add esp, 0x10
test al, al
je 0x1005b96e
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov esi, dword [edi]
mov ecx, dword [ecx + eax*4]
mov eax, dword [0x101d6054]
cmp eax, dword [ecx + 4]
jle 0x10059eeb
push 0x101d6054
call fcn.1012b230
add esp, 4
cmp dword [0x101d6054], 0xffffffff
jne 0x10059eeb
push str.m_iHealth
push str.DT_BasePlayer
mov dword [ebp - 4], 8
call fcn.10017f20
push 0x101d6054
mov dword [0x101d607c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d607c]
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
mov edi, eax
mov ecx, esi
cmp edi, esi
mov dword [ebp - 0x5c], edi
cmovl ecx, edi
xor esi, esi
test ecx, ecx
cmovg esi, ecx
sub eax, esi
imul eax, eax, 0x1fe
cdq
idiv edi
mov ecx, eax
mov eax, 0xc8
cmp ecx, 0xc8
cmovg ecx, eax
imul eax, esi, 0x1fe
cdq
idiv edi
mov edx, 0xc8
cmp eax, 0xc8
cmovg eax, edx
mov edx, dword [0x101d5a74]
movzx esi, al
xor edi, edi
or esi, 0xffff0000
movzx eax, cl
shl esi, 8
or esi, eax
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x18]
mov edi, dword [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x24], eax
add eax, 3
mov dword [ebp - 0x54], eax
mov eax, dword [edi]
mov edi, dword fs:[0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [0x101d5f30]
mov dword [ebp - 0x40], esi
mov ecx, dword [edi + edx*4]
mov edi, dword [ebp - 0x3c]
cmp eax, dword [ecx + 4]
jle 0x10059fe3
push 0x101d5f30
call fcn.1012b230
add esp, 4
cmp dword [0x101d5f30], 0xffffffff
jne 0x10059fe3
push str.m_iClass
push str.m_PlayerClass
push str.DT_TFPlayer
mov dword [ebp - 4], 9
call fcn.10018010
push 0x101d5f30
mov dword [0x101d5f40], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
cmp dword [0x10289b28], 2
mov eax, dword [0x101d5f40]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x4c], eax
jne 0x1005a00f
cmp eax, 5
jne 0x1005a00f
push ecx
mov ecx, dword [edi]
call fcn.100584d0
test eax, eax
je 0x1005a00f
add dword [ebp - 0x54], 5
mov eax, dword [0x10289b34]
test eax, eax
je 0x1005a1f0
movaps xmm0, xmmword [0x101bee20]
lea ecx, [ebp - 0xac]
cmp eax, 1
lea eax, [ebp - 0x9c]
push ecx
cmove esi, dword [0x101cf248]
push eax
push ecx
lea ecx, [ebp - 0x108]
movups xmmword [ebp - 0xac], xmm0
call fcn.10061b30
mov dword [ebp - 4], 0xa
lea edx, [ebp - 0x108]
mov ecx, dword [edi]
push esi
call fcn.10061790
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x108]
call fcn.10010970
movaps xmm0, xmmword [0x101bee30]
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.10061b30
mov dword [ebp - 4], 0xb
lea edx, [ebp - 0x114]
mov ecx, dword [edi]
push esi
call fcn.10061790
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x114]
call fcn.10010970
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.10061b30
mov dword [ebp - 4], 0xc
lea edx, [ebp - 0x120]
mov ecx, dword [edi]
push esi
call fcn.10061790
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x120]
call fcn.10010970
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.10061b30
mov dword [ebp - 4], 0xd
lea edx, [ebp - 0x12c]
mov ecx, dword [edi]
push esi
call fcn.10061790
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x12c]
call fcn.10010970
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.10061b30
mov dword [ebp - 4], 0xe
lea edx, [ebp - 0x138]
mov ecx, dword [edi]
push esi
call fcn.10061790
add esp, 4
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x138]
call fcn.10010970
mov eax, dword [0x10289b40]
sub eax, 1
je 0x1005a26d
sub eax, 1
je 0x1005a21e
sub eax, 1
jne 0x1005a378
push dword [ebp - 0x20]
lea ecx, [ebp - 0x228]
call fcn.10060120
add esp, 4
jmp 0x1005a378
mov esi, dword [ebp - 0x28]
lea eax, [ebp - 0x20]
push eax
sub esp, 8
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push esi
push dword [ebp - 0x1c]
call fcn.10125a00
cmp byte [0x10289b0d], 0
je 0x1005a378
mov eax, dword [ebp - 0x34]
push 0x101cf26c
sub esp, 8
add eax, 2
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.10125a00
jmp 0x1005a378
mov ecx, dword [0x101d602c]
movzx eax, byte [ebp - 0x1d]
movzx edi, byte [ebp - 0x1e]
movzx edx, byte [ebp - 0x1f]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push dword [ebp - 0x14]
push edi
mov esi, dword [eax + 0x2c]
mov eax, dword [ebp - 0x20]
push edx
movzx eax, al
push eax
call esi
mov ecx, dword [0x101d602c]
mov esi, dword [ebp - 0x28]
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 - 0x24]
push esi
push edi
call edx
cmp byte [0x10289b0d], 0
je 0x1005a375
movzx eax, byte [0x101cf26f]
mov ecx, dword [0x101d602c]
movzx edi, byte [0x101cf26e]
movzx esi, byte [0x101cf26d]
movzx edx, byte [0x101cf26c]
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 [0x101d602c]
mov edi, dword [ebp - 0x28]
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 [0x101cf26f]
mov ecx, dword [0x101d602c]
movzx edi, byte [0x101cf26e]
movzx esi, byte [0x101cf26d]
movzx edx, byte [0x101cf26c]
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 [0x101d602c]
mov edi, dword [ebp - 0x28]
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 - 0x3c]
cmp byte [0x10289b50], 0
je 0x1005a684
movd xmm0, dword [0x101d5da0]
mov ecx, dword [0x10289b90]
cvtdq2ps xmm0, xmm0
mov eax, dword [ecx]
movss dword [ebp - 0x50], xmm0
movd xmm0, dword [0x101d5d9c]
mov eax, dword [eax + 0x7c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
call eax
test eax, eax
je 0x1005a4f4
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 [0x1028a124]
movaps xmm1, xmm4
mulss xmm1, dword [0x1028a120]
movss xmm6, dword [eax + 8]
addss xmm1, xmm0
movaps xmm0, xmm6
mulss xmm0, dword [0x1028a128]
addss xmm1, xmm0
addss xmm1, dword [0x1028a12c]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x101be9f0]
jbe 0x1005a4f4
movss xmm3, dword [0x101bea18]
movaps xmm0, xmm5
mulss xmm0, dword [0x1028a0f4]
xorps xmm2, xmm2
mov eax, dword [0x101d5d98]
divss xmm3, xmm1
mov ecx, dword [0x101d5d9c]
movaps xmm1, xmm4
movsd xmm7, qword [0x101bea68]
mulss xmm1, dword [0x1028a0f0]
mulss xmm4, dword [0x1028a100]
addss xmm1, xmm0
mulss xmm5, dword [0x1028a104]
movaps xmm0, xmm6
mulss xmm6, dword [0x1028a108]
mulss xmm0, dword [0x1028a0f8]
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 [0x1028a0fc]
addss xmm4, dword [0x1028a10c]
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 - 0x50], 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 [0x1028a124]
movaps xmm1, xmm5
mulss xmm1, dword [0x1028a120]
movss xmm7, dword [eax + 8]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x1028a128]
addss xmm1, xmm0
addss xmm1, dword [0x1028a12c]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x101be9f0]
jbe 0x1005a684
movss xmm4, dword [0x101bea18]
movaps xmm0, xmm6
mulss xmm0, dword [0x1028a0f4]
mov eax, dword [0x101d5d98]
divss xmm4, xmm1
mov ecx, dword [0x101d5d9c]
movzx edi, byte [ebp - 0x1e]
movzx esi, byte [ebp - 0x1f]
movaps xmm1, xmm5
mulss xmm6, dword [0x1028a104]
mulss xmm1, dword [0x1028a0f0]
mulss xmm5, dword [0x1028a100]
addss xmm1, xmm0
movaps xmm0, xmm7
mulss xmm0, dword [0x1028a0f8]
mulss xmm7, dword [0x1028a108]
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 [0x1028a0fc]
addss xmm5, dword [0x1028a10c]
mulss xmm1, xmm4
cvtps2pd xmm1, xmm1
mulss xmm5, xmm4
mulsd xmm1, qword [0x101bea68]
mulsd xmm1, xmm0
movd xmm0, eax
mov eax, ecx
cvtdq2pd xmm0, xmm0
cdq
sub eax, edx
sar eax, 1
addsd xmm1, qword [0x101bea68]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
addsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [0x101d602c]
cvtpd2ps xmm3, xmm1
cvtps2pd xmm1, xmm5
mulsd xmm1, qword [0x101bea68]
mulsd xmm1, xmm0
addsd xmm1, qword [0x101bea68]
subsd xmm2, xmm1
cvtpd2ps xmm0, xmm2
cvttss2si eax, xmm0
mov dword [ebp - 0x24], eax
cvttss2si eax, xmm3
mov dword [ebp - 0x64], eax
movzx eax, byte [ebp - 0x1d]
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
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 [0x101d602c]
mov eax, dword [ecx]
push dword [ebp - 0x24]
mov eax, dword [eax + 0x3c]
push dword [ebp - 0x64]
push edx
cvttss2si edx, dword [ebp - 0x50]
push edx
call eax
cmp dword [0x10289b58], 1
mov edi, dword [ebp - 0x28]
jne 0x1005a6d7
mov ecx, dword [ebp - 0x5c]
lea esi, [ebp - 0x40]
mov edx, dword [ebp - 0x58]
mov eax, 0x101cf27c
push ecx
push edx
push str._d____d
cmp edx, ecx
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x14]
push ecx
cmovle eax, esi
push eax
push edi
push dword [ebp - 0x54]
push 0x101d3450
push 0x101d3450
call fcn.101254f0
mov esi, dword [0x101d3458]
add esp, 0x24
mov dword [ebp - 0x38], esi
jmp 0x1005a6da
mov esi, dword [ebp - 0x38]
cmp byte [0x101d5df5], 0
je 0x1005a7f0
mov eax, dword [ebp - 0x3c]
mov edi, dword fs:[0x2c]
mov edx, dword [0x101d5a74]
mov dword [ebp - 0x80], 0
mov ecx, dword [eax]
mov eax, dword [0x10289bac]
mov dword [ebp - 0x14], ecx
mov ecx, dword [edi + edx*4]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
cmp eax, dword [ecx + 4]
jle 0x1005a778
push 0x10289bac
call fcn.1012b230
add esp, 4
cmp dword [0x10289bac], 0xffffffff
jne 0x1005a778
mov dword [ebp - 4], 0xf
mov eax, dword [0x101d335c]
test eax, eax
jne 0x1005a75f
mov ecx, 0x101d335c
call fcn.10128440
mov eax, dword [0x101d335c]
push 0x10289bac
mov dword [0x10289b64], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x88]
push eax
call dword [0x10289b64]
movss xmm1, dword [ebp - 0x84]
movss xmm0, dword [ebp - 0x88]
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm0, xmm1
movss xmm1, dword [ebp - 0x80]
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10011780
sub esp, 8
mov dword [ebp - 0x14], 0
cvtss2sd xmm0, xmm0
lea ecx, [ebp - 0x14]
lea eax, [esi + edi]
movsd qword [esp], xmm0
push str.SPEED___.0f_
push ecx
push 0x101cf270
push eax
push dword [ebp - 0x54]
push 0x101d3450
push 0x101d3450
call fcn.101254f0
add esp, 0x24
cmp dword [0x10289b28], 0
je 0x1005aad0
cmp dword [ebp - 0x4c], 5
jne 0x1005aad0
mov eax, dword [ebp - 0x3c]
push ecx
mov ecx, dword [eax]
call fcn.100584d0
mov dword [ebp - 0x50], eax
test eax, eax
je 0x1005aad0
mov ecx, dword [0x10289b28]
add eax, 0xc6c
mov dword [ebp - 0x24], eax
cmp ecx, 1
jne 0x1005a887
movss xmm0, dword [eax]
lea ecx, [ebp - 0x14]
mulss xmm0, dword [0x101bebe4]
lea eax, [esi + edi]
sub esp, 8
mov dword [ebp - 0x14], 0
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
push 0x1019e544
push ecx
push 0x101cf25c
push eax
push dword [ebp - 0x54]
push 0x101d3450
push 0x101d3450
call fcn.101254f0
mov ecx, dword [0x10289b28]
add esp, 0x24
add esi, dword [0x101d3458]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x38], esi
cmp ecx, 2
jne 0x1005aad0
movss xmm0, dword [eax]
ucomiss xmm0, dword [0x101be910]
lahf
test ah, 0x44
jnp 0x1005aad0
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x101d5a74]
inc ecx
add dword [ebp - 0x1c], ecx
mov ecx, dword fs:[0x2c]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x10289968]
mov dword [ebp - 0x18], edx
cmp ecx, dword [edx + 4]
jle 0x1005a915
push 0x10289968
call fcn.1012b230
mov ecx, dword [0x10289968]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1005a912
sub esp, 0x10
mov dword [ebp - 4], 0x10
call fcn.100412e0
push 0x10289968
mov dword [0x10289918], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
mov ecx, dword [0x10289968]
add esp, 4
mov edx, dword [ebp - 0x18]
mov eax, dword [0x10289918]
mov esi, dword [ebp - 0x50]
cmp dword [eax + esi], 0x3e6
jne 0x1005a930
movss xmm1, dword [0x101bec50]
jmp 0x1005a938
movss xmm1, dword [0x101bebe4]
mulss xmm1, dword [esi + 0xc6c]
movss dword [ebp - 0x18], xmm1
cmp ecx, dword [edx + 4]
jle 0x1005a990
push 0x10289968
call fcn.1012b230
add esp, 4
cmp dword [0x10289968], 0xffffffff
jne 0x1005a98b
sub esp, 0x10
mov dword [ebp - 4], 0x11
call fcn.100412e0
push 0x10289968
mov dword [0x10289918], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
movss xmm1, dword [ebp - 0x18]
mov eax, dword [0x10289918]
cmp dword [eax + esi], 0x3e6
jne 0x1005a9a8
movss xmm2, dword [0x101bec50]
jmp 0x1005a9b0
movss xmm2, dword [0x101bebe4]
movaps xmm0, xmm2
mov ecx, dword [0x101d602c]
minss xmm0, xmm1
movzx edx, byte [0x101cf25d]
xor eax, eax
comiss xmm2, xmm0
divss xmm0, xmm2
seta al
inc eax
add eax, dword [ebp - 0x34]
movd xmm1, eax
add eax, edi
cvtdq2ps xmm1, xmm1
movzx edi, byte [0x101cf25e]
mulss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm1
subss xmm0, xmm1
cvttss2si eax, xmm0
movss dword [ebp - 0x24], xmm0
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
mov esi, dword [eax + 0x2c]
movzx eax, byte [0x101cf25f]
push eax
movzx eax, byte [0x101cf25c]
push edi
push edx
push eax
call esi
mov ecx, dword [0x101d602c]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x14]
add esi, 2
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 [0x10289b0d], 0
je 0x1005aabe
movss xmm0, dword [ebp - 0x24]
subss xmm0, dword [0x101bea18]
mov ecx, dword [0x101d602c]
movzx edi, byte [0x101cf26e]
movzx edx, byte [0x101cf26d]
cvttss2si eax, xmm0
mov dword [ebp - 0x24], eax
movzx eax, byte [0x101cf26f]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push dword [ebp - 0x14]
push edi
mov esi, dword [eax + 0x2c]
movzx eax, byte [0x101cf26c]
push edx
push eax
call esi
mov ecx, dword [0x101d602c]
movss xmm0, dword [ebp - 0x18]
addss xmm0, dword [0x101beaa8]
mov esi, dword [ebp - 0x1c]
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 esi, dword [ebp - 0x30]
or eax, 0xffffffff
mov edi, dword [ebp - 0x1c]
sub eax, esi
add edi, eax
mov dword [ebp - 0x1c], edi
jmp 0x1005aad6
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x30]
push 0x84
lea eax, [ebp - 0x1c8]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [0x101d5dc0]
lea edx, [ebp - 0x1c8]
add esp, 0xc
mov eax, dword [ecx]
push edx
push dword [ebp - 0x60]
mov eax, dword [eax + 0x20]
call eax
test al, al
je 0x1005ae30
mov eax, esi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
add esi, edi
cmp byte [0x10289b25], 0
mov dword [ebp - 0x18], esi
je 0x1005ad89
mov eax, dword [0x101d346c]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [0x101d346c]
cmp byte [0x10289b51], 0
mov dword [ebp - 0x44], eax
je 0x1005ac8b
lea eax, [ebp - 0x1c8]
mov ecx, eax
mov dword [ebp - 0xe0], eax
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005ab60
sub ecx, edx
lea edx, [ebp - 0xe0]
mov dword [ebp - 0xdc], ecx
lea ecx, [ebp - 0xb4]
call fcn.100588e0
mov edx, eax
mov dword [ebp - 4], 0x12
cmp dword [edx + 0x14], 7
jbe 0x1005ab91
mov edx, dword [edx]
mov ecx, dword [0x101d602c]
lea edi, [ebp - 0x9c]
push edi
lea edi, [ebp - 0x70]
push edi
mov eax, dword [ecx]
push edx
push dword [0x101d3464]
mov eax, dword [eax + 0x12c]
call eax
lea ecx, [ebp - 0xb4]
mov dword [ebp - 4], 0xffffffff
call fcn.10010f60
mov eax, dword [ebp - 0x9c]
mov edi, dword [ebp - 0x70]
mov ecx, dword [0x101d602c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
sub eax, dword [ebp - 0x44]
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 [0x101d602c]
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 [0x101d602c]
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 - 0x70]
mov eax, ecx
movzx edi, byte [ebp - 0x1e]
movzx esi, byte [ebp - 0x1f]
cdq
sub eax, edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 0x18]
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x20]
sub ecx, 5
movzx edx, al
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x101d602c]
push 0xb4
push edi
push esi
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x2c]
call eax
mov ecx, dword [0x101d602c]
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 - 0x24]
add eax, 0xa
add eax, esi
push eax
lea eax, [edi - 2]
push eax
push esi
call edx
dec dword [ebp - 0x44]
mov esi, dword [ebp - 0x18]
lea ecx, [ebp - 0x1c8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1005ac94
sub ecx, edx
lea eax, [ebp - 0x1c8]
cmp byte [0x10289b2f], 0
je 0x1005ad1b
mov dword [ebp - 0xe4], ecx
lea edx, [ebp - 0xe8]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xe8], eax
call fcn.100588e0
mov ecx, eax
mov dword [ebp - 4], 0x13
cmp dword [ecx + 0x14], 7
jbe 0x1005acda
mov ecx, dword [ecx]
mov edi, dword [ebp - 0x28]
mov eax, edi
sub eax, dword [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push ecx
push 0x101cf238
push eax
push esi
push 0x101d3464
push 0x101d3450
call fcn.101254f0
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.10010f60
jmp 0x1005ad8c
mov dword [ebp - 0xec], ecx
lea edx, [ebp - 0xf0]
lea ecx, [ebp - 0xb4]
mov dword [ebp - 0xf0], eax
call fcn.100588e0
mov ecx, eax
mov dword [ebp - 4], 0x14
cmp dword [ecx + 0x14], 7
jbe 0x1005ad49
mov ecx, dword [ecx]
mov edi, dword [ebp - 0x28]
mov eax, edi
sub eax, dword [ebp - 0x44]
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push ecx
lea ecx, [ebp - 0x20]
push ecx
push eax
push esi
push 0x101d3464
push 0x101d3450
call fcn.101254f0
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.10010f60
jmp 0x1005ad8c
mov edi, dword [ebp - 0x28]
lea eax, [ebp - 0x180]
push eax
call fcn.10024650
cmp dword [eax], 4
jne 0x1005ade6
cmp byte [0x10289b53], 0
je 0x1005ade6
push str.CHEATER
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0xff0000ff
push eax
lea eax, [edi - 0x1c]
push eax
push esi
push 0x101d3450
push 0x101d3450
call fcn.101252c0
mov esi, dword [ebp - 0x38]
add esp, 0x1c
add esi, dword [0x101d3458]
mov dword [ebp - 0x38], esi
jmp 0x1005ade9
mov esi, dword [ebp - 0x38]
cmp byte [0x10289b2e], 0
je 0x1005ae30
lea eax, [ebp - 0x1a4]
mov dword [ebp - 0x14], 0
push eax
push 0x1019e2b4
lea eax, [ebp - 0x14]
push eax
push 0x101cf270
lea eax, [esi + edi]
push eax
push dword [ebp - 0x54]
push 0x101d3450
push 0x101d3450
call fcn.101252c0
add esp, 0x20
add esi, dword [0x101d3458]
mov dword [ebp - 0x38], esi
mov eax, dword [0x10289b48]
test eax, eax
je 0x1005af6d
cmp eax, 1
je 0x1005ae4b
cmp eax, 3
jne 0x1005af11
cmp byte [0x10289b25], 0
je 0x1005ae84
movd xmm1, dword [0x101d346c]
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [0x101be99c]
addss xmm0, xmm1
cvttss2si edi, xmm0
test edi, edi
je 0x1005ae86
cmp byte [0x10289b51], 0
je 0x1005ae86
add edi, 2
jmp 0x1005ae86
xor edi, edi
cmp byte [0x10289b53], 0
je 0x1005aed7
lea eax, [ebp - 0x180]
push eax
call fcn.10024650
cmp dword [eax], 4
jne 0x1005aed7
mov edi, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x28]
push edi
push 0x101cf270
push 0x12
lea eax, [esi - 0x30]
push 0x12
push eax
mov eax, dword [ebp - 0x30]
mov eax, eax
test eax, eax
jns 0x1005aec0
add eax, 1
sar eax, 1
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff7
add eax, ecx
push eax
call fcn.10125c40
mov eax, dword [0x10289b48]
jmp 0x1005af17
push dword [ebp - 0x4c]
mov esi, dword [ebp - 0x28]
mov eax, esi
push 0x101cf270
push 0x12
sub eax, edi
sub eax, 0x12
push 0x12
push eax
mov eax, dword [ebp - 0x30]
mov eax, eax
test eax, eax
jns 0x1005aefa
add eax, 1
sar eax, 1
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff7
add eax, ecx
push eax
call fcn.10125c40
mov eax, dword [0x10289b48]
jmp 0x1005af14
mov esi, dword [ebp - 0x28]
mov edi, dword [ebp - 0x4c]
cmp eax, 2
jl 0x1005af6d
lea eax, [edi - 1]
cmp eax, 8
ja 0x1005af2d
mov ecx, dword [edi*4 + 0x1019ea30]
jmp 0x1005af33
mov ecx, dword [str.unknown]
mov edi, dword [ebp - 0x38]
push ecx
push 0x1019e5a8
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x14], 0
push ecx
lea ecx, [ebp - 0x20]
push ecx
lea eax, [edi + esi]
push eax
push dword [ebp - 0x54]
push 0x101d3450
push 0x101d3450
call fcn.101254f0
add esp, 0x20
add edi, dword [0x101d3458]
mov dword [ebp - 0x38], edi
mov edi, dword [ebp - 0x3c]
mov ecx, dword [edi]
call fcn.10022190
mov dword [ebp - 0x40], eax
test eax, eax
je 0x1005b47c
cmp byte [0x10289b44], 0
mov dword [ebp - 0x14], 0
je 0x1005b194
mov eax, dword [0x101d5a74]
mov ecx, dword fs:[0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1028c850]
cmp eax, dword [esi + 4]
jle 0x1005b000
push 0x1028c850
call fcn.1012b230
add esp, 4
cmp dword [0x1028c850], 0xffffffff
jne 0x1005b000
mov dword [ebp - 4], 0x15
mov eax, dword [0x101d3f90]
test eax, eax
jne 0x1005afe7
mov ecx, 0x101d3f90
call fcn.10128440
mov eax, dword [0x101d3f90]
push 0x1028c850
mov dword [0x1028c85c], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x1028c854]
cmp eax, dword [esi + 4]
jle 0x1005b05b
push 0x1028c854
call fcn.1012b230
add esp, 4
cmp dword [0x1028c854], 0xffffffff
jne 0x1005b05b
mov dword [ebp - 4], 0x16
mov eax, dword [0x101d3f80]
test eax, eax
jne 0x1005b042
mov ecx, 0x101d3f80
call fcn.10128440
mov eax, dword [0x101d3f80]
push 0x1028c854
mov dword [0x1028c858], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
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 - 0x24], eax
mov eax, dword [0x101d5a74]
mov edx, dword [ecx + eax*4]
mov ecx, dword [0x101d5f30]
cmp ecx, dword [edx + 4]
jle 0x1005b0d6
push 0x101d5f30
call fcn.1012b230
add esp, 4
cmp dword [0x101d5f30], 0xffffffff
jne 0x1005b0d6
push str.m_iClass
push str.m_PlayerClass
push str.DT_TFPlayer
mov dword [ebp - 4], 0x17
call fcn.10018010
push 0x101d5f30
mov dword [0x101d5f40], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1012b1df
add esp, 4
mov eax, dword [0x101d5f40]
mov ecx, dword [ebp - 0x24]
mov eax, dword [eax + ecx]
sub eax, 8
je 0x1005b0fc
sub eax, 1
jne 0x1005b120
mov eax, esi
sub eax, 3
je 0x1005b10d
sub eax, 1
jne 0x1005b120
lea esi, [eax + 6]
jmp 0x1005b120
mov eax, esi
sub eax, 0
je 0x1005b11b
sub eax, 1
je 0x1005b114
sub eax, 2
jne 0x1005b120
mov esi, 5
jmp 0x1005b120
mov esi, 4
jmp 0x1005b120
mov esi, 1
push 0
push esi
push dword [edi]
call dword [0x1028c85c]
add esp, 0xc
test eax, eax
je 0x1005b199
xor esi, esi
mov ecx, 0xa
cmp byte [0x10289b2d], 0
cmovne esi, ecx
mov ecx, eax
call dword [0x1028c858]
push eax
push 0x1019e5b0
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 3
push eax
mov eax, dword [ebp - 0x34]
add eax, esi
mov esi, dword [ebp - 0x28]
add eax, esi
push 0x101cf2a0
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x1c]
push eax
push 0x101d3450
push 0x101d3450
call fcn.101252c0
mov eax, dword [0x101d3458]
add esp, 0x20
mov dword [ebp - 0x14], eax
jmp 0x1005b19c
mov esi, dword [ebp - 0x28]
jmp 0x1005b19f
mov esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x40]
cmp byte [0x10289b52], 0
je 0x1005b47c
mov ecx, eax
call fcn.1011ffc0
mov edx, eax
mov dword [ebp - 0x4c], edx
test edx, edx
je 0x1005b47c
movd xmm3, dword [ebp - 0x30]
xor ecx, ecx
cmp byte [0x10289b2d], cl
mov eax, 0xa
cvtdq2ps xmm3, xmm3
cmovne ecx, eax
mov eax, dword [edx + 0xa4]
sub eax, dword [edx + 0xa0]
mov dword [ebp - 0x6c], 0x3f400000
mov dword [ebp - 0x98], 0x3f000000
movss xmm7, dword [0x101be9bc]
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 - 0x8c]
cvtdq2ps xmm5, xmm5
cmovbe eax, esi
lea esi, [ebp - 0x6c]
movss dword [ebp - 0x8c], xmm0
comiss xmm0, dword [0x101be9e0]
movss xmm0, dword [0x101cf2ac]
cvtdq2ps xmm6, xmm6
cmovbe esi, eax
movss dword [ebp - 0x64], xmm5
movss xmm2, dword [esi]
comiss xmm2, xmm0
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x50], xmm6
movss dword [ebp - 0x20], xmm3
movss dword [ebp - 0x44], xmm1
movss dword [ebp - 0x40], xmm4
movss dword [ebp - 0x2c], xmm2
ja 0x1005b2e3
movss dword [ebp - 0x24], xmm0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
mov ecx, dword [0x1028a0e0]
movss xmm0, dword [ebp - 0x24]
movss xmm1, dword [ebp - 0x44]
movss xmm3, dword [ebp - 0x20]
movss xmm4, dword [ebp - 0x40]
movss xmm5, dword [ebp - 0x64]
movss xmm6, dword [ebp - 0x50]
movss xmm7, dword [0x101be9bc]
mov edx, dword [ebp - 0x4c]
cmp eax, ecx
jle 0x1005b2d6
movss xmm2, dword [esi]
inc ecx
comiss xmm0, xmm2
mov dword [0x1028a0e0], ecx
mov ecx, dword [ebp - 0x18]
jbe 0x1005b2e0
mulss xmm0, dword [0x101bea0c]
jmp 0x1005b2e3
movss xmm2, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x18]
jmp 0x1005b2e3
movaps xmm0, xmm2
mov eax, dword [0x101cf2a0]
addss xmm1, xmm6
movss dword [0x101cf2ac], 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 - 0x24], eax
addss xmm1, dword [0x101bea18]
mov al, byte [0x101cf2a2]
mulss xmm3, xmm7
mov byte [ebp - 0x45], al
movzx eax, byte [0x101cf2a3]
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 - 0x44], xmm1
movss dword [ebp - 0x20], xmm3
je 0x1005b3c7
mov ecx, dword [0x101d602c]
push dword [edx + 0x88]
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
mov ecx, dword [0x101d602c]
push dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x4c]
movzx eax, byte [ebp - 0x45]
push eax
mov eax, dword [ebp - 0x24]
movzx eax, al
push eax
mov eax, dword [ebp - 0x18]
movzx eax, al
push eax
call edx
mov ecx, dword [0x101d602c]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
cvttss2si eax, dword [ebp - 0x44]
push eax
cvttss2si eax, dword [ebp - 0x20]
push eax
call edx
mov ecx, dword [ebp - 0x4c]
push 0
movsx ax, byte [ecx + 0x86]
mov ecx, dword [0x101d602c]
movzx edx, ax
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x5c]
call eax
jmp 0x1005b47c
mov edx, dword [edx + 0x8c]
cmp edx, 0xffffffff
je 0x1005b47c
mov ecx, dword [0x101d602c]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x80]
call eax
mov ecx, dword [0x101d602c]
push dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x2c]
movzx eax, byte [ebp - 0x45]
push eax
mov eax, dword [ebp - 0x24]
movzx eax, al
push eax
mov eax, dword [ebp - 0x18]
movzx eax, al
push eax
call edx
mov edx, dword [ebp - 0x4c]
sub esp, 0x10
mov ecx, dword [0x101d602c]
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 - 0x20]
cvttss2si edi, xmm0
movd xmm0, eax
mov eax, dword [ecx]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [esi]
addss xmm0, dword [ebp - 0x44]
cvttss2si esi, xmm0
movups xmm0, xmmword [edx + 0x90]
mov edx, dword [eax + 0x194]
cvttss2si eax, dword [ebp - 0x44]
movups xmmword [esp], xmm0
push esi
push edi
push eax
cvttss2si eax, dword [ebp - 0x20]
push eax
call edx
mov edi, dword [ebp - 0x3c]
cmp byte [0x10289b2d], 0
je 0x1005b52a
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 + 4]
movss xmm0, dword [esi]
subss xmm0, dword [eax]
subss xmm1, dword [eax + 4]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10011780
cvtss2sd xmm0, xmm0
push ecx
mulsd xmm0, qword [0x101bea30]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x2c], xmm0
fld dword [ebp - 0x2c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0x2c]
cvttss2si ecx, dword [ebp - 0x2c]
add esp, 4
mov dword [ebp - 0x2c], 3
lea eax, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x34]
add ecx, dword [ebp - 0x28]
push str.__d_M_
push eax
mov eax, dword [ebp - 0x30]
cdq
sub eax, edx
push 0x101cf270
push ecx
sar eax, 1
add eax, dword [ebp - 0x1c]
push eax
push 0x101d3450
push 0x101d3450
call fcn.101254f0
add esp, 0x20
cmp byte [0x10289b54], 0
je 0x1005b5c2
push dword [edi]
lea eax, [ebp - 0xfc]
push eax
call fcn.1005f6f0
mov dword [ebp - 4], 0x18
mov eax, dword [ebp - 0xf8]
mov esi, dword [ebp - 0xfc]
mov dword [ebp - 0x6c], eax
cmp esi, eax
je 0x1005b5b0
mov edi, dword [ebp - 0x38]
mov dword [ebp - 0x2c], 0
nop dword [eax]
cmp dword [esi + 0x14], 7
mov ecx, esi
jbe 0x1005b57a
mov ecx, dword [esi]
mov eax, dword [ebp - 0x28]
push ecx
lea ecx, [ebp - 0x2c]
add eax, edi
push ecx
push 0x101cf2a8
push eax
push dword [ebp - 0x54]
push 0x101d3478
push 0x101d3450
call fcn.101254f0
add edi, dword [0x101d3480]
add esi, 0x18
add esp, 0x1c
cmp esi, dword [ebp - 0x6c]
jne 0x1005b570
mov dword [ebp - 0x38], edi
lea ecx, [ebp - 0xfc]
mov dword [ebp - 4], 0xffffffff
call fcn.10061aa0
mov edx, dword [ebp - 0x60]
xor esi, esi
mov edi, dword [ebp - 0x28]
mov eax, edx
and eax, 0x3f
xor ecx, ecx
bts esi, eax
cmp eax, 0x20
cmovae ecx, esi
xor esi, ecx
cmp eax, 0x40
cmovae ecx, esi
shr edx, 6
and esi, dword [edx*8 + 0x101d3590]
and ecx, dword [edx*8 + 0x101d3594]
or esi, ecx
je 0x1005b631
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x2c]
push str.FRIEND
push eax
push 0x101cf2a8
lea eax, [esi + edi]
mov dword [ebp - 0x2c], 0
push eax
push dword [ebp - 0x54]
push 0x101d3478
push 0x101d3450
call fcn.101254f0
add esp, 0x1c
add esi, dword [0x101d3480]
mov dword [ebp - 0x38], esi
cmp byte [0x10289b26], 0
mov esi, dword [ebp - 0x1c]
je 0x1005b8bd
mov edx, dword [ebp - 0x5c]
dec esi
movd xmm1, dword [ebp - 0x58]
mov eax, 0x101cf274
cvtdq2ps xmm1, xmm1
mov ecx, 0x101cf294
mov dword [ebp - 0x1c], esi
movd xmm0, edx
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 0x1005b67c
mov edx, dword [0x101cf27c]
jmp 0x1005b6db
mov eax, dword [ebp - 0x58]
cmp edx, eax
cmovl eax, edx
xor ecx, ecx
test eax, eax
cmovg ecx, eax
mov eax, edx
sub eax, ecx
imul eax, eax, 0x1fe
cdq
idiv dword [ebp - 0x5c]
mov dword [ebp - 0x2c], eax
imul eax, ecx, 0x1fe
cdq
idiv dword [ebp - 0x5c]
cmp eax, 0xc8
movzx ecx, al
mov eax, 0xc8
cmovg ecx, eax
movzx edx, cl
mov ecx, dword [ebp - 0x2c]
or edx, 0xffff0000
shl edx, 8
cmp ecx, 0xc8
movzx eax, cl
mov ecx, 0xc8
cmovg eax, ecx
movzx eax, al
or edx, eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], edx
mov ecx, dword [eax]
call fcn.1002ebb0
test al, al
jne 0x1005b6f7
mov eax, dword [0x101cf260]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x5c]
movd xmm1, dword [ebp - 0x58]
cvtdq2ps xmm1, xmm1
mov eax, dword [0x10289b3c]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movaps xmm2, xmm0
minss xmm2, xmm1
divss xmm2, xmm0
movss dword [ebp - 0x18], xmm2
test eax, eax
jne 0x1005b755
cmp byte [0x10289b26], al
je 0x1005b82a
sub esp, 8
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
push ecx
add eax, edi
push eax
lea eax, [esi - 4]
push eax
call fcn.10125930
jmp 0x1005b822
cmp eax, 1
jne 0x1005b82a
cmp byte [0x10289b26], 0
je 0x1005b82a
movzx eax, byte [0x101cf26f]
add esi, 0xfffffffb
mov ecx, dword [0x101d602c]
dec edi
push eax
movzx eax, byte [0x101cf26e]
push eax
movzx eax, byte [0x101cf26d]
mov edx, dword [ecx]
push eax
movzx eax, byte [0x101cf26c]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [0x101d602c]
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 - 0x28]
add esi, 0xfffffffc
push 0
push eax
push eax
push dword [ebp - 0x34]
push 2
push edi
push esi
call fcn.10125880
mov ecx, dword [0x101d602c]
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 [0x101bea18]
subss xmm1, dword [ebp - 0x18]
mov ecx, dword [0x101d602c]
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
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x5c]
movss xmm2, dword [ebp - 0x18]
cmp dword [0x10289b58], 2
jne 0x1005b8bc
cmp byte [0x10289b30], 0
mov eax, 0xa
mov ecx, dword [ebp - 0x38]
cmovne ecx, eax
mov dword [ebp - 0x2c], 3
mov eax, dword [ebp - 0x58]
cmp eax, edx
jle 0x1005b86a
sub eax, edx
push eax
push 0x1019e5d8
lea eax, [ebp - 0x2c]
push eax
push 0x101cf27c
jmp 0x1005b879
push eax
push 0x1019c9b0
lea eax, [ebp - 0x2c]
push eax
push 0x101cf270
mov edx, dword [ebp - 0x34]
movd xmm0, edx
lea eax, [edx + edi]
movd xmm1, eax
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
subss xmm1, xmm0
subss xmm1, dword [0x101beaa8]
cvttss2si eax, xmm1
push eax
mov eax, esi
sub eax, ecx
sub eax, 0xf
push eax
push 0x101d3450
push 0x101d3450
call fcn.101252c0
add esp, 0x20
inc esi
cmp byte [0x10289b30], 0
je 0x1005b96b
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.10061bf0
mov ecx, 0x10289ba8
mov dword [ebp - 0x2c], 0x41b00000
mov eax, dword [eax]
movd xmm0, dword [eax + 0xc]
lea eax, [ebp - 0x2c]
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x101beb7c]
comiss xmm0, dword [0x101beb7c]
movss dword [0x10289ba8], xmm0
cmovbe eax, ecx
sub esp, 8
movss xmm0, dword [eax]
maxss xmm0, dword [0x101be910]
mov eax, dword [ebp - 0x34]
push 0x101cf284
push 0x101cf280
push ecx
movss dword [esp], xmm0
push eax
add eax, edi
movss dword [0x10289ba8], xmm0
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
push eax
lea eax, [esi - 1]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [0x101beaa8]
subss xmm0, dword [0x101beb54]
cvttss2si eax, xmm0
push eax
call fcn.10125930
mov edi, dword [ebp - 0x3c]
add edi, 4
mov dword [ebp - 0x3c], edi
cmp edi, dword [ebp - 0x7c]
jne 0x10059790
mov ecx, dword [0x101d602c]
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