@Override
	public Collection<LoadSpec> findSupportedLoadSpecs(ByteProvider provider) throws IOException {
		List<LoadSpec> loadSpecs = new ArrayList<>();

		try {
			CoffFileHeader header = new CoffFileHeader(provider);
			header.parseSectionHeaders();

			if (isVisualStudio(header) != isMicrosoftFormat()) {
				// Only one of the CoffLoader/MSCoffLoader will survive this check
				return loadSpecs;
			}
			String secondary = isCLI(header) ? "cli" : Integer.toString(header.getFlags() & 0xffff);
			List<QueryResult> results =
				QueryOpinionService.query(getName(), header.getMachineName(), secondary);
			for (QueryResult result : results) {
				loadSpecs.add(new LoadSpec(this, header.getImageBase(isMicrosoftFormat()), result));
			}
			if (loadSpecs.isEmpty()) {
				loadSpecs.add(new LoadSpec(this, header.getImageBase(false), true));
			}
		}
		catch (CoffException e) {
			// that's ok, probably not a COFF
		}

		return loadSpecs;
	}
Checks to see if the COFF is CLI.

@param header The COFF's headers.
@return True if the COFF is CLI; otherwise, false.
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/CoffLoader.java