428ac3:	5d                   	pop    %ebp
428ac4:	c3                   	ret
428ac5:	8d 40 00             	lea    0x0(%eax),%eax
428ac8:	55                   	push   %ebp
428ac9:	8b ec                	mov    %esp,%ebp
428acb:	81 c4 f8 fb ff ff    	add    $0xfffffbf8,%esp
428ad1:	53                   	push   %ebx
428ad2:	66 c7 85 f8 fb ff ff 	movw   $0x300,-0x408(%ebp)
428ad9:	00 03
428adb:	66 c7 85 fa fb ff ff 	movw   $0x10,-0x406(%ebp)
428ae2:	10 00
428ae4:	8d 95 fc fb ff ff    	lea    -0x404(%ebp),%edx
428aea:	b9 40 00 00 00       	mov    $0x40,%ecx
428aef:	e8 80 9e fd ff       	call   0x402974
428af4:	6a 00                	push   $0x0
428af6:	e8 cd e1 fd ff       	call   0x406cc8
428afb:	89 45 fc             	mov    %eax,-0x4(%ebp)
428afe:	33 c0                	xor    %eax,%eax
428b00:	55                   	push   %ebp
428b01:	68 c5 8b 42 00       	push   $0x428bc5
428b06:	64 ff 30             	push   %fs:(%eax)
428b09:	64 89 20             	mov    %esp,%fs:(%eax)
428b0c:	6a 68                	push   $0x68
428b0e:	8b 45 fc             	mov    -0x4(%ebp),%eax
428b11:	50                   	push   %eax
428b12:	e8 29 df fd ff       	call   0x406a40
428b17:	8b d8                	mov    %eax,%ebx
428b19:	83 fb 10             	cmp    $0x10,%ebx
428b1c:	0f 8c 8a 00 00 00    	jl     0x428bac
428b22:	8d 85 fc fb ff ff    	lea    -0x404(%ebp),%eax
428b28:	50                   	push   %eax
428b29:	6a 08                	push   $0x8
428b2b:	6a 00                	push   $0x0
428b2d:	8b 45 fc             	mov    -0x4(%ebp),%eax
428b30:	50                   	push   %eax
428b31:	e8 32 df fd ff       	call   0x406a68
428b36:	81 bd 18 fc ff ff c0 	cmpl   $0xc0c0c0,-0x3e8(%ebp)
428b3d:	c0 c0 00
428b40:	75 4c                	jne    0x428b8e
428b42:	8d 85 18 fc ff ff    	lea    -0x3e8(%ebp),%eax
428b48:	50                   	push   %eax
428b49:	6a 01                	push   $0x1
428b4b:	8b c3                	mov    %ebx,%eax
428b4d:	83 e8 08             	sub    $0x8,%eax
428b50:	50                   	push   %eax
428b51:	8b 45 fc             	mov    -0x4(%ebp),%eax
428b54:	50                   	push   %eax
428b55:	e8 0e df fd ff       	call   0x406a68
428b5a:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
428b61:	8d 84 85 e0 fb ff ff 	lea    -0x420(%ebp,%eax,4),%eax
428b68:	50                   	push   %eax
428b69:	6a 07                	push   $0x7
428b6b:	83 eb 07             	sub    $0x7,%ebx
428b6e:	53                   	push   %ebx
428b6f:	8b 45 fc             	mov    -0x4(%ebp),%eax
428b72:	50                   	push   %eax
428b73:	e8 f0 de fd ff       	call   0x406a68
428b78:	8d 85 1c fc ff ff    	lea    -0x3e4(%ebp),%eax
428b7e:	50                   	push   %eax
428b7f:	6a 01                	push   $0x1
428b81:	6a 07                	push   $0x7
428b83:	8b 45 fc             	mov    -0x4(%ebp),%eax
428b86:	50                   	push   %eax
428b87:	e8 dc de fd ff       	call   0x406a68
428b8c:	eb 1e                	jmp    0x428bac
428b8e:	0f b7 85 fa fb ff ff 	movzwl -0x406(%ebp),%eax
428b95:	8d 84 85 dc fb ff ff 	lea    -0x424(%ebp,%eax,4),%eax
428b9c:	50                   	push   %eax
428b9d:	6a 08                	push   $0x8
428b9f:	83 eb 08             	sub    $0x8,%ebx
428ba2:	53                   	push   %ebx
428ba3:	8b 45 fc             	mov    -0x4(%ebp),%eax
428ba6:	50                   	push   %eax
428ba7:	e8 bc de fd ff       	call   0x406a68
428bac:	33 c0                	xor    %eax,%eax
428bae:	5a                   	pop    %edx
428baf:	59                   	pop    %ecx
428bb0:	59                   	pop    %ecx
428bb1:	64 89 10             	mov    %edx,%fs:(%eax)
428bb4:	68 cc 8b 42 00       	push   $0x428bcc
428bb9:	8b 45 fc             	mov    -0x4(%ebp),%eax
428bbc:	50                   	push   %eax
428bbd:	6a 00                	push   $0x0
428bbf:	e8 54 e3 fd ff       	call   0x406f18
428bc4:	c3                   	ret
428bc5:	e9 9e af fd ff       	jmp    0x403b68
428bca:	eb ed                	jmp    0x428bb9
428bcc:	8d 85 f8 fb ff ff    	lea    -0x408(%ebp),%eax
428bd2:	50                   	push   %eax
428bd3:	e8 00 de fd ff       	call   0x4069d8
428bd8:	5b                   	pop    %ebx
428bd9:	8b e5                	mov    %ebp,%esp
428bdb:	5d                   	pop    %ebp
428bdc:	c3                   	ret
428bdd:	8d 40 00             	lea    0x0(%eax),%eax
428be0:	55                   	push   %ebp
428be1:	8b ec                	mov    %esp,%ebp
428be3:	83 c4 f8             	add    $0xfffffff8,%esp
428be6:	53                   	push   %ebx
428be7:	8b d8                	mov    %eax,%ebx
428be9:	c6 45 ff 00          	movb   $0x0,-0x1(%ebp)
428bed:	83 3d 90 c8 49 00 00 	cmpl   $0x0,0x49c890
428bf4:	74 77                	je     0x428c6d
428bf6:	6a 00                	push   $0x0
428bf8:	e8 cb e0 fd ff       	call   0x406cc8
428bfd:	89 45 f8             	mov    %eax,-0x8(%ebp)
428c00:	33 d2                	xor    %edx,%edx
428c02:	55                   	push   %ebp
428c03:	68 66 8c 42 00       	push   $0x428c66
428c08:	64 ff 32             	push   %fs:(%edx)
428c0b:	64 89 22             	mov    %esp,%fs:(%edx)
428c0e:	6a 68                	push   $0x68
428c10:	8b 45 f8             	mov    -0x8(%ebp),%eax
428c13:	50                   	push   %eax
428c14:	e8 27 de fd ff       	call   0x406a40
428c19:	83 f8 10             	cmp    $0x10,%eax
428c1c:	7c 2f                	jl     0x428c4d
428c1e:	8d 43 04             	lea    0x4(%ebx),%eax
428c21:	50                   	push   %eax
428c22:	6a 08                	push   $0x8
428c24:	6a 00                	push   $0x0
428c26:	a1 90 c8 49 00       	mov    0x49c890,%eax
428c2b:	50                   	push   %eax
428c2c:	e8 1f de fd ff       	call   0x406a50
428c31:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
428c35:	8d 44 83 e4          	lea    -0x1c(%ebx,%eax,4),%eax
428c39:	50                   	push   %eax
428c3a:	6a 08                	push   $0x8
428c3c:	6a 08                	push   $0x8
428c3e:	a1 90 c8 49 00       	mov    0x49c890,%eax
428c43:	50                   	push   %eax
428c44:	e8 07 de fd ff       	call   0x406a50
428c49:	c6 45 ff 01          	movb   $0x1,-0x1(%ebp)
428c4d:	33 c0                	xor    %eax,%eax
428c4f:	5a                   	pop    %edx
428c50:	59                   	pop    %ecx
428c51:	59                   	pop    %ecx
428c52:	64 89 10             	mov    %edx,%fs:(%eax)
428c55:	68 6d 8c 42 00       	push   $0x428c6d
428c5a:	8b 45 f8             	mov    -0x8(%ebp),%eax
428c5d:	50                   	push   %eax
428c5e:	6a 00                	push   $0x0
428c60:	e8 b3 e2 fd ff       	call   0x406f18
428c65:	c3                   	ret
428c66:	e9 fd ae fd ff       	jmp    0x403b68
428c6b:	eb ed                	jmp    0x428c5a
428c6d:	8a 45 ff             	mov    -0x1(%ebp),%al
428c70:	5b                   	pop    %ebx
428c71:	59                   	pop    %ecx
428c72:	59                   	pop    %ecx
428c73:	5d                   	pop    %ebp
428c74:	c3                   	ret
428c75:	8d 40 00             	lea    0x0(%eax),%eax
428c78:	53                   	push   %ebx
428c79:	56                   	push   %esi
428c7a:	57                   	push   %edi
428c7b:	81 c4 fc fb ff ff    	add    $0xfffffbfc,%esp
428c81:	8b f8                	mov    %eax,%edi
428c83:	33 f6                	xor    %esi,%esi
428c85:	66 c7 04 24 00 03    	movw   $0x300,(%esp)
428c8b:	85 ff                	test   %edi,%edi
428c8d:	74 38                	je     0x428cc7
428c8f:	6a 00                	push   $0x0
428c91:	e8 1a dd fd ff       	call   0x4069b0
428c96:	8b d8                	mov    %eax,%ebx
428c98:	57                   	push   %edi
428c99:	53                   	push   %ebx
428c9a:	e8 39 de fd ff       	call   0x406ad8
428c9f:	8b f8                	mov    %eax,%edi
428ca1:	8d 44 24 04          	lea    0x4(%esp),%eax
428ca5:	50                   	push   %eax
428ca6:	68 00 01 00 00       	push   $0x100
428cab:	6a 00                	push   $0x0
428cad:	53                   	push   %ebx
428cae:	e8 7d dd fd ff       	call   0x406a30
428cb3:	66 89 44 24 02       	mov    %ax,0x2(%esp)
428cb8:	57                   	push   %edi
428cb9:	53                   	push   %ebx
428cba:	e8 19 de fd ff       	call   0x406ad8
428cbf:	53                   	push   %ebx
428cc0:	e8 2b dd fd ff       	call   0x4069f0
428cc5:	eb 13                	jmp    0x428cda
428cc7:	66 89 4c 24 02       	mov    %cx,0x2(%esp)
428ccc:	8b c2                	mov    %edx,%eax
428cce:	8d 54 24 04          	lea    0x4(%esp),%edx
428cd2:	c1 e1 02             	shl    $0x2,%ecx
428cd5:	e8 9a 9c fd ff       	call   0x402974
428cda:	66 83 7c 24 02 00    	cmpw   $0x0,0x2(%esp)
428ce0:	74 2b                	je     0x428d0d
428ce2:	66 83 7c 24 02 10    	cmpw   $0x10,0x2(%esp)
428ce8:	75 0b                	jne    0x428cf5
428cea:	8b c4                	mov    %esp,%eax
428cec:	e8 ef fe ff ff       	call   0x428be0
428cf1:	84 c0                	test   %al,%al
428cf3:	75 0e                	jne    0x428d03
428cf5:	0f b7 54 24 02       	movzwl 0x2(%esp),%edx
428cfa:	8d 44 24 04          	lea    0x4(%esp),%eax
428cfe:	e8 6d fd ff ff       	call   0x428a70
428d03:	8b c4                	mov    %esp,%eax
428d05:	50                   	push   %eax
428d06:	e8 cd dc fd ff       	call   0x4069d8
428d0b:	8b f0                	mov    %eax,%esi
428d0d:	8b c6                	mov    %esi,%eax
428d0f:	81 c4 04 04 00 00    	add    $0x404,%esp
428d15:	5f                   	pop    %edi
428d16:	5e                   	pop    %esi
428d17:	5b                   	pop    %ebx
428d18:	c3                   	ret
428d19:	8d 40 00             	lea    0x0(%eax),%eax
428d1c:	53                   	push   %ebx
428d1d:	56                   	push   %esi
428d1e:	57                   	push   %edi
428d1f:	51                   	push   %ecx
428d20:	8b f9                	mov    %ecx,%edi
428d22:	8b f2                	mov    %edx,%esi
428d24:	8b d8                	mov    %eax,%ebx
428d26:	33 c0                	xor    %eax,%eax
428d28:	89 04 24             	mov    %eax,(%esp)
428d2b:	85 db                	test   %ebx,%ebx
428d2d:	74 36                	je     0x428d65
428d2f:	54                   	push   %esp
428d30:	6a 04                	push   $0x4
428d32:	53                   	push   %ebx
428d33:	e8 10 dd fd ff       	call   0x406a48
428d38:	85 c0                	test   %eax,%eax
428d3a:	74 29                	je     0x428d65
428d3c:	83 3c 24 00          	cmpl   $0x0,(%esp)
428d40:	74 23                	je     0x428d65
428d42:	8d 47 01             	lea    0x1(%edi),%eax
428d45:	3b 04 24             	cmp    (%esp),%eax
428d48:	7d 03                	jge    0x428d4d
428d4a:	89 04 24             	mov    %eax,(%esp)
428d4d:	56                   	push   %esi
428d4e:	8b 44 24 04          	mov    0x4(%esp),%eax
428d52:	50                   	push   %eax
428d53:	6a 00                	push   $0x0
428d55:	53                   	push   %ebx
428d56:	e8 f5 dc fd ff       	call   0x406a50
428d5b:	8b c6                	mov    %esi,%eax
428d5d:	8b 14 24             	mov    (%esp),%edx
428d60:	e8 0b fd ff ff       	call   0x428a70
428d65:	8b 04 24             	mov    (%esp),%eax
428d68:	5a                   	pop    %edx
428d69:	5f                   	pop    %edi
428d6a:	5e                   	pop    %esi
428d6b:	5b                   	pop    %ebx
428d6c:	c3                   	ret
428d6d:	8d 40 00             	lea    0x0(%eax),%eax
428d70:	55                   	push   %ebp
428d71:	8b ec                	mov    %esp,%ebp
428d73:	83 c4 ec             	add    $0xffffffec,%esp
428d76:	53                   	push   %ebx
428d77:	56                   	push   %esi
428d78:	57                   	push   %edi
428d79:	89 4d f8             	mov    %ecx,-0x8(%ebp)
428d7c:	8b da                	mov    %edx,%ebx
428d7e:	89 45 fc             	mov    %eax,-0x4(%ebp)
428d81:	8b 45 fc             	mov    -0x4(%ebp),%eax
428d84:	d1 68 08             	shrl   $1,0x8(%eax)
428d87:	8b 55 fc             	mov    -0x4(%ebp),%edx
428d8a:	0f b7 52 0e          	movzwl 0xe(%edx),%edx
428d8e:	8b 45 fc             	mov    -0x4(%ebp),%eax
428d91:	8b 40 04             	mov    0x4(%eax),%eax
428d94:	b9 20 00 00 00       	mov    $0x20,%ecx
428d99:	e8 7a f9 ff ff       	call   0x428718
428d9e:	8b 55 fc             	mov    -0x4(%ebp),%edx
428da1:	f7 6a 08             	imull  0x8(%edx)
428da4:	8b 55 fc             	mov    -0x4(%ebp),%edx
428da7:	89 42 14             	mov    %eax,0x14(%edx)
428daa:	8b 45 fc             	mov    -0x4(%ebp),%eax
428dad:	66 8b 40 0e          	mov    0xe(%eax),%ax
428db1:	e8 42 f9 ff ff       	call   0x4286f8
428db6:	8b f0                	mov    %eax,%esi
428db8:	6a 00                	push   $0x0
428dba:	e8 09 df fd ff       	call   0x406cc8
428dbf:	89 45 f0             	mov    %eax,-0x10(%ebp)
428dc2:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
428dc6:	75 05                	jne    0x428dcd
428dc8:	e8 bf f6 ff ff       	call   0x42848c
428dcd:	33 d2                	xor    %edx,%edx
428dcf:	55                   	push   %ebp
428dd0:	68 1c 8f 42 00       	push   $0x428f1c
428dd5:	64 ff 32             	push   %fs:(%edx)
428dd8:	64 89 22             	mov    %esp,%fs:(%edx)
428ddb:	8b 7d fc             	mov    -0x4(%ebp),%edi
428dde:	8b c7                	mov    %edi,%eax
428de0:	83 c0 28             	add    $0x28,%eax
428de3:	8b d6                	mov    %esi,%edx
428de5:	c1 e2 02             	shl    $0x2,%edx
428de8:	03 c2                	add    %edx,%eax
428dea:	89 45 ec             	mov    %eax,-0x14(%ebp)
428ded:	6a 00                	push   $0x0
428def:	8b 45 fc             	mov    -0x4(%ebp),%eax
428df2:	57                   	push   %edi
428df3:	8b 45 ec             	mov    -0x14(%ebp),%eax
428df6:	50                   	push   %eax
428df7:	6a 04                	push   $0x4
428df9:	8b 45 fc             	mov    -0x4(%ebp),%eax
428dfc:	50                   	push   %eax
428dfd:	8b 45 f0             	mov    -0x10(%ebp),%eax
428e00:	50                   	push   %eax
428e01:	e8 ba db fd ff       	call   0x4069c0
428e06:	e8 7d f7 ff ff       	call   0x428588
428e0b:	89 45 f4             	mov    %eax,-0xc(%ebp)
428e0e:	33 c0                	xor    %eax,%eax
428e10:	55                   	push   %ebp
428e11:	68 42 8e 42 00       	push   $0x428e42
428e16:	64 ff 30             	push   %fs:(%eax)
428e19:	64 89 20             	mov    %esp,%fs:(%eax)
428e1c:	8b 55 08             	mov    0x8(%ebp),%edx
428e1f:	33 c9                	xor    %ecx,%ecx
428e21:	8b 45 f4             	mov    -0xc(%ebp),%eax
428e24:	e8 6f f7 ff ff       	call   0x428598
428e29:	89 03                	mov    %eax,(%ebx)
428e2b:	33 c0                	xor    %eax,%eax
428e2d:	5a                   	pop    %edx
428e2e:	59                   	pop    %ecx
428e2f:	59                   	pop    %ecx
428e30:	64 89 10             	mov    %edx,%fs:(%eax)
428e33:	68 49 8e 42 00       	push   $0x428e49
428e38:	8b 45 f4             	mov    -0xc(%ebp),%eax
428e3b:	50                   	push   %eax
428e3c:	e8 b7 db fd ff       	call   0x4069f8
428e41:	c3                   	ret
428e42:	e9 21 ad fd ff       	jmp    0x403b68
428e47:	eb ef                	jmp    0x428e38
428e49:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e4c:	8b 40 14             	mov    0x14(%eax),%eax
428e4f:	01 45 ec             	add    %eax,-0x14(%ebp)
428e52:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e55:	66 bb 01 00          	mov    $0x1,%bx
428e59:	66 89 58 0e          	mov    %bx,0xe(%eax)
428e5d:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e60:	0f b7 d3             	movzwl %bx,%edx
428e63:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e66:	8b 40 04             	mov    0x4(%eax),%eax
428e69:	b9 20 00 00 00       	mov    $0x20,%ecx
428e6e:	e8 a5 f8 ff ff       	call   0x428718
428e73:	8b 55 fc             	mov    -0x4(%ebp),%edx
428e76:	f7 6a 08             	imull  0x8(%edx)
428e79:	8b 55 fc             	mov    -0x4(%ebp),%edx
428e7c:	89 42 14             	mov    %eax,0x14(%edx)
428e7f:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e82:	c7 40 20 02 00 00 00 	movl   $0x2,0x20(%eax)
428e89:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e8c:	c7 40 24 02 00 00 00 	movl   $0x2,0x24(%eax)
428e93:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e96:	83 c0 28             	add    $0x28,%eax
428e99:	33 d2                	xor    %edx,%edx
428e9b:	89 10                	mov    %edx,(%eax)