private void findDummyFunctions(Program program, AddressSetView set,
			Set<Address> dummyFunctionSet, Set<Address> redoFunctionSet) {
		FunctionIterator functions = program.getFunctionManager().getFunctions(set, true);
		while (functions.hasNext()) {
			Function function = functions.next();
			Address entryPoint = function.getEntryPoint();

			AddressSetView body = function.getBody();
			if (body == null) {
				continue;
			}
			// if there is data here, don't do
			if (program.getListing().getDefinedDataAt(entryPoint) != null) {
				continue;
			}
			// if the function has a wimpy body, put on list to re-do
			if (body.getNumAddresses() == 1) {
				redoFunctionSet.add(entryPoint);
			}
			// no code here, re-disassemble
			// if there is not undefined data at the entry point
			if (program.getListing().getInstructionAt(entryPoint) != null) {
				continue;
			}
			dummyFunctionSet.add(entryPoint);
		}
	}
Check for a single external entry point.

@param program - program to check
@param externalCount - count of external entry points found
@param doNowSet - set of functions that are to be done now

@return true if this program has only one external entry point
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/disassembler/EntryPointAnalyzer.java