private void createFunction_sscanf()
			throws Exception, InvalidInputException, OverlappingFunctionException {

		setBytes("0x0100415a",
			"55 8b ec 83 ec 0c 33 c0 c7 45 f8 01 00 00 00 21 45 fc 39 45 08 c7 45 f4 04 00 00 00 " +
				"74 1a 8d 45 f4 50 8d 45 f8 50 8d 45 fc 50 6a 00 ff 75 0c ff 75 08 ff 15 " +
				"08 10 00 01 85 c0 75 06 83 7d fc 04 74 05 8b 45 10 eb 03 8b 45 f8 c9 c2 0c 00");
		createLabel("0x0100415a", "sscanf");

		startTransaction();
		StringDataType string = new StringDataType();
		DataType stringPtr = new Pointer32DataType(string);
		Parameter p0 = new ParameterImpl("destStr", stringPtr, getProgram());
		Parameter p3 = new ParameterImpl("parm_3", Pointer32DataType.dataType, getProgram());
		Parameter p4 = new ParameterImpl("parm_4", Pointer32DataType.dataType, getProgram());
		createEmptyFunction("sscanf", "0x0100415a", 78, IntegerDataType.dataType, p0, p3, p4);

		ReferenceManager referenceManager = getProgram().getReferenceManager();
		referenceManager.addStackReference(addr("0x0100416c"), 0, 0x4, RefType.READ,
			SourceType.USER_DEFINED);
		endTransaction();

		disassemble(new AddressSet(getProgram(), addr("0x0100415a"), addr("0x010041a7")), false);
	}
Construct sample program builder using the x86 language and default compiler spec.
A set of predefined memory bytes, code units and functions will be added.
@param name program name
@param disableAnalysis if true, the analysis manager will be disabled
@param consumer program consumer (if null this builder will be used as consumer and must be disposed to release program)
@throws Exception
Ghidra/Features/Base/src/main/java/ghidra/test/ClassicSampleX86ProgramBuilder.java