4027fc:	c9                   	leave
4027fd:	c3                   	ret
4027fe:	8b ff                	mov    %edi,%edi
402800:	55                   	push   %ebp
402801:	8b ec                	mov    %esp,%ebp
402803:	56                   	push   %esi
402804:	8b 75 08             	mov    0x8(%ebp),%esi
402807:	33 c0                	xor    %eax,%eax
402809:	3b 75 0c             	cmp    0xc(%ebp),%esi
40280c:	73 1e                	jae    0x40282c
40280e:	57                   	push   %edi
40280f:	85 c0                	test   %eax,%eax
402811:	75 18                	jne    0x40282b
402813:	8b 3e                	mov    (%esi),%edi
402815:	85 ff                	test   %edi,%edi
402817:	74 0a                	je     0x402823
402819:	8b cf                	mov    %edi,%ecx
40281b:	ff 15 48 41 40 00    	call   *0x404148
402821:	ff d7                	call   *%edi
402823:	83 c6 04             	add    $0x4,%esi
402826:	3b 75 0c             	cmp    0xc(%ebp),%esi
402829:	72 e4                	jb     0x40280f
40282b:	5f                   	pop    %edi
40282c:	5e                   	pop    %esi
40282d:	5d                   	pop    %ebp
40282e:	c3                   	ret
40282f:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
402834:	66 39 05 00 00 40 00 	cmp    %ax,0x400000
40283b:	75 55                	jne    0x402892
40283d:	8b 0d 3c 00 40 00    	mov    0x40003c,%ecx
402843:	81 b9 00 00 40 00 50 	cmpl   $0x4550,0x400000(%ecx)
40284a:	45 00 00
40284d:	75 43                	jne    0x402892
40284f:	0f b7 81 18 00 40 00 	movzwl 0x400018(%ecx),%eax
402856:	ba 0b 01 00 00       	mov    $0x10b,%edx
40285b:	66 3b c2             	cmp    %dx,%ax
40285e:	74 1f                	je     0x40287f
402860:	ba 0b 02 00 00       	mov    $0x20b,%edx
402865:	66 3b c2             	cmp    %dx,%ax
402868:	75 28                	jne    0x402892
40286a:	83 b9 84 00 40 00 0e 	cmpl   $0xe,0x400084(%ecx)
402871:	76 1f                	jbe    0x402892
402873:	33 c0                	xor    %eax,%eax
402875:	39 81 f8 00 40 00    	cmp    %eax,0x4000f8(%ecx)
40287b:	0f 95 c0             	setne  %al
40287e:	c3                   	ret
40287f:	83 b9 74 00 40 00 0e 	cmpl   $0xe,0x400074(%ecx)
402886:	76 0a                	jbe    0x402892
402888:	33 c0                	xor    %eax,%eax
40288a:	39 81 e8 00 40 00    	cmp    %eax,0x4000e8(%ecx)
402890:	eb e9                	jmp    0x40287b
402892:	33 c0                	xor    %eax,%eax
402894:	c3                   	ret
402895:	cc                   	int3
402896:	cc                   	int3
402897:	cc                   	int3
402898:	cc                   	int3
402899:	cc                   	int3
40289a:	cc                   	int3
40289b:	cc                   	int3
40289c:	cc                   	int3
40289d:	cc                   	int3
40289e:	cc                   	int3
40289f:	cc                   	int3
4028a0:	e8 90 02 00 00       	call   0x402b35
4028a5:	e9 79 fd ff ff       	jmp    0x402623
4028aa:	cc                   	int3
4028ab:	cc                   	int3
4028ac:	cc                   	int3
4028ad:	cc                   	int3
4028ae:	cc                   	int3
4028af:	cc                   	int3
4028b0:	3b 0d 04 30 40 00    	cmp    0x403004,%ecx
4028b6:	75 03                	jne    0x4028bb
4028b8:	c2 00 00             	ret    $0x0
4028bb:	e9 ed 03 00 00       	jmp    0x402cad
4028c0:	8b ff                	mov    %edi,%edi
4028c2:	55                   	push   %ebp
4028c3:	8b ec                	mov    %esp,%ebp
4028c5:	8b 45 08             	mov    0x8(%ebp),%eax
4028c8:	8b 00                	mov    (%eax),%eax
4028ca:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
4028d0:	75 2b                	jne    0x4028fd
4028d2:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
4028d6:	75 25                	jne    0x4028fd
4028d8:	8b 40 14             	mov    0x14(%eax),%eax
4028db:	3d 20 05 93 19       	cmp    $0x19930520,%eax
4028e0:	74 15                	je     0x4028f7
4028e2:	3d 21 05 93 19       	cmp    $0x19930521,%eax
4028e7:	74 0e                	je     0x4028f7
4028e9:	3d 22 05 93 19       	cmp    $0x19930522,%eax
4028ee:	74 07                	je     0x4028f7
4028f0:	3d 00 40 99 01       	cmp    $0x1994000,%eax
4028f5:	75 06                	jne    0x4028fd
4028f7:	ff 15 e0 40 40 00    	call   *0x4040e0
4028fd:	33 c0                	xor    %eax,%eax
4028ff:	5d                   	pop    %ebp
402900:	c2 04 00             	ret    $0x4
402903:	cc                   	int3
402904:	cc                   	int3
402905:	cc                   	int3
402906:	cc                   	int3
402907:	cc                   	int3
402908:	cc                   	int3
402909:	cc                   	int3
40290a:	cc                   	int3
40290b:	cc                   	int3
40290c:	cc                   	int3
40290d:	cc                   	int3
40290e:	cc                   	int3
40290f:	cc                   	int3
402910:	68 c0 28 40 00       	push   $0x4028c0
402915:	ff 15 80 40 40 00    	call   *0x404080
40291b:	33 c0                	xor    %eax,%eax
40291d:	c3                   	ret
40291e:	ff 25 10 41 40 00    	jmp    *0x404110
402924:	6a 0c                	push   $0xc
402926:	68 08 2e 40 00       	push   $0x402e08
40292b:	e8 b8 02 00 00       	call   0x402be8
402930:	33 c9                	xor    %ecx,%ecx
402932:	8b 45 08             	mov    0x8(%ebp),%eax
402935:	85 c0                	test   %eax,%eax
402937:	74 4b                	je     0x402984
402939:	83 f8 ff             	cmp    $0xffffffff,%eax
40293c:	74 46                	je     0x402984
40293e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
402941:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
402946:	66 39 10             	cmp    %dx,(%eax)
402949:	75 32                	jne    0x40297d
40294b:	8b 50 3c             	mov    0x3c(%eax),%edx
40294e:	85 d2                	test   %edx,%edx
402950:	78 2b                	js     0x40297d
402952:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
402958:	73 23                	jae    0x40297d
40295a:	03 c2                	add    %edx,%eax
40295c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40295f:	8b 08                	mov    (%eax),%ecx
402961:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
402967:	f7 d9                	neg    %ecx
402969:	1b c9                	sbb    %ecx,%ecx
40296b:	f7 d1                	not    %ecx
40296d:	23 c8                	and    %eax,%ecx
40296f:	eb 09                	jmp    0x40297a
402971:	33 c0                	xor    %eax,%eax
402973:	40                   	inc    %eax
402974:	c3                   	ret
402975:	8b 65 e8             	mov    -0x18(%ebp),%esp
402978:	33 c9                	xor    %ecx,%ecx
40297a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40297d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402984:	8b c1                	mov    %ecx,%eax
402986:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402989:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402990:	59                   	pop    %ecx
402991:	5f                   	pop    %edi
402992:	5e                   	pop    %esi
402993:	5b                   	pop    %ebx
402994:	c9                   	leave
402995:	c2 04 00             	ret    $0x4
402998:	8b ff                	mov    %edi,%edi
40299a:	55                   	push   %ebp
40299b:	8b ec                	mov    %esp,%ebp
40299d:	6a 00                	push   $0x0
40299f:	ff 15 0c 40 40 00    	call   *0x40400c
4029a5:	85 c0                	test   %eax,%eax
4029a7:	74 20                	je     0x4029c9
4029a9:	50                   	push   %eax
4029aa:	e8 75 ff ff ff       	call   0x402924
4029af:	85 c0                	test   %eax,%eax
4029b1:	74 16                	je     0x4029c9
4029b3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
4029b7:	6a 02                	push   $0x2
4029b9:	58                   	pop    %eax
4029ba:	66 3b c8             	cmp    %ax,%cx
4029bd:	74 0d                	je     0x4029cc
4029bf:	83 f9 03             	cmp    $0x3,%ecx
4029c2:	75 05                	jne    0x4029c9
4029c4:	33 c0                	xor    %eax,%eax
4029c6:	40                   	inc    %eax
4029c7:	5d                   	pop    %ebp
4029c8:	c3                   	ret
4029c9:	8b 45 08             	mov    0x8(%ebp),%eax
4029cc:	5d                   	pop    %ebp
4029cd:	c3                   	ret
4029ce:	ff 25 08 41 40 00    	jmp    *0x404108
4029d4:	cc                   	int3
4029d5:	cc                   	int3
4029d6:	cc                   	int3
4029d7:	cc                   	int3
4029d8:	cc                   	int3
4029d9:	cc                   	int3
4029da:	cc                   	int3
4029db:	cc                   	int3
4029dc:	cc                   	int3
4029dd:	cc                   	int3
4029de:	cc                   	int3
4029df:	cc                   	int3
4029e0:	33 c0                	xor    %eax,%eax
4029e2:	c3                   	ret
4029e3:	cc                   	int3
4029e4:	cc                   	int3
4029e5:	cc                   	int3
4029e6:	cc                   	int3
4029e7:	cc                   	int3
4029e8:	cc                   	int3
4029e9:	cc                   	int3
4029ea:	cc                   	int3
4029eb:	cc                   	int3
4029ec:	cc                   	int3
4029ed:	cc                   	int3
4029ee:	cc                   	int3
4029ef:	cc                   	int3
4029f0:	8b ff                	mov    %edi,%edi
4029f2:	55                   	push   %ebp
4029f3:	8b ec                	mov    %esp,%ebp
4029f5:	8b 45 08             	mov    0x8(%ebp),%eax
4029f8:	33 d2                	xor    %edx,%edx
4029fa:	53                   	push   %ebx
4029fb:	56                   	push   %esi
4029fc:	57                   	push   %edi
4029fd:	8b 48 3c             	mov    0x3c(%eax),%ecx
402a00:	03 c8                	add    %eax,%ecx
402a02:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
402a06:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
402a0a:	83 c0 18             	add    $0x18,%eax
402a0d:	03 c1                	add    %ecx,%eax
402a0f:	85 db                	test   %ebx,%ebx
402a11:	74 1b                	je     0x402a2e
402a13:	8b 7d 0c             	mov    0xc(%ebp),%edi
402a16:	8b 70 0c             	mov    0xc(%eax),%esi
402a19:	3b fe                	cmp    %esi,%edi
402a1b:	72 09                	jb     0x402a26
402a1d:	8b 48 08             	mov    0x8(%eax),%ecx
402a20:	03 ce                	add    %esi,%ecx
402a22:	3b f9                	cmp    %ecx,%edi
402a24:	72 0a                	jb     0x402a30
402a26:	42                   	inc    %edx
402a27:	83 c0 28             	add    $0x28,%eax
402a2a:	3b d3                	cmp    %ebx,%edx
402a2c:	72 e8                	jb     0x402a16
402a2e:	33 c0                	xor    %eax,%eax
402a30:	5f                   	pop    %edi
402a31:	5e                   	pop    %esi
402a32:	5b                   	pop    %ebx
402a33:	5d                   	pop    %ebp
402a34:	c3                   	ret
402a35:	cc                   	int3
402a36:	cc                   	int3
402a37:	cc                   	int3
402a38:	cc                   	int3
402a39:	cc                   	int3
402a3a:	cc                   	int3
402a3b:	cc                   	int3
402a3c:	cc                   	int3
402a3d:	cc                   	int3
402a3e:	cc                   	int3
402a3f:	cc                   	int3
402a40:	8b ff                	mov    %edi,%edi
402a42:	55                   	push   %ebp
402a43:	8b ec                	mov    %esp,%ebp
402a45:	6a fe                	push   $0xfffffffe
402a47:	68 28 2e 40 00       	push   $0x402e28
402a4c:	68 50 2c 40 00       	push   $0x402c50
402a51:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
402a57:	50                   	push   %eax
402a58:	83 ec 08             	sub    $0x8,%esp
402a5b:	53                   	push   %ebx
402a5c:	56                   	push   %esi
402a5d:	57                   	push   %edi
402a5e:	a1 04 30 40 00       	mov    0x403004,%eax
402a63:	31 45 f8             	xor    %eax,-0x8(%ebp)
402a66:	33 c5                	xor    %ebp,%eax
402a68:	50                   	push   %eax
402a69:	8d 45 f0             	lea    -0x10(%ebp),%eax
402a6c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402a72:	89 65 e8             	mov    %esp,-0x18(%ebp)
402a75:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
402a7c:	68 00 00 40 00       	push   $0x400000
402a81:	e8 7a 00 00 00       	call   0x402b00
402a86:	83 c4 04             	add    $0x4,%esp
402a89:	85 c0                	test   %eax,%eax
402a8b:	74 54                	je     0x402ae1
402a8d:	8b 45 08             	mov    0x8(%ebp),%eax
402a90:	2d 00 00 40 00       	sub    $0x400000,%eax
402a95:	50                   	push   %eax
402a96:	68 00 00 40 00       	push   $0x400000
402a9b:	e8 50 ff ff ff       	call   0x4029f0
402aa0:	83 c4 08             	add    $0x8,%esp
402aa3:	85 c0                	test   %eax,%eax
402aa5:	74 3a                	je     0x402ae1
402aa7:	8b 40 24             	mov    0x24(%eax),%eax
402aaa:	c1 e8 1f             	shr    $0x1f,%eax
402aad:	f7 d0                	not    %eax
402aaf:	83 e0 01             	and    $0x1,%eax
402ab2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402ab9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402abc:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402ac3:	59                   	pop    %ecx
402ac4:	5f                   	pop    %edi
402ac5:	5e                   	pop    %esi
402ac6:	5b                   	pop    %ebx
402ac7:	8b e5                	mov    %ebp,%esp
402ac9:	5d                   	pop    %ebp
402aca:	c3                   	ret
402acb:	8b 45 ec             	mov    -0x14(%ebp),%eax
402ace:	8b 00                	mov    (%eax),%eax
402ad0:	33 c9                	xor    %ecx,%ecx
402ad2:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
402ad8:	0f 94 c1             	sete   %cl
402adb:	8b c1                	mov    %ecx,%eax
402add:	c3                   	ret
402ade:	8b 65 e8             	mov    -0x18(%ebp),%esp
402ae1:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
402ae8:	33 c0                	xor    %eax,%eax
402aea:	8b 4d f0             	mov    -0x10(%ebp),%ecx
402aed:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
402af4:	59                   	pop    %ecx
402af5:	5f                   	pop    %edi
402af6:	5e                   	pop    %esi
402af7:	5b                   	pop    %ebx
402af8:	8b e5                	mov    %ebp,%esp
402afa:	5d                   	pop    %ebp
402afb:	c3                   	ret
402afc:	cc                   	int3
402afd:	cc                   	int3
402afe:	cc                   	int3
402aff:	cc                   	int3
402b00:	8b ff                	mov    %edi,%edi
402b02:	55                   	push   %ebp
402b03:	8b ec                	mov    %esp,%ebp
402b05:	8b 4d 08             	mov    0x8(%ebp),%ecx
402b08:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
402b0d:	66 39 01             	cmp    %ax,(%ecx)
402b10:	75 1f                	jne    0x402b31
402b12:	8b 41 3c             	mov    0x3c(%ecx),%eax
402b15:	03 c1                	add    %ecx,%eax
402b17:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
402b1d:	75 12                	jne    0x402b31
402b1f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
402b24:	66 39 48 18          	cmp    %cx,0x18(%eax)
402b28:	75 07                	jne    0x402b31
402b2a:	b8 01 00 00 00       	mov    $0x1,%eax
402b2f:	5d                   	pop    %ebp
402b30:	c3                   	ret
402b31:	33 c0                	xor    %eax,%eax
402b33:	5d                   	pop    %ebp
402b34:	c3                   	ret
402b35:	8b ff                	mov    %edi,%edi
402b37:	55                   	push   %ebp
402b38:	8b ec                	mov    %esp,%ebp