522a28:	f7 ea                	imul   %edx
522a2a:	0f ac e9 19          	shrd   $0x19,%ebp,%ecx
522a2e:	8b fa                	mov    %edx,%edi
522a30:	8b 54 24 14          	mov    0x14(%esp),%edx
522a34:	c1 fd 19             	sar    $0x19,%ebp
522a37:	03 c1                	add    %ecx,%eax
522a39:	8b 4c 24 10          	mov    0x10(%esp),%ecx
522a3d:	13 fd                	adc    %ebp,%edi
522a3f:	89 44 24 4c          	mov    %eax,0x4c(%esp)
522a43:	81 c1 00 00 00 02    	add    $0x2000000,%ecx
522a49:	8b e8                	mov    %eax,%ebp
522a4b:	8b c1                	mov    %ecx,%eax
522a4d:	83 d2 00             	adc    $0x0,%edx
522a50:	89 54 24 14          	mov    %edx,0x14(%esp)
522a54:	8b 54 24 18          	mov    0x18(%esp),%edx
522a58:	81 c2 00 00 00 02    	add    $0x2000000,%edx
522a5e:	83 54 24 1c 00       	adcl   $0x0,0x1c(%esp)
522a63:	81 c6 00 00 00 02    	add    $0x2000000,%esi
522a69:	83 54 24 20 00       	adcl   $0x0,0x20(%esp)
522a6e:	81 c3 00 00 00 02    	add    $0x2000000,%ebx
522a74:	83 54 24 64 00       	adcl   $0x0,0x64(%esp)
522a79:	81 c5 00 00 00 02    	add    $0x2000000,%ebp
522a7f:	83 d7 00             	adc    $0x0,%edi
522a82:	25 00 00 00 fc       	and    $0xfc000000,%eax
522a87:	29 44 24 10          	sub    %eax,0x10(%esp)
522a8b:	8b 44 24 10          	mov    0x10(%esp),%eax
522a8f:	89 7c 24 50          	mov    %edi,0x50(%esp)
522a93:	8b 7c 24 60          	mov    0x60(%esp),%edi
522a97:	89 07                	mov    %eax,(%edi)
522a99:	8b 44 24 14          	mov    0x14(%esp),%eax
522a9d:	0f ac c1 1a          	shrd   $0x1a,%eax,%ecx
522aa1:	8b 44 24 24          	mov    0x24(%esp),%eax
522aa5:	25 00 00 00 fe       	and    $0xfe000000,%eax
522aaa:	2b c8                	sub    %eax,%ecx
522aac:	8b c2                	mov    %edx,%eax
522aae:	03 4c 24 28          	add    0x28(%esp),%ecx
522ab2:	25 00 00 00 fc       	and    $0xfc000000,%eax
522ab7:	89 4f 04             	mov    %ecx,0x4(%edi)
522aba:	8b 4c 24 18          	mov    0x18(%esp),%ecx
522abe:	2b c8                	sub    %eax,%ecx
522ac0:	8b 44 24 1c          	mov    0x1c(%esp),%eax
522ac4:	0f ac c2 1a          	shrd   $0x1a,%eax,%edx
522ac8:	8b 44 24 40          	mov    0x40(%esp),%eax
522acc:	25 00 00 00 fe       	and    $0xfe000000,%eax
522ad1:	89 4f 08             	mov    %ecx,0x8(%edi)
522ad4:	8b 4c 24 30          	mov    0x30(%esp),%ecx
522ad8:	2b d0                	sub    %eax,%edx
522ada:	03 54 24 2c          	add    0x2c(%esp),%edx
522ade:	8b c6                	mov    %esi,%eax
522ae0:	25 00 00 00 fc       	and    $0xfc000000,%eax
522ae5:	89 57 0c             	mov    %edx,0xc(%edi)
522ae8:	2b c8                	sub    %eax,%ecx
522aea:	8b 44 24 20          	mov    0x20(%esp),%eax
522aee:	0f ac c6 1a          	shrd   $0x1a,%eax,%esi
522af2:	8b 44 24 44          	mov    0x44(%esp),%eax
522af6:	25 00 00 00 fe       	and    $0xfe000000,%eax
522afb:	89 4f 10             	mov    %ecx,0x10(%edi)
522afe:	8b 4c 24 38          	mov    0x38(%esp),%ecx
522b02:	2b f0                	sub    %eax,%esi
522b04:	03 74 24 34          	add    0x34(%esp),%esi
522b08:	8b c3                	mov    %ebx,%eax
522b0a:	89 77 14             	mov    %esi,0x14(%edi)
522b0d:	25 00 00 00 fc       	and    $0xfc000000,%eax
522b12:	2b c8                	sub    %eax,%ecx
522b14:	8b 44 24 64          	mov    0x64(%esp),%eax
522b18:	0f ac c3 1a          	shrd   $0x1a,%eax,%ebx
522b1c:	8b 44 24 48          	mov    0x48(%esp),%eax
522b20:	25 00 00 00 fe       	and    $0xfe000000,%eax
522b25:	89 4f 18             	mov    %ecx,0x18(%edi)
522b28:	8b 4c 24 4c          	mov    0x4c(%esp),%ecx
522b2c:	2b d8                	sub    %eax,%ebx
522b2e:	03 5c 24 3c          	add    0x3c(%esp),%ebx
522b32:	8b c5                	mov    %ebp,%eax
522b34:	25 00 00 00 fc       	and    $0xfc000000,%eax
522b39:	89 5f 1c             	mov    %ebx,0x1c(%edi)
522b3c:	2b c8                	sub    %eax,%ecx
522b3e:	8b 44 24 50          	mov    0x50(%esp),%eax
522b42:	0f ac c5 1a          	shrd   $0x1a,%eax,%ebp
522b46:	8b 44 24 54          	mov    0x54(%esp),%eax
522b4a:	25 00 00 00 fe       	and    $0xfe000000,%eax
522b4f:	89 4f 20             	mov    %ecx,0x20(%edi)
522b52:	2b e8                	sub    %eax,%ebp
522b54:	03 6c 24 58          	add    0x58(%esp),%ebp
522b58:	89 6f 24             	mov    %ebp,0x24(%edi)
522b5b:	5f                   	pop    %edi
522b5c:	5e                   	pop    %esi
522b5d:	5d                   	pop    %ebp
522b5e:	5b                   	pop    %ebx
522b5f:	83 c4 4c             	add    $0x4c,%esp
522b62:	c3                   	ret
522b63:	cc                   	int3
522b64:	cc                   	int3
522b65:	cc                   	int3
522b66:	cc                   	int3
522b67:	cc                   	int3
522b68:	cc                   	int3
522b69:	cc                   	int3
522b6a:	cc                   	int3
522b6b:	cc                   	int3
522b6c:	cc                   	int3
522b6d:	cc                   	int3
522b6e:	cc                   	int3
522b6f:	cc                   	int3
522b70:	8b 54 24 08          	mov    0x8(%esp),%edx
522b74:	8b 4c 24 04          	mov    0x4(%esp),%ecx
522b78:	8b 02                	mov    (%edx),%eax
522b7a:	f7 d8                	neg    %eax
522b7c:	89 01                	mov    %eax,(%ecx)
522b7e:	8b 42 04             	mov    0x4(%edx),%eax
522b81:	f7 d8                	neg    %eax
522b83:	89 41 04             	mov    %eax,0x4(%ecx)
522b86:	8b 42 08             	mov    0x8(%edx),%eax
522b89:	f7 d8                	neg    %eax
522b8b:	89 41 08             	mov    %eax,0x8(%ecx)
522b8e:	8b 42 0c             	mov    0xc(%edx),%eax
522b91:	f7 d8                	neg    %eax
522b93:	89 41 0c             	mov    %eax,0xc(%ecx)
522b96:	8b 42 10             	mov    0x10(%edx),%eax
522b99:	f7 d8                	neg    %eax
522b9b:	89 41 10             	mov    %eax,0x10(%ecx)
522b9e:	8b 42 14             	mov    0x14(%edx),%eax
522ba1:	f7 d8                	neg    %eax
522ba3:	89 41 14             	mov    %eax,0x14(%ecx)
522ba6:	8b 42 18             	mov    0x18(%edx),%eax
522ba9:	f7 d8                	neg    %eax
522bab:	89 41 18             	mov    %eax,0x18(%ecx)
522bae:	8b 42 1c             	mov    0x1c(%edx),%eax
522bb1:	f7 d8                	neg    %eax
522bb3:	89 41 1c             	mov    %eax,0x1c(%ecx)
522bb6:	8b 42 20             	mov    0x20(%edx),%eax
522bb9:	f7 d8                	neg    %eax
522bbb:	89 41 20             	mov    %eax,0x20(%ecx)
522bbe:	8b 42 24             	mov    0x24(%edx),%eax
522bc1:	f7 d8                	neg    %eax
522bc3:	89 41 24             	mov    %eax,0x24(%ecx)
522bc6:	c3                   	ret
522bc7:	cc                   	int3
522bc8:	cc                   	int3
522bc9:	cc                   	int3
522bca:	cc                   	int3
522bcb:	cc                   	int3
522bcc:	cc                   	int3
522bcd:	cc                   	int3
522bce:	cc                   	int3
522bcf:	cc                   	int3
522bd0:	b8 78 00 00 00       	mov    $0x78,%eax
522bd5:	e8 d6 eb 0a 00       	call   0x5d17b0
522bda:	56                   	push   %esi
522bdb:	57                   	push   %edi
522bdc:	8b bc 24 88 00 00 00 	mov    0x88(%esp),%edi
522be3:	8d 44 24 30          	lea    0x30(%esp),%eax
522be7:	57                   	push   %edi
522be8:	50                   	push   %eax
522be9:	e8 52 02 00 00       	call   0x522e40
522bee:	8d 44 24 38          	lea    0x38(%esp),%eax
522bf2:	50                   	push   %eax
522bf3:	8d 44 24 14          	lea    0x14(%esp),%eax
522bf7:	50                   	push   %eax
522bf8:	e8 43 02 00 00       	call   0x522e40
522bfd:	8d 44 24 18          	lea    0x18(%esp),%eax
522c01:	50                   	push   %eax
522c02:	50                   	push   %eax
522c03:	e8 38 02 00 00       	call   0x522e40
522c08:	8d 44 24 20          	lea    0x20(%esp),%eax
522c0c:	50                   	push   %eax
522c0d:	57                   	push   %edi
522c0e:	50                   	push   %eax
522c0f:	e8 9c f3 ff ff       	call   0x521fb0
522c14:	8d 44 24 2c          	lea    0x2c(%esp),%eax
522c18:	50                   	push   %eax
522c19:	8d 44 24 58          	lea    0x58(%esp),%eax
522c1d:	50                   	push   %eax
522c1e:	50                   	push   %eax
522c1f:	e8 8c f3 ff ff       	call   0x521fb0
522c24:	8d 44 24 60          	lea    0x60(%esp),%eax
522c28:	50                   	push   %eax
522c29:	50                   	push   %eax
522c2a:	e8 11 02 00 00       	call   0x522e40
522c2f:	8d 44 24 68          	lea    0x68(%esp),%eax
522c33:	50                   	push   %eax
522c34:	8d 44 24 44          	lea    0x44(%esp),%eax
522c38:	50                   	push   %eax
522c39:	8d 44 24 70          	lea    0x70(%esp),%eax
522c3d:	50                   	push   %eax
522c3e:	e8 6d f3 ff ff       	call   0x521fb0
522c43:	83 c4 44             	add    $0x44,%esp
522c46:	8d 44 24 30          	lea    0x30(%esp),%eax
522c4a:	50                   	push   %eax
522c4b:	8d 44 24 0c          	lea    0xc(%esp),%eax
522c4f:	50                   	push   %eax
522c50:	e8 eb 01 00 00       	call   0x522e40
522c55:	83 c4 08             	add    $0x8,%esp
522c58:	be 04 00 00 00       	mov    $0x4,%esi
522c5d:	0f 1f 00             	nopl   (%eax)
522c60:	8d 44 24 08          	lea    0x8(%esp),%eax
522c64:	50                   	push   %eax
522c65:	50                   	push   %eax
522c66:	e8 d5 01 00 00       	call   0x522e40
522c6b:	83 c4 08             	add    $0x8,%esp
522c6e:	83 ee 01             	sub    $0x1,%esi
522c71:	75 ed                	jne    0x522c60
522c73:	8d 44 24 30          	lea    0x30(%esp),%eax
522c77:	50                   	push   %eax
522c78:	8d 44 24 0c          	lea    0xc(%esp),%eax
522c7c:	50                   	push   %eax
522c7d:	8d 44 24 38          	lea    0x38(%esp),%eax
522c81:	50                   	push   %eax
522c82:	e8 29 f3 ff ff       	call   0x521fb0
522c87:	8d 44 24 3c          	lea    0x3c(%esp),%eax
522c8b:	50                   	push   %eax
522c8c:	8d 44 24 18          	lea    0x18(%esp),%eax
522c90:	50                   	push   %eax
522c91:	e8 aa 01 00 00       	call   0x522e40
522c96:	83 c4 14             	add    $0x14,%esp
522c99:	be 09 00 00 00       	mov    $0x9,%esi
522c9e:	66 90                	xchg   %ax,%ax
522ca0:	8d 44 24 08          	lea    0x8(%esp),%eax
522ca4:	50                   	push   %eax
522ca5:	50                   	push   %eax
522ca6:	e8 95 01 00 00       	call   0x522e40
522cab:	83 c4 08             	add    $0x8,%esp
522cae:	83 ee 01             	sub    $0x1,%esi
522cb1:	75 ed                	jne    0x522ca0
522cb3:	8d 44 24 30          	lea    0x30(%esp),%eax
522cb7:	50                   	push   %eax
522cb8:	8d 44 24 0c          	lea    0xc(%esp),%eax
522cbc:	50                   	push   %eax
522cbd:	50                   	push   %eax
522cbe:	e8 ed f2 ff ff       	call   0x521fb0
522cc3:	8d 44 24 14          	lea    0x14(%esp),%eax
522cc7:	50                   	push   %eax
522cc8:	8d 44 24 68          	lea    0x68(%esp),%eax
522ccc:	50                   	push   %eax
522ccd:	e8 6e 01 00 00       	call   0x522e40
522cd2:	83 c4 14             	add    $0x14,%esp
522cd5:	be 13 00 00 00       	mov    $0x13,%esi
522cda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
522ce0:	8d 44 24 58          	lea    0x58(%esp),%eax
522ce4:	50                   	push   %eax
522ce5:	50                   	push   %eax
522ce6:	e8 55 01 00 00       	call   0x522e40
522ceb:	83 c4 08             	add    $0x8,%esp
522cee:	83 ee 01             	sub    $0x1,%esi
522cf1:	75 ed                	jne    0x522ce0
522cf3:	8d 44 24 08          	lea    0x8(%esp),%eax
522cf7:	50                   	push   %eax
522cf8:	8d 44 24 5c          	lea    0x5c(%esp),%eax
522cfc:	50                   	push   %eax
522cfd:	8d 44 24 10          	lea    0x10(%esp),%eax
522d01:	50                   	push   %eax
522d02:	e8 a9 f2 ff ff       	call   0x521fb0
522d07:	8d 44 24 14          	lea    0x14(%esp),%eax
522d0b:	50                   	push   %eax
522d0c:	50                   	push   %eax
522d0d:	e8 2e 01 00 00       	call   0x522e40
522d12:	83 c4 14             	add    $0x14,%esp
522d15:	be 09 00 00 00       	mov    $0x9,%esi
522d1a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
522d20:	8d 44 24 08          	lea    0x8(%esp),%eax
522d24:	50                   	push   %eax
522d25:	50                   	push   %eax
522d26:	e8 15 01 00 00       	call   0x522e40
522d2b:	83 c4 08             	add    $0x8,%esp
522d2e:	83 ee 01             	sub    $0x1,%esi
522d31:	75 ed                	jne    0x522d20
522d33:	8d 44 24 30          	lea    0x30(%esp),%eax
522d37:	50                   	push   %eax
522d38:	8d 44 24 0c          	lea    0xc(%esp),%eax
522d3c:	50                   	push   %eax
522d3d:	8d 44 24 38          	lea    0x38(%esp),%eax
522d41:	50                   	push   %eax
522d42:	e8 69 f2 ff ff       	call   0x521fb0
522d47:	8d 44 24 3c          	lea    0x3c(%esp),%eax
522d4b:	50                   	push   %eax
522d4c:	8d 44 24 18          	lea    0x18(%esp),%eax
522d50:	50                   	push   %eax
522d51:	e8 ea 00 00 00       	call   0x522e40
522d56:	83 c4 14             	add    $0x14,%esp
522d59:	be 31 00 00 00       	mov    $0x31,%esi
522d5e:	66 90                	xchg   %ax,%ax
522d60:	8d 44 24 08          	lea    0x8(%esp),%eax
522d64:	50                   	push   %eax
522d65:	50                   	push   %eax
522d66:	e8 d5 00 00 00       	call   0x522e40
522d6b:	83 c4 08             	add    $0x8,%esp
522d6e:	83 ee 01             	sub    $0x1,%esi
522d71:	75 ed                	jne    0x522d60
522d73:	8d 44 24 30          	lea    0x30(%esp),%eax
522d77:	50                   	push   %eax
522d78:	8d 44 24 0c          	lea    0xc(%esp),%eax
522d7c:	50                   	push   %eax
522d7d:	50                   	push   %eax
522d7e:	e8 2d f2 ff ff       	call   0x521fb0
522d83:	8d 44 24 14          	lea    0x14(%esp),%eax
522d87:	50                   	push   %eax
522d88:	8d 44 24 68          	lea    0x68(%esp),%eax
522d8c:	50                   	push   %eax
522d8d:	e8 ae 00 00 00       	call   0x522e40
522d92:	83 c4 14             	add    $0x14,%esp
522d95:	be 63 00 00 00       	mov    $0x63,%esi
522d9a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
522da0:	8d 44 24 58          	lea    0x58(%esp),%eax
522da4:	50                   	push   %eax
522da5:	50                   	push   %eax
522da6:	e8 95 00 00 00       	call   0x522e40
522dab:	83 c4 08             	add    $0x8,%esp
522dae:	83 ee 01             	sub    $0x1,%esi
522db1:	75 ed                	jne    0x522da0
522db3:	8d 44 24 08          	lea    0x8(%esp),%eax
522db7:	50                   	push   %eax
522db8:	8d 44 24 5c          	lea    0x5c(%esp),%eax
522dbc:	50                   	push   %eax
522dbd:	8d 44 24 10          	lea    0x10(%esp),%eax
522dc1:	50                   	push   %eax
522dc2:	e8 e9 f1 ff ff       	call   0x521fb0
522dc7:	8d 44 24 14          	lea    0x14(%esp),%eax
522dcb:	50                   	push   %eax
522dcc:	50                   	push   %eax
522dcd:	e8 6e 00 00 00       	call   0x522e40
522dd2:	83 c4 14             	add    $0x14,%esp
522dd5:	be 31 00 00 00       	mov    $0x31,%esi
522dda:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
522de0:	8d 44 24 08          	lea    0x8(%esp),%eax
522de4:	50                   	push   %eax
522de5:	50                   	push   %eax
522de6:	e8 55 00 00 00       	call   0x522e40
522deb:	83 c4 08             	add    $0x8,%esp
522dee:	83 ee 01             	sub    $0x1,%esi
522df1:	75 ed                	jne    0x522de0
522df3:	8d 44 24 30          	lea    0x30(%esp),%eax
522df7:	50                   	push   %eax
522df8:	8d 44 24 0c          	lea    0xc(%esp),%eax
522dfc:	50                   	push   %eax
522dfd:	8d 44 24 38          	lea    0x38(%esp),%eax
522e01:	50                   	push   %eax
522e02:	e8 a9 f1 ff ff       	call   0x521fb0
522e07:	8d 44 24 3c          	lea    0x3c(%esp),%eax
522e0b:	50                   	push   %eax
522e0c:	50                   	push   %eax
522e0d:	e8 2e 00 00 00       	call   0x522e40
522e12:	8d 44 24 44          	lea    0x44(%esp),%eax
522e16:	50                   	push   %eax
522e17:	50                   	push   %eax
522e18:	e8 23 00 00 00       	call   0x522e40
522e1d:	57                   	push   %edi
522e1e:	8d 44 24 50          	lea    0x50(%esp),%eax
522e22:	50                   	push   %eax
522e23:	ff b4 24 a8 00 00 00 	push   0xa8(%esp)
522e2a:	e8 81 f1 ff ff       	call   0x521fb0
522e2f:	83 c4 28             	add    $0x28,%esp