@Override
	public void deferredApply(MsSymbolIterator iter) throws PdbException, CancelledException {
		// Pealing the symbol off again, as the iterator is coming in fresh, and we need the symbol
		getValidatedSymbol(iter, true);

		String name = symbol.getName();
		Address address = applicator.getAddress(symbol);

		// Save off the function length for lines processing
		Long functionLength = symbol.getProcedureLength();
		applicator.setFunctionLength(address, functionLength.intValue());

		function = applicator.getExistingFunction(address);
		if (function == null) {
			// Skip all interim symbols records
			if (!processEndSymbol(symbol.getEndPointer(), iter)) {
				applicator.appendLogMsg("PDB: Failed to process function at address " + address);
			}
			return;
		}

		long start = getStartOffset();
		long end = getEndOffset();
		Address blockAddress = address.add(start);
		long length = end - start;

		deferredProcessing(iter, name, address, blockAddress, length);
	}
returns true only if we set a function signature
@return true if function signature was set
@throws PdbException upon processing error
@throws CancelledException upon user cancellation
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/FunctionSymbolApplier.java