rc4_off
rc4_md5_enc(&key->ks, in + rc4_off, out + rc4_off,
rc4_off += blocks;
rc4_off = 0;
memcpy(out + rc4_off, in + rc4_off, plen - rc4_off);
RC4(&key->ks, len - rc4_off, out + rc4_off, out + rc4_off);
RC4(&key->ks, len - rc4_off, in + rc4_off, out + rc4_off);
if (md5_off > rc4_off)
rc4_off += 2 * MD5_CBLOCK;
rc4_off += MD5_CBLOCK;
if (len > rc4_off && (blocks = (len - rc4_off) / MD5_CBLOCK) && (OPENSSL_ia32cap_P[0] & (1 << 20)) == 0) {
RC4(&key->ks, rc4_off, in, out);
rc4_md5_enc(&key->ks, in + rc4_off, out + rc4_off,
rc4_off += blocks;
rc4_off = 0;
RC4(&key->ks, len - rc4_off, in + rc4_off, out + rc4_off);
size_t rc4_off = 32 - 1 - (key->ks.x & (32 - 1)), /* 32 is $MOD from
if (rc4_off > md5_off)
RC4(&key->ks, rc4_off, in, out);
RC4(ks, len - rc4_off, out + rc4_off, out + rc4_off);
RC4(ks, len - rc4_off, in + rc4_off, out + rc4_off);
if (md5_off > rc4_off)
rc4_off += 2 * MD5_CBLOCK;
rc4_off += MD5_CBLOCK;
if (len > rc4_off
&& (blocks = (len - rc4_off) / MD5_CBLOCK)
RC4(ks, rc4_off, in, out);
rc4_md5_enc(ks, in + rc4_off, out + rc4_off,
rc4_off += blocks;
rc4_off = 0;
RC4(ks, len - rc4_off, in + rc4_off, out + rc4_off);
size_t rc4_off = MOD - 1 - (ks->x & (MOD - 1));
if (rc4_off > md5_off)
RC4(ks, rc4_off, in, out);
rc4_md5_enc(ks, in + rc4_off, out + rc4_off,
rc4_off += blocks;
rc4_off = 0;
memcpy(out + rc4_off, in + rc4_off, plen - rc4_off);