private File lzfseDecompress(File compressedFile) throws IOException {
		String lzfseName = LZFSE_NATIVE_BINARY_NAME;
		if (OperatingSystem.CURRENT_OPERATING_SYSTEM.equals(OperatingSystem.WINDOWS)) {
			lzfseName += ".exe";
		}
		File lzfseNativeBinary = Application.getOSFile(lzfseName);

		File decompressedFile = Application.createTempFile(LZFSE_TEMP_PREFIX,
			Long.toString(System.currentTimeMillis()));

		List<String> command = new ArrayList<>();
		command.add(lzfseNativeBinary.getPath());
		command.add("-decode");
		command.add("-i");
		command.add(compressedFile.getPath());
		command.add("-o");
		command.add(decompressedFile.getPath());
		Process p = new ProcessBuilder(command).start();
		boolean success = false;
		try {
			if (!p.waitFor(LZFSE_NATIVE_TIMEOUT_SECONDS, TimeUnit.SECONDS)) {
				p.destroyForcibly();
				throw new IOException("lzfse native decompressor timed out");
			}
			if (p.exitValue() != 0) {
				throw new IOException(
					"lzfse native decompressor failed with exit code: " + p.exitValue());
			}
			success = true;
			return decompressedFile;
		}
		catch (InterruptedException e) {
			throw new IOException(e);
		}
		finally {
			if (!success) {
				decompressedFile.delete();
			}
		}
	}
Uses the native lzfse decompressor to decompress the given compressed file

@param compressedFile The lzfse-compressed {@link File file} to decompress
@return The lzfse-decompressed {@link File}
@throws IOException If there was an IO-related error
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/lzfse/LzfseFileSystemFactory.java