to64
l = (final[ 0]<<16) | (final[ 6]<<8) | final[12]; to64(p, l, 4); p += 4;
l = (final[ 1]<<16) | (final[ 7]<<8) | final[13]; to64(p, l, 4); p += 4;
l = (final[ 2]<<16) | (final[ 8]<<8) | final[14]; to64(p, l, 4); p += 4;
l = (final[ 3]<<16) | (final[ 9]<<8) | final[15]; to64(p, l, 4); p += 4;
l = (final[ 4]<<16) | (final[10]<<8) | final[ 5]; to64(p, l, 4); p += 4;
l = final[11]; to64(p, l, 2); p += 2;
to64(&gsbuffer[strlen(crypt_alg_magic)], rndval, sizeof (rndval));
to64((char *)&rndstr, rndval, sizeof (rndval));
to64((char *)&rndstr, rndval, sizeof (rndval));
to64(p, l, 4); p += 4;
to64(p, l, 4); p += 4;
to64(p, l, 4); p += 4;
to64(p, l, 4); p += 4;
to64(p, l, 4); p += 4;
l = data.digest[11]; to64(p, l, 2); p += 2;
register volatile uint64_t *to64;
to64 = (volatile uint64_t *) to;
*to64 = *from64;
to64++;