64198a:	50                   	push   %eax
64198b:	8b 44 24 30          	mov    0x30(%esp),%eax
64198f:	8b 54 24 34          	mov    0x34(%esp),%edx
641993:	0f a4 c2 17          	shld   $0x17,%eax,%edx
641997:	c1 e0 17             	shl    $0x17,%eax
64199a:	0b 04 24             	or     (%esp),%eax
64199d:	0b 54 24 04          	or     0x4(%esp),%edx
6419a1:	83 c4 08             	add    $0x8,%esp
6419a4:	33 04 24             	xor    (%esp),%eax
6419a7:	33 54 24 04          	xor    0x4(%esp),%edx
6419ab:	83 c4 08             	add    $0x8,%esp
6419ae:	03 44 24 38          	add    0x38(%esp),%eax
6419b2:	13 54 24 3c          	adc    0x3c(%esp),%edx
6419b6:	52                   	push   %edx
6419b7:	50                   	push   %eax
6419b8:	8b 44 24 28          	mov    0x28(%esp),%eax
6419bc:	8b 54 24 2c          	mov    0x2c(%esp),%edx
6419c0:	23 44 24 30          	and    0x30(%esp),%eax
6419c4:	23 54 24 34          	and    0x34(%esp),%edx
6419c8:	52                   	push   %edx
6419c9:	50                   	push   %eax
6419ca:	8b 44 24 30          	mov    0x30(%esp),%eax
6419ce:	8b 54 24 34          	mov    0x34(%esp),%edx
6419d2:	f7 d0                	not    %eax
6419d4:	f7 d2                	not    %edx
6419d6:	23 44 24 40          	and    0x40(%esp),%eax
6419da:	23 54 24 44          	and    0x44(%esp),%edx
6419de:	33 04 24             	xor    (%esp),%eax
6419e1:	33 54 24 04          	xor    0x4(%esp),%edx
6419e5:	83 c4 08             	add    $0x8,%esp
6419e8:	03 04 24             	add    (%esp),%eax
6419eb:	13 54 24 04          	adc    0x4(%esp),%edx
6419ef:	83 c4 08             	add    $0x8,%esp
6419f2:	05 d2 4a f1 9e       	add    $0x9ef14ad2,%eax
6419f7:	81 d2 c1 69 9b e4    	adc    $0xe49b69c1,%edx
6419fd:	03 84 24 d0 00 00 00 	add    0xd0(%esp),%eax
641a04:	13 94 24 d4 00 00 00 	adc    0xd4(%esp),%edx
641a0b:	89 44 24 40          	mov    %eax,0x40(%esp)
641a0f:	89 54 24 44          	mov    %edx,0x44(%esp)
641a13:	8b 04 24             	mov    (%esp),%eax
641a16:	8b 54 24 04          	mov    0x4(%esp),%edx
641a1a:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
641a1e:	c1 ea 1c             	shr    $0x1c,%edx
641a21:	52                   	push   %edx
641a22:	50                   	push   %eax
641a23:	8b 54 24 08          	mov    0x8(%esp),%edx
641a27:	c1 e2 04             	shl    $0x4,%edx
641a2a:	33 c0                	xor    %eax,%eax
641a2c:	0b 04 24             	or     (%esp),%eax
641a2f:	0b 54 24 04          	or     0x4(%esp),%edx
641a33:	83 c4 08             	add    $0x8,%esp
641a36:	52                   	push   %edx
641a37:	50                   	push   %eax
641a38:	8b 44 24 0c          	mov    0xc(%esp),%eax
641a3c:	c1 e8 02             	shr    $0x2,%eax
641a3f:	33 d2                	xor    %edx,%edx
641a41:	52                   	push   %edx
641a42:	50                   	push   %eax
641a43:	8b 44 24 10          	mov    0x10(%esp),%eax
641a47:	8b 54 24 14          	mov    0x14(%esp),%edx
641a4b:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
641a4f:	c1 e0 1e             	shl    $0x1e,%eax
641a52:	0b 04 24             	or     (%esp),%eax
641a55:	0b 54 24 04          	or     0x4(%esp),%edx
641a59:	83 c4 08             	add    $0x8,%esp
641a5c:	33 04 24             	xor    (%esp),%eax
641a5f:	33 54 24 04          	xor    0x4(%esp),%edx
641a63:	83 c4 08             	add    $0x8,%esp
641a66:	52                   	push   %edx
641a67:	50                   	push   %eax
641a68:	8b 44 24 0c          	mov    0xc(%esp),%eax
641a6c:	c1 e8 07             	shr    $0x7,%eax
641a6f:	33 d2                	xor    %edx,%edx
641a71:	52                   	push   %edx
641a72:	50                   	push   %eax
641a73:	8b 44 24 10          	mov    0x10(%esp),%eax
641a77:	8b 54 24 14          	mov    0x14(%esp),%edx
641a7b:	0f a4 c2 19          	shld   $0x19,%eax,%edx
641a7f:	c1 e0 19             	shl    $0x19,%eax
641a82:	0b 04 24             	or     (%esp),%eax
641a85:	0b 54 24 04          	or     0x4(%esp),%edx
641a89:	83 c4 08             	add    $0x8,%esp
641a8c:	33 04 24             	xor    (%esp),%eax
641a8f:	33 54 24 04          	xor    0x4(%esp),%edx
641a93:	83 c4 08             	add    $0x8,%esp
641a96:	52                   	push   %edx
641a97:	50                   	push   %eax
641a98:	8b 44 24 08          	mov    0x8(%esp),%eax
641a9c:	8b 54 24 0c          	mov    0xc(%esp),%edx
641aa0:	23 44 24 10          	and    0x10(%esp),%eax
641aa4:	23 54 24 14          	and    0x14(%esp),%edx
641aa8:	52                   	push   %edx
641aa9:	50                   	push   %eax
641aaa:	8b 44 24 10          	mov    0x10(%esp),%eax
641aae:	8b 54 24 14          	mov    0x14(%esp),%edx
641ab2:	23 44 24 20          	and    0x20(%esp),%eax
641ab6:	23 54 24 24          	and    0x24(%esp),%edx
641aba:	33 04 24             	xor    (%esp),%eax
641abd:	33 54 24 04          	xor    0x4(%esp),%edx
641ac1:	83 c4 08             	add    $0x8,%esp
641ac4:	52                   	push   %edx
641ac5:	50                   	push   %eax
641ac6:	8b 44 24 18          	mov    0x18(%esp),%eax
641aca:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641ace:	23 44 24 20          	and    0x20(%esp),%eax
641ad2:	23 54 24 24          	and    0x24(%esp),%edx
641ad6:	33 04 24             	xor    (%esp),%eax
641ad9:	33 54 24 04          	xor    0x4(%esp),%edx
641add:	83 c4 08             	add    $0x8,%esp
641ae0:	03 04 24             	add    (%esp),%eax
641ae3:	13 54 24 04          	adc    0x4(%esp),%edx
641ae7:	83 c4 08             	add    $0x8,%esp
641aea:	89 44 24 48          	mov    %eax,0x48(%esp)
641aee:	89 54 24 4c          	mov    %edx,0x4c(%esp)
641af2:	8b 44 24 18          	mov    0x18(%esp),%eax
641af6:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641afa:	03 44 24 40          	add    0x40(%esp),%eax
641afe:	13 54 24 44          	adc    0x44(%esp),%edx
641b02:	89 44 24 18          	mov    %eax,0x18(%esp)
641b06:	89 54 24 1c          	mov    %edx,0x1c(%esp)
641b0a:	8b 44 24 40          	mov    0x40(%esp),%eax
641b0e:	8b 54 24 44          	mov    0x44(%esp),%edx
641b12:	03 44 24 48          	add    0x48(%esp),%eax
641b16:	13 54 24 4c          	adc    0x4c(%esp),%edx
641b1a:	89 44 24 38          	mov    %eax,0x38(%esp)
641b1e:	89 54 24 3c          	mov    %edx,0x3c(%esp)
641b22:	8b 44 24 18          	mov    0x18(%esp),%eax
641b26:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641b2a:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
641b2e:	c1 ea 0e             	shr    $0xe,%edx
641b31:	52                   	push   %edx
641b32:	50                   	push   %eax
641b33:	8b 54 24 20          	mov    0x20(%esp),%edx
641b37:	c1 e2 12             	shl    $0x12,%edx
641b3a:	33 c0                	xor    %eax,%eax
641b3c:	0b 04 24             	or     (%esp),%eax
641b3f:	0b 54 24 04          	or     0x4(%esp),%edx
641b43:	83 c4 08             	add    $0x8,%esp
641b46:	52                   	push   %edx
641b47:	50                   	push   %eax
641b48:	8b 44 24 20          	mov    0x20(%esp),%eax
641b4c:	8b 54 24 24          	mov    0x24(%esp),%edx
641b50:	0f ac d0 12          	shrd   $0x12,%edx,%eax
641b54:	c1 ea 12             	shr    $0x12,%edx
641b57:	52                   	push   %edx
641b58:	50                   	push   %eax
641b59:	8b 54 24 28          	mov    0x28(%esp),%edx
641b5d:	c1 e2 0e             	shl    $0xe,%edx
641b60:	33 c0                	xor    %eax,%eax
641b62:	0b 04 24             	or     (%esp),%eax
641b65:	0b 54 24 04          	or     0x4(%esp),%edx
641b69:	83 c4 08             	add    $0x8,%esp
641b6c:	33 04 24             	xor    (%esp),%eax
641b6f:	33 54 24 04          	xor    0x4(%esp),%edx
641b73:	83 c4 08             	add    $0x8,%esp
641b76:	52                   	push   %edx
641b77:	50                   	push   %eax
641b78:	8b 44 24 24          	mov    0x24(%esp),%eax
641b7c:	c1 e8 09             	shr    $0x9,%eax
641b7f:	33 d2                	xor    %edx,%edx
641b81:	52                   	push   %edx
641b82:	50                   	push   %eax
641b83:	8b 44 24 28          	mov    0x28(%esp),%eax
641b87:	8b 54 24 2c          	mov    0x2c(%esp),%edx
641b8b:	0f a4 c2 17          	shld   $0x17,%eax,%edx
641b8f:	c1 e0 17             	shl    $0x17,%eax
641b92:	0b 04 24             	or     (%esp),%eax
641b95:	0b 54 24 04          	or     0x4(%esp),%edx
641b99:	83 c4 08             	add    $0x8,%esp
641b9c:	33 04 24             	xor    (%esp),%eax
641b9f:	33 54 24 04          	xor    0x4(%esp),%edx
641ba3:	83 c4 08             	add    $0x8,%esp
641ba6:	03 44 24 30          	add    0x30(%esp),%eax
641baa:	13 54 24 34          	adc    0x34(%esp),%edx
641bae:	52                   	push   %edx
641baf:	50                   	push   %eax
641bb0:	8b 44 24 20          	mov    0x20(%esp),%eax
641bb4:	8b 54 24 24          	mov    0x24(%esp),%edx
641bb8:	23 44 24 28          	and    0x28(%esp),%eax
641bbc:	23 54 24 2c          	and    0x2c(%esp),%edx
641bc0:	52                   	push   %edx
641bc1:	50                   	push   %eax
641bc2:	8b 44 24 28          	mov    0x28(%esp),%eax
641bc6:	8b 54 24 2c          	mov    0x2c(%esp),%edx
641bca:	f7 d0                	not    %eax
641bcc:	f7 d2                	not    %edx
641bce:	23 44 24 38          	and    0x38(%esp),%eax
641bd2:	23 54 24 3c          	and    0x3c(%esp),%edx
641bd6:	33 04 24             	xor    (%esp),%eax
641bd9:	33 54 24 04          	xor    0x4(%esp),%edx
641bdd:	83 c4 08             	add    $0x8,%esp
641be0:	03 04 24             	add    (%esp),%eax
641be3:	13 54 24 04          	adc    0x4(%esp),%edx
641be7:	83 c4 08             	add    $0x8,%esp
641bea:	05 e3 25 4f 38       	add    $0x384f25e3,%eax
641bef:	81 d2 86 47 be ef    	adc    $0xefbe4786,%edx
641bf5:	03 84 24 d8 00 00 00 	add    0xd8(%esp),%eax
641bfc:	13 94 24 dc 00 00 00 	adc    0xdc(%esp),%edx
641c03:	89 44 24 40          	mov    %eax,0x40(%esp)
641c07:	89 54 24 44          	mov    %edx,0x44(%esp)
641c0b:	8b 44 24 38          	mov    0x38(%esp),%eax
641c0f:	8b 54 24 3c          	mov    0x3c(%esp),%edx
641c13:	0f ac d0 1c          	shrd   $0x1c,%edx,%eax
641c17:	c1 ea 1c             	shr    $0x1c,%edx
641c1a:	52                   	push   %edx
641c1b:	50                   	push   %eax
641c1c:	8b 54 24 40          	mov    0x40(%esp),%edx
641c20:	c1 e2 04             	shl    $0x4,%edx
641c23:	33 c0                	xor    %eax,%eax
641c25:	0b 04 24             	or     (%esp),%eax
641c28:	0b 54 24 04          	or     0x4(%esp),%edx
641c2c:	83 c4 08             	add    $0x8,%esp
641c2f:	52                   	push   %edx
641c30:	50                   	push   %eax
641c31:	8b 44 24 44          	mov    0x44(%esp),%eax
641c35:	c1 e8 02             	shr    $0x2,%eax
641c38:	33 d2                	xor    %edx,%edx
641c3a:	52                   	push   %edx
641c3b:	50                   	push   %eax
641c3c:	8b 44 24 48          	mov    0x48(%esp),%eax
641c40:	8b 54 24 4c          	mov    0x4c(%esp),%edx
641c44:	0f a4 c2 1e          	shld   $0x1e,%eax,%edx
641c48:	c1 e0 1e             	shl    $0x1e,%eax
641c4b:	0b 04 24             	or     (%esp),%eax
641c4e:	0b 54 24 04          	or     0x4(%esp),%edx
641c52:	83 c4 08             	add    $0x8,%esp
641c55:	33 04 24             	xor    (%esp),%eax
641c58:	33 54 24 04          	xor    0x4(%esp),%edx
641c5c:	83 c4 08             	add    $0x8,%esp
641c5f:	52                   	push   %edx
641c60:	50                   	push   %eax
641c61:	8b 44 24 44          	mov    0x44(%esp),%eax
641c65:	c1 e8 07             	shr    $0x7,%eax
641c68:	33 d2                	xor    %edx,%edx
641c6a:	52                   	push   %edx
641c6b:	50                   	push   %eax
641c6c:	8b 44 24 48          	mov    0x48(%esp),%eax
641c70:	8b 54 24 4c          	mov    0x4c(%esp),%edx
641c74:	0f a4 c2 19          	shld   $0x19,%eax,%edx
641c78:	c1 e0 19             	shl    $0x19,%eax
641c7b:	0b 04 24             	or     (%esp),%eax
641c7e:	0b 54 24 04          	or     0x4(%esp),%edx
641c82:	83 c4 08             	add    $0x8,%esp
641c85:	33 04 24             	xor    (%esp),%eax
641c88:	33 54 24 04          	xor    0x4(%esp),%edx
641c8c:	83 c4 08             	add    $0x8,%esp
641c8f:	52                   	push   %edx
641c90:	50                   	push   %eax
641c91:	8b 44 24 40          	mov    0x40(%esp),%eax
641c95:	8b 54 24 44          	mov    0x44(%esp),%edx
641c99:	23 44 24 08          	and    0x8(%esp),%eax
641c9d:	23 54 24 0c          	and    0xc(%esp),%edx
641ca1:	52                   	push   %edx
641ca2:	50                   	push   %eax
641ca3:	8b 44 24 48          	mov    0x48(%esp),%eax
641ca7:	8b 54 24 4c          	mov    0x4c(%esp),%edx
641cab:	23 44 24 18          	and    0x18(%esp),%eax
641caf:	23 54 24 1c          	and    0x1c(%esp),%edx
641cb3:	33 04 24             	xor    (%esp),%eax
641cb6:	33 54 24 04          	xor    0x4(%esp),%edx
641cba:	83 c4 08             	add    $0x8,%esp
641cbd:	52                   	push   %edx
641cbe:	50                   	push   %eax
641cbf:	8b 44 24 10          	mov    0x10(%esp),%eax
641cc3:	8b 54 24 14          	mov    0x14(%esp),%edx
641cc7:	23 44 24 18          	and    0x18(%esp),%eax
641ccb:	23 54 24 1c          	and    0x1c(%esp),%edx
641ccf:	33 04 24             	xor    (%esp),%eax
641cd2:	33 54 24 04          	xor    0x4(%esp),%edx
641cd6:	83 c4 08             	add    $0x8,%esp
641cd9:	03 04 24             	add    (%esp),%eax
641cdc:	13 54 24 04          	adc    0x4(%esp),%edx
641ce0:	83 c4 08             	add    $0x8,%esp
641ce3:	89 44 24 48          	mov    %eax,0x48(%esp)
641ce7:	89 54 24 4c          	mov    %edx,0x4c(%esp)
641ceb:	8b 44 24 10          	mov    0x10(%esp),%eax
641cef:	8b 54 24 14          	mov    0x14(%esp),%edx
641cf3:	03 44 24 40          	add    0x40(%esp),%eax
641cf7:	13 54 24 44          	adc    0x44(%esp),%edx
641cfb:	89 44 24 10          	mov    %eax,0x10(%esp)
641cff:	89 54 24 14          	mov    %edx,0x14(%esp)
641d03:	8b 44 24 40          	mov    0x40(%esp),%eax
641d07:	8b 54 24 44          	mov    0x44(%esp),%edx
641d0b:	03 44 24 48          	add    0x48(%esp),%eax
641d0f:	13 54 24 4c          	adc    0x4c(%esp),%edx
641d13:	89 44 24 30          	mov    %eax,0x30(%esp)
641d17:	89 54 24 34          	mov    %edx,0x34(%esp)
641d1b:	8b 44 24 10          	mov    0x10(%esp),%eax
641d1f:	8b 54 24 14          	mov    0x14(%esp),%edx
641d23:	0f ac d0 0e          	shrd   $0xe,%edx,%eax
641d27:	c1 ea 0e             	shr    $0xe,%edx
641d2a:	52                   	push   %edx
641d2b:	50                   	push   %eax
641d2c:	8b 54 24 18          	mov    0x18(%esp),%edx
641d30:	c1 e2 12             	shl    $0x12,%edx
641d33:	33 c0                	xor    %eax,%eax
641d35:	0b 04 24             	or     (%esp),%eax
641d38:	0b 54 24 04          	or     0x4(%esp),%edx
641d3c:	83 c4 08             	add    $0x8,%esp
641d3f:	52                   	push   %edx
641d40:	50                   	push   %eax
641d41:	8b 44 24 18          	mov    0x18(%esp),%eax
641d45:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641d49:	0f ac d0 12          	shrd   $0x12,%edx,%eax
641d4d:	c1 ea 12             	shr    $0x12,%edx
641d50:	52                   	push   %edx
641d51:	50                   	push   %eax
641d52:	8b 54 24 20          	mov    0x20(%esp),%edx
641d56:	c1 e2 0e             	shl    $0xe,%edx
641d59:	33 c0                	xor    %eax,%eax
641d5b:	0b 04 24             	or     (%esp),%eax
641d5e:	0b 54 24 04          	or     0x4(%esp),%edx
641d62:	83 c4 08             	add    $0x8,%esp
641d65:	33 04 24             	xor    (%esp),%eax
641d68:	33 54 24 04          	xor    0x4(%esp),%edx
641d6c:	83 c4 08             	add    $0x8,%esp
641d6f:	52                   	push   %edx
641d70:	50                   	push   %eax
641d71:	8b 44 24 1c          	mov    0x1c(%esp),%eax
641d75:	c1 e8 09             	shr    $0x9,%eax
641d78:	33 d2                	xor    %edx,%edx
641d7a:	52                   	push   %edx
641d7b:	50                   	push   %eax
641d7c:	8b 44 24 20          	mov    0x20(%esp),%eax
641d80:	8b 54 24 24          	mov    0x24(%esp),%edx
641d84:	0f a4 c2 17          	shld   $0x17,%eax,%edx
641d88:	c1 e0 17             	shl    $0x17,%eax
641d8b:	0b 04 24             	or     (%esp),%eax
641d8e:	0b 54 24 04          	or     0x4(%esp),%edx
641d92:	83 c4 08             	add    $0x8,%esp
641d95:	33 04 24             	xor    (%esp),%eax
641d98:	33 54 24 04          	xor    0x4(%esp),%edx
641d9c:	83 c4 08             	add    $0x8,%esp
641d9f:	03 44 24 28          	add    0x28(%esp),%eax
641da3:	13 54 24 2c          	adc    0x2c(%esp),%edx
641da7:	52                   	push   %edx
641da8:	50                   	push   %eax
641da9:	8b 44 24 18          	mov    0x18(%esp),%eax
641dad:	8b 54 24 1c          	mov    0x1c(%esp),%edx
641db1:	23 44 24 20          	and    0x20(%esp),%eax
641db5:	23 54 24 24          	and    0x24(%esp),%edx
641db9:	52                   	push   %edx
641dba:	50                   	push   %eax
641dbb:	8b 44 24 20          	mov    0x20(%esp),%eax
641dbf:	8b 54 24 24          	mov    0x24(%esp),%edx
641dc3:	f7 d0                	not    %eax
641dc5:	f7 d2                	not    %edx
641dc7:	23 44 24 30          	and    0x30(%esp),%eax
641dcb:	23 54 24 34          	and    0x34(%esp),%edx
641dcf:	33 04 24             	xor    (%esp),%eax