NTSTATUS __stdcall VfIrpLogLockDatabase(UINT64 SiloNumber){
__int64 v1;
unsigned __int64 v2;
NTSTATUS v3;
v1 = (unsigned int)SiloNumber;
v2 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc(&ViIrpLogDatabaseLock);
if( *(_DWORD *)(ViIrpLogDatabase + 24 * v1) )
{
v3 = -1073741267;
}
else
{
*(_DWORD *)(ViIrpLogDatabase + 24 * v1) = 1;
v3 = 0;
}
KxReleaseSpinLock(&ViIrpLogDatabaseLock);
__writecr8(v2);
return v3;
}