42465b:	59                   	pop    %ecx
42465c:	83 e6 fb             	and    $0xfffffffb,%esi
42465f:	e9 ba 01 00 00       	jmp    0x42481e
424664:	84 c3                	test   %al,%bl
424666:	0f 84 d8 00 00 00    	je     0x424744
42466c:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
424670:	0f 84 ce 00 00 00    	je     0x424744
424676:	6a 08                	push   $0x8
424678:	e8 fa 06 00 00       	call   0x424d77
42467d:	8b 45 10             	mov    0x10(%ebp),%eax
424680:	59                   	pop    %ecx
424681:	b9 00 0c 00 00       	mov    $0xc00,%ecx
424686:	23 c1                	and    %ecx,%eax
424688:	0f 84 8c 00 00 00    	je     0x42471a
42468e:	3d 00 04 00 00       	cmp    $0x400,%eax
424693:	74 5b                	je     0x4246f0
424695:	3d 00 08 00 00       	cmp    $0x800,%eax
42469a:	74 2a                	je     0x4246c6
42469c:	3b c1                	cmp    %ecx,%eax
42469e:	0f 85 98 00 00 00    	jne    0x42473c
4246a4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4246a7:	dd 01                	fldl   (%ecx)
4246a9:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4246af:	dd 05 50 97 4a 00    	fldl   0x4a9750
4246b5:	df e0                	fnstsw %ax
4246b7:	f6 c4 41             	test   $0x41,%ah
4246ba:	74 02                	je     0x4246be
4246bc:	d9 e0                	fchs
4246be:	dd 5d f0             	fstpl  -0x10(%ebp)
4246c1:	dd 45 f0             	fldl   -0x10(%ebp)
4246c4:	eb 74                	jmp    0x42473a
4246c6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4246c9:	dd 01                	fldl   (%ecx)
4246cb:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4246d1:	df e0                	fnstsw %ax
4246d3:	f6 c4 41             	test   $0x41,%ah
4246d6:	75 08                	jne    0x4246e0
4246d8:	dd 05 40 97 4a 00    	fldl   0x4a9740
4246de:	eb 08                	jmp    0x4246e8
4246e0:	dd 05 50 97 4a 00    	fldl   0x4a9750
4246e6:	d9 e0                	fchs
4246e8:	dd 5d f0             	fstpl  -0x10(%ebp)
4246eb:	dd 45 f0             	fldl   -0x10(%ebp)
4246ee:	eb 4a                	jmp    0x42473a
4246f0:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4246f3:	dd 01                	fldl   (%ecx)
4246f5:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4246fb:	df e0                	fnstsw %ax
4246fd:	f6 c4 41             	test   $0x41,%ah
424700:	75 08                	jne    0x42470a
424702:	dd 05 50 97 4a 00    	fldl   0x4a9750
424708:	eb 08                	jmp    0x424712
42470a:	dd 05 40 97 4a 00    	fldl   0x4a9740
424710:	d9 e0                	fchs
424712:	dd 5d f0             	fstpl  -0x10(%ebp)
424715:	dd 45 f0             	fldl   -0x10(%ebp)
424718:	eb 20                	jmp    0x42473a
42471a:	8b 4d 0c             	mov    0xc(%ebp),%ecx
42471d:	dd 01                	fldl   (%ecx)
42471f:	dc 1d d0 91 48 00    	fcompl 0x4891d0
424725:	dd 05 40 97 4a 00    	fldl   0x4a9740
42472b:	df e0                	fnstsw %ax
42472d:	f6 c4 41             	test   $0x41,%ah
424730:	74 02                	je     0x424734
424732:	d9 e0                	fchs
424734:	dd 5d f0             	fstpl  -0x10(%ebp)
424737:	dd 45 f0             	fldl   -0x10(%ebp)
42473a:	dd 19                	fstpl  (%ecx)
42473c:	83 e6 fe             	and    $0xfffffffe,%esi
42473f:	e9 da 00 00 00       	jmp    0x42481e
424744:	a8 02                	test   $0x2,%al
424746:	0f 84 d2 00 00 00    	je     0x42481e
42474c:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
424750:	0f 84 c8 00 00 00    	je     0x42481e
424756:	33 f6                	xor    %esi,%esi
424758:	a8 10                	test   $0x10,%al
42475a:	74 02                	je     0x42475e
42475c:	8b f3                	mov    %ebx,%esi
42475e:	dd 05 d0 91 48 00    	fldl   0x4891d0
424764:	57                   	push   %edi
424765:	8b 7d 0c             	mov    0xc(%ebp),%edi
424768:	dd 07                	fldl   (%edi)
42476a:	da e9                	fucompp
42476c:	df e0                	fnstsw %ax
42476e:	f6 c4 44             	test   $0x44,%ah
424771:	0f 8b 91 00 00 00    	jnp    0x424808
424777:	dd 07                	fldl   (%edi)
424779:	8d 45 f8             	lea    -0x8(%ebp),%eax
42477c:	50                   	push   %eax
42477d:	51                   	push   %ecx
42477e:	51                   	push   %ecx
42477f:	dd 1c 24             	fstpl  (%esp)
424782:	e8 f9 04 00 00       	call   0x424c80
424787:	8b 4d f8             	mov    -0x8(%ebp),%ecx
42478a:	dd 5d f0             	fstpl  -0x10(%ebp)
42478d:	dd 45 f0             	fldl   -0x10(%ebp)
424790:	81 c1 00 fa ff ff    	add    $0xfffffa00,%ecx
424796:	83 c4 0c             	add    $0xc,%esp
424799:	81 f9 ce fb ff ff    	cmp    $0xfffffbce,%ecx
42479f:	7d 0a                	jge    0x4247ab
4247a1:	dc 0d d0 91 48 00    	fmull  0x4891d0
4247a7:	8b f3                	mov    %ebx,%esi
4247a9:	eb 53                	jmp    0x4247fe
4247ab:	dc 1d d0 91 48 00    	fcompl 0x4891d0
4247b1:	df e0                	fnstsw %ax
4247b3:	f6 c4 05             	test   $0x5,%ah
4247b6:	7a 04                	jp     0x4247bc
4247b8:	8b d3                	mov    %ebx,%edx
4247ba:	eb 02                	jmp    0x4247be
4247bc:	33 d2                	xor    %edx,%edx
4247be:	33 c0                	xor    %eax,%eax
4247c0:	8a 45 f6             	mov    -0xa(%ebp),%al
4247c3:	83 e0 0f             	and    $0xf,%eax
4247c6:	83 c8 10             	or     $0x10,%eax
4247c9:	66 89 45 f6          	mov    %ax,-0xa(%ebp)
4247cd:	b8 03 fc ff ff       	mov    $0xfffffc03,%eax
4247d2:	3b c8                	cmp    %eax,%ecx
4247d4:	7d 1f                	jge    0x4247f5
4247d6:	2b c1                	sub    %ecx,%eax
4247d8:	84 5d f0             	test   %bl,-0x10(%ebp)
4247db:	74 06                	je     0x4247e3
4247dd:	85 f6                	test   %esi,%esi
4247df:	75 02                	jne    0x4247e3
4247e1:	8b f3                	mov    %ebx,%esi
4247e3:	d1 6d f0             	shrl   $1,-0x10(%ebp)
4247e6:	84 5d f4             	test   %bl,-0xc(%ebp)
4247e9:	74 04                	je     0x4247ef
4247eb:	80 4d f3 80          	orb    $0x80,-0xd(%ebp)
4247ef:	d1 6d f4             	shrl   $1,-0xc(%ebp)
4247f2:	48                   	dec    %eax
4247f3:	75 e3                	jne    0x4247d8
4247f5:	85 d2                	test   %edx,%edx
4247f7:	74 08                	je     0x424801
4247f9:	dd 45 f0             	fldl   -0x10(%ebp)
4247fc:	d9 e0                	fchs
4247fe:	dd 5d f0             	fstpl  -0x10(%ebp)
424801:	dd 45 f0             	fldl   -0x10(%ebp)
424804:	dd 1f                	fstpl  (%edi)
424806:	eb 02                	jmp    0x42480a
424808:	8b f3                	mov    %ebx,%esi
42480a:	85 f6                	test   %esi,%esi
42480c:	5f                   	pop    %edi
42480d:	74 08                	je     0x424817
42480f:	6a 10                	push   $0x10
424811:	e8 61 05 00 00       	call   0x424d77
424816:	59                   	pop    %ecx
424817:	83 65 fc fd          	andl   $0xfffffffd,-0x4(%ebp)
42481b:	8b 75 fc             	mov    -0x4(%ebp),%esi
42481e:	f6 45 08 10          	testb  $0x10,0x8(%ebp)
424822:	74 11                	je     0x424835
424824:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
424828:	74 0b                	je     0x424835
42482a:	6a 20                	push   $0x20
42482c:	e8 46 05 00 00       	call   0x424d77
424831:	59                   	pop    %ecx
424832:	83 e6 ef             	and    $0xffffffef,%esi
424835:	33 c0                	xor    %eax,%eax
424837:	85 f6                	test   %esi,%esi
424839:	5e                   	pop    %esi
42483a:	0f 94 c0             	sete   %al
42483d:	5b                   	pop    %ebx
42483e:	c9                   	leave
42483f:	c3                   	ret
424840:	8b 44 24 04          	mov    0x4(%esp),%eax
424844:	83 f8 01             	cmp    $0x1,%eax
424847:	74 13                	je     0x42485c
424849:	7e 1c                	jle    0x424867
42484b:	83 f8 03             	cmp    $0x3,%eax
42484e:	7f 17                	jg     0x424867
424850:	e8 d1 49 ff ff       	call   0x419226
424855:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
42485b:	c3                   	ret
42485c:	e8 c5 49 ff ff       	call   0x419226
424861:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
424867:	c3                   	ret
424868:	33 c0                	xor    %eax,%eax
42486a:	8b 0c c5 58 96 4a 00 	mov    0x4a9658(,%eax,8),%ecx
424871:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
424875:	74 09                	je     0x424880
424877:	40                   	inc    %eax
424878:	83 f8 1d             	cmp    $0x1d,%eax
42487b:	7c ed                	jl     0x42486a
42487d:	33 c0                	xor    %eax,%eax
42487f:	c3                   	ret
424880:	8b 04 c5 5c 96 4a 00 	mov    0x4a965c(,%eax,8),%eax
424887:	c3                   	ret
424888:	8a 44 24 04          	mov    0x4(%esp),%al
42488c:	a8 20                	test   $0x20,%al
42488e:	74 04                	je     0x424894
424890:	6a 05                	push   $0x5
424892:	eb 16                	jmp    0x4248aa
424894:	a8 08                	test   $0x8,%al
424896:	74 04                	je     0x42489c
424898:	33 c0                	xor    %eax,%eax
42489a:	40                   	inc    %eax
42489b:	c3                   	ret
42489c:	a8 04                	test   $0x4,%al
42489e:	74 04                	je     0x4248a4
4248a0:	6a 02                	push   $0x2
4248a2:	eb 06                	jmp    0x4248aa
4248a4:	a8 01                	test   $0x1,%al
4248a6:	74 04                	je     0x4248ac
4248a8:	6a 03                	push   $0x3
4248aa:	58                   	pop    %eax
4248ab:	c3                   	ret
4248ac:	0f b6 c0             	movzbl %al,%eax
4248af:	83 e0 02             	and    $0x2,%eax
4248b2:	d1 e0                	shl    $1,%eax
4248b4:	c3                   	ret
4248b5:	55                   	push   %ebp
4248b6:	8b ec                	mov    %esp,%ebp
4248b8:	83 ec 20             	sub    $0x20,%esp
4248bb:	33 c0                	xor    %eax,%eax
4248bd:	8b 0c c5 58 96 4a 00 	mov    0x4a9658(,%eax,8),%ecx
4248c4:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
4248c7:	74 64                	je     0x42492d
4248c9:	40                   	inc    %eax
4248ca:	83 f8 1d             	cmp    $0x1d,%eax
4248cd:	7c ee                	jl     0x4248bd
4248cf:	33 c0                	xor    %eax,%eax
4248d1:	85 c0                	test   %eax,%eax
4248d3:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4248d6:	74 5e                	je     0x424936
4248d8:	8b 45 10             	mov    0x10(%ebp),%eax
4248db:	89 45 e8             	mov    %eax,-0x18(%ebp)
4248de:	8b 45 14             	mov    0x14(%ebp),%eax
4248e1:	89 45 ec             	mov    %eax,-0x14(%ebp)
4248e4:	8b 45 18             	mov    0x18(%ebp),%eax
4248e7:	89 45 f0             	mov    %eax,-0x10(%ebp)
4248ea:	8b 45 1c             	mov    0x1c(%ebp),%eax
4248ed:	56                   	push   %esi
4248ee:	8b 75 08             	mov    0x8(%ebp),%esi
4248f1:	89 45 f4             	mov    %eax,-0xc(%ebp)
4248f4:	8b 45 20             	mov    0x20(%ebp),%eax
4248f7:	89 45 f8             	mov    %eax,-0x8(%ebp)
4248fa:	8b 45 24             	mov    0x24(%ebp),%eax
4248fd:	68 ff ff 00 00       	push   $0xffff
424902:	ff 75 28             	push   0x28(%ebp)
424905:	89 75 e0             	mov    %esi,-0x20(%ebp)
424908:	89 45 fc             	mov    %eax,-0x4(%ebp)
42490b:	e8 43 04 00 00       	call   0x424d53
424910:	8d 45 e0             	lea    -0x20(%ebp),%eax
424913:	50                   	push   %eax
424914:	e8 5b fa ff ff       	call   0x424374
424919:	83 c4 0c             	add    $0xc,%esp
42491c:	85 c0                	test   %eax,%eax
42491e:	75 07                	jne    0x424927
424920:	56                   	push   %esi
424921:	e8 1a ff ff ff       	call   0x424840
424926:	59                   	pop    %ecx
424927:	dd 45 f8             	fldl   -0x8(%ebp)
42492a:	5e                   	pop    %esi
42492b:	c9                   	leave
42492c:	c3                   	ret
42492d:	8b 04 c5 5c 96 4a 00 	mov    0x4a965c(,%eax,8),%eax
424934:	eb 9b                	jmp    0x4248d1
424936:	68 ff ff 00 00       	push   $0xffff
42493b:	ff 75 28             	push   0x28(%ebp)
42493e:	e8 10 04 00 00       	call   0x424d53
424943:	ff 75 08             	push   0x8(%ebp)
424946:	e8 f5 fe ff ff       	call   0x424840
42494b:	dd 45 20             	fldl   0x20(%ebp)
42494e:	83 c4 0c             	add    $0xc,%esp
424951:	c9                   	leave
424952:	c3                   	ret
424953:	55                   	push   %ebp
424954:	8b ec                	mov    %esp,%ebp
424956:	83 3d 50 96 4a 00 00 	cmpl   $0x0,0x4a9650
42495d:	75 28                	jne    0x424987
42495f:	ff 75 14             	push   0x14(%ebp)
424962:	dd 45 0c             	fldl   0xc(%ebp)
424965:	83 ec 18             	sub    $0x18,%esp
424968:	dd 5c 24 10          	fstpl  0x10(%esp)
42496c:	d9 ee                	fldz
42496e:	dd 5c 24 08          	fstpl  0x8(%esp)
424972:	dd 45 0c             	fldl   0xc(%ebp)
424975:	dd 1c 24             	fstpl  (%esp)
424978:	ff 75 08             	push   0x8(%ebp)
42497b:	6a 01                	push   $0x1
42497d:	e8 33 ff ff ff       	call   0x4248b5
424982:	83 c4 24             	add    $0x24,%esp
424985:	5d                   	pop    %ebp
424986:	c3                   	ret
424987:	e8 9a 48 ff ff       	call   0x419226
42498c:	68 ff ff 00 00       	push   $0xffff
424991:	ff 75 14             	push   0x14(%ebp)
424994:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
42499a:	e8 b4 03 00 00       	call   0x424d53
42499f:	dd 45 0c             	fldl   0xc(%ebp)
4249a2:	59                   	pop    %ecx
4249a3:	59                   	pop    %ecx
4249a4:	5d                   	pop    %ebp
4249a5:	c3                   	ret
4249a6:	55                   	push   %ebp
4249a7:	8b ec                	mov    %esp,%ebp
4249a9:	51                   	push   %ecx
4249aa:	51                   	push   %ecx
4249ab:	83 3d 50 96 4a 00 00 	cmpl   $0x0,0x4a9650
4249b2:	dd 45 0c             	fldl   0xc(%ebp)
4249b5:	dc 45 14             	faddl  0x14(%ebp)
4249b8:	dd 5d f8             	fstpl  -0x8(%ebp)
4249bb:	75 29                	jne    0x4249e6
4249bd:	ff 75 1c             	push   0x1c(%ebp)
4249c0:	dd 45 f8             	fldl   -0x8(%ebp)
4249c3:	83 ec 18             	sub    $0x18,%esp
4249c6:	dd 5c 24 10          	fstpl  0x10(%esp)
4249ca:	dd 45 14             	fldl   0x14(%ebp)
4249cd:	dd 5c 24 08          	fstpl  0x8(%esp)
4249d1:	dd 45 0c             	fldl   0xc(%ebp)
4249d4:	dd 1c 24             	fstpl  (%esp)
4249d7:	ff 75 08             	push   0x8(%ebp)
4249da:	6a 01                	push   $0x1
4249dc:	e8 d4 fe ff ff       	call   0x4248b5
4249e1:	83 c4 24             	add    $0x24,%esp
4249e4:	c9                   	leave
4249e5:	c3                   	ret
4249e6:	e8 3b 48 ff ff       	call   0x419226
4249eb:	68 ff ff 00 00       	push   $0xffff
4249f0:	ff 75 1c             	push   0x1c(%ebp)
4249f3:	c7 00 21 00 00 00    	movl   $0x21,(%eax)
4249f9:	e8 55 03 00 00       	call   0x424d53
4249fe:	dd 45 f8             	fldl   -0x8(%ebp)
424a01:	59                   	pop    %ecx
424a02:	59                   	pop    %ecx
424a03:	c9                   	leave
424a04:	c3                   	ret
424a05:	55                   	push   %ebp
424a06:	8b ec                	mov    %esp,%ebp
424a08:	83 e4 f0             	and    $0xfffffff0,%esp
424a0b:	81 ec 80 00 00 00    	sub    $0x80,%esp
424a11:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
424a16:	ff 75 20             	push   0x20(%ebp)
424a19:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
424a20:	8d 45 18             	lea    0x18(%ebp),%eax
424a23:	50                   	push   %eax
424a24:	ff 75 08             	push   0x8(%ebp)
424a27:	e8 f0 fb ff ff       	call   0x42461c
424a2c:	83 c4 0c             	add    $0xc,%esp
424a2f:	85 c0                	test   %eax,%eax
424a31:	75 24                	jne    0x424a57
424a33:	83 64 24 40 fe       	andl   $0xfffffffe,0x40(%esp)
424a38:	8d 45 18             	lea    0x18(%ebp),%eax
424a3b:	50                   	push   %eax
424a3c:	8d 45 10             	lea    0x10(%ebp),%eax
424a3f:	50                   	push   %eax
424a40:	ff 75 0c             	push   0xc(%ebp)
424a43:	8d 45 20             	lea    0x20(%ebp),%eax
424a46:	ff 75 08             	push   0x8(%ebp)
424a49:	50                   	push   %eax
424a4a:	8d 44 24 14          	lea    0x14(%esp),%eax