489c41:	8b e3                	mov    %ebx,%esp
489c43:	5b                   	pop    %ebx
489c44:	c3                   	ret
489c45:	8b ff                	mov    %edi,%edi
489c47:	53                   	push   %ebx
489c48:	8b dc                	mov    %esp,%ebx
489c4a:	51                   	push   %ecx
489c4b:	51                   	push   %ecx
489c4c:	83 e4 f0             	and    $0xfffffff0,%esp
489c4f:	83 c4 04             	add    $0x4,%esp
489c52:	55                   	push   %ebp
489c53:	8b 6b 04             	mov    0x4(%ebx),%ebp
489c56:	89 6c 24 04          	mov    %ebp,0x4(%esp)
489c5a:	8b ec                	mov    %esp,%ebp
489c5c:	81 ec 88 00 00 00    	sub    $0x88,%esp
489c62:	a1 14 40 4c 00       	mov    0x4c4014,%eax
489c67:	33 c5                	xor    %ebp,%eax
489c69:	89 45 fc             	mov    %eax,-0x4(%ebp)
489c6c:	56                   	push   %esi
489c6d:	8b 73 28             	mov    0x28(%ebx),%esi
489c70:	8d 43 20             	lea    0x20(%ebx),%eax
489c73:	57                   	push   %edi
489c74:	56                   	push   %esi
489c75:	50                   	push   %eax
489c76:	ff 73 08             	push   0x8(%ebx)
489c79:	e8 a9 00 00 00       	call   0x489d27
489c7e:	dd 43 18             	fldl   0x18(%ebx)
489c81:	83 c4 0c             	add    $0xc,%esp
489c84:	85 c0                	test   %eax,%eax
489c86:	75 34                	jne    0x489cbc
489c88:	8b 45 c0             	mov    -0x40(%ebp),%eax
489c8b:	83 e0 e3             	and    $0xffffffe3,%eax
489c8e:	83 c8 03             	or     $0x3,%eax
489c91:	89 45 c0             	mov    %eax,-0x40(%ebp)
489c94:	8d 43 20             	lea    0x20(%ebx),%eax
489c97:	6a 00                	push   $0x0
489c99:	50                   	push   %eax
489c9a:	8d 43 10             	lea    0x10(%ebx),%eax
489c9d:	50                   	push   %eax
489c9e:	ff 73 0c             	push   0xc(%ebx)
489ca1:	8d 43 28             	lea    0x28(%ebx),%eax
489ca4:	ff 73 08             	push   0x8(%ebx)
489ca7:	dd 5d b0             	fstpl  -0x50(%ebp)
489caa:	50                   	push   %eax
489cab:	8d 45 80             	lea    -0x80(%ebp),%eax
489cae:	50                   	push   %eax
489caf:	e8 23 03 00 00       	call   0x489fd7
489cb4:	8b 73 28             	mov    0x28(%ebx),%esi
489cb7:	83 c4 1c             	add    $0x1c,%esp
489cba:	eb 02                	jmp    0x489cbe
489cbc:	dd d8                	fstp   %st(0)
489cbe:	ff 73 08             	push   0x8(%ebx)
489cc1:	e8 7d fe ff ff       	call   0x489b43
489cc6:	59                   	pop    %ecx
489cc7:	8b f8                	mov    %eax,%edi
489cc9:	e8 77 91 ff ff       	call   0x482e45
489cce:	84 c0                	test   %al,%al
489cd0:	74 2a                	je     0x489cfc
489cd2:	85 ff                	test   %edi,%edi
489cd4:	74 26                	je     0x489cfc
489cd6:	dd 43 20             	fldl   0x20(%ebx)
489cd9:	56                   	push   %esi
489cda:	83 ec 18             	sub    $0x18,%esp
489cdd:	dd 5c 24 10          	fstpl  0x10(%esp)
489ce1:	dd 43 18             	fldl   0x18(%ebx)
489ce4:	dd 5c 24 08          	fstpl  0x8(%esp)
489ce8:	dd 43 10             	fldl   0x10(%ebx)
489ceb:	dd 1c 24             	fstpl  (%esp)
489cee:	ff 73 0c             	push   0xc(%ebx)
489cf1:	57                   	push   %edi
489cf2:	e8 02 06 00 00       	call   0x48a2f9
489cf7:	83 c4 24             	add    $0x24,%esp
489cfa:	eb 18                	jmp    0x489d14
489cfc:	57                   	push   %edi
489cfd:	e8 c6 05 00 00       	call   0x48a2c8
489d02:	c7 04 24 ff ff 00 00 	movl   $0xffff,(%esp)
489d09:	56                   	push   %esi
489d0a:	e8 1b 07 00 00       	call   0x48a42a
489d0f:	dd 43 20             	fldl   0x20(%ebx)
489d12:	59                   	pop    %ecx
489d13:	59                   	pop    %ecx
489d14:	8b 4d fc             	mov    -0x4(%ebp),%ecx
489d17:	5f                   	pop    %edi
489d18:	33 cd                	xor    %ebp,%ecx
489d1a:	5e                   	pop    %esi
489d1b:	e8 aa fc fd ff       	call   0x4699ca
489d20:	8b e5                	mov    %ebp,%esp
489d22:	5d                   	pop    %ebp
489d23:	8b e3                	mov    %ebx,%esp
489d25:	5b                   	pop    %ebx
489d26:	c3                   	ret
489d27:	8b ff                	mov    %edi,%edi
489d29:	55                   	push   %ebp
489d2a:	8b ec                	mov    %esp,%ebp
489d2c:	83 ec 20             	sub    $0x20,%esp
489d2f:	33 c9                	xor    %ecx,%ecx
489d31:	41                   	inc    %ecx
489d32:	53                   	push   %ebx
489d33:	8b 5d 08             	mov    0x8(%ebp),%ebx
489d36:	56                   	push   %esi
489d37:	8b f3                	mov    %ebx,%esi
489d39:	83 e6 1f             	and    $0x1f,%esi
489d3c:	f6 c3 08             	test   $0x8,%bl
489d3f:	74 14                	je     0x489d55
489d41:	84 4d 10             	test   %cl,0x10(%ebp)
489d44:	74 0f                	je     0x489d55
489d46:	51                   	push   %ecx
489d47:	e8 08 07 00 00       	call   0x48a454
489d4c:	59                   	pop    %ecx
489d4d:	83 e6 f7             	and    $0xfffffff7,%esi
489d50:	e9 31 02 00 00       	jmp    0x489f86
489d55:	8b c3                	mov    %ebx,%eax
489d57:	23 45 10             	and    0x10(%ebp),%eax
489d5a:	a8 04                	test   $0x4,%al
489d5c:	74 10                	je     0x489d6e
489d5e:	6a 04                	push   $0x4
489d60:	e8 ef 06 00 00       	call   0x48a454
489d65:	59                   	pop    %ecx
489d66:	83 e6 fb             	and    $0xfffffffb,%esi
489d69:	e9 18 02 00 00       	jmp    0x489f86
489d6e:	84 d9                	test   %bl,%cl
489d70:	0f 84 9a 00 00 00    	je     0x489e10
489d76:	f6 45 10 08          	testb  $0x8,0x10(%ebp)
489d7a:	0f 84 90 00 00 00    	je     0x489e10
489d80:	6a 08                	push   $0x8
489d82:	e8 cd 06 00 00       	call   0x48a454
489d87:	8b 45 10             	mov    0x10(%ebp),%eax
489d8a:	59                   	pop    %ecx
489d8b:	b9 00 0c 00 00       	mov    $0xc00,%ecx
489d90:	23 c1                	and    %ecx,%eax
489d92:	74 54                	je     0x489de8
489d94:	3d 00 04 00 00       	cmp    $0x400,%eax
489d99:	74 37                	je     0x489dd2
489d9b:	3d 00 08 00 00       	cmp    $0x800,%eax
489da0:	74 1a                	je     0x489dbc
489da2:	3b c1                	cmp    %ecx,%eax
489da4:	75 62                	jne    0x489e08
489da6:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489da9:	d9 ee                	fldz
489dab:	dc 19                	fcompl (%ecx)
489dad:	df e0                	fnstsw %ax
489daf:	dd 05 18 3f 4a 00    	fldl   0x4a3f18
489db5:	f6 c4 05             	test   $0x5,%ah
489db8:	7b 4c                	jnp    0x489e06
489dba:	eb 48                	jmp    0x489e04
489dbc:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489dbf:	d9 ee                	fldz
489dc1:	dc 19                	fcompl (%ecx)
489dc3:	df e0                	fnstsw %ax
489dc5:	f6 c4 05             	test   $0x5,%ah
489dc8:	7b 2c                	jnp    0x489df6
489dca:	dd 05 18 3f 4a 00    	fldl   0x4a3f18
489dd0:	eb 32                	jmp    0x489e04
489dd2:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489dd5:	d9 ee                	fldz
489dd7:	dc 19                	fcompl (%ecx)
489dd9:	df e0                	fnstsw %ax
489ddb:	f6 c4 05             	test   $0x5,%ah
489dde:	7a 1e                	jp     0x489dfe
489de0:	dd 05 18 3f 4a 00    	fldl   0x4a3f18
489de6:	eb 1e                	jmp    0x489e06
489de8:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489deb:	d9 ee                	fldz
489ded:	dc 19                	fcompl (%ecx)
489def:	df e0                	fnstsw %ax
489df1:	f6 c4 05             	test   $0x5,%ah
489df4:	7a 08                	jp     0x489dfe
489df6:	dd 05 10 3f 4a 00    	fldl   0x4a3f10
489dfc:	eb 08                	jmp    0x489e06
489dfe:	dd 05 10 3f 4a 00    	fldl   0x4a3f10
489e04:	d9 e0                	fchs
489e06:	dd 19                	fstpl  (%ecx)
489e08:	83 e6 fe             	and    $0xfffffffe,%esi
489e0b:	e9 76 01 00 00       	jmp    0x489f86
489e10:	f6 c3 02             	test   $0x2,%bl
489e13:	0f 84 6d 01 00 00    	je     0x489f86
489e19:	f6 45 10 10          	testb  $0x10,0x10(%ebp)
489e1d:	0f 84 63 01 00 00    	je     0x489f86
489e23:	8b 45 0c             	mov    0xc(%ebp),%eax
489e26:	57                   	push   %edi
489e27:	8b fb                	mov    %ebx,%edi
489e29:	c1 ef 04             	shr    $0x4,%edi
489e2c:	dd 00                	fldl   (%eax)
489e2e:	23 f9                	and    %ecx,%edi
489e30:	d9 ee                	fldz
489e32:	dd e9                	fucomp %st(1)
489e34:	89 7d f8             	mov    %edi,-0x8(%ebp)
489e37:	df e0                	fnstsw %ax
489e39:	f6 c4 44             	test   $0x44,%ah
489e3c:	0f 8b 36 01 00 00    	jnp    0x489f78
489e42:	8d 45 ec             	lea    -0x14(%ebp),%eax
489e45:	50                   	push   %eax
489e46:	51                   	push   %ecx
489e47:	51                   	push   %ecx
489e48:	dd 1c 24             	fstpl  (%esp)
489e4b:	e8 91 fb ff ff       	call   0x4899e1
489e50:	8b 55 ec             	mov    -0x14(%ebp),%edx
489e53:	83 c4 0c             	add    $0xc,%esp
489e56:	81 c2 00 fa ff ff    	add    $0xfffffa00,%edx
489e5c:	dd 55 e0             	fstl   -0x20(%ebp)
489e5f:	d9 ee                	fldz
489e61:	81 fa ce fb ff ff    	cmp    $0xfffffbce,%edx
489e67:	7d 0a                	jge    0x489e73
489e69:	33 c0                	xor    %eax,%eax
489e6b:	de c9                	fmulp  %st,%st(1)
489e6d:	40                   	inc    %eax
489e6e:	e9 fa 00 00 00       	jmp    0x489f6d
489e73:	de d9                	fcompp
489e75:	df e0                	fnstsw %ax
489e77:	f6 c4 41             	test   $0x41,%ah
489e7a:	75 0d                	jne    0x489e89
489e7c:	c7 45 f4 01 00 00 00 	movl   $0x1,-0xc(%ebp)
489e83:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
489e87:	eb 09                	jmp    0x489e92
489e89:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
489e8d:	32 c0                	xor    %al,%al
489e8f:	88 45 ff             	mov    %al,-0x1(%ebp)
489e92:	8b 45 e6             	mov    -0x1a(%ebp),%eax
489e95:	b9 03 fc ff ff       	mov    $0xfffffc03,%ecx
489e9a:	83 e0 0f             	and    $0xf,%eax
489e9d:	83 c8 10             	or     $0x10,%eax
489ea0:	66 89 45 e6          	mov    %ax,-0x1a(%ebp)
489ea4:	32 e4                	xor    %ah,%ah
489ea6:	32 c0                	xor    %al,%al
489ea8:	88 65 fd             	mov    %ah,-0x3(%ebp)
489eab:	88 45 fe             	mov    %al,-0x2(%ebp)
489eae:	3b d1                	cmp    %ecx,%edx
489eb0:	7d 49                	jge    0x489efb
489eb2:	89 7d f8             	mov    %edi,-0x8(%ebp)
489eb5:	2b ca                	sub    %edx,%ecx
489eb7:	8b 7d e0             	mov    -0x20(%ebp),%edi
489eba:	8b 5d f8             	mov    -0x8(%ebp),%ebx
489ebd:	8b d7                	mov    %edi,%edx
489ebf:	83 e2 01             	and    $0x1,%edx
489ec2:	74 05                	je     0x489ec9
489ec4:	85 db                	test   %ebx,%ebx
489ec6:	75 01                	jne    0x489ec9
489ec8:	43                   	inc    %ebx
489ec9:	84 c0                	test   %al,%al
489ecb:	74 02                	je     0x489ecf
489ecd:	b4 01                	mov    $0x1,%ah
489ecf:	d1 ef                	shr    $1,%edi
489ed1:	8a c2                	mov    %dl,%al
489ed3:	f6 45 e4 01          	testb  $0x1,-0x1c(%ebp)
489ed7:	89 7d e0             	mov    %edi,-0x20(%ebp)
489eda:	74 09                	je     0x489ee5
489edc:	81 cf 00 00 00 80    	or     $0x80000000,%edi
489ee2:	89 7d e0             	mov    %edi,-0x20(%ebp)
489ee5:	d1 6d e4             	shrl   $1,-0x1c(%ebp)
489ee8:	83 e9 01             	sub    $0x1,%ecx
489eeb:	75 d0                	jne    0x489ebd
489eed:	89 5d f8             	mov    %ebx,-0x8(%ebp)
489ef0:	8b 5d 08             	mov    0x8(%ebp),%ebx
489ef3:	88 65 fd             	mov    %ah,-0x3(%ebp)
489ef6:	88 45 fe             	mov    %al,-0x2(%ebp)
489ef9:	eb 03                	jmp    0x489efe
489efb:	8b 7d e0             	mov    -0x20(%ebp),%edi
489efe:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
489f02:	dd 45 e0             	fldl   -0x20(%ebp)
489f05:	74 0d                	je     0x489f14
489f07:	d9 e0                	fchs
489f09:	dd 55 f0             	fstl   -0x10(%ebp)
489f0c:	dd 55 e0             	fstl   -0x20(%ebp)
489f0f:	8b 7d e0             	mov    -0x20(%ebp),%edi
489f12:	eb 03                	jmp    0x489f17
489f14:	dd 55 f0             	fstl   -0x10(%ebp)
489f17:	84 c0                	test   %al,%al
489f19:	75 04                	jne    0x489f1f
489f1b:	84 e4                	test   %ah,%ah
489f1d:	74 4b                	je     0x489f6a
489f1f:	dd d8                	fstp   %st(0)
489f21:	e8 ae fa ff ff       	call   0x4899d4
489f26:	85 c0                	test   %eax,%eax
489f28:	74 1c                	je     0x489f46
489f2a:	3d 00 01 00 00       	cmp    $0x100,%eax
489f2f:	74 0e                	je     0x489f3f
489f31:	3d 00 02 00 00       	cmp    $0x200,%eax
489f36:	75 2f                	jne    0x489f67
489f38:	8a 45 ff             	mov    -0x1(%ebp),%al
489f3b:	34 01                	xor    $0x1,%al
489f3d:	eb 03                	jmp    0x489f42
489f3f:	8a 45 ff             	mov    -0x1(%ebp),%al
489f42:	84 c0                	test   %al,%al
489f44:	eb 10                	jmp    0x489f56
489f46:	80 7d fe 00          	cmpb   $0x0,-0x2(%ebp)
489f4a:	74 1b                	je     0x489f67
489f4c:	80 7d fd 00          	cmpb   $0x0,-0x3(%ebp)
489f50:	75 06                	jne    0x489f58
489f52:	f6 45 e0 01          	testb  $0x1,-0x20(%ebp)
489f56:	74 0f                	je     0x489f67
489f58:	83 c7 01             	add    $0x1,%edi
489f5b:	89 7d e0             	mov    %edi,-0x20(%ebp)
489f5e:	83 55 e4 00          	adcl   $0x0,-0x1c(%ebp)
489f62:	dd 45 e0             	fldl   -0x20(%ebp)
489f65:	eb 03                	jmp    0x489f6a
489f67:	dd 45 f0             	fldl   -0x10(%ebp)
489f6a:	8b 45 f8             	mov    -0x8(%ebp),%eax
489f6d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
489f70:	dd 19                	fstpl  (%ecx)
489f72:	85 c0                	test   %eax,%eax
489f74:	74 0c                	je     0x489f82
489f76:	eb 02                	jmp    0x489f7a
489f78:	dd d8                	fstp   %st(0)
489f7a:	6a 10                	push   $0x10
489f7c:	e8 d3 04 00 00       	call   0x48a454
489f81:	59                   	pop    %ecx
489f82:	83 e6 fd             	and    $0xfffffffd,%esi
489f85:	5f                   	pop    %edi
489f86:	f6 c3 10             	test   $0x10,%bl
489f89:	74 11                	je     0x489f9c
489f8b:	f6 45 10 20          	testb  $0x20,0x10(%ebp)
489f8f:	74 0b                	je     0x489f9c
489f91:	6a 20                	push   $0x20
489f93:	e8 bc 04 00 00       	call   0x48a454
489f98:	59                   	pop    %ecx
489f99:	83 e6 ef             	and    $0xffffffef,%esi
489f9c:	33 c0                	xor    %eax,%eax
489f9e:	85 f6                	test   %esi,%esi
489fa0:	5e                   	pop    %esi
489fa1:	0f 94 c0             	sete   %al
489fa4:	5b                   	pop    %ebx
489fa5:	c9                   	leave
489fa6:	c3                   	ret
489fa7:	8b ff                	mov    %edi,%edi
489fa9:	55                   	push   %ebp
489faa:	8b ec                	mov    %esp,%ebp
489fac:	dd 45 08             	fldl   0x8(%ebp)
489faf:	dc 45 10             	faddl  0x10(%ebp)
489fb2:	5d                   	pop    %ebp
489fb3:	c3                   	ret
489fb4:	8b ff                	mov    %edi,%edi
489fb6:	55                   	push   %ebp
489fb7:	8b ec                	mov    %esp,%ebp
489fb9:	6a 00                	push   $0x0
489fbb:	ff 75 1c             	push   0x1c(%ebp)
489fbe:	ff 75 18             	push   0x18(%ebp)
489fc1:	ff 75 14             	push   0x14(%ebp)
489fc4:	ff 75 10             	push   0x10(%ebp)
489fc7:	ff 75 0c             	push   0xc(%ebp)
489fca:	ff 75 08             	push   0x8(%ebp)
489fcd:	e8 05 00 00 00       	call   0x489fd7
489fd2:	83 c4 1c             	add    $0x1c,%esp
489fd5:	5d                   	pop    %ebp
489fd6:	c3                   	ret
489fd7:	8b ff                	mov    %edi,%edi
489fd9:	55                   	push   %ebp
489fda:	8b ec                	mov    %esp,%ebp
489fdc:	8b 45 08             	mov    0x8(%ebp),%eax
489fdf:	33 c9                	xor    %ecx,%ecx
489fe1:	53                   	push   %ebx