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