468a99:	8b c1                	mov    %ecx,%eax
468a9b:	25 ad 58 3a ff       	and    $0xff3a58ad,%eax
468aa0:	c1 e0 07             	shl    $0x7,%eax
468aa3:	33 c8                	xor    %eax,%ecx
468aa5:	8b c1                	mov    %ecx,%eax
468aa7:	25 8c df ff ff       	and    $0xffffdf8c,%eax
468aac:	c1 e0 0f             	shl    $0xf,%eax
468aaf:	33 c8                	xor    %eax,%ecx
468ab1:	8b c1                	mov    %ecx,%eax
468ab3:	c1 e8 12             	shr    $0x12,%eax
468ab6:	33 c1                	xor    %ecx,%eax
468ab8:	89 45 fc             	mov    %eax,-0x4(%ebp)
468abb:	db 45 fc             	fildl  -0x4(%ebp)
468abe:	79 06                	jns    0x468ac6
468ac0:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
468ac6:	dd 5d f8             	fstpl  -0x8(%ebp)
468ac9:	dd 45 f8             	fldl   -0x8(%ebp)
468acc:	dc 0d a0 ba 4b 00    	fmull  0x4bbaa0
468ad2:	8b e5                	mov    %ebp,%esp
468ad4:	5d                   	pop    %ebp
468ad5:	c3                   	ret
468ad6:	56                   	push   %esi
468ad7:	33 f6                	xor    %esi,%esi
468ad9:	89 0d 30 75 4c 00    	mov    %ecx,0x4c7530
468adf:	46                   	inc    %esi
468ae0:	b9 30 75 4c 00       	mov    $0x4c7530,%ecx
468ae5:	8b d6                	mov    %esi,%edx
468ae7:	8b 01                	mov    (%ecx),%eax
468ae9:	c1 e8 1e             	shr    $0x1e,%eax
468aec:	33 01                	xor    (%ecx),%eax
468aee:	69 c0 65 89 07 6c    	imul   $0x6c078965,%eax,%eax
468af4:	03 c2                	add    %edx,%eax
468af6:	42                   	inc    %edx
468af7:	89 41 04             	mov    %eax,0x4(%ecx)
468afa:	83 c1 04             	add    $0x4,%ecx
468afd:	81 f9 ec 7e 4c 00    	cmp    $0x4c7eec,%ecx
468b03:	7c e2                	jl     0x468ae7
468b05:	89 35 90 41 4c 00    	mov    %esi,0x4c4190
468b0b:	89 35 18 75 4c 00    	mov    %esi,0x4c7518
468b11:	5e                   	pop    %esi
468b12:	c3                   	ret
468b13:	83 3d 18 75 4c 00 00 	cmpl   $0x0,0x4c7518
468b1a:	56                   	push   %esi
468b1b:	57                   	push   %edi
468b1c:	be 30 75 4c 00       	mov    $0x4c7530,%esi
468b21:	75 0f                	jne    0x468b32
468b23:	6a 00                	push   $0x0
468b25:	e8 10 c9 fb ff       	call   0x42543a
468b2a:	59                   	pop    %ecx
468b2b:	8b c8                	mov    %eax,%ecx
468b2d:	e8 a4 ff ff ff       	call   0x468ad6
468b32:	c7 05 90 41 4c 00 70 	movl   $0x270,0x4c4190
468b39:	02 00 00
468b3c:	bf e3 00 00 00       	mov    $0xe3,%edi
468b41:	89 35 f0 7e 4c 00    	mov    %esi,0x4c7ef0
468b47:	8d 56 04             	lea    0x4(%esi),%edx
468b4a:	8a 02                	mov    (%edx),%al
468b4c:	24 01                	and    $0x1,%al
468b4e:	0f b6 c8             	movzbl %al,%ecx
468b51:	8b 06                	mov    (%esi),%eax
468b53:	f7 d9                	neg    %ecx
468b55:	1b c9                	sbb    %ecx,%ecx
468b57:	33 02                	xor    (%edx),%eax
468b59:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
468b5e:	81 e1 df b0 08 99    	and    $0x9908b0df,%ecx
468b64:	33 06                	xor    (%esi),%eax
468b66:	d1 e8                	shr    $1,%eax
468b68:	33 86 34 06 00 00    	xor    0x634(%esi),%eax
468b6e:	33 c1                	xor    %ecx,%eax
468b70:	89 06                	mov    %eax,(%esi)
468b72:	8b f2                	mov    %edx,%esi
468b74:	4f                   	dec    %edi
468b75:	75 d0                	jne    0x468b47
468b77:	bf 8c 01 00 00       	mov    $0x18c,%edi
468b7c:	8d 56 04             	lea    0x4(%esi),%edx
468b7f:	8a 02                	mov    (%edx),%al
468b81:	24 01                	and    $0x1,%al
468b83:	0f b6 c8             	movzbl %al,%ecx
468b86:	8b 06                	mov    (%esi),%eax
468b88:	f7 d9                	neg    %ecx
468b8a:	1b c9                	sbb    %ecx,%ecx
468b8c:	33 02                	xor    (%edx),%eax
468b8e:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
468b93:	81 e1 df b0 08 99    	and    $0x9908b0df,%ecx
468b99:	33 06                	xor    (%esi),%eax
468b9b:	d1 e8                	shr    $1,%eax
468b9d:	33 86 74 fc ff ff    	xor    -0x38c(%esi),%eax
468ba3:	33 c1                	xor    %ecx,%eax
468ba5:	89 06                	mov    %eax,(%esi)
468ba7:	8d 32                	lea    (%edx),%esi
468ba9:	4f                   	dec    %edi
468baa:	75 d0                	jne    0x468b7c
468bac:	8b 0d 30 75 4c 00    	mov    0x4c7530,%ecx
468bb2:	8a c1                	mov    %cl,%al
468bb4:	24 01                	and    $0x1,%al
468bb6:	0f b6 d0             	movzbl %al,%edx
468bb9:	8b 06                	mov    (%esi),%eax
468bbb:	f7 da                	neg    %edx
468bbd:	5f                   	pop    %edi
468bbe:	1b d2                	sbb    %edx,%edx
468bc0:	33 c1                	xor    %ecx,%eax
468bc2:	25 fe ff ff 7f       	and    $0x7ffffffe,%eax
468bc7:	81 e2 df b0 08 99    	and    $0x9908b0df,%edx
468bcd:	33 06                	xor    (%esi),%eax
468bcf:	d1 e8                	shr    $1,%eax
468bd1:	33 86 74 fc ff ff    	xor    -0x38c(%esi),%eax
468bd7:	33 c2                	xor    %edx,%eax
468bd9:	89 06                	mov    %eax,(%esi)
468bdb:	5e                   	pop    %esi
468bdc:	c3                   	ret
468bdd:	55                   	push   %ebp
468bde:	8b ec                	mov    %esp,%ebp
468be0:	51                   	push   %ecx
468be1:	57                   	push   %edi
468be2:	8b 7d 0c             	mov    0xc(%ebp),%edi
468be5:	89 4d fc             	mov    %ecx,-0x4(%ebp)
468be8:	85 ff                	test   %edi,%edi
468bea:	74 40                	je     0x468c2c
468bec:	53                   	push   %ebx
468bed:	0f b7 19             	movzwl (%ecx),%ebx
468bf0:	56                   	push   %esi
468bf1:	0f b7 71 02          	movzwl 0x2(%ecx),%esi
468bf5:	7e 2c                	jle    0x468c23
468bf7:	33 c9                	xor    %ecx,%ecx
468bf9:	8b 45 08             	mov    0x8(%ebp),%eax
468bfc:	33 d2                	xor    %edx,%edx
468bfe:	0f b6 04 01          	movzbl (%ecx,%eax,1),%eax
468c02:	03 c3                	add    %ebx,%eax
468c04:	bb f1 ff 00 00       	mov    $0xfff1,%ebx
468c09:	f7 f3                	div    %ebx
468c0b:	8b da                	mov    %edx,%ebx
468c0d:	33 d2                	xor    %edx,%edx
468c0f:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
468c12:	be f1 ff 00 00       	mov    $0xfff1,%esi
468c17:	f7 f6                	div    %esi
468c19:	41                   	inc    %ecx
468c1a:	8b f2                	mov    %edx,%esi
468c1c:	3b cf                	cmp    %edi,%ecx
468c1e:	7c d9                	jl     0x468bf9
468c20:	8b 4d fc             	mov    -0x4(%ebp),%ecx
468c23:	c1 e6 10             	shl    $0x10,%esi
468c26:	03 f3                	add    %ebx,%esi
468c28:	89 31                	mov    %esi,(%ecx)
468c2a:	5e                   	pop    %esi
468c2b:	5b                   	pop    %ebx
468c2c:	5f                   	pop    %edi
468c2d:	8b e5                	mov    %ebp,%esp
468c2f:	5d                   	pop    %ebp
468c30:	c2 08 00             	ret    $0x8
468c33:	53                   	push   %ebx
468c34:	56                   	push   %esi
468c35:	57                   	push   %edi
468c36:	68 00 00 02 00       	push   $0x20000
468c3b:	8b f9                	mov    %ecx,%edi
468c3d:	e8 0a cd fb ff       	call   0x42594c
468c42:	8b f0                	mov    %eax,%esi
468c44:	c7 04 24 00 00 01 00 	movl   $0x10000,(%esp)
468c4b:	89 b7 34 04 00 00    	mov    %esi,0x434(%edi)
468c51:	e8 f6 cc fb ff       	call   0x42594c
468c56:	8b d8                	mov    %eax,%ebx
468c58:	c7 04 24 00 00 01 00 	movl   $0x10000,(%esp)
468c5f:	89 9f 58 04 00 00    	mov    %ebx,0x458(%edi)
468c65:	e8 e2 cc fb ff       	call   0x42594c
468c6a:	89 87 54 04 00 00    	mov    %eax,0x454(%edi)
468c70:	59                   	pop    %ecx
468c71:	85 f6                	test   %esi,%esi
468c73:	74 0c                	je     0x468c81
468c75:	85 db                	test   %ebx,%ebx
468c77:	74 08                	je     0x468c81
468c79:	85 c0                	test   %eax,%eax
468c7b:	74 04                	je     0x468c81
468c7d:	33 c0                	xor    %eax,%eax
468c7f:	eb 0a                	jmp    0x468c8b
468c81:	8b cf                	mov    %edi,%ecx
468c83:	e8 0f 03 00 00       	call   0x468f97
468c88:	6a 05                	push   $0x5
468c8a:	58                   	pop    %eax
468c8b:	5f                   	pop    %edi
468c8c:	5e                   	pop    %esi
468c8d:	5b                   	pop    %ebx
468c8e:	c3                   	ret
468c8f:	55                   	push   %ebp
468c90:	8b ec                	mov    %esp,%ebp
468c92:	56                   	push   %esi
468c93:	8b f1                	mov    %ecx,%esi
468c95:	33 c0                	xor    %eax,%eax
468c97:	57                   	push   %edi
468c98:	8b 7d 08             	mov    0x8(%ebp),%edi
468c9b:	66 89 86 4a 04 00 00 	mov    %ax,0x44a(%esi)
468ca2:	4f                   	dec    %edi
468ca3:	83 be 4c 04 00 00 00 	cmpl   $0x0,0x44c(%esi)
468caa:	75 60                	jne    0x468d0c
468cac:	83 7e 14 01          	cmpl   $0x1,0x14(%esi)
468cb0:	75 29                	jne    0x468cdb
468cb2:	8b 4e 0c             	mov    0xc(%esi),%ecx
468cb5:	8b 56 04             	mov    0x4(%esi),%edx
468cb8:	0f b6 04 0a          	movzbl (%edx,%ecx,1),%eax
468cbc:	c1 e0 08             	shl    $0x8,%eax
468cbf:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
468cc5:	41                   	inc    %ecx
468cc6:	89 4e 0c             	mov    %ecx,0xc(%esi)
468cc9:	0f b6 04 11          	movzbl (%ecx,%edx,1),%eax
468ccd:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
468cd3:	8d 41 01             	lea    0x1(%ecx),%eax
468cd6:	89 46 0c             	mov    %eax,0xc(%esi)
468cd9:	eb 27                	jmp    0x468d02
468cdb:	8b ce                	mov    %esi,%ecx
468cdd:	e8 47 04 00 00       	call   0x469129
468ce2:	0f b6 c0             	movzbl %al,%eax
468ce5:	8b ce                	mov    %esi,%ecx
468ce7:	c1 e0 08             	shl    $0x8,%eax
468cea:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
468cf0:	e8 34 04 00 00       	call   0x469129
468cf5:	0f b6 c0             	movzbl %al,%eax
468cf8:	09 86 48 04 00 00    	or     %eax,0x448(%esi)
468cfe:	83 46 0c 02          	addl   $0x2,0xc(%esi)
468d02:	c7 86 4c 04 00 00 10 	movl   $0x10,0x44c(%esi)
468d09:	00 00 00
468d0c:	d1 a6 48 04 00 00    	shll   $1,0x448(%esi)
468d12:	ff 8e 4c 04 00 00    	decl   0x44c(%esi)
468d18:	8b 86 48 04 00 00    	mov    0x448(%esi),%eax
468d1e:	85 ff                	test   %edi,%edi
468d20:	75 80                	jne    0x468ca2
468d22:	5f                   	pop    %edi
468d23:	c1 e8 10             	shr    $0x10,%eax
468d26:	5e                   	pop    %esi
468d27:	5d                   	pop    %ebp
468d28:	c2 04 00             	ret    $0x4
468d2b:	56                   	push   %esi
468d2c:	57                   	push   %edi
468d2d:	6a 02                	push   $0x2
468d2f:	8b f9                	mov    %ecx,%edi
468d31:	33 f6                	xor    %esi,%esi
468d33:	e8 57 ff ff ff       	call   0x468c8f
468d38:	83 f8 03             	cmp    $0x3,%eax
468d3b:	75 4b                	jne    0x468d88
468d3d:	50                   	push   %eax
468d3e:	5e                   	pop    %esi
468d3f:	50                   	push   %eax
468d40:	8b cf                	mov    %edi,%ecx
468d42:	e8 48 ff ff ff       	call   0x468c8f
468d47:	83 f8 07             	cmp    $0x7,%eax
468d4a:	75 3c                	jne    0x468d88
468d4c:	6a 0a                	push   $0xa
468d4e:	5e                   	pop    %esi
468d4f:	6a 05                	push   $0x5
468d51:	8b cf                	mov    %edi,%ecx
468d53:	e8 37 ff ff ff       	call   0x468c8f
468d58:	83 f8 1f             	cmp    $0x1f,%eax
468d5b:	75 2b                	jne    0x468d88
468d5d:	53                   	push   %ebx
468d5e:	6a 29                	push   $0x29
468d60:	5e                   	pop    %esi
468d61:	6a 08                	push   $0x8
468d63:	8b cf                	mov    %edi,%ecx
468d65:	e8 25 ff ff ff       	call   0x468c8f
468d6a:	bb ff 00 00 00       	mov    $0xff,%ebx
468d6f:	3b c3                	cmp    %ebx,%eax
468d71:	75 14                	jne    0x468d87
468d73:	8d 73 29             	lea    0x29(%ebx),%esi
468d76:	eb 02                	jmp    0x468d7a
468d78:	03 f3                	add    %ebx,%esi
468d7a:	6a 08                	push   $0x8
468d7c:	8b cf                	mov    %edi,%ecx
468d7e:	e8 0c ff ff ff       	call   0x468c8f
468d83:	3b c3                	cmp    %ebx,%eax
468d85:	74 f1                	je     0x468d78
468d87:	5b                   	pop    %ebx
468d88:	83 c6 03             	add    $0x3,%esi
468d8b:	5f                   	pop    %edi
468d8c:	03 c6                	add    %esi,%eax
468d8e:	5e                   	pop    %esi
468d8f:	c3                   	ret
468d90:	53                   	push   %ebx
468d91:	56                   	push   %esi
468d92:	8b f1                	mov    %ecx,%esi
468d94:	33 db                	xor    %ebx,%ebx
468d96:	39 5e 14             	cmp    %ebx,0x14(%esi)
468d99:	75 1f                	jne    0x468dba
468d9b:	8d 46 24             	lea    0x24(%esi),%eax
468d9e:	68 24 fb 48 00       	push   $0x48fb24
468da3:	50                   	push   %eax
468da4:	e8 e2 c6 fb ff       	call   0x42548b
468da9:	89 46 1c             	mov    %eax,0x1c(%esi)
468dac:	59                   	pop    %ecx
468dad:	59                   	pop    %ecx
468dae:	85 c0                	test   %eax,%eax
468db0:	75 0b                	jne    0x468dbd
468db2:	6a 02                	push   $0x2
468db4:	58                   	pop    %eax
468db5:	e9 f8 00 00 00       	jmp    0x468eb2
468dba:	89 5e 1c             	mov    %ebx,0x1c(%esi)
468dbd:	39 5e 18             	cmp    %ebx,0x18(%esi)
468dc0:	75 2c                	jne    0x468dee
468dc2:	8d 86 2c 02 00 00    	lea    0x22c(%esi),%eax
468dc8:	68 e4 a4 4b 00       	push   $0x4ba4e4
468dcd:	50                   	push   %eax
468dce:	e8 b8 c6 fb ff       	call   0x42548b
468dd3:	89 46 20             	mov    %eax,0x20(%esi)
468dd6:	59                   	pop    %ecx
468dd7:	59                   	pop    %ecx
468dd8:	85 c0                	test   %eax,%eax
468dda:	75 15                	jne    0x468df1
468ddc:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
468ddf:	74 09                	je     0x468dea
468de1:	ff 76 1c             	push   0x1c(%esi)
468de4:	e8 ed c7 fb ff       	call   0x4255d6
468de9:	59                   	pop    %ecx
468dea:	6a 03                	push   $0x3
468dec:	eb c6                	jmp    0x468db4
468dee:	89 5e 20             	mov    %ebx,0x20(%esi)
468df1:	8d 46 10             	lea    0x10(%esi),%eax
468df4:	89 5e 0c             	mov    %ebx,0xc(%esi)
468df7:	50                   	push   %eax
468df8:	8b ce                	mov    %esi,%ecx
468dfa:	89 5e 08             	mov    %ebx,0x8(%esi)
468dfd:	89 9e 38 04 00 00    	mov    %ebx,0x438(%esi)
468e03:	89 9e 3c 04 00 00    	mov    %ebx,0x43c(%esi)
468e09:	89 9e 40 04 00 00    	mov    %ebx,0x440(%esi)
468e0f:	89 9e 48 04 00 00    	mov    %ebx,0x448(%esi)
468e15:	89 9e 4c 04 00 00    	mov    %ebx,0x44c(%esi)
468e1b:	88 9e 44 04 00 00    	mov    %bl,0x444(%esi)
468e21:	89 9e 5c 04 00 00    	mov    %ebx,0x45c(%esi)
468e27:	89 9e 60 04 00 00    	mov    %ebx,0x460(%esi)
468e2d:	e8 e9 01 00 00       	call   0x46901b
468e32:	85 c0                	test   %eax,%eax
468e34:	74 21                	je     0x468e57
468e36:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
468e39:	74 09                	je     0x468e44
468e3b:	ff 76 1c             	push   0x1c(%esi)
468e3e:	e8 93 c7 fb ff       	call   0x4255d6
468e43:	59                   	pop    %ecx
468e44:	39 5e 20             	cmp    %ebx,0x20(%esi)
468e47:	74 09                	je     0x468e52
468e49:	ff 76 20             	push   0x20(%esi)
468e4c:	e8 85 c7 fb ff       	call   0x4255d6
468e51:	59                   	pop    %ecx
468e52:	33 c0                	xor    %eax,%eax
468e54:	40                   	inc    %eax
468e55:	eb 5b                	jmp    0x468eb2
468e57:	57                   	push   %edi
468e58:	8b ce                	mov    %esi,%ecx
468e5a:	e8 d4 fd ff ff       	call   0x468c33
468e5f:	8b f8                	mov    %eax,%edi
468e61:	85 ff                	test   %edi,%edi
468e63:	74 20                	je     0x468e85
468e65:	39 5e 1c             	cmp    %ebx,0x1c(%esi)
468e68:	74 09                	je     0x468e73
468e6a:	ff 76 1c             	push   0x1c(%esi)
468e6d:	e8 64 c7 fb ff       	call   0x4255d6