MiLockPagableSections

VOID __stdcall MiLockPagableSections(_KLDR_DATA_TABLE_ENTRY *DataTableEntry, UINT64 Lockdown){
  char *DllBase; 
  int v3; 
  __int64 v4; 
  int v5; 
  _IMAGE_SECTION_HEADER *v6; 

  DllBase = (char *)DataTableEntry->DllBase;
  v3 = Lockdown;
  if( MiImagePagable(DataTableEntry, DllBase) )
  {
    LODWORD(v4) = RtlImageNtHeader((UINT64)DllBase);
    v5 = *(unsigned __int16 *)(v4 + 6);
    v6 = (_IMAGE_SECTION_HEADER *)(*(unsigned __int16 *)(v4 + 20) + v4 + 24);
    if( *(_WORD *)(v4 + 6) )
    {
      do
      {
        if( MmImageSectionPagable(v6) )
        {
          if( v3 == 1 )
            MmLockPagableDataSection(&DllBase[v6->VirtualAddress]);
          else
            MiLockPagableImageSection(v6, 0);
        }
        ++v6;
        --v5;
      }
      while( v5 );
    }
  }
}

Referenced by:

MiCancelPhase0Locking
MiEnablePagingTheExecutive
MiUnlockBootPageSections