UINT64 *__fastcall ExAcquireCacheAwarePushLockExclusiveEx(VOID *a1, CHAR a2){
_BYTE *v3;
_BYTE *v4;
UINT64 *result;
if( (a2 & 2) != 0 )
{
v4 = 0i64;
}
else
{
LODWORD(v3) = KeAbPreAcquire(a1, 0i64, 0i64);
v4 = v3;
}
result = ExfAcquireCacheAwarePushLockExclusiveEx((UINT64 **)a1, v4, a1);
if( v4 )
v4[26] |= 1u;
return result;
}