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;
}