Function at 0x572a30
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.004fbce0
cmp dword [esi + 4], 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov eax, esi
je 0x572aea
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 0x572aea
movsx edx, byte [ecx + 0x5e7d30]
mov eax, dword [esp + 0x44]
movsx ecx, byte [eax + 0x5e7d30]
push edx
push ecx
push 0x5e83f8
push 0
push ebx
call fcn.0056ea40
mov eax, dword [esp + 0x5c]
add esp, 0x14
mov edx, 1
cmp dword [esp + 0x44], edx
jne 0x572ca9
mov ecx, dword [ebx + 0x1900]
mov eax, dword [ecx + 4]
cmp eax, 2
je 0x572b13
cmp eax, edx
mov dword [esp + 0x58], 0
jne 0x572b17
mov dword [esp + 0x58], edx
mov edi, dword [ebx + 0x1950]
mov eax, dword [edi + 4]
cmp eax, 2
mov dword [esp + 0x50], eax
je 0x572b35
cmp eax, edx
mov dword [esp + 0x4c], 0
jne 0x572b39
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 [0x610ed0]
jne 0x572b97
fld dword [esp + 0x34]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x34]
cmp dword [esp + 0x50], edi
jne 0x572baf
fld dword [esp + 0x44]
fld qword [esi + 0xd0]
fmul st(2)
fsubp st(1)
fstp dword [esp + 0x44]
cmp dword [esp + 0x58], 0
je 0x572bd5
cmp dword [esp + 0x4c], 0
je 0x572bcf
fld dword [esp + 0x44]
fadd dword [esp + 0x34]
fmul st(1)
fadd qword [esi + 0xc8]
jmp 0x572bfe
fld dword [esp + 0x44]
jmp 0x572bfe
cmp dword [esp + 0x4c], 0
je 0x572be2
fld dword [esp + 0x34]
jmp 0x572bfe
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 0x572c1a
fmul qword [esi + 0xd0]
fadd dword [esp + 0x34]
jmp 0x572c26
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.004fbc30
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 [0x5e8228]
fdiv qword [0x610f08]
fld qword [0x5e4ff0]
fxch st(1)
call fcn.005c4e80
fmul qword [str.333333]
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 0x573041
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 0x572da2
cmp esi, edx
jle 0x572de1
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 0x572de1
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 0x572d93
fld qword [eax + 0x190]
call fcn.004fbc30
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x572d7e
fstp st(1)
call fcn.004fbc66
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x572d95
fstp st(0)
call fcn.004fbc66
add dword [esp + 0x50], eax
mov ecx, dword [esp + 0x4c]
adc dword [esp + 0x54], edx
jmp 0x572d95
fstp st(0)
add ecx, 1
cmp ecx, esi
mov dword [esp + 0x4c], ecx
jl 0x572d2b
jmp 0x572de1
mov eax, dword [ebx + 0x18f4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x4c], eax
cmp eax, esi
mov eax, dword [esp + 0x48]
jge 0x572dbd
fild dword [esp + 0x4c]
jmp 0x572dc8
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.004fbc66
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 [0x610ed0]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572e9c
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 0x572ec1
fxch st(1)
fcom qword [edi + 0x98]
fnstsw ax
test ah, 5
jp 0x572ec5
fild dword [esp + 0x4c]
fidiv dword [edi + 0xe0]
fmul qword [0x610ef0]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x572eb2
fstp st(0)
fstp st(1)
fild qword [esp + 0x58]
fdiv qword [edi + 0x98]
fxch st(1)
call fcn.005c4e80
fmul dword [esp + 0x34]
fstp dword [esp + 0x34]
jmp 0x572ec9
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572e1c
fstp st(0)
jmp 0x572e1e
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x572e7f
fstp st(0)
jmp 0x572e81
fstp st(1)
jmp 0x572ec7
fstp st(0)
fstp st(0)
cmp dword [esp + 0x60], 0
je 0x57300c
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.00571520
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 [0x5dfc30]
fld dword [esp + 0xa0]
fcom st(2)
fnstsw ax
test ah, 5
jnp 0x572f5e
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 0x572f62
fstp st(0)
fld qword [esp + 0x68]
fld st(0)
fst qword [esp + 0x38]
jmp 0x572f68
fstp st(0)
jmp 0x572f3f
fld qword [esp + 0x68]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x572f79
fstp st(0)
fld st(0)
fst qword [esp + 0x38]
fxch st(4)
fdivrp st(3)
fxch st(2)
fstp qword [esp + 0x50]
jmp 0x572f87
fxch st(1)
fld qword [esp + 0x50]
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x572fd8
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 5
jp 0x572fda
fstp st(0)
fstp st(1)
fmul qword [0x5e83f0]
sub esp, 8
lea esi, [esp + 0x80]
fstp dword [esp + 0x3c]
fld dword [esp + 0x3c]
fstp qword [esp]
call fcn.00571520
fsubr qword [esp + 0x68]
add esp, 8
fld qword [esp + 0x38]
fld dword [esp + 0x34]
fld qword [esp + 0x68]
jmp 0x572f85
fstp st(2)
fldz
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x572ff4
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 5
jp 0x572ff6
jmp 0x572fa3
fstp st(1)
push ebx
fstp st(0)
push 0x595190
call fcn.005978c0
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 0x573024
fstp st(1)
jmp 0x5732ed
fstp st(0)
fld qword [esp + 0x68]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x57303a
fstp st(1)
jmp 0x5732ed
fstp st(0)
jmp 0x5732ed
fstp st(0)
push ebx
fstp st(0)
push 0x595190
fld1
fstp qword [esp + 0x70]
call fcn.005978c0
mov ecx, dword [esp + 0x50]
fld qword [ecx + 0xb0]
mov dword [esp + 0x40], eax
fld qword [0x610ed0]
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 [0x5dfc30]
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 0x573161
fld qword [ecx + 0xc0]
fstp qword [esp]
push eax
call fcn.005721d0
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 0x573221
cmp dword [ebx + 0x50], 1
jle 0x573221
cmp dword [edi + 0x118], esi
je 0x573221
fstp st(0)
sub esp, 8
fld qword [edi + 0x120]
fdiv qword [edi + 0x128]
fstp qword [esp]
call fcn.005714f0
fstp dword [esp + 0x40]
fld dword [esp + 0x40]
jmp 0x5732c2
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.005721d0
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 0x573114
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.005c5930
fld1
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x5731d9
fstp st(1)
fld st(0)
jmp 0x5731db
fxch st(1)
fld qword [0x5e4ff0]
sub esp, 0x18
fstp qword [esp + 0x10]
fld qword [0x610ed0]
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.005714c0
fld dword [esp + 0x4c]
add esp, 0x18
fmul st(1)
fstp dword [esp + 0x34]
jmp 0x573118
mov ecx, dword [ebx + 0x4e0]
test ecx, ecx
jle 0x5732a6
fld qword [edi + esi*8 + 0xf0]
fdiv qword [edi + 0x188]
fld qword [edi + 0x188]
fmul qword [edi + esi*8 + 0xf0]
fld qword [0x5e8230]
fcomp st(3)
fnstsw ax
test ah, 5
jp 0x573265
cmp ecx, 3
jle 0x573265
fstp st(2)
fld qword [edi + 0x188]
fmulp st(2)
jmp 0x57327c
fld qword [0x610eb0]
fcomp st(3)
fnstsw ax
fstp st(2)
test ah, 0x41
jne 0x57327c
fdiv qword [edi + 0x188]
fld dword [esp + 0x34]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x573293
fstp st(0)
fstp st(1)
fstp dword [esp + 0x34]
jmp 0x5732d3
fstp st(1)
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x57328b
fstp st(0)
fstp dword [esp + 0x34]
jmp 0x5732d3
cmp dword [ebx + 0x1bc], 1
fstp st(0)
jne 0x5732d3
fld dword [ebx + 0x1d4]
sub esp, 8
fstp qword [esp]
call fcn.005714f0
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.00572750
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 0x573315
cmp dword [edi + 8], 0
je 0x573327
mov ecx, dword [ebx + 0x18f4]
cmp dword [ecx + 0x18], 0
jne 0x573327
fst qword [edi + 0xf0]
test eax, eax
je 0x573352
cmp dword [edi + 8], 0
je 0x573352
sub esp, 8
lea esi, [esp + 0x80]
fstp qword [esp]
call fcn.00571520
fstp qword [edi + 0x198]
fld dword [esp + 0x3c]
add esp, 8
jmp 0x57337a
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.004fbc30
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