428ce2:	8b d8                	mov    %eax,%ebx
428ce4:	85 db                	test   %ebx,%ebx
428ce6:	74 7a                	je     0x428d62
428ce8:	6a 00                	push   $0x0
428cea:	e8 91 e2 fd ff       	call   0x406f80
428cef:	89 45 f8             	mov    %eax,-0x8(%ebp)
428cf2:	8b 45 f8             	mov    -0x8(%ebp),%eax
428cf5:	50                   	push   %eax
428cf6:	e8 bd de fd ff       	call   0x406bb8
428cfb:	89 45 f4             	mov    %eax,-0xc(%ebp)
428cfe:	56                   	push   %esi
428cff:	8b 45 f4             	mov    -0xc(%ebp),%eax
428d02:	50                   	push   %eax
428d03:	e8 40 e0 fd ff       	call   0x406d48
428d08:	89 45 f0             	mov    %eax,-0x10(%ebp)
428d0b:	33 c0                	xor    %eax,%eax
428d0d:	55                   	push   %ebp
428d0e:	68 5b 8d 42 00       	push   $0x428d5b
428d13:	64 ff 30             	push   %fs:(%eax)
428d16:	64 89 20             	mov    %esp,%fs:(%eax)
428d19:	8d 85 f0 fb ff ff    	lea    -0x410(%ebp),%eax
428d1f:	50                   	push   %eax
428d20:	53                   	push   %ebx
428d21:	6a 00                	push   $0x0
428d23:	8b 45 f4             	mov    -0xc(%ebp),%eax
428d26:	50                   	push   %eax
428d27:	e8 44 e0 fd ff       	call   0x406d70
428d2c:	33 c0                	xor    %eax,%eax
428d2e:	5a                   	pop    %edx
428d2f:	59                   	pop    %ecx
428d30:	59                   	pop    %ecx
428d31:	64 89 10             	mov    %edx,%fs:(%eax)
428d34:	68 62 8d 42 00       	push   $0x428d62
428d39:	8b 45 f0             	mov    -0x10(%ebp),%eax
428d3c:	50                   	push   %eax
428d3d:	8b 45 f4             	mov    -0xc(%ebp),%eax
428d40:	50                   	push   %eax
428d41:	e8 02 e0 fd ff       	call   0x406d48
428d46:	8b 45 f4             	mov    -0xc(%ebp),%eax
428d49:	50                   	push   %eax
428d4a:	e8 b1 de fd ff       	call   0x406c00
428d4f:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d52:	50                   	push   %eax
428d53:	6a 00                	push   $0x0
428d55:	e8 ae e4 fd ff       	call   0x407208
428d5a:	c3                   	ret
428d5b:	e9 50 b3 fd ff       	jmp    0x4040b0
428d60:	eb d7                	jmp    0x428d39
428d62:	5e                   	pop    %esi
428d63:	5b                   	pop    %ebx
428d64:	8b e5                	mov    %ebp,%esp
428d66:	5d                   	pop    %ebp
428d67:	c3                   	ret
428d68:	f6 40 28 03          	testb  $0x3,0x28(%eax)
428d6c:	74 42                	je     0x428db0
428d6e:	83 78 40 00          	cmpl   $0x0,0x40(%eax)
428d72:	75 3c                	jne    0x428db0
428d74:	0f b7 50 26          	movzwl 0x26(%eax),%edx
428d78:	66 83 fa 10          	cmp    $0x10,%dx
428d7c:	75 17                	jne    0x428d95
428d7e:	c7 40 40 00 f8 00 00 	movl   $0xf800,0x40(%eax)
428d85:	c7 40 44 e0 07 00 00 	movl   $0x7e0,0x44(%eax)
428d8c:	c7 40 48 1f 00 00 00 	movl   $0x1f,0x48(%eax)
428d93:	eb 1b                	jmp    0x428db0
428d95:	66 83 fa 20          	cmp    $0x20,%dx
428d99:	75 15                	jne    0x428db0
428d9b:	c7 40 40 00 00 ff 00 	movl   $0xff0000,0x40(%eax)
428da2:	c7 40 44 00 ff 00 00 	movl   $0xff00,0x44(%eax)
428da9:	c7 40 48 ff 00 00 00 	movl   $0xff,0x48(%eax)
428db0:	c3                   	ret
428db1:	8d 40 00             	lea    0x0(%eax),%eax
428db4:	55                   	push   %ebp
428db5:	8b ec                	mov    %esp,%ebp
428db7:	81 c4 68 ff ff ff    	add    $0xffffff68,%esp
428dbd:	53                   	push   %ebx
428dbe:	56                   	push   %esi
428dbf:	57                   	push   %edi
428dc0:	89 4d f4             	mov    %ecx,-0xc(%ebp)
428dc3:	89 55 f8             	mov    %edx,-0x8(%ebp)
428dc6:	89 45 fc             	mov    %eax,-0x4(%ebp)
428dc9:	33 c0                	xor    %eax,%eax
428dcb:	89 45 f0             	mov    %eax,-0x10(%ebp)
428dce:	8b 45 0c             	mov    0xc(%ebp),%eax
428dd1:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
428dd5:	74 1a                	je     0x428df1
428dd7:	8b 45 0c             	mov    0xc(%ebp),%eax
428dda:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
428dde:	0f 84 25 06 00 00    	je     0x429409
428de4:	8b 45 0c             	mov    0xc(%ebp),%eax
428de7:	83 78 20 00          	cmpl   $0x0,0x20(%eax)
428deb:	0f 84 18 06 00 00    	je     0x429409
428df1:	8b 45 0c             	mov    0xc(%ebp),%eax
428df4:	83 78 18 00          	cmpl   $0x0,0x18(%eax)
428df8:	75 1a                	jne    0x428e14
428dfa:	8b 45 0c             	mov    0xc(%ebp),%eax
428dfd:	83 78 04 00          	cmpl   $0x0,0x4(%eax)
428e01:	0f 84 02 06 00 00    	je     0x429409
428e07:	8b 45 0c             	mov    0xc(%ebp),%eax
428e0a:	83 78 08 00          	cmpl   $0x0,0x8(%eax)
428e0e:	0f 84 f5 05 00 00    	je     0x429409
428e14:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e17:	e8 54 fb ff ff       	call   0x428970
428e1c:	33 c0                	xor    %eax,%eax
428e1e:	89 45 90             	mov    %eax,-0x70(%ebp)
428e21:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428e25:	74 1c                	je     0x428e43
428e27:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
428e2d:	50                   	push   %eax
428e2e:	6a 54                	push   $0x54
428e30:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e33:	50                   	push   %eax
428e34:	e8 4f de fd ff       	call   0x406c88
428e39:	83 f8 18             	cmp    $0x18,%eax
428e3c:	7d 05                	jge    0x428e43
428e3e:	e8 ad c5 ff ff       	call   0x4253f0
428e43:	6a 00                	push   $0x0
428e45:	e8 36 e1 fd ff       	call   0x406f80
428e4a:	e8 c1 c6 ff ff       	call   0x425510
428e4f:	89 45 e8             	mov    %eax,-0x18(%ebp)
428e52:	8b 45 e8             	mov    -0x18(%ebp),%eax
428e55:	50                   	push   %eax
428e56:	e8 5d dd fd ff       	call   0x406bb8
428e5b:	e8 b0 c6 ff ff       	call   0x425510
428e60:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428e63:	33 d2                	xor    %edx,%edx
428e65:	55                   	push   %ebp
428e66:	68 02 94 42 00       	push   $0x429402
428e6b:	64 ff 32             	push   %fs:(%edx)
428e6e:	64 89 22             	mov    %esp,%fs:(%edx)
428e71:	8b 45 0c             	mov    0xc(%ebp),%eax
428e74:	83 78 18 28          	cmpl   $0x28,0x18(%eax)
428e78:	73 5e                	jae    0x428ed8
428e7a:	8b 45 0c             	mov    0xc(%ebp),%eax
428e7d:	0f b7 40 10          	movzwl 0x10(%eax),%eax
428e81:	8b 55 0c             	mov    0xc(%ebp),%edx
428e84:	66 0b 42 12          	or     0x12(%edx),%ax
428e88:	66 83 f8 01          	cmp    $0x1,%ax
428e8c:	75 26                	jne    0x428eb4
428e8e:	6a 00                	push   $0x0
428e90:	6a 01                	push   $0x1
428e92:	6a 01                	push   $0x1
428e94:	8b 45 0c             	mov    0xc(%ebp),%eax
428e97:	8b 40 08             	mov    0x8(%eax),%eax
428e9a:	50                   	push   %eax
428e9b:	8b 45 0c             	mov    0xc(%ebp),%eax
428e9e:	8b 40 04             	mov    0x4(%eax),%eax
428ea1:	50                   	push   %eax
428ea2:	e8 f9 dc fd ff       	call   0x406ba0
428ea7:	e8 64 c6 ff ff       	call   0x425510
428eac:	89 45 f0             	mov    %eax,-0x10(%ebp)
428eaf:	e9 5f 02 00 00       	jmp    0x429113
428eb4:	8b 45 0c             	mov    0xc(%ebp),%eax
428eb7:	8b 40 08             	mov    0x8(%eax),%eax
428eba:	50                   	push   %eax
428ebb:	8b 45 0c             	mov    0xc(%ebp),%eax
428ebe:	8b 40 04             	mov    0x4(%eax),%eax
428ec1:	50                   	push   %eax
428ec2:	8b 45 e8             	mov    -0x18(%ebp),%eax
428ec5:	50                   	push   %eax
428ec6:	e8 e5 dc fd ff       	call   0x406bb0
428ecb:	e8 40 c6 ff ff       	call   0x425510
428ed0:	89 45 f0             	mov    %eax,-0x10(%ebp)
428ed3:	e9 3b 02 00 00       	jmp    0x429113
428ed8:	b8 2c 04 00 00       	mov    $0x42c,%eax
428edd:	e8 1a 9e fd ff       	call   0x402cfc
428ee2:	89 45 dc             	mov    %eax,-0x24(%ebp)
428ee5:	33 d2                	xor    %edx,%edx
428ee7:	55                   	push   %ebp
428ee8:	68 0c 91 42 00       	push   $0x42910c
428eed:	64 ff 32             	push   %fs:(%edx)
428ef0:	64 89 22             	mov    %esp,%fs:(%edx)
428ef3:	8b 45 0c             	mov    0xc(%ebp),%eax
428ef6:	c7 40 18 28 00 00 00 	movl   $0x28,0x18(%eax)
428efd:	8b 45 0c             	mov    0xc(%ebp),%eax
428f00:	66 c7 40 24 01 00    	movw   $0x1,0x24(%eax)
428f06:	8b 45 0c             	mov    0xc(%ebp),%eax
428f09:	66 83 78 26 00       	cmpw   $0x0,0x26(%eax)
428f0e:	75 23                	jne    0x428f33
428f10:	6a 0c                	push   $0xc
428f12:	8b 45 e8             	mov    -0x18(%ebp),%eax
428f15:	50                   	push   %eax
428f16:	e8 45 dd fd ff       	call   0x406c60
428f1b:	8b d8                	mov    %eax,%ebx
428f1d:	6a 0e                	push   $0xe
428f1f:	8b 45 e8             	mov    -0x18(%ebp),%eax
428f22:	50                   	push   %eax
428f23:	e8 38 dd fd ff       	call   0x406c60
428f28:	66 0f af d8          	imul   %ax,%bx
428f2c:	8b 45 0c             	mov    0xc(%ebp),%eax
428f2f:	66 89 58 26          	mov    %bx,0x26(%eax)
428f33:	8b 45 0c             	mov    0xc(%ebp),%eax
428f36:	8b 55 dc             	mov    -0x24(%ebp),%edx
428f39:	8d 70 18             	lea    0x18(%eax),%esi
428f3c:	8b fa                	mov    %edx,%edi
428f3e:	b9 0a 00 00 00       	mov    $0xa,%ecx
428f43:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
428f45:	8b 45 0c             	mov    0xc(%ebp),%eax
428f48:	8b 40 1c             	mov    0x1c(%eax),%eax
428f4b:	8b 55 0c             	mov    0xc(%ebp),%edx
428f4e:	89 42 04             	mov    %eax,0x4(%edx)
428f51:	8b 45 0c             	mov    0xc(%ebp),%eax
428f54:	8b 40 20             	mov    0x20(%eax),%eax
428f57:	8b 55 0c             	mov    0xc(%ebp),%edx
428f5a:	89 42 08             	mov    %eax,0x8(%edx)
428f5d:	8b 45 0c             	mov    0xc(%ebp),%eax
428f60:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
428f65:	0f 87 c7 00 00 00    	ja     0x429032
428f6b:	8b 45 0c             	mov    0xc(%ebp),%eax
428f6e:	66 83 78 26 01       	cmpw   $0x1,0x26(%eax)
428f73:	75 28                	jne    0x428f9d
428f75:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428f79:	74 06                	je     0x428f81
428f7b:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
428f7f:	75 1c                	jne    0x428f9d
428f81:	8b 45 dc             	mov    -0x24(%ebp),%eax
428f84:	33 d2                	xor    %edx,%edx
428f86:	89 50 28             	mov    %edx,0x28(%eax)
428f89:	8b 45 dc             	mov    -0x24(%ebp),%eax
428f8c:	83 c0 28             	add    $0x28,%eax
428f8f:	83 c0 04             	add    $0x4,%eax
428f92:	c7 00 ff ff ff 00    	movl   $0xffffff,(%eax)
428f98:	e9 d2 00 00 00       	jmp    0x42906f
428f9d:	83 7d f4 00          	cmpl   $0x0,-0xc(%ebp)
428fa1:	74 18                	je     0x428fbb
428fa3:	8b 45 dc             	mov    -0x24(%ebp),%eax
428fa6:	8d 50 28             	lea    0x28(%eax),%edx
428fa9:	b9 ff 00 00 00       	mov    $0xff,%ecx
428fae:	8b 45 f4             	mov    -0xc(%ebp),%eax
428fb1:	e8 f6 cc ff ff       	call   0x425cac
428fb6:	e9 b4 00 00 00       	jmp    0x42906f
428fbb:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428fbf:	0f 84 aa 00 00 00    	je     0x42906f
428fc5:	8b 45 fc             	mov    -0x4(%ebp),%eax
428fc8:	50                   	push   %eax
428fc9:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428fcc:	50                   	push   %eax
428fcd:	e8 76 dd fd ff       	call   0x406d48
428fd2:	89 45 ec             	mov    %eax,-0x14(%ebp)
428fd5:	83 7d 90 00          	cmpl   $0x0,-0x70(%ebp)
428fd9:	76 25                	jbe    0x429000
428fdb:	83 7d 8c 00          	cmpl   $0x0,-0x74(%ebp)
428fdf:	74 1f                	je     0x429000
428fe1:	8b 45 dc             	mov    -0x24(%ebp),%eax
428fe4:	83 c0 28             	add    $0x28,%eax
428fe7:	50                   	push   %eax
428fe8:	68 00 01 00 00       	push   $0x100
428fed:	6a 00                	push   $0x0
428fef:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428ff2:	50                   	push   %eax
428ff3:	e8 58 dc fd ff       	call   0x406c50
428ff8:	8b 55 0c             	mov    0xc(%ebp),%edx
428ffb:	89 42 38             	mov    %eax,0x38(%edx)
428ffe:	eb 23                	jmp    0x429023
429000:	6a 00                	push   $0x0
429002:	8b 45 dc             	mov    -0x24(%ebp),%eax
429005:	50                   	push   %eax
429006:	6a 00                	push   $0x0
429008:	8b 45 0c             	mov    0xc(%ebp),%eax
42900b:	8b 40 20             	mov    0x20(%eax),%eax
42900e:	99                   	cltd
42900f:	33 c2                	xor    %edx,%eax
429011:	2b c2                	sub    %edx,%eax
429013:	50                   	push   %eax
429014:	6a 00                	push   $0x0
429016:	8b 45 fc             	mov    -0x4(%ebp),%eax
429019:	50                   	push   %eax
42901a:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42901d:	50                   	push   %eax
42901e:	e8 35 dc fd ff       	call   0x406c58
429023:	8b 45 ec             	mov    -0x14(%ebp),%eax
429026:	50                   	push   %eax
429027:	8b 45 e4             	mov    -0x1c(%ebp),%eax
42902a:	50                   	push   %eax
42902b:	e8 18 dd fd ff       	call   0x406d48
429030:	eb 3d                	jmp    0x42906f
429032:	8b 45 0c             	mov    0xc(%ebp),%eax
429035:	0f b7 40 26          	movzwl 0x26(%eax),%eax
429039:	66 83 f8 10          	cmp    $0x10,%ax
42903d:	74 09                	je     0x429048
42903f:	8b 55 0c             	mov    0xc(%ebp),%edx
429042:	66 83 f8 20          	cmp    $0x20,%ax
429046:	75 27                	jne    0x42906f
429048:	8b 45 0c             	mov    0xc(%ebp),%eax
42904b:	f6 40 28 03          	testb  $0x3,0x28(%eax)
42904f:	74 1e                	je     0x42906f
429051:	8b 45 0c             	mov    0xc(%ebp),%eax
429054:	e8 0f fd ff ff       	call   0x428d68
429059:	8b 45 dc             	mov    -0x24(%ebp),%eax
42905c:	8d 50 28             	lea    0x28(%eax),%edx
42905f:	8b 45 0c             	mov    0xc(%ebp),%eax
429062:	83 c0 40             	add    $0x40,%eax
429065:	b9 0c 00 00 00       	mov    $0xc,%ecx
42906a:	e8 7d 9e fd ff       	call   0x402eec
42906f:	6a 00                	push   $0x0
429071:	6a 00                	push   $0x0
429073:	8d 45 d8             	lea    -0x28(%ebp),%eax
429076:	50                   	push   %eax
429077:	6a 00                	push   $0x0
429079:	8b 45 dc             	mov    -0x24(%ebp),%eax
42907c:	50                   	push   %eax
42907d:	8b 45 e8             	mov    -0x18(%ebp),%eax
429080:	50                   	push   %eax
429081:	e8 3a db fd ff       	call   0x406bc0
429086:	e8 85 c4 ff ff       	call   0x425510
42908b:	89 45 f0             	mov    %eax,-0x10(%ebp)
42908e:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
429092:	75 05                	jne    0x429099
429094:	e8 cf c3 ff ff       	call   0x425468
429099:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
42909d:	74 57                	je     0x4290f6
42909f:	8b 45 0c             	mov    0xc(%ebp),%eax
4290a2:	8b 40 1c             	mov    0x1c(%eax),%eax
4290a5:	3b 85 7c ff ff ff    	cmp    -0x84(%ebp),%eax
4290ab:	75 49                	jne    0x4290f6
4290ad:	8b 45 0c             	mov    0xc(%ebp),%eax
4290b0:	8b 40 20             	mov    0x20(%eax),%eax
4290b3:	3b 45 80             	cmp    -0x80(%ebp),%eax
4290b6:	75 3e                	jne    0x4290f6
4290b8:	8b 45 0c             	mov    0xc(%ebp),%eax
4290bb:	66 83 78 26 08       	cmpw   $0x8,0x26(%eax)
4290c0:	76 34                	jbe    0x4290f6
4290c2:	6a 00                	push   $0x0
4290c4:	8b 45 dc             	mov    -0x24(%ebp),%eax
4290c7:	50                   	push   %eax
4290c8:	8b 45 d8             	mov    -0x28(%ebp),%eax
4290cb:	50                   	push   %eax
4290cc:	8b 45 0c             	mov    0xc(%ebp),%eax
4290cf:	8b 40 20             	mov    0x20(%eax),%eax
4290d2:	99                   	cltd
4290d3:	33 c2                	xor    %edx,%eax
4290d5:	2b c2                	sub    %edx,%eax
4290d7:	50                   	push   %eax
4290d8:	6a 00                	push   $0x0
4290da:	8b 45 fc             	mov    -0x4(%ebp),%eax
4290dd:	50                   	push   %eax
4290de:	8b 45 e4             	mov    -0x1c(%ebp),%eax
4290e1:	50                   	push   %eax
4290e2:	e8 71 db fd ff       	call   0x406c58
4290e7:	e8 50 b1 fd ff       	call   0x40423c
4290ec:	e8 4b b1 fd ff       	call   0x40423c
4290f1:	e9 13 03 00 00       	jmp    0x429409
4290f6:	33 c0                	xor    %eax,%eax
4290f8:	5a                   	pop    %edx
4290f9:	59                   	pop    %ecx
4290fa:	59                   	pop    %ecx
4290fb:	64 89 10             	mov    %edx,%fs:(%eax)
4290fe:	68 13 91 42 00       	push   $0x429113
429103:	8b 45 dc             	mov    -0x24(%ebp),%eax
429106:	e8 0d 9c fd ff       	call   0x402d18
42910b:	c3                   	ret