VfDriverEnableVerifierForAll

INT64 __stdcall VfDriverEnableVerifierForAll(){
  INT64 v0; 
  INT64 v1; 
  INT64 v2; 
  int v3; 
  BOOL v4; 
  PVOID *i; 
  PVOID v6; 
  _VF_SUSPECT_DRIVER_ENTRY *Entry; 
  _VF_SUSPECT_DRIVER_ENTRY *v8; 
  int v10; 
  PIMAGE_NT_HEADERS NtHeader; 
  NtHeader = 0i64;
  v3 = 0;
  v10 = 0;
  VfDriverLock(v1, v0, v2);
  LOBYTE(v4) = 1;
  ExAcquireResourceSharedLite(&PsLoadedModuleResource, v4);
  for( i = *(PVOID **)PsLoadedModuleList; i != &PsLoadedModuleList; i = (PVOID *)*i )
  {
    if( !VfUtilIsProtectedDriver((PCUNICODE_STRING)(i + 11)) )
    {
      v6 = i[6];
      if( (unsigned int)MmIsSessionAddress(v6) || RtlImageNtHeaderEx(1ui64, v6, 0i64, &NtHeader) >= 0 )
      {
        Entry = VfSuspectDriversAllocateEntry((_UNICODE_STRING *)(i + 11));
        v8 = Entry;
        if( !Entry )
        {
          v3 = -1073741670;
          break;
        }
        v10 = 0;
        v3 = VfDriverEnableVerifier((__int64)Entry, (__int64)i, &v10);
        if( !v10 )
          ExFreePoolWithTag(v8, 0);
        if( v3 < 0 )
          break;
      }
    }
  }
  ExReleaseResourceLite(&PsLoadedModuleResource);
  ViDriversLoadLockOwner = 0i64;
  KeReleaseMutex(&ViDriversLoadLock, 0);
  return(unsigned int)v3;
}

Referenced by:

VfAddVerifierEntry