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
40482b:	57                   	push   %edi
40482c:	e8 45 07 00 00       	call   0x404f76
404831:	83 c4 10             	add    $0x10,%esp
404834:	50                   	push   %eax
404835:	e8 f6 04 00 00       	call   0x404d30
40483a:	e8 5f 27 00 00       	call   0x406f9e
40483f:	cc                   	int3
404840:	55                   	push   %ebp
404841:	8b ec                	mov    %esp,%ebp
404843:	83 ec 38             	sub    $0x38,%esp
404846:	53                   	push   %ebx
404847:	8b 5d 08             	mov    0x8(%ebp),%ebx
40484a:	81 3b 03 00 00 80    	cmpl   $0x80000003,(%ebx)
404850:	0f 84 17 01 00 00    	je     0x40496d
404856:	56                   	push   %esi
404857:	57                   	push   %edi
404858:	e8 f9 f8 ff ff       	call   0x404156
40485d:	33 ff                	xor    %edi,%edi
40485f:	39 78 08             	cmp    %edi,0x8(%eax)
404862:	74 46                	je     0x4048aa
404864:	57                   	push   %edi
404865:	ff 15 60 f0 40 00    	call   *0x40f060
40486b:	8b f0                	mov    %eax,%esi
40486d:	e8 e4 f8 ff ff       	call   0x404156
404872:	39 70 08             	cmp    %esi,0x8(%eax)
404875:	74 33                	je     0x4048aa
404877:	81 3b 4d 4f 43 e0    	cmpl   $0xe0434f4d,(%ebx)
40487d:	74 2b                	je     0x4048aa
40487f:	81 3b 52 43 43 e0    	cmpl   $0xe0434352,(%ebx)
404885:	74 23                	je     0x4048aa
404887:	ff 75 24             	push   0x24(%ebp)
40488a:	ff 75 20             	push   0x20(%ebp)
40488d:	ff 75 18             	push   0x18(%ebp)
404890:	ff 75 14             	push   0x14(%ebp)
404893:	ff 75 10             	push   0x10(%ebp)
404896:	ff 75 0c             	push   0xc(%ebp)
404899:	53                   	push   %ebx
40489a:	e8 93 ef ff ff       	call   0x403832
40489f:	83 c4 1c             	add    $0x1c,%esp
4048a2:	85 c0                	test   %eax,%eax
4048a4:	0f 85 c1 00 00 00    	jne    0x40496b
4048aa:	8b 45 18             	mov    0x18(%ebp),%eax
4048ad:	89 45 ec             	mov    %eax,-0x14(%ebp)
4048b0:	89 7d f0             	mov    %edi,-0x10(%ebp)
4048b3:	39 78 0c             	cmp    %edi,0xc(%eax)
4048b6:	0f 86 b4 00 00 00    	jbe    0x404970
4048bc:	ff 75 20             	push   0x20(%ebp)
4048bf:	50                   	push   %eax
4048c0:	ff 75 14             	push   0x14(%ebp)
4048c3:	8d 45 ec             	lea    -0x14(%ebp),%eax
4048c6:	ff 75 1c             	push   0x1c(%ebp)
4048c9:	50                   	push   %eax
4048ca:	8d 45 dc             	lea    -0x24(%ebp),%eax
4048cd:	50                   	push   %eax
4048ce:	e8 92 ee ff ff       	call   0x403765
4048d3:	8b 55 e0             	mov    -0x20(%ebp),%edx
4048d6:	83 c4 18             	add    $0x18,%esp
4048d9:	8b 45 dc             	mov    -0x24(%ebp),%eax
4048dc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4048df:	89 55 fc             	mov    %edx,-0x4(%ebp)
4048e2:	3b 55 e8             	cmp    -0x18(%ebp),%edx
4048e5:	0f 83 80 00 00 00    	jae    0x40496b
4048eb:	6b ca 14             	imul   $0x14,%edx,%ecx
4048ee:	89 4d f8             	mov    %ecx,-0x8(%ebp)
4048f1:	8b 00                	mov    (%eax),%eax
4048f3:	8d 7d c8             	lea    -0x38(%ebp),%edi
4048f6:	6a 05                	push   $0x5
4048f8:	8b 70 10             	mov    0x10(%eax),%esi
4048fb:	8b 45 1c             	mov    0x1c(%ebp),%eax
4048fe:	03 f1                	add    %ecx,%esi
404900:	59                   	pop    %ecx
404901:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
404903:	39 45 c8             	cmp    %eax,-0x38(%ebp)
404906:	7f 4e                	jg     0x404956
404908:	3b 45 cc             	cmp    -0x34(%ebp),%eax
40490b:	7f 49                	jg     0x404956
40490d:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
404910:	8b 45 d8             	mov    -0x28(%ebp),%eax
404913:	c1 e1 04             	shl    $0x4,%ecx
404916:	83 c0 f0             	add    $0xfffffff0,%eax
404919:	03 c1                	add    %ecx,%eax
40491b:	8b 48 04             	mov    0x4(%eax),%ecx
40491e:	85 c9                	test   %ecx,%ecx
404920:	74 06                	je     0x404928
404922:	80 79 08 00          	cmpb   $0x0,0x8(%ecx)
404926:	75 2e                	jne    0x404956
404928:	f6 00 40             	testb  $0x40,(%eax)
40492b:	75 29                	jne    0x404956
40492d:	6a 00                	push   $0x0
40492f:	6a 01                	push   $0x1
404931:	ff 75 24             	push   0x24(%ebp)
404934:	8d 4d c8             	lea    -0x38(%ebp),%ecx
404937:	ff 75 20             	push   0x20(%ebp)
40493a:	51                   	push   %ecx
40493b:	6a 00                	push   $0x0
40493d:	50                   	push   %eax
40493e:	ff 75 18             	push   0x18(%ebp)
404941:	ff 75 14             	push   0x14(%ebp)
404944:	ff 75 10             	push   0x10(%ebp)
404947:	ff 75 0c             	push   0xc(%ebp)
40494a:	53                   	push   %ebx
40494b:	e8 cb fa ff ff       	call   0x40441b
404950:	8b 55 fc             	mov    -0x4(%ebp),%edx
404953:	83 c4 30             	add    $0x30,%esp
404956:	8b 4d f8             	mov    -0x8(%ebp),%ecx
404959:	42                   	inc    %edx
40495a:	8b 45 f4             	mov    -0xc(%ebp),%eax
40495d:	83 c1 14             	add    $0x14,%ecx
404960:	89 55 fc             	mov    %edx,-0x4(%ebp)
404963:	89 4d f8             	mov    %ecx,-0x8(%ebp)
404966:	3b 55 e8             	cmp    -0x18(%ebp),%edx
404969:	72 86                	jb     0x4048f1
40496b:	5f                   	pop    %edi
40496c:	5e                   	pop    %esi
40496d:	5b                   	pop    %ebx
40496e:	c9                   	leave
40496f:	c3                   	ret
404970:	e8 29 26 00 00       	call   0x406f9e
404975:	cc                   	int3
404976:	55                   	push   %ebp
404977:	8b ec                	mov    %esp,%ebp
404979:	8b 55 08             	mov    0x8(%ebp),%edx
40497c:	53                   	push   %ebx
40497d:	56                   	push   %esi
40497e:	57                   	push   %edi
40497f:	8b 42 04             	mov    0x4(%edx),%eax
404982:	85 c0                	test   %eax,%eax
404984:	74 76                	je     0x4049fc
404986:	8d 48 08             	lea    0x8(%eax),%ecx
404989:	80 39 00             	cmpb   $0x0,(%ecx)
40498c:	74 6e                	je     0x4049fc
40498e:	f6 02 80             	testb  $0x80,(%edx)
404991:	8b 7d 0c             	mov    0xc(%ebp),%edi
404994:	74 05                	je     0x40499b
404996:	f6 07 10             	testb  $0x10,(%edi)
404999:	75 61                	jne    0x4049fc
40499b:	8b 5f 04             	mov    0x4(%edi),%ebx
40499e:	33 f6                	xor    %esi,%esi
4049a0:	3b c3                	cmp    %ebx,%eax
4049a2:	74 30                	je     0x4049d4
4049a4:	8d 43 08             	lea    0x8(%ebx),%eax
4049a7:	8a 19                	mov    (%ecx),%bl
4049a9:	3a 18                	cmp    (%eax),%bl
4049ab:	75 1a                	jne    0x4049c7
4049ad:	84 db                	test   %bl,%bl
4049af:	74 12                	je     0x4049c3
4049b1:	8a 59 01             	mov    0x1(%ecx),%bl
4049b4:	3a 58 01             	cmp    0x1(%eax),%bl
4049b7:	75 0e                	jne    0x4049c7
4049b9:	83 c1 02             	add    $0x2,%ecx
4049bc:	83 c0 02             	add    $0x2,%eax
4049bf:	84 db                	test   %bl,%bl
4049c1:	75 e4                	jne    0x4049a7
4049c3:	8b c6                	mov    %esi,%eax
4049c5:	eb 05                	jmp    0x4049cc
4049c7:	1b c0                	sbb    %eax,%eax
4049c9:	83 c8 01             	or     $0x1,%eax
4049cc:	85 c0                	test   %eax,%eax
4049ce:	74 04                	je     0x4049d4
4049d0:	33 c0                	xor    %eax,%eax
4049d2:	eb 2b                	jmp    0x4049ff
4049d4:	f6 07 02             	testb  $0x2,(%edi)
4049d7:	74 05                	je     0x4049de
4049d9:	f6 02 08             	testb  $0x8,(%edx)
4049dc:	74 1a                	je     0x4049f8
4049de:	8b 45 10             	mov    0x10(%ebp),%eax
4049e1:	f6 00 01             	testb  $0x1,(%eax)
4049e4:	74 05                	je     0x4049eb
4049e6:	f6 02 01             	testb  $0x1,(%edx)
4049e9:	74 0d                	je     0x4049f8
4049eb:	f6 00 02             	testb  $0x2,(%eax)
4049ee:	74 05                	je     0x4049f5
4049f0:	f6 02 02             	testb  $0x2,(%edx)
4049f3:	74 03                	je     0x4049f8
4049f5:	33 f6                	xor    %esi,%esi