ExpFastResourceLegacyIsAcquiredShared

INT64 __fastcall ExpFastResourceLegacyIsAcquiredShared(INT64 a1){
  unsigned int v1; 
  unsigned __int8 CurrentIrql; 
  INT64 *FastOwnerEntryForThread; 
  INT64 *v4; 
  INT64 *v5; 
  if( *(_DWORD *)(a1 + 64) )
  {
    CurrentIrql = KeGetCurrentIrql();
    __writecr8(2ui64);
    FastOwnerEntryForThread = ExpFindFastOwnerEntryForThread((INT64)KeGetCurrentThread(), a1, 0, 0);
    if( FastOwnerEntryForThread )
    {
      v4 = FastOwnerEntryForThread + 5;
      v1 = 1;
      v5 = (INT64 *)FastOwnerEntryForThread[5];
      while( v5 != v4 )
      {
        v5 = (INT64 *)*v5;
        ++v1;
      }
    }
    else
    {
      v1 = 0;
    }
    __writecr8(CurrentIrql);
  }
  else
  {
    return 0;
  }
  return v1;
}

Referenced by:

ExIsResourceAcquiredSharedLite