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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x208
push esi
mov esi, dword [ebp + 0xc]
push edi
mov dword [esp + 0x88], edx
mov dword [esp + 0x24], ecx
lea eax, [esi + esi*4]
mov dword [esp + 0x1c], 0x3f800000
add eax, eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x1c]
push eax
call fcn.00449760
cmp dword [ebp + 8], 0xffffffff
je 0x5a23e5
mov edi, dword [esp + 0x14]
lea ecx, [esi + esi*4]
imul edi, dword [ebp + 0x14]
movss xmm0, dword [0x739900]
subss xmm0, dword [ebp + 0x1c]
mov dword [esp + 0xcc], 0x3f800000
mov dword [esp + 0x84], 0x3f800000
mov dword [esp + 0x8c], edi
movss dword [esp + 0x20], xmm0
lea eax, [edi + esi*2]
mov dword [esp + 0x3c], eax
lea eax, [esi + esi*2]
add eax, edi
mov dword [esp + 0x40], eax
lea eax, [edi + esi*4]
mov dword [esp + 0x44], eax
lea eax, [ecx + edi]
mov dword [esp + 0x48], eax
lea eax, [esi + esi*2]
add eax, eax
add edi, eax
mov dword [esp + 0x4c], edi
mov edi, dword [esp + 0x14]
imul edi, dword [ebp + 0x18]
mov dword [esp + 0x14], edi
lea edx, [edi + esi*2]
mov dword [esp + 0x50], edx
lea edx, [esi + esi*2]
add edx, edi
mov dword [esp + 0x54], edx
mov edx, edi
mov edi, dword [ebp + 8]
add ecx, edx
add eax, edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], eax
lea esi, [edx + esi*4]
mov dword [esp + 0x58], esi
mov esi, dword [ebp + 0x10]
nop dword [eax]
mov eax, dword [esp + 0x8c]
add edx, edi
add eax, edi
mov ecx, dword [esp + 0x4c]
add ecx, edi
movss xmm0, dword [esi + eax*4]
add eax, dword [ebp + 0xc]
movss dword [esp + 0x70], xmm0
movss xmm0, dword [esi + eax*4]
mov eax, dword [esp + 0x3c]
add eax, edi
movss dword [esp + 0x78], xmm0
movss xmm0, dword [esi + eax*4]
mov eax, dword [esp + 0x40]
add eax, edi
movss dword [esp + 0x80], xmm0
movss xmm0, dword [esi + ecx*4]
movss dword [esp + 0x18], xmm0
movss dword [esp + 0xbc], xmm0
movss xmm5, dword [esi + eax*4]
mov eax, dword [esp + 0x44]
movss xmm0, dword [esi + edx*4]
add eax, edi
add edx, dword [ebp + 0xc]
movss dword [esp + 0x6c], xmm0
movss dword [esp + 0xb0], xmm5
movss xmm7, dword [esi + eax*4]
mov eax, dword [esp + 0x48]
add eax, edi
movss dword [esp + 0xb4], xmm7
movss xmm6, dword [esi + eax*4]
mov esi, dword [ebp + 0x10]
movss dword [esp + 0xb8], xmm6
movss xmm0, dword [esi + edx*4]
mov edx, dword [esp + 0x50]
add edx, edi
movss dword [esp + 0x74], xmm0
movss xmm0, dword [esi + edx*4]
mov edx, dword [esp + 0x54]
add edx, edi
movss dword [esp + 0x7c], xmm0
movss xmm3, dword [esi + edx*4]
mov edx, dword [esp + 0x58]
add edx, edi
movss dword [esp + 0xa0], xmm3
movss xmm2, dword [esi + edx*4]
mov edx, dword [esp + 0x5c]
add edx, edi
movss dword [esp + 0xa4], xmm2
movss xmm0, dword [esi + edx*4]
mov edx, dword [esp + 0x60]
mulss xmm6, xmm0
add edx, edi
movss dword [esp + 0xa8], xmm0
movss xmm0, dword [esi + ecx*4]
movss xmm1, dword [esi + edx*4]
mulss xmm0, xmm1
movss dword [esp + 0xac], xmm1
movaps xmm1, xmm7
movaps xmm4, xmmword [esp + 0xa0]
addss xmm6, xmm0
mulss xmm1, xmm2
movaps xmm0, xmm5
movaps xmmword [esp + 0x90], xmm4
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
addss xmm6, xmm1
comiss xmm0, xmm6
jbe 0x5a2030
xorps xmm4, xmmword [0x739fa0]
xorps xmm6, xmmword [0x739fa0]
movaps xmmword [esp + 0x90], xmm4
comiss xmm6, dword [0x7398fc]
jbe 0x5a2098
movss xmm3, dword [esp + 0x20]
movaps xmm0, xmm4
movss xmm6, dword [ebp + 0x1c]
movaps xmm2, xmm3
mulss xmm2, dword [esi + eax*4]
movss xmm1, dword [esp + 0x18]
shufps xmm0, xmm4, 0x55
mulss xmm0, xmm6
mulss xmm7, xmm3
mulss xmm1, xmm3
addss xmm7, xmm0
mulss xmm5, xmm3
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xaa
mulss xmm0, xmm6
addss xmm2, xmm0
movaps xmm0, xmm4
shufps xmm0, xmm4, 0xff
mulss xmm0, xmm6
mulss xmm4, xmm6
addss xmm1, xmm0
addss xmm5, xmm4
jmp 0x5a2149
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
call fcn.006d4b50
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x10], xmm0
mulss xmm0, dword [ebp + 0x1c]
cvtss2sd xmm0, xmm0
call fcn.006d3350
cvtsd2ss xmm0, xmm0
shufps xmm0, xmm0, 0
mulps xmm0, xmmword [esp + 0x90]
movups xmmword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x20]
mulss xmm0, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
call fcn.006d3350
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movups xmm0, xmmword [esp + 0xb0]
shufps xmm1, xmm1, 0
mulps xmm1, xmm0
movups xmm0, xmmword [esp + 0x28]
addps xmm0, xmm1
movups xmmword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x10]
cvtps2pd xmm0, xmm0
call fcn.006d3350
movups xmm5, xmmword [esp + 0x28]
cvtsd2ss xmm0, xmm0
shufps xmm0, xmm0, 0
divps xmm5, xmm0
movups xmmword [esp + 0x90], xmm5
movss xmm1, dword [esp + 0x9c]
movss xmm2, dword [esp + 0x98]
movss xmm7, dword [esp + 0x94]
movaps xmm0, xmm7
movss dword [esp + 0x10], xmm2
mulss xmm0, xmm7
lea eax, [esp + 0xd0]
push eax
movaps xmm6, xmm1
movss dword [esp + 0x20], xmm7
movaps xmm3, xmm1
mulss xmm6, xmm7
lea ecx, [esp + 0x154]
movss dword [esp + 0x68], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
mulss xmm2, xmm7
movaps xmm7, xmm1
mulss xmm3, xmm1
movss dword [esp + 0x1c], xmm1
movups xmmword [esp + 0x2c], xmm5
movups xmm1, xmmword [esp + 0x2c]
movss dword [esp + 0x6c], xmm0
movaps xmm4, xmm1
mulss xmm5, dword [esp + 0x20]
mulss xmm1, dword [esp + 0x1c]
mulss xmm4, dword [esp + 0x14]
movups xmmword [esp + 0x2c], xmm1
movaps xmm1, xmm3
mulss xmm7, dword [esp + 0x14]
addss xmm1, xmm0
movss xmm0, dword [0x739900]
addss xmm3, dword [esp + 0x68]
addss xmm1, xmm1
addss xmm3, xmm3
subss xmm0, xmm1
movups xmm1, xmmword [esp + 0x2c]
movss dword [esp + 0xd4], xmm0
movaps xmm0, xmm1
addss xmm0, xmm2
subss xmm2, xmm1
addss xmm0, xmm0
addss xmm2, xmm2
movss dword [esp + 0xd8], xmm0
movaps xmm0, xmm6
subss xmm0, xmm4
movss dword [esp + 0xe0], xmm2
movss xmm2, dword [esp + 0x6c]
addss xmm4, xmm6
addss xmm2, dword [esp + 0x68]
addss xmm0, xmm0
addss xmm4, xmm4
addss xmm2, xmm2
movss dword [esp + 0xdc], xmm0
movss xmm0, dword [0x739900]
subss xmm0, xmm3
movss dword [esp + 0xec], xmm4
movss dword [esp + 0xe4], xmm0
movaps xmm0, xmm5
addss xmm0, xmm7
subss xmm7, xmm5
addss xmm0, xmm0
addss xmm7, xmm7
movss dword [esp + 0xe8], xmm0
movss xmm0, dword [0x739900]
subss xmm0, xmm2
movss dword [esp + 0xf0], xmm7
movss dword [esp + 0xf4], xmm0
call fcn.004ab820
movss xmm1, dword [ebp + 0x1c]
movss xmm0, dword [esp + 0x20]
movss xmm3, dword [esp + 0x70]
movss xmm2, dword [esp + 0x6c]
movss xmm4, dword [esp + 0x78]
mulss xmm3, xmm0
mulss xmm2, xmm1
mulss xmm4, xmm0
addss xmm2, xmm3
movss xmm3, dword [esp + 0x74]
mulss xmm3, xmm1
addss xmm3, xmm4
movss xmm4, dword [esp + 0x7c]
mulss xmm4, xmm1
movss xmm1, dword [esp + 0x80]
mulss xmm1, xmm0
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0xd4]
movss dword [esp + 0xc4], xmm2
movss dword [esp + 0xc8], xmm3
addss xmm4, xmm1
movss dword [esp + 0xcc], xmm4
call fcn.00449760
push dword [esp + 0x24]
lea edx, [esp + 0x114]
push ecx
movups xmm0, xmmword [eax]
lea ecx, [esp + 0x198]
movups xmmword [esp + 0x118], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [esp + 0x128], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [esp + 0x138], xmm0
movups xmm0, xmmword [eax + 0x30]
lea eax, [esp + 0x158]
push eax
movups xmmword [esp + 0x14c], xmm0
movaps xmm0, xmmword [esp + 0xcc]
movaps xmmword [esp + 0x14c], xmm0
call fcn.00449900
add esp, 8
lea ecx, [esp + 0x1d4]
mov edx, eax
call fcn.00449900
mov ecx, dword [esp + 0x28]
add esp, 4
mov edx, dword [esp + 0x14]
movups xmm0, xmmword [eax]
movups xmmword [ecx], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ecx + 0x20], xmm0
movups xmm0, xmmword [eax + 0x30]
mov eax, dword [esp + 0x88]
movups xmmword [ecx + 0x30], xmm0
mov eax, dword [eax + 0x18]
imul ecx, edi, 0xdc
mov edi, dword [ecx + eax + 0x58]
cmp edi, 0xffffffff
jne 0x5a1ed0
mov eax, dword [esp + 0x24]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
mov eax, ecx
pop esi
mov esp, ebp
pop ebp
ret