Вы выполняете бесконечный цикл, и вы увеличиваете массив байтов, затем назад, но затем вперед, так что вы делаете целых шесть шагов вперед, 4 назад.Я бы изменил код здесь все вместе, чтобы избавиться от цикла while, заменив его на условный.Я бы собрал набор итераций и гарантировал, что то, как вы шагаете вверх и вниз по байт-массиву, не выводит вас за пределы самого массива, что, вероятно, и происходит здесь.Если возможно, получите доступ к двоичным данным, используя методы доступа к массиву (bytearray [index]) и выполните итерации с условием (i = n; i