private void findMissingHashes(FidQueryService fidDB) {
		for (Pair<String, Pair<Long, Long>> pair : SPECIAL_PARENT) {
			List<FunctionRecord> childFunctions = fidDB.findFunctionsByFullHash(pair.second.first);
			if (childFunctions.isEmpty()) {
				println("Missing SPECIAL_PARENT child: " + Long.toHexString(pair.second.first));
			}
			List<FunctionRecord> parentFunctions =
				fidDB.findFunctionsByFullHash(pair.second.second);
			if (parentFunctions.isEmpty()) {
				println("Missing SPECIAL_PARENT parent: " + Long.toHexString(pair.second.second));
			}
		}
		for (Pair<Short, Long> removeHash : REMOVE_HASHES) {
			List<FunctionRecord> funcList = fidDB.findFunctionsByFullHash(removeHash.second);
			if (funcList.isEmpty()) {
				println("Missing REMOVE_HASHES: " + Long.toHexString(removeHash.second));
			}
		}
		for (Pair<Short, Long> removeHash : FORCE_RELATION) {
			List<FunctionRecord> funcList = fidDB.findFunctionsByFullHash(removeHash.second);
			if (funcList.isEmpty()) {
				println("Missing FORCE_RELATION: " + Long.toHexString(removeHash.second));
			}
		}
		for (Pair<Short, Long> removeHash : FORCE_SPECIFIC) {
			List<FunctionRecord> funcList = fidDB.findFunctionsByFullHash(removeHash.second);
			if (funcList.isEmpty()) {
				println("Missing FORCE_SPECIFIC: " + Long.toHexString(removeHash.second));
			}
		}
		for (Pair<Short, Long> removeHash : AUTO_PASS) {
			List<FunctionRecord> funcList = fidDB.findFunctionsByFullHash(removeHash.second);
			if (funcList.isEmpty()) {
				println("Missing AUTO_PASS: " + Long.toHexString(removeHash.second));
			}
		}
		for (Pair<Short, Long> pair : REMOVE_SPECHASHES) {
			List<FunctionRecord> listSpecHash =
				fidDB.findFunctionsBySpecificHash(pair.second.longValue());
			if (listSpecHash.isEmpty()) {
				println("Missing REMOVE_SPECHASHES: " + Long.toHexString(pair.second));
			}
		}
	}
Hash adjustments for 64-bit Visual Studio libraries
Ghidra/Features/FunctionID/ghidra_scripts/RemoveFunctions.java