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
405c64:	e8 42 e3 ff ff       	call   0x403fab
405c69:	56                   	push   %esi
405c6a:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
405c70:	e8 f9 e1 ff ff       	call   0x403e6e
405c75:	68 a4 c6 40 00       	push   $0x40c6a4
405c7a:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
405c80:	50                   	push   %eax
405c81:	e8 b4 4e 00 00       	call   0x40ab3a
405c86:	cc                   	int3
405c87:	cc                   	int3
405c88:	cc                   	int3
405c89:	cc                   	int3
405c8a:	cc                   	int3
405c8b:	cc                   	int3
405c8c:	cc                   	int3
405c8d:	cc                   	int3
405c8e:	cc                   	int3
405c8f:	cc                   	int3
405c90:	8b ff                	mov    %edi,%edi
405c92:	55                   	push   %ebp
405c93:	8b ec                	mov    %esp,%ebp
405c95:	83 e4 f8             	and    $0xfffffff8,%esp
405c98:	83 ec 30             	sub    $0x30,%esp
405c9b:	a1 50 d1 40 00       	mov    0x40d150,%eax
405ca0:	33 c4                	xor    %esp,%eax
405ca2:	89 44 24 2c          	mov    %eax,0x2c(%esp)
405ca6:	56                   	push   %esi
405ca7:	57                   	push   %edi
405ca8:	8b 45 08             	mov    0x8(%ebp),%eax
405cab:	8d 75 10             	lea    0x10(%ebp),%esi
405cae:	8d 7c 24 20          	lea    0x20(%esp),%edi
405cb2:	89 44 24 08          	mov    %eax,0x8(%esp)
405cb6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405cb7:	83 ec 18             	sub    $0x18,%esp
405cba:	8b 45 0c             	mov    0xc(%ebp),%eax
405cbd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405cbe:	6a 06                	push   $0x6
405cc0:	59                   	pop    %ecx
405cc1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405cc2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405cc3:	8d 74 24 38          	lea    0x38(%esp),%esi
405cc7:	8d 7c 24 24          	lea    0x24(%esp),%edi
405ccb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405ccc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405ccd:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405cce:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405ccf:	8b fc                	mov    %esp,%edi
405cd1:	89 44 24 34          	mov    %eax,0x34(%esp)
405cd5:	8d 74 24 20          	lea    0x20(%esp),%esi
405cd9:	f3 a5                	rep movsl %ds:(%esi),%es:(%edi)
405cdb:	e8 af 08 00 00       	call   0x40658f
405ce0:	8b 4c 24 34          	mov    0x34(%esp),%ecx
405ce4:	5f                   	pop    %edi
405ce5:	5e                   	pop    %esi
405ce6:	33 cc                	xor    %esp,%ecx
405ce8:	e8 73 41 00 00       	call   0x409e60
405ced:	8b e5                	mov    %ebp,%esp
405cef:	5d                   	pop    %ebp
405cf0:	c2 18 00             	ret    $0x18
405cf3:	68 8c 00 00 00       	push   $0x8c
405cf8:	b8 e6 ae 40 00       	mov    $0x40aee6,%eax
405cfd:	e8 12 4f 00 00       	call   0x40ac14
405d02:	8b d9                	mov    %ecx,%ebx
405d04:	8d 4d e3             	lea    -0x1d(%ebp),%ecx
405d07:	e8 26 e3 ff ff       	call   0x404032
405d0c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405d10:	8b 0b                	mov    (%ebx),%ecx
405d12:	e8 2e f4 ff ff       	call   0x405145
405d17:	83 65 ec 00          	andl   $0x0,-0x14(%ebp)
405d1b:	8b f8                	mov    %eax,%edi
405d1d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
405d21:	8d 45 ec             	lea    -0x14(%ebp),%eax
405d24:	8b 4f 04             	mov    0x4(%edi),%ecx
405d27:	50                   	push   %eax
405d28:	8d 43 04             	lea    0x4(%ebx),%eax
405d2b:	50                   	push   %eax
405d2c:	8b 91 80 00 00 00    	mov    0x80(%ecx),%edx
405d32:	52                   	push   %edx
405d33:	8b 0a                	mov    (%edx),%ecx
405d35:	8b 71 28             	mov    0x28(%ecx),%esi
405d38:	8b ce                	mov    %esi,%ecx
405d3a:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405d40:	ff d6                	call   *%esi
405d42:	8b f0                	mov    %eax,%esi
405d44:	85 f6                	test   %esi,%esi
405d46:	78 72                	js     0x405dba
405d48:	8b 4f 04             	mov    0x4(%edi),%ecx
405d4b:	8b 53 14             	mov    0x14(%ebx),%edx
405d4e:	83 c1 28             	add    $0x28,%ecx
405d51:	8b 45 ec             	mov    -0x14(%ebp),%eax
405d54:	89 55 e8             	mov    %edx,-0x18(%ebp)
405d57:	89 45 e4             	mov    %eax,-0x1c(%ebp)
405d5a:	83 79 4c 00          	cmpl   $0x0,0x4c(%ecx)
405d5e:	74 30                	je     0x405d90
405d60:	f7 41 38 00 01 00 00 	testl  $0x100,0x38(%ecx)
405d67:	74 27                	je     0x405d90
405d69:	85 51 38             	test   %edx,0x38(%ecx)
405d6c:	74 22                	je     0x405d90
405d6e:	83 ec 0c             	sub    $0xc,%esp
405d71:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
405d74:	8d 45 e8             	lea    -0x18(%ebp),%eax
405d77:	8b fc                	mov    %esp,%edi
405d79:	89 45 d8             	mov    %eax,-0x28(%ebp)
405d7c:	8d 75 d4             	lea    -0x2c(%ebp),%esi
405d7f:	8d 45 e4             	lea    -0x1c(%ebp),%eax
405d82:	89 45 dc             	mov    %eax,-0x24(%ebp)
405d85:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405d86:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405d87:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405d88:	e8 43 3c 00 00       	call   0x4099d0
405d8d:	8b 45 ec             	mov    -0x14(%ebp),%eax
405d90:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
405d94:	85 c0                	test   %eax,%eax
405d96:	74 10                	je     0x405da8
405d98:	8b 08                	mov    (%eax),%ecx
405d9a:	50                   	push   %eax
405d9b:	8b 71 08             	mov    0x8(%ecx),%esi
405d9e:	8b ce                	mov    %esi,%ecx
405da0:	ff 15 f0 e1 40 00    	call   *0x40e1f0
405da6:	ff d6                	call   *%esi
405da8:	80 7d e3 00          	cmpb   $0x0,-0x1d(%ebp)
405dac:	74 06                	je     0x405db4
405dae:	ff 15 24 e0 40 00    	call   *0x40e024
405db4:	e8 16 4e 00 00       	call   0x40abcf
405db9:	c3                   	ret
405dba:	8b 0d 00 d0 40 00    	mov    0x40d000,%ecx
405dc0:	81 f9 00 d0 40 00    	cmp    $0x40d000,%ecx
405dc6:	74 1a                	je     0x405de2
405dc8:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
405dcc:	72 14                	jb     0x405de2
405dce:	56                   	push   %esi
405dcf:	ff 71 14             	push   0x14(%ecx)
405dd2:	ba 3c 1e 40 00       	mov    $0x401e3c,%edx
405dd7:	ff 71 10             	push   0x10(%ecx)
405dda:	6a 16                	push   $0x16
405ddc:	59                   	pop    %ecx
405ddd:	e8 c9 e1 ff ff       	call   0x403fab
405de2:	56                   	push   %esi
405de3:	8d 8d 68 ff ff ff    	lea    -0x98(%ebp),%ecx
405de9:	e8 80 e0 ff ff       	call   0x403e6e
405dee:	68 a4 c6 40 00       	push   $0x40c6a4
405df3:	8d 85 68 ff ff ff    	lea    -0x98(%ebp),%eax
405df9:	50                   	push   %eax
405dfa:	e8 3b 4d 00 00       	call   0x40ab3a
405dff:	cc                   	int3
405e00:	8b ff                	mov    %edi,%edi
405e02:	55                   	push   %ebp
405e03:	8b ec                	mov    %esp,%ebp
405e05:	83 ec 30             	sub    $0x30,%esp
405e08:	a1 50 d1 40 00       	mov    0x40d150,%eax
405e0d:	33 c5                	xor    %ebp,%eax
405e0f:	89 45 fc             	mov    %eax,-0x4(%ebp)
405e12:	56                   	push   %esi
405e13:	57                   	push   %edi
405e14:	8b 45 08             	mov    0x8(%ebp),%eax
405e17:	8d 75 14             	lea    0x14(%ebp),%esi
405e1a:	8d 7d ec             	lea    -0x14(%ebp),%edi
405e1d:	89 45 d0             	mov    %eax,-0x30(%ebp)
405e20:	8b 45 10             	mov    0x10(%ebp),%eax
405e23:	83 ec 1c             	sub    $0x1c,%esp
405e26:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e27:	89 45 d4             	mov    %eax,-0x2c(%ebp)
405e2a:	8b 45 0c             	mov    0xc(%ebp),%eax
405e2d:	6a 07                	push   $0x7
405e2f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e30:	59                   	pop    %ecx
405e31:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e32:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e33:	8d 75 ec             	lea    -0x14(%ebp),%esi
405e36:	8d 7d d8             	lea    -0x28(%ebp),%edi
405e39:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e3a:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e3b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e3c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
405e3d:	8b fc                	mov    %esp,%edi