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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xb8
cmp dword [edi + 0x6b8], 0xffffffff
push ebx
push esi
je 0x48c756
mov eax, dword [edi + 0x6b0]
mov ecx, dword [edi + 0x6b4]
or eax, ecx
je 0x48c756
mov edx, dword [edi + 0x6b0]
push ecx
push edx
mov ecx, 0x8d68e0
call fcn.004013f0
test eax, eax
je 0x48c756
add eax, 0xd0
mov dword [esp + 0x64], eax
call fcn.00540640
mov eax, dword [edi]
lea ecx, [esp + 0xb8]
push ecx
mov ecx, edi
call dword [eax + 0x98]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
mov ecx, 0x8d68e0
call fcn.004013f0
test eax, eax
mov dword [esp + 0x8c], eax
je 0x48c756
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x74]
push edx
mov ecx, edi
call fcn.0048c110
movss xmm1, dword [esp + 0x50]
movss xmm0, dword [edi + 0x730]
xorps xmm5, xmm5
movss dword [esp + 0x50], xmm1
movss xmm1, dword [esp + 0x54]
addss xmm1, xmm0
movss xmm0, dword [esp + 0x58]
movss dword [esp + 0x58], xmm0
movss xmm0, dword [0x75800c]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [0x758000]
subss xmm5, xmm0
subss xmm0, xmm5
movss dword [esp + 0x54], xmm1
xor esi, esi
lea ebx, [edi + 0x6d0]
movss dword [esp + 0x6c], xmm5
movss dword [esp + 0x68], xmm0
nop
test esi, esi
jne 0x48c59e
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x94], ecx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x5c]
movss xmm0, dword [esp + 0x90]
mov dword [esp + 0x98], edx
mov ecx, ebx
mov edx, dword [ecx]
mov dword [esp + 0x9c], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x10], edx
subss xmm0, dword [esp + 0x10]
mov edx, dword [ecx + 8]
movss dword [esp + 0xa0], xmm0
movss xmm0, dword [esp + 0x94]
mov dword [esp + 0x14], eax
subss xmm0, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0xa0]
movss dword [esp + 0xa4], xmm0
movss xmm0, dword [esp + 0x98]
mov dword [esp + 0x18], edx
subss xmm0, dword [esp + 0x18]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
movss dword [esp + 0xa8], xmm0
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x38], eax
fld dword [esp + 0x38]
mov dword [esp + 0x34], edx
fld dword [esp + 0x34]
fld st(0)
mov dword [esp + 0x30], ecx
fmul st(1)
mov ecx, dword [esp + 0xac]
fld st(2)
mov dword [esp + 0x3c], ecx
fmul st(3)
faddp st(1)
fld dword [esp + 0x30]
fmul dword [esp + 0x30]
faddp st(1)
fsqrt
fstp st(2)
fstp st(0)
fstp dword [esp + 0x28]
fld dword [esp + 0x2c]
fld dword [esp + 0x28]
fcompi st(1)
fstp st(0)
jbe 0x48c5f8
lea eax, [esp + 0x30]
call fcn.00404060
movss xmm0, dword [esp + 0x28]
subss xmm0, dword [esp + 0x2c]
mulss xmm0, dword [0x758008]
movss xmm1, dword [esp + 0x34]
movss xmm2, dword [esp + 0x38]
movss xmm5, dword [esp + 0x6c]
movaps xmm3, xmm0
mulss xmm3, dword [esp + 0x30]
mulss xmm1, xmm0
addss xmm1, dword [esp + 0x14]
mulss xmm2, xmm0
movss xmm0, dword [esp + 0x10]
addss xmm2, dword [esp + 0x18]
addss xmm0, xmm3
movss dword [esp + 0x10], xmm0
mov eax, dword [esp + 0x10]
mov edx, ebx
movss dword [esp + 0x14], xmm1
mov ecx, dword [esp + 0x14]
mov dword [edx], eax
movss dword [esp + 0x18], xmm2
mov eax, dword [esp + 0x18]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x1c]
jmp 0x48c5f2
movss xmm0, dword [ebx]
lea eax, [esi + 0x70]
shl eax, 4
addss xmm0, dword [eax + edi]
add eax, edi
movss dword [esp + 0x70], xmm0
movss xmm0, dword [ebx + 4]
addss xmm0, dword [eax + 4]
movss dword [esp + 0x74], xmm0
movss xmm0, dword [ebx + 8]
addss xmm0, dword [eax + 8]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
lea edx, [esi + 0x6d]
shl edx, 4
add edx, edi
mov dword [edx], eax
movss dword [esp + 0x78], xmm0
mov eax, dword [esp + 0x78]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
mov eax, dword [esp + 0x8c]
movss xmm0, dword [eax + 0x40]
movss xmm1, dword [eax + 0x44]
movss xmm4, dword [eax + 0x48]
lea edx, [esi + 0x6d]
shl edx, 4
movss xmm2, dword [edx + edi + 4]
movss xmm3, dword [edx + edi]
lea eax, [edx + edi]
subss xmm3, xmm0
subss xmm2, xmm1
movss xmm1, dword [eax + 8]
subss xmm1, xmm4
movaps xmm0, xmm1
mulss xmm0, xmm1
movaps xmm4, xmm2
mulss xmm4, xmm2
addss xmm0, xmm4
movaps xmm4, xmm3
mulss xmm4, xmm3
addss xmm0, xmm4
comiss xmm0, dword [0x738d48]
movss dword [esp + 0x40], xmm3
movss dword [esp + 0x44], xmm2
movss dword [esp + 0x48], xmm1
movss dword [esp + 0x88], xmm0
jbe 0x48c6b5
fld dword [esp + 0x88]
fsqrt
fdivr dword [0x7389bc]
fld dword [esp + 0x40]
fmul st(1)
fstp dword [esp + 0x40]
movss xmm3, dword [esp + 0x40]
fld dword [esp + 0x44]
fmul st(1)
fstp dword [esp + 0x44]
movss xmm2, dword [esp + 0x44]
fld dword [esp + 0x48]
fmul st(1)
fstp dword [esp + 0x48]
movss xmm1, dword [esp + 0x48]
fstp st(0)
mov ecx, dword [0x77eab0]
imul ecx, ecx, 0x343fd
add ecx, 0x269ec3
mov dword [0x77eab0], ecx
mov edx, ecx
shr edx, 0x10
and edx, 0x7fff
cvtsi2ss xmm0, edx
mulss xmm0, dword [0x738a60]
mulss xmm0, dword [esp + 0x68]
mov edx, dword [esp + 0x64]
addss xmm0, xmm5
mulss xmm1, xmm0
mulss xmm3, xmm0
mulss xmm2, xmm0
movss xmm0, dword [eax]
addss xmm0, xmm3
movss dword [eax], xmm0
movss xmm0, dword [eax + 4]
addss xmm0, xmm2
movss dword [eax + 4], xmm0
addss xmm1, dword [eax + 8]
movss dword [eax + 8], xmm1
mov ecx, dword [edi + esi*4 + 0x6b8]
mov edx, dword [edx + 0x48]
lea ecx, [ecx + ecx*2]
shl ecx, 4
lea ecx, [ecx + edx + 0x10]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
inc esi
cmp esi, 3
mov dword [ecx + 0xc], eax
jl 0x48c420
pop esi
pop ebx
mov esp, ebp
pop ebp
ret