Function at 0x56da40
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 0x56e692
fld qword [ebp + 0x18]
fld qword [ebp + 8]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x56da71
fst qword [esp + 0x60]
jmp 0x56da79
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 0x56da8e
fst qword [esp + 0x68]
jmp 0x56da96
fxch st(1)
fst qword [esp + 0x68]
fxch st(1)
fxch st(2)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x56daa5
fstp st(3)
jmp 0x56daa7
fstp st(0)
fxch st(2)
fstp qword [esp + 0x70]
fcom st(1)
fnstsw ax
test ah, 0x41
jne 0x56daba
fstp st(1)
jmp 0x56dabc
fstp st(0)
mov eax, ebx
fstp qword [esp + 0x78]
call fcn.0056c720
mov eax, dword [ebx]
mov edx, dword [eax + 0xbc]
mov ecx, ebx
call edx
test al, al
je 0x56e692
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 0x56e120
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 0x56deb3
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x56dda3
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 0x56dc6e
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x3c], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fld st(2)
call fcn.006397d0
fld st(4)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.006397d0
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 [0x65b8f8]
add ebx, 2
mov dword [esp + 0x38], ebx
mov dword [esp + 0x1c], ecx
call fcn.006397d0
mov dword [esp + 0x18], eax
fld st(2)
fsub st(4)
fld qword [0x6793c8]
fmul st(1), st(0)
fxch st(1)
call fcn.006397d0
fmulp st(3)
mov dword [esp + 0x58], eax
fld st(2)
call fcn.006397d0
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.006397d0
mov dword [esp + 0x48], eax
fild dword [esp + 0x48]
faddp st(2)
fxch st(1)
call fcn.006397d0
fild dword [esp + 0x18]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x56e67e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x56ddb0
fstp st(6)
jmp 0x56dc4f
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
jle 0x56de0d
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 0x56deac
fild dword [esp + 0x1c]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x56e66a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x56deac
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x56e678
jmp 0x56de17
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 0x56ddaa
fstp st(0)
jmp 0x56e678
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x56e027
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 0x56deeb
fchs
mov dword [esp + 0x3c], 0xffffffff
fld st(1)
call fcn.006397d0
fld st(2)
mov dword [esp + 0xc], eax
call fcn.006397d0
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 [0x65b8f8]
add eax, eax
add ebx, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], ebx
call fcn.006397d0
fld st(1)
fsub st(3)
mov dword [esp + 0x1c], eax
fld qword [0x6793c8]
fmul st(1), st(0)
fxch st(1)
call fcn.006397d0
fmulp st(2)
mov dword [esp + 0x58], eax
fld st(1)
call fcn.006397d0
fisub dword [esp + 0xc]
mov dword [esp + 0x40], eax
fimul dword [esp + 0x40]
fxch st(1)
fsubrp st(2)
fxch st(1)
call fcn.006397d0
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
faddp st(1)
call fcn.006397d0
fild dword [esp + 0x1c]
mov ecx, eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x56e67e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x56e034
fstp st(3)
jmp 0x56ded6
mov ecx, dword [esp + 0x44]
fxch st(4)
test ecx, ecx
mov eax, dword [esp + 0x3c]
jle 0x56e08f
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 0x56e670
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x56e674
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x56e676
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x56e678
jmp 0x56e099
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 0x56e02e
fstp st(0)
jmp 0x56e678
cmp eax, 0x20
jne 0x56e686
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 0x56e442
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x56e354
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 0x56e25c
fxch st(3)
neg ecx
fchs
mov dword [esp + 0x40], 0xffffffff
mov dword [esp + 0x5c], ecx
fxch st(3)
fxch st(2)
call fcn.006397d0
fld st(3)
mov ebx, eax
imul ebx, dword [esp + 0x58]
mov dword [esp + 0x48], eax
call fcn.006397d0
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 [0x65b8f8]
call fcn.006397d0
fld st(1)
fld qword [0x6793c8]
mov dword [esp + 0x1c], eax
fmul st(1), st(0)
fld st(1)
fsub st(3)
call fcn.006397d0
fxch st(3)
fsubrp st(2)
mov dword [esp + 0xc], eax
fxch st(1)
fmulp st(2)
fxch st(1)
call fcn.006397d0
mov dword [esp + 0x58], eax
call fcn.006397d0
fild dword [esp + 0x1c]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x56e67e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x56e35d
fstp st(6)
jmp 0x56e23d
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
jle 0x56e3c2
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 0x56deac
fild dword [esp + 0x18]
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x56e66a
fxch st(1)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x56deac
fcomp st(4)
fnstsw ax
test ah, 0x41
je 0x56e678
jmp 0x56e3cc
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 0x56e35b
fstp st(0)
jmp 0x56e678
fcom st(5)
fnstsw ax
test ah, 0x41
jne 0x56e581
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 0x56e47a
fchs
mov dword [esp + 0x40], 0xffffffff
fxch st(1)
call fcn.006397d0
fld st(1)
mov dword [esp + 0xc], eax
call fcn.006397d0
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 [0x65b8f8]
add eax, eax
add ebx, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x44], ebx
call fcn.006397d0
fld st(0)
fld qword [0x6793c8]
mov dword [esp + 0x18], eax
fmul st(1), st(0)
fld st(1)
fsub st(4)
call fcn.006397d0
fxch st(2)
fsubrp st(3)
mov dword [esp + 0xc], eax
fxch st(2)
fmulp st(1)
call fcn.006397d0
mov dword [esp + 0x58], eax
call fcn.006397d0
fild dword [esp + 0x18]
mov dword [esp + 0x54], eax
fcom st(1)
fnstsw ax
test ah, 0x41
jp 0x56e67e
fld qword [esp + 0x60]
fld qword [esp + 0x68]
fld qword [esp + 0x70]
fld qword [esp + 0x78]
jmp 0x56e58a
fstp st(3)
jmp 0x56e465
fxch st(4)
mov eax, dword [esp + 0xc]
test eax, eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x40]
jle 0x56e5ed
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 0x56e670
fxch st(5)
fcom st(3)
fnstsw ax
test ah, 5
jnp 0x56e674
fxch st(5)
fcomp st(2)
fnstsw ax
test ah, 0x41
je 0x56e676
fcom st(4)
fnstsw ax
fstp st(4)
test ah, 5
jnp 0x56e678
jmp 0x56e5f7
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 0x56e588
fstp st(0)
jmp 0x56e678
fstp st(1)
fstp st(0)
jmp 0x56e678
fstp st(5)
jmp 0x56e676
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