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

Disassembly:
sub esp, 0x58
push ebx
mov ebx, dword [esp + 0x74]
mov eax, ecx
push ebp
push esi
mov esi, dword [esp + 0x80]
xor ebp, ebp
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x6c]
push edi
mov edi, edx
lea edx, [eax + esi*4]
mov dword [esp + 0x80], edx
test ebx, ebx
jle 0x56dccb
mov eax, dword [esp + 0x7c]
lea esi, [esp + 0x34]
lea ecx, [edi + 0x18]
mov dword [esp + 0x84], ecx
cvtsi2ss xmm0, eax
mov eax, dword [esp + 0x74]
sub eax, esi
mov dword [esp + 0x74], eax
mulss xmm0, dword [0x5f4570]
movss dword [esp + 0x20], xmm0
lea edi, [esp + 0x34]
mov esi, edx
mov edx, dword [esp + 0x7c]
lea edi, [edi + ebp*4]
mov eax, dword [eax + edi]
lea eax, [eax*4 + 8]
sub esi, eax
lea eax, [ecx - 0x18]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.0056fb80
mov edx, dword [esp + 0x88]
lea eax, [esp + 0x5c]
add esp, 8
push eax
push ecx
push dword [esp + 0x84]
mov ecx, esi
call fcn.0056fa60
mov ecx, dword [esp + 0x8c]
add esp, 0xc
mov edx, dword [esp + 0x7c]
call fcn.005685a0
mov esi, dword [esp + 0x84]
mov eax, dword [esp + 0x70]
fstp dword [esp + 0x1c]
movss xmm4, dword [esp + 0x1c]
movss xmm3, dword [esi + 0x48]
lea ecx, [esi - 0x18]
movss xmm1, dword [eax]
movaps xmm0, xmm4
addss xmm0, dword [0x5f4648]
movaps xmm2, xmm1
addss xmm2, xmm3
push dword [esp + 0x14]
addss xmm2, xmm0
mulss xmm2, dword [0x5f457c]
addss xmm1, xmm2
movaps xmm0, xmm2
addss xmm4, xmm2
addss xmm3, xmm2
movss dword [eax], xmm1
lea eax, [esp + 0x58]
addss xmm0, dword [esi]
push eax
movss dword [esi + 0x48], xmm3
movss dword [esp + 0x8c], xmm4
movss dword [edi], xmm4
movss dword [esi], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x18]
movss dword [esi + 0x18], xmm0
movaps xmm0, xmm2
addss xmm0, dword [esi + 0x30]
movss dword [esi + 0x30], xmm0
call fcn.0056fcf0
fld dword [esp + 0x8c]
lea eax, [esp + 0x5c]
mov ecx, dword [esp + 0x1c]
lea edx, [esi - 0x18]
fstp dword [esp]
push eax
call fcn.0056d850
mov eax, dword [esp + 0x84]
add esp, 0xc
fst dword [esp + 0x84]
fstp dword [esp + ebp*4 + 0x44]
mov ecx, 6
movss xmm1, dword [eax + ebp*4]
lea eax, [esi - 0x10]
movaps xmm0, xmm1
mulss xmm0, dword [esp + 0x84]
addss xmm0, dword [esp + 0x20]
divss xmm1, xmm0
lea eax, [eax + 0x10]
movaps xmm0, xmm1
mulss xmm0, dword [eax - 0x18]
movss dword [eax - 0x18], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax - 0x14]
movss dword [eax - 0x14], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax - 0x10]
movss dword [eax - 0x10], xmm0
movaps xmm0, xmm1
mulss xmm0, dword [eax - 0xc]
movss dword [eax - 0xc], xmm0
sub ecx, 1
jne 0x56dc45
mulss xmm1, dword [esi + 0x48]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
add dword [esp + 0x14], 0x14
movss dword [esi + 0x48], xmm1
fld dword [esi + 0x18]
lea eax, [ecx*4]
fstp dword [esp + ebp*4 + 0x24]
add edx, eax
add esi, 0x64
mov eax, dword [esp + 0x74]
inc ebp
mov dword [esp + 0x80], edx
mov ecx, esi
mov dword [esp + 0x84], esi
cmp ebp, ebx
jl 0x56db04
mov esi, dword [esp + 0x6c]
xorps xmm3, xmm3
test esi, esi
je 0x56dd6a
movss xmm2, dword [0x5f4518]
movaps xmm4, xmm3
xor ecx, ecx
movss dword [esp + 0x84], xmm2
movss dword [esp + 0x80], xmm4
test ebx, ebx
jle 0x56dd48
mov edx, dword [esp + 0x78]
lea eax, [esp + 0x34]
sub edx, eax
jmp 0x56dd10
lea eax, [esp + 0x34]
lea eax, [eax + ecx*4]
movss xmm1, dword [edx + eax]
movaps xmm0, xmm1
mulss xmm1, dword [esp + ecx*4 + 0x44]
inc ecx
mulss xmm0, dword [eax]
addss xmm2, xmm1
addss xmm4, xmm0
cmp ecx, ebx
jl 0x56dd10
movss dword [esp + 0x84], xmm2
movss dword [esp + 0x80], xmm4
fld dword [esp + 0x80]
fdiv dword [esp + 0x84]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x5f46d8]
fmul dword [0x5f46e8]
fstp dword [esi]
mov edx, dword [esp + 0x18]
xor ecx, ecx
test ebx, ebx
jle 0x56ddaa
lea eax, [edx + 8]
jmp 0x56dd80
movss xmm1, dword [eax - 8]
addss xmm1, dword [eax - 4]
movss xmm0, dword [eax + 8]
addss xmm0, dword [eax + 4]
addss xmm1, dword [eax]
add eax, 0x14
addss xmm1, xmm0
movss dword [esp + ecx*4 + 0x34], xmm1
inc ecx
cmp ecx, ebx
jl 0x56dd80
movss xmm2, dword [0x5f454c]
lea ecx, [ebx - 3]
xor eax, eax
cmp ebx, 4
jl 0x56dddf
lea esp, [esp]
addss xmm2, dword [esp + eax*4 + 0x24]
addss xmm2, dword [esp + eax*4 + 0x28]
addss xmm2, dword [esp + eax*4 + 0x2c]
addss xmm2, dword [esp + eax*4 + 0x30]
add eax, 4
cmp eax, ecx
jl 0x56ddc0
cmp eax, ebx
jge 0x56ddee
addss xmm2, dword [esp + eax*4 + 0x24]
inc eax
cmp eax, ebx
jl 0x56dde3
xor eax, eax
cmp ebx, 4
jl 0x56de47
jmp 0x56de00
movss xmm1, dword [esp + eax*4 + 0x24]
mulss xmm1, dword [esp + eax*4 + 0x34]
movss xmm0, dword [esp + eax*4 + 0x38]
mulss xmm0, dword [esp + eax*4 + 0x28]
addss xmm3, xmm1
addss xmm3, xmm0
movss xmm0, dword [esp + eax*4 + 0x3c]
mulss xmm0, dword [esp + eax*4 + 0x2c]
addss xmm3, xmm0
movss xmm0, dword [esp + eax*4 + 0x40]
mulss xmm0, dword [esp + eax*4 + 0x30]
add eax, 4
addss xmm3, xmm0
cmp eax, ecx
jl 0x56de00
cmp eax, ebx
jge 0x56de65
jmp 0x56de50
movss xmm0, dword [esp + eax*4 + 0x34]
mulss xmm0, dword [esp + eax*4 + 0x24]
inc eax
addss xmm3, xmm0
cmp eax, ebx
jl 0x56de50
divss xmm3, xmm2
xor ecx, ecx
movss dword [esp + 0x1c], xmm3
test ebx, ebx
jle 0x56dfa6
movss xmm2, dword [0x5f4598]
lea eax, [edx + 8]
jmp 0x56de90
movss xmm1, dword [esp + ecx*4 + 0x24]
movaps xmm0, xmm2
addss xmm1, xmm2
subss xmm3, dword [esp + ecx*4 + 0x34]
divss xmm0, xmm1
mulss xmm3, xmm0
movss xmm0, dword [eax - 8]
comiss xmm0, xmm2
jbe 0x56deba
movaps xmm1, xmm0
jmp 0x56debd
movaps xmm1, xmm2
movss xmm0, dword [eax - 4]
comiss xmm0, xmm2
movss dword [esp + 0x84], xmm0
jbe 0x56ded5
movaps xmm4, xmm0
jmp 0x56ded8
movaps xmm4, xmm2
movss xmm5, dword [eax]
movaps xmm0, xmm4
comiss xmm5, xmm2
addss xmm0, xmm1
movss dword [esp + 0x70], xmm5
ja 0x56def1
movaps xmm5, xmm2
movaps xmm7, xmm5
addss xmm7, xmm0
movss xmm0, dword [eax + 4]
comiss xmm0, xmm2
movss dword [esp + 0x6c], xmm0
jbe 0x56df0d
movaps xmm6, xmm0
jmp 0x56df10
movaps xmm6, xmm2
movaps xmm0, xmm6
addss xmm0, xmm7
movss dword [esp + 0x80], xmm0
movss xmm0, dword [eax + 8]
comiss xmm0, xmm2
movss dword [esp + 0x20], xmm0
jbe 0x56df35
movaps xmm7, xmm0
jmp 0x56df38
movaps xmm7, xmm2
movaps xmm0, xmm7
inc ecx
addss xmm0, dword [esp + 0x80]
divss xmm3, xmm0
mulss xmm1, xmm3
mulss xmm4, xmm3
addss xmm1, dword [eax - 8]
mulss xmm5, xmm3
addss xmm4, dword [esp + 0x84]
mulss xmm6, xmm3
addss xmm5, dword [esp + 0x70]
mulss xmm7, xmm3
addss xmm6, dword [esp + 0x6c]
movss xmm3, dword [esp + 0x1c]
addss xmm7, dword [esp + 0x20]
movss dword [eax - 8], xmm1
movss dword [eax - 4], xmm4
movss dword [eax], xmm5
movss dword [eax + 4], xmm6
movss dword [eax + 8], xmm7
add eax, 0x14
cmp ecx, ebx
jl 0x56de90
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret