afe87f:	83 ec 0c             	sub    $0xc,%esp
afe882:	56                   	push   %esi
afe883:	57                   	push   %edi
afe884:	8b 7d 08             	mov    0x8(%ebp),%edi
afe887:	8b f1                	mov    %ecx,%esi
afe889:	85 ff                	test   %edi,%edi
afe88b:	74 34                	je     0xafe8c1
afe88d:	8b 4e 14             	mov    0x14(%esi),%ecx
afe890:	e8 f3 78 93 ff       	call   0x436188
afe895:	3b c6                	cmp    %esi,%eax
afe897:	74 0f                	je     0xafe8a8
afe899:	8d 4d f4             	lea    -0xc(%ebp),%ecx
afe89c:	e8 ba 09 94 ff       	call   0x43f25b
afe8a1:	68 e0 3c d0 00       	push   $0xd03ce0
afe8a6:	eb 2b                	jmp    0xafe8d3
afe8a8:	8b 4e 14             	mov    0x14(%esi),%ecx
afe8ab:	39 79 08             	cmp    %edi,0x8(%ecx)
afe8ae:	75 e9                	jne    0xafe899
afe8b0:	8b 49 0c             	mov    0xc(%ecx),%ecx
afe8b3:	56                   	push   %esi
afe8b4:	e8 25 35 90 ff       	call   0x401dde
afe8b9:	5f                   	pop    %edi
afe8ba:	5e                   	pop    %esi
afe8bb:	8b e5                	mov    %ebp,%esp
afe8bd:	5d                   	pop    %ebp
afe8be:	c2 04 00             	ret    $0x4
afe8c1:	68 fc b6 c8 00       	push   $0xc8b6fc
afe8c6:	8d 4d f4             	lea    -0xc(%ebp),%ecx
afe8c9:	e8 c5 8b 93 ff       	call   0x437493
afe8ce:	68 c0 f3 d1 00       	push   $0xd1f3c0
afe8d3:	8d 45 f4             	lea    -0xc(%ebp),%eax
afe8d6:	50                   	push   %eax
afe8d7:	e8 b3 f0 91 ff       	call   0x41d98f
afe8dc:	cc                   	int3
afe8dd:	cc                   	int3
afe8de:	cc                   	int3
afe8df:	cc                   	int3
afe8e0:	cc                   	int3
afe8e1:	cc                   	int3
afe8e2:	cc                   	int3
afe8e3:	cc                   	int3
afe8e4:	cc                   	int3
afe8e5:	cc                   	int3
afe8e6:	cc                   	int3
afe8e7:	cc                   	int3
afe8e8:	cc                   	int3
afe8e9:	cc                   	int3
afe8ea:	cc                   	int3
afe8eb:	cc                   	int3
afe8ec:	cc                   	int3
afe8ed:	cc                   	int3
afe8ee:	cc                   	int3
afe8ef:	cc                   	int3
afe8f0:	cc                   	int3
afe8f1:	cc                   	int3
afe8f2:	cc                   	int3
afe8f3:	cc                   	int3
afe8f4:	cc                   	int3
afe8f5:	56                   	push   %esi
afe8f6:	8b f1                	mov    %ecx,%esi
afe8f8:	8b 46 14             	mov    0x14(%esi),%eax
afe8fb:	ff 76 20             	push   0x20(%esi)
afe8fe:	8b 40 0c             	mov    0xc(%eax),%eax
afe901:	ff 70 70             	push   0x70(%eax)
afe904:	e8 13 7c 92 ff       	call   0x42651c
afe909:	83 66 20 00          	andl   $0x0,0x20(%esi)
afe90d:	59                   	pop    %ecx
afe90e:	59                   	pop    %ecx
afe90f:	5e                   	pop    %esi
afe910:	c3                   	ret
afe911:	cc                   	int3
afe912:	cc                   	int3
afe913:	cc                   	int3
afe914:	cc                   	int3
afe915:	cc                   	int3
afe916:	cc                   	int3
afe917:	cc                   	int3
afe918:	56                   	push   %esi
afe919:	57                   	push   %edi
afe91a:	8b f9                	mov    %ecx,%edi
afe91c:	8b 47 14             	mov    0x14(%edi),%eax
afe91f:	8b 40 0c             	mov    0xc(%eax),%eax
afe922:	8b 70 70             	mov    0x70(%eax),%esi
afe925:	56                   	push   %esi
afe926:	e8 ac ba 93 ff       	call   0x43a3d7
afe92b:	57                   	push   %edi
afe92c:	56                   	push   %esi
afe92d:	89 47 20             	mov    %eax,0x20(%edi)
afe930:	e8 e7 7b 92 ff       	call   0x42651c
afe935:	83 c4 0c             	add    $0xc,%esp
afe938:	5f                   	pop    %edi
afe939:	5e                   	pop    %esi
afe93a:	c3                   	ret
afe93b:	cc                   	int3
afe93c:	cc                   	int3
afe93d:	cc                   	int3
afe93e:	cc                   	int3
afe93f:	cc                   	int3
afe940:	cc                   	int3
afe941:	cc                   	int3
afe942:	cc                   	int3
afe943:	55                   	push   %ebp
afe944:	8b ec                	mov    %esp,%ebp
afe946:	8b 45 08             	mov    0x8(%ebp),%eax
afe949:	85 c0                	test   %eax,%eax
afe94b:	75 02                	jne    0xafe94f
afe94d:	5d                   	pop    %ebp
afe94e:	c3                   	ret
afe94f:	33 c9                	xor    %ecx,%ecx
afe951:	3b c8                	cmp    %eax,%ecx
afe953:	1b c0                	sbb    %eax,%eax
afe955:	83 e0 02             	and    $0x2,%eax
afe958:	48                   	dec    %eax
afe959:	5d                   	pop    %ebp
afe95a:	c3                   	ret
afe95b:	cc                   	int3
afe95c:	cc                   	int3
afe95d:	cc                   	int3
afe95e:	cc                   	int3
afe95f:	cc                   	int3
afe960:	cc                   	int3
afe961:	55                   	push   %ebp
afe962:	8b ec                	mov    %esp,%ebp
afe964:	51                   	push   %ecx
afe965:	51                   	push   %ecx
afe966:	dd 45 08             	fldl   0x8(%ebp)
afe969:	d9 ee                	fldz
afe96b:	dd e1                	fucom  %st(1)
afe96d:	df e0                	fnstsw %ax
afe96f:	f6 c4 44             	test   $0x44,%ah
afe972:	7a 04                	jp     0xafe978
afe974:	dd d9                	fstp   %st(1)
afe976:	eb 1f                	jmp    0xafe997
afe978:	de d9                	fcompp
afe97a:	df e0                	fnstsw %ax
afe97c:	f6 c4 05             	test   $0x5,%ah
afe97f:	7a 09                	jp     0xafe98a
afe981:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
afe988:	eb 04                	jmp    0xafe98e
afe98a:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
afe98e:	db 45 fc             	fildl  -0x4(%ebp)
afe991:	dd 5d f8             	fstpl  -0x8(%ebp)
afe994:	dd 45 f8             	fldl   -0x8(%ebp)
afe997:	8b e5                	mov    %ebp,%esp
afe999:	5d                   	pop    %ebp
afe99a:	c3                   	ret
afe99b:	cc                   	int3
afe99c:	cc                   	int3
afe99d:	cc                   	int3
afe99e:	cc                   	int3
afe99f:	cc                   	int3
afe9a0:	cc                   	int3
afe9a1:	cc                   	int3
afe9a2:	cc                   	int3
afe9a3:	cc                   	int3
afe9a4:	cc                   	int3
afe9a5:	cc                   	int3
afe9a6:	cc                   	int3
afe9a7:	cc                   	int3
afe9a8:	cc                   	int3
afe9a9:	55                   	push   %ebp
afe9aa:	8b ec                	mov    %esp,%ebp
afe9ac:	51                   	push   %ecx
afe9ad:	d9 ee                	fldz
afe9af:	8d 41 08             	lea    0x8(%ecx),%eax
afe9b2:	56                   	push   %esi
afe9b3:	6a 40                	push   $0x40
afe9b5:	5a                   	pop    %edx
afe9b6:	33 f6                	xor    %esi,%esi
afe9b8:	dd 50 f8             	fstl   -0x8(%eax)
afe9bb:	dd 10                	fstl   (%eax)
afe9bd:	89 70 08             	mov    %esi,0x8(%eax)
afe9c0:	89 70 0c             	mov    %esi,0xc(%eax)
afe9c3:	89 70 10             	mov    %esi,0x10(%eax)
afe9c6:	83 c0 20             	add    $0x20,%eax
afe9c9:	83 ea 01             	sub    $0x1,%edx
afe9cc:	75 ea                	jne    0xafe9b8
afe9ce:	8b 45 10             	mov    0x10(%ebp),%eax
afe9d1:	dd d8                	fstp   %st(0)
afe9d3:	db 45 0c             	fildl  0xc(%ebp)
afe9d6:	89 81 00 08 00 00    	mov    %eax,0x800(%ecx)
afe9dc:	8b 45 08             	mov    0x8(%ebp),%eax
afe9df:	89 81 1c 08 00 00    	mov    %eax,0x81c(%ecx)
afe9e5:	8b 45 0c             	mov    0xc(%ebp),%eax
afe9e8:	89 b1 14 08 00 00    	mov    %esi,0x814(%ecx)
afe9ee:	89 b1 18 08 00 00    	mov    %esi,0x818(%ecx)
afe9f4:	89 b1 20 08 00 00    	mov    %esi,0x820(%ecx)
afe9fa:	89 b1 24 08 00 00    	mov    %esi,0x824(%ecx)
afea00:	89 b1 28 08 00 00    	mov    %esi,0x828(%ecx)
afea06:	89 b1 2c 08 00 00    	mov    %esi,0x82c(%ecx)
afea0c:	89 b1 30 08 00 00    	mov    %esi,0x830(%ecx)
afea12:	c6 81 34 08 00 00 01 	movb   $0x1,0x834(%ecx)
afea19:	85 c0                	test   %eax,%eax
afea1b:	79 06                	jns    0xafea23
afea1d:	dc 05 30 48 c4 00    	faddl  0xc44830
afea23:	89 81 10 08 00 00    	mov    %eax,0x810(%ecx)
afea29:	8b c1                	mov    %ecx,%eax
afea2b:	dd 99 08 08 00 00    	fstpl  0x808(%ecx)
afea31:	5e                   	pop    %esi
afea32:	8b e5                	mov    %ebp,%esp
afea34:	5d                   	pop    %ebp
afea35:	c2 0c 00             	ret    $0xc
afea38:	cc                   	int3
afea39:	cc                   	int3
afea3a:	cc                   	int3
afea3b:	cc                   	int3
afea3c:	cc                   	int3
afea3d:	cc                   	int3
afea3e:	cc                   	int3
afea3f:	cc                   	int3
afea40:	cc                   	int3
afea41:	cc                   	int3
afea42:	cc                   	int3
afea43:	cc                   	int3
afea44:	cc                   	int3
afea45:	cc                   	int3
afea46:	cc                   	int3
afea47:	cc                   	int3
afea48:	cc                   	int3
afea49:	cc                   	int3
afea4a:	cc                   	int3
afea4b:	cc                   	int3
afea4c:	cc                   	int3
afea4d:	cc                   	int3
afea4e:	cc                   	int3
afea4f:	cc                   	int3
afea50:	cc                   	int3
afea51:	cc                   	int3
afea52:	cc                   	int3
afea53:	cc                   	int3
afea54:	cc                   	int3
afea55:	cc                   	int3
afea56:	cc                   	int3
afea57:	cc                   	int3
afea58:	cc                   	int3
afea59:	cc                   	int3
afea5a:	cc                   	int3
afea5b:	d9 ee                	fldz
afea5d:	33 c0                	xor    %eax,%eax
afea5f:	dd 11                	fstl   (%ecx)
afea61:	89 41 10             	mov    %eax,0x10(%ecx)
afea64:	89 41 14             	mov    %eax,0x14(%ecx)
afea67:	89 41 18             	mov    %eax,0x18(%ecx)
afea6a:	8b c1                	mov    %ecx,%eax
afea6c:	dd 59 08             	fstpl  0x8(%ecx)
afea6f:	c3                   	ret
afea70:	cc                   	int3
afea71:	cc                   	int3
afea72:	cc                   	int3
afea73:	cc                   	int3
afea74:	cc                   	int3
afea75:	55                   	push   %ebp
afea76:	8b ec                	mov    %esp,%ebp
afea78:	dd 01                	fldl   (%ecx)
afea7a:	dd 45 08             	fldl   0x8(%ebp)
afea7d:	8b 45 10             	mov    0x10(%ebp),%eax
afea80:	dc c1                	fadd   %st,%st(1)
afea82:	ff 41 10             	incl   0x10(%ecx)
afea85:	d9 c9                	fxch   %st(1)
afea87:	89 41 18             	mov    %eax,0x18(%ecx)
afea8a:	dd 19                	fstpl  (%ecx)
afea8c:	dc c8                	fmul   %st,%st(0)
afea8e:	dc 41 08             	faddl  0x8(%ecx)
afea91:	dd 59 08             	fstpl  0x8(%ecx)
afea94:	5d                   	pop    %ebp
afea95:	c2 0c 00             	ret    $0xc
afea98:	cc                   	int3
afea99:	cc                   	int3
afea9a:	cc                   	int3
afea9b:	cc                   	int3
afea9c:	cc                   	int3
afea9d:	cc                   	int3
afea9e:	cc                   	int3
afea9f:	cc                   	int3
afeaa0:	55                   	push   %ebp
afeaa1:	8b ec                	mov    %esp,%ebp
afeaa3:	51                   	push   %ecx
afeaa4:	51                   	push   %ecx
afeaa5:	8b 45 0c             	mov    0xc(%ebp),%eax
afeaa8:	db 45 0c             	fildl  0xc(%ebp)
afeaab:	85 c0                	test   %eax,%eax
afeaad:	79 06                	jns    0xafeab5
afeaaf:	dc 05 30 48 c4 00    	faddl  0xc44830
afeab5:	8b 45 08             	mov    0x8(%ebp),%eax
afeab8:	dd 5d f8             	fstpl  -0x8(%ebp)
afeabb:	dd 45 f8             	fldl   -0x8(%ebp)
afeabe:	dc 0d 90 46 bf 00    	fmull  0xbf4690
afeac4:	db 45 08             	fildl  0x8(%ebp)
afeac7:	85 c0                	test   %eax,%eax
afeac9:	79 06                	jns    0xafead1
afeacb:	dc 05 30 48 c4 00    	faddl  0xc44830
afead1:	dd 5d f8             	fstpl  -0x8(%ebp)
afead4:	dc 75 f8             	fdivl  -0x8(%ebp)
afead7:	8b e5                	mov    %ebp,%esp
afead9:	5d                   	pop    %ebp
afeada:	c2 10 00             	ret    $0x10
afeadd:	cc                   	int3
afeade:	cc                   	int3
afeadf:	cc                   	int3
afeae0:	cc                   	int3
afeae1:	cc                   	int3
afeae2:	cc                   	int3
afeae3:	cc                   	int3
afeae4:	cc                   	int3
afeae5:	cc                   	int3
afeae6:	cc                   	int3
afeae7:	cc                   	int3
afeae8:	cc                   	int3
afeae9:	cc                   	int3
afeaea:	cc                   	int3
afeaeb:	cc                   	int3
afeaec:	55                   	push   %ebp
afeaed:	8b ec                	mov    %esp,%ebp
afeaef:	83 ec 20             	sub    $0x20,%esp
afeaf2:	53                   	push   %ebx
afeaf3:	56                   	push   %esi
afeaf4:	57                   	push   %edi
afeaf5:	ff 75 08             	push   0x8(%ebp)
afeaf8:	8b f1                	mov    %ecx,%esi
afeafa:	e8 9c ef 93 ff       	call   0x43da9b
afeaff:	8b 7d 0c             	mov    0xc(%ebp),%edi
afeb02:	8b ce                	mov    %esi,%ecx
afeb04:	57                   	push   %edi
afeb05:	8b d8                	mov    %eax,%ebx
afeb07:	e8 8f ef 93 ff       	call   0x43da9b
afeb0c:	8b cb                	mov    %ebx,%ecx
afeb0e:	8b f0                	mov    %eax,%esi
afeb10:	e8 ae f4 93 ff       	call   0x43dfc3
afeb15:	dd 5d f8             	fstpl  -0x8(%ebp)
afeb18:	8b ce                	mov    %esi,%ecx
afeb1a:	e8 a4 f4 93 ff       	call   0x43dfc3
afeb1f:	dd 45 f8             	fldl   -0x8(%ebp)
afeb22:	2b 7d 08             	sub    0x8(%ebp),%edi
afeb25:	dc e9                	fsubr  %st,%st(1)
afeb27:	d9 c9                	fxch   %st(1)
afeb29:	89 7d fc             	mov    %edi,-0x4(%ebp)
afeb2c:	dd 55 e8             	fstl   -0x18(%ebp)
afeb2f:	d9 c0                	fld    %st(0)
afeb31:	de f2                	fdivp  %st,%st(2)
afeb33:	db 45 fc             	fildl  -0x4(%ebp)
afeb36:	dd 5d f8             	fstpl  -0x8(%ebp)
afeb39:	dd 45 f8             	fldl   -0x8(%ebp)
afeb3c:	db 45 08             	fildl  0x8(%ebp)
afeb3f:	dd 5d f8             	fstpl  -0x8(%ebp)
afeb42:	dc 75 f8             	fdivl  -0x8(%ebp)
afeb45:	de fa                	fdivrp %st,%st(2)
afeb47:	d9 c9                	fxch   %st(1)
afeb49:	dc 25 00 bb c8 00    	fsubl  0xc8bb00
afeb4f:	dd 5d e0             	fstpl  -0x20(%ebp)
afeb52:	d9 e1                	fabs