40441a:	cc                   	int3
40441b:	55                   	push   %ebp
40441c:	8b ec                	mov    %esp,%ebp
40441e:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
404422:	53                   	push   %ebx
404423:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
404426:	56                   	push   %esi
404427:	57                   	push   %edi
404428:	8b 7d 0c             	mov    0xc(%ebp),%edi
40442b:	74 10                	je     0x40443d
40442d:	ff 75 20             	push   0x20(%ebp)
404430:	53                   	push   %ebx
404431:	57                   	push   %edi
404432:	ff 75 08             	push   0x8(%ebp)
404435:	e8 48 ff ff ff       	call   0x404382
40443a:	83 c4 10             	add    $0x10,%esp
40443d:	8b 45 2c             	mov    0x2c(%ebp),%eax
404440:	85 c0                	test   %eax,%eax
404442:	75 02                	jne    0x404446
404444:	8b c7                	mov    %edi,%eax
404446:	ff 75 08             	push   0x8(%ebp)
404449:	50                   	push   %eax
40444a:	e8 09 f5 ff ff       	call   0x403958
40444f:	8b 75 24             	mov    0x24(%ebp),%esi
404452:	ff 36                	push   (%esi)
404454:	ff 75 18             	push   0x18(%ebp)
404457:	ff 75 14             	push   0x14(%ebp)
40445a:	57                   	push   %edi
40445b:	e8 71 09 00 00       	call   0x404dd1
404460:	8b 46 04             	mov    0x4(%esi),%eax
404463:	40                   	inc    %eax
404464:	50                   	push   %eax
404465:	ff 75 18             	push   0x18(%ebp)
404468:	57                   	push   %edi
404469:	e8 cf 0f 00 00       	call   0x40543d
40446e:	68 00 01 00 00       	push   $0x100
404473:	ff 75 28             	push   0x28(%ebp)
404476:	ff 73 0c             	push   0xc(%ebx)
404479:	ff 75 18             	push   0x18(%ebp)
40447c:	ff 75 10             	push   0x10(%ebp)
40447f:	57                   	push   %edi
404480:	ff 75 08             	push   0x8(%ebp)
404483:	e8 d9 06 00 00       	call   0x404b61
404488:	83 c4 38             	add    $0x38,%esp
40448b:	85 c0                	test   %eax,%eax
40448d:	74 07                	je     0x404496
40448f:	57                   	push   %edi
404490:	50                   	push   %eax
404491:	e8 92 f4 ff ff       	call   0x403928
404496:	5f                   	pop    %edi
404497:	5e                   	pop    %esi
404498:	5b                   	pop    %ebx
404499:	5d                   	pop    %ebp
40449a:	c3                   	ret
40449b:	55                   	push   %ebp
40449c:	8b ec                	mov    %esp,%ebp
40449e:	83 ec 64             	sub    $0x64,%esp
4044a1:	53                   	push   %ebx
4044a2:	56                   	push   %esi
4044a3:	57                   	push   %edi
4044a4:	8b 7d 18             	mov    0x18(%ebp),%edi
4044a7:	33 c0                	xor    %eax,%eax
4044a9:	57                   	push   %edi
4044aa:	ff 75 14             	push   0x14(%ebp)
4044ad:	89 45 f0             	mov    %eax,-0x10(%ebp)
4044b0:	ff 75 0c             	push   0xc(%ebp)
4044b3:	88 45 e8             	mov    %al,-0x18(%ebp)
4044b6:	e8 65 0f 00 00       	call   0x405420
4044bb:	8b c8                	mov    %eax,%ecx
4044bd:	83 c4 0c             	add    $0xc,%esp
4044c0:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4044c3:	83 f9 ff             	cmp    $0xffffffff,%ecx
4044c6:	0f 8c 6e 03 00 00    	jl     0x40483a
4044cc:	3b 4f 04             	cmp    0x4(%edi),%ecx
4044cf:	0f 8d 65 03 00 00    	jge    0x40483a
4044d5:	8b 5d 08             	mov    0x8(%ebp),%ebx
4044d8:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
4044de:	0f 85 f7 00 00 00    	jne    0x4045db
4044e4:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
4044e8:	0f 85 ed 00 00 00    	jne    0x4045db
4044ee:	81 7b 14 20 05 93 19 	cmpl   $0x19930520,0x14(%ebx)
4044f5:	74 16                	je     0x40450d
4044f7:	81 7b 14 21 05 93 19 	cmpl   $0x19930521,0x14(%ebx)
4044fe:	74 0d                	je     0x40450d
404500:	81 7b 14 22 05 93 19 	cmpl   $0x19930522,0x14(%ebx)
404507:	0f 85 ce 00 00 00    	jne    0x4045db
40450d:	33 f6                	xor    %esi,%esi
40450f:	39 73 1c             	cmp    %esi,0x1c(%ebx)
404512:	0f 85 c3 00 00 00    	jne    0x4045db
404518:	e8 39 fc ff ff       	call   0x404156
40451d:	39 70 10             	cmp    %esi,0x10(%eax)
404520:	0f 84 ae 02 00 00    	je     0x4047d4
404526:	e8 2b fc ff ff       	call   0x404156
40452b:	8b 58 10             	mov    0x10(%eax),%ebx
40452e:	e8 23 fc ff ff       	call   0x404156
404533:	c6 45 e8 01          	movb   $0x1,-0x18(%ebp)
404537:	8b 40 14             	mov    0x14(%eax),%eax
40453a:	89 45 fc             	mov    %eax,-0x4(%ebp)
40453d:	85 db                	test   %ebx,%ebx
40453f:	0f 84 f5 02 00 00    	je     0x40483a
404545:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
40454b:	75 2a                	jne    0x404577
40454d:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
404551:	75 24                	jne    0x404577
404553:	81 7b 14 20 05 93 19 	cmpl   $0x19930520,0x14(%ebx)
40455a:	74 12                	je     0x40456e
40455c:	81 7b 14 21 05 93 19 	cmpl   $0x19930521,0x14(%ebx)
404563:	74 09                	je     0x40456e
404565:	81 7b 14 22 05 93 19 	cmpl   $0x19930522,0x14(%ebx)
40456c:	75 09                	jne    0x404577
40456e:	39 73 1c             	cmp    %esi,0x1c(%ebx)
404571:	0f 84 c3 02 00 00    	je     0x40483a
404577:	e8 da fb ff ff       	call   0x404156
40457c:	39 70 1c             	cmp    %esi,0x1c(%eax)
40457f:	74 62                	je     0x4045e3
404581:	e8 d0 fb ff ff       	call   0x404156
404586:	8b 40 1c             	mov    0x1c(%eax),%eax
404589:	89 45 f4             	mov    %eax,-0xc(%ebp)
40458c:	e8 c5 fb ff ff       	call   0x404156
404591:	ff 75 f4             	push   -0xc(%ebp)
404594:	53                   	push   %ebx
404595:	89 70 1c             	mov    %esi,0x1c(%eax)
404598:	e8 1c 09 00 00       	call   0x404eb9
40459d:	59                   	pop    %ecx
40459e:	59                   	pop    %ecx
40459f:	84 c0                	test   %al,%al
4045a1:	75 40                	jne    0x4045e3
4045a3:	8b 7d f4             	mov    -0xc(%ebp),%edi
4045a6:	39 37                	cmp    %esi,(%edi)
4045a8:	0f 8e 2b 02 00 00    	jle    0x4047d9
4045ae:	8b 47 04             	mov    0x4(%edi),%eax
4045b1:	68 e0 68 41 00       	push   $0x4168e0
4045b6:	8b 4c 06 04          	mov    0x4(%esi,%eax,1),%ecx
4045ba:	e8 83 05 00 00       	call   0x404b42
4045bf:	84 c0                	test   %al,%al
4045c1:	0f 85 17 02 00 00    	jne    0x4047de
4045c7:	8b 45 f0             	mov    -0x10(%ebp),%eax
4045ca:	83 c6 10             	add    $0x10,%esi
4045cd:	40                   	inc    %eax
4045ce:	89 45 f0             	mov    %eax,-0x10(%ebp)
4045d1:	3b 07                	cmp    (%edi),%eax
4045d3:	0f 8d 00 02 00 00    	jge    0x4047d9
4045d9:	eb d3                	jmp    0x4045ae
4045db:	8b 55 10             	mov    0x10(%ebp),%edx
4045de:	89 55 fc             	mov    %edx,-0x4(%ebp)
4045e1:	eb 06                	jmp    0x4045e9
4045e3:	8b 55 fc             	mov    -0x4(%ebp),%edx
4045e6:	8b 4d f8             	mov    -0x8(%ebp),%ecx
4045e9:	33 c0                	xor    %eax,%eax
4045eb:	89 7d d0             	mov    %edi,-0x30(%ebp)
4045ee:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4045f1:	81 3b 63 73 6d e0    	cmpl   $0xe06d7363,(%ebx)
4045f7:	0f 85 a6 01 00 00    	jne    0x4047a3
4045fd:	83 7b 10 03          	cmpl   $0x3,0x10(%ebx)
404601:	0f 85 9c 01 00 00    	jne    0x4047a3
404607:	81 7b 14 20 05 93 19 	cmpl   $0x19930520,0x14(%ebx)
40460e:	74 16                	je     0x404626
404610:	81 7b 14 21 05 93 19 	cmpl   $0x19930521,0x14(%ebx)
404617:	74 0d                	je     0x404626
404619:	81 7b 14 22 05 93 19 	cmpl   $0x19930522,0x14(%ebx)
404620:	0f 85 7d 01 00 00    	jne    0x4047a3
404626:	8b 75 24             	mov    0x24(%ebp),%esi
404629:	39 47 0c             	cmp    %eax,0xc(%edi)
40462c:	0f 86 11 01 00 00    	jbe    0x404743
404632:	ff 75 20             	push   0x20(%ebp)
404635:	8d 45 d0             	lea    -0x30(%ebp),%eax
404638:	57                   	push   %edi
404639:	ff 75 14             	push   0x14(%ebp)
40463c:	51                   	push   %ecx
40463d:	50                   	push   %eax
40463e:	8d 45 c0             	lea    -0x40(%ebp),%eax
404641:	50                   	push   %eax
404642:	e8 1e f1 ff ff       	call   0x403765
404647:	8b 55 c4             	mov    -0x3c(%ebp),%edx
40464a:	83 c4 18             	add    $0x18,%esp
40464d:	8b 45 c0             	mov    -0x40(%ebp),%eax
404650:	89 45 d8             	mov    %eax,-0x28(%ebp)
404653:	89 55 f4             	mov    %edx,-0xc(%ebp)
404656:	3b 55 cc             	cmp    -0x34(%ebp),%edx
404659:	0f 83 e4 00 00 00    	jae    0x404743
40465f:	6b ca 14             	imul   $0x14,%edx,%ecx
404662:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
404665:	8b 00                	mov    (%eax),%eax
404667:	8d 7d 9c             	lea    -0x64(%ebp),%edi
40466a:	6a 05                	push   $0x5
40466c:	8b 70 10             	mov    0x10(%eax),%esi
40466f:	8b 45 f8             	mov    -0x8(%ebp),%eax
404672:	03 f1                	add    %ecx,%esi
404674:	59                   	pop    %ecx
404675:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
404677:	39 45 9c             	cmp    %eax,-0x64(%ebp)
40467a:	0f 8f a4 00 00 00    	jg     0x404724
404680:	3b 45 a0             	cmp    -0x60(%ebp),%eax
404683:	0f 8f 9b 00 00 00    	jg     0x404724
404689:	33 c9                	xor    %ecx,%ecx
40468b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
40468e:	39 4d a8             	cmp    %ecx,-0x58(%ebp)
404691:	0f 84 8d 00 00 00    	je     0x404724
404697:	8b 53 1c             	mov    0x1c(%ebx),%edx
40469a:	8b 42 0c             	mov    0xc(%edx),%eax
40469d:	8b 30                	mov    (%eax),%esi
40469f:	83 c0 04             	add    $0x4,%eax
4046a2:	89 45 e0             	mov    %eax,-0x20(%ebp)
4046a5:	8b 45 ac             	mov    -0x54(%ebp),%eax
4046a8:	89 75 dc             	mov    %esi,-0x24(%ebp)
4046ab:	89 45 ec             	mov    %eax,-0x14(%ebp)
4046ae:	8b f0                	mov    %eax,%esi
4046b0:	8d 7d b0             	lea    -0x50(%ebp),%edi
4046b3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4046b4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4046b5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4046b6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4046b7:	8b 75 dc             	mov    -0x24(%ebp),%esi
4046ba:	8b 7d e0             	mov    -0x20(%ebp),%edi
4046bd:	85 f6                	test   %esi,%esi
4046bf:	7e 24                	jle    0x4046e5
4046c1:	52                   	push   %edx
4046c2:	ff 37                	push   (%edi)
4046c4:	8d 45 b0             	lea    -0x50(%ebp),%eax
4046c7:	50                   	push   %eax
4046c8:	e8 a9 02 00 00       	call   0x404976
4046cd:	83 c4 0c             	add    $0xc,%esp
4046d0:	85 c0                	test   %eax,%eax
4046d2:	75 22                	jne    0x4046f6
4046d4:	8b 53 1c             	mov    0x1c(%ebx),%edx
4046d7:	4e                   	dec    %esi
4046d8:	83 c7 04             	add    $0x4,%edi
4046db:	85 f6                	test   %esi,%esi
4046dd:	7f e2                	jg     0x4046c1
4046df:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4046e2:	8b 45 ec             	mov    -0x14(%ebp),%eax
4046e5:	41                   	inc    %ecx
4046e6:	83 c0 10             	add    $0x10,%eax
4046e9:	89 4d f0             	mov    %ecx,-0x10(%ebp)
4046ec:	89 45 ec             	mov    %eax,-0x14(%ebp)
4046ef:	3b 4d a8             	cmp    -0x58(%ebp),%ecx
4046f2:	75 ba                	jne    0x4046ae
4046f4:	eb 2b                	jmp    0x404721
4046f6:	ff 75 1c             	push   0x1c(%ebp)
4046f9:	8d 45 9c             	lea    -0x64(%ebp),%eax
4046fc:	ff 75 e8             	push   -0x18(%ebp)
4046ff:	ff 75 24             	push   0x24(%ebp)
404702:	ff 75 20             	push   0x20(%ebp)
404705:	50                   	push   %eax
404706:	ff 37                	push   (%edi)
404708:	8d 45 b0             	lea    -0x50(%ebp),%eax
40470b:	50                   	push   %eax
40470c:	ff 75 18             	push   0x18(%ebp)
40470f:	ff 75 14             	push   0x14(%ebp)
404712:	ff 75 fc             	push   -0x4(%ebp)
404715:	ff 75 0c             	push   0xc(%ebp)
404718:	53                   	push   %ebx
404719:	e8 fd fc ff ff       	call   0x40441b
40471e:	83 c4 30             	add    $0x30,%esp
404721:	8b 55 f4             	mov    -0xc(%ebp),%edx
404724:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
404727:	42                   	inc    %edx
404728:	8b 45 d8             	mov    -0x28(%ebp),%eax
40472b:	83 c1 14             	add    $0x14,%ecx
40472e:	89 55 f4             	mov    %edx,-0xc(%ebp)
404731:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
404734:	3b 55 cc             	cmp    -0x34(%ebp),%edx
404737:	0f 82 28 ff ff ff    	jb     0x404665
40473d:	8b 7d 18             	mov    0x18(%ebp),%edi
404740:	8b 75 24             	mov    0x24(%ebp),%esi
404743:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
404747:	74 0a                	je     0x404753
404749:	6a 01                	push   $0x1
40474b:	53                   	push   %ebx
40474c:	e8 ca f3 ff ff       	call   0x403b1b
404751:	59                   	pop    %ecx
404752:	59                   	pop    %ecx
404753:	8b 07                	mov    (%edi),%eax
404755:	25 ff ff ff 1f       	and    $0x1fffffff,%eax
40475a:	3d 21 05 93 19       	cmp    $0x19930521,%eax
40475f:	72 68                	jb     0x4047c9
404761:	8b 47 20             	mov    0x20(%edi),%eax
404764:	c1 e8 02             	shr    $0x2,%eax
404767:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
40476b:	75 0c                	jne    0x404779
40476d:	a8 01                	test   $0x1,%al
40476f:	74 58                	je     0x4047c9
404771:	83 7d 20 00          	cmpl   $0x0,0x20(%ebp)
404775:	75 52                	jne    0x4047c9
404777:	eb 04                	jmp    0x40477d
404779:	a8 01                	test   $0x1,%al
40477b:	74 15                	je     0x404792
40477d:	e8 d4 f9 ff ff       	call   0x404156
404782:	89 58 10             	mov    %ebx,0x10(%eax)
404785:	e8 cc f9 ff ff       	call   0x404156
40478a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40478d:	89 48 14             	mov    %ecx,0x14(%eax)
404790:	eb 47                	jmp    0x4047d9
404792:	ff 77 1c             	push   0x1c(%edi)
404795:	53                   	push   %ebx
404796:	e8 1e 07 00 00       	call   0x404eb9
40479b:	59                   	pop    %ecx
40479c:	59                   	pop    %ecx
40479d:	84 c0                	test   %al,%al
40479f:	74 5d                	je     0x4047fe
4047a1:	eb 26                	jmp    0x4047c9
4047a3:	39 47 0c             	cmp    %eax,0xc(%edi)
4047a6:	76 21                	jbe    0x4047c9
4047a8:	38 45 1c             	cmp    %al,0x1c(%ebp)
4047ab:	0f 85 89 00 00 00    	jne    0x40483a
4047b1:	ff 75 24             	push   0x24(%ebp)
4047b4:	ff 75 20             	push   0x20(%ebp)
4047b7:	51                   	push   %ecx
4047b8:	57                   	push   %edi
4047b9:	ff 75 14             	push   0x14(%ebp)
4047bc:	52                   	push   %edx
4047bd:	ff 75 0c             	push   0xc(%ebp)
4047c0:	53                   	push   %ebx
4047c1:	e8 7a 00 00 00       	call   0x404840
4047c6:	83 c4 20             	add    $0x20,%esp
4047c9:	e8 88 f9 ff ff       	call   0x404156
4047ce:	83 78 1c 00          	cmpl   $0x0,0x1c(%eax)
4047d2:	75 66                	jne    0x40483a
4047d4:	5f                   	pop    %edi
4047d5:	5e                   	pop    %esi
4047d6:	5b                   	pop    %ebx
4047d7:	c9                   	leave
4047d8:	c3                   	ret
4047d9:	e8 84 27 00 00       	call   0x406f62
4047de:	6a 01                	push   $0x1
4047e0:	53                   	push   %ebx
4047e1:	e8 35 f3 ff ff       	call   0x403b1b
4047e6:	59                   	pop    %ecx
4047e7:	59                   	pop    %ecx
4047e8:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
4047eb:	e8 3a 03 00 00       	call   0x404b2a
4047f0:	68 54 49 41 00       	push   $0x414954
4047f5:	8d 45 c4             	lea    -0x3c(%ebp),%eax
4047f8:	50                   	push   %eax
4047f9:	e8 5d f5 ff ff       	call   0x403d5b
4047fe:	e8 53 f9 ff ff       	call   0x404156
404803:	89 58 10             	mov    %ebx,0x10(%eax)
404806:	e8 4b f9 ff ff       	call   0x404156
40480b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40480e:	89 48 14             	mov    %ecx,0x14(%eax)
404811:	85 f6                	test   %esi,%esi
404813:	75 03                	jne    0x404818
404815:	8b 75 0c             	mov    0xc(%ebp),%esi
404818:	53                   	push   %ebx
404819:	56                   	push   %esi
40481a:	e8 39 f1 ff ff       	call   0x403958
40481f:	57                   	push   %edi
404820:	ff 75 14             	push   0x14(%ebp)
404823:	ff 75 0c             	push   0xc(%ebp)
404826:	e8 8e 05 00 00       	call   0x404db9