ExReleaseAutoExpandPushLockExclusive

VOID __fastcall ExReleaseAutoExpandPushLockExclusive(ULONG_PTR BugCheckParameter2, ULONG_PTR BugCheckParameter1){
  char v2; 
  int v4; 
  int v5; 
  v2 = BugCheckParameter1;
  if( (BugCheckParameter1 & 0xFFFFFFFC) != 0 )
    KeBugCheckEx(0x152u, (unsigned int)BugCheckParameter1, BugCheckParameter2, 0i64, 0i64);
  v4 = *(_DWORD *)(BugCheckParameter2 + 8);
  if( (v4 & 1) != 0 )
  {
    ExpReleaseFannedOutPushLockExclusive((PVOID)(v4 & 0xFFFFFFF8));
  }
  else
  {
    v5 = *(_DWORD *)(BugCheckParameter2 + 12);
    if( (v5 & 0xF0000u) < 0xF0000 )
      *(_DWORD *)(BugCheckParameter2 + 12) = v5 + 0x10000;
  }
  ExReleasePushLockEx(BugCheckParameter2, 2ui64);
  if( (v2 & 2) == 0 )
    KeAbPostRelease((PVOID)BugCheckParameter2);
}

Referenced by:

MiDeletePagablePteRange
MiFreePhysicalPageChain
MiFreePhysicalPages
MiUnlockAwePagesExclusive
MiUnlockAweVadsExclusive
MiUnlockLoaderEntry