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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x74
push ebx
mov ebx, ecx
cmp byte [ebx + 0x75], 0
push esi
push edi
mov dword [esp + 0x10], ebx
jne 0x574662
fld qword [ebp + 0x18]
fld qword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x573a41
fst qword [esp + 0x60]
jmp 0x573a49
fxch st(1)
fst qword [esp + 0x60]
fxch st(1)
fld qword [ebp + 0x20]
fld qword [ebp + 0x10]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x573a5e
fst qword [esp + 0x68]
jmp 0x573a66
fxch st(1)
fst qword [esp + 0x68]
fxch st(1)
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x573a75
fstp st(3)
jmp 0x573a77
fstp st(0)
fxch st(2)
fstp qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x573a8a
fstp st(1)
jmp 0x573a8c
fstp st(0)
mov eax, ebx
fstp qword [esp + 0x78]
call fcn.005726f0
mov eax, dword [ebx]
mov edx, dword [eax + 0xbc]
mov ecx, ebx
call edx
test al, al
je 0x574662
mov eax, dword [ebx + 0xd8]
mov ecx, dword [ebx + 0xdc]
mov edx, dword [ebx + 0xe0]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x6c]
mov esi, dword [eax + 0x20]
mov edi, dword [eax + 0x24]
mov dword [esp + 0x28], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0xd0]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0xd4]
mov dword [esp + 0x34], edx
mov edx, dword [eax + 0xd8]
mov eax, dword [ebx + 0xd4]
cmp eax, 0x10
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], edx
jne 0x5740f0
mov eax, dword [ebp + 0x28]
fld qword [ebp + 0x20]
mov ecx, dword [eax + 0xc]
fld st(0)
mov edx, dword [ebx + 0x6c]
fld qword [ebp + 0x10]
mov dword [esp + 0x4c], ecx
fsub st(1), st(0)
mov ecx, 8
fld qword [ebp + 0x18]
sub ecx, dword [edx + 0x14]
fld st(0)
mov edx, dword [eax]
fld qword [ebp + 8]
imul edx, dword [esp + 0x4c]
fsub st(1), st(0)
fld st(4)
fabs
fld st(2)
fabs
fcompp
mov dword [esp + 0x5c], edx
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
mov dword [esp + 0x3c], 1
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 4]
imul edx, dword [esp + 0x4c]
sar eax, cl
mov dword [esp + 0x5c], edx
movzx ecx, ax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x54], ecx
mov ecx, 8
sub ecx, dword [eax + 0x18]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 8]
imul edx, dword [esp + 0x4c]
sar eax, cl
mov dword [esp + 0x5c], edx
movzx ecx, ax
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x50], ecx
mov ecx, 8
sub ecx, dword [eax + 0x1c]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, cl
movzx ecx, ax
mov eax, dword [ebx + 0x90]
cdq
sub eax, edx
mov dword [esp + 0x4c], ecx
mov ecx, eax
sar ecx, 1
fnstsw ax
test ah, 0x41
fldz
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
jne 0x573e83
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x573d73
fstp st(4)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(5)
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x573c3e
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fld st(2)
call fcn.00643d70
fld st(4)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.00643d70
mov edx, dword [esp + 0x10]
add ebx, eax
fxch st(4)
mov eax, dword [edx + 0xa4]
lea eax, [eax + ebx*2]
movzx edx, word [esp + 0x54]
mov dword [esp + 0x38], eax
movzx eax, word [eax]
movzx eax, ax
mov ebx, eax
and ebx, dword [esp + 0x30]
mov ecx, esi
shr ebx, cl
mov ecx, dword [esp + 0x34]
add ebx, edx
movzx ecx, word [ecx + ebx*4]
mov dx, cx
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x20]
mov ecx, esi
shl dx, cl
mov ecx, edi
shr ebx, cl
movzx ecx, word [esp + 0x50]
add ebx, ecx
mov ecx, dword [esp + 0x2c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x38]
mov word [esp + 0xc], dx
movzx edx, word [esp + 0x4c]
add eax, edx
mov edx, dword [esp + 0x24]
mov ax, word [edx + eax*4]
shl ax, cl
movzx ecx, word [esp + 0xc]
or cx, ax
mov word [ebx], cx
mov ecx, dword [esp + 0x48]
fadd qword [0x668940]
add ebx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ecx
call fcn.00643d70
mov dword [esp + 0x18], eax
fld st(2)
fsub st(4)
fld qword [0x688688]
fmul st(1), st(0)
fxch st(1)
call fcn.00643d70
fmulp st(3)
mov dword [esp + 0x58], eax
fld st(2)
call fcn.00643d70
fild dword [esp + 0x48]
mov dword [esp + 0x40], eax
fsubp st(2)
fild dword [esp + 0x40]
fmulp st(2)
fxch st(2)
fsubrp st(3)
fxch st(2)
call fcn.00643d70
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
faddp st(2)
fxch st(1)
call fcn.00643d70
fild dword [esp + 0x18]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x57464e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x573d80
fstp st(6)
jmp 0x573c1f
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
jle 0x573ddd
mov eax, dword [esp + 0x5c]
fxch st(4)
add ecx, dword [esp + 0x58]
fcom st(3)
mov edx, dword [esp + 0x3c]
add dword [esp + 0x1c], edx
lea ebx, [ebx + eax*2]
fnstsw ax
mov dword [esp + 0x44], ecx
mov dword [esp + 0x38], ebx
test ah, 5
jnp 0x573e7c
fild dword [esp + 0x1c]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x57463a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x573e7c
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x574648
jmp 0x573de7
add ecx, dword [esp + 0x40]
fstp st(4)
mov dword [esp + 0x44], ecx
movzx eax, word [ebx]
movzx eax, ax
mov edx, eax
and edx, dword [esp + 0x30]
mov ecx, esi
shr edx, cl
movzx ecx, word [esp + 0x54]
add edx, ecx
mov ecx, dword [esp + 0x34]
movzx ecx, word [ecx + edx*4]
mov dx, cx
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x20]
add dword [esp + 0x18], 1
mov ecx, esi
shl dx, cl
fild dword [esp + 0x18]
mov ecx, edi
shr ebx, cl
movzx ecx, word [esp + 0x50]
fcom st(5)
add ebx, ecx
mov ecx, dword [esp + 0x2c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x38]
mov word [esp + 0xc], dx
movzx edx, word [esp + 0x4c]
add eax, edx
mov edx, dword [esp + 0x24]
mov ax, word [edx + eax*4]
shl ax, cl
movzx ecx, word [esp + 0xc]
or cx, ax
mov word [ebx], cx
fnstsw ax
add ebx, 2
test ah, 0x41
mov dword [esp + 0x38], ebx
jnp 0x573d7a
fstp st(0)
jmp 0x574648
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x573ff7
fstp st(1)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x573ebb
fchs
mov dword [esp + 0x3c], 0xffffffff
fld st(1)
call fcn.00643d70
fld st(2)
mov dword [esp + 0xc], eax
call fcn.00643d70
imul eax, dword [ebx + 0x90]
fxch st(2)
mov ecx, dword [ebx + 0xa4]
cdq
sub eax, edx
movzx edx, word [esp + 0x4c]
sar eax, 1
add eax, dword [esp + 0xc]
mov dword [esp + 0x4c], edx
lea eax, [ecx + eax*2]
movzx ecx, word [esp + 0x50]
movzx edx, word [esp + 0x54]
mov dword [esp + 0x38], eax
movzx eax, word [eax]
movzx eax, ax
mov ebx, eax
and ebx, dword [esp + 0x30]
mov dword [esp + 0x5c], ecx
mov ecx, esi
shr ebx, cl
mov dword [esp + 0x50], edx
add ebx, edx
mov edx, dword [esp + 0x34]
mov dx, word [edx + ebx*4]
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x20]
shl dx, cl
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x5c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x24]
add eax, dword [esp + 0x4c]
mov ax, word [ebx + eax*4]
mov ebx, dword [esp + 0x38]
shl ax, cl
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], ecx
or dx, ax
mov eax, dword [esp + 0x58]
mov word [ebx], dx
fadd qword [0x668940]
add eax, eax
add ebx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebx
call fcn.00643d70
fld st(1)
fsub st(3)
mov dword [esp + 0x1c], eax
fld qword [0x688688]
fmul st(1), st(0)
fxch st(1)
call fcn.00643d70
fmulp st(2)
mov dword [esp + 0x58], eax
fld st(1)
call fcn.00643d70
fisub dword [esp + 0xc]
mov dword [esp + 0x40], eax
fimul dword [esp + 0x40]
fxch st(1)
fsubrp st(2)
fxch st(1)
call fcn.00643d70
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
faddp st(1)
call fcn.00643d70
fild dword [esp + 0x1c]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x57464e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x574004
fstp st(3)
jmp 0x573ea6
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
mov eax, dword [esp + 0x3c]
jle 0x57405f
add dword [esp + 0x18], eax
fild dword [esp + 0x18]
add ecx, dword [esp + 0x58]
lea ebx, [ebx + eax*2]
mov dword [esp + 0x44], ecx
fcom st(4)
mov dword [esp + 0x38], ebx
fnstsw ax
test ah, 5
jnp 0x574640
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x574644
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x574646
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x574648
jmp 0x574069
add ecx, dword [esp + 0x40]
fstp st(4)
mov dword [esp + 0x44], ecx
movzx eax, word [ebx]
movzx eax, ax
mov edx, eax
and edx, dword [esp + 0x30]
mov ecx, esi
shr edx, cl
mov ecx, dword [esp + 0x34]
add dword [esp + 0x1c], 1
mov ebx, eax
add edx, dword [esp + 0x50]
and ebx, dword [esp + 0x28]
fild dword [esp + 0x1c]
mov dx, word [ecx + edx*4]
and eax, dword [esp + 0x20]
mov ecx, esi
fcom st(5)
shl dx, cl
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x5c]
mov bx, word [ecx + ebx*4]
mov ecx, edi
shl bx, cl
mov ecx, dword [esp + 0x14]
shr eax, cl
or dx, bx
mov ebx, dword [esp + 0x24]
add eax, dword [esp + 0x4c]
mov ax, word [ebx + eax*4]
mov ebx, dword [esp + 0x38]
shl ax, cl
or dx, ax
fnstsw ax
mov word [ebx], dx
add ebx, dword [esp + 0x48]
test ah, 0x41
mov dword [esp + 0x38], ebx
jnp 0x573ffe
fstp st(0)
jmp 0x574648
cmp eax, 0x20
jne 0x574656
mov eax, dword [ebp + 0x28]
fld qword [ebp + 0x20]
mov ecx, dword [eax + 0xc]
fld st(0)
mov edx, dword [ebx + 0x6c]
fld qword [ebp + 0x10]
mov dword [esp + 0x58], ecx
fsub st(1), st(0)
mov ecx, 8
fld qword [ebp + 0x18]
sub ecx, dword [edx + 0x14]
fld st(0)
mov edx, dword [eax]
fld qword [ebp + 8]
imul edx, dword [esp + 0x58]
fsub st(1), st(0)
fld st(4)
fabs
fld st(2)
fabs
fcompp
mov dword [esp + 0x5c], edx
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
mov dword [esp + 0x40], 1
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 4]
imul edx, dword [esp + 0x58]
sar eax, cl
mov dword [esp + 0x5c], edx
mov ecx, 8
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x6c]
sub ecx, dword [eax + 0x18]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp + 0x28]
mov edx, dword [edx + 8]
imul edx, dword [esp + 0x58]
sar eax, cl
mov dword [esp + 0x5c], edx
mov ecx, 8
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x6c]
sub ecx, dword [eax + 0x1c]
mov eax, 0x80808081
imul edx
add edx, dword [esp + 0x5c]
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, cl
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x90]
cdq
and edx, 3
add eax, edx
mov ecx, eax
fnstsw ax
sar ecx, 2
test ah, 0x41
fldz
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ecx
jne 0x574412
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x574324
fstp st(4)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(5)
fcomp st(4)
fnstsw ax
test ah, 0x41
jne 0x57422c
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fxch st(2)
call fcn.00643d70
fld st(3)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.00643d70
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xa4]
fxch st(3)
mov ecx, dword [esp + 0x14]
add ebx, eax
lea eax, [edx + ebx*4]
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [eax]
mov edx, eax
and edx, dword [esp + 0x20]
shr edx, cl
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
shl edx, cl
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
add ebx, 4
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x18], ecx
or edx, eax
mov dword [ebx - 4], edx
fadd qword [0x668940]
call fcn.00643d70
fld st(1)
fld qword [0x688688]
mov dword [esp + 0x1c], eax
fmul st(1), st(0)
fld st(1)
fsub st(3)
call fcn.00643d70
fxch st(3)
fsubrp st(2)
mov dword [esp + 0xc], eax
fxch st(1)
fmulp st(2)
fxch st(1)
call fcn.00643d70
mov dword [esp + 0x58], eax
call fcn.00643d70
fild dword [esp + 0x1c]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x57464e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x57432d
fstp st(6)
jmp 0x57420d
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x574392
add eax, dword [esp + 0x58]
fxch st(4)
mov edx, dword [esp + 0x40]
fcom st(3)
add dword [esp + 0x18], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x5c]
lea ebx, [ebx + eax*4]
fnstsw ax
mov dword [esp + 0x44], ebx
test ah, 5
jnp 0x573e7c
fild dword [esp + 0x18]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x57463a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x573e7c
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x574648
jmp 0x57439c
add eax, dword [esp + 0x54]
fstp st(4)
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x24]
mov edx, eax
and edx, dword [esp + 0x20]
add dword [esp + 0x1c], 1
shr edx, cl
fild dword [esp + 0x1c]
fcom st(5)
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
shl edx, cl
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
add ebx, 4
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
mov dword [esp + 0x44], ebx
or edx, eax
fnstsw ax
mov dword [ebx - 4], edx
test ah, 0x41
jnp 0x57432b
fstp st(0)
jmp 0x574648
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x574551
fstp st(1)
fxch st(1)
fchs
fxch st(4)
fchs
fxch st(3)
fxch st(5)
fxch st(3)
fxch st(4)
fxch st(1)
fxch st(2)
fxch st(2)
fcomp st(1)
fnstsw ax
test ah, 0x41
jne 0x57444a
fchs
mov dword [esp + 0x40], 0xffffffff
fxch st(1)
call fcn.00643d70
fld st(1)
mov dword [esp + 0xc], eax
call fcn.00643d70
imul eax, dword [ebx + 0x90]
fxch st(1)
mov ecx, dword [ebx + 0xa4]
cdq
and edx, 3
add eax, edx
mov ebx, dword [esp + 0x24]
sar eax, 2
add eax, dword [esp + 0xc]
lea eax, [ecx + eax*4]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov eax, dword [eax]
mov edx, eax
and edx, dword [esp + 0x20]
shr edx, cl
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
shl edx, cl
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], ecx
or edx, eax
mov eax, dword [esp + 0x58]
add eax, eax
mov dword [ebx], edx
fadd qword [0x668940]
add eax, eax
add ebx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ebx
call fcn.00643d70
fld st(0)
fld qword [0x688688]
mov dword [esp + 0x18], eax
fmul st(1), st(0)
fld st(1)
fsub st(4)
call fcn.00643d70
fxch st(2)
fsubrp st(3)
mov dword [esp + 0xc], eax
fxch st(2)
fmulp st(1)
call fcn.00643d70
mov dword [esp + 0x58], eax
call fcn.00643d70
fild dword [esp + 0x18]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x57464e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x57455a
fstp st(3)
jmp 0x574435
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
jle 0x5745bd
add dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
add eax, dword [esp + 0x58]
lea ebx, [ebx + edx*4]
mov dword [esp + 0xc], eax
fcom st(4)
mov dword [esp + 0x44], ebx
fnstsw ax
test ah, 5
jnp 0x574640
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x574644
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x574646
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x574648
jmp 0x5745c7
add eax, dword [esp + 0x54]
fstp st(4)
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov ebx, dword [esp + 0x24]
mov edx, eax
and edx, dword [esp + 0x20]
add dword [esp + 0x18], 1
shr edx, cl
fild dword [esp + 0x18]
fcom st(5)
add edx, dword [esp + 0x3c]
mov edx, dword [ebx + edx*4]
shl edx, cl
mov ebx, eax
and ebx, dword [esp + 0x28]
and eax, dword [esp + 0x30]
mov ecx, edi
shr ebx, cl
mov ecx, dword [esp + 0x2c]
add ebx, dword [esp + 0x38]
mov ebx, dword [ecx + ebx*4]
mov ecx, edi
shl ebx, cl
mov ecx, esi
shr eax, cl
mov ecx, dword [esp + 0x34]
or edx, ebx
mov ebx, dword [esp + 0x44]
add eax, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
mov ecx, esi
shl eax, cl
or edx, eax
fnstsw ax
mov dword [ebx], edx
add ebx, dword [esp + 0x5c]
test ah, 0x41
mov dword [esp + 0x44], ebx
jnp 0x574558
fstp st(0)
jmp 0x574648
fstp st(1)
fstp st(0)
jmp 0x574648
fstp st(5)
jmp 0x574646
fstp st(0)
fstp st(4)
fstp st(3)
fstp st(2)
fstp st(1)
mov ebx, dword [esp + 0x10]
fstp st(0)
fstp st(0)
mov edx, dword [ebx]
mov eax, dword [edx + 0xc0]
mov ecx, ebx
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24