524b6e:	2b c7                	sub    %edi,%eax
524b70:	89 44 24 78          	mov    %eax,0x78(%esp)
524b74:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
524b7b:	2b c5                	sub    %ebp,%eax
524b7d:	89 44 24 7c          	mov    %eax,0x7c(%esp)
524b81:	8b 84 24 a8 00 00 00 	mov    0xa8(%esp),%eax
524b88:	2b 44 24 30          	sub    0x30(%esp),%eax
524b8c:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
524b93:	8b 84 24 ac 00 00 00 	mov    0xac(%esp),%eax
524b9a:	2b 44 24 34          	sub    0x34(%esp),%eax
524b9e:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
524ba5:	8b 84 24 b0 00 00 00 	mov    0xb0(%esp),%eax
524bac:	2b 44 24 38          	sub    0x38(%esp),%eax
524bb0:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
524bb7:	8b 84 24 b4 00 00 00 	mov    0xb4(%esp),%eax
524bbe:	2b 44 24 3c          	sub    0x3c(%esp),%eax
524bc2:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
524bc9:	8b 84 24 b8 00 00 00 	mov    0xb8(%esp),%eax
524bd0:	2b 44 24 40          	sub    0x40(%esp),%eax
524bd4:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
524bdb:	8b 84 24 bc 00 00 00 	mov    0xbc(%esp),%eax
524be2:	2b 44 24 44          	sub    0x44(%esp),%eax
524be6:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
524bed:	8d 44 24 70          	lea    0x70(%esp),%eax
524bf1:	50                   	push   %eax
524bf2:	8d 44 24 4c          	lea    0x4c(%esp),%eax
524bf6:	50                   	push   %eax
524bf7:	e8 d4 ee ff ff       	call   0x523ad0
524bfc:	6a 20                	push   $0x20
524bfe:	8d 44 24 54          	lea    0x54(%esp),%eax
524c02:	68 20 12 64 00       	push   $0x641220
524c07:	50                   	push   %eax
524c08:	e8 43 ce ed ff       	call   0x401a50
524c0d:	83 c4 14             	add    $0x14,%esp
524c10:	85 c0                	test   %eax,%eax
524c12:	0f 84 dd 00 00 00    	je     0x524cf5
524c18:	8b 44 24 20          	mov    0x20(%esp),%eax
524c1c:	03 84 24 98 00 00 00 	add    0x98(%esp),%eax
524c23:	89 44 24 70          	mov    %eax,0x70(%esp)
524c27:	8b 84 24 9c 00 00 00 	mov    0x9c(%esp),%eax
524c2e:	03 c6                	add    %esi,%eax
524c30:	89 44 24 74          	mov    %eax,0x74(%esp)
524c34:	8b 84 24 a0 00 00 00 	mov    0xa0(%esp),%eax
524c3b:	03 c7                	add    %edi,%eax
524c3d:	89 44 24 78          	mov    %eax,0x78(%esp)
524c41:	8b 84 24 a4 00 00 00 	mov    0xa4(%esp),%eax
524c48:	03 c5                	add    %ebp,%eax
524c4a:	89 44 24 7c          	mov    %eax,0x7c(%esp)
524c4e:	8b 44 24 30          	mov    0x30(%esp),%eax
524c52:	03 84 24 a8 00 00 00 	add    0xa8(%esp),%eax
524c59:	89 84 24 80 00 00 00 	mov    %eax,0x80(%esp)
524c60:	8b 44 24 34          	mov    0x34(%esp),%eax
524c64:	03 84 24 ac 00 00 00 	add    0xac(%esp),%eax
524c6b:	89 84 24 84 00 00 00 	mov    %eax,0x84(%esp)
524c72:	8b 44 24 38          	mov    0x38(%esp),%eax
524c76:	03 84 24 b0 00 00 00 	add    0xb0(%esp),%eax
524c7d:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
524c84:	8b 44 24 3c          	mov    0x3c(%esp),%eax
524c88:	03 84 24 b4 00 00 00 	add    0xb4(%esp),%eax
524c8f:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
524c96:	8b 44 24 40          	mov    0x40(%esp),%eax
524c9a:	03 84 24 b8 00 00 00 	add    0xb8(%esp),%eax
524ca1:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
524ca8:	8b 44 24 44          	mov    0x44(%esp),%eax
524cac:	03 84 24 bc 00 00 00 	add    0xbc(%esp),%eax
524cb3:	89 84 24 94 00 00 00 	mov    %eax,0x94(%esp)
524cba:	8d 44 24 70          	lea    0x70(%esp),%eax
524cbe:	50                   	push   %eax
524cbf:	8d 44 24 4c          	lea    0x4c(%esp),%eax
524cc3:	50                   	push   %eax
524cc4:	e8 07 ee ff ff       	call   0x523ad0
524cc9:	6a 20                	push   $0x20
524ccb:	8d 44 24 54          	lea    0x54(%esp),%eax
524ccf:	68 20 12 64 00       	push   $0x641220
524cd4:	50                   	push   %eax
524cd5:	e8 76 cd ed ff       	call   0x401a50
524cda:	83 c4 14             	add    $0x14,%esp
524cdd:	85 c0                	test   %eax,%eax
524cdf:	74 05                	je     0x524ce6
524ce1:	83 c8 ff             	or     $0xffffffff,%eax
524ce4:	eb 4e                	jmp    0x524d34
524ce6:	68 68 12 64 00       	push   $0x641268
524ceb:	53                   	push   %ebx
524cec:	53                   	push   %ebx
524ced:	e8 be d2 ff ff       	call   0x521fb0
524cf2:	83 c4 0c             	add    $0xc,%esp
524cf5:	8d 44 24 48          	lea    0x48(%esp),%eax
524cf9:	53                   	push   %ebx
524cfa:	50                   	push   %eax
524cfb:	e8 d0 ed ff ff       	call   0x523ad0
524d00:	8b 44 24 24          	mov    0x24(%esp),%eax
524d04:	83 c4 08             	add    $0x8,%esp
524d07:	8a 48 1f             	mov    0x1f(%eax),%cl
524d0a:	8a 44 24 48          	mov    0x48(%esp),%al
524d0e:	c0 e9 07             	shr    $0x7,%cl
524d11:	24 01                	and    $0x1,%al
524d13:	3a c1                	cmp    %cl,%al
524d15:	74 0a                	je     0x524d21
524d17:	53                   	push   %ebx
524d18:	53                   	push   %ebx
524d19:	e8 52 de ff ff       	call   0x522b70
524d1e:	83 c4 08             	add    $0x8,%esp
524d21:	8d 43 28             	lea    0x28(%ebx),%eax
524d24:	50                   	push   %eax
524d25:	8d 43 78             	lea    0x78(%ebx),%eax
524d28:	53                   	push   %ebx
524d29:	50                   	push   %eax
524d2a:	e8 81 d2 ff ff       	call   0x521fb0
524d2f:	83 c4 0c             	add    $0xc,%esp
524d32:	33 c0                	xor    %eax,%eax
524d34:	8b 8c 24 c0 00 00 00 	mov    0xc0(%esp),%ecx
524d3b:	5f                   	pop    %edi
524d3c:	5e                   	pop    %esi
524d3d:	5d                   	pop    %ebp
524d3e:	5b                   	pop    %ebx
524d3f:	33 cc                	xor    %esp,%ecx
524d41:	e8 e0 cc 0a 00       	call   0x5d1a26
524d46:	81 c4 b4 00 00 00    	add    $0xb4,%esp
524d4c:	c3                   	ret
524d4d:	cc                   	int3
524d4e:	cc                   	int3
524d4f:	cc                   	int3
524d50:	b8 40 00 00 00       	mov    $0x40,%eax
524d55:	e8 56 ca 0a 00       	call   0x5d17b0
524d5a:	8b 4c 24 44          	mov    0x44(%esp),%ecx
524d5e:	53                   	push   %ebx
524d5f:	55                   	push   %ebp
524d60:	8b 6c 24 50          	mov    0x50(%esp),%ebp
524d64:	56                   	push   %esi
524d65:	57                   	push   %edi
524d66:	8d 79 28             	lea    0x28(%ecx),%edi
524d69:	8b 74 24 5c          	mov    0x5c(%esp),%esi
524d6d:	8b 45 00             	mov    0x0(%ebp),%eax
524d70:	8d 59 50             	lea    0x50(%ecx),%ebx
524d73:	03 45 28             	add    0x28(%ebp),%eax
524d76:	89 01                	mov    %eax,(%ecx)
524d78:	8b 45 04             	mov    0x4(%ebp),%eax
524d7b:	03 45 2c             	add    0x2c(%ebp),%eax
524d7e:	89 41 04             	mov    %eax,0x4(%ecx)
524d81:	8b 45 30             	mov    0x30(%ebp),%eax
524d84:	03 45 08             	add    0x8(%ebp),%eax
524d87:	89 41 08             	mov    %eax,0x8(%ecx)
524d8a:	8b 45 34             	mov    0x34(%ebp),%eax
524d8d:	03 45 0c             	add    0xc(%ebp),%eax
524d90:	89 41 0c             	mov    %eax,0xc(%ecx)
524d93:	8b 45 38             	mov    0x38(%ebp),%eax
524d96:	03 45 10             	add    0x10(%ebp),%eax
524d99:	89 41 10             	mov    %eax,0x10(%ecx)
524d9c:	8b 45 14             	mov    0x14(%ebp),%eax
524d9f:	03 45 3c             	add    0x3c(%ebp),%eax
524da2:	89 41 14             	mov    %eax,0x14(%ecx)
524da5:	8b 45 40             	mov    0x40(%ebp),%eax
524da8:	03 45 18             	add    0x18(%ebp),%eax
524dab:	89 41 18             	mov    %eax,0x18(%ecx)
524dae:	8b 45 44             	mov    0x44(%ebp),%eax
524db1:	03 45 1c             	add    0x1c(%ebp),%eax
524db4:	89 41 1c             	mov    %eax,0x1c(%ecx)
524db7:	8b 45 48             	mov    0x48(%ebp),%eax
524dba:	03 45 20             	add    0x20(%ebp),%eax
524dbd:	89 41 20             	mov    %eax,0x20(%ecx)
524dc0:	8b 45 24             	mov    0x24(%ebp),%eax
524dc3:	03 45 4c             	add    0x4c(%ebp),%eax
524dc6:	89 41 24             	mov    %eax,0x24(%ecx)
524dc9:	8b 45 28             	mov    0x28(%ebp),%eax
524dcc:	2b 45 00             	sub    0x0(%ebp),%eax
524dcf:	89 07                	mov    %eax,(%edi)
524dd1:	8b 45 2c             	mov    0x2c(%ebp),%eax
524dd4:	2b 45 04             	sub    0x4(%ebp),%eax
524dd7:	89 41 2c             	mov    %eax,0x2c(%ecx)
524dda:	8b 45 30             	mov    0x30(%ebp),%eax
524ddd:	2b 45 08             	sub    0x8(%ebp),%eax
524de0:	89 41 30             	mov    %eax,0x30(%ecx)
524de3:	8b 45 34             	mov    0x34(%ebp),%eax
524de6:	2b 45 0c             	sub    0xc(%ebp),%eax
524de9:	89 41 34             	mov    %eax,0x34(%ecx)
524dec:	8b 45 38             	mov    0x38(%ebp),%eax
524def:	2b 45 10             	sub    0x10(%ebp),%eax
524df2:	89 41 38             	mov    %eax,0x38(%ecx)
524df5:	8b 45 3c             	mov    0x3c(%ebp),%eax
524df8:	2b 45 14             	sub    0x14(%ebp),%eax
524dfb:	89 41 3c             	mov    %eax,0x3c(%ecx)
524dfe:	8b 45 40             	mov    0x40(%ebp),%eax
524e01:	2b 45 18             	sub    0x18(%ebp),%eax
524e04:	89 41 40             	mov    %eax,0x40(%ecx)
524e07:	8b 45 44             	mov    0x44(%ebp),%eax
524e0a:	2b 45 1c             	sub    0x1c(%ebp),%eax
524e0d:	89 41 44             	mov    %eax,0x44(%ecx)
524e10:	8b 45 48             	mov    0x48(%ebp),%eax
524e13:	2b 45 20             	sub    0x20(%ebp),%eax
524e16:	89 41 48             	mov    %eax,0x48(%ecx)
524e19:	8b 45 4c             	mov    0x4c(%ebp),%eax
524e1c:	2b 45 24             	sub    0x24(%ebp),%eax
524e1f:	56                   	push   %esi
524e20:	51                   	push   %ecx
524e21:	53                   	push   %ebx
524e22:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
524e26:	89 7c 24 20          	mov    %edi,0x20(%esp)
524e2a:	89 41 4c             	mov    %eax,0x4c(%ecx)
524e2d:	e8 7e d1 ff ff       	call   0x521fb0
524e32:	8d 46 28             	lea    0x28(%esi),%eax
524e35:	50                   	push   %eax
524e36:	57                   	push   %edi
524e37:	57                   	push   %edi
524e38:	e8 73 d1 ff ff       	call   0x521fb0
524e3d:	8b 4c 24 28          	mov    0x28(%esp),%ecx
524e41:	8d 45 78             	lea    0x78(%ebp),%eax
524e44:	50                   	push   %eax
524e45:	8d 46 50             	lea    0x50(%esi),%eax
524e48:	83 c1 78             	add    $0x78,%ecx
524e4b:	50                   	push   %eax
524e4c:	51                   	push   %ecx
524e4d:	e8 5e d1 ff ff       	call   0x521fb0
524e52:	8b 45 50             	mov    0x50(%ebp),%eax
524e55:	83 c4 24             	add    $0x24,%esp
524e58:	03 c0                	add    %eax,%eax
524e5a:	8b 54 24 10          	mov    0x10(%esp),%edx
524e5e:	89 44 24 28          	mov    %eax,0x28(%esp)
524e62:	8b 45 54             	mov    0x54(%ebp),%eax
524e65:	03 c0                	add    %eax,%eax
524e67:	89 44 24 2c          	mov    %eax,0x2c(%esp)
524e6b:	8b 45 58             	mov    0x58(%ebp),%eax
524e6e:	03 c0                	add    %eax,%eax
524e70:	8b 72 48             	mov    0x48(%edx),%esi
524e73:	89 44 24 30          	mov    %eax,0x30(%esp)
524e77:	8b 45 5c             	mov    0x5c(%ebp),%eax
524e7a:	03 c0                	add    %eax,%eax
524e7c:	89 74 24 20          	mov    %esi,0x20(%esp)
524e80:	89 44 24 34          	mov    %eax,0x34(%esp)
524e84:	8b 45 60             	mov    0x60(%ebp),%eax
524e87:	03 c0                	add    %eax,%eax
524e89:	89 44 24 38          	mov    %eax,0x38(%esp)
524e8d:	8b 45 64             	mov    0x64(%ebp),%eax
524e90:	03 c0                	add    %eax,%eax
524e92:	89 44 24 3c          	mov    %eax,0x3c(%esp)
524e96:	8b 45 68             	mov    0x68(%ebp),%eax
524e99:	03 c0                	add    %eax,%eax
524e9b:	89 44 24 40          	mov    %eax,0x40(%esp)
524e9f:	8b 45 6c             	mov    0x6c(%ebp),%eax
524ea2:	03 c0                	add    %eax,%eax
524ea4:	89 44 24 44          	mov    %eax,0x44(%esp)
524ea8:	8b 45 70             	mov    0x70(%ebp),%eax
524eab:	03 c0                	add    %eax,%eax
524ead:	89 44 24 48          	mov    %eax,0x48(%esp)
524eb1:	8b 45 74             	mov    0x74(%ebp),%eax
524eb4:	03 c0                	add    %eax,%eax
524eb6:	8b 6a 6c             	mov    0x6c(%edx),%ebp
524eb9:	89 44 24 4c          	mov    %eax,0x4c(%esp)
524ebd:	8b 03                	mov    (%ebx),%eax
524ebf:	2b 07                	sub    (%edi),%eax
524ec1:	89 02                	mov    %eax,(%edx)
524ec3:	8b 42 54             	mov    0x54(%edx),%eax
524ec6:	2b 42 2c             	sub    0x2c(%edx),%eax
524ec9:	8b 5a 44             	mov    0x44(%edx),%ebx
524ecc:	8b 7a 70             	mov    0x70(%edx),%edi
524ecf:	89 42 04             	mov    %eax,0x4(%edx)
524ed2:	8b 42 58             	mov    0x58(%edx),%eax
524ed5:	2b 42 30             	sub    0x30(%edx),%eax
524ed8:	89 42 08             	mov    %eax,0x8(%edx)
524edb:	8b 42 5c             	mov    0x5c(%edx),%eax
524ede:	2b 42 34             	sub    0x34(%edx),%eax
524ee1:	89 42 0c             	mov    %eax,0xc(%edx)
524ee4:	8b 42 60             	mov    0x60(%edx),%eax
524ee7:	2b 42 38             	sub    0x38(%edx),%eax
524eea:	89 42 10             	mov    %eax,0x10(%edx)
524eed:	8b 42 64             	mov    0x64(%edx),%eax
524ef0:	2b 42 3c             	sub    0x3c(%edx),%eax
524ef3:	89 42 14             	mov    %eax,0x14(%edx)
524ef6:	8b 42 68             	mov    0x68(%edx),%eax
524ef9:	2b 42 40             	sub    0x40(%edx),%eax
524efc:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
524f00:	2b eb                	sub    %ebx,%ebp
524f02:	89 7c 24 24          	mov    %edi,0x24(%esp)
524f06:	2b fe                	sub    %esi,%edi
524f08:	89 5c 24 18          	mov    %ebx,0x18(%esp)
524f0c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
524f10:	89 42 18             	mov    %eax,0x18(%edx)
524f13:	89 7a 20             	mov    %edi,0x20(%edx)
524f16:	8b 7c 24 14          	mov    0x14(%esp),%edi
524f1a:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
524f1d:	89 6a 1c             	mov    %ebp,0x1c(%edx)
524f20:	8b 52 74             	mov    0x74(%edx),%edx
524f23:	8b c2                	mov    %edx,%eax
524f25:	2b c1                	sub    %ecx,%eax
524f27:	89 43 24             	mov    %eax,0x24(%ebx)
524f2a:	8b 07                	mov    (%edi),%eax
524f2c:	8b f3                	mov    %ebx,%esi
524f2e:	8b df                	mov    %edi,%ebx
524f30:	8b fe                	mov    %esi,%edi
524f32:	03 46 50             	add    0x50(%esi),%eax
524f35:	89 03                	mov    %eax,(%ebx)
524f37:	8b de                	mov    %esi,%ebx
524f39:	8b 6f 54             	mov    0x54(%edi),%ebp
524f3c:	01 6f 2c             	add    %ebp,0x2c(%edi)
524f3f:	8b 44 24 18          	mov    0x18(%esp),%eax
524f43:	03 44 24 1c          	add    0x1c(%esp),%eax
524f47:	89 47 44             	mov    %eax,0x44(%edi)
524f4a:	8b 6f 58             	mov    0x58(%edi),%ebp
524f4d:	01 6f 30             	add    %ebp,0x30(%edi)
524f50:	8b 6f 5c             	mov    0x5c(%edi),%ebp
524f53:	01 6f 34             	add    %ebp,0x34(%edi)
524f56:	8b 44 24 20          	mov    0x20(%esp),%eax
524f5a:	03 44 24 24          	add    0x24(%esp),%eax
524f5e:	8b 6f 60             	mov    0x60(%edi),%ebp
524f61:	01 6f 38             	add    %ebp,0x38(%edi)
524f64:	89 43 48             	mov    %eax,0x48(%ebx)
524f67:	8d 04 11             	lea    (%ecx,%edx,1),%eax
524f6a:	8b 6f 64             	mov    0x64(%edi),%ebp
524f6d:	8b d3                	mov    %ebx,%edx
524f6f:	01 6f 3c             	add    %ebp,0x3c(%edi)
524f72:	8b 6f 68             	mov    0x68(%edi),%ebp
524f75:	01 6f 40             	add    %ebp,0x40(%edi)
524f78:	89 42 4c             	mov    %eax,0x4c(%edx)
524f7b:	8b 42 78             	mov    0x78(%edx),%eax
524f7e:	89 44 24 24          	mov    %eax,0x24(%esp)
524f82:	03 44 24 28          	add    0x28(%esp),%eax
524f86:	89 42 50             	mov    %eax,0x50(%edx)
524f89:	8b 42 7c             	mov    0x7c(%edx),%eax
524f8c:	89 44 24 20          	mov    %eax,0x20(%esp)
524f90:	03 44 24 2c          	add    0x2c(%esp),%eax
524f94:	89 42 54             	mov    %eax,0x54(%edx)
524f97:	8b 82 80 00 00 00    	mov    0x80(%edx),%eax
524f9d:	89 44 24 1c          	mov    %eax,0x1c(%esp)
524fa1:	03 44 24 30          	add    0x30(%esp),%eax
524fa5:	89 42 58             	mov    %eax,0x58(%edx)
524fa8:	8b 82 84 00 00 00    	mov    0x84(%edx),%eax
524fae:	89 44 24 18          	mov    %eax,0x18(%esp)
524fb2:	03 44 24 34          	add    0x34(%esp),%eax
524fb6:	89 42 5c             	mov    %eax,0x5c(%edx)
524fb9:	8b aa 88 00 00 00    	mov    0x88(%edx),%ebp
524fbf:	8b 44 24 38          	mov    0x38(%esp),%eax
524fc3:	03 c5                	add    %ebp,%eax
524fc5:	8b 4c 24 10          	mov    0x10(%esp),%ecx
524fc9:	89 42 60             	mov    %eax,0x60(%edx)
524fcc:	8b 9a 8c 00 00 00    	mov    0x8c(%edx),%ebx
524fd2:	8b 44 24 3c          	mov    0x3c(%esp),%eax
524fd6:	03 c3                	add    %ebx,%eax
524fd8:	89 6c 24 14          	mov    %ebp,0x14(%esp)
524fdc:	89 42 64             	mov    %eax,0x64(%edx)
524fdf:	8b ba 90 00 00 00    	mov    0x90(%edx),%edi
524fe5:	8b 44 24 40          	mov    0x40(%esp),%eax
524fe9:	8b 6c 24 10          	mov    0x10(%esp),%ebp
524fed:	03 c7                	add    %edi,%eax
524fef:	89 42 68             	mov    %eax,0x68(%edx)
524ff2:	8b b2 94 00 00 00    	mov    0x94(%edx),%esi
524ff8:	8b 44 24 44          	mov    0x44(%esp),%eax
524ffc:	03 c6                	add    %esi,%eax
524ffe:	89 42 6c             	mov    %eax,0x6c(%edx)
525001:	8b 92 98 00 00 00    	mov    0x98(%edx),%edx
525007:	8b 44 24 48          	mov    0x48(%esp),%eax
52500b:	03 c2                	add    %edx,%eax