RtlpTraceDatabaseAcquireLock

CHAR __fastcall RtlpTraceDatabaseAcquireLock(INT64 a1){
  UINT64 v1; 
  UINT64 *v3; 
  char v4; 
  v3 = (UINT64 *)(a1 + 56);
  if( (*(_DWORD *)(a1 + 4) & 4) != 0 )
  {
    KeAcquireSpinLockRaiseToDpc(v3, v1);
    *(_BYTE *)(a1 + 40) = v4;
  }
  else
  {
    ExAcquireFastMutex((FAST_MUTEX *)v3);
  }
  *(_QWORD *)(a1 + 48) = KeGetCurrentThread();
  return 1;
}

Referenced by:

RtlTraceDatabaseAdd
RtlTraceDatabaseEnumerate
RtlTraceDatabaseFind
RtlTraceDatabaseLock
RtlTraceDatabaseValidate