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
424a4e:	50                   	push   %eax
424a4f:	e8 23 f9 ff ff       	call   0x424377
424a54:	83 c4 18             	add    $0x18,%esp
424a57:	ff 75 08             	push   0x8(%ebp)
424a5a:	e8 29 fe ff ff       	call   0x424888
424a5f:	83 c4 04             	add    $0x4,%esp
424a62:	83 3d 50 96 4a 00 00 	cmpl   $0x0,0x4a9650
424a69:	75 2b                	jne    0x424a96
424a6b:	85 c0                	test   %eax,%eax
424a6d:	74 27                	je     0x424a96
424a6f:	ff 75 20             	push   0x20(%ebp)
424a72:	dd 45 18             	fldl   0x18(%ebp)
424a75:	83 ec 18             	sub    $0x18,%esp
424a78:	dd 5c 24 10          	fstpl  0x10(%esp)
424a7c:	d9 ee                	fldz
424a7e:	dd 5c 24 08          	fstpl  0x8(%esp)
424a82:	dd 45 10             	fldl   0x10(%ebp)
424a85:	dd 1c 24             	fstpl  (%esp)
424a88:	ff 75 0c             	push   0xc(%ebp)
424a8b:	50                   	push   %eax
424a8c:	e8 24 fe ff ff       	call   0x4248b5
424a91:	83 c4 24             	add    $0x24,%esp
424a94:	eb 1a                	jmp    0x424ab0
424a96:	50                   	push   %eax
424a97:	e8 a4 fd ff ff       	call   0x424840
424a9c:	c7 04 24 ff ff 00 00 	movl   $0xffff,(%esp)
424aa3:	ff 75 20             	push   0x20(%ebp)
424aa6:	e8 a8 02 00 00       	call   0x424d53
424aab:	dd 45 18             	fldl   0x18(%ebp)
424aae:	59                   	pop    %ecx
424aaf:	59                   	pop    %ecx
424ab0:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
424ab4:	e8 25 31 ff ff       	call   0x417bde
424ab9:	8b e5                	mov    %ebp,%esp
424abb:	5d                   	pop    %ebp
424abc:	c3                   	ret
424abd:	55                   	push   %ebp
424abe:	8b ec                	mov    %esp,%ebp
424ac0:	83 e4 f0             	and    $0xfffffff0,%esp
424ac3:	81 ec 80 00 00 00    	sub    $0x80,%esp
424ac9:	a1 40 8b 4a 00       	mov    0x4a8b40,%eax
424ace:	ff 75 28             	push   0x28(%ebp)
424ad1:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
424ad8:	8d 45 20             	lea    0x20(%ebp),%eax
424adb:	50                   	push   %eax
424adc:	ff 75 08             	push   0x8(%ebp)
424adf:	e8 38 fb ff ff       	call   0x42461c
424ae4:	83 c4 0c             	add    $0xc,%esp
424ae7:	85 c0                	test   %eax,%eax
424ae9:	75 34                	jne    0x424b1f
424aeb:	8b 44 24 40          	mov    0x40(%esp),%eax
424aef:	dd 45 18             	fldl   0x18(%ebp)
424af2:	83 e0 e3             	and    $0xffffffe3,%eax
424af5:	dd 5c 24 30          	fstpl  0x30(%esp)
424af9:	83 c8 03             	or     $0x3,%eax
424afc:	89 44 24 40          	mov    %eax,0x40(%esp)
424b00:	8d 45 20             	lea    0x20(%ebp),%eax
424b03:	50                   	push   %eax
424b04:	8d 45 10             	lea    0x10(%ebp),%eax
424b07:	50                   	push   %eax
424b08:	ff 75 0c             	push   0xc(%ebp)
424b0b:	8d 45 28             	lea    0x28(%ebp),%eax
424b0e:	ff 75 08             	push   0x8(%ebp)
424b11:	50                   	push   %eax
424b12:	8d 44 24 14          	lea    0x14(%esp),%eax
424b16:	50                   	push   %eax
424b17:	e8 5b f8 ff ff       	call   0x424377
424b1c:	83 c4 18             	add    $0x18,%esp
424b1f:	ff 75 08             	push   0x8(%ebp)
424b22:	e8 61 fd ff ff       	call   0x424888
424b27:	83 c4 04             	add    $0x4,%esp
424b2a:	83 3d 50 96 4a 00 00 	cmpl   $0x0,0x4a9650
424b31:	75 2c                	jne    0x424b5f
424b33:	85 c0                	test   %eax,%eax
424b35:	74 28                	je     0x424b5f
424b37:	ff 75 28             	push   0x28(%ebp)
424b3a:	dd 45 20             	fldl   0x20(%ebp)
424b3d:	83 ec 18             	sub    $0x18,%esp
424b40:	dd 5c 24 10          	fstpl  0x10(%esp)
424b44:	dd 45 18             	fldl   0x18(%ebp)
424b47:	dd 5c 24 08          	fstpl  0x8(%esp)
424b4b:	dd 45 10             	fldl   0x10(%ebp)
424b4e:	dd 1c 24             	fstpl  (%esp)
424b51:	ff 75 0c             	push   0xc(%ebp)
424b54:	50                   	push   %eax
424b55:	e8 5b fd ff ff       	call   0x4248b5
424b5a:	83 c4 24             	add    $0x24,%esp
424b5d:	eb 1a                	jmp    0x424b79
424b5f:	50                   	push   %eax
424b60:	e8 db fc ff ff       	call   0x424840
424b65:	c7 04 24 ff ff 00 00 	movl   $0xffff,(%esp)
424b6c:	ff 75 28             	push   0x28(%ebp)
424b6f:	e8 df 01 00 00       	call   0x424d53
424b74:	dd 45 20             	fldl   0x20(%ebp)
424b77:	59                   	pop    %ecx
424b78:	59                   	pop    %ecx
424b79:	8b 4c 24 7c          	mov    0x7c(%esp),%ecx
424b7d:	e8 5c 30 ff ff       	call   0x417bde
424b82:	8b e5                	mov    %ebp,%esp
424b84:	5d                   	pop    %ebp
424b85:	c3                   	ret
424b86:	51                   	push   %ecx
424b87:	51                   	push   %ecx
424b88:	dd 44 24 0c          	fldl   0xc(%esp)
424b8c:	d9 fc                	frndint
424b8e:	dd 1c 24             	fstpl  (%esp)
424b91:	dd 04 24             	fldl   (%esp)
424b94:	59                   	pop    %ecx
424b95:	59                   	pop    %ecx
424b96:	c3                   	ret
424b97:	55                   	push   %ebp
424b98:	8b ec                	mov    %esp,%ebp
424b9a:	51                   	push   %ecx
424b9b:	51                   	push   %ecx
424b9c:	8b 45 10             	mov    0x10(%ebp),%eax
424b9f:	dd 45 08             	fldl   0x8(%ebp)
424ba2:	8b 4d 0e             	mov    0xe(%ebp),%ecx
424ba5:	dd 5d f8             	fstpl  -0x8(%ebp)
424ba8:	05 fe 03 00 00       	add    $0x3fe,%eax
424bad:	c1 e0 04             	shl    $0x4,%eax
424bb0:	81 e1 0f 80 ff ff    	and    $0xffff800f,%ecx
424bb6:	0b c1                	or     %ecx,%eax
424bb8:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424bbc:	dd 45 f8             	fldl   -0x8(%ebp)
424bbf:	c9                   	leave
424bc0:	c3                   	ret
424bc1:	8b 44 24 0a          	mov    0xa(%esp),%eax
424bc5:	c1 e8 04             	shr    $0x4,%eax
424bc8:	25 ff 07 ff ff       	and    $0xffff07ff,%eax
424bcd:	2d fe 03 00 00       	sub    $0x3fe,%eax
424bd2:	0f bf c0             	movswl %ax,%eax
424bd5:	c3                   	ret
424bd6:	8b 44 24 0a          	mov    0xa(%esp),%eax
424bda:	dd 44 24 04          	fldl   0x4(%esp)
424bde:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
424be2:	c1 e8 04             	shr    $0x4,%eax
424be5:	25 ff 07 00 00       	and    $0x7ff,%eax
424bea:	8d 84 08 02 fc ff ff 	lea    -0x3fe(%eax,%ecx,1),%eax
424bf1:	50                   	push   %eax
424bf2:	51                   	push   %ecx
424bf3:	51                   	push   %ecx
424bf4:	dd 1c 24             	fstpl  (%esp)
424bf7:	e8 9b ff ff ff       	call   0x424b97
424bfc:	83 c4 0c             	add    $0xc,%esp
424bff:	c3                   	ret
424c00:	55                   	push   %ebp
424c01:	8b ec                	mov    %esp,%ebp
424c03:	51                   	push   %ecx
424c04:	51                   	push   %ecx
424c05:	8b 45 10             	mov    0x10(%ebp),%eax
424c08:	dd 45 08             	fldl   0x8(%ebp)
424c0b:	8b 4d 0e             	mov    0xe(%ebp),%ecx
424c0e:	dd 5d f8             	fstpl  -0x8(%ebp)
424c11:	c1 e0 04             	shl    $0x4,%eax
424c14:	81 e1 0f 80 ff ff    	and    $0xffff800f,%ecx
424c1a:	0b c1                	or     %ecx,%eax
424c1c:	66 89 45 fe          	mov    %ax,-0x2(%ebp)
424c20:	dd 45 f8             	fldl   -0x8(%ebp)
424c23:	c9                   	leave
424c24:	c3                   	ret
424c25:	55                   	push   %ebp
424c26:	8b ec                	mov    %esp,%ebp
424c28:	33 d2                	xor    %edx,%edx
424c2a:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
424c31:	75 0a                	jne    0x424c3d
424c33:	39 55 08             	cmp    %edx,0x8(%ebp)
424c36:	75 17                	jne    0x424c4f
424c38:	33 c0                	xor    %eax,%eax
424c3a:	40                   	inc    %eax
424c3b:	5d                   	pop    %ebp
424c3c:	c3                   	ret
424c3d:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
424c44:	75 09                	jne    0x424c4f
424c46:	39 55 08             	cmp    %edx,0x8(%ebp)
424c49:	75 04                	jne    0x424c4f