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

Disassembly:
sub esp, 0x54
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 8]
xor ebp, ebp
xor ecx, ecx
cmp eax, ebp
push edi
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
jl 0x570281
mov edx, dword [esi + 0xc]
nop
xor edi, edi
cmp edx, ebp
jl 0x570279
xor eax, eax
jmp 0x570250
mov edx, dword [esi + 0x68]
mov edx, dword [edx + ecx*4]
mov dword [edx + eax + 0x2c], ebp
mov edx, dword [esi + 0x68]
mov edx, dword [edx + ecx*4]
mov dword [edx + eax + 0x30], ebp
mov edx, dword [esi + 0x68]
mov edx, dword [edx + ecx*4]
mov dword [edx + eax + 0x34], ebp
mov edx, dword [esi + 0xc]
inc edi
add eax, 0x50
cmp edi, edx
jle 0x570250
mov eax, dword [esi + 8]
inc ecx
cmp ecx, eax
jle 0x570240
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebp
jl 0x5703ff
mov edi, edi
cmp dword [esi + 0xc], ebp
mov dword [esp + 0x18], ebp
jl 0x5703f3
xor edi, edi
nop
mov eax, dword [esi + 0x68]
mov ecx, dword [eax + ebx*4]
cmp dword [ecx + edi + 0x38], ebp
jne 0x5703dc
mov edx, dword [esi + 0x68]
mov eax, dword [edx + ebx*4]
mov ecx, dword [esi + 0x64]
mov edx, dword [ecx + ebx*4]
fld dword [edx + edi]
lea eax, [eax + edi + 0x30]
fmul dword [0x6aa910]
fadd dword [eax]
fstp dword [eax]
mov eax, dword [esi + 0x68]
mov ecx, dword [eax + ebx*4]
fld dword [ecx + edi + 0x14]
lea eax, [ecx + edi + 0x14]
fchs
lea ecx, [esp + 0x1c]
fld dword [eax + 4]
fchs
fld dword [eax + 8]
fchs
fstp dword [esp + 0x54]
mov edx, dword [esp + 0x54]
fxch st(1)
mov dword [esp + 0x24], edx
fstp dword [esp + 0x1c]
fstp dword [esp + 0x20]
call fcn.0056f9c0
mov eax, dword [esi + 0x68]
mov ecx, dword [eax + ebx*4]
fld dword [ecx + edi + 0x14]
lea eax, [ecx + edi]
fld dword [eax + 0x18]
fld dword [eax + 0x1c]
fld st(2)
fmulp st(3)
fld st(0)
fmul st(1)
faddp st(3)
fld st(1)
fmul st(2)
faddp st(3)
fxch st(2)
fsqrt
fstp st(2)
fstp st(0)
fld st(0)
fmulp st(1)
fld dword [esp + 0x1c]
fmul st(1)
fld dword [esp + 0x20]
fmul st(2)
fstp dword [esp + 0x44]
fld dword [esp + 0x24]
fmul st(2)
fstp dword [esp + 0x48]
fmul dword [0x6a7600]
fstp st(1)
fld dword [esp + 0x44]
fmul dword [0x6a7600]
fld dword [esp + 0x48]
fmul dword [0x6a7600]
fstp dword [esp + 0x3c]
fxch st(1)
fadd dword [eax + 0x2c]
fstp dword [eax + 0x2c]
fadd dword [eax + 0x30]
fstp dword [eax + 0x30]
fld dword [esp + 0x3c]
fadd dword [eax + 0x34]
fstp dword [eax + 0x34]
mov eax, dword [0x847338]
fld dword [0x84732c]
mov edx, dword [0x847334]
fld dword [0x847330]
mov dword [esp + 0x10], eax
fxch st(1)
mov dword [esp + 0x30], edx
fmul dword [esp + 0x10]
mov ecx, dword [esi + 0x68]
fstp dword [esp + 0x58]
mov edx, dword [ecx + ebx*4]
fmul dword [esp + 0x10]
lea eax, [edx + edi + 0x2c]
fld dword [esp + 0x30]
fmul dword [esp + 0x10]
fld dword [esp + 0x58]
fadd dword [eax]
fstp dword [eax]
fxch st(1)
fadd dword [eax + 4]
fstp dword [eax + 4]
fadd dword [eax + 8]
fstp dword [eax + 8]
mov eax, dword [esp + 0x18]
mov ecx, dword [esi + 0xc]
inc eax
add edi, 0x50
cmp eax, ecx
mov dword [esp + 0x18], eax
jle 0x5702a0
mov eax, dword [esi + 8]
inc ebx
cmp ebx, eax
jle 0x570290
mov eax, dword [esi]
sub eax, ebp
je 0x5705ff
dec eax
jne 0x5707d5
cmp dword [esi + 0x30], ebp
mov dword [esp + 0x10], ebp
jle 0x5707d5
mov dword [esp + 0x18], ebp
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x78]
mov ebx, dword [eax + ecx]
mov ebp, dword [eax + ecx + 8]
mov edi, dword [esi + 0x68]
add eax, ecx
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + ebp*4]
mov edi, dword [edi + ebx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
fld dword [edi + ecx + 8]
lea edi, [edi + ecx + 8]
shl edx, 4
fsub dword [eax + edx + 8]
lea eax, [eax + edx + 8]
fld dword [edi + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x20]
fld dword [edi + 8]
mov edi, dword [esi + 0x68]
fsub dword [eax + 8]
mov eax, dword [edi + ebp*4]
mov edi, dword [edi + ebx*4]
lea edi, [edi + ecx + 0x14]
fstp dword [esp + 0x24]
lea eax, [eax + edx + 0x14]
fld dword [edi]
fsub dword [eax]
fstp dword [esp + 0x28]
fld dword [edi + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x2c]
fld dword [edi + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x30]
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fld st(1)
fmul st(2)
faddp st(1)
fsqrt
fst dword [esp + 0x14]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 5
jnp 0x5705f2
fld dword [0x6a8210]
mov edi, dword [esp + 0x18]
fdiv dword [esp + 0x14]
mov eax, dword [esi + 0x78]
add eax, edi
mov dword [esp + 0x18], eax
fld st(1)
fmul st(1)
fld dword [esp + 0x20]
fmul st(2)
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul st(2)
fstp dword [esp + 0x54]
fld dword [esp + 0x30]
fmul dword [esp + 0x24]
fld dword [esp + 0x2c]
fmul dword [esp + 0x20]
faddp st(1)
fld dword [esp + 0x28]
fmul st(4)
faddp st(1)
fmul st(2)
fmul dword [eax + 0x14]
mov eax, dword [esi + 0x78]
fld dword [esp + 0x14]
fsub dword [edi + eax + 0x18]
mov eax, dword [esp + 0x18]
fmul dword [eax + 0x10]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + ebx*4]
faddp st(1)
add ecx, eax
mov eax, dword [ecx + 0x38]
test eax, eax
fchs
fstp dword [esp + 0x14]
fmul dword [esp + 0x14]
fstp st(2)
fstp st(0)
fld dword [esp + 0x50]
fmul dword [esp + 0x14]
fstp dword [esp + 0x38]
fld dword [esp + 0x54]
fmul dword [esp + 0x14]
fstp dword [esp + 0x3c]
fld st(0)
fchs
fstp dword [esp + 0x40]
fld dword [esp + 0x38]
fchs
fstp dword [esp + 0x44]
fld dword [esp + 0x3c]
fchs
fstp dword [esp + 0x48]
jne 0x57059b
fadd dword [ecx + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [esp + 0x38]
fadd dword [ecx + 0x30]
fstp dword [ecx + 0x30]
fld dword [esp + 0x3c]
fadd dword [ecx + 0x34]
fstp dword [ecx + 0x34]
jmp 0x57059d
fstp st(0)
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx + ebp*4]
add edx, eax
mov eax, dword [edx + 0x38]
test eax, eax
jne 0x5705ca
fld dword [esp + 0x40]
fadd dword [edx + 0x2c]
fstp dword [edx + 0x2c]
fld dword [esp + 0x44]
fadd dword [edx + 0x30]
fstp dword [edx + 0x30]
fld dword [esp + 0x48]
fadd dword [edx + 0x34]
fstp dword [edx + 0x34]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x30]
inc eax
add edi, 0x1c
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edi
jl 0x570421
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
fstp st(0)
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x54
ret
cmp dword [esi + 0x30], ebp
mov dword [esp + 0x10], ebp
jle 0x5707d5
mov dword [esp + 0x14], ebp
mov ecx, dword [esi + 0x78]
mov edx, dword [esp + 0x14]
mov ebx, dword [ecx + edx]
mov ebp, dword [ecx + edx + 8]
mov edi, dword [esi + 0x68]
lea eax, [ecx + edx]
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
lea edx, [eax + eax*4]
mov eax, dword [edi + ebp*4]
mov edi, dword [edi + ebx*4]
lea ecx, [ecx + ecx*4]
shl ecx, 4
fld dword [edi + ecx + 8]
lea edi, [edi + ecx + 8]
shl edx, 4
fsub dword [eax + edx + 8]
lea eax, [eax + edx + 8]
fld dword [edi + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x20]
fld dword [edi + 8]
mov edi, dword [esi + 0x68]
fsub dword [eax + 8]
mov eax, dword [edi + ebp*4]
mov edi, dword [edi + ebx*4]
lea edi, [edi + ecx + 0x14]
fstp dword [esp + 0x24]
lea eax, [eax + edx + 0x14]
fld dword [edi]
fsub dword [eax]
fstp dword [esp + 0x40]
fld dword [edi + 4]
fsub dword [eax + 4]
fstp dword [esp + 0x44]
fld dword [edi + 8]
fsub dword [eax + 8]
fstp dword [esp + 0x48]
fld st(0)
fmul st(1)
fld dword [esp + 0x24]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x20]
fmul dword [esp + 0x20]
faddp st(1)
fsqrt
fst dword [esp + 0x18]
fcomp dword [0x6a75fc]
fnstsw ax
test ah, 5
jnp 0x5705f2
fld dword [0x6a8210]
mov edi, dword [esp + 0x14]
fdiv dword [esp + 0x18]
mov eax, dword [esi + 0x78]
add eax, edi
mov dword [esp + 0x14], eax
fld st(0)
fmul st(2)
fld dword [esp + 0x20]
fmul st(2)
fstp dword [esp + 0x50]
fld dword [esp + 0x24]
fmul st(2)
fstp dword [esp + 0x54]
fld dword [esp + 0x40]
fmul st(3)
fld dword [esp + 0x48]
fmul dword [esp + 0x24]
faddp st(1)
fld dword [esp + 0x44]
fmul dword [esp + 0x20]
faddp st(1)
fmul st(2)
fmul dword [eax + 0x14]
mov eax, dword [esi + 0x78]
fld dword [esp + 0x18]
fsub dword [eax + edi + 0x18]
mov eax, dword [esp + 0x14]
fmul dword [eax + 0x10]
mov eax, dword [esi + 0x68]
mov eax, dword [eax + ebx*4]
faddp st(1)
add ecx, eax
mov eax, dword [ecx + 0x38]
test eax, eax
fchs
fstp dword [esp + 0x18]
fmul dword [esp + 0x18]
fstp st(2)
fstp st(0)
fld dword [esp + 0x50]
fmul dword [esp + 0x18]
fstp dword [esp + 0x38]
fld dword [esp + 0x54]
fmul dword [esp + 0x18]
fstp dword [esp + 0x3c]
fld st(0)
fchs
fstp dword [esp + 0x28]
fld dword [esp + 0x38]
fchs
fstp dword [esp + 0x2c]
fld dword [esp + 0x3c]
fchs
fstp dword [esp + 0x30]
jne 0x57078b
fadd dword [ecx + 0x2c]
fstp dword [ecx + 0x2c]
fld dword [esp + 0x38]
fadd dword [ecx + 0x30]
fstp dword [ecx + 0x30]
fld dword [esp + 0x3c]
fadd dword [ecx + 0x34]
fstp dword [ecx + 0x34]
jmp 0x57078d
fstp st(0)
mov ecx, dword [esi + 0x68]
mov eax, dword [ecx + ebp*4]
add edx, eax
mov eax, dword [edx + 0x38]
test eax, eax
jne 0x5707ba
fld dword [esp + 0x28]
fadd dword [edx + 0x2c]
fstp dword [edx + 0x2c]
fld dword [esp + 0x2c]
fadd dword [edx + 0x30]
fstp dword [edx + 0x30]
fld dword [esp + 0x30]
fadd dword [edx + 0x34]
fstp dword [edx + 0x34]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 0x30]
inc eax
add edi, 0x1c
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
jl 0x570610
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x54
ret