521a49:	8b 44 24 6c          	mov    0x6c(%esp),%eax
521a4d:	0f a4 dd 08          	shld   $0x8,%ebx,%ebp
521a51:	c1 e3 08             	shl    $0x8,%ebx
521a54:	0f b6 40 01          	movzbl 0x1(%eax),%eax
521a58:	99                   	cltd
521a59:	0b d8                	or     %eax,%ebx
521a5b:	0b ea                	or     %edx,%ebp
521a5d:	8b 44 24 6c          	mov    0x6c(%esp),%eax
521a61:	0f a4 dd 08          	shld   $0x8,%ebx,%ebp
521a65:	c1 e3 08             	shl    $0x8,%ebx
521a68:	0f b6 00             	movzbl (%eax),%eax
521a6b:	99                   	cltd
521a6c:	0b d8                	or     %eax,%ebx
521a6e:	0b ea                	or     %edx,%ebp
521a70:	8b 44 24 44          	mov    0x44(%esp),%eax
521a74:	0f ac c8 19          	shrd   $0x19,%ecx,%eax
521a78:	c1 e9 19             	shr    $0x19,%ecx
521a7b:	51                   	push   %ecx
521a7c:	50                   	push   %eax
521a7d:	e8 fe 03 0b 00       	call   0x5d1e80
521a82:	03 d8                	add    %eax,%ebx
521a84:	8b 44 24 64          	mov    0x64(%esp),%eax
521a88:	89 5c 24 10          	mov    %ebx,0x10(%esp)
521a8c:	8b 5c 24 28          	mov    0x28(%esp),%ebx
521a90:	13 ea                	adc    %edx,%ebp
521a92:	81 c3 00 00 00 01    	add    $0x1000000,%ebx
521a98:	89 6c 24 18          	mov    %ebp,0x18(%esp)
521a9c:	0f b6 40 09          	movzbl 0x9(%eax),%eax
521aa0:	99                   	cltd
521aa1:	83 d6 00             	adc    $0x0,%esi
521aa4:	8b c8                	mov    %eax,%ecx
521aa6:	89 5c 24 40          	mov    %ebx,0x40(%esp)
521aaa:	8b 44 24 64          	mov    0x64(%esp),%eax
521aae:	8b ea                	mov    %edx,%ebp
521ab0:	0f a4 cd 08          	shld   $0x8,%ecx,%ebp
521ab4:	c1 e1 08             	shl    $0x8,%ecx
521ab7:	0f b6 40 08          	movzbl 0x8(%eax),%eax
521abb:	99                   	cltd
521abc:	0b c8                	or     %eax,%ecx
521abe:	0b ea                	or     %edx,%ebp
521ac0:	8b 44 24 64          	mov    0x64(%esp),%eax
521ac4:	0f a4 cd 08          	shld   $0x8,%ecx,%ebp
521ac8:	c1 e1 08             	shl    $0x8,%ecx
521acb:	0f b6 40 07          	movzbl 0x7(%eax),%eax
521acf:	99                   	cltd
521ad0:	0b c8                	or     %eax,%ecx
521ad2:	0b ea                	or     %edx,%ebp
521ad4:	8b c3                	mov    %ebx,%eax
521ad6:	0f ac f0 19          	shrd   $0x19,%esi,%eax
521ada:	0f a4 cd 05          	shld   $0x5,%ecx,%ebp
521ade:	c1 ee 19             	shr    $0x19,%esi
521ae1:	c1 e1 05             	shl    $0x5,%ecx
521ae4:	03 c8                	add    %eax,%ecx
521ae6:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
521aea:	13 ee                	adc    %esi,%ebp
521aec:	8b 4c 24 30          	mov    0x30(%esp),%ecx
521af0:	89 6c 24 1c          	mov    %ebp,0x1c(%esp)
521af4:	81 c1 00 00 00 01    	add    $0x1000000,%ecx
521afa:	8b 6c 24 64          	mov    0x64(%esp),%ebp
521afe:	83 d7 00             	adc    $0x0,%edi
521b01:	89 4c 24 44          	mov    %ecx,0x44(%esp)
521b05:	0f b6 45 0f          	movzbl 0xf(%ebp),%eax
521b09:	99                   	cltd
521b0a:	8b f0                	mov    %eax,%esi
521b0c:	8b da                	mov    %edx,%ebx
521b0e:	0f b6 45 0e          	movzbl 0xe(%ebp),%eax
521b12:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
521b16:	99                   	cltd
521b17:	0b da                	or     %edx,%ebx
521b19:	c1 e6 08             	shl    $0x8,%esi
521b1c:	0b f0                	or     %eax,%esi
521b1e:	0f b6 45 0d          	movzbl 0xd(%ebp),%eax
521b22:	0f a4 f3 08          	shld   $0x8,%esi,%ebx
521b26:	99                   	cltd
521b27:	0b da                	or     %edx,%ebx
521b29:	c1 e6 08             	shl    $0x8,%esi
521b2c:	0b f0                	or     %eax,%esi
521b2e:	8b c1                	mov    %ecx,%eax
521b30:	8b 4c 24 34          	mov    0x34(%esp),%ecx
521b34:	0f ac f8 19          	shrd   $0x19,%edi,%eax
521b38:	0f a4 f3 02          	shld   $0x2,%esi,%ebx
521b3c:	c1 ef 19             	shr    $0x19,%edi
521b3f:	c1 e6 02             	shl    $0x2,%esi
521b42:	03 f0                	add    %eax,%esi
521b44:	0f b6 45 16          	movzbl 0x16(%ebp),%eax
521b48:	99                   	cltd
521b49:	13 df                	adc    %edi,%ebx
521b4b:	89 74 24 48          	mov    %esi,0x48(%esp)
521b4f:	8b 7c 24 24          	mov    0x24(%esp),%edi
521b53:	81 c1 00 00 00 01    	add    $0x1000000,%ecx
521b59:	89 5c 24 20          	mov    %ebx,0x20(%esp)
521b5d:	8b ea                	mov    %edx,%ebp
521b5f:	83 d7 00             	adc    $0x0,%edi
521b62:	89 4c 24 4c          	mov    %ecx,0x4c(%esp)
521b66:	8b d8                	mov    %eax,%ebx
521b68:	8b 44 24 64          	mov    0x64(%esp),%eax
521b6c:	0f a4 dd 08          	shld   $0x8,%ebx,%ebp
521b70:	c1 e3 08             	shl    $0x8,%ebx
521b73:	0f b6 40 15          	movzbl 0x15(%eax),%eax
521b77:	99                   	cltd
521b78:	0b d8                	or     %eax,%ebx
521b7a:	0b ea                	or     %edx,%ebp
521b7c:	8b 44 24 64          	mov    0x64(%esp),%eax
521b80:	0f a4 dd 08          	shld   $0x8,%ebx,%ebp
521b84:	c1 e3 08             	shl    $0x8,%ebx
521b87:	0f b6 40 14          	movzbl 0x14(%eax),%eax
521b8b:	99                   	cltd
521b8c:	0b d8                	or     %eax,%ebx
521b8e:	0b ea                	or     %edx,%ebp
521b90:	0f a4 dd 07          	shld   $0x7,%ebx,%ebp
521b94:	8b c1                	mov    %ecx,%eax
521b96:	8b 4c 24 38          	mov    0x38(%esp),%ecx
521b9a:	0f ac f8 19          	shrd   $0x19,%edi,%eax
521b9e:	c1 e3 07             	shl    $0x7,%ebx
521ba1:	c1 ef 19             	shr    $0x19,%edi
521ba4:	03 d8                	add    %eax,%ebx
521ba6:	89 5c 24 50          	mov    %ebx,0x50(%esp)
521baa:	13 ef                	adc    %edi,%ebp
521bac:	89 6c 24 24          	mov    %ebp,0x24(%esp)
521bb0:	8b 44 24 64          	mov    0x64(%esp),%eax
521bb4:	81 c1 00 00 00 01    	add    $0x1000000,%ecx
521bba:	89 4c 24 54          	mov    %ecx,0x54(%esp)
521bbe:	83 54 24 14 00       	adcl   $0x0,0x14(%esp)
521bc3:	0f b6 40 1c          	movzbl 0x1c(%eax),%eax
521bc7:	99                   	cltd
521bc8:	8b e8                	mov    %eax,%ebp
521bca:	8b fa                	mov    %edx,%edi
521bcc:	8b 44 24 64          	mov    0x64(%esp),%eax
521bd0:	0f a4 ef 08          	shld   $0x8,%ebp,%edi
521bd4:	c1 e5 08             	shl    $0x8,%ebp
521bd7:	0f b6 40 1b          	movzbl 0x1b(%eax),%eax
521bdb:	99                   	cltd
521bdc:	0b e8                	or     %eax,%ebp
521bde:	0b fa                	or     %edx,%edi
521be0:	8b 44 24 64          	mov    0x64(%esp),%eax
521be4:	0f a4 ef 08          	shld   $0x8,%ebp,%edi
521be8:	c1 e5 08             	shl    $0x8,%ebp
521beb:	0f b6 40 1a          	movzbl 0x1a(%eax),%eax
521bef:	99                   	cltd
521bf0:	0b e8                	or     %eax,%ebp
521bf2:	0b fa                	or     %edx,%edi
521bf4:	8b 54 24 2c          	mov    0x2c(%esp),%edx
521bf8:	8b c1                	mov    %ecx,%eax
521bfa:	8b 4c 24 14          	mov    0x14(%esp),%ecx
521bfe:	0f ac c8 19          	shrd   $0x19,%ecx,%eax
521c02:	0f a4 ef 04          	shld   $0x4,%ebp,%edi
521c06:	c1 e9 19             	shr    $0x19,%ecx
521c09:	c1 e5 04             	shl    $0x4,%ebp
521c0c:	03 e8                	add    %eax,%ebp
521c0e:	89 6c 24 64          	mov    %ebp,0x64(%esp)
521c12:	13 f9                	adc    %ecx,%edi
521c14:	8b 4c 24 10          	mov    0x10(%esp),%ecx
521c18:	81 c1 00 00 00 02    	add    $0x2000000,%ecx
521c1e:	8b c1                	mov    %ecx,%eax
521c20:	83 54 24 18 00       	adcl   $0x0,0x18(%esp)
521c25:	81 c2 00 00 00 02    	add    $0x2000000,%edx
521c2b:	83 54 24 1c 00       	adcl   $0x0,0x1c(%esp)
521c30:	81 c6 00 00 00 02    	add    $0x2000000,%esi
521c36:	83 54 24 20 00       	adcl   $0x0,0x20(%esp)
521c3b:	81 c3 00 00 00 02    	add    $0x2000000,%ebx
521c41:	83 54 24 24 00       	adcl   $0x0,0x24(%esp)
521c46:	81 c5 00 00 00 02    	add    $0x2000000,%ebp
521c4c:	83 d7 00             	adc    $0x0,%edi
521c4f:	25 00 00 00 fc       	and    $0xfc000000,%eax
521c54:	29 44 24 10          	sub    %eax,0x10(%esp)
521c58:	8b 44 24 10          	mov    0x10(%esp),%eax
521c5c:	89 7c 24 14          	mov    %edi,0x14(%esp)
521c60:	8b 7c 24 60          	mov    0x60(%esp),%edi
521c64:	89 07                	mov    %eax,(%edi)
521c66:	8b 44 24 18          	mov    0x18(%esp),%eax
521c6a:	0f ac c1 1a          	shrd   $0x1a,%eax,%ecx
521c6e:	8b 44 24 40          	mov    0x40(%esp),%eax
521c72:	25 00 00 00 fe       	and    $0xfe000000,%eax
521c77:	2b c8                	sub    %eax,%ecx
521c79:	8b c2                	mov    %edx,%eax
521c7b:	03 4c 24 28          	add    0x28(%esp),%ecx
521c7f:	25 00 00 00 fc       	and    $0xfc000000,%eax
521c84:	89 4f 04             	mov    %ecx,0x4(%edi)
521c87:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
521c8b:	2b c8                	sub    %eax,%ecx
521c8d:	8b 44 24 1c          	mov    0x1c(%esp),%eax
521c91:	0f ac c2 1a          	shrd   $0x1a,%eax,%edx
521c95:	8b 44 24 44          	mov    0x44(%esp),%eax
521c99:	25 00 00 00 fe       	and    $0xfe000000,%eax
521c9e:	89 4f 08             	mov    %ecx,0x8(%edi)
521ca1:	8b 4c 24 48          	mov    0x48(%esp),%ecx
521ca5:	2b d0                	sub    %eax,%edx
521ca7:	03 54 24 30          	add    0x30(%esp),%edx
521cab:	8b c6                	mov    %esi,%eax
521cad:	25 00 00 00 fc       	and    $0xfc000000,%eax
521cb2:	89 57 0c             	mov    %edx,0xc(%edi)
521cb5:	2b c8                	sub    %eax,%ecx
521cb7:	8b 44 24 20          	mov    0x20(%esp),%eax
521cbb:	0f ac c6 1a          	shrd   $0x1a,%eax,%esi
521cbf:	8b 44 24 4c          	mov    0x4c(%esp),%eax
521cc3:	25 00 00 00 fe       	and    $0xfe000000,%eax
521cc8:	89 4f 10             	mov    %ecx,0x10(%edi)
521ccb:	2b f0                	sub    %eax,%esi
521ccd:	03 74 24 34          	add    0x34(%esp),%esi
521cd1:	89 77 14             	mov    %esi,0x14(%edi)
521cd4:	8b 4c 24 50          	mov    0x50(%esp),%ecx
521cd8:	8b c3                	mov    %ebx,%eax
521cda:	25 00 00 00 fc       	and    $0xfc000000,%eax
521cdf:	2b c8                	sub    %eax,%ecx
521ce1:	8b 44 24 24          	mov    0x24(%esp),%eax
521ce5:	0f ac c3 1a          	shrd   $0x1a,%eax,%ebx
521ce9:	8b 44 24 54          	mov    0x54(%esp),%eax
521ced:	25 00 00 00 fe       	and    $0xfe000000,%eax
521cf2:	89 4f 18             	mov    %ecx,0x18(%edi)
521cf5:	8b 4c 24 64          	mov    0x64(%esp),%ecx
521cf9:	2b d8                	sub    %eax,%ebx
521cfb:	03 5c 24 38          	add    0x38(%esp),%ebx
521cff:	8b c5                	mov    %ebp,%eax
521d01:	25 00 00 00 fc       	and    $0xfc000000,%eax
521d06:	89 5f 1c             	mov    %ebx,0x1c(%edi)
521d09:	2b c8                	sub    %eax,%ecx
521d0b:	8b 44 24 14          	mov    0x14(%esp),%eax
521d0f:	0f ac c5 1a          	shrd   $0x1a,%eax,%ebp
521d13:	8b 44 24 3c          	mov    0x3c(%esp),%eax
521d17:	25 00 00 00 fe       	and    $0xfe000000,%eax
521d1c:	89 4f 20             	mov    %ecx,0x20(%edi)
521d1f:	2b e8                	sub    %eax,%ebp
521d21:	03 6c 24 58          	add    0x58(%esp),%ebp
521d25:	89 6f 24             	mov    %ebp,0x24(%edi)
521d28:	5f                   	pop    %edi
521d29:	5e                   	pop    %esi
521d2a:	5d                   	pop    %ebp
521d2b:	5b                   	pop    %ebx
521d2c:	83 c4 4c             	add    $0x4c,%esp
521d2f:	c3                   	ret
521d30:	b8 a0 00 00 00       	mov    $0xa0,%eax
521d35:	e8 76 fa 0a 00       	call   0x5d17b0
521d3a:	56                   	push   %esi
521d3b:	8b b4 24 ac 00 00 00 	mov    0xac(%esp),%esi
521d42:	8d 44 24 7c          	lea    0x7c(%esp),%eax
521d46:	56                   	push   %esi
521d47:	50                   	push   %eax
521d48:	e8 f3 10 00 00       	call   0x522e40
521d4d:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
521d54:	50                   	push   %eax
521d55:	8d 44 24 38          	lea    0x38(%esp),%eax
521d59:	50                   	push   %eax
521d5a:	e8 e1 10 00 00       	call   0x522e40
521d5f:	8d 44 24 3c          	lea    0x3c(%esp),%eax
521d63:	50                   	push   %eax
521d64:	50                   	push   %eax
521d65:	e8 d6 10 00 00       	call   0x522e40
521d6a:	8d 44 24 44          	lea    0x44(%esp),%eax
521d6e:	50                   	push   %eax
521d6f:	56                   	push   %esi
521d70:	50                   	push   %eax
521d71:	e8 3a 02 00 00       	call   0x521fb0
521d76:	8d 44 24 50          	lea    0x50(%esp),%eax
521d7a:	50                   	push   %eax
521d7b:	8d 84 24 a4 00 00 00 	lea    0xa4(%esp),%eax
521d82:	50                   	push   %eax
521d83:	50                   	push   %eax
521d84:	e8 27 02 00 00       	call   0x521fb0
521d89:	8d 84 24 ac 00 00 00 	lea    0xac(%esp),%eax
521d90:	50                   	push   %eax
521d91:	8d 44 24 38          	lea    0x38(%esp),%eax
521d95:	50                   	push   %eax
521d96:	e8 a5 10 00 00       	call   0x522e40
521d9b:	8d 44 24 3c          	lea    0x3c(%esp),%eax
521d9f:	50                   	push   %eax
521da0:	8d 44 24 68          	lea    0x68(%esp),%eax
521da4:	50                   	push   %eax
521da5:	50                   	push   %eax
521da6:	e8 05 02 00 00       	call   0x521fb0
521dab:	83 c4 44             	add    $0x44,%esp
521dae:	8d 44 24 2c          	lea    0x2c(%esp),%eax
521db2:	50                   	push   %eax
521db3:	8d 44 24 08          	lea    0x8(%esp),%eax
521db7:	50                   	push   %eax
521db8:	e8 83 10 00 00       	call   0x522e40
521dbd:	83 c4 08             	add    $0x8,%esp
521dc0:	be 04 00 00 00       	mov    $0x4,%esi
521dc5:	8d 44 24 04          	lea    0x4(%esp),%eax
521dc9:	50                   	push   %eax
521dca:	50                   	push   %eax
521dcb:	e8 70 10 00 00       	call   0x522e40
521dd0:	83 c4 08             	add    $0x8,%esp
521dd3:	83 ee 01             	sub    $0x1,%esi
521dd6:	75 ed                	jne    0x521dc5
521dd8:	8d 44 24 2c          	lea    0x2c(%esp),%eax
521ddc:	50                   	push   %eax
521ddd:	8d 44 24 08          	lea    0x8(%esp),%eax
521de1:	50                   	push   %eax
521de2:	8d 44 24 34          	lea    0x34(%esp),%eax
521de6:	50                   	push   %eax
521de7:	e8 c4 01 00 00       	call   0x521fb0
521dec:	8d 44 24 38          	lea    0x38(%esp),%eax
521df0:	50                   	push   %eax
521df1:	8d 44 24 14          	lea    0x14(%esp),%eax
521df5:	50                   	push   %eax
521df6:	e8 45 10 00 00       	call   0x522e40
521dfb:	83 c4 14             	add    $0x14,%esp
521dfe:	be 09 00 00 00       	mov    $0x9,%esi
521e03:	8d 44 24 04          	lea    0x4(%esp),%eax
521e07:	50                   	push   %eax
521e08:	50                   	push   %eax
521e09:	e8 32 10 00 00       	call   0x522e40
521e0e:	83 c4 08             	add    $0x8,%esp
521e11:	83 ee 01             	sub    $0x1,%esi
521e14:	75 ed                	jne    0x521e03
521e16:	8d 44 24 2c          	lea    0x2c(%esp),%eax
521e1a:	50                   	push   %eax
521e1b:	8d 44 24 08          	lea    0x8(%esp),%eax
521e1f:	50                   	push   %eax
521e20:	50                   	push   %eax
521e21:	e8 8a 01 00 00       	call   0x521fb0
521e26:	8d 44 24 10          	lea    0x10(%esp),%eax
521e2a:	50                   	push   %eax
521e2b:	8d 44 24 64          	lea    0x64(%esp),%eax
521e2f:	50                   	push   %eax
521e30:	e8 0b 10 00 00       	call   0x522e40
521e35:	83 c4 14             	add    $0x14,%esp
521e38:	be 13 00 00 00       	mov    $0x13,%esi
521e3d:	0f 1f 00             	nopl   (%eax)
521e40:	8d 44 24 54          	lea    0x54(%esp),%eax
521e44:	50                   	push   %eax
521e45:	50                   	push   %eax
521e46:	e8 f5 0f 00 00       	call   0x522e40
521e4b:	83 c4 08             	add    $0x8,%esp
521e4e:	83 ee 01             	sub    $0x1,%esi
521e51:	75 ed                	jne    0x521e40
521e53:	8d 44 24 04          	lea    0x4(%esp),%eax
521e57:	50                   	push   %eax
521e58:	8d 44 24 58          	lea    0x58(%esp),%eax
521e5c:	50                   	push   %eax
521e5d:	8d 44 24 0c          	lea    0xc(%esp),%eax
521e61:	50                   	push   %eax
521e62:	e8 49 01 00 00       	call   0x521fb0
521e67:	83 c4 0c             	add    $0xc,%esp
521e6a:	be 0a 00 00 00       	mov    $0xa,%esi
521e6f:	90                   	nop
521e70:	8d 44 24 04          	lea    0x4(%esp),%eax
521e74:	50                   	push   %eax
521e75:	50                   	push   %eax
521e76:	e8 c5 0f 00 00       	call   0x522e40
521e7b:	83 c4 08             	add    $0x8,%esp
521e7e:	83 ee 01             	sub    $0x1,%esi
521e81:	75 ed                	jne    0x521e70
521e83:	8d 44 24 2c          	lea    0x2c(%esp),%eax
521e87:	50                   	push   %eax
521e88:	8d 44 24 08          	lea    0x8(%esp),%eax
521e8c:	50                   	push   %eax
521e8d:	8d 44 24 34          	lea    0x34(%esp),%eax
521e91:	50                   	push   %eax
521e92:	e8 19 01 00 00       	call   0x521fb0