public byte[] decrypt(byte[] encryptedBuffer, TaskMonitor monitor)
			throws CartInvalidARC4KeyException, IOException {
		try {
			CartV1StreamDecryptor decryptor =
				new CartV1StreamDecryptor(new ByteArrayInputStream(encryptedBuffer), arc4Key);
			ByteArrayOutputStream buffer = new ByteArrayOutputStream();

			FSUtilities.streamCopy(decryptor, buffer, TaskMonitor.dummyIfNull(monitor));

			buffer.flush();

			return buffer.toByteArray();
		}
		catch (CancelledException e) {
			// ignore
		}

		return null;
	}
Decrypt the specified buffer with object's key.

@param encryptedBuffer The buffer to decrypt
@param monitor         The monitor UI element for the user to see progress or cancel
@return The decrypted buffer bytes or null on failure.
@throws CartInvalidARC4KeyException If the key is invalid
@throws IOException If there is an error reading from the buffer
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/cart/CartV1Decryptor.java