401815:	8b 45 08             	mov    0x8(%ebp),%eax
401818:	8b 00                	mov    (%eax),%eax
40181a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
401820:	75 2b                	jne    0x40184d
401822:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
401826:	75 25                	jne    0x40184d
401828:	8b 40 14             	mov    0x14(%eax),%eax
40182b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
401830:	74 15                	je     0x401847
401832:	3d 21 05 93 19       	cmp    $0x19930521,%eax
401837:	74 0e                	je     0x401847
401839:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40183e:	74 07                	je     0x401847
401840:	3d 00 40 99 01       	cmp    $0x1994000,%eax
401845:	75 06                	jne    0x40184d
401847:	ff 15 8c 30 40 00    	call   *0x40308c
40184d:	33 c0                	xor    %eax,%eax
40184f:	5d                   	pop    %ebp
401850:	c2 04 00             	ret    $0x4
401853:	cc                   	int3
401854:	cc                   	int3
401855:	cc                   	int3
401856:	cc                   	int3
401857:	cc                   	int3
401858:	cc                   	int3
401859:	cc                   	int3
40185a:	cc                   	int3
40185b:	cc                   	int3
40185c:	cc                   	int3
40185d:	cc                   	int3
40185e:	cc                   	int3
40185f:	cc                   	int3
401860:	68 10 18 40 00       	push   $0x401810
401865:	ff 15 18 30 40 00    	call   *0x403018
40186b:	33 c0                	xor    %eax,%eax
40186d:	c3                   	ret
40186e:	ff 25 80 30 40 00    	jmp    *0x403080
401874:	6a 0c                	push   $0xc
401876:	68 38 1d 40 00       	push   $0x401d38
40187b:	e8 b8 02 00 00       	call   0x401b38
401880:	33 c9                	xor    %ecx,%ecx
401882:	8b 45 08             	mov    0x8(%ebp),%eax
401885:	85 c0                	test   %eax,%eax
401887:	74 4b                	je     0x4018d4
401889:	83 f8 ff             	cmp    $0xffffffff,%eax
40188c:	74 46                	je     0x4018d4
40188e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
401891:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
401896:	66 39 10             	cmp    %dx,(%eax)
401899:	75 32                	jne    0x4018cd
40189b:	8b 50 3c             	mov    0x3c(%eax),%edx
40189e:	85 d2                	test   %edx,%edx
4018a0:	78 2b                	js     0x4018cd
4018a2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
4018a8:	73 23                	jae    0x4018cd
4018aa:	03 c2                	add    %edx,%eax
4018ac:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4018af:	8b 08                	mov    (%eax),%ecx
4018b1:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
4018b7:	f7 d9                	neg    %ecx
4018b9:	1b c9                	sbb    %ecx,%ecx
4018bb:	f7 d1                	not    %ecx
4018bd:	23 c8                	and    %eax,%ecx
4018bf:	eb 09                	jmp    0x4018ca
4018c1:	33 c0                	xor    %eax,%eax
4018c3:	40                   	inc    %eax
4018c4:	c3                   	ret
4018c5:	8b 65 e8             	mov    -0x18(%ebp),%esp
4018c8:	33 c9                	xor    %ecx,%ecx
4018ca:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4018cd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4018d4:	8b c1                	mov    %ecx,%eax
4018d6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4018d9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4018e0:	59                   	pop    %ecx
4018e1:	5f                   	pop    %edi
4018e2:	5e                   	pop    %esi
4018e3:	5b                   	pop    %ebx
4018e4:	c9                   	leave
4018e5:	c2 04 00             	ret    $0x4
4018e8:	8b ff                	mov    %edi,%edi
4018ea:	55                   	push   %ebp
4018eb:	8b ec                	mov    %esp,%ebp
4018ed:	6a 00                	push   $0x0
4018ef:	ff 15 2c 30 40 00    	call   *0x40302c
4018f5:	85 c0                	test   %eax,%eax
4018f7:	74 20                	je     0x401919
4018f9:	50                   	push   %eax
4018fa:	e8 75 ff ff ff       	call   0x401874
4018ff:	85 c0                	test   %eax,%eax
401901:	74 16                	je     0x401919
401903:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
401907:	6a 02                	push   $0x2
401909:	58                   	pop    %eax
40190a:	66 3b c8             	cmp    %ax,%cx
40190d:	74 0d                	je     0x40191c
40190f:	83 f9 03             	cmp    $0x3,%ecx
401912:	75 05                	jne    0x401919
401914:	33 c0                	xor    %eax,%eax
401916:	40                   	inc    %eax
401917:	5d                   	pop    %ebp
401918:	c3                   	ret
401919:	8b 45 08             	mov    0x8(%ebp),%eax
40191c:	5d                   	pop    %ebp
40191d:	c3                   	ret
40191e:	ff 25 84 30 40 00    	jmp    *0x403084
401924:	cc                   	int3
401925:	cc                   	int3
401926:	cc                   	int3
401927:	cc                   	int3
401928:	cc                   	int3
401929:	cc                   	int3
40192a:	cc                   	int3
40192b:	cc                   	int3
40192c:	cc                   	int3
40192d:	cc                   	int3
40192e:	cc                   	int3
40192f:	cc                   	int3
401930:	33 c0                	xor    %eax,%eax
401932:	c3                   	ret
401933:	cc                   	int3
401934:	cc                   	int3
401935:	cc                   	int3
401936:	cc                   	int3
401937:	cc                   	int3
401938:	cc                   	int3
401939:	cc                   	int3
40193a:	cc                   	int3
40193b:	cc                   	int3
40193c:	cc                   	int3
40193d:	cc                   	int3
40193e:	cc                   	int3
40193f:	cc                   	int3
401940:	8b ff                	mov    %edi,%edi
401942:	55                   	push   %ebp
401943:	8b ec                	mov    %esp,%ebp
401945:	8b 45 08             	mov    0x8(%ebp),%eax
401948:	33 d2                	xor    %edx,%edx
40194a:	53                   	push   %ebx
40194b:	56                   	push   %esi
40194c:	57                   	push   %edi
40194d:	8b 48 3c             	mov    0x3c(%eax),%ecx
401950:	03 c8                	add    %eax,%ecx
401952:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
401956:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40195a:	83 c0 18             	add    $0x18,%eax
40195d:	03 c1                	add    %ecx,%eax
40195f:	85 db                	test   %ebx,%ebx
401961:	74 1b                	je     0x40197e
401963:	8b 7d 0c             	mov    0xc(%ebp),%edi
401966:	8b 70 0c             	mov    0xc(%eax),%esi
401969:	3b fe                	cmp    %esi,%edi
40196b:	72 09                	jb     0x401976
40196d:	8b 48 08             	mov    0x8(%eax),%ecx
401970:	03 ce                	add    %esi,%ecx
401972:	3b f9                	cmp    %ecx,%edi
401974:	72 0a                	jb     0x401980
401976:	42                   	inc    %edx
401977:	83 c0 28             	add    $0x28,%eax
40197a:	3b d3                	cmp    %ebx,%edx
40197c:	72 e8                	jb     0x401966
40197e:	33 c0                	xor    %eax,%eax
401980:	5f                   	pop    %edi
401981:	5e                   	pop    %esi
401982:	5b                   	pop    %ebx
401983:	5d                   	pop    %ebp
401984:	c3                   	ret
401985:	cc                   	int3
401986:	cc                   	int3
401987:	cc                   	int3
401988:	cc                   	int3
401989:	cc                   	int3
40198a:	cc                   	int3
40198b:	cc                   	int3
40198c:	cc                   	int3
40198d:	cc                   	int3
40198e:	cc                   	int3
40198f:	cc                   	int3
401990:	8b ff                	mov    %edi,%edi
401992:	55                   	push   %ebp
401993:	8b ec                	mov    %esp,%ebp
401995:	6a fe                	push   $0xfffffffe
401997:	68 58 1d 40 00       	push   $0x401d58
40199c:	68 a0 1b 40 00       	push   $0x401ba0
4019a1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
4019a7:	50                   	push   %eax
4019a8:	83 ec 08             	sub    $0x8,%esp
4019ab:	53                   	push   %ebx
4019ac:	56                   	push   %esi
4019ad:	57                   	push   %edi
4019ae:	a1 04 20 40 00       	mov    0x402004,%eax
4019b3:	31 45 f8             	xor    %eax,-0x8(%ebp)
4019b6:	33 c5                	xor    %ebp,%eax
4019b8:	50                   	push   %eax
4019b9:	8d 45 f0             	lea    -0x10(%ebp),%eax
4019bc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4019c2:	89 65 e8             	mov    %esp,-0x18(%ebp)
4019c5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4019cc:	68 00 00 40 00       	push   $0x400000
4019d1:	e8 7a 00 00 00       	call   0x401a50
4019d6:	83 c4 04             	add    $0x4,%esp
4019d9:	85 c0                	test   %eax,%eax
4019db:	74 54                	je     0x401a31
4019dd:	8b 45 08             	mov    0x8(%ebp),%eax
4019e0:	2d 00 00 40 00       	sub    $0x400000,%eax
4019e5:	50                   	push   %eax
4019e6:	68 00 00 40 00       	push   $0x400000
4019eb:	e8 50 ff ff ff       	call   0x401940
4019f0:	83 c4 08             	add    $0x8,%esp
4019f3:	85 c0                	test   %eax,%eax
4019f5:	74 3a                	je     0x401a31
4019f7:	8b 40 24             	mov    0x24(%eax),%eax
4019fa:	c1 e8 1f             	shr    $0x1f,%eax
4019fd:	f7 d0                	not    %eax
4019ff:	83 e0 01             	and    $0x1,%eax
401a02:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401a09:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401a0c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401a13:	59                   	pop    %ecx
401a14:	5f                   	pop    %edi
401a15:	5e                   	pop    %esi
401a16:	5b                   	pop    %ebx
401a17:	8b e5                	mov    %ebp,%esp
401a19:	5d                   	pop    %ebp
401a1a:	c3                   	ret
401a1b:	8b 45 ec             	mov    -0x14(%ebp),%eax
401a1e:	8b 00                	mov    (%eax),%eax
401a20:	33 c9                	xor    %ecx,%ecx
401a22:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
401a28:	0f 94 c1             	sete   %cl
401a2b:	8b c1                	mov    %ecx,%eax
401a2d:	c3                   	ret
401a2e:	8b 65 e8             	mov    -0x18(%ebp),%esp
401a31:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401a38:	33 c0                	xor    %eax,%eax
401a3a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401a3d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401a44:	59                   	pop    %ecx
401a45:	5f                   	pop    %edi
401a46:	5e                   	pop    %esi
401a47:	5b                   	pop    %ebx
401a48:	8b e5                	mov    %ebp,%esp
401a4a:	5d                   	pop    %ebp
401a4b:	c3                   	ret
401a4c:	cc                   	int3
401a4d:	cc                   	int3
401a4e:	cc                   	int3
401a4f:	cc                   	int3
401a50:	8b ff                	mov    %edi,%edi
401a52:	55                   	push   %ebp
401a53:	8b ec                	mov    %esp,%ebp
401a55:	8b 4d 08             	mov    0x8(%ebp),%ecx
401a58:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
401a5d:	66 39 01             	cmp    %ax,(%ecx)
401a60:	75 1f                	jne    0x401a81
401a62:	8b 41 3c             	mov    0x3c(%ecx),%eax
401a65:	03 c1                	add    %ecx,%eax
401a67:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
401a6d:	75 12                	jne    0x401a81
401a6f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
401a74:	66 39 48 18          	cmp    %cx,0x18(%eax)
401a78:	75 07                	jne    0x401a81
401a7a:	b8 01 00 00 00       	mov    $0x1,%eax
401a7f:	5d                   	pop    %ebp
401a80:	c3                   	ret
401a81:	33 c0                	xor    %eax,%eax
401a83:	5d                   	pop    %ebp
401a84:	c3                   	ret
401a85:	8b ff                	mov    %edi,%edi
401a87:	55                   	push   %ebp
401a88:	8b ec                	mov    %esp,%ebp
401a8a:	83 ec 14             	sub    $0x14,%esp
401a8d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
401a91:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
401a95:	a1 04 20 40 00       	mov    0x402004,%eax
401a9a:	56                   	push   %esi
401a9b:	57                   	push   %edi
401a9c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
401aa1:	be 00 00 ff ff       	mov    $0xffff0000,%esi
401aa6:	3b c7                	cmp    %edi,%eax
401aa8:	74 04                	je     0x401aae
401aaa:	85 c6                	test   %eax,%esi
401aac:	75 64                	jne    0x401b12
401aae:	8d 45 f4             	lea    -0xc(%ebp),%eax
401ab1:	50                   	push   %eax
401ab2:	ff 15 6c 30 40 00    	call   *0x40306c
401ab8:	8b 45 f8             	mov    -0x8(%ebp),%eax
401abb:	33 45 f4             	xor    -0xc(%ebp),%eax
401abe:	89 45 fc             	mov    %eax,-0x4(%ebp)
401ac1:	ff 15 3c 30 40 00    	call   *0x40303c
401ac7:	31 45 fc             	xor    %eax,-0x4(%ebp)
401aca:	ff 15 4c 30 40 00    	call   *0x40304c
401ad0:	31 45 fc             	xor    %eax,-0x4(%ebp)
401ad3:	ff 15 68 30 40 00    	call   *0x403068
401ad9:	33 45 fc             	xor    -0x4(%ebp),%eax
401adc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
401adf:	33 c1                	xor    %ecx,%eax
401ae1:	89 45 fc             	mov    %eax,-0x4(%ebp)
401ae4:	8d 45 ec             	lea    -0x14(%ebp),%eax
401ae7:	50                   	push   %eax
401ae8:	ff 15 58 30 40 00    	call   *0x403058
401aee:	8b 45 f0             	mov    -0x10(%ebp),%eax
401af1:	33 45 ec             	xor    -0x14(%ebp),%eax
401af4:	33 45 fc             	xor    -0x4(%ebp),%eax
401af7:	8b c8                	mov    %eax,%ecx
401af9:	3b c7                	cmp    %edi,%eax
401afb:	74 08                	je     0x401b05
401afd:	85 35 04 20 40 00    	test   %esi,0x402004
401b03:	75 07                	jne    0x401b0c
401b05:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
401b0a:	8b c8                	mov    %eax,%ecx
401b0c:	89 0d 04 20 40 00    	mov    %ecx,0x402004
401b12:	f7 d0                	not    %eax
401b14:	5f                   	pop    %edi
401b15:	a3 08 20 40 00       	mov    %eax,0x402008
401b1a:	5e                   	pop    %esi
401b1b:	c9                   	leave
401b1c:	c3                   	ret
401b1d:	68 00 00 03 00       	push   $0x30000
401b22:	68 00 00 01 00       	push   $0x10000
401b27:	ff 15 88 30 40 00    	call   *0x403088
401b2d:	59                   	pop    %ecx
401b2e:	59                   	pop    %ecx
401b2f:	c3                   	ret
401b30:	ff 25 9c 30 40 00    	jmp    *0x40309c
401b36:	cc                   	int3
401b37:	cc                   	int3
401b38:	68 a0 1b 40 00       	push   $0x401ba0
401b3d:	64 ff 35 00 00 00 00 	push   %fs:0x0
401b44:	8b 44 24 10          	mov    0x10(%esp),%eax
401b48:	89 6c 24 10          	mov    %ebp,0x10(%esp)
401b4c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
401b50:	2b e0                	sub    %eax,%esp
401b52:	53                   	push   %ebx
401b53:	56                   	push   %esi
401b54:	57                   	push   %edi
401b55:	a1 04 20 40 00       	mov    0x402004,%eax
401b5a:	31 45 fc             	xor    %eax,-0x4(%ebp)
401b5d:	33 c5                	xor    %ebp,%eax
401b5f:	50                   	push   %eax
401b60:	89 65 e8             	mov    %esp,-0x18(%ebp)
401b63:	ff 75 f8             	push   -0x8(%ebp)
401b66:	8b 45 fc             	mov    -0x4(%ebp),%eax
401b69:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
401b70:	89 45 f8             	mov    %eax,-0x8(%ebp)
401b73:	8d 45 f0             	lea    -0x10(%ebp),%eax
401b76:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
401b7c:	c3                   	ret
401b7d:	8b 4d f0             	mov    -0x10(%ebp),%ecx
401b80:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0