cipher(a, b, c, d, e) =
((a >>> 16) ^ (b <<< 16))
((a >>> 16) + (c <<< 16))
((a <<< 16) - d)
((a >>> 16)) ((b <<< 16))
(a ^ d)
((a <<< 16)) ((d >>> 16))
((a - b))
e++ пока 3-й байт (a) не равен 0xFF
т.е по итогу у всех зашифрованных ключей должен быть 0xFF в 3-м байте: 0x0000FF00
Расшифровка происходит посредством 4-х значений - 1 ключ, 2 ключ, 3 ключ, 4 - счётчик до 0xFE (повторения)
Есть ещё улучшенные версии, но отличаются только сменой/добавлением инструкций (sub, add, xor, imul, idiv, div, mul), и добавлением логических операторов