ExfAcquireCacheAwarePushLockExclusiveEx

UINT64 *__fastcall ExfAcquireCacheAwarePushLockExclusiveEx(UINT64 **a1, VOID *a2, VOID *a3){
  UINT64 *result; 
  UINT64 **v4; 
  UINT64 **v6; 
  result = *a1;
  v4 = a1 + 1;
  v6 = a1 + 32;
  if( _interlockedbittestandset64((volatile signed __int32 *)*a1, 0i64) )
    result = (UINT64 *)ExfAcquirePushLockExclusiveEx(*a1, a2, a3);
  while( v4 < v6 )
  {
    result = *v4;
    if( _interlockedbittestandset64((volatile signed __int32 *)*v4, 0i64) )
    {
      result = *--v6;
      if( _interlockedbittestandset64((volatile signed __int32 *)result, 0i64) )
        result = (UINT64 *)ExfAcquirePushLockExclusiveEx(*v6, a2, a3);
    }
    else
    {
      ++v4;
    }
  }
  return result;
}

Referenced by:

ExAcquireCacheAwarePushLockExclusive
ExAcquireCacheAwarePushLockExclusiveEx