ExReleaseCacheAwarePushLockExclusiveEx
void __fastcall ExReleaseCacheAwarePushLockExclusiveEx(ULONG_PTR BugCheckParameter2, ULONG_PTR BugCheckParameter1){
char v2;
ULONG_PTR v4;
volatile signed __int64 **v5;
volatile INT64 *v6;
v2 = BugCheckParameter1;
if( (BugCheckParameter1 & 0xFFFFFFFC) != 0 )
KeBugCheckEx(0x152u, (unsigned int)BugCheckParameter1, BugCheckParameter2, 0i64, 0i64);
v4 = BugCheckParameter2 + 256;
v5 = (volatile signed __int64 **)BugCheckParameter2;
if( BugCheckParameter2 < BugCheckParameter2 + 256 )
{
do
{
v6 = *v5;
if( (_InterlockedExchangeAdd64(*v5, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(v6);
++v5;
}
while( (unsigned __int64)v5 < v4 );
}
if( (v2 & 2) == 0 )
KeAbPostRelease((PVOID)BugCheckParameter2);
}Referenced by:
No references.