@Override
	protected int doReadBytes(long index, byte[] buffer) throws IOException {
		int bytesRead = super.doReadBytes(index, buffer);
		for (int i = 0; i < bytesRead; i++) {
			long byteIndex = index + i;
			int xorMaskIndex = (int) (byteIndex % XOR_MASK_BYTES.length);
			byte xorMask = XOR_MASK_BYTES[xorMaskIndex];
			buffer[i] ^= xorMask;
		}
		return bytesRead;
	}
Creates an instance of {@link ObfuscatedFileByteProvider}.

@param file {@link File} to read from / write to
@param fsrl {@link FSRL} identity of this file
@param accessMode {@link AccessMode#READ} or {@link AccessMode#WRITE}
@throws IOException if error
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/ObfuscatedFileByteProvider.java