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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x30d0
call fcn.100ef340
mov eax, dword [0x10137008]
xor eax, esp
mov dword [esp + 0x30cc], eax
mov eax, dword [ebp + 8]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x44], edi
mov esi, dword [edi + 0xb4]
mov dword [edi + 0xb0], 0
mov dword [edi + 0xb4], 0
test esi, esi
je 0x10055d9f
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10055d9f
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10055d9f
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
cmp byte [edi + 8], 0
je 0x100577be
mov eax, dword [0x10141f04]
mov ecx, dword [eax + 0x14c]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x100577be
cmp dword [eax + 0x150], 0
je 0x100577be
mov ecx, dword [0x10141ac8]
test cl, 1
jne 0x10055e5f
mov esi, dword [0x10141ef0]
or ecx, 1
push 0xb
mov dword [0x10141ac8], ecx
lea ecx, [esp + 0x4c]
push str.m_bInReload
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141afc], eax
cmp edx, 0x10
jb 0x10055e5a
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10055e50
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141f04]
mov ecx, dword [0x10141afc]
mov edx, dword [esp + 0x18]
mov ecx, dword [ecx + 4]
cmp byte [edx + ecx], 0
jne 0x100577be
mov ecx, dword [eax + 0x150]
mov ecx, dword [ecx + 0xcc]
sub ecx, 2
cmp ecx, 5
jbe 0x10055f35
mov eax, dword [eax + 0x14c]
mov dword [esp + 0x18], eax
mov eax, dword [0x10141ab8]
test al, 1
jne 0x10055f1e
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x48]
push 0x2d
or eax, 1
mov dword [esp + 0x4c], 0
push str.CBaseAttributableItem__m_iItemDefinitionIndex
mov dword [0x10141ab8], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141ad4], eax
cmp edx, 0x10
jb 0x10055f1e
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10055f14
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ad4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
cmp word [ecx + eax], 0x1f
jne 0x100577be
mov eax, dword [0x10141b50]
mov ecx, dword [0x10141c8c]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test cl, 1
jne 0x10055fd3
mov esi, dword [0x10141ef0]
or ecx, 1
push 0xa
mov dword [0x10141c8c], ecx
lea ecx, [esp + 0x4c]
push str.m_MoveType
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141ca4], eax
cmp edx, 0x10
jb 0x10055fcd
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10055fc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov ecx, dword [0x10141c8c]
mov eax, dword [0x10141ca4]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 4]
cmp byte [edx + eax], 9
je 0x100577be
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
test cl, 1
jne 0x10056077
mov esi, dword [0x10141ef0]
or ecx, 1
push 0xa
mov dword [0x10141c8c], ecx
lea ecx, [esp + 0x4c]
push str.m_MoveType
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141ca4], eax
cmp edx, 0x10
jb 0x10056077
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005606d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ca4]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 4]
cmp byte [ecx + eax], 8
je 0x100577be
mov ecx, edi
call fcn.10054d70
mov eax, dword [edi + 0xf8]
mov esi, dword [edi + 0xf4]
mov dword [esp + 0x18], eax
cmp esi, eax
je 0x100560c7
push 1
push dword [edi + 0x54]
mov ecx, edi
push dword [edi + 0x50]
push esi
call fcn.10051410
add esi, 0x20
cmp esi, dword [esp + 0x18]
jne 0x100560a8
mov esi, dword [edi + 0xf4]
mov eax, dword [edi + 0xf8]
mov dword [esp + 0xc], eax
cmp esi, eax
je 0x10056186
mov edi, eax
nop dword [eax + eax]
push esi
call fcn.10052bc0
test al, al
je 0x100560f1
add esi, 0x20
cmp esi, edi
jne 0x100560e0
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x44]
cmp esi, eax
je 0x10056186
lea ecx, [esi + 0x20]
mov dword [esp + 0x64], ecx
cmp ecx, eax
je 0x1005613f
mov edi, eax
nop
push ecx
call fcn.10052bc0
test al, al
je 0x10056128
push dword [esp + 0x64]
mov ecx, esi
call fcn.10057f70
add esi, 0x20
mov ecx, dword [esp + 0x64]
add ecx, 0x20
mov dword [esp + 0x64], ecx
cmp ecx, edi
jne 0x10056110
mov edi, dword [esp + 0x44]
mov eax, dword [esp + 0xc]
cmp esi, eax
je 0x10056186
mov ecx, dword [edi + 0xf8]
mov dword [esp + 0x18], ecx
cmp eax, ecx
je 0x10056173
mov edi, dword [esp + 0xc]
push edi
mov ecx, esi
call fcn.10057f70
add edi, 0x20
add esi, 0x20
cmp edi, dword [esp + 0x18]
jne 0x10056155
mov edi, dword [esp + 0x44]
mov ecx, dword [edi + 0xf8]
push ecx
mov edx, ecx
mov ecx, esi
call fcn.10007d90
add esp, 4
mov dword [edi + 0xf8], esi
mov esi, dword [esp + 0x84]
mov ecx, edi
push dword [esi + 4]
call fcn.100551c0
mov ecx, eax
mov dword [esp + 0x44], ecx
test ecx, ecx
je 0x1005779d
mov eax, dword [0x10141f04]
or byte [eax + 0x148], 0x20
push dword [esi + 4]
push ecx
mov ecx, edi
call fcn.100549a0
mov dword [esp + 0x64], eax
test eax, eax
je 0x1005779d
cmp byte [eax + 0x21], 0
je 0x1005779d
mov eax, dword [esp + 0x44]
push 0x3000
vxorps xmm0, xmm0, xmm0
push 0
mov ecx, dword [eax]
lea eax, [esp + 0xc4]
push eax
vmovss dword [esp + 0x6c], xmm0
mov esi, dword [ecx]
mov dword [esp + 0x18], esi
vmovss dword [esp + 0x94], xmm0
call sub.VCRUNTIME140.dll_memset
mov dword [esp + 0x30c8], 0
add esp, 0xc
mov dword [esp + 0x30c8], 0
mov eax, dword [esi + 0x3914]
test eax, eax
je 0x10056239
vmovss xmm0, dword [eax + 0x80]
vmovss dword [esp + 0x88], xmm0
mov eax, dword [0x10141c88]
test al, 1
jne 0x100562c7
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x48]
push 0x18
or eax, 1
mov dword [esp + 0x4c], 0
push str.CBaseEntity__m_vecOrigin
mov dword [0x10141c88], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141c78], eax
cmp edx, 0x10
jb 0x100562c3
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100562b9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10141c78]
mov ecx, esi
mov eax, dword [eax + 4]
vmovq xmm0, qword [eax + esi]
vmovq qword [esp + 0x8c], xmm0
mov eax, dword [eax + esi + 8]
mov dword [esp + 0x94], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
vmovq xmm0, qword [eax]
vmovq qword [esp + 0x98], xmm0
mov eax, dword [eax + 8]
mov dword [esp + 0xa0], eax
mov eax, dword [0x10141c50]
test al, 1
jne 0x10056396
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x48]
push 0x16
or eax, 1
mov dword [esp + 0x4c], 0
push str.CBaseEntity__m_vecMins
mov dword [0x10141c50], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141c5c], eax
cmp edx, 0x10
jb 0x10056392
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056388
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10141c5c]
mov eax, dword [eax + 4]
vmovq xmm0, qword [eax + esi]
vmovq qword [esp + 0xa4], xmm0
mov eax, dword [eax + esi + 8]
mov dword [esp + 0xac], eax
mov eax, dword [0x10141ca0]
test al, 1
jne 0x10056445
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x48]
push 0x16
or eax, 1
mov dword [esp + 0x4c], 0
push str.CBaseEntity__m_vecMaxs
mov dword [0x10141ca0], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141c80], eax
cmp edx, 0x10
jb 0x10056441
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056437
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov esi, dword [esp + 0xc]
mov eax, dword [0x10141c80]
mov eax, dword [eax + 4]
vmovq xmm0, qword [eax + esi]
vmovq qword [esp + 0xb0], xmm0
mov eax, dword [eax + esi + 8]
mov dword [esp + 0xb8], eax
mov eax, dword [esi + 0x26b0]
mov dword [esp + 0x30c0], eax
mov eax, dword [esi + 0x26b4]
mov dword [esp + 0x30c4], eax
mov eax, dword [esi + 0x291c]
lea eax, [eax + eax*2]
shl eax, 4
push eax
push dword [esi + 0x2910]
lea eax, [esp + 0xc4]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x291c]
add esp, 0xc
mov dword [esp + 0x30bc], eax
mov eax, dword [esi + 0x2690]
mov dword [esp + 0x30c8], eax
mov eax, dword [esp + 0x44]
lea ecx, [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x78], ecx
mov ecx, dword [ecx]
mov dword [esp + 0x18], ecx
mov esi, dword [eax]
mov dword [esp + 0xc], esi
mov edx, dword [ecx + 0x14]
lea eax, [ecx + 0x58]
vmovq xmm0, qword [eax]
mov dword [esp + 0x74], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x68], eax
mov eax, dword [0x10141c88]
mov dword [esp + 0x38], edx
vmovq qword [esp + 0x10], xmm0
test al, 1
jne 0x10056589
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x48]
push 0x18
or eax, 1
mov dword [esp + 0x4c], 0
push str.CBaseEntity__m_vecOrigin
mov dword [0x10141c88], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0xf
call fcn.10004660
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x5c]
mov dword [0x10141c78], eax
cmp edx, 0x10
jb 0x1005657f
mov ecx, dword [esp + 0x48]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056575
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov esi, dword [esp + 0xc]
vmovq xmm0, qword [esp + 0x10]
mov eax, dword [0x10141c78]
mov ecx, dword [esp + 0x68]
push dword [esp + 0x74]
mov eax, dword [eax + 4]
vmovq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
mov ecx, esi
mov eax, dword [0x10141f04]
mov eax, dword [eax + 0x18]
call eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
test edx, edx
je 0x1005660d
mov ecx, dword [esp + 0x18]
vmovss xmm0, dword [esi + 0x9920]
vmovss dword [esp + 0x74], xmm0
vmovss xmm0, dword [esi + 0x9924]
lea eax, [ecx + 0x70]
push eax
lea eax, [ecx + 0x64]
mov ecx, edx
push eax
mov eax, dword [0x10141f04]
vmovss dword [esp + 0x70], xmm0
mov eax, dword [eax + 0x28]
call eax
vmovss xmm0, dword [esp + 0x74]
vmovss dword [esi + 0x9920], xmm0
vmovss xmm0, dword [esp + 0x68]
vmovss dword [esi + 0x9924], xmm0
mov eax, dword [esp + 0x38]
cmp eax, 3
jae 0x100577d4
mov esi, dword [esp + 0x18]
vmovss xmm1, dword [esp + 0x60]
mov ecx, dword [esp + 0xc]
add esi, 0x354
imul eax, eax, 0x32f0
add esi, eax
lea eax, [esp + 0x48]
push eax
mov eax, dword [0x10141f04]
vmovss dword [esp + 0x4c], xmm1
vmovss xmm0, dword [esi + 0x3004]
vmovss dword [esp + 0x50], xmm0
vmovss dword [esp + 0x54], xmm1
mov eax, dword [eax + 0x14]
call eax
mov eax, dword [esi + 0x3000]
lea eax, [eax + eax*2]
shl eax, 4
push eax
push esi
mov esi, dword [esp + 0x14]
push dword [esi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [0x10141f04]
add esp, 0xc
vmovss xmm3, dword [0x101337f8]
vmovss xmm4, dword [0x101337b4]
vmovss dword [esp + 0x10], xmm3
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xa]
mov eax, dword [eax]
mov dword [esi + 0x2690], eax
mov esi, dword [esp + 0x64]
mov eax, dword [0x10141f04]
vmovss xmm0, dword [esi]
vsubss xmm5, xmm0, dword [eax + 0x108]
vmovss xmm0, dword [esi + 4]
vsubss xmm2, xmm0, dword [eax + 0x10c]
vmovss xmm0, dword [esi + 8]
vsubss xmm6, xmm0, dword [eax + 0x110]
vmovss xmm0, dword [esp + 0x60]
vucomiss xmm5, xmm0
vmovss dword [esp + 0x68], xmm5
lahf
vmovss dword [esp + 0x74], xmm2
vmovss dword [esp + 0x38], xmm6
test ah, 0x44
jp 0x10056729
vucomiss xmm2, xmm0
lahf
test ah, 0x44
jp 0x10056729
vmovss dword [esp + 0xc], xmm0
vcomiss xmm6, xmm0
vmovss xmm0, dword [0x10133804]
jbe 0x10056720
vmovaps xmm1, xmm3
jmp 0x10056812
vmovaps xmm1, xmm4
jmp 0x10056812
vcvtss2sd xmm0, xmm2, xmm2
vmovsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
vcvtss2sd xmm0, xmm5, xmm5
vmovsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
vmovss xmm1, dword [esp + 0x60]
fstp qword [esp + 0x18]
vmovsd xmm0, qword [esp + 0x18]
vcvtpd2ps xmm0, xmm0
vmulss xmm0, xmm0, dword [0x10133794]
vcomiss xmm1, xmm0
vmovss dword [esp + 0xc], xmm0
jbe 0x10056780
vaddss xmm0, xmm0, dword [0x10133804]
vmovss dword [esp + 0xc], xmm0
vmovss xmm0, dword [esp + 0x38]
vxorps xmm0, xmm0, xmmword [0x10133b20]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x18], xmm0
vmovss xmm0, dword [esp + 0x74]
vmulss xmm1, xmm0, xmm0
vmovss xmm0, dword [esp + 0x68]
vmulss xmm0, xmm0, xmm0
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x100567c4
vsqrtsd xmm0, xmm0, xmm0
jmp 0x100567c9
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 0x18]
vcvtsd2ss xmm0, xmm0, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x38], xmm0
fld qword [esp + 0x38]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 0x38]
vmovsd xmm0, qword [esp + 0x38]
vcvtpd2ps xmm0, xmm0
vmulss xmm1, xmm0, dword [0x10133794]
vmovss xmm0, dword [esp + 0x60]
vcomiss xmm0, xmm1
vmovss xmm0, dword [0x10133804]
jbe 0x10056812
vaddss xmm1, xmm1, xmm0
sub esp, 8
vmovss dword [esp + 4], xmm0
vmovss dword [esp], xmm1
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm0, dword [0x10133804]
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [esp + 0x14]
fstp dword [esp + 0x50]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm0, dword [0x10133804]
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [esp + 0x68]
fstp dword [esp + 0x54]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
mov eax, dword [0x10141b50]
add esp, 8
fstp dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x3914]
test eax, eax
je 0x10056f00
cmp dword [eax + 0x60], 0
je 0x10056f00
cmp byte [eax + 0x109], 0
jne 0x10056957
vmovss xmm0, dword [eax + 0xa4]
vucomiss xmm0, dword [esp + 0x60]
lahf
test ah, 0x44
jp 0x10056957
mov eax, dword [0x10141c64]
test al, 1
jne 0x10056941
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0xf
or eax, 1
mov dword [esp + 0x24], 0
push str.m_hGroundEntity
mov dword [0x10141c64], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141cbc], eax
cmp edx, 0x10
jb 0x10056941
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056937
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141cbc]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 4]
cmp dword [ecx + eax], 0xffffffff
jne 0x10056f00
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [0x10141c74]
test al, 1
jne 0x100569e8
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x21
or eax, 1
mov dword [esp + 0x24], 0
push str.CBaseAnimating__m_flPoseParameter
mov dword [0x10141c74], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c84], eax
cmp edx, 0x10
jb 0x100569e8
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100569de
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141c84]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 4]
vmovss xmm0, dword [eax + ecx + 0x30]
mov eax, dword [0x10141f04]
vmovss dword [esp + 0xc], xmm0
mov ecx, dword [eax + 0xec]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x38], eax
call dword [esp + 0x38]
mov eax, dword [0x10141b50]
fstp dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [0x10141c70]
test al, 1
jne 0x10056aad
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x1c
or eax, 1
mov dword [esp + 0x24], 0
push str.CBasePlayer__m_aimPunchAngle
mov dword [0x10141c70], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c6c], eax
cmp edx, 0x10
jb 0x10056aad
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056aa3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141c6c]
mov eax, dword [eax + 4]
add dword [esp + 0x38], eax
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x68], eax
mov eax, dword [0x10141cb4]
test al, 1
jne 0x10056b4a
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x20
or eax, 1
mov dword [esp + 0x24], 0
push str.CCSPlayer__m_flThirdpersonRecoil
mov dword [0x10141cb4], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c54], eax
cmp edx, 0x10
jb 0x10056b4a
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056b40
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [esp + 0x38]
sub esp, 8
vmovss xmm0, dword [esp + 0x7c]
mov ecx, dword [esp + 0x70]
vmulss xmm1, xmm0, dword [eax]
mov eax, dword [0x10141c54]
vmovss xmm0, dword [esp + 0x50]
vsubss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x10133804]
mov eax, dword [eax + 4]
vmovss dword [esp + 4], xmm1
vaddss xmm0, xmm0, dword [eax + ecx]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm1, dword [0x101337b4]
fstp dword [esp + 0x40]
vmovss xmm0, dword [esp + 0x40]
add esp, 8
vcomiss xmm0, xmm1
jbe 0x10056bb0
vmovaps xmm0, xmm1
jmp 0x10056bc2
vmovss xmm2, dword [0x101338c0]
vcomiss xmm2, xmm0
jbe 0x10056bc2
vmovaps xmm0, xmm2
mov eax, dword [0x10141b50]
vaddss xmm0, xmm0, xmm1
vdivss xmm0, xmm0, dword [0x101337dc]
vmovss dword [esp + 0x18], xmm0
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [0x10141c74]
test al, 1
jne 0x10056c6f
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x21
or eax, 1
mov dword [esp + 0x24], 0
push str.CBaseAnimating__m_flPoseParameter
mov dword [0x10141c74], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c84], eax
cmp edx, 0x10
jb 0x10056c69
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056c5f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
vmovss xmm0, dword [esp + 0x18]
mov eax, dword [0x10141c84]
mov ecx, dword [esp + 0x38]
mov eax, dword [eax + 4]
vmovss dword [eax + ecx + 0x30], xmm0
call fcn.10065da0
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
mov eax, dword [0x10141c74]
test al, 1
jne 0x10056d17
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x21
or eax, 1
mov dword [esp + 0x24], 0
push str.CBaseAnimating__m_flPoseParameter
mov dword [0x10141c74], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c84], eax
cmp edx, 0x10
jb 0x10056d17
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056d0d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141c84]
mov ecx, dword [esp + 0x38]
vmovss xmm0, dword [esp + 0xc]
mov eax, dword [eax + 4]
vmovss dword [eax + ecx + 0x30], xmm0
mov ecx, dword [esp + 0x64]
mov eax, dword [0x10141f04]
vmovss xmm0, dword [ecx]
vsubss xmm2, xmm0, dword [eax + 0x108]
vmovss xmm0, dword [ecx + 4]
vsubss xmm1, xmm0, dword [eax + 0x10c]
vmovss xmm0, dword [ecx + 8]
vsubss xmm3, xmm0, dword [eax + 0x110]
vmovss xmm0, dword [esp + 0x60]
vucomiss xmm2, xmm0
vmovss dword [esp + 0x68], xmm2
lahf
vmovss dword [esp + 0x74], xmm1
vmovss dword [esp + 0x38], xmm3
test ah, 0x44
jp 0x10056db6
vucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10056db6
vmovss dword [esp + 0xc], xmm0
vcomiss xmm3, xmm0
vmovss xmm0, dword [0x10133804]
jbe 0x10056da9
vmovss xmm1, dword [esp + 0x10]
jmp 0x10056e9f
vmovss xmm1, dword [0x101337b4]
jmp 0x10056e9f
vcvtss2sd xmm0, xmm1, xmm1
vmovsd qword [esp + 0x10], xmm0
fld qword [esp + 0x10]
vcvtss2sd xmm0, xmm2, xmm2
vmovsd qword [esp + 0x10], xmm0
fld qword [esp + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 0x10]
vmovsd xmm0, qword [esp + 0x10]
vcvtpd2ps xmm0, xmm0
vmulss xmm1, xmm0, dword [0x10133794]
vmovss xmm0, dword [esp + 0x60]
vcomiss xmm0, xmm1
vmovss dword [esp + 0xc], xmm1
jbe 0x10056e0d
vaddss xmm1, xmm1, dword [0x10133804]
vmovss dword [esp + 0xc], xmm1
vmovss xmm0, dword [esp + 0x38]
vxorps xmm0, xmm0, xmmword [0x10133b20]
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x38], xmm0
vmovss xmm0, dword [esp + 0x74]
vmulss xmm1, xmm0, xmm0
vmovss xmm0, dword [esp + 0x68]
vmulss xmm0, xmm0, xmm0
vaddss xmm0, xmm1, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vxorpd xmm1, xmm1, xmm1
vucomisd xmm1, xmm0
ja 0x10056e51
vsqrtsd xmm0, xmm0, xmm0
jmp 0x10056e56
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_sqrt_precise
fld qword [esp + 0x38]
vcvtsd2ss xmm0, xmm0, xmm0
vcvtss2sd xmm0, xmm0, xmm0
vmovsd qword [esp + 0x10], xmm0
fld qword [esp + 0x10]
call sub.api_ms_win_crt_math_l1_1_0.dll__CIatan2
fstp qword [esp + 0x10]
vmovsd xmm0, qword [esp + 0x10]
vcvtpd2ps xmm0, xmm0
vmulss xmm1, xmm0, dword [0x10133794]
vmovss xmm0, dword [esp + 0x60]
vcomiss xmm0, xmm1
vmovss xmm0, dword [0x10133804]
jbe 0x10056e9f
vaddss xmm1, xmm1, xmm0
sub esp, 8
vmovss dword [esp + 4], xmm0
vmovss dword [esp], xmm1
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm0, dword [0x10133804]
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [esp + 0x14]
fstp dword [esp + 0x50]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm0, dword [0x10133804]
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [esp + 0x58]
fstp dword [esp + 0x54]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
fstp dword [esp + 0x58]
add esp, 8
mov eax, dword [0x10141f04]
mov eax, dword [eax + 0x14c]
mov dword [esp + 0x10], eax
mov eax, dword [0x10141ab8]
test al, 1
jne 0x10056f95
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x2d
or eax, 1
mov dword [esp + 0x24], 0
push str.CBaseAttributableItem__m_iItemDefinitionIndex
mov dword [0x10141ab8], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141ad4], eax
cmp edx, 0x10
jb 0x10056f95
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10056f8b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ad4]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
movzx eax, word [ecx + eax]
mov dword [esp + 0x18], eax
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10141b04]
test al, 1
jne 0x1005703a
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0xe
or eax, 1
mov dword [esp + 0x24], 0
push str.m_flNextAttack
mov dword [0x10141b04], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141ac4], eax
cmp edx, 0x10
jb 0x1005703a
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10057030
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ac4]
mov ecx, dword [eax + 4]
mov eax, dword [0x10141b18]
vmovss xmm0, dword [eax + 0x10]
mov eax, dword [esp + 0x10]
vcomiss xmm0, dword [eax + ecx]
jb 0x10057139
mov eax, dword [edi + 0x2c]
cmp eax, 1
je 0x1005711a
cmp eax, 2
jne 0x10057139
mov eax, dword [esp + 0x44]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10141b00]
test al, 1
jne 0x10057102
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x16
or eax, 1
mov dword [esp + 0x24], 0
push str.CBasePlayer__m_iHealth
mov dword [0x10141b00], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141af0], eax
cmp edx, 0x10
jb 0x10057102
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100570f8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141af0]
mov edx, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x64]
mov eax, dword [eax + 0x10]
cmp eax, dword [edx + ecx]
jl 0x10057139
mov eax, dword [0x10141f04]
test byte [eax + 0x148], 4
je 0x1005712e
mov ecx, dword [edi + 0x24]
inc ecx
jmp 0x10057131
mov ecx, dword [edi + 0x28]
mov eax, dword [0x10141f08]
mov dword [eax + 0x30], ecx
mov eax, dword [0x10141f04]
test byte [eax + 0x148], 4
je 0x100575d5
cmp byte [edi + 0xa], 0
je 0x100572e9
mov ecx, dword [esp + 0x18]
cmp cx, 0xb
je 0x10057181
cmp cx, 0x26
je 0x10057181
cmp cx, 9
je 0x10057181
cmp cx, 8
je 0x10057181
cmp cx, 0x27
je 0x10057181
cmp cx, 0x28
jne 0x100572e9
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10141c58]
test al, 1
jne 0x10057212
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x16
or eax, 1
mov dword [esp + 0x24], 0
push str.CCSPlayer__m_bIsScoped
mov dword [0x10141c58], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c60], eax
cmp edx, 0x10
jb 0x10057212
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10057208
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141c60]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
cmp byte [ecx + eax], 0
jne 0x100572e9
mov eax, dword [0x10141b50]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10141ae0]
test al, 1
jne 0x100572b9
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x15
or eax, 1
mov dword [esp + 0x24], 0
push str.CBasePlayer__m_fFlags
mov dword [0x10141ae0], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141ac0], eax
cmp edx, 0x10
jb 0x100572b9
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100572af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141ac0]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 4]
test byte [ecx + eax], 1
je 0x100572e9
mov eax, dword [0x10141ef4]
test byte [eax + 0x38], 2
jne 0x100572e9
mov eax, dword [esp + 0x84]
or dword [eax + 0x30], 0x800
jmp 0x100575d5
cmp word [esp + 0x18], 0x1f
mov esi, 0x50
je 0x100572f9
mov esi, dword [edi + 0x1c]
push dword [esp + 0x64]
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
push dword [esp + 0x4c]
call fcn.10055490
cmp eax, esi
jl 0x100575d5
mov eax, dword [0x10141f04]
mov ecx, dword [eax + 0xec]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
mov dword [esp + 0x10], eax
call dword [esp + 0x10]
mov eax, dword [0x10141b50]
fstp dword [esp + 0x38]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov eax, dword [0x10141c70]
test al, 1
jne 0x100573c2
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x1c
or eax, 1
mov dword [esp + 0x24], 0
push str.CBasePlayer__m_aimPunchAngle
mov dword [0x10141c70], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c6c], eax
cmp edx, 0x10
jb 0x100573c2
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100573b8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10057677
push edx
push ecx
call fcn.100eeeaa
add esp, 8
mov eax, dword [0x10141c6c]
sub esp, 8
vmovss xmm3, dword [esp + 0x40]
vmovss xmm0, dword [esp + 0x50]
mov esi, dword [esp + 0x8c]
mov eax, dword [eax + 4]
add eax, dword [esp + 0x18]
vmulss xmm1, xmm3, dword [eax]
vsubss xmm4, xmm0, xmm1
vmulss xmm1, xmm3, dword [eax + 4]
vmovss xmm0, dword [esp + 0x54]
vsubss xmm2, xmm0, xmm1
vmulss xmm1, xmm3, dword [eax + 8]
vmovss xmm0, dword [esp + 0x58]
vsubss xmm0, xmm0, xmm1
vmovss xmm1, dword [0x10133804]
vmovss dword [esp + 0x58], xmm0
mov eax, dword [esp + 0x58]
vunpcklps xmm0, xmm4, xmm2
vmovq qword [esi + 0xc], xmm0
mov dword [esi + 0x14], eax
vmovss xmm0, dword [esi + 0xc]
vmovss dword [esp + 4], xmm1
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm1, dword [0x10133804]
vmovss xmm0, dword [esi + 0x10]
vmovss dword [esp + 4], xmm1
fstp dword [esi + 0xc]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm1, dword [0x10133804]
vmovss xmm0, dword [esi + 0x14]
vmovss dword [esp + 4], xmm1
fstp dword [esi + 0x10]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm0, dword [0x101337b0]
fstp dword [esi + 0x14]
vmovss xmm1, dword [esi + 0xc]
add esp, 8
vcomiss xmm1, xmm0
ja 0x100574ab
vmovss xmm0, dword [0x101338bc]
vcomiss xmm0, xmm1
ja 0x100574ab
vmovaps xmm0, xmm1
vmovss xmm1, dword [0x101337dc]
vmovss dword [esi + 0xc], xmm0
vmovss xmm0, dword [esi + 0x10]
vcomiss xmm0, xmm1
ja 0x100574d5
vmovss xmm1, dword [0x101338c8]
vcomiss xmm1, xmm0
ja 0x100574d5
vmovaps xmm1, xmm0
vmovss dword [esi + 0x10], xmm1
vmovss xmm0, dword [esi + 0x14]
vcomiss xmm0, dword [0x101337b4]
jbe 0x100574f3
vmovss xmm0, dword [0x101337b4]
jmp 0x10057505
vmovss xmm1, dword [0x101338c0]
vcomiss xmm1, xmm0
jbe 0x10057505
vmovaps xmm0, xmm1
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x44]
vmovss dword [esi + 0x14], xmm0
or dword [esi + 0x30], 1
mov ecx, dword [eax]
mov eax, dword [0x10141f04]
vmovss xmm0, dword [eax + 0xfc]
vaddss xmm0, xmm0, dword [ecx + 0x20]
mov eax, dword [0x10141b18]
vdivss xmm0, xmm0, dword [eax + 0x20]
vaddss xmm0, xmm0, dword [0x10133618]
vcvttss2si eax, xmm0
mov dword [esi + 8], eax
mov eax, dword [edx]
mov dword [edi + 0xac], eax
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x10057559
lock inc dword [ecx + 4]
mov ecx, dword [edx + 8]
mov esi, dword [edi + 0xb4]
mov eax, dword [edx + 4]
mov dword [edi + 0xb0], eax
mov dword [edi + 0xb4], ecx
test esi, esi
je 0x10057597
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x10057597
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x10057593
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x64]
mov eax, dword [ecx + 0x10]
mov dword [edi + 0xb8], eax
mov eax, dword [ecx + 0x18]
mov dword [edi + 0xbc], eax
mov eax, dword [0x10141f04]
or byte [eax + 0x148], 0x10
mov ecx, dword [0x10141efc]
cmp byte [ecx + 0x8e], 0
je 0x100575d5
lea eax, [edx + 4]
push eax
mov eax, dword [edx]
push dword [eax]
call fcn.1008c460
mov eax, dword [esp + 0x44]
vmovq xmm0, qword [esp + 0x8c]
vmovq qword [esp + 0x10], xmm0
mov eax, dword [eax]
mov esi, dword [eax]
mov eax, dword [esp + 0x94]
mov dword [esp + 0x78], eax
mov eax, dword [0x10141c88]
mov dword [esp + 0x18], esi
test al, 1
jne 0x10057691
mov esi, dword [0x10141ef0]
lea ecx, [esp + 0x20]
push 0x18
or eax, 1
mov dword [esp + 0x24], 0
push str.CBaseEntity__m_vecOrigin
mov dword [0x10141c88], eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0xf
call fcn.10004660
lea eax, [esp + 0x20]
mov ecx, esi
push eax
call fcn.10005570
mov edx, dword [esp + 0x34]
mov dword [0x10141c78], eax
cmp edx, 0x10
jb 0x10057687
mov ecx, dword [esp + 0x20]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005767d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1005767d
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 esi, dword [esp + 0x18]
vmovq xmm0, qword [esp + 0x10]
mov eax, dword [0x10141c78]
mov ecx, dword [esp + 0x78]
mov eax, dword [eax + 4]
vmovq qword [eax + esi], xmm0
mov dword [eax + esi + 8], ecx
lea eax, [esp + 0x98]
push eax
mov eax, dword [0x10141f04]
mov ecx, esi
mov eax, dword [eax + 0x18]
call eax
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0xc]
call eax
test eax, eax
je 0x1005771e
vmovss xmm0, dword [esi + 0x9920]
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0xa8]
push ecx
mov ecx, eax
mov eax, dword [0x10141f04]
vmovss dword [esp + 0x80], xmm0
vmovss xmm0, dword [esi + 0x9924]
vmovss dword [esp + 0x18], xmm0
mov eax, dword [eax + 0x28]
call eax
vmovss xmm0, dword [esp + 0x78]
vmovss dword [esi + 0x9920], xmm0
vmovss xmm0, dword [esp + 0x10]
vmovss dword [esi + 0x9924], xmm0
vmovss xmm1, dword [esp + 0x60]
vmovss xmm0, dword [esp + 0x88]
lea eax, [esp + 0x48]
mov ecx, esi
push eax
mov eax, dword [0x10141f04]
vmovss dword [esp + 0x4c], xmm1
vmovss dword [esp + 0x50], xmm0
vmovss dword [esp + 0x54], xmm1
mov eax, dword [eax + 0x14]
call eax
mov eax, dword [esp + 0x30c0]
mov dword [esi + 0x26b0], eax
mov eax, dword [esp + 0x30c4]
mov dword [esi + 0x26b4], eax
mov eax, dword [esp + 0x30bc]
lea eax, [eax + eax*2]
shl eax, 4
push eax
lea eax, [esp + 0xc0]
push eax
push dword [esi + 0x2910]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esp + 0x30d4]
add esp, 8
mov dword [esi + 0x2690], eax
jmp 0x1005779e
push ecx
mov edx, dword [edi + 0xf8]
mov ecx, dword [edi + 0xf4]
call fcn.10007d90
mov eax, dword [edi + 0xf4]
add esp, 4
mov dword [edi + 0xf8], eax
mov ecx, dword [esp + 0x30d4]
pop edi
pop esi
xor ecx, esp
call fcn.100eeb4d
mov esp, ebp
pop ebp
ret 4
call fcn.100578f0
int3