40574d:	cc                   	int3
40574e:	cc                   	int3
40574f:	cc                   	int3
405750:	8b ff                	mov    %edi,%edi
405752:	55                   	push   %ebp
405753:	8b ec                	mov    %esp,%ebp
405755:	5d                   	pop    %ebp
405756:	e9 56 0b 00 00       	jmp    0x4062b1
40575b:	cc                   	int3
40575c:	cc                   	int3
40575d:	cc                   	int3
40575e:	cc                   	int3
40575f:	cc                   	int3
405760:	8b ff                	mov    %edi,%edi
405762:	55                   	push   %ebp
405763:	8b ec                	mov    %esp,%ebp
405765:	5d                   	pop    %ebp
405766:	e9 92 0b 00 00       	jmp    0x4062fd
40576b:	cc                   	int3
40576c:	cc                   	int3
40576d:	cc                   	int3
40576e:	cc                   	int3
40576f:	cc                   	int3
405770:	8b ff                	mov    %edi,%edi
405772:	55                   	push   %ebp
405773:	8b ec                	mov    %esp,%ebp
405775:	83 ec 10             	sub    $0x10,%esp
405778:	8b 45 08             	mov    0x8(%ebp),%eax
40577b:	56                   	push   %esi
40577c:	57                   	push   %edi
40577d:	89 45 f0             	mov    %eax,-0x10(%ebp)
405780:	8d 75 f0             	lea    -0x10(%ebp),%esi
405783:	8b 45 0c             	mov    0xc(%ebp),%eax
405786:	83 ec 10             	sub    $0x10,%esp
405789:	89 45 f4             	mov    %eax,-0xc(%ebp)
40578c:	8b fc                	mov    %esp,%edi
40578e:	8b 45 10             	mov    0x10(%ebp),%eax
405791:	89 45 f8             	mov    %eax,-0x8(%ebp)
405794:	8b 45 14             	mov    0x14(%ebp),%eax
405797:	89 45 fc             	mov    %eax,-0x4(%ebp)
40579a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40579b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40579c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40579d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40579e:	e8 a6 0b 00 00       	call   0x406349
4057a3:	5f                   	pop    %edi
4057a4:	5e                   	pop    %esi
4057a5:	c9                   	leave
4057a6:	c2 10 00             	ret    $0x10
4057a9:	cc                   	int3
4057aa:	cc                   	int3
4057ab:	cc                   	int3
4057ac:	cc                   	int3
4057ad:	cc                   	int3
4057ae:	cc                   	int3
4057af:	cc                   	int3
4057b0:	8b ff                	mov    %edi,%edi
4057b2:	55                   	push   %ebp
4057b3:	8b ec                	mov    %esp,%ebp
4057b5:	83 ec 0c             	sub    $0xc,%esp
4057b8:	8b 45 08             	mov    0x8(%ebp),%eax
4057bb:	56                   	push   %esi
4057bc:	57                   	push   %edi
4057bd:	89 45 f4             	mov    %eax,-0xc(%ebp)
4057c0:	8d 75 f4             	lea    -0xc(%ebp),%esi
4057c3:	8b 45 0c             	mov    0xc(%ebp),%eax
4057c6:	83 ec 0c             	sub    $0xc,%esp
4057c9:	89 45 f8             	mov    %eax,-0x8(%ebp)
4057cc:	8b fc                	mov    %esp,%edi
4057ce:	8b 45 10             	mov    0x10(%ebp),%eax
4057d1:	89 45 fc             	mov    %eax,-0x4(%ebp)
4057d4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4057d5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4057d6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4057d7:	e8 c2 0b 00 00       	call   0x40639e
4057dc:	5f                   	pop    %edi
4057dd:	5e                   	pop    %esi
4057de:	c9                   	leave
4057df:	c2 0c 00             	ret    $0xc
4057e2:	cc                   	int3
4057e3:	cc                   	int3
4057e4:	cc                   	int3
4057e5:	cc                   	int3
4057e6:	cc                   	int3
4057e7:	cc                   	int3
4057e8:	cc                   	int3
4057e9:	cc                   	int3
4057ea:	cc                   	int3
4057eb:	cc                   	int3
4057ec:	cc                   	int3
4057ed:	cc                   	int3
4057ee:	cc                   	int3
4057ef:	cc                   	int3
4057f0:	8b ff                	mov    %edi,%edi
4057f2:	55                   	push   %ebp
4057f3:	8b ec                	mov    %esp,%ebp
4057f5:	5d                   	pop    %ebp
4057f6:	e9 f7 0b 00 00       	jmp    0x4063f2
4057fb:	cc                   	int3
4057fc:	cc                   	int3
4057fd:	cc                   	int3
4057fe:	cc                   	int3
4057ff:	cc                   	int3
405800:	8b ff                	mov    %edi,%edi
405802:	55                   	push   %ebp
405803:	8b ec                	mov    %esp,%ebp
405805:	83 ec 30             	sub    $0x30,%esp
405808:	a1 50 d1 40 00       	mov    0x40d150,%eax
40580d:	33 c5                	xor    %ebp,%eax
40580f:	89 45 fc             	mov    %eax,-0x4(%ebp)
405812:	56                   	push   %esi
405813:	57                   	push   %edi
405814:	8b 45 08             	mov    0x8(%ebp),%eax
405817:	8d 75 10             	lea    0x10(%ebp),%esi
40581a:	8d 7d ec             	lea    -0x14(%ebp),%edi
40581d:	89 45 d0             	mov    %eax,-0x30(%ebp)
405820:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405821:	83 ec 1c             	sub    $0x1c,%esp
405824:	8b 45 20             	mov    0x20(%ebp),%eax
405827:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405828:	6a 07                	push   $0x7
40582a:	59                   	pop    %ecx
40582b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40582c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40582d:	8d 75 ec             	lea    -0x14(%ebp),%esi
405830:	8d 7d d4             	lea    -0x2c(%ebp),%edi
405833:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405834:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405835:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405836:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405837:	89 45 e4             	mov    %eax,-0x1c(%ebp)
40583a:	8d 75 d0             	lea    -0x30(%ebp),%esi
40583d:	8b 45 0c             	mov    0xc(%ebp),%eax
405840:	8b fc                	mov    %esp,%edi
405842:	89 45 e8             	mov    %eax,-0x18(%ebp)
405845:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405847:	e8 f2 0b 00 00       	call   0x40643e
40584c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40584f:	5f                   	pop    %edi
405850:	33 cd                	xor    %ebp,%ecx
405852:	5e                   	pop    %esi
405853:	e8 08 46 00 00       	call   0x409e60
405858:	c9                   	leave
405859:	c2 1c 00             	ret    $0x1c
40585c:	68 94 00 00 00       	push   $0x94
405861:	b8 ae ae 40 00       	mov    $0x40aeae,%eax
405866:	e8 a9 53 00 00       	call   0x40ac14
40586b:	8b d9                	mov    %ecx,%ebx
40586d:	8d 4d df             	lea    -0x21(%ebp),%ecx
405870:	e8 bd e7 ff ff       	call   0x404032
405875:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405879:	8b 0b                	mov    (%ebx),%ecx
40587b:	e8 c5 f8 ff ff       	call   0x405145
405880:	83 65 e8 00          	andl   $0x0,-0x18(%ebp)
405884:	8b f8                	mov    %eax,%edi
405886:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40588a:	8d 45 e8             	lea    -0x18(%ebp),%eax
40588d:	8b 4f 04             	mov    0x4(%edi),%ecx
405890:	50                   	push   %eax
405891:	8d 43 04             	lea    0x4(%ebx),%eax
405894:	50                   	push   %eax
405895:	8b 91 80 00 00 00    	mov    0x80(%ecx),%edx
40589b:	52                   	push   %edx
40589c:	8b 0a                	mov    (%edx),%ecx
40589e:	8b 71 28             	mov    0x28(%ecx),%esi
4058a1:	8b ce                	mov    %esi,%ecx
4058a3:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4058a9:	ff d6                	call   *%esi
4058ab:	8b f0                	mov    %eax,%esi
4058ad:	85 f6                	test   %esi,%esi
4058af:	78 79                	js     0x40592a
4058b1:	8b 4f 04             	mov    0x4(%edi),%ecx
4058b4:	33 d2                	xor    %edx,%edx
4058b6:	8b 43 18             	mov    0x18(%ebx),%eax
4058b9:	83 c1 28             	add    $0x28,%ecx
4058bc:	89 45 e4             	mov    %eax,-0x1c(%ebp)
4058bf:	42                   	inc    %edx
4058c0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4058c3:	89 45 e0             	mov    %eax,-0x20(%ebp)
4058c6:	83 79 48 00          	cmpl   $0x0,0x48(%ecx)
4058ca:	74 2c                	je     0x4058f8
4058cc:	8d 45 e4             	lea    -0x1c(%ebp),%eax
4058cf:	89 4d cc             	mov    %ecx,-0x34(%ebp)
4058d2:	89 45 d0             	mov    %eax,-0x30(%ebp)
4058d5:	8d 75 cc             	lea    -0x34(%ebp),%esi
4058d8:	83 ec 10             	sub    $0x10,%esp
4058db:	88 55 ef             	mov    %dl,-0x11(%ebp)
4058de:	8d 45 e0             	lea    -0x20(%ebp),%eax
4058e1:	8b fc                	mov    %esp,%edi
4058e3:	89 45 d4             	mov    %eax,-0x2c(%ebp)
4058e6:	8d 45 ef             	lea    -0x11(%ebp),%eax
4058e9:	89 45 d8             	mov    %eax,-0x28(%ebp)
4058ec:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4058ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4058ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4058ef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4058f0:	e8 cf 3e 00 00       	call   0x4097c4
4058f5:	8a 55 ef             	mov    -0x11(%ebp),%dl
4058f8:	8b 43 14             	mov    0x14(%ebx),%eax
4058fb:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4058ff:	88 10                	mov    %dl,(%eax)
405901:	8b 45 e8             	mov    -0x18(%ebp),%eax
405904:	85 c0                	test   %eax,%eax
405906:	74 10                	je     0x405918
405908:	8b 08                	mov    (%eax),%ecx
40590a:	50                   	push   %eax
40590b:	8b 71 08             	mov    0x8(%ecx),%esi
40590e:	8b ce                	mov    %esi,%ecx
405910:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405916:	ff d6                	call   *%esi
405918:	80 7d df 00          	cmpb   $0x0,-0x21(%ebp)
40591c:	74 06                	je     0x405924
40591e:	ff 15 24 e0 40 00    	call   *0x40e024
405924:	e8 a6 52 00 00       	call   0x40abcf
405929:	c3                   	ret
40592a:	8b 0d 00 d0 40 00    	mov    0x40d000,%ecx
405930:	81 f9 00 d0 40 00    	cmp    $0x40d000,%ecx
405936:	74 1a                	je     0x405952
405938:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
40593c:	72 14                	jb     0x405952
40593e:	56                   	push   %esi
40593f:	ff 71 14             	push   0x14(%ecx)
405942:	ba 3c 1e 40 00       	mov    $0x401e3c,%edx
405947:	ff 71 10             	push   0x10(%ecx)
40594a:	6a 13                	push   $0x13
40594c:	59                   	pop    %ecx
40594d:	e8 59 e6 ff ff       	call   0x403fab
405952:	56                   	push   %esi
405953:	8d 8d 60 ff ff ff    	lea    -0xa0(%ebp),%ecx
405959:	e8 10 e5 ff ff       	call   0x403e6e
40595e:	68 a4 c6 40 00       	push   $0x40c6a4
405963:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
405969:	50                   	push   %eax
40596a:	e8 cb 51 00 00       	call   0x40ab3a
40596f:	cc                   	int3
405970:	8b ff                	mov    %edi,%edi
405972:	55                   	push   %ebp
405973:	8b ec                	mov    %esp,%ebp
405975:	6a ff                	push   $0xffffffff
405977:	68 72 ad 40 00       	push   $0x40ad72
40597c:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405982:	50                   	push   %eax
405983:	56                   	push   %esi
405984:	a1 50 d1 40 00       	mov    0x40d150,%eax
405989:	33 c5                	xor    %ebp,%eax
40598b:	50                   	push   %eax
40598c:	8d 45 f4             	lea    -0xc(%ebp),%eax
40598f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
405995:	8b 09                	mov    (%ecx),%ecx
405997:	85 c9                	test   %ecx,%ecx
405999:	74 10                	je     0x4059ab
40599b:	8b 01                	mov    (%ecx),%eax
40599d:	51                   	push   %ecx
40599e:	8b 70 08             	mov    0x8(%eax),%esi
4059a1:	8b ce                	mov    %esi,%ecx
4059a3:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4059a9:	ff d6                	call   *%esi
4059ab:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4059ae:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4059b5:	59                   	pop    %ecx
4059b6:	5e                   	pop    %esi
4059b7:	c9                   	leave
4059b8:	c3                   	ret
4059b9:	cc                   	int3
4059ba:	cc                   	int3
4059bb:	cc                   	int3
4059bc:	cc                   	int3
4059bd:	cc                   	int3
4059be:	cc                   	int3
4059bf:	cc                   	int3
4059c0:	8b ff                	mov    %edi,%edi
4059c2:	55                   	push   %ebp
4059c3:	8b ec                	mov    %esp,%ebp
4059c5:	83 e4 f8             	and    $0xfffffff8,%esp
4059c8:	83 ec 30             	sub    $0x30,%esp
4059cb:	a1 50 d1 40 00       	mov    0x40d150,%eax
4059d0:	33 c4                	xor    %esp,%eax
4059d2:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4059d6:	56                   	push   %esi
4059d7:	57                   	push   %edi
4059d8:	8b 45 08             	mov    0x8(%ebp),%eax
4059db:	8d 75 10             	lea    0x10(%ebp),%esi
4059de:	8d 7c 24 20          	lea    0x20(%esp),%edi
4059e2:	89 44 24 08          	mov    %eax,0x8(%esp)
4059e6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059e7:	83 ec 18             	sub    $0x18,%esp
4059ea:	8b 45 0c             	mov    0xc(%ebp),%eax
4059ed:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059ee:	6a 06                	push   $0x6
4059f0:	59                   	pop    %ecx
4059f1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059f2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059f3:	8d 74 24 38          	lea    0x38(%esp),%esi
4059f7:	8d 7c 24 24          	lea    0x24(%esp),%edi
4059fb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059fd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4059ff:	8b fc                	mov    %esp,%edi
405a01:	89 44 24 34          	mov    %eax,0x34(%esp)
405a05:	8d 74 24 20          	lea    0x20(%esp),%esi
405a09:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405a0b:	e8 84 0a 00 00       	call   0x406494
405a10:	8b 4c 24 34          	mov    0x34(%esp),%ecx
405a14:	5f                   	pop    %edi
405a15:	5e                   	pop    %esi
405a16:	33 cc                	xor    %esp,%ecx
405a18:	e8 43 44 00 00       	call   0x409e60
405a1d:	8b e5                	mov    %ebp,%esp
405a1f:	5d                   	pop    %ebp
405a20:	c2 18 00             	ret    $0x18
405a23:	68 8c 00 00 00       	push   $0x8c
405a28:	b8 e6 ae 40 00       	mov    $0x40aee6,%eax
405a2d:	e8 e2 51 00 00       	call   0x40ac14
405a32:	8b d9                	mov    %ecx,%ebx
405a34:	8d 4d e3             	lea    -0x1d(%ebp),%ecx
405a37:	e8 f6 e5 ff ff       	call   0x404032
405a3c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405a40:	8b 0b                	mov    (%ebx),%ecx
405a42:	e8 fe f6 ff ff       	call   0x405145
405a47:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
405a4b:	8b f8                	mov    %eax,%edi
405a4d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405a51:	8d 45 ec             	lea    -0x14(%ebp),%eax
405a54:	8b 4f 04             	mov    0x4(%edi),%ecx
405a57:	50                   	push   %eax
405a58:	8d 43 04             	lea    0x4(%ebx),%eax
405a5b:	50                   	push   %eax
405a5c:	8b 91 80 00 00 00    	mov    0x80(%ecx),%edx
405a62:	52                   	push   %edx
405a63:	8b 0a                	mov    (%edx),%ecx
405a65:	8b 71 28             	mov    0x28(%ecx),%esi
405a68:	8b ce                	mov    %esi,%ecx
405a6a:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405a70:	ff d6                	call   *%esi
405a72:	8b f0                	mov    %eax,%esi
405a74:	85 f6                	test   %esi,%esi
405a76:	78 64                	js     0x405adc
405a78:	8b 4f 04             	mov    0x4(%edi),%ecx
405a7b:	8b 43 14             	mov    0x14(%ebx),%eax
405a7e:	83 c1 28             	add    $0x28,%ecx
405a81:	89 45 e8             	mov    %eax,-0x18(%ebp)
405a84:	8b 45 ec             	mov    -0x14(%ebp),%eax
405a87:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405a8a:	83 79 48 00          	cmpl   $0x0,0x48(%ecx)
405a8e:	74 22                	je     0x405ab2
405a90:	83 ec 0c             	sub    $0xc,%esp
405a93:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
405a96:	8d 45 e8             	lea    -0x18(%ebp),%eax
405a99:	8b fc                	mov    %esp,%edi