522e32:	5f                   	pop    %edi
522e33:	5e                   	pop    %esi
522e34:	83 c4 78             	add    $0x78,%esp
522e37:	c3                   	ret
522e38:	cc                   	int3
522e39:	cc                   	int3
522e3a:	cc                   	int3
522e3b:	cc                   	int3
522e3c:	cc                   	int3
522e3d:	cc                   	int3
522e3e:	cc                   	int3
522e3f:	cc                   	int3
522e40:	b8 7c 00 00 00       	mov    $0x7c,%eax
522e45:	e8 66 e9 0a 00       	call   0x5d17b0
522e4a:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
522e51:	53                   	push   %ebx
522e52:	55                   	push   %ebp
522e53:	56                   	push   %esi
522e54:	8b 68 14             	mov    0x14(%eax),%ebp
522e57:	8b 08                	mov    (%eax),%ecx
522e59:	8b 58 04             	mov    0x4(%eax),%ebx
522e5c:	8b 70 08             	mov    0x8(%eax),%esi
522e5f:	8b 50 0c             	mov    0xc(%eax),%edx
522e62:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
522e66:	8b 68 18             	mov    0x18(%eax),%ebp
522e69:	89 6c 24 30          	mov    %ebp,0x30(%esp)
522e6d:	8b 68 1c             	mov    0x1c(%eax),%ebp
522e70:	89 6c 24 44          	mov    %ebp,0x44(%esp)
522e74:	8b 68 20             	mov    0x20(%eax),%ebp
522e77:	57                   	push   %edi
522e78:	8b 78 10             	mov    0x10(%eax),%edi
522e7b:	8b 40 24             	mov    0x24(%eax),%eax
522e7e:	89 44 24 60          	mov    %eax,0x60(%esp)
522e82:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
522e85:	89 44 24 30          	mov    %eax,0x30(%esp)
522e89:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
522e8c:	89 44 24 44          	mov    %eax,0x44(%esp)
522e90:	8d 04 36             	lea    (%esi,%esi,1),%eax
522e93:	89 44 24 4c          	mov    %eax,0x4c(%esp)
522e97:	8d 04 12             	lea    (%edx,%edx,1),%eax
522e9a:	89 44 24 38          	mov    %eax,0x38(%esp)
522e9e:	8d 04 3f             	lea    (%edi,%edi,1),%eax
522ea1:	89 44 24 64          	mov    %eax,0x64(%esp)
522ea5:	6b 44 24 60 26       	imul   $0x26,0x60(%esp),%eax
522eaa:	89 54 24 58          	mov    %edx,0x58(%esp)
522eae:	89 6c 24 50          	mov    %ebp,0x50(%esp)
522eb2:	6b 6c 24 34 13       	imul   $0x13,0x34(%esp),%ebp
522eb7:	89 74 24 5c          	mov    %esi,0x5c(%esp)
522ebb:	6b 74 24 48 26       	imul   $0x26,0x48(%esp),%esi
522ec0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
522ec4:	6b 44 24 20 26       	imul   $0x26,0x20(%esp),%eax
522ec9:	89 7c 24 40          	mov    %edi,0x40(%esp)
522ecd:	6b 7c 24 50 13       	imul   $0x13,0x50(%esp),%edi
522ed2:	89 5c 24 74          	mov    %ebx,0x74(%esp)
522ed6:	89 74 24 54          	mov    %esi,0x54(%esp)
522eda:	f7 6c 24 20          	imull  0x20(%esp)
522ede:	89 7c 24 78          	mov    %edi,0x78(%esp)
522ee2:	89 44 24 10          	mov    %eax,0x10(%esp)
522ee6:	8b c5                	mov    %ebp,%eax
522ee8:	89 54 24 14          	mov    %edx,0x14(%esp)
522eec:	f7 6c 24 64          	imull  0x64(%esp)
522ef0:	01 44 24 10          	add    %eax,0x10(%esp)
522ef4:	8b c6                	mov    %esi,%eax
522ef6:	11 54 24 14          	adc    %edx,0x14(%esp)
522efa:	f7 6c 24 38          	imull  0x38(%esp)
522efe:	01 44 24 10          	add    %eax,0x10(%esp)
522f02:	8b c7                	mov    %edi,%eax
522f04:	11 54 24 14          	adc    %edx,0x14(%esp)
522f08:	f7 6c 24 4c          	imull  0x4c(%esp)
522f0c:	01 44 24 10          	add    %eax,0x10(%esp)
522f10:	8b 44 24 2c          	mov    0x2c(%esp),%eax
522f14:	11 54 24 14          	adc    %edx,0x14(%esp)
522f18:	8d 14 1b             	lea    (%ebx,%ebx,1),%edx
522f1b:	f7 ea                	imul   %edx
522f1d:	01 44 24 10          	add    %eax,0x10(%esp)
522f21:	8b c1                	mov    %ecx,%eax
522f23:	11 54 24 14          	adc    %edx,0x14(%esp)
522f27:	f7 e9                	imul   %ecx
522f29:	01 44 24 10          	add    %eax,0x10(%esp)
522f2d:	8b 44 24 34          	mov    0x34(%esp),%eax
522f31:	11 54 24 14          	adc    %edx,0x14(%esp)
522f35:	8d 0c 00             	lea    (%eax,%eax,1),%ecx
522f38:	8b c7                	mov    %edi,%eax
522f3a:	f7 e9                	imul   %ecx
522f3c:	89 54 24 18          	mov    %edx,0x18(%esp)
522f40:	8b 54 24 20          	mov    0x20(%esp),%edx
522f44:	89 44 24 28          	mov    %eax,0x28(%esp)
522f48:	8b 44 24 2c          	mov    0x2c(%esp),%eax
522f4c:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
522f4f:	f7 e9                	imul   %ecx
522f51:	01 44 24 28          	add    %eax,0x28(%esp)
522f55:	8b 44 24 38          	mov    0x38(%esp),%eax
522f59:	11 54 24 18          	adc    %edx,0x18(%esp)
522f5d:	8d 0c 1b             	lea    (%ebx,%ebx,1),%ecx
522f60:	f7 e9                	imul   %ecx
522f62:	8b 4c 24 28          	mov    0x28(%esp),%ecx
522f66:	03 c8                	add    %eax,%ecx
522f68:	8b c6                	mov    %esi,%eax
522f6a:	11 54 24 18          	adc    %edx,0x18(%esp)
522f6e:	f7 6c 24 48          	imull  0x48(%esp)
522f72:	8b 74 24 18          	mov    0x18(%esp),%esi
522f76:	03 c8                	add    %eax,%ecx
522f78:	8b 44 24 30          	mov    0x30(%esp),%eax
522f7c:	13 f2                	adc    %edx,%esi
522f7e:	f7 6c 24 40          	imull  0x40(%esp)
522f82:	03 c8                	add    %eax,%ecx
522f84:	89 4c 24 28          	mov    %ecx,0x28(%esp)
522f88:	13 f2                	adc    %edx,%esi
522f8a:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
522f8e:	8b c1                	mov    %ecx,%eax
522f90:	f7 e9                	imul   %ecx
522f92:	01 44 24 28          	add    %eax,0x28(%esp)
522f96:	8b 44 24 10          	mov    0x10(%esp),%eax
522f9a:	13 f2                	adc    %edx,%esi
522f9c:	05 00 00 00 02       	add    $0x2000000,%eax
522fa1:	89 44 24 68          	mov    %eax,0x68(%esp)
522fa5:	8b 44 24 14          	mov    0x14(%esp),%eax
522fa9:	83 d0 00             	adc    $0x0,%eax
522fac:	89 74 24 18          	mov    %esi,0x18(%esp)
522fb0:	8b 74 24 20          	mov    0x20(%esp),%esi
522fb4:	89 44 24 6c          	mov    %eax,0x6c(%esp)
522fb8:	8b c5                	mov    %ebp,%eax
522fba:	8d 14 36             	lea    (%esi,%esi,1),%edx
522fbd:	f7 ea                	imul   %edx
522fbf:	89 44 24 24          	mov    %eax,0x24(%esp)
522fc3:	8b f2                	mov    %edx,%esi
522fc5:	8b c7                	mov    %edi,%eax
522fc7:	f7 6c 24 38          	imull  0x38(%esp)
522fcb:	01 44 24 24          	add    %eax,0x24(%esp)
522fcf:	8b 44 24 54          	mov    0x54(%esp),%eax
522fd3:	13 f2                	adc    %edx,%esi
522fd5:	f7 6c 24 40          	imull  0x40(%esp)
522fd9:	01 44 24 24          	add    %eax,0x24(%esp)
522fdd:	8b 44 24 2c          	mov    0x2c(%esp),%eax
522fe1:	13 f2                	adc    %edx,%esi
522fe3:	f7 e9                	imul   %ecx
522fe5:	8b 4c 24 24          	mov    0x24(%esp),%ecx
522fe9:	03 c8                	add    %eax,%ecx
522feb:	8b 44 24 30          	mov    0x30(%esp),%eax
522fef:	13 f2                	adc    %edx,%esi
522ff1:	f7 eb                	imul   %ebx
522ff3:	8b 5c 24 28          	mov    0x28(%esp),%ebx
522ff7:	03 c8                	add    %eax,%ecx
522ff9:	8b 44 24 68          	mov    0x68(%esp),%eax
522ffd:	89 4c 24 24          	mov    %ecx,0x24(%esp)
523001:	8b 4c 24 6c          	mov    0x6c(%esp),%ecx
523005:	13 f2                	adc    %edx,%esi
523007:	0f ac c8 1a          	shrd   $0x1a,%ecx,%eax
52300b:	c1 f9 1a             	sar    $0x1a,%ecx
52300e:	01 44 24 24          	add    %eax,0x24(%esp)
523012:	8b c7                	mov    %edi,%eax
523014:	8b 7c 24 48          	mov    0x48(%esp),%edi
523018:	13 f1                	adc    %ecx,%esi
52301a:	81 c3 00 00 00 02    	add    $0x2000000,%ebx
523020:	8b 4c 24 18          	mov    0x18(%esp),%ecx
523024:	83 d1 00             	adc    $0x0,%ecx
523027:	89 5c 24 7c          	mov    %ebx,0x7c(%esp)
52302b:	8d 14 3f             	lea    (%edi,%edi,1),%edx
52302e:	89 8c 24 80 00 00 00 	mov    %ecx,0x80(%esp)
523035:	f7 ea                	imul   %edx
523037:	89 44 24 1c          	mov    %eax,0x1c(%esp)
52303b:	8b fa                	mov    %edx,%edi
52303d:	8b 44 24 2c          	mov    0x2c(%esp),%eax
523041:	f7 6c 24 34          	imull  0x34(%esp)
523045:	01 44 24 1c          	add    %eax,0x1c(%esp)
523049:	8b 44 24 30          	mov    0x30(%esp),%eax
52304d:	13 fa                	adc    %edx,%edi
52304f:	f7 6c 24 20          	imull  0x20(%esp)
523053:	01 44 24 1c          	add    %eax,0x1c(%esp)
523057:	8b 44 24 44          	mov    0x44(%esp),%eax
52305b:	13 fa                	adc    %edx,%edi
52305d:	f7 6c 24 40          	imull  0x40(%esp)
523061:	01 44 24 1c          	add    %eax,0x1c(%esp)
523065:	13 fa                	adc    %edx,%edi
523067:	8b 44 24 4c          	mov    0x4c(%esp),%eax
52306b:	f7 6c 24 58          	imull  0x58(%esp)
52306f:	01 44 24 1c          	add    %eax,0x1c(%esp)
523073:	8b c3                	mov    %ebx,%eax
523075:	13 fa                	adc    %edx,%edi
523077:	8b 54 24 20          	mov    0x20(%esp),%edx
52307b:	0f ac c8 1a          	shrd   $0x1a,%ecx,%eax
52307f:	c1 f9 1a             	sar    $0x1a,%ecx
523082:	01 44 24 1c          	add    %eax,0x1c(%esp)
523086:	8b 44 24 24          	mov    0x24(%esp),%eax
52308a:	13 f9                	adc    %ecx,%edi
52308c:	05 00 00 00 01       	add    $0x1000000,%eax
523091:	89 44 24 70          	mov    %eax,0x70(%esp)
523095:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
523098:	83 d6 00             	adc    $0x0,%esi
52309b:	8b 44 24 54          	mov    0x54(%esp),%eax
52309f:	f7 e9                	imul   %ecx
5230a1:	8b 4c 24 78          	mov    0x78(%esp),%ecx
5230a5:	89 44 24 3c          	mov    %eax,0x3c(%esp)
5230a9:	8b da                	mov    %edx,%ebx
5230ab:	8b c1                	mov    %ecx,%eax
5230ad:	f7 6c 24 64          	imull  0x64(%esp)
5230b1:	01 44 24 3c          	add    %eax,0x3c(%esp)
5230b5:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5230b9:	13 da                	adc    %edx,%ebx
5230bb:	f7 6c 24 38          	imull  0x38(%esp)
5230bf:	01 44 24 3c          	add    %eax,0x3c(%esp)
5230c3:	8b c5                	mov    %ebp,%eax
5230c5:	8b 6c 24 3c          	mov    0x3c(%esp),%ebp
5230c9:	13 da                	adc    %edx,%ebx
5230cb:	f7 6c 24 34          	imull  0x34(%esp)
5230cf:	03 e8                	add    %eax,%ebp
5230d1:	8b 44 24 30          	mov    0x30(%esp),%eax
5230d5:	13 da                	adc    %edx,%ebx
5230d7:	f7 6c 24 5c          	imull  0x5c(%esp)
5230db:	03 e8                	add    %eax,%ebp
5230dd:	8b 44 24 44          	mov    0x44(%esp),%eax
5230e1:	13 da                	adc    %edx,%ebx
5230e3:	f7 6c 24 74          	imull  0x74(%esp)
5230e7:	03 e8                	add    %eax,%ebp
5230e9:	8b 44 24 70          	mov    0x70(%esp),%eax
5230ed:	13 da                	adc    %edx,%ebx
5230ef:	0f ac f0 19          	shrd   $0x19,%esi,%eax
5230f3:	c1 fe 19             	sar    $0x19,%esi
5230f6:	03 e8                	add    %eax,%ebp
5230f8:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5230fc:	13 de                	adc    %esi,%ebx
5230fe:	89 6c 24 3c          	mov    %ebp,0x3c(%esp)
523102:	8b 74 24 48          	mov    0x48(%esp),%esi
523106:	05 00 00 00 01       	add    $0x1000000,%eax
52310b:	89 44 24 74          	mov    %eax,0x74(%esp)
52310f:	8b 44 24 2c          	mov    0x2c(%esp),%eax
523113:	83 d7 00             	adc    $0x0,%edi
523116:	8d 14 36             	lea    (%esi,%esi,1),%edx
523119:	f7 ea                	imul   %edx
52311b:	8b e8                	mov    %eax,%ebp
52311d:	8b f2                	mov    %edx,%esi
52311f:	8b c1                	mov    %ecx,%eax
523121:	f7 6c 24 50          	imull  0x50(%esp)
523125:	03 e8                	add    %eax,%ebp
523127:	13 f2                	adc    %edx,%esi
523129:	8b 54 24 20          	mov    0x20(%esp),%edx
52312d:	8d 04 12             	lea    (%edx,%edx,1),%eax
523130:	f7 6c 24 44          	imull  0x44(%esp)
523134:	03 e8                	add    %eax,%ebp
523136:	8b 44 24 30          	mov    0x30(%esp),%eax
52313a:	13 f2                	adc    %edx,%esi
52313c:	f7 6c 24 34          	imull  0x34(%esp)
523140:	03 e8                	add    %eax,%ebp
523142:	8b 44 24 4c          	mov    0x4c(%esp),%eax
523146:	13 f2                	adc    %edx,%esi
523148:	f7 6c 24 40          	imull  0x40(%esp)
52314c:	03 e8                	add    %eax,%ebp
52314e:	8b 44 24 38          	mov    0x38(%esp),%eax
523152:	13 f2                	adc    %edx,%esi
523154:	f7 6c 24 58          	imull  0x58(%esp)
523158:	03 e8                	add    %eax,%ebp
52315a:	8b 44 24 74          	mov    0x74(%esp),%eax
52315e:	13 f2                	adc    %edx,%esi
523160:	0f ac f8 19          	shrd   $0x19,%edi,%eax
523164:	c1 ff 19             	sar    $0x19,%edi
523167:	03 e8                	add    %eax,%ebp
523169:	8b 54 24 20          	mov    0x20(%esp),%edx
52316d:	8b c1                	mov    %ecx,%eax
52316f:	89 6c 24 78          	mov    %ebp,0x78(%esp)
523173:	13 f7                	adc    %edi,%esi
523175:	8b 7c 24 3c          	mov    0x3c(%esp),%edi
523179:	81 c7 00 00 00 02    	add    $0x2000000,%edi
52317f:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
523182:	89 bc 24 84 00 00 00 	mov    %edi,0x84(%esp)
523189:	83 d3 00             	adc    $0x0,%ebx
52318c:	f7 e9                	imul   %ecx
52318e:	8b e8                	mov    %eax,%ebp
523190:	8b ca                	mov    %edx,%ecx
523192:	8b 44 24 54          	mov    0x54(%esp),%eax
523196:	f7 6c 24 34          	imull  0x34(%esp)
52319a:	03 e8                	add    %eax,%ebp
52319c:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5231a0:	13 ca                	adc    %edx,%ecx
5231a2:	f7 6c 24 40          	imull  0x40(%esp)
5231a6:	03 e8                	add    %eax,%ebp
5231a8:	8b 44 24 30          	mov    0x30(%esp),%eax
5231ac:	13 ca                	adc    %edx,%ecx
5231ae:	f7 6c 24 58          	imull  0x58(%esp)
5231b2:	03 e8                	add    %eax,%ebp
5231b4:	8b 44 24 44          	mov    0x44(%esp),%eax
5231b8:	13 ca                	adc    %edx,%ecx
5231ba:	f7 6c 24 5c          	imull  0x5c(%esp)
5231be:	03 e8                	add    %eax,%ebp
5231c0:	8b c7                	mov    %edi,%eax
5231c2:	13 ca                	adc    %edx,%ecx
5231c4:	0f ac d8 1a          	shrd   $0x1a,%ebx,%eax
5231c8:	c1 fb 1a             	sar    $0x1a,%ebx
5231cb:	03 e8                	add    %eax,%ebp
5231cd:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5231d1:	13 cb                	adc    %ebx,%ecx
5231d3:	89 6c 24 5c          	mov    %ebp,0x5c(%esp)
5231d7:	8b 6c 24 78          	mov    0x78(%esp),%ebp
5231db:	81 c5 00 00 00 02    	add    $0x2000000,%ebp
5231e1:	89 6c 24 54          	mov    %ebp,0x54(%esp)
5231e5:	83 d6 00             	adc    $0x0,%esi
5231e8:	f7 6c 24 50          	imull  0x50(%esp)
5231ec:	8b d8                	mov    %eax,%ebx
5231ee:	8b fa                	mov    %edx,%edi
5231f0:	8b 44 24 30          	mov    0x30(%esp),%eax
5231f4:	f7 6c 24 48          	imull  0x48(%esp)
5231f8:	03 d8                	add    %eax,%ebx
5231fa:	8b 44 24 44          	mov    0x44(%esp),%eax
5231fe:	13 fa                	adc    %edx,%edi
523200:	f7 6c 24 34          	imull  0x34(%esp)
523204:	03 d8                	add    %eax,%ebx
523206:	8b 44 24 4c          	mov    0x4c(%esp),%eax
52320a:	13 fa                	adc    %edx,%edi
52320c:	f7 6c 24 20          	imull  0x20(%esp)
523210:	03 d8                	add    %eax,%ebx
523212:	8b 44 24 38          	mov    0x38(%esp),%eax
523216:	13 fa                	adc    %edx,%edi
523218:	f7 6c 24 40          	imull  0x40(%esp)
52321c:	03 d8                	add    %eax,%ebx
52321e:	8b c5                	mov    %ebp,%eax
523220:	8b 6c 24 28          	mov    0x28(%esp),%ebp
523224:	13 fa                	adc    %edx,%edi
523226:	8b 54 24 7c          	mov    0x7c(%esp),%edx
52322a:	0f ac f0 1a          	shrd   $0x1a,%esi,%eax
52322e:	c1 fe 1a             	sar    $0x1a,%esi
523231:	03 d8                	add    %eax,%ebx
523233:	8b 44 24 5c          	mov    0x5c(%esp),%eax
523237:	13 fe                	adc    %esi,%edi
523239:	89 9c 24 88 00 00 00 	mov    %ebx,0x88(%esp)
523240:	05 00 00 00 01       	add    $0x1000000,%eax
523245:	89 44 24 58          	mov    %eax,0x58(%esp)
523249:	83 d1 00             	adc    $0x0,%ecx
52324c:	81 e2 00 00 00 fc    	and    $0xfc000000,%edx
523252:	0f ac c8 19          	shrd   $0x19,%ecx,%eax
523256:	c1 f9 19             	sar    $0x19,%ecx
523259:	2b c2                	sub    %edx,%eax
52325b:	1b 8c 24 80 00 00 00 	sbb    0x80(%esp),%ecx
523262:	03 e8                	add    %eax,%ebp
523264:	89 6c 24 28          	mov    %ebp,0x28(%esp)
523268:	11 4c 24 18          	adc    %ecx,0x18(%esp)
52326c:	81 c3 00 00 00 01    	add    $0x1000000,%ebx
523272:	89 9c 24 80 00 00 00 	mov    %ebx,0x80(%esp)
523279:	83 d7 00             	adc    $0x0,%edi
52327c:	8b 4c 24 20          	mov    0x20(%esp),%ecx
523280:	6a 00                	push   $0x0
523282:	6a 13                	push   $0x13
523284:	8d 04 09             	lea    (%ecx,%ecx,1),%eax
523287:	f7 6c 24 40          	imull  0x40(%esp)
52328b:	8b c8                	mov    %eax,%ecx
52328d:	8b f2                	mov    %edx,%esi
52328f:	8b 44 24 34          	mov    0x34(%esp),%eax
523293:	f7 6c 24 68          	imull  0x68(%esp)
523297:	03 c8                	add    %eax,%ecx
523299:	13 f2                	adc    %edx,%esi
52329b:	8b 54 24 50          	mov    0x50(%esp),%edx
52329f:	8d 04 12             	lea    (%edx,%edx,1),%eax