@Override
	protected void doWriteBytes(long index, byte[] buffer, int offset, int length)
			throws IOException {
		byte[] tmpBuffer = new byte[length];
		for (int i = 0; i < length; i++) {
			long byteIndex = index + i;
			int xorMaskIndex = (int) (byteIndex % XOR_MASK_BYTES.length);
			byte xorMask = XOR_MASK_BYTES[xorMaskIndex];
			tmpBuffer[i] = (byte) (buffer[i + offset] ^ xorMask);
		}
		super.doWriteBytes(index, tmpBuffer, 0, length);
	}
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