private CartV1Decryptor createDecryptor() throws IOException, CartInvalidCartException,
			CartInvalidARC4KeyException, CartConfigurationException, CancelledException {
		if (header == null) {
			throw new CartInvalidCartException("CaRT header not initialized.");
		}
		// First, test the key from the header as-is, if it works return the decryptor
		// based on it.
		try {
			return createDecryptor(header.arc4Key());
		}
		catch (CartInvalidARC4KeyException e) {
			// ignore
		}

		List<byte[]> possibleKeys = new ArrayList<>();

		// Attempt to get a key from the default CaRT configuration INI file
		try {
			byte[] iniKey = getIniKey();

			if (iniKey != null) {
				possibleKeys.add(iniKey);
			}
		}
		catch (IOException e) {
			// ignore
		}

		// Try a couple default keys before reporting failure
		possibleKeys.add(CartV1Constants.DEFAULT_ARC4_KEY);
		possibleKeys.add(CartV1Constants.PRIVATE_ARC4_KEY_PLACEHOLDER);

		for (byte[] key : possibleKeys) {
			try {
				return createDecryptor(key);
			}
			catch (CartInvalidARC4KeyException e) {
				// ignore
			}
		}

		// If a valid key hasn't been determined, raise the appropriate exception
		throw new CartInvalidARC4KeyException("Private CaRT ARC4 key could not be determined.");
	}
Create the CartV1Decryptor object including determining the appropriate key.
First try the key in the header, if that fails check if a key is available in
the default CaRT configuration INI file. After that try the default key and
the private key placeholder. If all of those fail, raise an exception.

@return The CartV1Decryptor object
@throws IOException                 If there is a read failure of the data
@throws CartInvalidCartException    If there was a formating error with the
                                    CaRT file
@throws CartInvalidARC4KeyException If no key could be determined
@throws CartConfigurationException  If the configuration data for CaRT was
                                    found, but invalid.
@throws CancelledException          If the user cancels decryption
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/cart/CartV1File.java