Function at 0x100845d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x3b8
mov eax, dword [0x10137008]
xor eax, esp
mov dword [esp + 0x3b4], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov dword [esp + 0x1c], eax
mov edi, ecx
mov eax, dword [0x10141b00]
mov dword [esp + 0x60], edi
test al, 1
jne 0x1008467f
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x28]
push 0x16
or eax, 1
mov dword [esp + 0x2c], 0
push str.CBasePlayer__m_iHealth
mov dword [0x10141b00], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141af0], eax
cmp edx, 0x10
jb 0x1008467f
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084675
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141af0]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
cmp dword [eax + ecx], 0
jle 0x100866be
mov eax, dword [0x10141adc]
test al, 1
jne 0x10084723
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x28]
push 0x18
or eax, 1
mov dword [esp + 0x2c], 0
push str.CBasePlayer__m_lifeState
mov dword [0x10141adc], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141aec], eax
cmp edx, 0x10
jb 0x1008471f
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084715
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov ecx, dword [esp + 0x1c]
mov eax, dword [0x10141aec]
mov eax, dword [eax + 4]
cmp byte [eax + ecx], 0
jne 0x100866be
mov eax, dword [0x10141b50]
cmp ecx, dword [eax]
je 0x100866be
mov eax, dword [ecx + 8]
add ecx, 8
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x24]
call eax
mov byte [esp + 0x17], al
test al, al
jne 0x10084804
cmp byte [edi + 0x17c], al
je 0x1008480e
mov ecx, dword [0x10141dec]
test cl, 1
jne 0x100847f2
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x17
mov dword [0x10141dec], ecx
lea ecx, [esp + 0x2c]
push str.CBaseEntity__m_bSpotted
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141e14], eax
cmp edx, 0x10
jb 0x100847f2
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100847e8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141e14]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov byte [eax + edx], 1
jmp 0x1008480e
cmp byte [edi + 9], 0
je 0x100866be
mov ecx, dword [0x10141cb0]
test cl, 1
jne 0x100848a1
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x17
mov dword [0x10141cb0], ecx
lea ecx, [esp + 0x2c]
push str.CBaseEntity__m_iTeamNum
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141ca8], eax
cmp edx, 0x10
jb 0x1008489b
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084891
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov ecx, dword [0x10141cb0]
mov eax, dword [0x10141ca8]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x44], eax
test cl, 1
jne 0x1008493f
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x17
mov dword [0x10141cb0], ecx
lea ecx, [esp + 0x2c]
push str.CBaseEntity__m_iTeamNum
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141ca8], eax
cmp edx, 0x10
jb 0x1008493f
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084935
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ca8]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x24]
add ecx, dword [esp + 0x44]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x1008495f
cmp byte [edi + 8], 0
je 0x100866be
mov eax, dword [0x10141d28]
test al, 1
jne 0x100849e5
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x28]
push 0x25
or eax, 1
mov dword [esp + 0x2c], 0
push str.CBaseCombatCharacter__m_hActiveWeapon
mov dword [0x10141d28], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141d2c], eax
cmp edx, 0x10
jb 0x100849e5
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100849db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141d2c]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov edx, dword [eax + edx]
cmp edx, 0xffffffff
jne 0x10084abf
mov dword [esp + 0x5c], 0
mov dword [esp + 0x20], 0
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x20]
vxorps xmm0, xmm0, xmm0
vmovups xmmword [esp + 0x50], xmm0
call fcn.10082910
test al, al
je 0x100866be
cmp byte [edi + 0xa], 0
je 0x10084c8f
mov ecx, dword [0x10141b30]
push 0x96000000
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141b30]
vmovss xmm2, dword [esp + 0x50]
vmovss xmm1, dword [esp + 0x48]
vsubss xmm0, xmm2, dword [0x101336d8]
vaddss xmm3, xmm1, dword [0x10133680]
mov eax, dword [ecx]
vmovss xmm5, dword [esp + 0x54]
vmovss xmm4, dword [esp + 0x4c]
vaddss xmm2, xmm4, dword [0x10133680]
mov edx, dword [eax + 0x48]
vaddss xmm1, xmm0, xmm3
vsubss xmm0, xmm5, dword [0x101336d8]
vaddss xmm0, xmm2, xmm0
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm2
push eax
vcvttss2si eax, xmm3
push eax
call edx
cmp byte [esp + 0x17], 0
je 0x10084b99
mov edx, 0xb4828282
jmp 0x10084bd5
mov ecx, dword [0x10141b58]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov dword [esp + 0x5c], eax
test eax, eax
je 0x10084a05
mov ecx, dword [0x10141f04]
mov eax, dword [ecx + 0x40]
mov dword [esp + 0x44], eax
mov ecx, dword [eax]
mov eax, dword [ecx + 8]
mov ecx, dword [0x10141ab8]
mov dword [esp + 0x24], eax
test cl, 1
jne 0x10084b78
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x2d
mov dword [0x10141ab8], ecx
lea ecx, [esp + 0x2c]
push str.CBaseAttributableItem__m_iItemDefinitionIndex
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141ad4], eax
cmp edx, 0x10
jb 0x10084b78
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084b6e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ad4]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x5c]
movzx eax, word [eax]
push eax
call dword [esp + 0x28]
mov dword [esp + 0x20], eax
jmp 0x10084a0d
vmovss xmm1, dword [0x101337f0]
vmulss xmm0, xmm1, dword [edi + 0x2c]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x28]
movzx edx, al
or edx, 0xffffb400
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x24]
shl edx, 8
movzx eax, al
or edx, eax
vcvttss2si eax, xmm0
shl edx, 8
movzx eax, al
or edx, eax
mov ecx, dword [0x10141b30]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141b30]
vmovss xmm3, dword [esp + 0x4c]
vmovss xmm2, dword [esp + 0x48]
vaddss xmm0, xmm3, dword [esp + 0x54]
mov eax, dword [ecx]
vaddss xmm1, xmm2, dword [esp + 0x50]
mov edx, dword [eax + 0x48]
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm3
push eax
vcvttss2si eax, xmm2
push eax
call edx
mov ecx, dword [0x10141b30]
push 0x96000000
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141b30]
vmovss xmm2, dword [esp + 0x50]
vmovss xmm1, dword [esp + 0x48]
vaddss xmm0, xmm2, dword [0x101336d8]
vsubss xmm3, xmm1, dword [0x10133680]
mov eax, dword [ecx]
vmovss xmm5, dword [esp + 0x54]
vmovss xmm4, dword [esp + 0x4c]
vsubss xmm2, xmm4, dword [0x10133680]
mov edx, dword [eax + 0x48]
vaddss xmm1, xmm3, xmm0
vaddss xmm0, xmm5, dword [0x101336d8]
vaddss xmm0, xmm0, xmm2
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm2
push eax
vcvttss2si eax, xmm3
push eax
call edx
cmp byte [edi + 0xb], 0
je 0x10085081
mov ecx, dword [0x10141b30]
push 0x96000000
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141b30]
vmovss xmm0, dword [esp + 0x48]
vsubss xmm3, xmm0, dword [0x10133734]
vmovss xmm5, dword [esp + 0x54]
mov eax, dword [ecx]
vmovss xmm4, dword [esp + 0x4c]
vsubss xmm2, xmm4, dword [0x10133680]
vaddss xmm0, xmm5, dword [0x101336d8]
mov edx, dword [eax + 0x40]
vaddss xmm1, xmm3, dword [0x10133720]
vaddss xmm0, xmm0, xmm2
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm2
push eax
vcvttss2si eax, xmm3
push eax
call edx
mov eax, dword [0x10141b00]
test al, 1
jne 0x10084d88
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x28]
push 0x16
or eax, 1
mov dword [esp + 0x2c], 0
push str.CBasePlayer__m_iHealth
mov dword [0x10141b00], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141af0], eax
cmp edx, 0x10
jb 0x10084d88
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084d7e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141af0]
mov edx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov eax, dword [eax + edx]
cmp eax, 0x64
jle 0x10084da3
mov eax, 0x64
jmp 0x10084daa
xor ecx, ecx
test eax, eax
cmovs eax, ecx
cmp byte [esp + 0x17], 0
vmovss xmm4, dword [esp + 0x54]
vxorps xmm0, xmm0, xmm0
vcvtsi2ss xmm0, xmm0, eax
vdivss xmm2, xmm0, dword [0x101337b8]
vmulss xmm3, xmm2, xmm4
vmovss dword [esp + 0x44], xmm3
je 0x10084dd8
mov edx, 0xb4828282
jmp 0x10084e0d
vmulss xmm0, xmm2, dword [0x101337f0]
vcvttss2si eax, xmm0
vmovss xmm0, dword [0x10133680]
movzx edx, al
vsubss xmm0, xmm0, xmm2
vmulss xmm0, xmm0, dword [0x101337f0]
or edx, 0xffb40000
vcvttss2si eax, xmm0
shl edx, 8
movzx eax, al
or edx, eax
mov ecx, dword [0x10141b30]
vaddss xmm0, xmm4, dword [esp + 0x4c]
vsubss xmm0, xmm0, xmm3
push edx
mov eax, dword [ecx]
vmovss dword [esp + 0x44], xmm0
mov eax, dword [eax + 0x38]
call eax
mov ecx, dword [0x10141b30]
vmovss xmm0, dword [esp + 0x48]
vsubss xmm3, xmm0, dword [0x10133724]
vmovss xmm2, dword [esp + 0x40]
mov eax, dword [ecx]
vaddss xmm0, xmm2, dword [esp + 0x44]
vaddss xmm1, xmm3, dword [0x101336d8]
mov edx, dword [eax + 0x40]
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm2
push eax
vcvttss2si eax, xmm3
push eax
call edx
mov ecx, dword [0x10141b00]
test cl, 1
jne 0x10084f01
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x16
mov dword [0x10141b00], ecx
lea ecx, [esp + 0x2c]
push str.CBasePlayer__m_iHealth
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141af0], eax
cmp edx, 0x10
jb 0x10084efb
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084ef1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov ecx, dword [0x10141b00]
mov eax, dword [0x10141af0]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x1c]
cmp dword [eax], 0x64
jge 0x10085081
mov eax, dword [edi + 0x224]
mov dword [esp + 0x44], eax
test cl, 1
jne 0x10084fa3
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x16
mov dword [0x10141b00], ecx
lea ecx, [esp + 0x2c]
push str.CBasePlayer__m_iHealth
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141af0], eax
cmp edx, 0x10
jb 0x10084fa3
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10084f99
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10085053
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141af0]
lea ecx, [esp + 0x90]
mov edx, dword [eax + 4]
add edx, dword [esp + 0x1c]
mov edx, dword [edx]
call fcn.1000a690
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10084fc7
mov ecx, dword [ecx]
sub esp, 8
lea esi, [ecx + 1]
mov edx, esp
mov dword [edx], ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10084fd1
vmovss xmm0, dword [esp + 0x48]
vmovss xmm2, dword [esp + 0x50]
vsubss xmm0, xmm0, dword [0x10133740]
vsubss xmm1, xmm2, dword [0x10133724]
sub esp, 8
sub ecx, esi
cmp byte [esp + 0x27], 0
mov eax, esp
mov dword [edx + 4], ecx
mov ecx, 0xb4828282
push 1
vmovss dword [eax], xmm1
vmovss dword [eax + 4], xmm0
mov eax, 0xb4ffffff
cmovne eax, ecx
push eax
push dword [esp + 0x5c]
call fcn.10083a00
mov edx, dword [esp + 0xa4]
cmp edx, 0x10
jb 0x10085063
mov ecx, dword [esp + 0x90]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085059
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10085059
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
cmp byte [edi + 0xc], 0
je 0x1008522e
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov edi, dword [0x10141b24]
mov esi, eax
push 0x80
vpxor xmm0, xmm0, xmm0
lea eax, [esp + 0x114]
push 0
push eax
vmovq qword [esp + 0x10c], xmm0
vmovlpd qword [esp + 0x114], xmm0
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [esp + 0x190], 0
vpxor xmm0, xmm0, xmm0
lea eax, [esp + 0x1bc]
mov dword [esp + 0x1b4], 0
vmovdqu ymmword [esp + 0x194], ymm0
push 0x80
push 0
mov dword [esp + 0x1c0], 0
push eax
vzeroupper
call sub.VCRUNTIME140.dll_memset
mov eax, dword [edi]
lea ecx, [esp + 0x10c]
add esp, 0xc
mov word [esp + 0x23c], 0
vpxor xmm0, xmm0, xmm0
vmovdqu xmmword [esp + 0x240], xmm0
mov byte [esp + 0x250], 0
mov eax, dword [eax + 0x20]
push ecx
push esi
mov ecx, edi
call eax
test al, al
jne 0x10085158
mov edi, dword [esp + 0x60]
mov byte [esp + 0x3b0], al
jmp 0x1008522e
cmp byte [esp + 0x17], 0
lea esi, [esp + 0x100]
mov ecx, 0x56
lea edi, [esp + 0x258]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x60]
mov byte [esp + 0x3b0], 1
je 0x10085187
mov edx, 0xb4828282
jmp 0x100851c3
vmovss xmm1, dword [0x101337f0]
vmulss xmm0, xmm1, dword [edi + 0x38]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x34]
movzx edx, al
or edx, 0xffffb400
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x30]
shl edx, 8
movzx eax, al
or edx, eax
vcvttss2si eax, xmm0
shl edx, 8
movzx eax, al
or edx, eax
mov eax, dword [edi + 0x214]
sub esp, 8
mov dword [esp + 0x4c], eax
mov esi, esp
lea eax, [esp + 0x270]
mov ecx, eax
mov dword [esi], eax
lea eax, [ecx + 1]
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100851e4
vmovss xmm0, dword [esp + 0x54]
vsubss xmm1, xmm0, dword [0x10133754]
vmovss xmm0, dword [esp + 0x58]
vmulss xmm0, xmm0, dword [0x10133618]
sub ecx, dword [esp + 0x20]
sub esp, 8
vaddss xmm0, xmm0, dword [esp + 0x58]
mov eax, esp
mov dword [esi + 4], ecx
push 1
push edx
push dword [esp + 0x5c]
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm1
call fcn.10083a00
xor eax, eax
mov dword [esp + 0x40], eax
cmp byte [edi + 0x10], al
je 0x100856b8
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x100856b8
mov eax, dword [ecx + 0xc8]
test eax, eax
je 0x100856b8
cmp eax, 7
jge 0x100856b8
cmp dword [ecx + 0x14], 0xffffffff
je 0x100856b8
mov ecx, dword [esp + 0x1c]
mov esi, dword [ecx + 0x2980]
vmovss xmm0, dword [esi + 0x58]
vucomiss xmm0, dword [0x10133560]
lahf
test ah, 0x44
jnp 0x100852ba
mov eax, dword [ecx + 0x294c]
test eax, eax
je 0x100852ba
mov edx, dword [eax]
test edx, edx
je 0x100852ba
mov eax, dword [0x10141f04]
push dword [esi + 0x50]
mov eax, dword [eax + 0x1c]
call eax
cmp eax, 0x3c7
jne 0x100852ba
vmovss xmm0, dword [esi + 0x64]
mov byte [esp + 0x5b], 1
jmp 0x1008536e
mov eax, dword [0x10141b08]
mov byte [esp + 0x5b], 0
test al, 1
jne 0x10085349
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x28]
push 0x1b
or eax, 1
mov dword [esp + 0x2c], 0
push str.CBaseCombatWeapon__m_iClip1
mov dword [0x10141b08], eax
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141ad8], eax
cmp edx, 0x10
jb 0x10085349
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008533f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ad8]
vxorps xmm1, xmm1, xmm1
vxorps xmm0, xmm0, xmm0
mov eax, dword [eax + 4]
add eax, dword [esp + 0x5c]
vcvtsi2ss xmm1, xmm1, dword [eax]
mov eax, dword [esp + 0x20]
vcvtsi2ss xmm0, xmm0, dword [eax + 0x14]
vdivss xmm0, xmm1, xmm0
mov ecx, dword [0x10141b30]
vmovss dword [esp + 0x24], xmm0
vmovss xmm0, dword [esp + 0x4c]
vaddss xmm0, xmm0, dword [esp + 0x54]
mov eax, dword [ecx]
push 0x96000000
vmovss dword [esp + 0x44], xmm0
mov eax, dword [eax + 0x38]
call eax
vmovss xmm0, dword [esp + 0x50]
vmovss xmm1, dword [esp + 0x48]
vaddss xmm0, xmm0, dword [0x101336d8]
mov ecx, dword [0x10141b30]
vsubss xmm2, xmm1, dword [0x10133680]
vaddss xmm1, xmm0, xmm2
vmovss xmm0, dword [esp + 0x40]
mov eax, dword [ecx]
vaddss xmm3, xmm0, dword [0x101336d8]
vaddss xmm0, xmm3, dword [0x10133720]
mov edx, dword [eax + 0x40]
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, xmm3
push eax
vcvttss2si eax, xmm2
push eax
call edx
cmp byte [esp + 0x17], 0
je 0x100853fd
mov edx, 0xb4828282
jmp 0x10085439
vmovss xmm1, dword [0x101337f0]
vmulss xmm0, xmm1, dword [edi + 0x50]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x4c]
movzx edx, al
or edx, 0xffffb400
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x48]
shl edx, 8
movzx eax, al
or edx, eax
vcvttss2si eax, xmm0
shl edx, 8
movzx eax, al
or edx, eax
mov ecx, dword [0x10141b30]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
vmovss xmm0, dword [esp + 0x24]
vmulss xmm0, xmm0, dword [esp + 0x50]
mov ecx, dword [0x10141b30]
vaddss xmm2, xmm0, dword [esp + 0x48]
vmovss xmm0, dword [esp + 0x40]
vaddss xmm1, xmm0, dword [0x101336f4]
mov eax, dword [ecx]
vaddss xmm0, xmm1, dword [0x101336d8]
vmovss dword [esp + 0x18], xmm2
mov edx, dword [eax + 0x40]
vcvttss2si eax, xmm0
push eax
vcvttss2si eax, xmm2
push eax
vcvttss2si eax, xmm1
push eax
vcvttss2si eax, dword [esp + 0x54]
push eax
call edx
cmp byte [esp + 0x5b], 0
jne 0x100856b0
mov ecx, dword [0x10141b08]
test cl, 1
jne 0x10085536
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x1b
mov dword [0x10141b08], ecx
lea ecx, [esp + 0x2c]
push str.CBaseCombatWeapon__m_iClip1
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141ad8], eax
cmp edx, 0x10
jb 0x10085530
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085526
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov ecx, dword [0x10141b08]
mov eax, dword [0x10141ad8]
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x5c]
mov eax, dword [eax]
cmp eax, dword [edx + 0x14]
jge 0x100856b0
mov eax, dword [edi + 0x224]
mov dword [esp + 0x44], eax
test cl, 1
jne 0x100855e2
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x1b
mov dword [0x10141b08], ecx
lea ecx, [esp + 0x2c]
push str.CBaseCombatWeapon__m_iClip1
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141ad8], eax
cmp edx, 0x10
jb 0x100855e2
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100855d8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10085682
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ad8]
lea ecx, [esp + 0xa8]
mov edx, dword [eax + 4]
add edx, dword [esp + 0x5c]
mov edx, dword [edx]
call fcn.1000a690
mov ecx, eax
cmp dword [ecx + 0x14], 0x10
jb 0x10085606
mov ecx, dword [ecx]
sub esp, 8
lea esi, [ecx + 1]
mov edx, esp
mov dword [edx], ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085610
vmovss xmm0, dword [esp + 0x20]
sub esp, 8
sub ecx, esi
cmp byte [esp + 0x27], 0
mov eax, esp
mov dword [edx + 4], ecx
mov ecx, 0xb4828282
push 0
vmovss dword [eax], xmm0
vmovss xmm0, dword [esp + 0x54]
vmovss dword [eax + 4], xmm0
mov eax, 0xb4ffffff
cmovne eax, ecx
push eax
push dword [esp + 0x5c]
call fcn.10083a00
mov edx, dword [esp + 0xbc]
cmp edx, 0x10
jb 0x10085692
mov ecx, dword [esp + 0xa8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085688
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10085688
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0xf
mov byte [esp + 0xa8], 0
mov dword [esp + 0x40], 4
cmp byte [edi + 0x11], 0
je 0x10085997
mov ecx, dword [0x10141c88]
test cl, 1
jne 0x10085755
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x18
mov dword [0x10141c88], ecx
lea ecx, [esp + 0x2c]
push str.CBaseEntity__m_vecOrigin
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141c78], eax
cmp edx, 0x10
jb 0x1008574f
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085745
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov ecx, dword [0x10141c88]
mov eax, dword [0x10141c78]
mov edx, dword [eax + 4]
mov eax, dword [0x10141b50]
add edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test cl, 1
jne 0x100857fb
mov esi, dword [0x10141ef0]
or ecx, 1
push 0x18
mov dword [0x10141c88], ecx
lea ecx, [esp + 0x2c]
push str.CBaseEntity__m_vecOrigin
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0xf
call fcn.10004660
lea eax, [esp + 0x28]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x3c]
mov dword [0x10141c78], eax
cmp edx, 0x10
jb 0x100857f7
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100857ed
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov edx, dword [esp + 0x24]
mov eax, dword [0x10141c78]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x18]
vmovss xmm0, dword [eax]
vsubss xmm3, xmm0, dword [edx]
vmovss xmm0, dword [eax + 4]
vsubss xmm1, xmm0, dword [edx + 4]
vmovss xmm0, dword [eax + 8]
vsubss xmm2, xmm0, dword [edx + 8]
vmulss xmm1, xmm1, xmm1
vmulss xmm0, xmm3, xmm3
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm2, xmm2
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x1008584b
vsqrtsd xmm0, xmm0, xmm0
jmp 0x10085850
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
mov ecx, dword [edi + 0x224]
sub esp, 8
vcvtsd2ss xmm0, xmm0, xmm0
vmulss xmm0, xmm0, dword [0x101335a8]
vmulss xmm0, xmm0, dword [0x101336fc]
vcvttss2si eax, xmm0
mov dword [esp + 0x8c], eax
mov eax, esp
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0x88], 0x10000000
push 5
mov dword [eax + 4], ecx
lea ecx, [esp + 0x34]
push str._FT
mov dword [eax], 1
call fcn.10072e20
cmp dword [esp + 0x4c], 0x10
lea ecx, [esp + 0x38]
cmovae ecx, dword [esp + 0x38]
add esp, 8
mov edx, esp
lea esi, [ecx + 1]
mov dword [edx], ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100858c1
vmovss xmm0, dword [esp + 0x54]
vaddss xmm0, xmm0, dword [esp + 0x5c]
vaddss xmm1, xmm0, dword [0x101336d8]
sub ecx, esi
sub esp, 8
mov esi, dword [esp + 0x50]
mov eax, esi
vxorps xmm0, xmm0, xmm0
shr eax, 0x1f
cmp byte [esp + 0x27], 0
vcvtsi2sd xmm0, xmm0, esi
mov dword [edx + 4], ecx
mov ecx, 0xb4828282
vaddsd xmm0, xmm0, qword [eax*8 + 0x10133ac0]
vcvtsd2ss xmm0, xmm0, xmm0
vaddss xmm1, xmm1, xmm0
vmovss xmm0, dword [esp + 0x60]
vmulss xmm0, xmm0, dword [0x10133618]
vaddss xmm0, xmm0, dword [esp + 0x58]
mov eax, esp
push 1
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm1
mov eax, 0xb4ffffff
cmovne eax, ecx
push eax
push dword [esp + 0x30]
call fcn.10083a00
mov edx, dword [esp + 0x3c]
cmp edx, 0x10
jb 0x1008597b
mov ecx, dword [esp + 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085971
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10085971
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eeeaa
add esp, 8
add esi, 8
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
mov byte [esp + 0x28], 0
mov dword [esp + 0x40], esi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10085cab
mov edx, dword [eax + 0x88]
test edx, edx
je 0x10085cab
cmp byte [edi + 0xe], 0
je 0x10085cab
mov ecx, dword [0x10141b54]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
mov esi, eax
mov dword [esp + 0x18], eax
lea edx, [esi + 2]
mov cx, word [esi]
add esi, 2
test cx, cx
jne 0x100859d2
sub esi, edx
sar esi, 1
jne 0x10085a06
xor edx, edx
mov eax, 0xf
xor esi, esi
mov dword [esp + 0xe0], edx
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], eax
jmp 0x10085b06
push 0
push 0
push 0
push 0
push esi
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [esp + 0x20], eax
mov dword [esp + 0xc0], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
test eax, eax
jne 0x10085a56
mov dword [esp + 0xd0], eax
mov byte [esp + eax + 0xc0], al
jmp 0x10085a9a
cmp eax, 0xf
ja 0x10085a83
push eax
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xc4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov byte [esp + ecx + 0xc0], 0
jmp 0x10085a9e
push 0
push eax
push dword [esp + 0x84]
lea ecx, [esp + 0xcc]
push eax
call fcn.1000f980
mov ecx, dword [esp + 0x20]
cmp dword [esp + 0xd4], 0x10
lea eax, [esp + 0xc0]
push 0
cmovae eax, dword [esp + 0xc4]
push 0
push ecx
push eax
push esi
push dword [esp + 0x2c]
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
vmovdqu xmm0, xmmword [esp + 0xc0]
vmovdqu xmmword [esp + 0xe0], xmm0
vmovq xmm0, qword [esp + 0xd0]
mov edx, dword [esp + 0xe0]
vmovq qword [esp + 0xf0], xmm0
mov esi, dword [esp + 0xf0]
mov eax, dword [esp + 0xf4]
lea ecx, [esp + 0xe0]
cmp eax, 0x10
jb 0x10085b1e
mov eax, edx
mov dword [esp + 0x24], edx
add esi, edx
mov ecx, edx
jmp 0x10085b2b
lea eax, [esp + 0xe0]
add esi, eax
mov dword [esp + 0x24], eax
cmp eax, esi
je 0x10085b5d
mov edi, dword [esp + 0x24]
sub ecx, edi
mov dword [esp + 0x18], ecx
nop dword [eax]
movsx eax, byte [edi]
push eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov ecx, dword [esp + 0x1c]
add esp, 4
mov byte [edi + ecx], al
inc edi
cmp edi, esi
jne 0x10085b40
mov edi, dword [esp + 0x60]
cmp byte [esp + 0x17], 0
je 0x10085b6b
mov edx, 0xb4828282
jmp 0x10085ba7
vmovss xmm1, dword [0x101337f0]
vmulss xmm0, xmm1, dword [edi + 0x44]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x40]
movzx edx, al
or edx, 0xffffb400
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x3c]
shl edx, 8
movzx eax, al
or edx, eax
vcvttss2si eax, xmm0
shl edx, 8
movzx eax, al
or edx, eax
cmp dword [esp + 0xf4], 0x10
lea ecx, [esp + 0xe0]
mov eax, dword [edi + 0x224]
cmovae ecx, dword [esp + 0xe0]
sub esp, 8
mov esi, esp
mov dword [esp + 0x4c], eax
lea eax, [ecx + 1]
mov dword [esi], ecx
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085bd6
sub ecx, dword [esp + 0x20]
sub esp, 8
vmovss xmm0, dword [esp + 0x5c]
vaddss xmm0, xmm0, dword [esp + 0x64]
vaddss xmm1, xmm0, dword [0x101336d8]
mov dword [esi + 4], ecx
mov esi, dword [esp + 0x50]
mov eax, esi
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, esi
shr eax, 0x1f
vaddsd xmm0, xmm0, qword [eax*8 + 0x10133ac0]
vcvtsd2ss xmm0, xmm0, xmm0
mov eax, esp
vaddss xmm1, xmm1, xmm0
vmovss xmm0, dword [esp + 0x60]
vmulss xmm0, xmm0, dword [0x10133618]
vaddss xmm0, xmm0, dword [esp + 0x58]
push 1
push edx
push dword [esp + 0x5c]
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm1
call fcn.10083a00
mov edx, dword [esp + 0xf4]
add esi, 8
mov dword [esp + 0x40], esi
cmp edx, 0x10
jb 0x10085c8d
mov ecx, dword [esp + 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085c83
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10085c83
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0xf
mov byte [esp + 0xe0], 0
cmp dword [esp + 0x5c], 0
je 0x10085e51
cmp byte [edi + 0xf], 0
je 0x10085e51
cmp byte [esp + 0x17], 0
je 0x10085cd1
mov dword [esp + 0x24], 0xb4828282
jmp 0x10085d11
vmovss xmm1, dword [0x101337f0]
vmulss xmm0, xmm1, dword [edi + 0x44]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x40]
movzx ecx, al
or ecx, 0xffffb400
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x3c]
shl ecx, 8
movzx eax, al
or ecx, eax
vcvttss2si eax, xmm0
shl ecx, 8
movzx eax, al
or ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [edi + 0x228]
mov dword [esp + 0x18], eax
mov eax, dword [0x10141ab8]
test al, 1
jne 0x10085dba
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0xc0]
push 0x2d
or eax, 1
mov dword [esp + 0xc4], 0
push str.CBaseAttributableItem__m_iItemDefinitionIndex
mov dword [0x10141ab8], eax
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0xf
call fcn.10004660
lea eax, [esp + 0xc0]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0xd4]
mov dword [0x10141ad4], eax
cmp edx, 0x10
jb 0x10085dba
mov ecx, dword [esp + 0xc0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085db0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ad4]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x5c]
movzx eax, word [eax]
push eax
call fcn.10083540
sub esp, 8
mov ecx, eax
mov edx, esp
lea esi, [ecx + 1]
mov dword [edx], ecx
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085de0
vmovss xmm0, dword [esp + 0x54]
vaddss xmm0, xmm0, dword [esp + 0x5c]
vaddss xmm1, xmm0, dword [0x101336d8]
mov eax, dword [esp + 0x48]
sub esp, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
shr eax, 0x1f
sub ecx, esi
mov dword [edx + 4], ecx
vaddsd xmm0, xmm0, qword [eax*8 + 0x10133ac0]
vcvtsd2ss xmm0, xmm0, xmm0
mov eax, esp
vaddss xmm1, xmm1, xmm0
vmovss xmm0, dword [esp + 0x60]
vmulss xmm0, xmm0, dword [0x10133618]
vaddss xmm0, xmm0, dword [esp + 0x58]
push 1
push dword [esp + 0x38]
vmovss dword [eax], xmm0
push dword [esp + 0x30]
vmovss dword [eax + 4], xmm1
call fcn.10083a00
xor eax, eax
mov dword [esp + 0x20], eax
cmp byte [edi + 0x16], al
je 0x10086015
mov eax, dword [0x10141e18]
test al, 1
jne 0x10085eed
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x64]
push 0x15
or eax, 1
mov dword [esp + 0x68], 0
push str.CCSPlayer__m_iAccount
mov dword [0x10141e18], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0xf
call fcn.10004660
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x78]
mov dword [0x10141de8], eax
cmp edx, 0x10
jb 0x10085eed
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085ee3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10085fdf
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141de8]
lea ecx, [esp + 0x88]
mov esi, dword [edi + 0x224]
sub esp, 8
mov dword [esp + 0x90], 0x10000000
mov eax, dword [eax + 4]
add eax, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [esp + 0x94], eax
mov eax, esp
push 3
push 0x101318d0
mov dword [eax + 4], ecx
lea ecx, [esp + 0xd0]
mov dword [eax], 1
call fcn.10072e20
cmp dword [esp + 0xe4], 0x10
lea ecx, [esp + 0xd0]
cmovae ecx, dword [esp + 0xd0]
add esp, 8
mov edx, esp
lea eax, [ecx + 1]
mov dword [edx], ecx
mov dword [esp + 0x20], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10085f60
vmovss xmm0, dword [esp + 0x50]
sub ecx, dword [esp + 0x20]
sub esp, 8
vaddss xmm0, xmm0, dword [esp + 0x60]
vaddss xmm0, xmm0, dword [0x101336d8]
cmp byte [esp + 0x27], 0
mov eax, esp
mov dword [edx + 4], ecx
mov ecx, 0xb4828282
push 0
vmovss dword [eax], xmm0
vmovss xmm0, dword [esp + 0x60]
vmovss dword [eax + 4], xmm0
mov eax, 0xb43cc896
cmovne eax, ecx
push eax
push esi
call fcn.10083a00
mov edx, dword [esp + 0xd4]
cmp edx, 0x10
jb 0x10085fef
mov ecx, dword [esp + 0xc0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10085fe5
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10085fe5
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0xf
mov byte [esp + 0xc0], 0
mov dword [esp + 0x20], 9
cmp byte [edi + 0xd], 0
je 0x100863c3
mov eax, dword [0x10141d3c]
test al, 1
jne 0x100860ac
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x64]
push 0x17
or eax, 1
mov dword [esp + 0x68], 0
push str.CCSPlayer__m_ArmorValue
mov dword [0x10141d3c], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0xf
call fcn.10004660
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x78]
mov dword [0x10141d38], eax
cmp edx, 0x10
jb 0x100860ac
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100860a2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141d38]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
cmp dword [eax + ecx], 0
je 0x10086219
mov eax, dword [0x10141d40]
test al, 1
jne 0x1008616e
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x64]
push 0x17
or eax, 1
mov dword [esp + 0x68], 0
push str.CCSPlayer__m_bHasHelmet
mov dword [0x10141d40], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0xf
call fcn.10004660
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x78]
mov dword [0x10141d34], eax
cmp edx, 0x10
jb 0x10086175
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10086145
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10086298
push edx
push ecx
call fcn.100eeeaa
mov eax, dword [0x10141d34]
add esp, 8
mov edx, dword [esp + 0x1c]
mov ecx, 0x101318e4
mov esi, 0x10112438
mov eax, dword [eax + 4]
cmp byte [edx + eax], 0
cmove ecx, esi
jmp 0x1008618e
mov eax, dword [0x10141d34]
jmp 0x10086179
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 4]
mov edx, 0x10112438
add eax, ecx
mov ecx, 0x101318e4
cmp byte [eax], 0
cmove ecx, edx
mov eax, dword [edi + 0x224]
lea esi, [ecx + 1]
sub esp, 8
mov dword [esp + 0x20], eax
mov edx, esp
mov dword [edx], ecx
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100861a2
sub ecx, esi
sub esp, 8
mov esi, dword [esp + 0x30]
mov eax, esi
vxorps xmm0, xmm0, xmm0
shr eax, 0x1f
cmp byte [esp + 0x27], 0
vcvtsi2sd xmm0, xmm0, esi
mov dword [edx + 4], ecx
mov ecx, 0xb4828282
vaddsd xmm0, xmm0, qword [eax*8 + 0x10133ac0]
vcvtsd2ss xmm0, xmm0, xmm0
vaddss xmm1, xmm0, dword [esp + 0x5c]
vmovss xmm0, dword [esp + 0x58]
vaddss xmm0, xmm0, dword [esp + 0x60]
vaddss xmm0, xmm0, dword [0x101336d8]
mov eax, esp
push 0
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm1
mov eax, 0xb4ffffff
cmovne eax, ecx
push eax
push dword [esp + 0x30]
call fcn.10083a00
add esi, 9
mov dword [esp + 0x20], esi
mov eax, dword [0x10141c58]
test al, 1
jne 0x100862a8
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x64]
push 0x16
or eax, 1
mov dword [esp + 0x68], 0
push str.CCSPlayer__m_bIsScoped
mov dword [0x10141c58], eax
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0xf
call fcn.10004660
lea eax, [esp + 0x64]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x78]
mov dword [0x10141c60], eax
cmp edx, 0x10
jb 0x100862a8
mov ecx, dword [esp + 0x64]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008629e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008629e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141c60]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x20]
mov eax, dword [eax + 4]
cmp byte [eax + ecx], 0
je 0x1008633e
mov ecx, dword [edi + 0x224]
sub esp, 8
mov eax, esp
mov edx, 0xb4828282
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, esi
sub esp, 8
mov dword [eax], str.ZOOM
mov dword [eax + 4], 4
mov eax, esi
shr eax, 0x1f
cmp byte [esp + 0x27], 0
vaddsd xmm0, xmm0, qword [eax*8 + 0x10133ac0]
vcvtsd2ss xmm0, xmm0, xmm0
vaddss xmm1, xmm0, dword [esp + 0x5c]
vmovss xmm0, dword [esp + 0x58]
vaddss xmm0, xmm0, dword [esp + 0x60]
vaddss xmm0, xmm0, dword [0x101336d8]
mov eax, esp
push 0
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm1
mov eax, 0xb4e1b43c
cmovne eax, edx
push eax
push ecx
call fcn.10083a00
mov ecx, dword [esp + 0x1c]
add esi, 9
mov eax, dword [0x10141f04]
mov eax, dword [eax + 0x78]
call eax
test al, al
je 0x100863c3
mov ecx, dword [edi + 0x224]
sub esp, 8
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, esi
mov eax, esp
shr esi, 0x1f
sub esp, 8
mov edx, 0xb4828282
cmp byte [esp + 0x27], 0
vaddsd xmm0, xmm0, qword [esi*8 + 0x10133ac0]
vcvtsd2ss xmm0, xmm0, xmm0
vaddss xmm1, xmm0, dword [esp + 0x5c]
vmovss xmm0, dword [esp + 0x58]
vaddss xmm0, xmm0, dword [esp + 0x60]
vaddss xmm0, xmm0, dword [0x101336d8]
mov dword [eax], 0x10112414
mov dword [eax + 4], 1
mov eax, esp
push 0
vmovss dword [eax], xmm0
vmovss dword [eax + 4], xmm1
mov eax, 0xb40000ff
cmovne eax, edx
push eax
push ecx
call fcn.10083a00
cmp byte [esp + 0x17], 0
jne 0x100866be
cmp byte [edi + 0x17], 0
je 0x100866be
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x294c]
mov dword [esp + 0x7c], eax
test eax, eax
je 0x100866be
mov ecx, dword [eax]
test ecx, ecx
je 0x100866be
vmovss xmm1, dword [0x101337f0]
vmulss xmm0, xmm1, dword [edi + 0x78]
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x74]
movzx edx, al
or edx, 0xffffb400
shl edx, 8
vcvttss2si eax, xmm0
vmulss xmm0, xmm1, dword [edi + 0x70]
movzx eax, al
or edx, eax
shl edx, 8
vcvttss2si eax, xmm0
movzx eax, al
or edx, eax
mov dword [esp + 0x18], edx
xor edx, edx
mov dword [esp + 0x44], edx
cmp dword [ecx + 0x9c], edx
jbe 0x100866be
mov dword [esp + 0x60], edx
xor edi, edi
mov esi, dword [ecx + 0xa0]
mov eax, ecx
add esi, ecx
add esi, edi
je 0x100866a0
test dword [esi + 0xa0], 0x100
je 0x100866a0
cmp dword [esi + 4], 0xffffffff
je 0x100866a0
mov ecx, dword [0x10141b24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x60]
mov ecx, dword [ecx + 0x2910]
vmovss xmm4, dword [ecx + edx + 0xc]
vmovss xmm2, dword [ecx + edx + 0x1c]
vmulss xmm0, xmm4, dword [eax]
vmovss xmm3, dword [ecx + edx + 0x2c]
vmulss xmm1, xmm2, dword [eax + 4]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [eax + 8]
vaddss xmm0, xmm1, xmm0
vaddss xmm5, xmm0, dword [eax + 0xc]
vmulss xmm0, xmm4, dword [eax + 0x10]
vmulss xmm1, xmm2, dword [eax + 0x14]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [eax + 0x18]
vaddss xmm0, xmm1, xmm0
vaddss xmm6, xmm0, dword [eax + 0x1c]
vmulss xmm0, xmm4, dword [eax + 0x30]
vmulss xmm1, xmm2, dword [eax + 0x34]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [eax + 0x38]
vaddss xmm0, xmm1, xmm0
vaddss xmm4, xmm0, dword [eax + 0x3c]
vmovss xmm0, dword [0x1013358c]
vcomiss xmm0, xmm4
jbe 0x10086525
vmulss xmm1, xmm5, dword [0x1013385c]
vmulss xmm0, xmm6, dword [0x1013385c]
vmovss dword [esp + 0x5c], xmm1
jmp 0x10086564
mov eax, dword [0x10141c24]
vmovss xmm3, dword [0x10133618]
vdivss xmm0, xmm5, xmm4
vmulss xmm0, xmm0, dword [eax + 0x10]
vmulss xmm1, xmm0, xmm3
vmulss xmm0, xmm3, dword [eax + 0x10]
vaddss xmm0, xmm1, xmm0
vmulss xmm1, xmm3, dword [eax + 0x14]
vmovss dword [esp + 0x5c], xmm0
vdivss xmm0, xmm6, xmm4
vmulss xmm0, xmm0, dword [eax + 0x14]
vmulss xmm0, xmm0, xmm3
vsubss xmm0, xmm1, xmm0
mov ecx, dword [0x10141b24]
vmovss dword [esp + 0x40], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x94]
call eax
mov ecx, dword [esi + 4]
lea edx, [ecx + ecx*2]
mov ecx, dword [esp + 0x1c]
add edx, edx
mov ecx, dword [ecx + 0x2910]
vmovss xmm4, dword [ecx + edx*8 + 0xc]
vmovss xmm2, dword [ecx + edx*8 + 0x1c]
vmulss xmm0, xmm4, dword [eax]
vmovss xmm3, dword [ecx + edx*8 + 0x2c]
vmulss xmm1, xmm2, dword [eax + 4]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [eax + 8]
vaddss xmm0, xmm1, xmm0
vaddss xmm5, xmm0, dword [eax + 0xc]
vmulss xmm0, xmm4, dword [eax + 0x10]
vmulss xmm1, xmm2, dword [eax + 0x14]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [eax + 0x18]
vaddss xmm0, xmm1, xmm0
vaddss xmm6, xmm0, dword [eax + 0x1c]
vmulss xmm0, xmm4, dword [eax + 0x30]
vmulss xmm1, xmm2, dword [eax + 0x34]
vaddss xmm1, xmm1, xmm0
vmulss xmm0, xmm3, dword [eax + 0x38]
vaddss xmm0, xmm1, xmm0
vaddss xmm4, xmm0, dword [eax + 0x3c]
vmovss xmm0, dword [0x1013358c]
vcomiss xmm0, xmm4
jbe 0x10086617
vmulss xmm1, xmm5, dword [0x1013385c]
vmulss xmm0, xmm6, dword [0x1013385c]
vmovss dword [esp + 0x20], xmm1
jmp 0x10086656
mov eax, dword [0x10141c24]
vmovss xmm3, dword [0x10133618]
vdivss xmm0, xmm5, xmm4
vmulss xmm0, xmm0, dword [eax + 0x10]
vmulss xmm1, xmm0, xmm3
vmulss xmm0, xmm3, dword [eax + 0x10]
vaddss xmm0, xmm1, xmm0
vmulss xmm1, xmm3, dword [eax + 0x14]
vmovss dword [esp + 0x20], xmm0
vdivss xmm0, xmm6, xmm4
vmulss xmm0, xmm0, dword [eax + 0x14]
vmulss xmm0, xmm0, xmm3
vsubss xmm0, xmm1, xmm0
mov ecx, dword [0x10141b30]
push dword [esp + 0x18]
vmovss dword [esp + 0x28], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
vcvttss2si eax, dword [esp + 0x24]
mov ecx, dword [0x10141b30]
push eax
vcvttss2si eax, dword [esp + 0x24]
push eax
vcvttss2si eax, dword [esp + 0x48]
mov edx, dword [ecx]
push eax
vcvttss2si eax, dword [esp + 0x68]
push eax
mov eax, dword [edx + 0x4c]
call eax
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x44]
mov eax, dword [ecx]
add dword [esp + 0x60], 0x30
inc edx
add edi, 0xd8
mov dword [esp + 0x44], edx
mov ecx, eax
cmp edx, dword [eax + 0x9c]
jb 0x10086450
mov ecx, dword [esp + 0x3bc]
pop edi
pop esi
xor ecx, esp
call fcn.100eeb4d
mov esp, ebp
pop ebp
ret 4