MiCancelPhase0Locking

_QWORD *__fastcall MiCancelPhase0Locking(__int64 a1){
  _ETHREAD *CurrentThread; 
  _QWORD *result; 
  if( (*(_DWORD *)(a1 + 104) & 0x400000) != 0 )
  {
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
    --*((_WORD *)CurrentThread + 242);
    ExAcquireResourceExclusiveLite(&PsLoadedModuleResource, 1u);
    if( (*(_DWORD *)(a1 + 104) & 0x400000) != 0 )
    {
      MiLockPagableSections(a1, 0);
      *(_DWORD *)(a1 + 104) &= ~0x400000u;
    }
    ExReleaseResourceLite(&PsLoadedModuleResource);
    return KeLeaveCriticalRegionThread((__int64)CurrentThread);
  }
  return result;
}

Referenced by:

MmPageEntireDriver
MmResetDriverPaging