4069e7:	58                   	pop    %eax
4069e8:	c1 e0 00             	shl    $0x0,%eax
4069eb:	8b 0d b4 71 40 00    	mov    0x4071b4,%ecx
4069f1:	89 88 f4 71 40 00    	mov    %ecx,0x4071f4(%eax)
4069f7:	6a 04                	push   $0x4
4069f9:	58                   	pop    %eax
4069fa:	d1 e0                	shl    $1,%eax
4069fc:	8b 0d b8 71 40 00    	mov    0x4071b8,%ecx
406a02:	89 88 f4 71 40 00    	mov    %ecx,0x4071f4(%eax)
406a08:	6a 04                	push   $0x4
406a0a:	58                   	pop    %eax
406a0b:	6b c0 00             	imul   $0x0,%eax,%eax
406a0e:	8b 0d b4 71 40 00    	mov    0x4071b4,%ecx
406a14:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
406a18:	6a 04                	push   $0x4
406a1a:	58                   	pop    %eax
406a1b:	c1 e0 00             	shl    $0x0,%eax
406a1e:	8b 0d b8 71 40 00    	mov    0x4071b8,%ecx
406a24:	89 4c 05 f8          	mov    %ecx,-0x8(%ebp,%eax,1)
406a28:	68 00 10 40 00       	push   $0x401000
406a2d:	e8 c4 fe ff ff       	call   0x4068f6
406a32:	c9                   	leave
406a33:	c3                   	ret
406a34:	cc                   	int3
406a35:	cc                   	int3
406a36:	cc                   	int3
406a37:	cc                   	int3
406a38:	cc                   	int3
406a39:	cc                   	int3
406a3a:	ff 25 a8 81 40 00    	jmp    *0x4081a8
406a40:	cc                   	int3
406a41:	cc                   	int3
406a42:	cc                   	int3
406a43:	cc                   	int3
406a44:	cc                   	int3
406a45:	cc                   	int3
406a46:	ff 25 a4 81 40 00    	jmp    *0x4081a4
406a4c:	cc                   	int3
406a4d:	cc                   	int3
406a4e:	cc                   	int3
406a4f:	cc                   	int3
406a50:	cc                   	int3
406a51:	cc                   	int3
406a52:	ff 25 a0 81 40 00    	jmp    *0x4081a0
406a58:	cc                   	int3
406a59:	cc                   	int3
406a5a:	cc                   	int3
406a5b:	cc                   	int3
406a5c:	cc                   	int3
406a5d:	cc                   	int3
406a5e:	cc                   	int3
406a5f:	cc                   	int3
406a60:	8b ff                	mov    %edi,%edi
406a62:	55                   	push   %ebp
406a63:	8b ec                	mov    %esp,%ebp
406a65:	8b 45 08             	mov    0x8(%ebp),%eax
406a68:	8b 00                	mov    (%eax),%eax
406a6a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
406a70:	75 2b                	jne    0x406a9d
406a72:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
406a76:	75 25                	jne    0x406a9d
406a78:	8b 40 14             	mov    0x14(%eax),%eax
406a7b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
406a80:	74 15                	je     0x406a97
406a82:	3d 21 05 93 19       	cmp    $0x19930521,%eax
406a87:	74 0e                	je     0x406a97
406a89:	3d 22 05 93 19       	cmp    $0x19930522,%eax
406a8e:	74 07                	je     0x406a97
406a90:	3d 00 40 99 01       	cmp    $0x1994000,%eax
406a95:	75 06                	jne    0x406a9d
406a97:	ff 15 74 81 40 00    	call   *0x408174
406a9d:	33 c0                	xor    %eax,%eax
406a9f:	5d                   	pop    %ebp
406aa0:	c2 04 00             	ret    $0x4
406aa3:	cc                   	int3
406aa4:	cc                   	int3
406aa5:	cc                   	int3
406aa6:	cc                   	int3
406aa7:	cc                   	int3
406aa8:	cc                   	int3
406aa9:	cc                   	int3
406aaa:	cc                   	int3
406aab:	cc                   	int3
406aac:	cc                   	int3
406aad:	cc                   	int3
406aae:	cc                   	int3
406aaf:	cc                   	int3
406ab0:	68 60 6a 40 00       	push   $0x406a60
406ab5:	ff 15 90 80 40 00    	call   *0x408090
406abb:	33 c0                	xor    %eax,%eax
406abd:	c3                   	ret
406abe:	cc                   	int3
406abf:	cc                   	int3
406ac0:	cc                   	int3
406ac1:	cc                   	int3
406ac2:	cc                   	int3
406ac3:	cc                   	int3
406ac4:	ff 25 b8 81 40 00    	jmp    *0x4081b8
406aca:	cc                   	int3
406acb:	cc                   	int3
406acc:	cc                   	int3
406acd:	cc                   	int3
406ace:	cc                   	int3
406acf:	cc                   	int3
406ad0:	6a 0c                	push   $0xc
406ad2:	68 f8 6e 40 00       	push   $0x406ef8
406ad7:	e8 f0 02 00 00       	call   0x406dcc
406adc:	33 c9                	xor    %ecx,%ecx
406ade:	8b 45 08             	mov    0x8(%ebp),%eax
406ae1:	85 c0                	test   %eax,%eax
406ae3:	74 4b                	je     0x406b30
406ae5:	83 f8 ff             	cmp    $0xffffffff,%eax
406ae8:	74 46                	je     0x406b30
406aea:	89 4d fc             	mov    %ecx,-0x4(%ebp)
406aed:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
406af2:	66 39 10             	cmp    %dx,(%eax)
406af5:	75 32                	jne    0x406b29
406af7:	8b 50 3c             	mov    0x3c(%eax),%edx
406afa:	85 d2                	test   %edx,%edx
406afc:	78 2b                	js     0x406b29
406afe:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
406b04:	73 23                	jae    0x406b29
406b06:	03 c2                	add    %edx,%eax
406b08:	89 45 e4             	mov    %eax,-0x1c(%ebp)
406b0b:	8b 08                	mov    (%eax),%ecx
406b0d:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
406b13:	f7 d9                	neg    %ecx
406b15:	1b c9                	sbb    %ecx,%ecx
406b17:	f7 d1                	not    %ecx
406b19:	23 c8                	and    %eax,%ecx
406b1b:	eb 09                	jmp    0x406b26
406b1d:	33 c0                	xor    %eax,%eax
406b1f:	40                   	inc    %eax
406b20:	c3                   	ret
406b21:	8b 65 e8             	mov    -0x18(%ebp),%esp
406b24:	33 c9                	xor    %ecx,%ecx
406b26:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
406b29:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
406b30:	8b c1                	mov    %ecx,%eax
406b32:	8b 4d f0             	mov    -0x10(%ebp),%ecx
406b35:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
406b3c:	59                   	pop    %ecx
406b3d:	5f                   	pop    %edi
406b3e:	5e                   	pop    %esi
406b3f:	5b                   	pop    %ebx
406b40:	c9                   	leave
406b41:	c2 04 00             	ret    $0x4
406b44:	cc                   	int3
406b45:	cc                   	int3
406b46:	cc                   	int3
406b47:	cc                   	int3
406b48:	cc                   	int3
406b49:	cc                   	int3
406b4a:	8b ff                	mov    %edi,%edi
406b4c:	55                   	push   %ebp
406b4d:	8b ec                	mov    %esp,%ebp
406b4f:	6a 00                	push   $0x0
406b51:	ff 15 88 80 40 00    	call   *0x408088
406b57:	85 c0                	test   %eax,%eax
406b59:	74 20                	je     0x406b7b
406b5b:	50                   	push   %eax
406b5c:	e8 6f ff ff ff       	call   0x406ad0
406b61:	85 c0                	test   %eax,%eax
406b63:	74 16                	je     0x406b7b
406b65:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
406b69:	6a 02                	push   $0x2
406b6b:	58                   	pop    %eax
406b6c:	66 3b c8             	cmp    %ax,%cx
406b6f:	74 0d                	je     0x406b7e
406b71:	83 f9 03             	cmp    $0x3,%ecx
406b74:	75 05                	jne    0x406b7b
406b76:	33 c0                	xor    %eax,%eax
406b78:	40                   	inc    %eax
406b79:	5d                   	pop    %ebp
406b7a:	c3                   	ret
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