Здесь будем получать новый псевдослучайный
Эта часть RC4 (не описанная выше), которая декодирует необходимые данные с помощью массива M:
...
//Массив M перерабатывается с помощью RC4
...
byte t; //Временная ячейка
byte A = 0; // Здесь будем получать новый псевдослучайный индекс
for (byte i = 1; i < 33; i++)
{
A += M[i]; //Вычисляем новый индекс для обмена байтами
t = M[i];
M[i] = M[A]; //Меняем местами i-й байт и байт по вычисленному индексу A
M[A] = t;
//
t = M[i] + M[A]; //Вычисляем еще один индекс
Data[i - 1] ^= M[t]; //Декодируем 32 байта массива Data
}