4044f0:	8b ff                	mov    %edi,%edi
4044f2:	55                   	push   %ebp
4044f3:	8b ec                	mov    %esp,%ebp
4044f5:	8b 45 08             	mov    0x8(%ebp),%eax
4044f8:	8b 00                	mov    (%eax),%eax
4044fa:	81 38 63 73 6d e0    	cmpl   $0xe06d7363,(%eax)
404500:	75 2b                	jne    0x40452d
404502:	83 78 10 03          	cmpl   $0x3,0x10(%eax)
404506:	75 25                	jne    0x40452d
404508:	8b 40 14             	mov    0x14(%eax),%eax
40450b:	3d 20 05 93 19       	cmp    $0x19930520,%eax
404510:	74 15                	je     0x404527
404512:	3d 21 05 93 19       	cmp    $0x19930521,%eax
404517:	74 0e                	je     0x404527
404519:	3d 22 05 93 19       	cmp    $0x19930522,%eax
40451e:	74 07                	je     0x404527
404520:	3d 00 40 99 01       	cmp    $0x1994000,%eax
404525:	75 06                	jne    0x40452d
404527:	ff 15 54 61 40 00    	call   *0x406154
40452d:	33 c0                	xor    %eax,%eax
40452f:	5d                   	pop    %ebp
404530:	c2 04 00             	ret    $0x4
404533:	cc                   	int3
404534:	cc                   	int3
404535:	cc                   	int3
404536:	cc                   	int3
404537:	cc                   	int3
404538:	cc                   	int3
404539:	cc                   	int3
40453a:	cc                   	int3
40453b:	cc                   	int3
40453c:	cc                   	int3
40453d:	cc                   	int3
40453e:	cc                   	int3
40453f:	cc                   	int3
404540:	68 f0 44 40 00       	push   $0x4044f0
404545:	ff 15 e8 60 40 00    	call   *0x4060e8
40454b:	33 c0                	xor    %eax,%eax
40454d:	c3                   	ret
40454e:	ff 25 80 61 40 00    	jmp    *0x406180
404554:	6a 0c                	push   $0xc
404556:	68 60 4a 40 00       	push   $0x404a60
40455b:	e8 b8 02 00 00       	call   0x404818
404560:	33 c9                	xor    %ecx,%ecx
404562:	8b 45 08             	mov    0x8(%ebp),%eax
404565:	85 c0                	test   %eax,%eax
404567:	74 4b                	je     0x4045b4
404569:	83 f8 ff             	cmp    $0xffffffff,%eax
40456c:	74 46                	je     0x4045b4
40456e:	89 4d fc             	mov    %ecx,-0x4(%ebp)
404571:	ba 4d 5a 00 00       	mov    $0x5a4d,%edx
404576:	66 39 10             	cmp    %dx,(%eax)
404579:	75 32                	jne    0x4045ad
40457b:	8b 50 3c             	mov    0x3c(%eax),%edx
40457e:	85 d2                	test   %edx,%edx
404580:	78 2b                	js     0x4045ad
404582:	81 fa 00 00 00 10    	cmp    $0x10000000,%edx
404588:	73 23                	jae    0x4045ad
40458a:	03 c2                	add    %edx,%eax
40458c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40458f:	8b 08                	mov    (%eax),%ecx
404591:	81 e9 50 45 00 00    	sub    $0x4550,%ecx
404597:	f7 d9                	neg    %ecx
404599:	1b c9                	sbb    %ecx,%ecx
40459b:	f7 d1                	not    %ecx
40459d:	23 c8                	and    %eax,%ecx
40459f:	eb 09                	jmp    0x4045aa
4045a1:	33 c0                	xor    %eax,%eax
4045a3:	40                   	inc    %eax
4045a4:	c3                   	ret
4045a5:	8b 65 e8             	mov    -0x18(%ebp),%esp
4045a8:	33 c9                	xor    %ecx,%ecx
4045aa:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
4045ad:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4045b4:	8b c1                	mov    %ecx,%eax
4045b6:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4045b9:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4045c0:	59                   	pop    %ecx
4045c1:	5f                   	pop    %edi
4045c2:	5e                   	pop    %esi
4045c3:	5b                   	pop    %ebx
4045c4:	c9                   	leave
4045c5:	c2 04 00             	ret    $0x4
4045c8:	8b ff                	mov    %edi,%edi
4045ca:	55                   	push   %ebp
4045cb:	8b ec                	mov    %esp,%ebp
4045cd:	6a 00                	push   $0x0
4045cf:	ff 15 5c 60 40 00    	call   *0x40605c
4045d5:	85 c0                	test   %eax,%eax
4045d7:	74 20                	je     0x4045f9
4045d9:	50                   	push   %eax
4045da:	e8 75 ff ff ff       	call   0x404554
4045df:	85 c0                	test   %eax,%eax
4045e1:	74 16                	je     0x4045f9
4045e3:	0f b7 48 5c          	movzwl 0x5c(%eax),%ecx
4045e7:	6a 02                	push   $0x2
4045e9:	58                   	pop    %eax
4045ea:	66 3b c8             	cmp    %ax,%cx
4045ed:	74 0d                	je     0x4045fc
4045ef:	83 f9 03             	cmp    $0x3,%ecx
4045f2:	75 05                	jne    0x4045f9
4045f4:	33 c0                	xor    %eax,%eax
4045f6:	40                   	inc    %eax
4045f7:	5d                   	pop    %ebp
4045f8:	c3                   	ret
4045f9:	8b 45 08             	mov    0x8(%ebp),%eax
4045fc:	5d                   	pop    %ebp
4045fd:	c3                   	ret
4045fe:	ff 25 78 61 40 00    	jmp    *0x406178
404604:	cc                   	int3
404605:	cc                   	int3
404606:	cc                   	int3
404607:	cc                   	int3
404608:	cc                   	int3
404609:	cc                   	int3
40460a:	cc                   	int3
40460b:	cc                   	int3
40460c:	cc                   	int3
40460d:	cc                   	int3
40460e:	cc                   	int3
40460f:	cc                   	int3
404610:	33 c0                	xor    %eax,%eax
404612:	c3                   	ret
404613:	cc                   	int3
404614:	cc                   	int3
404615:	cc                   	int3
404616:	cc                   	int3
404617:	cc                   	int3
404618:	cc                   	int3
404619:	cc                   	int3
40461a:	cc                   	int3
40461b:	cc                   	int3
40461c:	cc                   	int3
40461d:	cc                   	int3
40461e:	cc                   	int3
40461f:	cc                   	int3
404620:	8b ff                	mov    %edi,%edi
404622:	55                   	push   %ebp
404623:	8b ec                	mov    %esp,%ebp
404625:	8b 45 08             	mov    0x8(%ebp),%eax
404628:	33 d2                	xor    %edx,%edx
40462a:	53                   	push   %ebx
40462b:	56                   	push   %esi
40462c:	57                   	push   %edi
40462d:	8b 48 3c             	mov    0x3c(%eax),%ecx
404630:	03 c8                	add    %eax,%ecx
404632:	0f b7 41 14          	movzwl 0x14(%ecx),%eax
404636:	0f b7 59 06          	movzwl 0x6(%ecx),%ebx
40463a:	83 c0 18             	add    $0x18,%eax
40463d:	03 c1                	add    %ecx,%eax
40463f:	85 db                	test   %ebx,%ebx
404641:	74 1b                	je     0x40465e
404643:	8b 7d 0c             	mov    0xc(%ebp),%edi
404646:	8b 70 0c             	mov    0xc(%eax),%esi
404649:	3b fe                	cmp    %esi,%edi
40464b:	72 09                	jb     0x404656
40464d:	8b 48 08             	mov    0x8(%eax),%ecx
404650:	03 ce                	add    %esi,%ecx
404652:	3b f9                	cmp    %ecx,%edi
404654:	72 0a                	jb     0x404660
404656:	42                   	inc    %edx
404657:	83 c0 28             	add    $0x28,%eax
40465a:	3b d3                	cmp    %ebx,%edx
40465c:	72 e8                	jb     0x404646
40465e:	33 c0                	xor    %eax,%eax
404660:	5f                   	pop    %edi
404661:	5e                   	pop    %esi
404662:	5b                   	pop    %ebx
404663:	5d                   	pop    %ebp
404664:	c3                   	ret
404665:	cc                   	int3
404666:	cc                   	int3
404667:	cc                   	int3
404668:	cc                   	int3
404669:	cc                   	int3
40466a:	cc                   	int3
40466b:	cc                   	int3
40466c:	cc                   	int3
40466d:	cc                   	int3
40466e:	cc                   	int3
40466f:	cc                   	int3
404670:	8b ff                	mov    %edi,%edi
404672:	55                   	push   %ebp
404673:	8b ec                	mov    %esp,%ebp
404675:	6a fe                	push   $0xfffffffe
404677:	68 80 4a 40 00       	push   $0x404a80
40467c:	68 80 48 40 00       	push   $0x404880
404681:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
404687:	50                   	push   %eax
404688:	83 ec 08             	sub    $0x8,%esp
40468b:	53                   	push   %ebx
40468c:	56                   	push   %esi
40468d:	57                   	push   %edi
40468e:	a1 14 50 40 00       	mov    0x405014,%eax
404693:	31 45 f8             	xor    %eax,-0x8(%ebp)
404696:	33 c5                	xor    %ebp,%eax
404698:	50                   	push   %eax
404699:	8d 45 f0             	lea    -0x10(%ebp),%eax
40469c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4046a2:	89 65 e8             	mov    %esp,-0x18(%ebp)
4046a5:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
4046ac:	68 00 00 40 00       	push   $0x400000
4046b1:	e8 7a 00 00 00       	call   0x404730
4046b6:	83 c4 04             	add    $0x4,%esp
4046b9:	85 c0                	test   %eax,%eax
4046bb:	74 54                	je     0x404711
4046bd:	8b 45 08             	mov    0x8(%ebp),%eax
4046c0:	2d 00 00 40 00       	sub    $0x400000,%eax
4046c5:	50                   	push   %eax
4046c6:	68 00 00 40 00       	push   $0x400000
4046cb:	e8 50 ff ff ff       	call   0x404620
4046d0:	83 c4 08             	add    $0x8,%esp
4046d3:	85 c0                	test   %eax,%eax
4046d5:	74 3a                	je     0x404711
4046d7:	8b 40 24             	mov    0x24(%eax),%eax
4046da:	c1 e8 1f             	shr    $0x1f,%eax
4046dd:	f7 d0                	not    %eax
4046df:	83 e0 01             	and    $0x1,%eax
4046e2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4046e9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4046ec:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4046f3:	59                   	pop    %ecx
4046f4:	5f                   	pop    %edi
4046f5:	5e                   	pop    %esi
4046f6:	5b                   	pop    %ebx
4046f7:	8b e5                	mov    %ebp,%esp
4046f9:	5d                   	pop    %ebp
4046fa:	c3                   	ret
4046fb:	8b 45 ec             	mov    -0x14(%ebp),%eax
4046fe:	8b 00                	mov    (%eax),%eax
404700:	33 c9                	xor    %ecx,%ecx
404702:	81 38 05 00 00 c0    	cmpl   $0xc0000005,(%eax)
404708:	0f 94 c1             	sete   %cl
40470b:	8b c1                	mov    %ecx,%eax
40470d:	c3                   	ret
40470e:	8b 65 e8             	mov    -0x18(%ebp),%esp
404711:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404718:	33 c0                	xor    %eax,%eax
40471a:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40471d:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
404724:	59                   	pop    %ecx
404725:	5f                   	pop    %edi
404726:	5e                   	pop    %esi
404727:	5b                   	pop    %ebx
404728:	8b e5                	mov    %ebp,%esp
40472a:	5d                   	pop    %ebp
40472b:	c3                   	ret
40472c:	cc                   	int3
40472d:	cc                   	int3
40472e:	cc                   	int3
40472f:	cc                   	int3
404730:	8b ff                	mov    %edi,%edi
404732:	55                   	push   %ebp
404733:	8b ec                	mov    %esp,%ebp
404735:	8b 4d 08             	mov    0x8(%ebp),%ecx
404738:	b8 4d 5a 00 00       	mov    $0x5a4d,%eax
40473d:	66 39 01             	cmp    %ax,(%ecx)
404740:	75 1f                	jne    0x404761
404742:	8b 41 3c             	mov    0x3c(%ecx),%eax
404745:	03 c1                	add    %ecx,%eax
404747:	81 38 50 45 00 00    	cmpl   $0x4550,(%eax)
40474d:	75 12                	jne    0x404761
40474f:	b9 0b 01 00 00       	mov    $0x10b,%ecx
404754:	66 39 48 18          	cmp    %cx,0x18(%eax)
404758:	75 07                	jne    0x404761
40475a:	b8 01 00 00 00       	mov    $0x1,%eax
40475f:	5d                   	pop    %ebp
404760:	c3                   	ret
404761:	33 c0                	xor    %eax,%eax
404763:	5d                   	pop    %ebp
404764:	c3                   	ret
404765:	8b ff                	mov    %edi,%edi
404767:	55                   	push   %ebp
404768:	8b ec                	mov    %esp,%ebp
40476a:	83 ec 14             	sub    $0x14,%esp
40476d:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
404771:	83 65 f8 00          	andl   $0x0,-0x8(%ebp)
404775:	a1 14 50 40 00       	mov    0x405014,%eax
40477a:	56                   	push   %esi
40477b:	57                   	push   %edi
40477c:	bf 4e e6 40 bb       	mov    $0xbb40e64e,%edi
404781:	be 00 00 ff ff       	mov    $0xffff0000,%esi
404786:	3b c7                	cmp    %edi,%eax
404788:	74 04                	je     0x40478e
40478a:	85 c6                	test   %eax,%esi
40478c:	75 64                	jne    0x4047f2
40478e:	8d 45 f4             	lea    -0xc(%ebp),%eax
404791:	50                   	push   %eax
404792:	ff 15 14 61 40 00    	call   *0x406114
404798:	8b 45 f8             	mov    -0x8(%ebp),%eax
40479b:	33 45 f4             	xor    -0xc(%ebp),%eax
40479e:	89 45 fc             	mov    %eax,-0x4(%ebp)
4047a1:	ff 15 54 60 40 00    	call   *0x406054
4047a7:	31 45 fc             	xor    %eax,-0x4(%ebp)
4047aa:	ff 15 1c 60 40 00    	call   *0x40601c
4047b0:	31 45 fc             	xor    %eax,-0x4(%ebp)
4047b3:	ff 15 18 61 40 00    	call   *0x406118
4047b9:	33 45 fc             	xor    -0x4(%ebp),%eax
4047bc:	8d 4d fc             	lea    -0x4(%ebp),%ecx
4047bf:	33 c1                	xor    %ecx,%eax
4047c1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4047c4:	8d 45 ec             	lea    -0x14(%ebp),%eax
4047c7:	50                   	push   %eax
4047c8:	ff 15 04 61 40 00    	call   *0x406104
4047ce:	8b 45 f0             	mov    -0x10(%ebp),%eax
4047d1:	33 45 ec             	xor    -0x14(%ebp),%eax
4047d4:	33 45 fc             	xor    -0x4(%ebp),%eax
4047d7:	8b c8                	mov    %eax,%ecx
4047d9:	3b c7                	cmp    %edi,%eax
4047db:	74 08                	je     0x4047e5
4047dd:	85 35 14 50 40 00    	test   %esi,0x405014
4047e3:	75 07                	jne    0x4047ec
4047e5:	b8 4f e6 40 bb       	mov    $0xbb40e64f,%eax
4047ea:	8b c8                	mov    %eax,%ecx
4047ec:	89 0d 14 50 40 00    	mov    %ecx,0x405014
4047f2:	f7 d0                	not    %eax
4047f4:	5f                   	pop    %edi
4047f5:	a3 18 50 40 00       	mov    %eax,0x405018
4047fa:	5e                   	pop    %esi
4047fb:	c9                   	leave
4047fc:	c3                   	ret
4047fd:	68 00 00 03 00       	push   $0x30000
404802:	68 00 00 01 00       	push   $0x10000
404807:	ff 15 58 61 40 00    	call   *0x406158
40480d:	59                   	pop    %ecx
40480e:	59                   	pop    %ecx
40480f:	c3                   	ret
404810:	ff 25 24 61 40 00    	jmp    *0x406124
404816:	cc                   	int3
404817:	cc                   	int3
404818:	68 80 48 40 00       	push   $0x404880
40481d:	64 ff 35 00 00 00 00 	push   %fs:0x0
404824:	8b 44 24 10          	mov    0x10(%esp),%eax
404828:	89 6c 24 10          	mov    %ebp,0x10(%esp)
40482c:	8d 6c 24 10          	lea    0x10(%esp),%ebp
404830:	2b e0                	sub    %eax,%esp
404832:	53                   	push   %ebx
404833:	56                   	push   %esi
404834:	57                   	push   %edi
404835:	a1 14 50 40 00       	mov    0x405014,%eax
40483a:	31 45 fc             	xor    %eax,-0x4(%ebp)
40483d:	33 c5                	xor    %ebp,%eax
40483f:	50                   	push   %eax
404840:	89 65 e8             	mov    %esp,-0x18(%ebp)
404843:	ff 75 f8             	push   -0x8(%ebp)
404846:	8b 45 fc             	mov    -0x4(%ebp),%eax
404849:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
404850:	89 45 f8             	mov    %eax,-0x8(%ebp)
404853:	8d 45 f0             	lea    -0x10(%ebp),%eax
404856:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0