4877ea:	85 c9                	test   %ecx,%ecx
4877ec:	75 04                	jne    0x4877f2
4877ee:	8b c6                	mov    %esi,%eax
4877f0:	eb 08                	jmp    0x4877fa
4877f2:	8b 47 08             	mov    0x8(%edi),%eax
4877f5:	2b c1                	sub    %ecx,%eax
4877f7:	c1 f8 03             	sar    $0x3,%eax
4877fa:	03 c3                	add    %ebx,%eax
4877fc:	3b d0                	cmp    %eax,%edx
4877fe:	73 16                	jae    0x487816
487800:	85 c9                	test   %ecx,%ecx
487802:	75 04                	jne    0x487808
487804:	8b c6                	mov    %esi,%eax
487806:	eb 08                	jmp    0x487810
487808:	8b 47 08             	mov    0x8(%edi),%eax
48780b:	2b c1                	sub    %ecx,%eax
48780d:	c1 f8 03             	sar    $0x3,%eax
487810:	8d 14 18             	lea    (%eax,%ebx,1),%edx
487813:	89 55 e8             	mov    %edx,-0x18(%ebp)
487816:	52                   	push   %edx
487817:	e8 4e 61 f9 ff       	call   0x41d96a
48781c:	89 75 fc             	mov    %esi,-0x4(%ebp)
48781f:	ff 75 e4             	push   -0x1c(%ebp)
487822:	8b 55 08             	mov    0x8(%ebp),%edx
487825:	ff 75 e4             	push   -0x1c(%ebp)
487828:	89 45 ec             	mov    %eax,-0x14(%ebp)
48782b:	51                   	push   %ecx
48782c:	8b 4f 04             	mov    0x4(%edi),%ecx
48782f:	50                   	push   %eax
487830:	e8 9e 01 00 00       	call   0x4879d3
487835:	8b d3                	mov    %ebx,%edx
487837:	8d 0c d8             	lea    (%eax,%ebx,8),%ecx
48783a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
48783d:	ff 75 e4             	push   -0x1c(%ebp)
487840:	ff 75 e4             	push   -0x1c(%ebp)
487843:	51                   	push   %ecx
487844:	8d 4d dc             	lea    -0x24(%ebp),%ecx
487847:	51                   	push   %ecx
487848:	8b c8                	mov    %eax,%ecx
48784a:	e8 35 01 00 00       	call   0x487984
48784f:	ff 75 e4             	push   -0x1c(%ebp)
487852:	8b 57 08             	mov    0x8(%edi),%edx
487855:	ff 75 e4             	push   -0x1c(%ebp)
487858:	51                   	push   %ecx
487859:	ff 75 e4             	push   -0x1c(%ebp)
48785c:	8b 4d 08             	mov    0x8(%ebp),%ecx
48785f:	e8 6f 01 00 00       	call   0x4879d3
487864:	8b 47 04             	mov    0x4(%edi),%eax
487867:	85 c0                	test   %eax,%eax
487869:	74 08                	je     0x487873
48786b:	8b 77 08             	mov    0x8(%edi),%esi
48786e:	2b f0                	sub    %eax,%esi
487870:	c1 fe 03             	sar    $0x3,%esi
487873:	03 de                	add    %esi,%ebx
487875:	85 c0                	test   %eax,%eax
487877:	74 08                	je     0x487881
487879:	50                   	push   %eax
48787a:	ff 15 10 74 4a 00    	call   *0x4a7410
487880:	59                   	pop    %ecx
487881:	8b 4d ec             	mov    -0x14(%ebp),%ecx
487884:	8b 45 e8             	mov    -0x18(%ebp),%eax
487887:	89 4f 04             	mov    %ecx,0x4(%edi)
48788a:	8d 04 c1             	lea    (%ecx,%eax,8),%eax
48788d:	89 47 0c             	mov    %eax,0xc(%edi)
487890:	8d 04 d9             	lea    (%ecx,%ebx,8),%eax
487893:	89 47 08             	mov    %eax,0x8(%edi)
487896:	e9 a4 00 00 00       	jmp    0x48793f
48789b:	8b 47 08             	mov    0x8(%edi),%eax
48789e:	8b d3                	mov    %ebx,%edx
4878a0:	8b 4d 08             	mov    0x8(%ebp),%ecx
4878a3:	2b c1                	sub    %ecx,%eax
4878a5:	ff 75 e4             	push   -0x1c(%ebp)
4878a8:	c1 e2 03             	shl    $0x3,%edx
4878ab:	ff 75 e4             	push   -0x1c(%ebp)
4878ae:	c1 f8 03             	sar    $0x3,%eax
4878b1:	89 55 ec             	mov    %edx,-0x14(%ebp)
4878b4:	51                   	push   %ecx
4878b5:	3b c3                	cmp    %ebx,%eax
4878b7:	73 42                	jae    0x4878fb
4878b9:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
4878bc:	8b 57 08             	mov    0x8(%edi),%edx
4878bf:	50                   	push   %eax
4878c0:	e8 0e 01 00 00       	call   0x4879d3
4878c5:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
4878cc:	8b 4f 08             	mov    0x8(%edi),%ecx
4878cf:	8b c1                	mov    %ecx,%eax
4878d1:	ff 75 e4             	push   -0x1c(%ebp)
4878d4:	2b 45 08             	sub    0x8(%ebp),%eax
4878d7:	ff 75 e4             	push   -0x1c(%ebp)
4878da:	c1 f8 03             	sar    $0x3,%eax
4878dd:	2b d8                	sub    %eax,%ebx
4878df:	8d 45 dc             	lea    -0x24(%ebp),%eax
4878e2:	51                   	push   %ecx
4878e3:	50                   	push   %eax
4878e4:	8b d3                	mov    %ebx,%edx
4878e6:	e8 99 00 00 00       	call   0x487984
4878eb:	8b 57 08             	mov    0x8(%edi),%edx
4878ee:	8b 45 ec             	mov    -0x14(%ebp),%eax
4878f1:	8b 4d 08             	mov    0x8(%ebp),%ecx
4878f4:	03 c2                	add    %edx,%eax
4878f6:	89 47 08             	mov    %eax,0x8(%edi)
4878f9:	eb 3a                	jmp    0x487935
4878fb:	8b 77 08             	mov    0x8(%edi),%esi
4878fe:	ff 77 08             	push   0x8(%edi)
487901:	2b f2                	sub    %edx,%esi
487903:	8b 57 08             	mov    0x8(%edi),%edx
487906:	8b ce                	mov    %esi,%ecx
487908:	e8 c6 00 00 00       	call   0x4879d3
48790d:	8b 4d ec             	mov    -0x14(%ebp),%ecx
487910:	89 47 08             	mov    %eax,0x8(%edi)
487913:	8b 7d 08             	mov    0x8(%ebp),%edi
487916:	3b f7                	cmp    %edi,%esi
487918:	74 16                	je     0x487930
48791a:	83 ee 08             	sub    $0x8,%esi
48791d:	8b 06                	mov    (%esi),%eax
48791f:	89 04 0e             	mov    %eax,(%esi,%ecx,1)
487922:	8b 46 04             	mov    0x4(%esi),%eax
487925:	89 44 0e 04          	mov    %eax,0x4(%esi,%ecx,1)
487929:	3b f7                	cmp    %edi,%esi
48792b:	75 ed                	jne    0x48791a
48792d:	8b 7d 08             	mov    0x8(%ebp),%edi
487930:	8d 14 39             	lea    (%ecx,%edi,1),%edx
487933:	8b cf                	mov    %edi,%ecx
487935:	8d 45 dc             	lea    -0x24(%ebp),%eax
487938:	50                   	push   %eax
487939:	e8 d3 ce fc ff       	call   0x454811
48793e:	59                   	pop    %ecx
48793f:	e8 5d 8b 00 00       	call   0x4904a1
487944:	c2 0c 00             	ret    $0xc
487947:	e8 e6 5f f9 ff       	call   0x41d932
48794c:	51                   	push   %ecx
48794d:	ff 75 ec             	push   -0x14(%ebp)
487950:	e8 5a 60 f9 ff       	call   0x41d9af
487955:	33 f6                	xor    %esi,%esi
487957:	56                   	push   %esi
487958:	56                   	push   %esi
487959:	e8 3d 8b 00 00       	call   0x49049b
48795e:	cc                   	int3
48795f:	8b ff                	mov    %edi,%edi
487961:	55                   	push   %ebp
487962:	8b ec                	mov    %esp,%ebp
487964:	8b c1                	mov    %ecx,%eax
487966:	85 d2                	test   %edx,%edx
487968:	74 16                	je     0x487980
48796a:	56                   	push   %esi
48796b:	57                   	push   %edi
48796c:	8b 75 08             	mov    0x8(%ebp),%esi
48796f:	8b f8                	mov    %eax,%edi
487971:	6a 19                	push   $0x19
487973:	59                   	pop    %ecx
487974:	83 c0 64             	add    $0x64,%eax
487977:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
487979:	83 ea 01             	sub    $0x1,%edx
48797c:	75 ee                	jne    0x48796c
48797e:	5f                   	pop    %edi
48797f:	5e                   	pop    %esi
487980:	5d                   	pop    %ebp
487981:	c2 10 00             	ret    $0x10
487984:	8b ff                	mov    %edi,%edi
487986:	55                   	push   %ebp
487987:	8b ec                	mov    %esp,%ebp
487989:	85 d2                	test   %edx,%edx
48798b:	74 15                	je     0x4879a2
48798d:	8b 45 08             	mov    0x8(%ebp),%eax
487990:	d9 00                	flds   (%eax)
487992:	d9 19                	fstps  (%ecx)
487994:	d9 40 04             	flds   0x4(%eax)
487997:	d9 59 04             	fstps  0x4(%ecx)
48799a:	83 c1 08             	add    $0x8,%ecx
48799d:	83 ea 01             	sub    $0x1,%edx
4879a0:	75 ee                	jne    0x487990
4879a2:	5d                   	pop    %ebp
4879a3:	c2 10 00             	ret    $0x10
4879a6:	8b ff                	mov    %edi,%edi
4879a8:	55                   	push   %ebp
4879a9:	8b ec                	mov    %esp,%ebp
4879ab:	8b 45 08             	mov    0x8(%ebp),%eax
4879ae:	53                   	push   %ebx
4879af:	8b da                	mov    %edx,%ebx
4879b1:	8b d1                	mov    %ecx,%edx
4879b3:	3b d3                	cmp    %ebx,%edx
4879b5:	74 17                	je     0x4879ce
4879b7:	56                   	push   %esi
4879b8:	57                   	push   %edi
4879b9:	8b f2                	mov    %edx,%esi
4879bb:	8b f8                	mov    %eax,%edi
4879bd:	6a 19                	push   $0x19
4879bf:	83 c2 64             	add    $0x64,%edx
4879c2:	83 c0 64             	add    $0x64,%eax
4879c5:	59                   	pop    %ecx
4879c6:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
4879c8:	3b d3                	cmp    %ebx,%edx
4879ca:	75 ed                	jne    0x4879b9
4879cc:	5f                   	pop    %edi
4879cd:	5e                   	pop    %esi
4879ce:	5b                   	pop    %ebx
4879cf:	5d                   	pop    %ebp
4879d0:	c2 10 00             	ret    $0x10
4879d3:	8b ff                	mov    %edi,%edi
4879d5:	55                   	push   %ebp
4879d6:	8b ec                	mov    %esp,%ebp
4879d8:	8b 45 08             	mov    0x8(%ebp),%eax
4879db:	3b ca                	cmp    %edx,%ecx
4879dd:	74 12                	je     0x4879f1
4879df:	d9 01                	flds   (%ecx)
4879e1:	d9 18                	fstps  (%eax)
4879e3:	d9 41 04             	flds   0x4(%ecx)
4879e6:	d9 58 04             	fstps  0x4(%eax)
4879e9:	83 c0 08             	add    $0x8,%eax
4879ec:	83 c1 08             	add    $0x8,%ecx
4879ef:	eb ea                	jmp    0x4879db
4879f1:	5d                   	pop    %ebp
4879f2:	c2 10 00             	ret    $0x10
4879f5:	8b ff                	mov    %edi,%edi
4879f7:	55                   	push   %ebp
4879f8:	8b ec                	mov    %esp,%ebp
4879fa:	51                   	push   %ecx
4879fb:	8b 42 04             	mov    0x4(%edx),%eax
4879fe:	2b 41 04             	sub    0x4(%ecx),%eax
487a01:	89 45 fc             	mov    %eax,-0x4(%ebp)
487a04:	db 45 fc             	fildl  -0x4(%ebp)
487a07:	d9 5d fc             	fstps  -0x4(%ebp)
487a0a:	d9 45 fc             	flds   -0x4(%ebp)
487a0d:	8b 02                	mov    (%edx),%eax
487a0f:	2b 01                	sub    (%ecx),%eax
487a11:	89 45 fc             	mov    %eax,-0x4(%ebp)
487a14:	db 45 fc             	fildl  -0x4(%ebp)
487a17:	d9 5d fc             	fstps  -0x4(%ebp)
487a1a:	d9 45 fc             	flds   -0x4(%ebp)
487a1d:	dc c8                	fmul   %st,%st(0)
487a1f:	d9 c9                	fxch   %st(1)
487a21:	dc c8                	fmul   %st,%st(0)
487a23:	de c1                	faddp  %st,%st(1)
487a25:	d9 5d fc             	fstps  -0x4(%ebp)
487a28:	d9 45 fc             	flds   -0x4(%ebp)
487a2b:	c9                   	leave
487a2c:	c3                   	ret
487a2d:	8b ff                	mov    %edi,%edi
487a2f:	55                   	push   %ebp
487a30:	8b ec                	mov    %esp,%ebp
487a32:	83 ec 0c             	sub    $0xc,%esp
487a35:	d9 45 08             	flds   0x8(%ebp)
487a38:	d9 02                	flds   (%edx)
487a3a:	d8 c9                	fmul   %st(1),%st
487a3c:	56                   	push   %esi
487a3d:	8b f1                	mov    %ecx,%esi
487a3f:	8b 4d 0c             	mov    0xc(%ebp),%ecx
487a42:	d9 5d fc             	fstps  -0x4(%ebp)
487a45:	d9 45 fc             	flds   -0x4(%ebp)
487a48:	d9 06                	flds   (%esi)
487a4a:	d8 c1                	fadd   %st(1),%st
487a4c:	d9 5d f4             	fstps  -0xc(%ebp)
487a4f:	d9 42 04             	flds   0x4(%edx)
487a52:	8b 45 f4             	mov    -0xc(%ebp),%eax
487a55:	de ca                	fmulp  %st,%st(2)
487a57:	d9 c9                	fxch   %st(1)
487a59:	d9 5d fc             	fstps  -0x4(%ebp)
487a5c:	d9 45 fc             	flds   -0x4(%ebp)
487a5f:	d9 46 04             	flds   0x4(%esi)
487a62:	d8 c1                	fadd   %st(1),%st
487a64:	89 01                	mov    %eax,(%ecx)
487a66:	d9 5d f8             	fstps  -0x8(%ebp)
487a69:	8b 45 f8             	mov    -0x8(%ebp),%eax
487a6c:	89 41 04             	mov    %eax,0x4(%ecx)
487a6f:	d9 06                	flds   (%esi)
487a71:	8b 4d 10             	mov    0x10(%ebp),%ecx
487a74:	de e2                	fsubp  %st,%st(2)
487a76:	d9 c9                	fxch   %st(1)
487a78:	d9 5d f4             	fstps  -0xc(%ebp)
487a7b:	8b 45 f4             	mov    -0xc(%ebp),%eax
487a7e:	d8 6e 04             	fsubrs 0x4(%esi)
487a81:	89 01                	mov    %eax,(%ecx)
487a83:	5e                   	pop    %esi
487a84:	d9 5d f8             	fstps  -0x8(%ebp)
487a87:	8b 45 f8             	mov    -0x8(%ebp),%eax
487a8a:	89 41 04             	mov    %eax,0x4(%ecx)
487a8d:	b0 01                	mov    $0x1,%al
487a8f:	c9                   	leave
487a90:	c2 0c 00             	ret    $0xc
487a93:	8b ff                	mov    %edi,%edi
487a95:	55                   	push   %ebp
487a96:	8b ec                	mov    %esp,%ebp
487a98:	51                   	push   %ecx
487a99:	d9 01                	flds   (%ecx)
487a9b:	d8 02                	fadds  (%edx)
487a9d:	53                   	push   %ebx
487a9e:	b3 01                	mov    $0x1,%bl
487aa0:	56                   	push   %esi
487aa1:	dd 05 88 41 41 00    	fldl   0x414188
487aa7:	8b 75 08             	mov    0x8(%ebp),%esi
487aaa:	dc c9                	fmul   %st,%st(1)
487aac:	d9 c9                	fxch   %st(1)
487aae:	d9 5d fc             	fstps  -0x4(%ebp)
487ab1:	d9 45 fc             	flds   -0x4(%ebp)
487ab4:	d9 16                	fsts   (%esi)
487ab6:	d9 41 04             	flds   0x4(%ecx)
487ab9:	d8 42 04             	fadds  0x4(%edx)
487abc:	de ca                	fmulp  %st,%st(2)
487abe:	d9 c9                	fxch   %st(1)
487ac0:	d9 5d fc             	fstps  -0x4(%ebp)
487ac3:	d9 45 fc             	flds   -0x4(%ebp)
487ac6:	d9 56 04             	fsts   0x4(%esi)
487ac9:	d9 c9                	fxch   %st(1)
487acb:	dc c8                	fmul   %st,%st(0)
487acd:	d9 c9                	fxch   %st(1)
487acf:	dc c8                	fmul   %st,%st(0)
487ad1:	de c1                	faddp  %st,%st(1)
487ad3:	d9 5d fc             	fstps  -0x4(%ebp)
487ad6:	d9 45 fc             	flds   -0x4(%ebp)
487ad9:	dc 1d 18 41 41 00    	fcompl 0x414118
487adf:	df e0                	fnstsw %ax
487ae1:	f6 c4 05             	test   $0x5,%ah
487ae4:	7a 04                	jp     0x487aea
487ae6:	32 db                	xor    %bl,%bl
487ae8:	eb 07                	jmp    0x487af1
487aea:	8b ce                	mov    %esi,%ecx
487aec:	e8 6b 00 00 00       	call   0x487b5c
487af1:	5e                   	pop    %esi
487af2:	8a c3                	mov    %bl,%al
487af4:	5b                   	pop    %ebx
487af5:	c9                   	leave
487af6:	c2 04 00             	ret    $0x4
487af9:	8b ff                	mov    %edi,%edi
487afb:	55                   	push   %ebp
487afc:	8b ec                	mov    %esp,%ebp
487afe:	51                   	push   %ecx
487aff:	d9 42 04             	flds   0x4(%edx)
487b02:	d8 61 04             	fsubs  0x4(%ecx)
487b05:	d9 5d fc             	fstps  -0x4(%ebp)
487b08:	d9 45 fc             	flds   -0x4(%ebp)
487b0b:	d9 02                	flds   (%edx)
487b0d:	d8 21                	fsubs  (%ecx)
487b0f:	d9 5d fc             	fstps  -0x4(%ebp)
487b12:	d9 45 fc             	flds   -0x4(%ebp)
487b15:	dc c8                	fmul   %st,%st(0)
487b17:	d9 c9                	fxch   %st(1)
487b19:	dc c8                	fmul   %st,%st(0)
487b1b:	de c1                	faddp  %st,%st(1)
487b1d:	d9 5d fc             	fstps  -0x4(%ebp)
487b20:	d9 45 fc             	flds   -0x4(%ebp)
487b23:	c9                   	leave
487b24:	c3                   	ret
487b25:	8b ff                	mov    %edi,%edi
487b27:	55                   	push   %ebp
487b28:	8b ec                	mov    %esp,%ebp
487b2a:	51                   	push   %ecx
487b2b:	d9 42 04             	flds   0x4(%edx)
487b2e:	d8 61 04             	fsubs  0x4(%ecx)
487b31:	d9 5d fc             	fstps  -0x4(%ebp)
487b34:	d9 45 fc             	flds   -0x4(%ebp)