VfDriverLoadImage

VOID __stdcall VfDriverLoadImage(
        _KLDR_DATA_TABLE_ENTRY *DataTableEntry,
        _VF_SUSPECT_DRIVER_ENTRY *Verifier,
        UINT8 KernelEntry,
        UINT8 AlreadyRunning){
  _KLDR_DATA_TABLE_ENTRY *v4; 
  unsigned int v5; 
  _SECTION *SectionPointer; 

  v4 = DataTableEntry;
  v5 = KernelEntry;
  SectionPointer = (_SECTION *)DataTableEntry->SectionPointer;
  if( SectionPointer )
    KernelEntry = MiSectionControlArea(SectionPointer)->Segment->SegmentFlags.UChar2 >> 4;
  else
    KernelEntry = 12;
  if( ViVerifierDriverAddedThunkListHead.Flink )
  {
    VfSuspectDriversLoadCallback(v4, Verifier, KernelEntry, v5);
  }
  else if( !AlreadyRunning )
  {
    VfTargetDriversAdd(v4->DllBase, v4->SizeOfImage, (_VF_SUSPECT_DRIVER_ENTRY *)KernelEntry);
  }
}

Referenced by:

MiFinalizeDriverImage
VfDriverEnableVerifier
VfDriverLoadBootDrivers