VOID __fastcall ExReleaseCacheAwarePushLockExclusive(CHAR *Lock){
CHAR *v1;
volatile signed __int64 **v3;
volatile INT64 *v4;
v1 = Lock + 256;
v3 = (volatile signed __int64 **)Lock;
if( Lock < Lock + 256 )
{
do
{
v4 = *v3;
if( (_InterlockedExchangeAdd64(*v3, 0xFFFFFFFFFFFFFFFFui64) & 6) == 2 )
ExfTryToWakePushLock(v4);
++v3;
}
while( v3 < (volatile signed __int64 **)v1 );
}
KeAbPostRelease(Lock);
}