428c23:	8b e5                	mov    %ebp,%esp
428c25:	5d                   	pop    %ebp
428c26:	c2 08 00             	ret    $0x8
428c29:	8d 40 00             	lea    0x0(%eax),%eax
428c2c:	53                   	push   %ebx
428c2d:	56                   	push   %esi
428c2e:	81 c4 f8 fb ff ff    	add    $0xfffffbf8,%esp
428c34:	8b d8                	mov    %eax,%ebx
428c36:	33 f6                	xor    %esi,%esi
428c38:	85 db                	test   %ebx,%ebx
428c3a:	74 46                	je     0x428c82
428c3c:	33 c0                	xor    %eax,%eax
428c3e:	89 04 24             	mov    %eax,(%esp)
428c41:	54                   	push   %esp
428c42:	6a 04                	push   $0x4
428c44:	53                   	push   %ebx
428c45:	e8 5a d9 fd ff       	call   0x4065a4
428c4a:	85 c0                	test   %eax,%eax
428c4c:	74 34                	je     0x428c82
428c4e:	83 3c 24 00          	cmpl   $0x0,(%esp)
428c52:	74 2e                	je     0x428c82
428c54:	66 c7 44 24 04 00 03 	movw   $0x300,0x4(%esp)
428c5b:	66 8b 04 24          	mov    (%esp),%ax
428c5f:	66 89 44 24 06       	mov    %ax,0x6(%esp)
428c64:	8d 44 24 08          	lea    0x8(%esp),%eax
428c68:	50                   	push   %eax
428c69:	8b 44 24 04          	mov    0x4(%esp),%eax
428c6d:	50                   	push   %eax
428c6e:	6a 00                	push   $0x0
428c70:	53                   	push   %ebx
428c71:	e8 36 d9 fd ff       	call   0x4065ac
428c76:	8d 44 24 04          	lea    0x4(%esp),%eax
428c7a:	50                   	push   %eax
428c7b:	e8 94 d8 fd ff       	call   0x406514
428c80:	8b f0                	mov    %eax,%esi
428c82:	8b c6                	mov    %esi,%eax
428c84:	81 c4 08 04 00 00    	add    $0x408,%esp
428c8a:	5e                   	pop    %esi
428c8b:	5b                   	pop    %ebx
428c8c:	c3                   	ret
428c8d:	8d 40 00             	lea    0x0(%eax),%eax
428c90:	55                   	push   %ebp
428c91:	8b ec                	mov    %esp,%ebp
428c93:	83 c4 90             	add    $0xffffff90,%esp
428c96:	53                   	push   %ebx
428c97:	56                   	push   %esi
428c98:	57                   	push   %edi
428c99:	8b f9                	mov    %ecx,%edi
428c9b:	8b f2                	mov    %edx,%esi
428c9d:	8b d8                	mov    %eax,%ebx
428c9f:	33 c0                	xor    %eax,%eax
428ca1:	89 45 fc             	mov    %eax,-0x4(%ebp)
428ca4:	85 db                	test   %ebx,%ebx
428ca6:	0f 84 e6 01 00 00    	je     0x428e92
428cac:	8d 45 90             	lea    -0x70(%ebp),%eax
428caf:	50                   	push   %eax
428cb0:	6a 54                	push   $0x54
428cb2:	53                   	push   %ebx
428cb3:	e8 ec d8 fd ff       	call   0x4065a4
428cb8:	85 c0                	test   %eax,%eax
428cba:	0f 84 d2 01 00 00    	je     0x428e92
428cc0:	8b c3                	mov    %ebx,%eax
428cc2:	e8 bd f4 ff ff       	call   0x428184
428cc7:	33 c0                	xor    %eax,%eax
428cc9:	89 45 f8             	mov    %eax,-0x8(%ebp)
428ccc:	33 c0                	xor    %eax,%eax
428cce:	89 45 f0             	mov    %eax,-0x10(%ebp)
428cd1:	33 c0                	xor    %eax,%eax
428cd3:	55                   	push   %ebp
428cd4:	68 8b 8e 42 00       	push   $0x428e8b
428cd9:	64 ff 30             	push   %fs:(%eax)
428cdc:	64 89 20             	mov    %esp,%fs:(%eax)
428cdf:	6a 00                	push   $0x0
428ce1:	e8 66 db fd ff       	call   0x40684c
428ce6:	e8 29 c4 ff ff       	call   0x425114
428ceb:	89 45 f8             	mov    %eax,-0x8(%ebp)
428cee:	8b 45 f8             	mov    -0x8(%ebp),%eax
428cf1:	50                   	push   %eax
428cf2:	e8 f5 d7 fd ff       	call   0x4064ec
428cf7:	e8 18 c4 ff ff       	call   0x425114
428cfc:	89 45 f0             	mov    %eax,-0x10(%ebp)
428cff:	6a 00                	push   $0x0
428d01:	6a 01                	push   $0x1
428d03:	6a 01                	push   $0x1
428d05:	8b 45 98             	mov    -0x68(%ebp),%eax
428d08:	50                   	push   %eax
428d09:	8b 45 94             	mov    -0x6c(%ebp),%eax
428d0c:	50                   	push   %eax
428d0d:	e8 c2 d7 fd ff       	call   0x4064d4
428d12:	89 45 fc             	mov    %eax,-0x4(%ebp)
428d15:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
428d19:	0f 84 3e 01 00 00    	je     0x428e5d
428d1f:	8b 45 fc             	mov    -0x4(%ebp),%eax
428d22:	50                   	push   %eax
428d23:	8b 45 f0             	mov    -0x10(%ebp),%eax
428d26:	50                   	push   %eax
428d27:	e8 28 d9 fd ff       	call   0x406654
428d2c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
428d2f:	81 ff ff ff ff 1f    	cmp    $0x1fffffff,%edi
428d35:	75 1c                	jne    0x428d53
428d37:	6a 42                	push   $0x42
428d39:	8b 45 98             	mov    -0x68(%ebp),%eax
428d3c:	50                   	push   %eax
428d3d:	8b 45 94             	mov    -0x6c(%ebp),%eax
428d40:	50                   	push   %eax
428d41:	6a 00                	push   $0x0
428d43:	6a 00                	push   $0x0
428d45:	8b 45 f0             	mov    -0x10(%ebp),%eax
428d48:	50                   	push   %eax
428d49:	e8 be d8 fd ff       	call   0x40660c
428d4e:	e9 f7 00 00 00       	jmp    0x428e4a
428d53:	8b 45 f8             	mov    -0x8(%ebp),%eax
428d56:	50                   	push   %eax
428d57:	e8 90 d7 fd ff       	call   0x4064ec
428d5c:	e8 b3 c3 ff ff       	call   0x425114
428d61:	89 45 f4             	mov    %eax,-0xc(%ebp)
428d64:	33 c0                	xor    %eax,%eax
428d66:	55                   	push   %ebp
428d67:	68 43 8e 42 00       	push   $0x428e43
428d6c:	64 ff 30             	push   %fs:(%eax)
428d6f:	64 89 20             	mov    %esp,%fs:(%eax)
428d72:	83 7d a4 00          	cmpl   $0x0,-0x5c(%ebp)
428d76:	74 1e                	je     0x428d96
428d78:	c6 45 ef 01          	movb   $0x1,-0x11(%ebp)
428d7c:	33 c0                	xor    %eax,%eax
428d7e:	89 45 a8             	mov    %eax,-0x58(%ebp)
428d81:	8d 45 90             	lea    -0x70(%ebp),%eax
428d84:	50                   	push   %eax
428d85:	6a 00                	push   $0x0
428d87:	8b ce                	mov    %esi,%ecx
428d89:	8b d6                	mov    %esi,%edx
428d8b:	8b c3                	mov    %ebx,%eax
428d8d:	e8 36 f8 ff ff       	call   0x4285c8
428d92:	8b d8                	mov    %eax,%ebx
428d94:	eb 04                	jmp    0x428d9a
428d96:	c6 45 ef 00          	movb   $0x0,-0x11(%ebp)
428d9a:	53                   	push   %ebx
428d9b:	8b 45 f4             	mov    -0xc(%ebp),%eax
428d9e:	50                   	push   %eax
428d9f:	e8 b0 d8 fd ff       	call   0x406654
428da4:	89 45 e8             	mov    %eax,-0x18(%ebp)
428da7:	85 f6                	test   %esi,%esi
428da9:	74 2a                	je     0x428dd5
428dab:	6a 00                	push   $0x0
428dad:	56                   	push   %esi
428dae:	8b 45 f4             	mov    -0xc(%ebp),%eax
428db1:	50                   	push   %eax
428db2:	e8 a5 d8 fd ff       	call   0x40665c
428db7:	8b 45 f4             	mov    -0xc(%ebp),%eax
428dba:	50                   	push   %eax
428dbb:	e8 6c d8 fd ff       	call   0x40662c
428dc0:	6a 00                	push   $0x0
428dc2:	56                   	push   %esi
428dc3:	8b 45 f0             	mov    -0x10(%ebp),%eax
428dc6:	50                   	push   %eax
428dc7:	e8 90 d8 fd ff       	call   0x40665c
428dcc:	8b 45 f0             	mov    -0x10(%ebp),%eax
428dcf:	50                   	push   %eax
428dd0:	e8 57 d8 fd ff       	call   0x40662c
428dd5:	57                   	push   %edi
428dd6:	8b 45 f4             	mov    -0xc(%ebp),%eax
428dd9:	50                   	push   %eax
428dda:	e8 85 d8 fd ff       	call   0x406664
428ddf:	8b f0                	mov    %eax,%esi
428de1:	68 20 00 cc 00       	push   $0xcc0020
428de6:	6a 00                	push   $0x0
428de8:	6a 00                	push   $0x0
428dea:	8b 45 f4             	mov    -0xc(%ebp),%eax
428ded:	50                   	push   %eax
428dee:	8b 45 98             	mov    -0x68(%ebp),%eax
428df1:	50                   	push   %eax
428df2:	8b 45 94             	mov    -0x6c(%ebp),%eax
428df5:	50                   	push   %eax
428df6:	6a 00                	push   $0x0
428df8:	6a 00                	push   $0x0
428dfa:	8b 45 f0             	mov    -0x10(%ebp),%eax
428dfd:	50                   	push   %eax
428dfe:	e8 c1 d6 fd ff       	call   0x4064c4
428e03:	56                   	push   %esi
428e04:	8b 45 f4             	mov    -0xc(%ebp),%eax
428e07:	50                   	push   %eax
428e08:	e8 57 d8 fd ff       	call   0x406664
428e0d:	83 7d e8 00          	cmpl   $0x0,-0x18(%ebp)
428e11:	74 0d                	je     0x428e20
428e13:	8b 45 e8             	mov    -0x18(%ebp),%eax
428e16:	50                   	push   %eax
428e17:	8b 45 f4             	mov    -0xc(%ebp),%eax
428e1a:	50                   	push   %eax
428e1b:	e8 34 d8 fd ff       	call   0x406654
428e20:	80 7d ef 00          	cmpb   $0x0,-0x11(%ebp)
428e24:	74 06                	je     0x428e2c
428e26:	53                   	push   %ebx
428e27:	e8 10 d7 fd ff       	call   0x40653c
428e2c:	33 c0                	xor    %eax,%eax
428e2e:	5a                   	pop    %edx
428e2f:	59                   	pop    %ecx
428e30:	59                   	pop    %ecx
428e31:	64 89 10             	mov    %edx,%fs:(%eax)
428e34:	68 4a 8e 42 00       	push   $0x428e4a
428e39:	8b 45 f4             	mov    -0xc(%ebp),%eax
428e3c:	50                   	push   %eax
428e3d:	e8 ea d6 fd ff       	call   0x40652c
428e42:	c3                   	ret
428e43:	e9 0c ac fd ff       	jmp    0x403a54
428e48:	eb ef                	jmp    0x428e39
428e4a:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
428e4e:	74 0d                	je     0x428e5d
428e50:	8b 45 e4             	mov    -0x1c(%ebp),%eax
428e53:	50                   	push   %eax
428e54:	8b 45 f0             	mov    -0x10(%ebp),%eax
428e57:	50                   	push   %eax
428e58:	e8 f7 d7 fd ff       	call   0x406654
428e5d:	33 c0                	xor    %eax,%eax
428e5f:	5a                   	pop    %edx
428e60:	59                   	pop    %ecx
428e61:	59                   	pop    %ecx
428e62:	64 89 10             	mov    %edx,%fs:(%eax)
428e65:	68 92 8e 42 00       	push   $0x428e92
428e6a:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
428e6e:	74 09                	je     0x428e79
428e70:	8b 45 f0             	mov    -0x10(%ebp),%eax
428e73:	50                   	push   %eax
428e74:	e8 b3 d6 fd ff       	call   0x40652c
428e79:	83 7d f8 00          	cmpl   $0x0,-0x8(%ebp)
428e7d:	74 0b                	je     0x428e8a
428e7f:	8b 45 f8             	mov    -0x8(%ebp),%eax
428e82:	50                   	push   %eax
428e83:	6a 00                	push   $0x0
428e85:	e8 0a dc fd ff       	call   0x406a94
428e8a:	c3                   	ret
428e8b:	e9 c4 ab fd ff       	jmp    0x403a54
428e90:	eb d8                	jmp    0x428e6a
428e92:	8b 45 fc             	mov    -0x4(%ebp),%eax
428e95:	5f                   	pop    %edi
428e96:	5e                   	pop    %esi
428e97:	5b                   	pop    %ebx
428e98:	8b e5                	mov    %ebp,%esp
428e9a:	5d                   	pop    %ebp
428e9b:	c3                   	ret
428e9c:	53                   	push   %ebx
428e9d:	56                   	push   %esi
428e9e:	57                   	push   %edi
428e9f:	84 d2                	test   %dl,%dl
428ea1:	74 08                	je     0x428eab
428ea3:	83 c4 f0             	add    $0xfffffff0,%esp
428ea6:	e8 79 a7 fd ff       	call   0x403624
428eab:	8b da                	mov    %edx,%ebx
428ead:	8b f8                	mov    %eax,%edi
428eaf:	33 d2                	xor    %edx,%edx
428eb1:	8b c7                	mov    %edi,%eax
428eb3:	e8 dc d3 ff ff       	call   0x426294
428eb8:	c7 47 34 00 00 00 20 	movl   $0x20000000,0x34(%edi)
428ebf:	b2 01                	mov    $0x1,%dl
428ec1:	a1 38 2e 42 00       	mov    0x422e38,%eax
428ec6:	e8 c5 a3 fd ff       	call   0x403290
428ecb:	8b f0                	mov    %eax,%esi
428ecd:	89 77 28             	mov    %esi,0x28(%edi)
428ed0:	8b c6                	mov    %esi,%eax
428ed2:	e8 1d f5 ff ff       	call   0x4283f4
428ed7:	80 3d ec 94 46 00 00 	cmpb   $0x0,0x4694ec
428ede:	74 09                	je     0x428ee9
428ee0:	b2 01                	mov    $0x1,%dl
428ee2:	8b c7                	mov    %edi,%eax
428ee4:	8b 08                	mov    (%eax),%ecx
428ee6:	ff 51 6c             	call   *0x6c(%ecx)
428ee9:	8b c7                	mov    %edi,%eax
428eeb:	84 db                	test   %bl,%bl
428eed:	74 0f                	je     0x428efe
428eef:	e8 88 a7 fd ff       	call   0x40367c
428ef4:	64 8f 05 00 00 00 00 	pop    %fs:0x0
428efb:	83 c4 0c             	add    $0xc,%esp
428efe:	8b c7                	mov    %edi,%eax
428f00:	5f                   	pop    %edi
428f01:	5e                   	pop    %esi
428f02:	5b                   	pop    %ebx
428f03:	c3                   	ret
428f04:	53                   	push   %ebx
428f05:	56                   	push   %esi
428f06:	e8 81 a7 fd ff       	call   0x40368c
428f0b:	8b da                	mov    %edx,%ebx
428f0d:	8b f0                	mov    %eax,%esi
428f0f:	8b c6                	mov    %esi,%eax
428f11:	e8 fe 06 00 00       	call   0x429614
428f16:	8b 46 28             	mov    0x28(%esi),%eax
428f19:	e8 da f4 ff ff       	call   0x4283f8
428f1e:	8b 46 2c             	mov    0x2c(%esi),%eax
428f21:	e8 9a a3 fd ff       	call   0x4032c0
428f26:	8b d3                	mov    %ebx,%edx
428f28:	80 e2 fc             	and    $0xfc,%dl
428f2b:	8b c6                	mov    %esi,%eax
428f2d:	e8 3a fe fe ff       	call   0x418d6c
428f32:	84 db                	test   %bl,%bl
428f34:	7e 07                	jle    0x428f3d
428f36:	8b c6                	mov    %esi,%eax
428f38:	e8 37 a7 fd ff       	call   0x403674
428f3d:	5e                   	pop    %esi
428f3e:	5b                   	pop    %ebx
428f3f:	c3                   	ret
428f40:	55                   	push   %ebp
428f41:	8b ec                	mov    %esp,%ebp
428f43:	83 c4 a8             	add    $0xffffffa8,%esp
428f46:	53                   	push   %ebx
428f47:	56                   	push   %esi
428f48:	8b da                	mov    %edx,%ebx
428f4a:	89 45 fc             	mov    %eax,-0x4(%ebp)
428f4d:	85 db                	test   %ebx,%ebx
428f4f:	74 15                	je     0x428f66
428f51:	8b c3                	mov    %ebx,%eax
428f53:	8b 15 98 2e 42 00    	mov    0x422e98,%edx
428f59:	e8 ee a4 fd ff       	call   0x40344c
428f5e:	84 c0                	test   %al,%al
428f60:	0f 84 b9 00 00 00    	je     0x42901f
428f66:	68 a8 58 47 00       	push   $0x4758a8
428f6b:	e8 34 d3 fd ff       	call   0x4062a4
428f70:	33 c0                	xor    %eax,%eax
428f72:	55                   	push   %ebp
428f73:	68 f8 8f 42 00       	push   $0x428ff8
428f78:	64 ff 30             	push   %fs:(%eax)
428f7b:	64 89 20             	mov    %esp,%fs:(%eax)
428f7e:	85 db                	test   %ebx,%ebx
428f80:	74 3b                	je     0x428fbd
428f82:	8b f3                	mov    %ebx,%esi
428f84:	8b 46 28             	mov    0x28(%esi),%eax
428f87:	e8 68 f4 ff ff       	call   0x4283f4
428f8c:	8b 45 fc             	mov    -0x4(%ebp),%eax
428f8f:	8b 40 28             	mov    0x28(%eax),%eax
428f92:	e8 61 f4 ff ff       	call   0x4283f8
428f97:	8b 46 28             	mov    0x28(%esi),%eax
428f9a:	8b 55 fc             	mov    -0x4(%ebp),%edx
428f9d:	89 42 28             	mov    %eax,0x28(%edx)
428fa0:	8a 46 21             	mov    0x21(%esi),%al
428fa3:	8b 55 fc             	mov    -0x4(%ebp),%edx
428fa6:	88 42 21             	mov    %al,0x21(%edx)
428fa9:	8b 46 34             	mov    0x34(%esi),%eax
428fac:	8b 55 fc             	mov    -0x4(%ebp),%edx
428faf:	89 42 34             	mov    %eax,0x34(%edx)
428fb2:	8a 46 38             	mov    0x38(%esi),%al
428fb5:	8b 55 fc             	mov    -0x4(%ebp),%edx
428fb8:	88 42 38             	mov    %al,0x38(%edx)
428fbb:	eb 23                	jmp    0x428fe0
428fbd:	8d 45 a8             	lea    -0x58(%ebp),%eax
428fc0:	33 c9                	xor    %ecx,%ecx
428fc2:	ba 54 00 00 00       	mov    $0x54,%edx
428fc7:	e8 00 9d fd ff       	call   0x402ccc
428fcc:	8d 45 a8             	lea    -0x58(%ebp),%eax
428fcf:	50                   	push   %eax
428fd0:	6a 00                	push   $0x0
428fd2:	6a 00                	push   $0x0
428fd4:	33 c9                	xor    %ecx,%ecx
428fd6:	33 d2                	xor    %edx,%edx