525d4b:	5e                   	pop    %esi
525d4c:	5d                   	pop    %ebp
525d4d:	5b                   	pop    %ebx
525d4e:	33 cc                	xor    %esp,%ecx
525d50:	e8 d1 bc 0a 00       	call   0x5d1a26
525d55:	81 c4 d4 01 00 00    	add    $0x1d4,%esp
525d5b:	c3                   	ret
525d5c:	cc                   	int3
525d5d:	cc                   	int3
525d5e:	cc                   	int3
525d5f:	cc                   	int3
525d60:	b8 40 00 00 00       	mov    $0x40,%eax
525d65:	e8 46 ba 0a 00       	call   0x5d17b0
525d6a:	8b 4c 24 44          	mov    0x44(%esp),%ecx
525d6e:	53                   	push   %ebx
525d6f:	55                   	push   %ebp
525d70:	56                   	push   %esi
525d71:	57                   	push   %edi
525d72:	8b 7c 24 58          	mov    0x58(%esp),%edi
525d76:	8d 69 28             	lea    0x28(%ecx),%ebp
525d79:	8b 74 24 5c          	mov    0x5c(%esp),%esi
525d7d:	8d 59 50             	lea    0x50(%ecx),%ebx
525d80:	89 4c 24 10          	mov    %ecx,0x10(%esp)
525d84:	89 6c 24 14          	mov    %ebp,0x14(%esp)
525d88:	8b 07                	mov    (%edi),%eax
525d8a:	03 47 28             	add    0x28(%edi),%eax
525d8d:	89 01                	mov    %eax,(%ecx)
525d8f:	8b 47 04             	mov    0x4(%edi),%eax
525d92:	03 47 2c             	add    0x2c(%edi),%eax
525d95:	89 41 04             	mov    %eax,0x4(%ecx)
525d98:	8b 47 30             	mov    0x30(%edi),%eax
525d9b:	03 47 08             	add    0x8(%edi),%eax
525d9e:	89 41 08             	mov    %eax,0x8(%ecx)
525da1:	8b 47 34             	mov    0x34(%edi),%eax
525da4:	03 47 0c             	add    0xc(%edi),%eax
525da7:	89 41 0c             	mov    %eax,0xc(%ecx)
525daa:	8b 47 38             	mov    0x38(%edi),%eax
525dad:	03 47 10             	add    0x10(%edi),%eax
525db0:	89 41 10             	mov    %eax,0x10(%ecx)
525db3:	8b 47 14             	mov    0x14(%edi),%eax
525db6:	03 47 3c             	add    0x3c(%edi),%eax
525db9:	89 41 14             	mov    %eax,0x14(%ecx)
525dbc:	8b 47 40             	mov    0x40(%edi),%eax
525dbf:	03 47 18             	add    0x18(%edi),%eax
525dc2:	89 41 18             	mov    %eax,0x18(%ecx)
525dc5:	8b 47 44             	mov    0x44(%edi),%eax
525dc8:	03 47 1c             	add    0x1c(%edi),%eax
525dcb:	89 41 1c             	mov    %eax,0x1c(%ecx)
525dce:	8b 47 48             	mov    0x48(%edi),%eax
525dd1:	03 47 20             	add    0x20(%edi),%eax
525dd4:	89 41 20             	mov    %eax,0x20(%ecx)
525dd7:	8b 47 24             	mov    0x24(%edi),%eax
525dda:	03 47 4c             	add    0x4c(%edi),%eax
525ddd:	89 41 24             	mov    %eax,0x24(%ecx)
525de0:	8b 47 28             	mov    0x28(%edi),%eax
525de3:	2b 07                	sub    (%edi),%eax
525de5:	89 45 00             	mov    %eax,0x0(%ebp)
525de8:	8b 47 2c             	mov    0x2c(%edi),%eax
525deb:	2b 47 04             	sub    0x4(%edi),%eax
525dee:	89 41 2c             	mov    %eax,0x2c(%ecx)
525df1:	8b 47 30             	mov    0x30(%edi),%eax
525df4:	2b 47 08             	sub    0x8(%edi),%eax
525df7:	89 41 30             	mov    %eax,0x30(%ecx)
525dfa:	8b 47 34             	mov    0x34(%edi),%eax
525dfd:	2b 47 0c             	sub    0xc(%edi),%eax
525e00:	89 41 34             	mov    %eax,0x34(%ecx)
525e03:	8b 47 38             	mov    0x38(%edi),%eax
525e06:	2b 47 10             	sub    0x10(%edi),%eax
525e09:	89 41 38             	mov    %eax,0x38(%ecx)
525e0c:	8b 47 3c             	mov    0x3c(%edi),%eax
525e0f:	2b 47 14             	sub    0x14(%edi),%eax
525e12:	89 41 3c             	mov    %eax,0x3c(%ecx)
525e15:	8b 47 40             	mov    0x40(%edi),%eax
525e18:	2b 47 18             	sub    0x18(%edi),%eax
525e1b:	89 41 40             	mov    %eax,0x40(%ecx)
525e1e:	8b 47 44             	mov    0x44(%edi),%eax
525e21:	2b 47 1c             	sub    0x1c(%edi),%eax
525e24:	89 41 44             	mov    %eax,0x44(%ecx)
525e27:	8b 47 48             	mov    0x48(%edi),%eax
525e2a:	2b 47 20             	sub    0x20(%edi),%eax
525e2d:	89 41 48             	mov    %eax,0x48(%ecx)
525e30:	8b 47 4c             	mov    0x4c(%edi),%eax
525e33:	2b 47 24             	sub    0x24(%edi),%eax
525e36:	89 41 4c             	mov    %eax,0x4c(%ecx)
525e39:	8d 46 28             	lea    0x28(%esi),%eax
525e3c:	50                   	push   %eax
525e3d:	51                   	push   %ecx
525e3e:	53                   	push   %ebx
525e3f:	e8 6c c1 ff ff       	call   0x521fb0
525e44:	56                   	push   %esi
525e45:	55                   	push   %ebp
525e46:	55                   	push   %ebp
525e47:	e8 64 c1 ff ff       	call   0x521fb0
525e4c:	8b 4c 24 28          	mov    0x28(%esp),%ecx
525e50:	8d 47 78             	lea    0x78(%edi),%eax
525e53:	50                   	push   %eax
525e54:	8d 46 78             	lea    0x78(%esi),%eax
525e57:	83 c1 78             	add    $0x78,%ecx
525e5a:	50                   	push   %eax
525e5b:	51                   	push   %ecx
525e5c:	e8 4f c1 ff ff       	call   0x521fb0
525e61:	8d 46 50             	lea    0x50(%esi),%eax
525e64:	50                   	push   %eax
525e65:	8d 47 50             	lea    0x50(%edi),%eax
525e68:	50                   	push   %eax
525e69:	ff 74 24 3c          	push   0x3c(%esp)
525e6d:	e8 3e c1 ff ff       	call   0x521fb0
525e72:	8b 54 24 40          	mov    0x40(%esp),%edx
525e76:	83 c4 30             	add    $0x30,%esp
525e79:	8b 02                	mov    (%edx),%eax
525e7b:	03 c0                	add    %eax,%eax
525e7d:	8b 7a 70             	mov    0x70(%edx),%edi
525e80:	89 44 24 28          	mov    %eax,0x28(%esp)
525e84:	8b 42 04             	mov    0x4(%edx),%eax
525e87:	03 c0                	add    %eax,%eax
525e89:	8b 72 48             	mov    0x48(%edx),%esi
525e8c:	89 44 24 2c          	mov    %eax,0x2c(%esp)
525e90:	8b 42 08             	mov    0x8(%edx),%eax
525e93:	03 c0                	add    %eax,%eax
525e95:	89 7c 24 24          	mov    %edi,0x24(%esp)
525e99:	89 44 24 30          	mov    %eax,0x30(%esp)
525e9d:	8b 42 0c             	mov    0xc(%edx),%eax
525ea0:	03 c0                	add    %eax,%eax
525ea2:	89 74 24 20          	mov    %esi,0x20(%esp)
525ea6:	89 44 24 34          	mov    %eax,0x34(%esp)
525eaa:	8b 42 10             	mov    0x10(%edx),%eax
525ead:	03 c0                	add    %eax,%eax
525eaf:	89 44 24 38          	mov    %eax,0x38(%esp)
525eb3:	8b 42 14             	mov    0x14(%edx),%eax
525eb6:	03 c0                	add    %eax,%eax
525eb8:	89 44 24 3c          	mov    %eax,0x3c(%esp)
525ebc:	8b 42 18             	mov    0x18(%edx),%eax
525ebf:	03 c0                	add    %eax,%eax
525ec1:	89 44 24 40          	mov    %eax,0x40(%esp)
525ec5:	8b 42 1c             	mov    0x1c(%edx),%eax
525ec8:	03 c0                	add    %eax,%eax
525eca:	89 44 24 44          	mov    %eax,0x44(%esp)
525ece:	8b 42 20             	mov    0x20(%edx),%eax
525ed1:	03 c0                	add    %eax,%eax
525ed3:	89 44 24 48          	mov    %eax,0x48(%esp)
525ed7:	8b 42 24             	mov    0x24(%edx),%eax
525eda:	03 c0                	add    %eax,%eax
525edc:	89 44 24 4c          	mov    %eax,0x4c(%esp)
525ee0:	8b 03                	mov    (%ebx),%eax
525ee2:	2b 45 00             	sub    0x0(%ebp),%eax
525ee5:	89 02                	mov    %eax,(%edx)
525ee7:	8b 42 54             	mov    0x54(%edx),%eax
525eea:	2b 42 2c             	sub    0x2c(%edx),%eax
525eed:	8b 6a 6c             	mov    0x6c(%edx),%ebp
525ef0:	8b 5a 44             	mov    0x44(%edx),%ebx
525ef3:	89 42 04             	mov    %eax,0x4(%edx)
525ef6:	8b 42 58             	mov    0x58(%edx),%eax
525ef9:	2b 42 30             	sub    0x30(%edx),%eax
525efc:	89 42 08             	mov    %eax,0x8(%edx)
525eff:	8b 42 5c             	mov    0x5c(%edx),%eax
525f02:	2b 42 34             	sub    0x34(%edx),%eax
525f05:	89 42 0c             	mov    %eax,0xc(%edx)
525f08:	8b 42 60             	mov    0x60(%edx),%eax
525f0b:	2b 42 38             	sub    0x38(%edx),%eax
525f0e:	89 42 10             	mov    %eax,0x10(%edx)
525f11:	8b 42 64             	mov    0x64(%edx),%eax
525f14:	2b 42 3c             	sub    0x3c(%edx),%eax
525f17:	89 42 14             	mov    %eax,0x14(%edx)
525f1a:	8b 42 68             	mov    0x68(%edx),%eax
525f1d:	2b 42 40             	sub    0x40(%edx),%eax
525f20:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
525f24:	2b eb                	sub    %ebx,%ebp
525f26:	2b fe                	sub    %esi,%edi
525f28:	89 42 18             	mov    %eax,0x18(%edx)
525f2b:	89 6a 1c             	mov    %ebp,0x1c(%edx)
525f2e:	89 7a 20             	mov    %edi,0x20(%edx)
525f31:	8b 52 74             	mov    0x74(%edx),%edx
525f34:	89 5c 24 18          	mov    %ebx,0x18(%esp)
525f38:	8b 5c 24 10          	mov    0x10(%esp),%ebx
525f3c:	8b c2                	mov    %edx,%eax
525f3e:	8b 7c 24 14          	mov    0x14(%esp),%edi
525f42:	8b f3                	mov    %ebx,%esi
525f44:	8b 4b 4c             	mov    0x4c(%ebx),%ecx
525f47:	2b c1                	sub    %ecx,%eax
525f49:	89 43 24             	mov    %eax,0x24(%ebx)
525f4c:	8b df                	mov    %edi,%ebx
525f4e:	8b 07                	mov    (%edi),%eax
525f50:	8b fe                	mov    %esi,%edi
525f52:	03 46 50             	add    0x50(%esi),%eax
525f55:	89 03                	mov    %eax,(%ebx)
525f57:	8b de                	mov    %esi,%ebx
525f59:	8b 44 24 18          	mov    0x18(%esp),%eax
525f5d:	03 44 24 1c          	add    0x1c(%esp),%eax
525f61:	8b 6f 54             	mov    0x54(%edi),%ebp
525f64:	01 6f 2c             	add    %ebp,0x2c(%edi)
525f67:	89 47 44             	mov    %eax,0x44(%edi)
525f6a:	8b 44 24 20          	mov    0x20(%esp),%eax
525f6e:	03 44 24 24          	add    0x24(%esp),%eax
525f72:	8b 6f 58             	mov    0x58(%edi),%ebp
525f75:	01 6f 30             	add    %ebp,0x30(%edi)
525f78:	8b 6f 5c             	mov    0x5c(%edi),%ebp
525f7b:	01 6f 34             	add    %ebp,0x34(%edi)
525f7e:	8b 6f 60             	mov    0x60(%edi),%ebp
525f81:	01 6f 38             	add    %ebp,0x38(%edi)
525f84:	89 43 48             	mov    %eax,0x48(%ebx)
525f87:	8d 04 11             	lea    (%ecx,%edx,1),%eax
525f8a:	8b 6f 64             	mov    0x64(%edi),%ebp
525f8d:	8b d3                	mov    %ebx,%edx
525f8f:	01 6f 3c             	add    %ebp,0x3c(%edi)
525f92:	8b 6f 68             	mov    0x68(%edi),%ebp
525f95:	01 6f 40             	add    %ebp,0x40(%edi)
525f98:	89 42 4c             	mov    %eax,0x4c(%edx)
525f9b:	8b 4a 78             	mov    0x78(%edx),%ecx
525f9e:	8b 44 24 28          	mov    0x28(%esp),%eax
525fa2:	2b c1                	sub    %ecx,%eax
525fa4:	89 4c 24 24          	mov    %ecx,0x24(%esp)
525fa8:	89 42 50             	mov    %eax,0x50(%edx)
525fab:	8b 4a 7c             	mov    0x7c(%edx),%ecx
525fae:	8b 44 24 2c          	mov    0x2c(%esp),%eax
525fb2:	2b c1                	sub    %ecx,%eax
525fb4:	89 4c 24 20          	mov    %ecx,0x20(%esp)
525fb8:	89 42 54             	mov    %eax,0x54(%edx)
525fbb:	8b 8a 80 00 00 00    	mov    0x80(%edx),%ecx
525fc1:	8b 44 24 30          	mov    0x30(%esp),%eax
525fc5:	2b c1                	sub    %ecx,%eax
525fc7:	89 4c 24 1c          	mov    %ecx,0x1c(%esp)
525fcb:	89 42 58             	mov    %eax,0x58(%edx)
525fce:	8b 8a 84 00 00 00    	mov    0x84(%edx),%ecx
525fd4:	8b 44 24 34          	mov    0x34(%esp),%eax
525fd8:	2b c1                	sub    %ecx,%eax
525fda:	89 4c 24 18          	mov    %ecx,0x18(%esp)
525fde:	89 42 5c             	mov    %eax,0x5c(%edx)
525fe1:	8b aa 88 00 00 00    	mov    0x88(%edx),%ebp
525fe7:	8b 44 24 38          	mov    0x38(%esp),%eax
525feb:	2b c5                	sub    %ebp,%eax
525fed:	89 6c 24 14          	mov    %ebp,0x14(%esp)
525ff1:	8b 6c 24 10          	mov    0x10(%esp),%ebp
525ff5:	89 42 60             	mov    %eax,0x60(%edx)
525ff8:	8b 9a 8c 00 00 00    	mov    0x8c(%edx),%ebx
525ffe:	8b 44 24 3c          	mov    0x3c(%esp),%eax
526002:	2b c3                	sub    %ebx,%eax
526004:	89 42 64             	mov    %eax,0x64(%edx)
526007:	8b ba 90 00 00 00    	mov    0x90(%edx),%edi
52600d:	8b 44 24 40          	mov    0x40(%esp),%eax
526011:	2b c7                	sub    %edi,%eax
526013:	89 42 68             	mov    %eax,0x68(%edx)
526016:	8b b2 94 00 00 00    	mov    0x94(%edx),%esi
52601c:	8b 44 24 44          	mov    0x44(%esp),%eax
526020:	2b c6                	sub    %esi,%eax
526022:	89 42 6c             	mov    %eax,0x6c(%edx)
526025:	8b 92 98 00 00 00    	mov    0x98(%edx),%edx
52602b:	8b 44 24 48          	mov    0x48(%esp),%eax
52602f:	2b c2                	sub    %edx,%eax
526031:	89 45 70             	mov    %eax,0x70(%ebp)
526034:	8b 8d 9c 00 00 00    	mov    0x9c(%ebp),%ecx
52603a:	8b 44 24 4c          	mov    0x4c(%esp),%eax
52603e:	2b c1                	sub    %ecx,%eax
526040:	89 45 74             	mov    %eax,0x74(%ebp)
526043:	8b 44 24 24          	mov    0x24(%esp),%eax
526047:	03 44 24 28          	add    0x28(%esp),%eax
52604b:	89 45 78             	mov    %eax,0x78(%ebp)
52604e:	8b 44 24 20          	mov    0x20(%esp),%eax
526052:	03 44 24 2c          	add    0x2c(%esp),%eax
526056:	89 45 7c             	mov    %eax,0x7c(%ebp)
526059:	8b 44 24 1c          	mov    0x1c(%esp),%eax
52605d:	03 44 24 30          	add    0x30(%esp),%eax
526061:	89 85 80 00 00 00    	mov    %eax,0x80(%ebp)
526067:	8b 44 24 18          	mov    0x18(%esp),%eax
52606b:	03 44 24 34          	add    0x34(%esp),%eax
52606f:	89 85 84 00 00 00    	mov    %eax,0x84(%ebp)
526075:	8b 44 24 38          	mov    0x38(%esp),%eax
526079:	03 44 24 14          	add    0x14(%esp),%eax
52607d:	89 85 88 00 00 00    	mov    %eax,0x88(%ebp)
526083:	8b 44 24 3c          	mov    0x3c(%esp),%eax
526087:	03 c3                	add    %ebx,%eax
526089:	89 85 8c 00 00 00    	mov    %eax,0x8c(%ebp)
52608f:	8b 44 24 40          	mov    0x40(%esp),%eax
526093:	03 c7                	add    %edi,%eax
526095:	89 85 90 00 00 00    	mov    %eax,0x90(%ebp)
52609b:	8b 44 24 44          	mov    0x44(%esp),%eax
52609f:	03 c6                	add    %esi,%eax
5260a1:	89 85 94 00 00 00    	mov    %eax,0x94(%ebp)
5260a7:	8b 44 24 48          	mov    0x48(%esp),%eax
5260ab:	03 c2                	add    %edx,%eax
5260ad:	89 85 98 00 00 00    	mov    %eax,0x98(%ebp)
5260b3:	8b 44 24 4c          	mov    0x4c(%esp),%eax
5260b7:	5f                   	pop    %edi
5260b8:	03 c1                	add    %ecx,%eax
5260ba:	5e                   	pop    %esi
5260bb:	89 85 9c 00 00 00    	mov    %eax,0x9c(%ebp)
5260c1:	5d                   	pop    %ebp
5260c2:	5b                   	pop    %ebx
5260c3:	83 c4 40             	add    $0x40,%esp
5260c6:	c3                   	ret
5260c7:	cc                   	int3
5260c8:	cc                   	int3
5260c9:	cc                   	int3
5260ca:	cc                   	int3
5260cb:	cc                   	int3
5260cc:	cc                   	int3
5260cd:	cc                   	int3
5260ce:	cc                   	int3
5260cf:	cc                   	int3
5260d0:	b8 7c 01 00 00       	mov    $0x17c,%eax
5260d5:	e8 d6 b6 0a 00       	call   0x5d17b0
5260da:	53                   	push   %ebx
5260db:	55                   	push   %ebp
5260dc:	56                   	push   %esi
5260dd:	8b b4 24 90 01 00 00 	mov    0x190(%esp),%esi
5260e4:	33 db                	xor    %ebx,%ebx
5260e6:	57                   	push   %edi
5260e7:	8b bc 24 98 01 00 00 	mov    0x198(%esp),%edi
5260ee:	8a 4e 02             	mov    0x2(%esi),%cl
5260f1:	0f b6 c1             	movzbl %cl,%eax
5260f4:	99                   	cltd
5260f5:	8b e8                	mov    %eax,%ebp
5260f7:	c0 e9 05             	shr    $0x5,%cl
5260fa:	0f b6 06             	movzbl (%esi),%eax
5260fd:	0f a4 ea 10          	shld   $0x10,%ebp,%edx
526101:	99                   	cltd
526102:	c1 e5 10             	shl    $0x10,%ebp
526105:	0b e8                	or     %eax,%ebp
526107:	0f b6 46 01          	movzbl 0x1(%esi),%eax
52610b:	99                   	cltd
52610c:	81 e5 ff ff 1f 00    	and    $0x1fffff,%ebp
526112:	0f a4 c2 08          	shld   $0x8,%eax,%edx
526116:	c1 e0 08             	shl    $0x8,%eax
526119:	0b da                	or     %edx,%ebx
52611b:	0b e8                	or     %eax,%ebp
52611d:	89 9c 24 24 01 00 00 	mov    %ebx,0x124(%esp)
526124:	8a 5e 05             	mov    0x5(%esi),%bl
526127:	89 ac 24 20 01 00 00 	mov    %ebp,0x120(%esp)
52612e:	8a c3                	mov    %bl,%al
526130:	24 03                	and    $0x3,%al
526132:	c0 eb 02             	shr    $0x2,%bl
526135:	0f b6 c0             	movzbl %al,%eax
526138:	99                   	cltd
526139:	8b ea                	mov    %edx,%ebp
52613b:	0f a4 c5 08          	shld   $0x8,%eax,%ebp
52613f:	c1 e0 08             	shl    $0x8,%eax
526142:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
526149:	0f b6 46 04          	movzbl 0x4(%esi),%eax
52614d:	99                   	cltd
52614e:	09 84 24 90 00 00 00 	or     %eax,0x90(%esp)
526155:	0b ea                	or     %edx,%ebp
526157:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
52615e:	0f a4 c5 08          	shld   $0x8,%eax,%ebp
526162:	c1 e0 08             	shl    $0x8,%eax
526165:	89 84 24 90 00 00 00 	mov    %eax,0x90(%esp)
52616c:	0f b6 46 03          	movzbl 0x3(%esi),%eax
526170:	99                   	cltd
526171:	09 84 24 90 00 00 00 	or     %eax,0x90(%esp)
526178:	0b ea                	or     %edx,%ebp
52617a:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
526181:	0f a4 c5 03          	shld   $0x3,%eax,%ebp