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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0xb4
push ebx
mov ebx, eax
mov eax, dword [ebx + 0xdc0]
mov ecx, dword [ebx + 0x4054]
push esi
mov esi, dword [ebx + 0x3e30]
fld qword [esi + eax*8 + 0x138]
mov dword [esp + 0x40], eax
fstp qword [esp + 0x6c]
push edi
fld qword [esi + eax*8 + 0x160]
mov eax, dword [ebx + 0x4050]
add eax, dword [ebx + 0x4048]
fstp qword [esp + 0x68]
push 0
adc ecx, dword [ebx + 0x404c]
add eax, dword [ebx + 0x4040]
push 8
adc ecx, dword [ebx + 0x4044]
mov dword [esp + 0x50], esi
push ecx
push eax
call fcn.004fba20
cmp dword [esi + 4], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, esi
je 0x5728aa
mov esi, dword [eax + 0x40]
mov ecx, 0x12
lea edi, [esp + 0x78]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x78]
cmp dword [esp + 0x44], ecx
je 0x5728aa
movsx edx, byte [ecx + 0x5e7d20]
mov eax, dword [esp + 0x44]
movsx ecx, byte [eax + 0x5e7d20]
push edx
push ecx
push 0x5e83d8
push 0
push ebx
call fcn.0056e800
mov eax, dword [esp + 0x5c]
add esp, 0x14
mov edx, 1
cmp dword [esp + 0x44], edx
jne 0x572a69
mov ecx, dword [ebx + 0x1900]
mov eax, dword [ecx + 4]
cmp eax, 2
je 0x5728d3
cmp eax, edx
mov dword [esp + 0x58], 0
jne 0x5728d7
mov dword [esp + 0x58], edx
mov edi, dword [ebx + 0x1950]
mov eax, dword [edi + 4]
cmp eax, 2
mov dword [esp + 0x50], eax
je 0x5728f5
cmp eax, edx
mov dword [esp + 0x4c], 0
jne 0x5728f9
mov dword [esp + 0x4c], edx
mov eax, dword [ebx + 0x18f4]
mov esi, dword [eax]
mov eax, esi
sub eax, dword [ecx]
cdq
mov ecx, eax
xor ecx, edx
mov eax, esi
sub eax, dword [edi]
mov esi, dword [esp + 0x48]
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
mov edx, dword [ebx + 0x1900]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x38], eax
fld dword [edx + 0x24]
fstp dword [esp + 0x34]
fld dword [edi + 0x24]
mov edi, 4
cmp dword [edx + 4], edi
fstp dword [esp + 0x44]
fld qword [0x6116c0]
jne 0x572957
fld dword [esp + 0x34]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x34]
cmp dword [esp + 0x50], edi
jne 0x57296f
fld dword [esp + 0x44]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x44]
cmp dword [esp + 0x58], 0
je 0x572995
cmp dword [esp + 0x4c], 0
je 0x57298f
fld dword [esp + 0x44]
fadd dword [esp + 0x34]
fmul st(1)
fadd qword [esi + 0xc8]
jmp 0x5729be
fld dword [esp + 0x44]
jmp 0x5729be
cmp dword [esp + 0x4c], 0
je 0x5729a2
fld dword [esp + 0x34]
jmp 0x5729be
fild dword [esp + 0x60]
add eax, ecx
fmul dword [esp + 0x44]
fild dword [esp + 0x38]
mov dword [esp + 0x38], eax
fmul dword [esp + 0x34]
faddp st(1)
fidiv dword [esp + 0x38]
mov eax, dword [ebx + 0x18f4]
fstp dword [esp + 0x34]
cmp dword [eax + 0x20], 0
je 0x5729da
fmul qword [esi + 0xd0]
fadd dword [esp + 0x34]
jmp 0x5729e6
fstp st(0)
fld dword [esp + 0x34]
fadd qword [esi + 0xd0]
mov edx, dword [ebx + 0x194c]
fstp dword [esp + 0x34]
mov ecx, dword [ebx + edx*4 + 0x194c]
fild dword [ecx + 0xcbc]
mov eax, dword [esi + 0x220]
fmul qword [eax]
fld dword [esp + 0x34]
fld st(0)
fmul qword [eax + 8]
fdivp st(2)
fxch st(1)
fst qword [esi + 0x198]
call fcn.004fb970
mov edx, dword [ebx + 0x3e30]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp qword [edx + 0x190]
mov dword [esi + 0x84], 0
fsub qword [0x5e8210]
fdiv qword [0x611700]
fld qword [0x5e4ff0]
fxch st(1)
call fcn.005c4c40
fmul qword [0x5dfc38]
fstp dword [esp + 0x38]
fld dword [esp + 0x38]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [eax + 4], 0
fld qword [eax + 0x20]
fld qword [0x5e4ff0]
fmul st(1), st(0)
fxch st(1)
fmul qword [eax + 0x18]
fst qword [esp + 0x60]
je 0x572e01
mov ecx, dword [esp + 0x58]
mov eax, dword [eax + 8]
test eax, eax
mov esi, dword [ebx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x60], eax
je 0x572b62
cmp esi, edx
jle 0x572ba1
mov edx, dword [ebx + 0x22c]
mov ecx, dword [ebx + 0x3e30]
sub ecx, dword [edx + 0x3e30]
mov eax, 0xe6c2b449
imul ecx
add edx, ecx
sar edx, 9
mov edi, edx
shr edi, 0x1f
add edi, edx
cmp esi, 1
mov dword [esp + 0x4c], 1
jle 0x572ba1
mov ecx, dword [esp + 0x4c]
lea eax, [ecx + edi]
cdq
idiv esi
mov edx, dword [ebx + edx*4 + 0x22c]
cmp dword [edx + 0x430], 0
mov eax, dword [edx + 0x3e30]
fld qword [eax + 0x198]
je 0x572b53
fld qword [eax + 0x190]
call fcn.004fb970
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x572b3e
fstp st(1)
call fcn.004fb9a6
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x572b55
fstp st(0)
call fcn.004fb9a6
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x572b55
fstp st(0)
add ecx, 1
cmp ecx, esi
mov dword [esp + 0x4c], ecx
jl 0x572aeb
jmp 0x572ba1
mov eax, dword [ebx + 0x18f4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x4c], eax
cmp eax, esi
mov eax, dword [esp + 0x48]
jge 0x572b7d
fild dword [esp + 0x4c]
jmp 0x572b88
lea ecx, [esi - 1]
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
fmul qword [eax + 0x18]
fdiv qword [eax + 0x10]
fild qword [esp + 0x58]
faddp st(1)
call fcn.004fb9a6
mov dword [esp + 0x54], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
sub eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x54]
sbb ecx, dword [esp + 0x94]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
fild qword [esp + 0x38]
fsubr st(1)
fdivrp st(1)
fld qword [0x6116c0]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572c5c
fstp st(1)
fstp st(1)
fdivr dword [esp + 0xa0]
mov edx, dword [ebx + 0x18f4]
mov eax, dword [edx + 0x18]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
sub eax, esi
add eax, 1
mov dword [esp + 0x38], eax
fstp dword [esp + 0x34]
fild dword [esp + 0x38]
fcomp qword [edi + 0x10]
fnstsw ax
fldz
test ah, 1
fld1
jne 0x572c81
fxch st(1)
fcom qword [edi + 0x98]
fnstsw ax
test ah, 5
jp 0x572c85
fild dword [esp + 0x4c]
fidiv dword [edi + 0xe0]
fmul qword [0x6116e0]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x572c72
fstp st(0)
fstp st(1)
fild qword [esp + 0x58]
fdiv qword [edi + 0x98]
fxch st(1)
call fcn.005c4c40
fmul dword [esp + 0x34]
fstp dword [esp + 0x34]
jmp 0x572c89
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572bdc
fstp st(0)
jmp 0x572bde
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572c3f
fstp st(0)
jmp 0x572c41
fstp st(1)
jmp 0x572c87
fstp st(0)
fstp st(0)
cmp dword [esp + 0x60], 0
je 0x572dcc
fld qword [edi + 0x78]
sub esp, 8
fadd qword [edi + 0x70]
lea esi, [esp + 0x80]
fstp qword [esp + 0x68]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.005712e0
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x98]
fld st(0)
fdiv qword [edi + 0x60]
fld qword [0x5e4ff0]
fsub st(1)
fld dword [esp + 0x34]
fld st(0)
fmulp st(2)
fxch st(1)
fst qword [esp + 0x38]
fld st(2)
fadd qword [0x6115d8]
fld dword [esp + 0xa0]
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x572d1e
fstp st(2)
fxch st(1)
fst qword [esp + 0x38]
fxch st(1)
fld qword [0x5dfc10]
fcomp st(4)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x572d22
fstp st(0)
fld qword [esp + 0x68]
fld st(0)
fst qword [esp + 0x38]
jmp 0x572d28
fstp st(0)
jmp 0x572cff
fld qword [esp + 0x68]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x572d39
fstp st(0)
fld st(0)
fst qword [esp + 0x38]
fxch st(4)
fdivrp st(3)
fxch st(2)
fstp qword [esp + 0x50]
jmp 0x572d47
fxch st(1)
fld qword [esp + 0x50]
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x572d98
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x572d9a
fstp st(0)
fstp st(1)
fmul qword [0x5e83d0]
sub esp, 8
lea esi, [esp + 0x80]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.005712e0
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x38]
fld dword [esp + 0x34]
fld qword [esp + 0x68]
jmp 0x572d45
fstp st(2)
fldz
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x572db4
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x572db6
jmp 0x572d63
fstp st(1)
push ebx
fstp st(0)
push 0x594f50
call fcn.00597680
add esp, 8
mov dword [edi + 0x84], eax
fld dword [esp + 0x34]
fld qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572de4
fstp st(1)
jmp 0x5730ad
fstp st(0)
fld qword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x572dfa
fstp st(1)
jmp 0x5730ad
fstp st(0)
jmp 0x5730ad
fstp st(0)
push ebx
fstp st(0)
push 0x594f50
fld1
fstp qword [esp + 0x70]
call fcn.00597680
mov ecx, dword [esp + 0x50]
fld qword [ecx + 0xb0]
mov dword [esp + 0x40], eax
fld qword [0x6116c0]
mov edx, dword [ecx + 0x28]
fmul st(1), st(0)
mov dword [ecx + 0x84], eax
fild dword [esp + 0x40]
mov dword [esp + 0x90], eax
xor eax, eax
add esp, 8
faddp st(2)
mov dword [esp + 0x84], eax
fxch st(1)
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb0], eax
fst qword [ecx + 0xb0]
mov eax, dword [esp + 0x44]
fld qword [ecx + 0xb8]
mov dword [esp + 0xac], edx
fmulp st(2)
sub esp, 8
fxch st(1)
mov dword [esp + 0x80], eax
lea eax, [esp + 0x80]
fadd qword [0x6115d8]
fst qword [ecx + 0xb8]
cmp dword [ebx + 0x1bc], 1
fdivp st(1)
mov edx, dword [ebx + 0x18f4]
mov edx, dword [edx + 0x18]
fstp dword [esp + 0xbc]
fld1
fstp dword [esp + 0x88]
jne 0x572f21
fld qword [ecx + 0xc0]
fstp qword [esp]
push eax
call fcn.00571f90
fstp dword [esp + 0x40]
mov edi, dword [esp + 0x54]
add esp, 0xc
fld qword [esp + 0x68]
mov esi, dword [esp + 0x44]
cmp esi, 2
jne 0x572fe1
cmp dword [ebx + 0x50], 1
jle 0x572fe1
cmp dword [edi + 0x118], esi
je 0x572fe1
fstp st(0)
sub esp, 8
fld qword [edi + 0x120]
fdiv qword [edi + 0x128]
fstp qword [esp]
call fcn.005712b0
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
jmp 0x573082
fld qword [ecx + 0xa0]
mov esi, edx
fdiv qword [ecx + 0x90]
sub esi, dword [ebx + 4]
add esi, 1
mov dword [esp + 0x40], esi
fstp qword [esp]
push eax
call fcn.00571f90
fstp dword [esp + 0x40]
fild dword [esp + 0x44]
mov edi, dword [esp + 0x54]
add esp, 0xc
fmul qword [edi + 0x18]
fdiv qword [edi + 0x10]
fst qword [esp + 0x70]
fldz
fcompp
fnstsw ax
test ah, 5
jp 0x572ed4
mov eax, 0x51eb851f
imul esi
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [esp + 0x38], ecx
fild dword [esp + 0x38]
call fcn.005c56c0
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572f99
fstp st(1)
fld st(0)
jmp 0x572f9b
fxch st(1)
fld qword [0x5e4ff0]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x6116c0]
fstp qword [esp + 8]
fild qword [esp + 0x70]
fsub qword [esp + 0x88]
fxch st(1)
fmul qword [esp + 0x78]
fdivp st(1)
faddp st(1)
fstp qword [esp]
call fcn.00571280
fld dword [esp + 0x4c]
add esp, 0x18
fmul st(1)
fstp dword [esp + 0x34]
jmp 0x572ed8
mov ecx, dword [ebx + 0x4e0]
test ecx, ecx
jle 0x573066
fld qword [edi + esi*8 + 0xf0]
fdiv qword [edi + 0x188]
fld qword [edi + 0x188]
fmul qword [edi + esi*8 + 0xf0]
fld qword [0x5e8218]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x573025
cmp ecx, 3
jle 0x573025
fstp st(2)
fld qword [edi + 0x188]
fmulp st(2)
jmp 0x57303c
fld qword [0x611698]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x57303c
fdiv qword [edi + 0x188]
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x573053
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
jmp 0x573093
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x57304b
fstp st(0)
fstp dword [esp + 0x34]
jmp 0x573093
cmp dword [ebx + 0x1bc], 1
fstp st(0)
jne 0x573093
fld dword [ebx + 0x1d4]
sub esp, 8
fstp qword [esp]
call fcn.005712b0
fld dword [ebx + 0x1e8]
add esp, 8
fabs
fdivp st(1)
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
sub esp, 8
mov eax, esi
fstp qword [esp]
mov esi, ebx
call fcn.00572510
mov edi, dword [esp + 0x50]
add esp, 8
mov edx, dword [esp + 0x44]
fstp dword [esp + 0x34]
fld dword [esp + 0x34]
fld st(0)
fst qword [edi + 0xe8]
fstp qword [edi + edx*8 + 0xf0]
mov eax, dword [edi + 4]
test eax, eax
je 0x5730d5
cmp dword [edi + 8], 0
je 0x5730e7
mov ecx, dword [ebx + 0x18f4]
cmp dword [ecx + 0x18], 0
jne 0x5730e7
fst qword [edi + 0xf0]
test eax, eax
je 0x573112
cmp dword [edi + 8], 0
je 0x573112
sub esp, 8
lea esi, [esp + 0x80]
fstp qword [esp]
call fcn.005712e0
fstp qword [edi + 0x198]
fld dword [esp + 0x3c]
add esp, 8
jmp 0x57313a
mov eax, dword [ebx + 0xdc0]
fild dword [edi + 0x84]
lea edx, [eax + eax*2]
mov eax, dword [edi + 0x80]
fmul qword [eax + edx*8]
lea eax, [eax + edx*8]
fld st(1)
fmul qword [eax + 8]
fdivp st(1)
fstp qword [edi + 0x198]
fld qword [edi + 0x198]
call fcn.004fb970
mov ecx, dword [ebx + 0x3e30]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
pop edi
pop esi
pop ebx
fstp qword [ecx + 0x190]
mov esp, ebp
pop ebp
ret