489a98:	83 c4 0c             	add    $0xc,%esp
489a9b:	c1 ee 04             	shr    $0x4,%esi
489a9e:	81 e6 ff 07 00 00    	and    $0x7ff,%esi
489aa4:	81 ee fe 03 00 00    	sub    $0x3fe,%esi
489aaa:	5f                   	pop    %edi
489aab:	8b 45 10             	mov    0x10(%ebp),%eax
489aae:	89 30                	mov    %esi,(%eax)
489ab0:	5e                   	pop    %esi
489ab1:	5d                   	pop    %ebp
489ab2:	c3                   	ret
489ab3:	8b ff                	mov    %edi,%edi
489ab5:	55                   	push   %ebp
489ab6:	8b ec                	mov    %esp,%ebp
489ab8:	51                   	push   %ecx
489ab9:	51                   	push   %ecx
489aba:	8b 4d 10             	mov    0x10(%ebp),%ecx
489abd:	0f b7 45 0e          	movzwl 0xe(%ebp),%eax
489ac1:	dd 45 08             	fldl   0x8(%ebp)
489ac4:	25 0f 80 00 00       	and    $0x800f,%eax
489ac9:	dd 5d f8             	fstpl  -0x8(%ebp)
489acc:	8d 89 fe 03 00 00    	lea    0x3fe(%ecx),%ecx
489ad2:	c1 e1 04             	shl    $0x4,%ecx
489ad5:	0b c8                	or     %eax,%ecx
489ad7:	66 89 4d fe          	mov    %cx,-0x2(%ebp)
489adb:	dd 45 f8             	fldl   -0x8(%ebp)
489ade:	c9                   	leave
489adf:	c3                   	ret
489ae0:	8b ff                	mov    %edi,%edi
489ae2:	55                   	push   %ebp
489ae3:	8b ec                	mov    %esp,%ebp
489ae5:	81 7d 0c 00 00 f0 7f 	cmpl   $0x7ff00000,0xc(%ebp)
489aec:	8b 45 08             	mov    0x8(%ebp),%eax
489aef:	75 07                	jne    0x489af8
489af1:	85 c0                	test   %eax,%eax
489af3:	75 15                	jne    0x489b0a
489af5:	40                   	inc    %eax
489af6:	5d                   	pop    %ebp
489af7:	c3                   	ret
489af8:	81 7d 0c 00 00 f0 ff 	cmpl   $0xfff00000,0xc(%ebp)
489aff:	75 09                	jne    0x489b0a
489b01:	85 c0                	test   %eax,%eax
489b03:	75 05                	jne    0x489b0a
489b05:	6a 02                	push   $0x2
489b07:	58                   	pop    %eax
489b08:	5d                   	pop    %ebp
489b09:	c3                   	ret
489b0a:	66 8b 4d 0e          	mov    0xe(%ebp),%cx
489b0e:	ba f8 7f 00 00       	mov    $0x7ff8,%edx
489b13:	66 23 ca             	and    %dx,%cx
489b16:	66 3b ca             	cmp    %dx,%cx
489b19:	75 04                	jne    0x489b1f
489b1b:	6a 03                	push   $0x3
489b1d:	eb e8                	jmp    0x489b07
489b1f:	ba f0 7f 00 00       	mov    $0x7ff0,%edx
489b24:	66 3b ca             	cmp    %dx,%cx
489b27:	75 16                	jne    0x489b3f
489b29:	f7 45 0c ff ff 07 00 	testl  $0x7ffff,0xc(%ebp)
489b30:	75 09                	jne    0x489b3b
489b32:	f7 d8                	neg    %eax
489b34:	1b c0                	sbb    %eax,%eax
489b36:	83 e0 04             	and    $0x4,%eax
489b39:	5d                   	pop    %ebp
489b3a:	c3                   	ret
489b3b:	6a 04                	push   $0x4
489b3d:	eb c8                	jmp    0x489b07
489b3f:	33 c0                	xor    %eax,%eax
489b41:	5d                   	pop    %ebp
489b42:	c3                   	ret
489b43:	8b ff                	mov    %edi,%edi
489b45:	55                   	push   %ebp
489b46:	8b ec                	mov    %esp,%ebp
489b48:	8b 45 08             	mov    0x8(%ebp),%eax
489b4b:	a8 20                	test   $0x20,%al
489b4d:	74 04                	je     0x489b53
489b4f:	6a 05                	push   $0x5
489b51:	eb 17                	jmp    0x489b6a
489b53:	a8 08                	test   $0x8,%al
489b55:	74 05                	je     0x489b5c
489b57:	33 c0                	xor    %eax,%eax
489b59:	40                   	inc    %eax
489b5a:	5d                   	pop    %ebp
489b5b:	c3                   	ret
489b5c:	a8 04                	test   $0x4,%al
489b5e:	74 04                	je     0x489b64
489b60:	6a 02                	push   $0x2
489b62:	eb 06                	jmp    0x489b6a
489b64:	a8 01                	test   $0x1,%al
489b66:	74 05                	je     0x489b6d
489b68:	6a 03                	push   $0x3
489b6a:	58                   	pop    %eax
489b6b:	5d                   	pop    %ebp
489b6c:	c3                   	ret
489b6d:	0f b6 c0             	movzbl %al,%eax
489b70:	83 e0 02             	and    $0x2,%eax
489b73:	03 c0                	add    %eax,%eax
489b75:	5d                   	pop    %ebp
489b76:	c3                   	ret
489b77:	8b ff                	mov    %edi,%edi
489b79:	53                   	push   %ebx
489b7a:	8b dc                	mov    %esp,%ebx
489b7c:	51                   	push   %ecx
489b7d:	51                   	push   %ecx
489b7e:	83 e4 f0             	and    $0xfffffff0,%esp
489b81:	83 c4 04             	add    $0x4,%esp
489b84:	55                   	push   %ebp
489b85:	8b 6b 04             	mov    0x4(%ebx),%ebp
489b88:	89 6c 24 04          	mov    %ebp,0x4(%esp)
489b8c:	8b ec                	mov    %esp,%ebp
489b8e:	81 ec 88 00 00 00    	sub    $0x88,%esp
489b94:	a1 14 40 4c 00       	mov    0x4c4014,%eax
489b99:	33 c5                	xor    %ebp,%eax
489b9b:	89 45 fc             	mov    %eax,-0x4(%ebp)
489b9e:	56                   	push   %esi
489b9f:	8b 73 20             	mov    0x20(%ebx),%esi
489ba2:	8d 43 18             	lea    0x18(%ebx),%eax
489ba5:	57                   	push   %edi
489ba6:	56                   	push   %esi
489ba7:	50                   	push   %eax
489ba8:	ff 73 08             	push   0x8(%ebx)
489bab:	e8 77 01 00 00       	call   0x489d27
489bb0:	83 c4 0c             	add    $0xc,%esp
489bb3:	85 c0                	test   %eax,%eax
489bb5:	75 26                	jne    0x489bdd
489bb7:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
489bbb:	50                   	push   %eax
489bbc:	8d 43 18             	lea    0x18(%ebx),%eax
489bbf:	50                   	push   %eax
489bc0:	8d 43 10             	lea    0x10(%ebx),%eax
489bc3:	50                   	push   %eax
489bc4:	ff 73 0c             	push   0xc(%ebx)
489bc7:	8d 43 20             	lea    0x20(%ebx),%eax
489bca:	ff 73 08             	push   0x8(%ebx)
489bcd:	50                   	push   %eax
489bce:	8d 45 80             	lea    -0x80(%ebp),%eax
489bd1:	50                   	push   %eax
489bd2:	e8 00 04 00 00       	call   0x489fd7
489bd7:	8b 73 20             	mov    0x20(%ebx),%esi
489bda:	83 c4 1c             	add    $0x1c,%esp
489bdd:	ff 73 08             	push   0x8(%ebx)
489be0:	e8 5e ff ff ff       	call   0x489b43
489be5:	59                   	pop    %ecx
489be6:	8b f8                	mov    %eax,%edi
489be8:	e8 58 92 ff ff       	call   0x482e45
489bed:	84 c0                	test   %al,%al
489bef:	74 29                	je     0x489c1a
489bf1:	85 ff                	test   %edi,%edi
489bf3:	74 25                	je     0x489c1a
489bf5:	dd 43 18             	fldl   0x18(%ebx)
489bf8:	56                   	push   %esi
489bf9:	83 ec 18             	sub    $0x18,%esp
489bfc:	dd 5c 24 10          	fstpl  0x10(%esp)
489c00:	d9 ee                	fldz
489c02:	dd 5c 24 08          	fstpl  0x8(%esp)
489c06:	dd 43 10             	fldl   0x10(%ebx)
489c09:	dd 1c 24             	fstpl  (%esp)
489c0c:	ff 73 0c             	push   0xc(%ebx)
489c0f:	57                   	push   %edi
489c10:	e8 e4 06 00 00       	call   0x48a2f9
489c15:	83 c4 24             	add    $0x24,%esp
489c18:	eb 18                	jmp    0x489c32
489c1a:	57                   	push   %edi
489c1b:	e8 a8 06 00 00       	call   0x48a2c8
489c20:	c7 04 24 ff ff 00 00 	movl   $0xffff,(%esp)
489c27:	56                   	push   %esi
489c28:	e8 fd 07 00 00       	call   0x48a42a
489c2d:	dd 43 18             	fldl   0x18(%ebx)
489c30:	59                   	pop    %ecx
489c31:	59                   	pop    %ecx
489c32:	8b 4d fc             	mov    -0x4(%ebp),%ecx
489c35:	5f                   	pop    %edi
489c36:	33 cd                	xor    %ebp,%ecx
489c38:	5e                   	pop    %esi
489c39:	e8 8c fd fd ff       	call   0x4699ca
489c3e:	8b e5                	mov    %ebp,%esp
489c40:	5d                   	pop    %ebp
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