Код (Text): if ( (index & 0xE0000000) != 0x20000000 ) index = index & 0x1FFFFFFF | 0x40000000; index - индекс применяемый к BYTE массиву. Таким способом он (индекс) модифицируется для хранения. Перед использованием индекс снова приводится к index & 0x1FFFFFFF. Вопрос - для чего это нужно? В чем смысл такой операции помимо ограничения в 0x1FFFFFFF?
Проверяется не равен ли 29й бит единице (есть ли переполнение 0--0x1FFFFFFF), и если нет, 30й бит устанавливается в 1. Смысла в конъюнкции с 0x1FFFFFFF нету, разве что каким-то чудом старший бит окажется единицей.
Вопрос, зачем вообще это сделано? Почему проверяется именно 29й бит, для чего устанавливается 30й? Подозреваю, что приехало с каким-то макросом.
3 старших бита скорей всего используются как флаги, сам индекс 29бит и может адресовать всего 512мб, видимо больше и не надо. Оптимизация.