in util/cpp/src/crypt/sha1.h [216:928]
void process_message_block()
{
const boost::uint32_t K[4] = {
0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xCA62C1D6
};
boost::uint32_t temp;
boost::uint32_t W[80];
boost::uint32_t A, B, C, D, E;
W[0] = ((boost::uint32_t)message_block_[0]) << 24;
W[0] |= ((boost::uint32_t)message_block_[1]) << 16;
W[0] |= ((boost::uint32_t)message_block_[2]) << 8;
W[0] |= ((boost::uint32_t)message_block_[3]);
W[1] = ((boost::uint32_t)message_block_[4]) << 24;
W[1] |= ((boost::uint32_t)message_block_[5]) << 16;
W[1] |= ((boost::uint32_t)message_block_[6]) << 8;
W[1] |= ((boost::uint32_t)message_block_[7]);
W[2] = ((boost::uint32_t)message_block_[8]) << 24;
W[2] |= ((boost::uint32_t)message_block_[9]) << 16;
W[2] |= ((boost::uint32_t)message_block_[10]) << 8;
W[2] |= ((boost::uint32_t)message_block_[11]);
W[3] = ((boost::uint32_t)message_block_[12]) << 24;
W[3] |= ((boost::uint32_t)message_block_[13]) << 16;
W[3] |= ((boost::uint32_t)message_block_[14]) << 8;
W[3] |= ((boost::uint32_t)message_block_[15]);
W[4] = ((boost::uint32_t)message_block_[16]) << 24;
W[4] |= ((boost::uint32_t)message_block_[17]) << 16;
W[4] |= ((boost::uint32_t)message_block_[18]) << 8;
W[4] |= ((boost::uint32_t)message_block_[19]);
W[5] = ((boost::uint32_t)message_block_[20]) << 24;
W[5] |= ((boost::uint32_t)message_block_[21]) << 16;
W[5] |= ((boost::uint32_t)message_block_[22]) << 8;
W[5] |= ((boost::uint32_t)message_block_[23]);
W[6] = ((boost::uint32_t)message_block_[24]) << 24;
W[6] |= ((boost::uint32_t)message_block_[25]) << 16;
W[6] |= ((boost::uint32_t)message_block_[26]) << 8;
W[6] |= ((boost::uint32_t)message_block_[27]);
W[7] = ((boost::uint32_t)message_block_[28]) << 24;
W[7] |= ((boost::uint32_t)message_block_[29]) << 16;
W[7] |= ((boost::uint32_t)message_block_[30]) << 8;
W[7] |= ((boost::uint32_t)message_block_[31]);
W[8] = ((boost::uint32_t)message_block_[32]) << 24;
W[8] |= ((boost::uint32_t)message_block_[33]) << 16;
W[8] |= ((boost::uint32_t)message_block_[34]) << 8;
W[8] |= ((boost::uint32_t)message_block_[35]);
W[9] = ((boost::uint32_t)message_block_[36]) << 24;
W[9] |= ((boost::uint32_t)message_block_[37]) << 16;
W[9] |= ((boost::uint32_t)message_block_[38]) << 8;
W[9] |= ((boost::uint32_t)message_block_[39]);
W[10] = ((boost::uint32_t)message_block_[40]) << 24;
W[10] |= ((boost::uint32_t)message_block_[41]) << 16;
W[10] |= ((boost::uint32_t)message_block_[42]) << 8;
W[10] |= ((boost::uint32_t)message_block_[43]);
W[11] = ((boost::uint32_t)message_block_[44]) << 24;
W[11] |= ((boost::uint32_t)message_block_[45]) << 16;
W[11] |= ((boost::uint32_t)message_block_[46]) << 8;
W[11] |= ((boost::uint32_t)message_block_[47]);
W[12] = ((boost::uint32_t)message_block_[48]) << 24;
W[12] |= ((boost::uint32_t)message_block_[49]) << 16;
W[12] |= ((boost::uint32_t)message_block_[50]) << 8;
W[12] |= ((boost::uint32_t)message_block_[51]);
W[13] = ((boost::uint32_t)message_block_[52]) << 24;
W[13] |= ((boost::uint32_t)message_block_[53]) << 16;
W[13] |= ((boost::uint32_t)message_block_[54]) << 8;
W[13] |= ((boost::uint32_t)message_block_[55]);
W[14] = ((boost::uint32_t)message_block_[56]) << 24;
W[14] |= ((boost::uint32_t)message_block_[57]) << 16;
W[14] |= ((boost::uint32_t)message_block_[58]) << 8;
W[14] |= ((boost::uint32_t)message_block_[59]);
W[15] = ((boost::uint32_t)message_block_[60]) << 24;
W[15] |= ((boost::uint32_t)message_block_[61]) << 16;
W[15] |= ((boost::uint32_t)message_block_[62]) << 8;
W[15] |= ((boost::uint32_t)message_block_[63]);
W[16] = SHA1_ROTL(1, W[13] ^ W[8] ^ W[2] ^W[0]);
W[17] = SHA1_ROTL(1, W[14] ^ W[9] ^ W[3] ^W[1]);
W[18] = SHA1_ROTL(1, W[15] ^ W[10] ^ W[4] ^W[2]);
W[19] = SHA1_ROTL(1, W[16] ^ W[11] ^ W[5] ^W[3]);
W[20] = SHA1_ROTL(1, W[17] ^ W[12] ^ W[6] ^W[4]);
W[21] = SHA1_ROTL(1, W[18] ^ W[13] ^ W[7] ^W[5]);
W[22] = SHA1_ROTL(1, W[19] ^ W[14] ^ W[8] ^W[6]);
W[23] = SHA1_ROTL(1, W[20] ^ W[15] ^ W[9] ^W[7]);
W[24] = SHA1_ROTL(1, W[21] ^ W[16] ^ W[10] ^W[8]);
W[25] = SHA1_ROTL(1, W[22] ^ W[17] ^ W[11] ^W[9]);
W[26] = SHA1_ROTL(1, W[23] ^ W[18] ^ W[12] ^W[10]);
W[27] = SHA1_ROTL(1, W[24] ^ W[19] ^ W[13] ^W[11]);
W[28] = SHA1_ROTL(1, W[25] ^ W[20] ^ W[14] ^W[12]);
W[29] = SHA1_ROTL(1, W[26] ^ W[21] ^ W[15] ^W[13]);
W[30] = SHA1_ROTL(1, W[27] ^ W[22] ^ W[16] ^W[14]);
W[31] = SHA1_ROTL(1, W[28] ^ W[23] ^ W[17] ^W[15]);
W[32] = SHA1_ROTL(1, W[29] ^ W[24] ^ W[18] ^W[16]);
W[33] = SHA1_ROTL(1, W[30] ^ W[25] ^ W[19] ^W[17]);
W[34] = SHA1_ROTL(1, W[31] ^ W[26] ^ W[20] ^W[18]);
W[35] = SHA1_ROTL(1, W[32] ^ W[27] ^ W[21] ^W[19]);
W[36] = SHA1_ROTL(1, W[33] ^ W[28] ^ W[22] ^W[20]);
W[37] = SHA1_ROTL(1, W[34] ^ W[29] ^ W[23] ^W[21]);
W[38] = SHA1_ROTL(1, W[35] ^ W[30] ^ W[24] ^W[22]);
W[39] = SHA1_ROTL(1, W[36] ^ W[31] ^ W[25] ^W[23]);
W[40] = SHA1_ROTL(1, W[37] ^ W[32] ^ W[26] ^W[24]);
W[41] = SHA1_ROTL(1, W[38] ^ W[33] ^ W[27] ^W[25]);
W[42] = SHA1_ROTL(1, W[39] ^ W[34] ^ W[28] ^W[26]);
W[43] = SHA1_ROTL(1, W[40] ^ W[35] ^ W[29] ^W[27]);
W[44] = SHA1_ROTL(1, W[41] ^ W[36] ^ W[30] ^W[28]);
W[45] = SHA1_ROTL(1, W[42] ^ W[37] ^ W[31] ^W[29]);
W[46] = SHA1_ROTL(1, W[43] ^ W[38] ^ W[32] ^W[30]);
W[47] = SHA1_ROTL(1, W[44] ^ W[39] ^ W[33] ^W[31]);
W[48] = SHA1_ROTL(1, W[45] ^ W[40] ^ W[34] ^W[32]);
W[49] = SHA1_ROTL(1, W[46] ^ W[41] ^ W[35] ^W[33]);
W[50] = SHA1_ROTL(1, W[47] ^ W[42] ^ W[36] ^W[34]);
W[51] = SHA1_ROTL(1, W[48] ^ W[43] ^ W[37] ^W[35]);
W[52] = SHA1_ROTL(1, W[49] ^ W[44] ^ W[38] ^W[36]);
W[53] = SHA1_ROTL(1, W[50] ^ W[45] ^ W[39] ^W[37]);
W[54] = SHA1_ROTL(1, W[51] ^ W[46] ^ W[40] ^W[38]);
W[55] = SHA1_ROTL(1, W[52] ^ W[47] ^ W[41] ^W[39]);
W[56] = SHA1_ROTL(1, W[53] ^ W[48] ^ W[42] ^W[40]);
W[57] = SHA1_ROTL(1, W[54] ^ W[49] ^ W[43] ^W[41]);
W[58] = SHA1_ROTL(1, W[55] ^ W[50] ^ W[44] ^W[42]);
W[59] = SHA1_ROTL(1, W[56] ^ W[51] ^ W[45] ^W[43]);
W[60] = SHA1_ROTL(1, W[57] ^ W[52] ^ W[46] ^W[44]);
W[61] = SHA1_ROTL(1, W[58] ^ W[53] ^ W[47] ^W[45]);
W[62] = SHA1_ROTL(1, W[59] ^ W[54] ^ W[48] ^W[46]);
W[63] = SHA1_ROTL(1, W[60] ^ W[55] ^ W[49] ^W[47]);
W[64] = SHA1_ROTL(1, W[61] ^ W[56] ^ W[50] ^W[48]);
W[65] = SHA1_ROTL(1, W[62] ^ W[57] ^ W[51] ^W[49]);
W[66] = SHA1_ROTL(1, W[63] ^ W[58] ^ W[52] ^W[50]);
W[67] = SHA1_ROTL(1, W[64] ^ W[59] ^ W[53] ^W[51]);
W[68] = SHA1_ROTL(1, W[65] ^ W[60] ^ W[54] ^W[52]);
W[69] = SHA1_ROTL(1, W[66] ^ W[61] ^ W[55] ^W[53]);
W[70] = SHA1_ROTL(1, W[67] ^ W[62] ^ W[56] ^W[54]);
W[71] = SHA1_ROTL(1, W[68] ^ W[63] ^ W[57] ^W[55]);
W[72] = SHA1_ROTL(1, W[69] ^ W[64] ^ W[58] ^W[56]);
W[73] = SHA1_ROTL(1, W[70] ^ W[65] ^ W[59] ^W[57]);
W[74] = SHA1_ROTL(1, W[71] ^ W[66] ^ W[60] ^W[58]);
W[75] = SHA1_ROTL(1, W[72] ^ W[67] ^ W[61] ^W[59]);
W[76] = SHA1_ROTL(1, W[73] ^ W[68] ^ W[62] ^W[60]);
W[77] = SHA1_ROTL(1, W[74] ^ W[69] ^ W[63] ^W[61]);
W[78] = SHA1_ROTL(1, W[75] ^ W[70] ^ W[64] ^W[62]);
W[79] = SHA1_ROTL(1, W[76] ^ W[71] ^ W[65] ^W[63]);
A = intermediate_hash_[0];
B = intermediate_hash_[1];
C = intermediate_hash_[2];
D = intermediate_hash_[3];
E = intermediate_hash_[4];
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[0] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[1] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[2] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[3] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[4] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[5] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[6] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[7] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[8] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[9] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[10] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[11] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[12] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[13] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[14] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[15] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[16] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[17] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[18] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_CH(B, C, D) + E + W[19] + K[0];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[20] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[21] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[22] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[23] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[24] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[25] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[26] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[27] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[28] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[29] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[30] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[31] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[32] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[33] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[34] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[35] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[36] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[37] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[38] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[39] + K[1];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[40] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[41] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[42] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[43] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[44] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[45] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[46] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[47] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[48] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[49] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[50] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[51] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[52] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[53] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[54] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[55] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[56] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[57] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[58] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_MAJ(B, C, D) + E + W[59] + K[2];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[60] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[61] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[62] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[63] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[64] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[65] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[66] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[67] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[68] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[69] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[70] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[71] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[72] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[73] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[74] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[75] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[76] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[77] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[78] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
temp = SHA1_ROTL(5,A) + SHA1_PARITY(B, C, D) + E + W[79] + K[3];
E = D;
D = C;
C = SHA1_ROTL(30,B);
B = A;
A = temp;
intermediate_hash_[0] += A;
intermediate_hash_[1] += B;
intermediate_hash_[2] += C;
intermediate_hash_[3] += D;
intermediate_hash_[4] += E;
message_block_index_ = 0;
}