406b7b:	8b 45 08             	mov    0x8(%ebp),%eax
406b7e:	5d                   	pop    %ebp
406b7f:	c3                   	ret
406b80:	cc                   	int3
406b81:	cc                   	int3
406b82:	cc                   	int3
406b83:	cc                   	int3
406b84:	cc                   	int3
406b85:	cc                   	int3
406b86:	ff 25 94 81 40 00    	jmp    *0x408194
406b8c:	cc                   	int3
406b8d:	cc                   	int3
406b8e:	cc                   	int3
406b8f:	cc                   	int3
406b90:	cc                   	int3
406b91:	cc                   	int3
406b92:	cc                   	int3
406b93:	cc                   	int3
406b94:	cc                   	int3
406b95:	cc                   	int3
406b96:	cc                   	int3
406b97:	cc                   	int3
406b98:	cc                   	int3
406b99:	cc                   	int3
406b9a:	cc                   	int3
406b9b:	cc                   	int3
406b9c:	cc                   	int3
406b9d:	cc                   	int3
406b9e:	cc                   	int3
406b9f:	cc                   	int3
406ba0:	33 c0                	xor    %eax,%eax
406ba2:	c3                   	ret
406ba3:	cc                   	int3
406ba4:	cc                   	int3
406ba5:	cc                   	int3
406ba6:	cc                   	int3
406ba7:	cc                   	int3
406ba8:	cc                   	int3
406ba9:	cc                   	int3
406baa:	cc                   	int3
406bab:	cc                   	int3
406bac:	cc                   	int3
406bad:	cc                   	int3
406bae:	cc                   	int3
406baf:	cc                   	int3
406bb0:	8b ff                	mov    %edi,%edi
406bb2:	55                   	push   %ebp
406bb3:	8b ec                	mov    %esp,%ebp
406bb5:	8b 45 08             	mov    0x8(%ebp),%eax
406bb8:	33 d2                	xor    %edx,%edx
406bba:	53                   	push   %ebx
406bbb:	56                   	push   %esi
406bbc:	57                   	push   %edi
406bbd:	8b 48 3c             	mov    0x3c(%eax),%ecx
406bc0:	03 c8                	add    %eax,%ecx
406bc2:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
406bc6:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
406bca:	83 c0 18             	add    $0x18,%eax
406bcd:	03 c1                	add    %ecx,%eax
406bcf:	85 db                	test   %ebx,%ebx
406bd1:	74 1b                	je     0x406bee
406bd3:	8b 7d 0c             	mov    0xc(%ebp),%edi
406bd6:	8b 70 0c             	mov    0xc(%eax),%esi
406bd9:	3b fe                	cmp    %esi,%edi
406bdb:	72 09                	jb     0x406be6
406bdd:	8b 48 08             	mov    0x8(%eax),%ecx
406be0:	03 ce                	add    %esi,%ecx
406be2:	3b f9                	cmp    %ecx,%edi
406be4:	72 0a                	jb     0x406bf0
406be6:	42                   	inc    %edx
406be7:	83 c0 28             	add    $0x28,%eax
406bea:	3b d3                	cmp    %ebx,%edx
406bec:	72 e8                	jb     0x406bd6
406bee:	33 c0                	xor    %eax,%eax
406bf0:	5f                   	pop    %edi
406bf1:	5e                   	pop    %esi
406bf2:	5b                   	pop    %ebx
406bf3:	5d                   	pop    %ebp
406bf4:	c3                   	ret
406bf5:	cc                   	int3
406bf6:	cc                   	int3
406bf7:	cc                   	int3
406bf8:	cc                   	int3
406bf9:	cc                   	int3
406bfa:	cc                   	int3
406bfb:	cc                   	int3
406bfc:	cc                   	int3
406bfd:	cc                   	int3
406bfe:	cc                   	int3
406bff:	cc                   	int3
406c00:	8b ff                	mov    %edi,%edi
406c02:	55                   	push   %ebp
406c03:	8b ec                	mov    %esp,%ebp
406c05:	6a fe                	push   $0xfffffffe
406c07:	68 18 6f 40 00       	push   $0x406f18
406c0c:	68 30 6e 40 00       	push   $0x406e30
406c11:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
406c17:	50                   	push   %eax
406c18:	83 ec 08             	sub    $0x8,%esp
406c1b:	53                   	push   %ebx
406c1c:	56                   	push   %esi
406c1d:	57                   	push   %edi
406c1e:	a1 b4 71 40 00       	mov    0x4071b4,%eax
406c23:	31 45 f8             	xor    %eax,-0x8(%ebp)
406c26:	33 c5                	xor    %ebp,%eax
406c28:	50                   	push   %eax
406c29:	8d 45 f0             	lea    -0x10(%ebp),%eax
406c2c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406c32:	89 65 e8             	mov    %esp,-0x18(%ebp)
406c35:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
406c3c:	68 00 00 40 00       	push   $0x400000
406c41:	e8 8a 00 00 00       	call   0x406cd0
406c46:	83 c4 04             	add    $0x4,%esp
406c49:	85 c0                	test   %eax,%eax
406c4b:	74 54                	je     0x406ca1
406c4d:	8b 45 08             	mov    0x8(%ebp),%eax
406c50:	2d 00 00 40 00       	sub    $0x400000,%eax
406c55:	50                   	push   %eax
406c56:	68 00 00 40 00       	push   $0x400000
406c5b:	e8 50 ff ff ff       	call   0x406bb0
406c60:	83 c4 08             	add    $0x8,%esp
406c63:	85 c0                	test   %eax,%eax
406c65:	74 3a                	je     0x406ca1
406c67:	8b 40 24             	mov    0x24(%eax),%eax
406c6a:	c1 e8 1f             	shr    $0x1f,%eax
406c6d:	f7 d0                	not    %eax
406c6f:	83 e0 01             	and    $0x1,%eax
406c72:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406c79:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406c7c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406c83:	59                   	pop    %ecx
406c84:	5f                   	pop    %edi
406c85:	5e                   	pop    %esi
406c86:	5b                   	pop    %ebx
406c87:	8b e5                	mov    %ebp,%esp
406c89:	5d                   	pop    %ebp
406c8a:	c3                   	ret
406c8b:	8b 45 ec             	mov    -0x14(%ebp),%eax
406c8e:	8b 00                	mov    (%eax),%eax
406c90:	33 c9                	xor    %ecx,%ecx
406c92:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
406c98:	0f 94 c1             	sete   %cl
406c9b:	8b c1                	mov    %ecx,%eax
406c9d:	c3                   	ret
406c9e:	8b 65 e8             	mov    -0x18(%ebp),%esp
406ca1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406ca8:	33 c0                	xor    %eax,%eax
406caa:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406cad:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406cb4:	59                   	pop    %ecx
406cb5:	5f                   	pop    %edi
406cb6:	5e                   	pop    %esi
406cb7:	5b                   	pop    %ebx
406cb8:	8b e5                	mov    %ebp,%esp
406cba:	5d                   	pop    %ebp
406cbb:	c3                   	ret
406cbc:	cc                   	int3
406cbd:	cc                   	int3
406cbe:	cc                   	int3
406cbf:	cc                   	int3
406cc0:	cc                   	int3
406cc1:	cc                   	int3
406cc2:	cc                   	int3
406cc3:	cc                   	int3
406cc4:	cc                   	int3
406cc5:	cc                   	int3
406cc6:	cc                   	int3
406cc7:	cc                   	int3
406cc8:	cc                   	int3
406cc9:	cc                   	int3
406cca:	cc                   	int3
406ccb:	cc                   	int3
406ccc:	cc                   	int3
406ccd:	cc                   	int3
406cce:	cc                   	int3
406ccf:	cc                   	int3
406cd0:	8b ff                	mov    %edi,%edi
406cd2:	55                   	push   %ebp
406cd3:	8b ec                	mov    %esp,%ebp
406cd5:	8b 45 08             	mov    0x8(%ebp),%eax
406cd8:	b9 4d 5a 00 00       	mov    $0x5a4d,%ecx
406cdd:	66 39 08             	cmp    %cx,(%eax)
406ce0:	75 1d                	jne    0x406cff
406ce2:	8b 48 3c             	mov    0x3c(%eax),%ecx
406ce5:	03 c8                	add    %eax,%ecx
406ce7:	81 39 50 45 00 00    	cmpl   $0x4550,(%ecx)
406ced:	75 10                	jne    0x406cff
406cef:	ba 0b 01 00 00       	mov    $0x10b,%edx
406cf4:	33 c0                	xor    %eax,%eax
406cf6:	66 39 51 18          	cmp    %dx,0x18(%ecx)
406cfa:	0f 94 c0             	sete   %al
406cfd:	5d                   	pop    %ebp
406cfe:	c3                   	ret
406cff:	33 c0                	xor    %eax,%eax
406d01:	5d                   	pop    %ebp
406d02:	c3                   	ret
406d03:	cc                   	int3
406d04:	cc                   	int3
406d05:	cc                   	int3
406d06:	cc                   	int3
406d07:	cc                   	int3
406d08:	cc                   	int3
406d09:	8b ff                	mov    %edi,%edi
406d0b:	55                   	push   %ebp
406d0c:	8b ec                	mov    %esp,%ebp
406d0e:	83 ec 14             	sub    $0x14,%esp
406d11:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
406d15:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
406d19:	a1 b4 71 40 00       	mov    0x4071b4,%eax
406d1e:	56                   	push   %esi
406d1f:	57                   	push   %edi
406d20:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
406d25:	be 00 00 ff ff       	mov    $0xffff0000,%esi
406d2a:	3b c7                	cmp    %edi,%eax
406d2c:	74 04                	je     0x406d32
406d2e:	85 c6                	test   %eax,%esi
406d30:	75 64                	jne    0x406d96
406d32:	8d 45 f4             	lea    -0xc(%ebp),%eax
406d35:	50                   	push   %eax
406d36:	ff 15 78 80 40 00    	call   *0x408078
406d3c:	8b 45 f8             	mov    -0x8(%ebp),%eax
406d3f:	33 45 f4             	xor    -0xc(%ebp),%eax
406d42:	89 45 fc             	mov    %eax,-0x4(%ebp)
406d45:	ff 15 80 80 40 00    	call   *0x408080
406d4b:	31 45 fc             	xor    %eax,-0x4(%ebp)
406d4e:	ff 15 7c 80 40 00    	call   *0x40807c
406d54:	31 45 fc             	xor    %eax,-0x4(%ebp)
406d57:	ff 15 74 80 40 00    	call   *0x408074
406d5d:	33 45 fc             	xor    -0x4(%ebp),%eax
406d60:	8d 4d fc             	lea    -0x4(%ebp),%ecx
406d63:	33 c1                	xor    %ecx,%eax
406d65:	89 45 fc             	mov    %eax,-0x4(%ebp)
406d68:	8d 45 ec             	lea    -0x14(%ebp),%eax
406d6b:	50                   	push   %eax
406d6c:	ff 15 84 80 40 00    	call   *0x408084
406d72:	8b 45 f0             	mov    -0x10(%ebp),%eax
406d75:	33 45 ec             	xor    -0x14(%ebp),%eax
406d78:	33 45 fc             	xor    -0x4(%ebp),%eax
406d7b:	8b c8                	mov    %eax,%ecx
406d7d:	3b c7                	cmp    %edi,%eax
406d7f:	74 08                	je     0x406d89
406d81:	85 35 b4 71 40 00    	test   %esi,0x4071b4
406d87:	75 07                	jne    0x406d90
406d89:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
406d8e:	8b c8                	mov    %eax,%ecx
406d90:	89 0d b4 71 40 00    	mov    %ecx,0x4071b4
406d96:	f7 d0                	not    %eax
406d98:	5f                   	pop    %edi
406d99:	a3 b8 71 40 00       	mov    %eax,0x4071b8
406d9e:	5e                   	pop    %esi
406d9f:	c9                   	leave
406da0:	c3                   	ret
406da1:	cc                   	int3
406da2:	cc                   	int3
406da3:	cc                   	int3
406da4:	cc                   	int3
406da5:	cc                   	int3
406da6:	cc                   	int3
406da7:	68 00 00 03 00       	push   $0x30000
406dac:	68 00 00 01 00       	push   $0x10000
406db1:	ff 15 70 81 40 00    	call   *0x408170
406db7:	59                   	pop    %ecx
406db8:	59                   	pop    %ecx
406db9:	c3                   	ret
406dba:	cc                   	int3
406dbb:	cc                   	int3
406dbc:	cc                   	int3
406dbd:	cc                   	int3
406dbe:	cc                   	int3
406dbf:	cc                   	int3
406dc0:	ff 25 78 81 40 00    	jmp    *0x408178
406dc6:	cc                   	int3
406dc7:	cc                   	int3
406dc8:	cc                   	int3
406dc9:	cc                   	int3
406dca:	cc                   	int3
406dcb:	cc                   	int3
406dcc:	68 30 6e 40 00       	push   $0x406e30
406dd1:	64 ff 35 00 00 00 00 	push   %fs:0x0
406dd8:	8b 44 24 10          	mov    0x10(%esp),%eax
406ddc:	89 6c 24 10          	mov    %ebp,0x10(%esp)
406de0:	8d 6c 24 10          	lea    0x10(%esp),%ebp
406de4:	2b e0                	sub    %eax,%esp
406de6:	53                   	push   %ebx
406de7:	56                   	push   %esi
406de8:	57                   	push   %edi
406de9:	a1 b4 71 40 00       	mov    0x4071b4,%eax
406dee:	31 45 fc             	xor    %eax,-0x4(%ebp)
406df1:	33 c5                	xor    %ebp,%eax
406df3:	50                   	push   %eax
406df4:	89 65 e8             	mov    %esp,-0x18(%ebp)
406df7:	ff 75 f8             	push   -0x8(%ebp)
406dfa:	8b 45 fc             	mov    -0x4(%ebp),%eax
406dfd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406e04:	89 45 f8             	mov    %eax,-0x8(%ebp)
406e07:	8d 45 f0             	lea    -0x10(%ebp),%eax
406e0a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
406e10:	c3                   	ret
406e11:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406e14:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406e1b:	59                   	pop    %ecx
406e1c:	5f                   	pop    %edi
406e1d:	5f                   	pop    %edi
406e1e:	5e                   	pop    %esi
406e1f:	5b                   	pop    %ebx
406e20:	8b e5                	mov    %ebp,%esp
406e22:	5d                   	pop    %ebp
406e23:	51                   	push   %ecx
406e24:	c3                   	ret
406e25:	cc                   	int3
406e26:	cc                   	int3
406e27:	cc                   	int3
406e28:	cc                   	int3
406e29:	cc                   	int3
406e2a:	cc                   	int3
406e2b:	cc                   	int3
406e2c:	cc                   	int3
406e2d:	cc                   	int3
406e2e:	cc                   	int3
406e2f:	cc                   	int3
406e30:	8b ff                	mov    %edi,%edi
406e32:	55                   	push   %ebp
406e33:	8b ec                	mov    %esp,%ebp
406e35:	ff 75 14             	push   0x14(%ebp)
406e38:	ff 75 10             	push   0x10(%ebp)
406e3b:	ff 75 0c             	push   0xc(%ebp)
406e3e:	ff 75 08             	push   0x8(%ebp)
406e41:	68 e0 68 40 00       	push   $0x4068e0
406e46:	68 b4 71 40 00       	push   $0x4071b4
406e4b:	e8 0b 00 00 00       	call   0x406e5b
406e50:	83 c4 18             	add    $0x18,%esp
406e53:	5d                   	pop    %ebp
406e54:	c3                   	ret
406e55:	cc                   	int3
406e56:	cc                   	int3
406e57:	cc                   	int3
406e58:	cc                   	int3
406e59:	cc                   	int3
406e5a:	cc                   	int3
406e5b:	ff 25 6c 81 40 00    	jmp    *0x40816c
406e61:	cc                   	int3
406e62:	cc                   	int3
406e63:	cc                   	int3
406e64:	cc                   	int3
406e65:	cc                   	int3
406e66:	cc                   	int3
406e67:	cc                   	int3
406e68:	cc                   	int3
406e69:	cc                   	int3
406e6a:	cc                   	int3