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
405a9b:	89 45 d8             	mov    %eax,-0x28(%ebp)
405a9e:	8d 75 d4             	lea    -0x2c(%ebp),%esi
405aa1:	8d 45 e4             	lea    -0x1c(%ebp),%eax
405aa4:	89 45 dc             	mov    %eax,-0x24(%ebp)
405aa7:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405aa8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405aa9:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405aaa:	e8 9a 3d 00 00       	call   0x409849
405aaf:	8b 45 ec             	mov    -0x14(%ebp),%eax
405ab2:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
405ab6:	85 c0                	test   %eax,%eax
405ab8:	74 10                	je     0x405aca
405aba:	8b 08                	mov    (%eax),%ecx
405abc:	50                   	push   %eax
405abd:	8b 71 08             	mov    0x8(%ecx),%esi
405ac0:	8b ce                	mov    %esi,%ecx
405ac2:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405ac8:	ff d6                	call   *%esi
405aca:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
405ace:	74 06                	je     0x405ad6
405ad0:	ff 15 24 e0 40 00    	call   *0x40e024
405ad6:	e8 f4 50 00 00       	call   0x40abcf
405adb:	c3                   	ret
405adc:	8b 0d 00 d0 40 00    	mov    0x40d000,%ecx
405ae2:	81 f9 00 d0 40 00    	cmp    $0x40d000,%ecx
405ae8:	74 1a                	je     0x405b04
405aea:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
405aee:	72 14                	jb     0x405b04
405af0:	56                   	push   %esi
405af1:	ff 71 14             	push   0x14(%ecx)
405af4:	ba 3c 1e 40 00       	mov    $0x401e3c,%edx
405af9:	ff 71 10             	push   0x10(%ecx)
405afc:	6a 14                	push   $0x14
405afe:	59                   	pop    %ecx
405aff:	e8 a7 e4 ff ff       	call   0x403fab
405b04:	56                   	push   %esi
405b05:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
405b0b:	e8 5e e3 ff ff       	call   0x403e6e
405b10:	68 a4 c6 40 00       	push   $0x40c6a4
405b15:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
405b1b:	50                   	push   %eax
405b1c:	e8 19 50 00 00       	call   0x40ab3a
405b21:	cc                   	int3
405b22:	cc                   	int3
405b23:	cc                   	int3
405b24:	cc                   	int3
405b25:	cc                   	int3
405b26:	cc                   	int3
405b27:	cc                   	int3
405b28:	cc                   	int3
405b29:	cc                   	int3
405b2a:	cc                   	int3
405b2b:	cc                   	int3
405b2c:	cc                   	int3
405b2d:	cc                   	int3
405b2e:	cc                   	int3
405b2f:	cc                   	int3
405b30:	8b ff                	mov    %edi,%edi
405b32:	55                   	push   %ebp
405b33:	8b ec                	mov    %esp,%ebp
405b35:	83 e4 f8             	and    $0xfffffff8,%esp
405b38:	ff 75 0c             	push   0xc(%ebp)
405b3b:	ff 75 08             	push   0x8(%ebp)
405b3e:	e8 a7 09 00 00       	call   0x4064ea
405b43:	8b e5                	mov    %ebp,%esp
405b45:	5d                   	pop    %ebp
405b46:	c2 08 00             	ret    $0x8
405b49:	cc                   	int3
405b4a:	cc                   	int3
405b4b:	cc                   	int3
405b4c:	cc                   	int3
405b4d:	cc                   	int3
405b4e:	cc                   	int3
405b4f:	cc                   	int3
405b50:	8b ff                	mov    %edi,%edi
405b52:	55                   	push   %ebp
405b53:	8b ec                	mov    %esp,%ebp
405b55:	83 ec 30             	sub    $0x30,%esp
405b58:	a1 50 d1 40 00       	mov    0x40d150,%eax
405b5d:	33 c5                	xor    %ebp,%eax
405b5f:	89 45 fc             	mov    %eax,-0x4(%ebp)
405b62:	56                   	push   %esi
405b63:	57                   	push   %edi
405b64:	8b 45 08             	mov    0x8(%ebp),%eax
405b67:	8d 75 10             	lea    0x10(%ebp),%esi
405b6a:	8d 7d ec             	lea    -0x14(%ebp),%edi
405b6d:	89 45 d0             	mov    %eax,-0x30(%ebp)
405b70:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b71:	83 ec 1c             	sub    $0x1c,%esp
405b74:	8b 45 20             	mov    0x20(%ebp),%eax
405b77:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b78:	6a 07                	push   $0x7
405b7a:	59                   	pop    %ecx
405b7b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b7c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b7d:	8d 75 ec             	lea    -0x14(%ebp),%esi
405b80:	8d 7d d4             	lea    -0x2c(%ebp),%edi
405b83:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b84:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405b87:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405b8a:	8d 75 d0             	lea    -0x30(%ebp),%esi
405b8d:	8b 45 0c             	mov    0xc(%ebp),%eax
405b90:	8b fc                	mov    %esp,%edi
405b92:	89 45 e8             	mov    %eax,-0x18(%ebp)
405b95:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405b97:	e8 9d 09 00 00       	call   0x406539
405b9c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
405b9f:	5f                   	pop    %edi
405ba0:	33 cd                	xor    %ebp,%ecx
405ba2:	5e                   	pop    %esi
405ba3:	e8 b8 42 00 00       	call   0x409e60
405ba8:	c9                   	leave
405ba9:	c2 1c 00             	ret    $0x1c
405bac:	6a 78                	push   $0x78
405bae:	b8 1e af 40 00       	mov    $0x40af1e,%eax
405bb3:	e8 5c 50 00 00       	call   0x40ac14
405bb8:	8b f9                	mov    %ecx,%edi
405bba:	8d 4d eb             	lea    -0x15(%ebp),%ecx
405bbd:	e8 70 e4 ff ff       	call   0x404032
405bc2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405bc6:	8b 0f                	mov    (%edi),%ecx
405bc8:	e8 78 f5 ff ff       	call   0x405145
405bcd:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
405bd1:	8b d8                	mov    %eax,%ebx
405bd3:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405bd7:	8d 45 ec             	lea    -0x14(%ebp),%eax
405bda:	8b 4b 04             	mov    0x4(%ebx),%ecx
405bdd:	50                   	push   %eax
405bde:	8d 47 04             	lea    0x4(%edi),%eax
405be1:	50                   	push   %eax
405be2:	8b 91 80 00 00 00    	mov    0x80(%ecx),%edx
405be8:	52                   	push   %edx
405be9:	8b 0a                	mov    (%edx),%ecx
405beb:	8b 71 28             	mov    0x28(%ecx),%esi
405bee:	8b ce                	mov    %esi,%ecx
405bf0:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405bf6:	ff d6                	call   *%esi
405bf8:	8b f0                	mov    %eax,%esi
405bfa:	85 f6                	test   %esi,%esi
405bfc:	78 43                	js     0x405c41
405bfe:	8b 4b 04             	mov    0x4(%ebx),%ecx
405c01:	ff 75 ec             	push   -0x14(%ebp)
405c04:	ff 77 18             	push   0x18(%edi)
405c07:	8d 49 28             	lea    0x28(%ecx),%ecx
405c0a:	e8 55 33 00 00       	call   0x408f64
405c0f:	8b 4f 14             	mov    0x14(%edi),%ecx
405c12:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
405c16:	88 01                	mov    %al,(%ecx)
405c18:	8b 45 ec             	mov    -0x14(%ebp),%eax
405c1b:	85 c0                	test   %eax,%eax
405c1d:	74 10                	je     0x405c2f
405c1f:	8b 08                	mov    (%eax),%ecx
405c21:	50                   	push   %eax
405c22:	8b 71 08             	mov    0x8(%ecx),%esi
405c25:	8b ce                	mov    %esi,%ecx
405c27:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405c2d:	ff d6                	call   *%esi
405c2f:	80 7d eb 00          	cmpb   $0x0,-0x15(%ebp)
405c33:	74 06                	je     0x405c3b
405c35:	ff 15 24 e0 40 00    	call   *0x40e024
405c3b:	e8 8f 4f 00 00       	call   0x40abcf
405c40:	c3                   	ret
405c41:	8b 0d 00 d0 40 00    	mov    0x40d000,%ecx
405c47:	81 f9 00 d0 40 00    	cmp    $0x40d000,%ecx
405c4d:	74 1a                	je     0x405c69
405c4f:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
405c53:	72 14                	jb     0x405c69
405c55:	56                   	push   %esi
405c56:	ff 71 14             	push   0x14(%ecx)
405c59:	ba 3c 1e 40 00       	mov    $0x401e3c,%edx
405c5e:	ff 71 10             	push   0x10(%ecx)
405c61:	6a 15                	push   $0x15
405c63:	59                   	pop    %ecx