MiHandleDriverNonPagedSections

NTSTATUS __stdcall MiHandleDriverNonPagedSections(
        _KLDR_DATA_TABLE_ENTRY *DataTableEntry,
        UINT64 LoadFlags,
        UINT64 MakeResident){
  void *DllBase; 
  int v5; 
  char v6; 
  int v7; 
  unsigned int v8; 
  _MMPTE *v9; 
  unsigned int v10; 
  unsigned int v11; 
  _MMPTE *v12; 
  NTSTATUS v13; 
  _MMPTE *v14; 
  unsigned int v16; 
  _MMPTE *LastPte; 
  unsigned int v18; 
  _MMPTE *FirstPte; 

  FirstPte = 0i64;
  DllBase = DataTableEntry->DllBase;
  v5 = MakeResident;
  LastPte = 0i64;
  v6 = LoadFlags;
  if( MI_IS_PHYSICAL_ADDRESS(DllBase) )
    return 0;
  v7 = 0;
  v8 = 1;
  if( v5 == 1 )
  {
    if( (dword_140CFA174 & 1) == 0 && (v6 & 2) == 0 )
    {
      if( (v6 & 1) == 0 )
        MiDisablePagingOfDriver(DataTableEntry);
      v8 = !(v6 & 1) + 1;
      goto LABEL_8;
    }
    v10 = ((v6 & 1) == 0) + 1;
    v11 = 0;
    v12 = 0i64;
    while( 1 )
    {
      v13 = MiSnapDriverRange(DataTableEntry, v11, 8ui64, 0i64, &FirstPte);
      v14 = FirstPte;
      v11 = v13;
      if( !FirstPte )
        goto LABEL_17;
      if( v12 )
      {
        if( FirstPte == v12 )
          return v7;
        MiUnlockCodePage(FirstPte, LastPte);
LABEL_17:
        if( !v11 )
          return v7;
      }
      else
      {
        v7 = MiLockCode(DataTableEntry, FirstPte, LastPte, v10);
        if( v7 >= 0 )
          goto LABEL_17;
        v11 = 0;
        v12 = v14;
      }
    }
  }
  if( (dword_140CFA174 & 1) != 0 )
  {
    v16 = 0;
    do
    {
      v16 = MiSnapDriverRange(DataTableEntry, v16, 8ui64, 0i64, &FirstPte);
      if( FirstPte )
        MiUnlockCodePage(FirstPte, LastPte);
    }
    while( v16 );
    return 0;
  }
LABEL_8:
  v18 = 0;
  v9 = 0i64;
  while( (int)MiFindDriverNonPagedSections((__int64)DataTableEntry, &v18, &FirstPte, &LastPte) >= 0 )
  {
    if( v5 == 1 )
    {
      v7 = MiLockCode(DataTableEntry, FirstPte, LastPte, v8);
      if( v7 < 0 )
      {
        v9 = FirstPte;
        v5 = 0;
        v18 = 0;
      }
    }
    else
    {
      if( FirstPte == v9 )
        return v7;
      MiUnlockCodePage(FirstPte, LastPte);
    }
  }
  return v7;
}

Referenced by:

MiApplyHotPatchToLoadedDriver
MiSessionRemoveImage
MmLoadSystemImageEx