40e74a:	cc                   	int3
40e74b:	cc                   	int3
40e74c:	cc                   	int3
40e74d:	cc                   	int3
40e74e:	cc                   	int3
40e74f:	cc                   	int3
40e750:	8b ff                	mov    %edi,%edi
40e752:	55                   	push   %ebp
40e753:	8b ec                	mov    %esp,%ebp
40e755:	8b 45 08             	mov    0x8(%ebp),%eax
40e758:	8b 00                	mov    (%eax),%eax
40e75a:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
40e760:	75 2b                	jne    0x40e78d
40e762:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
40e766:	75 25                	jne    0x40e78d
40e768:	8b 40 14             	mov    0x14(%eax),%eax
40e76b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
40e770:	74 15                	je     0x40e787
40e772:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40e777:	74 0e                	je     0x40e787
40e779:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40e77e:	74 07                	je     0x40e787
40e780:	3d 00 40 99 01       	cmp    $0x1994000,%eax
40e785:	75 06                	jne    0x40e78d
40e787:	ff 15 64 21 41 00    	call   *0x412164
40e78d:	33 c0                	xor    %eax,%eax
40e78f:	5d                   	pop    %ebp
40e790:	c2 04 00             	ret    $0x4
40e793:	cc                   	int3
40e794:	cc                   	int3
40e795:	cc                   	int3
40e796:	cc                   	int3
40e797:	cc                   	int3
40e798:	cc                   	int3
40e799:	cc                   	int3
40e79a:	cc                   	int3
40e79b:	cc                   	int3
40e79c:	cc                   	int3
40e79d:	cc                   	int3
40e79e:	cc                   	int3
40e79f:	cc                   	int3
40e7a0:	68 50 e7 40 00       	push   $0x40e750
40e7a5:	ff 15 78 20 41 00    	call   *0x412078
40e7ab:	33 c0                	xor    %eax,%eax
40e7ad:	c3                   	ret
40e7ae:	ff 25 48 21 41 00    	jmp    *0x412148
40e7b4:	6a 0c                	push   $0xc
40e7b6:	68 f8 02 41 00       	push   $0x4102f8
40e7bb:	e8 b8 02 00 00       	call   0x40ea78
40e7c0:	33 c9                	xor    %ecx,%ecx
40e7c2:	8b 45 08             	mov    0x8(%ebp),%eax
40e7c5:	85 c0                	test   %eax,%eax
40e7c7:	74 4b                	je     0x40e814
40e7c9:	83 f8 ff             	cmp    $0xffffffff,%eax
40e7cc:	74 46                	je     0x40e814
40e7ce:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40e7d1:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
40e7d6:	66 39 10             	cmp    %dx,(%eax)
40e7d9:	75 32                	jne    0x40e80d
40e7db:	8b 50 3c             	mov    0x3c(%eax),%edx
40e7de:	85 d2                	test   %edx,%edx
40e7e0:	78 2b                	js     0x40e80d
40e7e2:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
40e7e8:	73 23                	jae    0x40e80d
40e7ea:	03 c2                	add    %edx,%eax
40e7ec:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40e7ef:	8b 08                	mov    (%eax),%ecx
40e7f1:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
40e7f7:	f7 d9                	neg    %ecx
40e7f9:	1b c9                	sbb    %ecx,%ecx
40e7fb:	f7 d1                	not    %ecx
40e7fd:	23 c8                	and    %eax,%ecx
40e7ff:	eb 09                	jmp    0x40e80a
40e801:	33 c0                	xor    %eax,%eax
40e803:	40                   	inc    %eax
40e804:	c3                   	ret
40e805:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e808:	33 c9                	xor    %ecx,%ecx
40e80a:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
40e80d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e814:	8b c1                	mov    %ecx,%eax
40e816:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e819:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e820:	59                   	pop    %ecx
40e821:	5f                   	pop    %edi
40e822:	5e                   	pop    %esi
40e823:	5b                   	pop    %ebx
40e824:	c9                   	leave
40e825:	c2 04 00             	ret    $0x4
40e828:	8b ff                	mov    %edi,%edi
40e82a:	55                   	push   %ebp
40e82b:	8b ec                	mov    %esp,%ebp
40e82d:	6a 00                	push   $0x0
40e82f:	ff 15 b0 20 41 00    	call   *0x4120b0
40e835:	85 c0                	test   %eax,%eax
40e837:	74 20                	je     0x40e859
40e839:	50                   	push   %eax
40e83a:	e8 75 ff ff ff       	call   0x40e7b4
40e83f:	85 c0                	test   %eax,%eax
40e841:	74 16                	je     0x40e859
40e843:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
40e847:	6a 02                	push   $0x2
40e849:	58                   	pop    %eax
40e84a:	66 3b c8             	cmp    %ax,%cx
40e84d:	74 0d                	je     0x40e85c
40e84f:	83 f9 03             	cmp    $0x3,%ecx
40e852:	75 05                	jne    0x40e859
40e854:	33 c0                	xor    %eax,%eax
40e856:	40                   	inc    %eax
40e857:	5d                   	pop    %ebp
40e858:	c3                   	ret
40e859:	8b 45 08             	mov    0x8(%ebp),%eax
40e85c:	5d                   	pop    %ebp
40e85d:	c3                   	ret
40e85e:	ff 25 34 21 41 00    	jmp    *0x412134
40e864:	cc                   	int3
40e865:	cc                   	int3
40e866:	cc                   	int3
40e867:	cc                   	int3
40e868:	cc                   	int3
40e869:	cc                   	int3
40e86a:	cc                   	int3
40e86b:	cc                   	int3
40e86c:	cc                   	int3
40e86d:	cc                   	int3
40e86e:	cc                   	int3
40e86f:	cc                   	int3
40e870:	33 c0                	xor    %eax,%eax
40e872:	c3                   	ret
40e873:	cc                   	int3
40e874:	cc                   	int3
40e875:	cc                   	int3
40e876:	cc                   	int3
40e877:	cc                   	int3
40e878:	cc                   	int3
40e879:	cc                   	int3
40e87a:	cc                   	int3
40e87b:	cc                   	int3
40e87c:	cc                   	int3
40e87d:	cc                   	int3
40e87e:	cc                   	int3
40e87f:	cc                   	int3
40e880:	8b ff                	mov    %edi,%edi
40e882:	55                   	push   %ebp
40e883:	8b ec                	mov    %esp,%ebp
40e885:	8b 45 08             	mov    0x8(%ebp),%eax
40e888:	33 d2                	xor    %edx,%edx
40e88a:	53                   	push   %ebx
40e88b:	56                   	push   %esi
40e88c:	57                   	push   %edi
40e88d:	8b 48 3c             	mov    0x3c(%eax),%ecx
40e890:	03 c8                	add    %eax,%ecx
40e892:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
40e896:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40e89a:	83 c0 18             	add    $0x18,%eax
40e89d:	03 c1                	add    %ecx,%eax
40e89f:	85 db                	test   %ebx,%ebx
40e8a1:	74 1b                	je     0x40e8be
40e8a3:	8b 7d 0c             	mov    0xc(%ebp),%edi
40e8a6:	8b 70 0c             	mov    0xc(%eax),%esi
40e8a9:	3b fe                	cmp    %esi,%edi
40e8ab:	72 09                	jb     0x40e8b6
40e8ad:	8b 48 08             	mov    0x8(%eax),%ecx
40e8b0:	03 ce                	add    %esi,%ecx
40e8b2:	3b f9                	cmp    %ecx,%edi
40e8b4:	72 0a                	jb     0x40e8c0
40e8b6:	42                   	inc    %edx
40e8b7:	83 c0 28             	add    $0x28,%eax
40e8ba:	3b d3                	cmp    %ebx,%edx
40e8bc:	72 e8                	jb     0x40e8a6
40e8be:	33 c0                	xor    %eax,%eax
40e8c0:	5f                   	pop    %edi
40e8c1:	5e                   	pop    %esi
40e8c2:	5b                   	pop    %ebx
40e8c3:	5d                   	pop    %ebp
40e8c4:	c3                   	ret
40e8c5:	cc                   	int3
40e8c6:	cc                   	int3
40e8c7:	cc                   	int3
40e8c8:	cc                   	int3
40e8c9:	cc                   	int3
40e8ca:	cc                   	int3
40e8cb:	cc                   	int3
40e8cc:	cc                   	int3
40e8cd:	cc                   	int3
40e8ce:	cc                   	int3
40e8cf:	cc                   	int3
40e8d0:	8b ff                	mov    %edi,%edi
40e8d2:	55                   	push   %ebp
40e8d3:	8b ec                	mov    %esp,%ebp
40e8d5:	6a fe                	push   $0xfffffffe
40e8d7:	68 18 03 41 00       	push   $0x410318
40e8dc:	68 e0 ea 40 00       	push   $0x40eae0
40e8e1:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
40e8e7:	50                   	push   %eax
40e8e8:	83 ec 08             	sub    $0x8,%esp
40e8eb:	53                   	push   %ebx
40e8ec:	56                   	push   %esi
40e8ed:	57                   	push   %edi
40e8ee:	a1 54 13 41 00       	mov    0x411354,%eax
40e8f3:	31 45 f8             	xor    %eax,-0x8(%ebp)
40e8f6:	33 c5                	xor    %ebp,%eax
40e8f8:	50                   	push   %eax
40e8f9:	8d 45 f0             	lea    -0x10(%ebp),%eax
40e8fc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40e902:	89 65 e8             	mov    %esp,-0x18(%ebp)
40e905:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40e90c:	68 00 00 40 00       	push   $0x400000
40e911:	e8 7a 00 00 00       	call   0x40e990
40e916:	83 c4 04             	add    $0x4,%esp
40e919:	85 c0                	test   %eax,%eax
40e91b:	74 54                	je     0x40e971
40e91d:	8b 45 08             	mov    0x8(%ebp),%eax
40e920:	2d 00 00 40 00       	sub    $0x400000,%eax
40e925:	50                   	push   %eax
40e926:	68 00 00 40 00       	push   $0x400000
40e92b:	e8 50 ff ff ff       	call   0x40e880
40e930:	83 c4 08             	add    $0x8,%esp
40e933:	85 c0                	test   %eax,%eax
40e935:	74 3a                	je     0x40e971
40e937:	8b 40 24             	mov    0x24(%eax),%eax
40e93a:	c1 e8 1f             	shr    $0x1f,%eax
40e93d:	f7 d0                	not    %eax
40e93f:	83 e0 01             	and    $0x1,%eax
40e942:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e949:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e94c:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e953:	59                   	pop    %ecx
40e954:	5f                   	pop    %edi
40e955:	5e                   	pop    %esi
40e956:	5b                   	pop    %ebx
40e957:	8b e5                	mov    %ebp,%esp
40e959:	5d                   	pop    %ebp
40e95a:	c3                   	ret
40e95b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40e95e:	8b 00                	mov    (%eax),%eax
40e960:	33 c9                	xor    %ecx,%ecx
40e962:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
40e968:	0f 94 c1             	sete   %cl
40e96b:	8b c1                	mov    %ecx,%eax
40e96d:	c3                   	ret
40e96e:	8b 65 e8             	mov    -0x18(%ebp),%esp
40e971:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
40e978:	33 c0                	xor    %eax,%eax
40e97a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40e97d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40e984:	59                   	pop    %ecx
40e985:	5f                   	pop    %edi
40e986:	5e                   	pop    %esi
40e987:	5b                   	pop    %ebx
40e988:	8b e5                	mov    %ebp,%esp
40e98a:	5d                   	pop    %ebp
40e98b:	c3                   	ret
40e98c:	cc                   	int3
40e98d:	cc                   	int3
40e98e:	cc                   	int3
40e98f:	cc                   	int3
40e990:	8b ff                	mov    %edi,%edi
40e992:	55                   	push   %ebp
40e993:	8b ec                	mov    %esp,%ebp
40e995:	8b 4d 08             	mov    0x8(%ebp),%ecx
40e998:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40e99d:	66 39 01             	cmp    %ax,(%ecx)
40e9a0:	75 1f                	jne    0x40e9c1
40e9a2:	8b 41 3c             	mov    0x3c(%ecx),%eax
40e9a5:	03 c1                	add    %ecx,%eax
40e9a7:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40e9ad:	75 12                	jne    0x40e9c1
40e9af:	b9 0b 01 00 00       	mov    $0x10b,%ecx
40e9b4:	66 39 48 18          	cmp    %cx,0x18(%eax)
40e9b8:	75 07                	jne    0x40e9c1
40e9ba:	b8 01 00 00 00       	mov    $0x1,%eax
40e9bf:	5d                   	pop    %ebp
40e9c0:	c3                   	ret
40e9c1:	33 c0                	xor    %eax,%eax
40e9c3:	5d                   	pop    %ebp
40e9c4:	c3                   	ret
40e9c5:	8b ff                	mov    %edi,%edi
40e9c7:	55                   	push   %ebp
40e9c8:	8b ec                	mov    %esp,%ebp
40e9ca:	83 ec 14             	sub    $0x14,%esp
40e9cd:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
40e9d1:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
40e9d5:	a1 54 13 41 00       	mov    0x411354,%eax
40e9da:	56                   	push   %esi
40e9db:	57                   	push   %edi
40e9dc:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
40e9e1:	be 00 00 ff ff       	mov    $0xffff0000,%esi
40e9e6:	3b c7                	cmp    %edi,%eax
40e9e8:	74 04                	je     0x40e9ee
40e9ea:	85 c6                	test   %eax,%esi
40e9ec:	75 64                	jne    0x40ea52
40e9ee:	8d 45 f4             	lea    -0xc(%ebp),%eax
40e9f1:	50                   	push   %eax
40e9f2:	ff 15 10 21 41 00    	call   *0x412110
40e9f8:	8b 45 f8             	mov    -0x8(%ebp),%eax
40e9fb:	33 45 f4             	xor    -0xc(%ebp),%eax
40e9fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ea01:	ff 15 e4 20 41 00    	call   *0x4120e4
40ea07:	31 45 fc             	xor    %eax,-0x4(%ebp)
40ea0a:	ff 15 d8 20 41 00    	call   *0x4120d8
40ea10:	31 45 fc             	xor    %eax,-0x4(%ebp)
40ea13:	ff 15 14 21 41 00    	call   *0x412114
40ea19:	33 45 fc             	xor    -0x4(%ebp),%eax
40ea1c:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40ea1f:	33 c1                	xor    %ecx,%eax
40ea21:	89 45 fc             	mov    %eax,-0x4(%ebp)
40ea24:	8d 45 ec             	lea    -0x14(%ebp),%eax
40ea27:	50                   	push   %eax
40ea28:	ff 15 ec 20 41 00    	call   *0x4120ec
40ea2e:	8b 45 f0             	mov    -0x10(%ebp),%eax
40ea31:	33 45 ec             	xor    -0x14(%ebp),%eax
40ea34:	33 45 fc             	xor    -0x4(%ebp),%eax
40ea37:	8b c8                	mov    %eax,%ecx
40ea39:	3b c7                	cmp    %edi,%eax
40ea3b:	74 08                	je     0x40ea45
40ea3d:	85 35 54 13 41 00    	test   %esi,0x411354
40ea43:	75 07                	jne    0x40ea4c
40ea45:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
40ea4a:	8b c8                	mov    %eax,%ecx
40ea4c:	89 0d 54 13 41 00    	mov    %ecx,0x411354
40ea52:	f7 d0                	not    %eax
40ea54:	5f                   	pop    %edi
40ea55:	a3 58 13 41 00       	mov    %eax,0x411358
40ea5a:	5e                   	pop    %esi
40ea5b:	c9                   	leave
40ea5c:	c3                   	ret
40ea5d:	68 00 00 03 00       	push   $0x30000
40ea62:	68 00 00 01 00       	push   $0x10000
40ea67:	ff 15 5c 21 41 00    	call   *0x41215c
40ea6d:	59                   	pop    %ecx
40ea6e:	59                   	pop    %ecx
40ea6f:	c3                   	ret
40ea70:	ff 25 e8 21 41 00    	jmp    *0x4121e8
40ea76:	cc                   	int3
40ea77:	cc                   	int3
40ea78:	68 e0 ea 40 00       	push   $0x40eae0
40ea7d:	64 ff 35 00 00 00 00 	push   %fs:0x0
40ea84:	8b 44 24 10          	mov    0x10(%esp),%eax
40ea88:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40ea8c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
40ea90:	2b e0                	sub    %eax,%esp
40ea92:	53                   	push   %ebx
40ea93:	56                   	push   %esi
40ea94:	57                   	push   %edi
40ea95:	a1 54 13 41 00       	mov    0x411354,%eax
40ea9a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40ea9d:	33 c5                	xor    %ebp,%eax
40ea9f:	50                   	push   %eax
40eaa0:	89 65 e8             	mov    %esp,-0x18(%ebp)