MiDisablePagingOfDriver

VOID __stdcall MiDisablePagingOfDriver(_KLDR_DATA_TABLE_ENTRY *DataTableEntry){
  void *DllBase; 
  unsigned int v3; 
  unsigned __int64 v4; 
  NTSTATUS v5; 
  _MMPTE *v6; 
  _MMPTE *v7; 
  _MMPTE *FirstPte; 
  _MMPTE *LastPte; 

  LastPte = 0i64;
  DllBase = DataTableEntry->DllBase;
  FirstPte = 0i64;
  if( !MI_IS_PHYSICAL_ADDRESS(DllBase) )
  {
    v3 = 0;
    v4 = 0i64;
    do
    {
      v5 = MiSnapDriverRange(DataTableEntry, v3, 4ui64, 0i64, &FirstPte);
      v6 = FirstPte;
      v3 = v5;
      if( FirstPte )
      {
        if( v4 )
        {
          if( (unsigned __int64)FirstPte < v4 )
            v6 = (_MMPTE *)v4;
          FirstPte = v6;
        }
        v7 = LastPte;
        if( v6 <= LastPte )
        {
          MiLockCode(DataTableEntry, v6, LastPte, 2ui64);
          v4 = (unsigned __int64)&v7[1];
        }
      }
    }
    while( v3 );
  }
}

Referenced by:

MiHandleDriverNonPagedSections