MiFreePartitionId

VOID __stdcall MiFreePartitionId(UINT16 PartitionId){
  _ETHREAD *CurrentThread; 
  __int64 v2; 
  CurrentThread = (_ETHREAD *)KeGetCurrentThread();
  v2 = PartitionId;
  --*((_WORD *)CurrentThread + 243);
  ExAcquirePushLockExclusiveEx((UINT64)&qword_140C4E348, 0i64);
  _bittestandreset((signed __int32 *)qword_140C4E368->Buffer, v2);
  *(_QWORD *)(qword_140C4E388 + 8 * v2) = 0i64;
  if( (_InterlockedExchangeAdd64((volatile signed __int64 *)&qword_140C4E348, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
    ExfTryToWakePushLock((volatile INT64 *)&qword_140C4E348);
  KeAbPostRelease(&qword_140C4E348);
  KiLeaveGuardedRegionUnsafe((__int64)CurrentThread);
}

Referenced by:

MiDeletePartition