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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, 0x3994
call fcn.10127eb0
mov eax, dword [0x10191b58]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0x20], eax
mov ecx, dword fs:[0x2c]
push edi
mov dword [esp + 0x2c], ecx
mov edx, dword [ecx + eax*4]
mov eax, dword [0x1027b754]
cmp eax, dword [edx + 4]
jle 0x1007c015
push 0x1027b754
call fcn.101273eb
add esp, 4
cmp dword [0x1027b754], 0xffffffff
jne 0x1007c015
mov eax, dword [0x10190fcc]
push str.sv_gravity
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x3c]
call eax
push 0x1027b754
mov dword [0x1027b760], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10190fc4]
movss xmm1, dword [0x10180038]
cmp byte [eax + 0x126c], 0
je 0x1007c042
mov ecx, dword [eax + 0x1270]
test ecx, ecx
jle 0x1007c042
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
jmp 0x1007c045
xorps xmm0, xmm0
movd xmm2, dword [eax + 0x1268]
cvtdq2ps xmm2, xmm2
mulss xmm2, xmm1
addss xmm2, xmm0
movss dword [esp + 0x5c], xmm2
cmp esi, 4
jne 0x1007c087
mov eax, dword [0x1019273c]
cmp dword [eax], 0
jne 0x1007c08e
mov esi, 0x1019ef60
mov ecx, esi
call fcn.1007ae50
add esi, 0x363c
cmp esi, 0x1027b49c
jne 0x1007c072
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x10190fcc]
mov edi, 1
mov dword [esp + 0x48], edi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp eax, edi
jl 0x1007c087
fld dword [0x10180148]
fstp dword [esp + 0x4c]
mov eax, dword [0x10190fcc]
push edi
mov ecx, dword [eax + 0x18]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov ebx, eax
cmp edi, 0x41
jae 0x1007e3ca
imul edi, edi, 0x363c
add edi, 0x1019ef60
mov dword [esp + 0x40], edi
test ebx, ebx
je 0x1007e39c
mov eax, dword [0x1019273c]
cmp ebx, dword [eax]
je 0x1007e39c
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1007e39c
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x270]
call eax
test al, al
je 0x1007e39c
movss xmm0, dword [ebx + 0x103c0]
ucomiss xmm0, dword [edi + 0x3618]
lahf
test ah, 0x44
jnp 0x1007c1b5
mov ecx, edi
movss dword [edi + 0x3618], xmm0
call fcn.1007ae50
push 0x2d8
lea eax, [esp + 0x8c]
push 0
push eax
call fcn.10128f30
add esp, 0xc
lea eax, [esp + 0x88]
add edi, 0x32ec
lea esi, [esp + 0x88]
mov ecx, 0xb6
rep movsd dword es:[edi], dword [esi]
push 0x2d8
push 0
push eax
call fcn.10128f30
mov edi, dword [esp + 0x4c]
lea esi, [esp + 0x94]
add esp, 0xc
mov ecx, 0xb6
add edi, 0x3014
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x40]
mov dword [edi + 0x3620], 0
mov dword [edi + 0x3624], 0
mov eax, dword [ebx + 0x299c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0x36c8]
shl ecx, 3
push ecx
push dword [ebx + 0x2990]
push eax
call fcn.101289b0
mov eax, dword [0x10190fc0]
add esp, 0xc
mov ecx, dword [eax + 0x10]
movss xmm0, dword [ecx + 0x14]
mov eax, dword [ecx + 0x20]
movss dword [esp + 0x50], xmm0
movss xmm0, dword [ecx + 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
movss dword [esp + 0x54], xmm0
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1019c16c]
cmp eax, dword [esi + 4]
jle 0x1007c258
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007c258
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10190fc0]
mov ecx, dword [eax + 0x10]
mov eax, dword [0x10192d90]
mov eax, dword [eax + ebx]
mov dword [ecx + 0x10], eax
mov ecx, dword [0x1019c138]
cmp ecx, dword [esi + 4]
jle 0x1007c2be
push 0x1019c138
call fcn.101273eb
mov ecx, dword [0x1019c138]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007c2be
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_fEffects
mov ecx, eax
call fcn.1007a8a0
push 0x1019c138
mov dword [0x1019c14c], eax
call fcn.1012739a
mov ecx, dword [0x1019c138]
add esp, 4
mov eax, dword [0x1019c14c]
mov eax, dword [eax + ebx]
mov dword [esp + 0x58], eax
cmp ecx, dword [esi + 4]
jle 0x1007c30f
push 0x1019c138
call fcn.101273eb
add esp, 4
cmp dword [0x1019c138], 0xffffffff
jne 0x1007c30f
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_fEffects
mov ecx, eax
call fcn.1007a8a0
push 0x1019c138
mov dword [0x1019c14c], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c14c]
mov byte [esp + 0x2b], 0
or dword [eax + ebx], 8
mov ecx, dword [0x1019c16c]
cmp ecx, dword [esi + 4]
jle 0x1007c371
push 0x1019c16c
call fcn.101273eb
mov ecx, dword [0x1019c16c]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007c371
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
mov ecx, dword [0x1019c16c]
add esp, 4
mov eax, dword [0x10192d90]
movss xmm0, dword [edi + 0x361c]
ucomiss xmm0, dword [eax + ebx]
lahf
test ah, 0x44
jnp 0x1007de71
cmp ecx, dword [esi + 4]
jle 0x1007c3da
push 0x1019c16c
call fcn.101273eb
mov ecx, dword [0x1019c16c]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007c3da
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
mov ecx, dword [0x1019c16c]
add esp, 4
mov eax, dword [0x10192d90]
movss xmm1, dword [edi + 0x361c]
movss xmm0, dword [eax + ebx]
comiss xmm0, xmm1
jbe 0x1007de71
ucomiss xmm1, dword [0x1018049c]
mov byte [esp + 0x2b], 1
lahf
test ah, 0x44
jp 0x1007c45b
cmp ecx, dword [esi + 4]
jle 0x1007c44d
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007c44d
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d90]
mov eax, dword [eax + ebx]
mov dword [edi + 0x361c], eax
mov eax, dword [ebx + 0x299c]
lea esi, [edi + 0x3014]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edi + 0x32ec]
shl ecx, 3
push ecx
push esi
push eax
call fcn.101289b0
mov eax, dword [ebx + 0x299c]
add esp, 0xc
lea ecx, [eax*8]
sub ecx, eax
shl ecx, 3
push ecx
push dword [ebx + 0x2990]
push esi
call fcn.101289b0
mov ecx, dword [esp + 0x30]
add esp, 0xc
mov edx, dword [esp + 0x2c]
mov eax, dword [0x1019c16c]
mov esi, dword [edx + ecx*4]
cmp eax, dword [esi + 4]
jle 0x1007c4fc
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007c4fc
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d90]
movss xmm1, dword [eax + ebx]
subss xmm1, dword [edi + 0x361c]
mov eax, dword [0x1019c16c]
andps xmm1, xmmword [0x101808a0]
movss dword [esp + 0x14], xmm1
cmp eax, dword [esi + 4]
jle 0x1007c56c
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007c566
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
movss xmm1, dword [esp + 0x14]
mov eax, dword [0x10192d90]
movss xmm0, dword [edi + 0x361c]
ucomiss xmm0, dword [eax + ebx]
lahf
test ah, 0x44
jnp 0x1007c5a4
mov eax, dword [0x10190fc0]
movss xmm0, dword [0x1018049c]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
mulss xmm0, xmm1
cvttss2si eax, xmm0
not eax
jmp 0x1007c5a6
xor eax, eax
mov dword [edi + 0x3620], eax
call fcn.10125080
mov ecx, dword [edi + 0x3620]
lea edx, [esp + 0x18]
test ecx, ecx
mov dword [esp + 0x18], 0
xorps xmm1, xmm1
lea esi, [eax + 1]
lea eax, [edi + 0x3620]
mov dword [esp + 0x20], esi
cmovns edx, eax
cmp esi, ecx
lea eax, [esp + 0x20]
cmovge eax, edx
mov eax, dword [eax]
mov dword [edi + 0x3620], eax
movss xmm0, dword [edi + 0x35dc]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007c620
movss xmm0, dword [edi + 0x35e0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1007c620
movss xmm0, dword [edi + 0x35e4]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1007c758
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x1019c16c]
cmp eax, dword [esi + 4]
jle 0x1007c676
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007c676
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d90]
movss xmm0, dword [edi + 0x361c]
ucomiss xmm0, dword [eax + ebx]
lahf
test ah, 0x44
jnp 0x1007c758
movq xmm0, qword [edi + 0x3600]
mov eax, dword [edi + 0x3608]
movq qword [edi + 0x360c], xmm0
mov dword [edi + 0x3614], eax
mov eax, dword [0x10192730]
cmp eax, dword [esi + 4]
jle 0x1007c6f8
push 0x10192730
call fcn.101273eb
add esp, 4
cmp dword [0x10192730], 0xffffffff
jne 0x1007c6f8
mov edx, 0xc60bf9f2
mov ecx, 0x10164ce5
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192730
mov dword [0x101926fc], eax
call fcn.1012739a
add esp, 4
movss xmm1, dword [0x101801b8]
divss xmm1, dword [esp + 0x14]
mov eax, dword [0x101926fc]
movss xmm0, dword [eax + ebx]
subss xmm0, dword [edi + 0x35dc]
movss xmm4, dword [eax + ebx + 4]
movss xmm5, dword [eax + ebx + 8]
mulss xmm0, xmm1
movss dword [edi + 0x3600], xmm0
subss xmm4, dword [edi + 0x35e0]
mulss xmm4, xmm1
movss dword [edi + 0x3604], xmm4
subss xmm5, dword [edi + 0x35e4]
mulss xmm5, xmm1
movss dword [edi + 0x3608], xmm5
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x10192dac]
cmp eax, dword [esi + 4]
jle 0x1007c7ae
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007c7ae
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
mov eax, dword [eax + 0x9c]
mov dword [edi + 0x362c], eax
mov eax, dword [0x101990c8]
cmp eax, dword [esi + 4]
jle 0x1007c80e
push 0x101990c8
call fcn.101273eb
add esp, 4
cmp dword [0x101990c8], 0xffffffff
jne 0x1007c80e
mov edx, 0xc60bf9f2
mov ecx, 0x10173279
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990c8
mov dword [0x1019c0d0], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d0]
mov eax, dword [eax + ebx]
mov dword [edi + 0x3638], eax
mov eax, dword [0x1019c16c]
cmp eax, dword [esi + 4]
jle 0x1007c867
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007c867
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d90]
movss xmm0, dword [edi + 0x361c]
mov ecx, dword [esi + 4]
ucomiss xmm0, dword [eax + ebx]
lahf
test ah, 0x44
jp 0x1007c96a
cmp dword [0x101990b4], ecx
jle 0x1007c8ce
push 0x101990b4
call fcn.101273eb
add esp, 4
cmp dword [0x101990b4], 0xffffffff
jne 0x1007c8ce
mov edx, 0xc60bf9f2
mov ecx, 0x101732b1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990b4
mov dword [0x10192d88], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d88]
movss xmm0, dword [eax + ebx]
mov eax, dword [0x10192730]
movss dword [edi + 0x3630], xmm0
movss dword [edi + 0x3634], xmm0
cmp eax, dword [esi + 4]
jle 0x1007c933
push 0x10192730
call fcn.101273eb
add esp, 4
cmp dword [0x10192730], 0xffffffff
jne 0x1007c933
mov edx, 0xc60bf9f2
mov ecx, 0x10164ce5
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192730
mov dword [0x101926fc], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x101926fc]
movq xmm0, qword [eax + ebx]
movq qword [edi + 0x35dc], xmm0
mov eax, dword [eax + ebx + 8]
mov dword [edi + 0x35e4], eax
movq xmm0, qword [edi + 0x35dc]
movq qword [edi + 0x35e8], xmm0
mov dword [edi + 0x35f0], eax
jmp 0x1007ca4d
mov eax, dword [edi + 0x3630]
mov dword [edi + 0x3634], eax
cmp dword [0x101990b4], ecx
jle 0x1007c9bc
push 0x101990b4
call fcn.101273eb
add esp, 4
cmp dword [0x101990b4], 0xffffffff
jne 0x1007c9bc
mov edx, 0xc60bf9f2
mov ecx, 0x101732b1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990b4
mov dword [0x10192d88], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d88]
movq xmm0, qword [edi + 0x35dc]
mov eax, dword [eax + ebx]
mov dword [edi + 0x3630], eax
mov eax, dword [edi + 0x35e4]
movq qword [edi + 0x35e8], xmm0
mov dword [edi + 0x35f0], eax
mov eax, dword [0x10192730]
cmp eax, dword [esi + 4]
jle 0x1007ca31
push 0x10192730
call fcn.101273eb
add esp, 4
cmp dword [0x10192730], 0xffffffff
jne 0x1007ca31
mov edx, 0xc60bf9f2
mov ecx, 0x10164ce5
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192730
mov dword [0x101926fc], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x101926fc]
movq xmm0, qword [eax + ebx]
movq qword [edi + 0x35dc], xmm0
mov eax, dword [eax + ebx + 8]
mov dword [edi + 0x35e4], eax
mov eax, dword [0x101990c8]
cmp eax, dword [esi + 4]
jle 0x1007ca98
push 0x101990c8
call fcn.101273eb
add esp, 4
cmp dword [0x101990c8], 0xffffffff
jne 0x1007ca98
mov edx, 0xc60bf9f2
mov ecx, 0x10173279
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990c8
mov dword [0x1019c0d0], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d0]
test byte [eax + ebx], 1
je 0x1007cab2
mov dword [edi + 0x3608], 0
jmp 0x1007cc6e
movss xmm1, dword [0x101801b8]
xorps xmm2, xmm2
subss xmm1, dword [edi + 0x329c]
comiss xmm1, xmm2
jbe 0x1007cc03
movss xmm0, dword [edi + 0x357c]
ucomiss xmm0, dword [edi + 0x32a4]
lahf
test ah, 0x44
jp 0x1007cc03
mov eax, dword [edi + 0x356c]
cmp eax, dword [edi + 0x3294]
jne 0x1007cc03
mulss xmm1, dword [0x1018012c]
addss xmm1, dword [0x1018014c]
comiss xmm1, xmm2
movss dword [esp + 0x20], xmm1
jbe 0x1007cc03
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x430]
call eax
test eax, eax
je 0x1007cb68
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6e8]
mov dword [esp + 0x18], ecx
mov ecx, eax
call dword [esp + 0x18]
sub esp, 8
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
mov dword [esp + 4], 0x3a83126f
movss dword [esp], xmm0
call fcn.101349d8
fstp dword [esp + 0x20]
movss xmm3, dword [esp + 0x20]
add esp, 8
jmp 0x1007cb70
movss xmm3, dword [0x101803a4]
mulss xmm3, dword [esp + 0x20]
xorps xmm2, xmm2
comiss xmm3, xmm2
jbe 0x1007cc03
movss xmm5, dword [edi + 0x3604]
movss xmm4, dword [edi + 0x3600]
movaps xmm0, xmm5
movaps xmm1, xmm4
mulss xmm0, xmm5
mulss xmm1, xmm4
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm0, xmm1
comiss xmm0, xmm2
jbe 0x1007cc03
movss xmm2, dword [edi + 0x3608]
movaps xmm0, xmm2
mulss xmm0, xmm2
addss xmm0, xmm1
movss xmm1, dword [0x101801b8]
sqrtss xmm0, xmm0
divss xmm1, xmm0
mulss xmm4, xmm1
mulss xmm5, xmm1
mulss xmm1, xmm2
mulss xmm4, xmm3
mulss xmm5, xmm3
mulss xmm1, xmm3
movss dword [edi + 0x3600], xmm4
movss dword [edi + 0x3604], xmm5
movss dword [edi + 0x3608], xmm1
mov eax, dword [0x10190fc0]
mov ecx, dword [0x1027b760]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x20]
mov eax, dword [ecx]
movss dword [esp + 0x20], xmm0
movd xmm0, dword [edi + 0x3620]
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x30]
mov dword [esp + 0x18], eax
movss dword [esp + 0x34], xmm0
call dword [esp + 0x18]
movss xmm0, dword [esp + 0x20]
mulss xmm0, dword [esp + 0x34]
fmul dword [esp + 0x4c]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [edi + 0x3608]
fmul dword [esp + 0x18]
fstp dword [esp + 0x18]
subss xmm0, dword [esp + 0x18]
movss dword [edi + 0x3608], xmm0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101990c8]
mov dword [esp + 0x14], esi
cmp eax, dword [esi + 4]
jle 0x1007ccc8
push 0x101990c8
call fcn.101273eb
add esp, 4
cmp dword [0x101990c8], 0xffffffff
jne 0x1007ccc8
mov edx, 0xc60bf9f2
mov ecx, 0x10173279
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990c8
mov dword [0x1019c0d0], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d0]
test byte [eax + ebx], 1
je 0x1007ce57
movss xmm0, dword [edi + 0x329c]
xorps xmm2, xmm2
comiss xmm0, xmm2
jbe 0x1007ce57
movss xmm3, dword [0x101801b8]
comiss xmm3, xmm0
jbe 0x1007ce57
movss xmm0, dword [edi + 0x32a8]
comiss xmm0, dword [edi + 0x3580]
jbe 0x1007ce57
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x430]
call eax
test eax, eax
je 0x1007cd61
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x6e8]
mov dword [esp + 0x18], ecx
mov ecx, eax
call dword [esp + 0x18]
sub esp, 8
fstp dword [esp + 0x20]
movss xmm0, dword [esp + 0x20]
mov dword [esp + 4], 0x3a83126f
movss dword [esp], xmm0
call fcn.101349d8
fstp dword [esp + 0x20]
movss xmm1, dword [esp + 0x20]
add esp, 8
jmp 0x1007cd69
movss xmm1, dword [0x101803a4]
movss xmm3, dword [0x101801b8]
xorps xmm2, xmm2
movaps xmm0, xmm3
subss xmm0, dword [edi + 0x329c]
mulss xmm0, dword [0x10180130]
comiss xmm0, xmm2
jbe 0x1007ce57
comiss xmm3, xmm0
jbe 0x1007ce57
addss xmm0, dword [0x1018014c]
mulss xmm0, xmm1
comiss xmm0, xmm2
movss dword [esp + 0x18], xmm0
jbe 0x1007ce57
mov eax, dword [0x1019c160]
cmp eax, dword [esi + 4]
jle 0x1007cdff
push 0x1019c160
call fcn.101273eb
add esp, 4
cmp dword [0x1019c160], 0xffffffff
jne 0x1007cdff
mov edx, 0xc60bf9f2
mov ecx, 0x10173291
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c160
mov dword [0x10193098], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10193098]
movss xmm1, dword [eax + ebx + 4]
movss xmm0, dword [eax + ebx]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
sqrtss xmm1, xmm0
movss xmm0, dword [0x101801b8]
divss xmm0, dword [esp + 0x18]
mulss xmm1, xmm0
movaps xmm0, xmm1
mulss xmm1, dword [edi + 0x3604]
mulss xmm0, dword [edi + 0x3600]
movss dword [edi + 0x3604], xmm1
movss dword [edi + 0x3600], xmm0
xorps xmm0, xmm0
comiss xmm0, dword [edi + 0x318c]
jae 0x1007ce6c
comiss xmm0, dword [edi + 0x3184]
jb 0x1007ced6
mov eax, dword [0x101990c8]
cmp eax, dword [esi + 4]
jle 0x1007ceb7
push 0x101990c8
call fcn.101273eb
add esp, 4
cmp dword [0x101990c8], 0xffffffff
jne 0x1007ceb7
mov edx, 0xc60bf9f2
mov ecx, 0x10173279
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990c8
mov dword [0x1019c0d0], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d0]
test byte [eax + ebx], 1
je 0x1007ced6
mov dword [edi + 0x3600], 0
mov dword [edi + 0x3604], 0
push edi
lea ecx, [esp + 0x8c]
call fcn.1007e3e0
cmp byte [0x1019c288], 0
je 0x1007cef8
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x270]
call eax
lea ecx, [esp + 0x88]
call fcn.1007e920
mov eax, dword [esp + 0x88]
push 8
push eax
mov dword [esp + 0x90], 0
call fcn.10127383
mov eax, dword [edi + 0x3620]
add esp, 8
mov byte [0x1019c158], 1
test eax, eax
jg 0x1007d1ce
mov eax, dword [esp + 0x14]
mov edx, dword [0x10192dac]
mov esi, dword [0x10190fc0]
cmp edx, dword [eax + 4]
jle 0x1007cf94
push 0x10192dac
call fcn.101273eb
mov edx, dword [0x10192dac]
add esp, 4
cmp edx, 0xffffffff
jne 0x1007cf94
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov edx, dword [0x10192dac]
add esp, 4
mov eax, dword [0x1019c0d4]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + ebx - 0x14]
mov eax, dword [eax + 0x70]
cmp eax, dword [ecx + 4]
jne 0x1007d004
mov eax, dword [esp + 0x14]
cmp edx, dword [eax + 4]
jle 0x1007cff2
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007cff2
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
dec dword [eax + 0x70]
mov edx, dword [0x10192dac]
mov eax, dword [esp + 0x14]
mov esi, dword [0x10190fc0]
cmp edx, dword [eax + 4]
jle 0x1007d05c
push 0x10192dac
call fcn.101273eb
mov edx, dword [0x10192dac]
add esp, 4
cmp edx, 0xffffffff
jne 0x1007d05c
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov edx, dword [0x10192dac]
add esp, 4
mov eax, dword [0x1019c0d4]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + ebx - 0x14]
movss xmm0, dword [eax + 0x6c]
ucomiss xmm0, dword [ecx + 0x10]
lahf
test ah, 0x44
jp 0x1007d0ed
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x20]
mov eax, dword [esp + 0x14]
movss dword [esp + 0x30], xmm0
cmp edx, dword [eax + 4]
jle 0x1007d0da
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007d0d4
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
movss xmm0, dword [esp + 0x30]
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
addss xmm0, dword [eax + 0x6c]
movss dword [eax + 0x6c], xmm0
mov esi, dword [esp + 0x14]
mov eax, dword [0x101960a8]
cmp eax, dword [esi + 4]
jle 0x1007d13b
push 0x101960a8
call fcn.101273eb
add esp, 4
cmp dword [0x101960a8], 0xffffffff
jne 0x1007d13b
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_iEFlags
mov ecx, eax
call fcn.1007a8a0
push 0x101960a8
mov dword [0x10192d78], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d78]
mov ecx, dword [esp + 0x14]
and dword [eax + ebx], 0xffffefff
movq xmm0, qword [edi + 0x3600]
mov eax, dword [0x10192da8]
mov esi, dword [edi + 0x3608]
movq qword [esp + 0x38], xmm0
cmp eax, dword [ecx + 4]
jle 0x1007d1af
push 0x10192da8
call fcn.101273eb
add esp, 4
cmp dword [0x10192da8], 0xffffffff
jne 0x1007d1a9
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_vecAbsVelocity
mov ecx, eax
call fcn.1007a8a0
push 0x10192da8
mov dword [0x101990b0], eax
call fcn.1012739a
add esp, 4
movq xmm0, qword [esp + 0x38]
mov eax, dword [0x101990b0]
mov ecx, ebx
movq qword [eax + ebx], xmm0
mov dword [eax + ebx + 8], esi
mov eax, dword [ebx]
mov eax, dword [eax + 0x380]
call eax
jmp 0x1007d80b
mov ecx, 1
inc eax
mov dword [esp + 0x18], ecx
cmp eax, ecx
jl 0x1007d6c7
mov eax, dword [0x10190fc0]
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + 0x10]
mulss xmm0, dword [eax + 0x20]
mov eax, dword [0x1019c16c]
addss xmm0, dword [edi + 0x361c]
movss dword [esp + 0x20], xmm0
cmp eax, dword [esi + 4]
jle 0x1007d253
push 0x1019c16c
call fcn.101273eb
mov eax, dword [0x1019c16c]
add esp, 4
cmp eax, 0xffffffff
jne 0x1007d253
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
mov eax, dword [0x1019c16c]
add esp, 4
mov ecx, dword [esp + 0x14]
mov esi, dword [0x10192d90]
cmp eax, dword [ecx + 4]
jle 0x1007d2a3
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007d2a3
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d90]
movss xmm0, dword [esi + ebx]
subss xmm0, dword [edi + 0x361c]
movss xmm2, dword [esp + 0x20]
movss xmm1, dword [eax + ebx]
subss xmm1, xmm2
mov eax, dword [0x10190fc0]
mov esi, dword [esp + 0x14]
mov eax, dword [eax + 0x10]
divss xmm1, xmm0
movss xmm0, dword [0x101801b8]
subss xmm0, xmm1
movss dword [esp + 0x30], xmm0
movss xmm0, dword [eax + 0x10]
movss dword [eax + 0x10], xmm2
mov eax, dword [0x101960a8]
movss dword [esp + 0x38], xmm0
cmp eax, dword [esi + 4]
jle 0x1007d340
push 0x101960a8
call fcn.101273eb
add esp, 4
cmp dword [0x101960a8], 0xffffffff
jne 0x1007d340
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_iEFlags
mov ecx, eax
call fcn.1007a8a0
push 0x101960a8
mov dword [0x10192d78], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d78]
and dword [eax + ebx], 0xffffefff
movq xmm0, qword [edi + 0x360c]
mov eax, dword [edi + 0x3614]
movq qword [esp + 0x60], xmm0
movq xmm0, qword [edi + 0x3600]
movss xmm1, dword [esp + 0x60]
movss xmm2, dword [esp + 0x64]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x3608]
movss xmm3, dword [esp + 0x68]
movq qword [esp + 0x70], xmm0
subss xmm1, dword [esp + 0x70]
subss xmm2, dword [esp + 0x74]
mov dword [esp + 0x78], eax
subss xmm3, dword [esp + 0x78]
mov eax, dword [0x10192da8]
mulss xmm1, dword [esp + 0x30]
mulss xmm2, dword [esp + 0x30]
mulss xmm3, dword [esp + 0x30]
addss xmm1, dword [esp + 0x70]
addss xmm2, dword [esp + 0x74]
addss xmm3, dword [esp + 0x78]
movss dword [esp + 0x44], xmm1
movss dword [esp + 0x34], xmm2
movss dword [esp + 0x20], xmm3
cmp eax, dword [esi + 4]
jle 0x1007d432
push 0x10192da8
call fcn.101273eb
add esp, 4
cmp dword [0x10192da8], 0xffffffff
jne 0x1007d420
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_vecAbsVelocity
mov ecx, eax
call fcn.1007a8a0
push 0x10192da8
mov dword [0x101990b0], eax
call fcn.1012739a
add esp, 4
movss xmm3, dword [esp + 0x20]
movss xmm2, dword [esp + 0x34]
movss xmm1, dword [esp + 0x44]
mov eax, dword [0x101990b0]
movss dword [eax + ebx], xmm1
movss dword [eax + ebx + 4], xmm2
movss dword [eax + ebx + 8], xmm3
movss xmm0, dword [edi + 0x3630]
movss xmm1, dword [edi + 0x3634]
mov eax, dword [0x101990b4]
subss xmm1, xmm0
mulss xmm1, dword [esp + 0x30]
addss xmm1, xmm0
movss dword [esp + 0x20], xmm1
cmp eax, dword [esi + 4]
jle 0x1007d4bd
push 0x101990b4
call fcn.101273eb
add esp, 4
cmp dword [0x101990b4], 0xffffffff
jne 0x1007d4b7
mov edx, 0xc60bf9f2
mov ecx, 0x101732b1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990b4
mov dword [0x10192d88], eax
call fcn.1012739a
add esp, 4
movss xmm1, dword [esp + 0x20]
mov eax, dword [0x10192d88]
movss dword [eax + ebx], xmm1
mov eax, dword [esp + 0x14]
mov edx, dword [0x10192dac]
mov esi, dword [0x10190fc0]
cmp edx, dword [eax + 4]
jle 0x1007d525
push 0x10192dac
call fcn.101273eb
mov edx, dword [0x10192dac]
add esp, 4
cmp edx, 0xffffffff
jne 0x1007d525
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov edx, dword [0x10192dac]
add esp, 4
mov eax, dword [0x1019c0d4]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + ebx - 0x14]
mov eax, dword [eax + 0x70]
cmp eax, dword [ecx + 4]
jne 0x1007d59c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov eax, dword [ecx + eax*4]
cmp edx, dword [eax + 4]
jle 0x1007d58a
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007d58a
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
dec dword [eax + 0x70]
mov edx, dword [0x10192dac]
mov eax, dword [esp + 0x14]
mov esi, dword [0x10190fc0]
cmp edx, dword [eax + 4]
jle 0x1007d5f4
push 0x10192dac
call fcn.101273eb
mov edx, dword [0x10192dac]
add esp, 4
cmp edx, 0xffffffff
jne 0x1007d5f4
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov edx, dword [0x10192dac]
add esp, 4
mov eax, dword [0x1019c0d4]
mov ecx, dword [esi + 0x10]
mov eax, dword [eax + ebx - 0x14]
movss xmm0, dword [eax + 0x6c]
ucomiss xmm0, dword [ecx + 0x10]
lahf
test ah, 0x44
jp 0x1007d68c
mov eax, dword [0x10190fc0]
mov ecx, dword [esp + 0x2c]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x20]
mov eax, dword [esp + 0x24]
movss dword [esp + 0x20], xmm0
mov eax, dword [ecx + eax*4]
cmp edx, dword [eax + 4]
jle 0x1007d679
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007d673
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
movss xmm0, dword [esp + 0x20]
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
addss xmm0, dword [eax + 0x6c]
movss dword [eax + 0x6c], xmm0
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x380]
call eax
mov eax, dword [0x10190fc0]
movss xmm0, dword [esp + 0x38]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
inc ecx
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], ecx
movss dword [eax + 0x10], xmm0
mov eax, dword [edi + 0x3620]
inc eax
cmp ecx, eax
jle 0x1007d1e0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov esi, dword [ecx + eax*4]
mov eax, dword [0x101960a8]
cmp eax, dword [esi + 4]
jle 0x1007d71c
push 0x101960a8
call fcn.101273eb
add esp, 4
cmp dword [0x101960a8], 0xffffffff
jne 0x1007d71c
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_iEFlags
mov ecx, eax
call fcn.1007a8a0
push 0x101960a8
mov dword [0x10192d78], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d78]
and dword [eax + ebx], 0xffffefff
mov eax, dword [edi + 0x3608]
movq xmm0, qword [edi + 0x3600]
mov dword [esp + 0x38], eax
mov eax, dword [0x10192da8]
movq qword [esp + 0x18], xmm0
cmp eax, dword [esi + 4]
jle 0x1007d790
push 0x10192da8
call fcn.101273eb
add esp, 4
cmp dword [0x10192da8], 0xffffffff
jne 0x1007d78a
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_vecAbsVelocity
mov ecx, eax
call fcn.1007a8a0
push 0x10192da8
mov dword [0x101990b0], eax
call fcn.1012739a
add esp, 4
movq xmm0, qword [esp + 0x18]
mov eax, dword [0x101990b0]
mov ecx, dword [esp + 0x38]
movq qword [eax + ebx], xmm0
mov dword [eax + ebx + 8], ecx
movss xmm0, dword [edi + 0x3630]
mov eax, dword [0x101990b4]
movss dword [esp + 0x18], xmm0
cmp eax, dword [esi + 4]
jle 0x1007d801
push 0x101990b4
call fcn.101273eb
add esp, 4
cmp dword [0x101990b4], 0xffffffff
jne 0x1007d7fb
mov edx, 0xc60bf9f2
mov ecx, 0x101732b1
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990b4
mov dword [0x10192d88], eax
call fcn.1012739a
add esp, 4
movss xmm0, dword [esp + 0x18]
mov eax, dword [0x10192d88]
movss dword [eax + ebx], xmm0
push edi
lea ecx, [esp + 0x8c]
mov byte [0x1019c158], 0
call fcn.1007e3e0
cmp byte [0x1019c288], 0
je 0x1007d834
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x270]
call eax
lea ecx, [esp + 0x88]
call fcn.1007e920
mov eax, dword [esp + 0x88]
push 8
push eax
mov dword [esp + 0x90], 0
call fcn.10127383
mov eax, dword [esp + 0x34]
add esp, 8
mov esi, dword [esp + 0x24]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x101990c8]
mov dword [esp + 0x30], ecx
cmp eax, dword [ecx + 4]
jle 0x1007d8bb
push 0x101990c8
call fcn.101273eb
add esp, 4
cmp dword [0x101990c8], 0xffffffff
jne 0x1007d8b7
mov edx, 0xc60bf9f2
mov ecx, 0x10173279
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x101990c8
mov dword [0x1019c0d0], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [esp + 0x30]
mov eax, dword [0x1019c0d0]
test byte [eax + ebx], 1
jne 0x1007de75
mov eax, dword [0x10192dac]
cmp eax, dword [ecx + 4]
jle 0x1007d915
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007d915
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2990]
add edx, 0xe0
je 0x1007de75
mov eax, dword [0x10190fc0]
push dword [edx + 0x18]
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x38], eax
cmp eax, 0x3da
je 0x1007d956
cmp eax, 0x3d9
jne 0x1007de75
mov ecx, dword [ebx + 0x299c]
lea eax, [esp + 0x88]
mov esi, dword [ebx + 0x2990]
lea edi, [ecx*8]
sub edi, ecx
shl edi, 3
push edi
push esi
push eax
call fcn.101289b0
add esp, 0xc
push edi
mov edi, dword [esp + 0x44]
lea eax, [edi + 0x32ec]
push eax
push esi
call fcn.101289b0
mov esi, dword [esp + 0x3c]
add esp, 0xc
mov eax, dword [0x10192dac]
cmp eax, dword [esi + 4]
jle 0x1007d9e4
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007d9e4
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
mov ecx, dword [eax + 0x60]
mov edx, dword [ecx + 0x2990]
add edx, 0xe0
je 0x1007da11
mov eax, dword [0x10190fc0]
push dword [edx + 0x18]
mov eax, dword [eax + 0x34]
call eax
mov dword [esp + 0x18], eax
jmp 0x1007da19
mov dword [esp + 0x18], 0xffffffff
mov eax, dword [ebx + 0x299c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0x88]
shl ecx, 3
push ecx
push eax
push dword [ebx + 0x2990]
call fcn.101289b0
mov eax, dword [esp + 0x44]
add esp, 0xc
cmp dword [esp + 0x18], eax
jne 0x1007da63
movss xmm0, dword [edi + 0x33f8]
comiss xmm0, dword [edi + 0x3120]
movss dword [esp + 0x30], xmm0
jbe 0x1007daca
mov eax, dword [0x10192dac]
cmp eax, dword [esi + 4]
jle 0x1007daae
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007daae
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
xorps xmm0, xmm0
movss dword [esp + 0x30], xmm0
mov eax, dword [eax + ebx - 0x14]
mov dword [eax + 0x110], 0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov eax, dword [ecx + eax*4]
mov ecx, dword [0x10192dac]
cmp ecx, dword [eax + 4]
jle 0x1007db29
push 0x10192dac
call fcn.101273eb
mov ecx, dword [0x10192dac]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007db29
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov ecx, dword [0x10192dac]
add esp, 4
mov eax, dword [0x1019c0d4]
xor esi, esi
movss xmm1, dword [edi + 0x311c]
mov edx, dword [eax + ebx - 0x14]
cmp byte [edx + 0x128], 0
jne 0x1007dba2
xorps xmm4, xmm4
comiss xmm4, xmm1
jae 0x1007dba2
movss xmm2, dword [edi + 0x3120]
movss xmm0, dword [esp + 0x30]
ucomiss xmm2, xmm0
lahf
test ah, 0x44
jnp 0x1007db92
movss xmm3, dword [edx + 0x74]
ucomiss xmm3, xmm4
lahf
test ah, 0x44
jp 0x1007db7f
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x10]
movss xmm3, dword [eax + 0x20]
comiss xmm2, xmm0
jbe 0x1007db92
mulss xmm1, xmm3
addss xmm0, xmm1
inc esi
comiss xmm2, xmm0
ja 0x1007db88
test esi, esi
je 0x1007dba2
movaps xmm0, xmm2
comiss xmm0, dword [0x101801ac]
jb 0x1007dba9
mov esi, dword [edi + 0x3620]
inc esi
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + eax*4]
cmp ecx, dword [eax + 4]
jle 0x1007dc06
push 0x10192dac
call fcn.101273eb
mov ecx, dword [0x10192dac]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007dc02
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov ecx, dword [0x10192dac]
add esp, 4
mov edx, dword [esp + 0x2c]
mov eax, dword [0x1019c0d4]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov eax, dword [eax + ebx - 0x14]
mulss xmm0, dword [eax + 0x74]
mov eax, dword [esp + 0x24]
movss dword [esp + 0x18], xmm0
mov esi, dword [edx + eax*4]
cmp ecx, dword [esi + 4]
jle 0x1007dc74
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007dc6e
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
movss xmm0, dword [esp + 0x18]
mov eax, dword [0x1019c0d4]
mov eax, dword [eax + ebx - 0x14]
movss dword [eax + 0x110], xmm0
mov ecx, dword [0x10192dac]
cmp ecx, dword [esi + 4]
jle 0x1007dcd9
push 0x10192dac
call fcn.101273eb
mov ecx, dword [0x10192dac]
add esp, 4
cmp ecx, 0xffffffff
jne 0x1007dcd9
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
mov ecx, dword [0x10192dac]
add esp, 4
mov eax, dword [0x1019c0d4]
mov dword [esp + 0x44], 0x3f800000
mov dword [esp + 0x34], 0
mov eax, dword [eax + ebx - 0x14]
add eax, 0x228
mov dword [esp + 0x14], eax
cmp ecx, dword [esi + 4]
jle 0x1007dd41
push 0x10192dac
call fcn.101273eb
add esp, 4
cmp dword [0x10192dac], 0xffffffff
jne 0x1007dd41
mov edx, 0xc60bf9f2
mov ecx, 0x10164c81
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x10192dac
mov dword [0x1019c0d4], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c0d4]
lea ecx, [esp + 0x38]
movss xmm4, dword [0x101801b8]
lea esi, [esp + 0x44]
xorps xmm3, xmm3
movss xmm2, dword [0x10180248]
mov dword [esp + 0x38], 0
mov eax, dword [eax + ebx - 0x14]
mov dword [esp + 0x20], 0x3f800000
movss xmm0, dword [eax + 0x110]
lea eax, [esp + 0x18]
subss xmm0, dword [0x10180170]
mulss xmm0, dword [0x101801d8]
comiss xmm0, xmm3
movss dword [esp + 0x18], xmm0
cmovae ecx, eax
lea eax, [esp + 0x20]
comiss xmm4, xmm0
cmovae eax, ecx
lea ecx, [esp + 0x38]
movss xmm1, dword [eax]
lea eax, [esp + 0x34]
movaps xmm0, xmm1
addss xmm0, xmm1
mulss xmm1, xmm1
subss xmm2, xmm0
mulss xmm2, xmm1
comiss xmm2, xmm3
movss dword [esp + 0x38], xmm2
cmovae eax, ecx
comiss xmm4, xmm2
cmovae esi, eax
mov eax, dword [esp + 0x14]
cmp byte [eax], 0
jne 0x1007de3b
mov edi, dword [eax + 8]
mov eax, dword [0x10190fcc]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov eax, dword [esp + 0x14]
push edi
mov dword [eax + 8], edi
mov eax, dword [0x10190fc0]
push dword [ebx + 0x2950]
mov eax, dword [eax + 0x150]
call eax
mov edi, dword [esp + 0x14]
mov dword [edi + 4], eax
cmp eax, 0xffffffff
je 0x1007de20
mov byte [edi], 1
mov eax, dword [0x10190fcc]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
cmp byte [edi], 0
mov edi, dword [esp + 0x40]
je 0x1007de71
mov eax, dword [0x10190fcc]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x84]
call eax
mov eax, dword [esp + 0x14]
mov ecx, ebx
movss xmm1, dword [esi]
push dword [eax + 4]
call fcn.10120030
mov eax, dword [0x10190fcc]
mov ecx, dword [eax + 0x38]
mov eax, dword [ecx]
mov eax, dword [eax + 0x88]
call eax
mov esi, dword [esp + 0x24]
mov eax, dword [ebx + 0x299c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [esp + 0x36c8]
shl ecx, 3
push ecx
push eax
push dword [ebx + 0x2990]
call fcn.101289b0
add esp, 0xc
cmp byte [esp + 0x2b], 0
je 0x1007df84
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x1019c16c]
cmp eax, dword [ecx + 4]
jle 0x1007defb
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007defb
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x10192d90]
mov ecx, ebx
mov eax, dword [eax + ebx]
mov dword [edi + 0x361c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov ecx, eax
call edx
mov ecx, ebx
movq xmm0, qword [eax]
movq qword [edi + 0x35c4], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x35cc], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
call eax
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov ecx, eax
call edx
sub esp, 8
mov ecx, ebx
movq xmm0, qword [eax]
movq qword [edi + 0x35d0], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x35d8], eax
mov eax, dword [0x10190fc0]
mov eax, dword [eax + 0x10]
movss xmm0, dword [eax + 0x10]
lea eax, [edi + 0x14]
movss dword [esp + 4], xmm0
push dword [ebx + 0x2920]
push eax
call fcn.1007a9b0
mov byte [edi + 0x3628], al
mov eax, dword [0x10190fc0]
movss xmm0, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
movss dword [eax + 0x14], xmm0
mov eax, dword [0x10190fc0]
movss xmm0, dword [esp + 0x54]
mov eax, dword [eax + 0x10]
movss dword [eax + 0x10], xmm0
mov eax, dword [esp + 0x2c]
mov esi, dword [eax + esi*4]
mov eax, dword [0x1019c138]
cmp eax, dword [esi + 4]
jle 0x1007dffb
push 0x1019c138
call fcn.101273eb
add esp, 4
cmp dword [0x1019c138], 0xffffffff
jne 0x1007dffb
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x44]
call eax
mov edx, str.m_fEffects
mov ecx, eax
call fcn.1007a8a0
push 0x1019c138
mov dword [0x1019c14c], eax
call fcn.1012739a
add esp, 4
mov eax, dword [0x1019c14c]
mov ecx, dword [esp + 0x58]
mov dword [eax + ebx], ecx
mov eax, dword [0x10190fc4]
cmp byte [eax + 0x1264], 0
je 0x1007e393
mov eax, dword [0x1019273c]
mov ecx, dword [eax]
mov eax, dword [0x10190fc0]
push ecx
mov ecx, ebx
mov eax, dword [eax + 0x38]
call eax
test al, al
je 0x1007e393
cmp byte [esp + 0x2b], 0
je 0x1007e3a3
cmp dword [edi + 0x10], 0
je 0x1007e0b6
mov eax, dword [0x1019c16c]
cmp eax, dword [esi + 4]
jle 0x1007e091
push 0x1019c16c
call fcn.101273eb
add esp, 4
cmp dword [0x1019c16c], 0xffffffff
jne 0x1007e091
mov edx, 0xc60bf9f2
mov ecx, 0x10173259
call fcn.10070760
mov ecx, eax
call fcn.100ba500
push 0x1019c16c
mov dword [0x10192d90], eax
call fcn.1012739a
add esp, 4
mov ecx, dword [edi + 8]
mov eax, dword [edi + 4]
dec ecx
and ecx, dword [edi + 0xc]
mov eax, dword [eax + ecx*4]
movss xmm0, dword [eax + 0x44]
mov eax, dword [0x10192d90]
ucomiss xmm0, dword [eax + ebx]
lahf
test ah, 0x44
jnp 0x1007e3a3
push 8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
call fcn.10127068
add esp, 4
lea ecx, [esp + 0x88]
mov dword [eax + 4], 0
mov dword [esp + 0x88], eax
push 0x34
mov dword [eax], ecx
lea eax, [esp + 0xa0]
push 0
push eax
call fcn.10128f30
movq xmm0, qword [edi + 0x35dc]
add esp, 0xc
mov eax, dword [edi + 0x35e4]
mov dword [esp + 0xa4], eax
mov eax, dword [edi + 0x35fc]
movq qword [esp + 0x9c], xmm0
movq xmm0, qword [edi + 0x35f4]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 0x35cc]
movq qword [esp + 0xa8], xmm0
movss xmm0, dword [edi + 0x361c]
mov dword [esp + 0xbc], eax
mov eax, dword [edi + 0x35d8]
mov dword [esp + 0xc8], eax
lea eax, [edi + 0x14]
movss dword [esp + 0xcc], xmm0
movq xmm0, qword [edi + 0x35c4]
push 0x3000
push eax
movq qword [esp + 0xbc], xmm0
lea eax, [esp + 0xd8]
movq xmm0, qword [edi + 0x35d0]
push eax
movq qword [esp + 0xcc], xmm0
call fcn.101289b0
movss xmm0, dword [esp + 0x268]
add esp, 0xc
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
movss dword [esp + 0x7c], xmm0
movss xmm0, dword [esp + 0x26c]
movss dword [esp + 0x80], xmm0
lea eax, [edx + 1]
movss xmm0, dword [esp + 0x27c]
movss dword [esp + 0x84], xmm0
cmp ecx, eax
ja 0x1007e227
push ecx
lea ecx, [esp + 0x8c]
call fcn.1007ec30
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x94]
dec ecx
and eax, ecx
mov dword [esp + 0x94], eax
lea esi, [eax + edx]
and esi, ecx
mov ecx, dword [esp + 0x8c]
cmp dword [ecx + esi*4], 0
jne 0x1007e265
push 0xc
call fcn.10127068
mov ecx, dword [esp + 0x90]
add esp, 4
mov dword [ecx + esi*4], eax
mov ecx, dword [esp + 0x8c]
mov ecx, dword [ecx + esi*4]
movq xmm0, qword [esp + 0x7c]
mov eax, dword [esp + 0x84]
movq qword [ecx], xmm0
mov dword [ecx + 8], eax
mov eax, dword [edi + 0x10]
inc dword [esp + 0x98]
inc eax
cmp dword [edi + 8], eax
ja 0x1007e294
push ecx
mov ecx, edi
call fcn.1007ea90
mov eax, dword [edi + 8]
mov esi, dword [edi + 0xc]
lea ebx, [eax - 1]
and esi, ebx
mov dword [edi + 0xc], esi
cmove esi, eax
mov eax, dword [edi + 4]
dec esi
and ebx, esi
cmp dword [eax + ebx*4], 0
jne 0x1007e2d5
push 0x306b
call fcn.10127068
add esp, 4
test eax, eax
je 0x1007e3cf
lea ecx, [eax + 0x23]
and ecx, 0xffffffe0
mov dword [ecx - 4], eax
mov eax, dword [edi + 4]
mov dword [eax + ebx*4], ecx
mov ecx, dword [edi + 4]
lea eax, [esp + 0x88]
push eax
mov ecx, dword [ecx + ebx*4]
call fcn.1007ee50
mov ecx, dword [edi + 0x10]
inc ecx
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], ecx
cmp ecx, 3
jbe 0x1007e368
nop word [eax + eax]
mov eax, dword [0x10190fc0]
movss xmm0, dword [esp + 0x5c]
mov eax, dword [eax + 0x10]
divss xmm0, dword [eax + 0x20]
addss xmm0, dword [0x10180148]
cvttss2si eax, xmm0
cmp ecx, eax
jbe 0x1007e368
mov esi, dword [edi + 0xc]
dec ecx
mov eax, dword [edi + 8]
add esi, ecx
dec eax
and esi, eax
mov eax, dword [edi + 4]
mov esi, dword [eax + esi*4]
mov ecx, esi
call fcn.1007e9f0
mov eax, dword [esi]
push 8
push eax
mov dword [esi], 0
call fcn.10127383
mov ecx, dword [edi + 0x10]
add esp, 8
sub ecx, 1
mov dword [edi + 0x10], ecx
je 0x1007e361
cmp ecx, 3
ja 0x1007e300
jmp 0x1007e368
mov dword [edi + 0xc], 0
lea ecx, [esp + 0x88]
call fcn.1007e9f0
mov eax, dword [esp + 0x88]
push 8
push eax
mov dword [esp + 0x90], 0
call fcn.10127383
add esp, 8
jmp 0x1007e3a3
mov ecx, edi
call fcn.1007e920
jmp 0x1007e3a3
mov ecx, edi
call fcn.1007ae50
mov eax, dword [0x10190fcc]
mov edi, dword [esp + 0x48]
inc edi
mov dword [esp + 0x48], edi
mov ecx, dword [eax + 0x10]
mov eax, dword [ecx]
mov eax, dword [eax + 0x50]
call eax
cmp edi, eax
jle 0x1007c0b4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.1007e910
call fcn.1012fd0a
int3