ViResourceAcquireSanityChecks
VOID __stdcall ViResourceAcquireSanityChecks(_ERESOURCE *Resource, UINT8 Wait, UINT64 DisableCheck){
int v3;
ULONG_PTR Param4;
unsigned __int8 CurrentIrql;
UINT64 v7;
v3 = DisableCheck;
Param4 = (unsigned int)Resource;
if( ((unsigned __int8)Resource & 7) != 0 && (MmVerifierData & 0x800) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x3Du, 0, 0, (ULONG_PTR)Resource, v7);
if( !v3 )
{
CurrentIrql = KeGetCurrentIrql();
if( CurrentIrql != 1
&& (KeGetCurrentThread()->$66B5187701DB455CD8F8862345C5A268::$BF47041B248301F87E570BEB78208C5A::_bf_0 & 0x400) == 0
&& !KeGetCurrentThread()->WaitBlock[3].SpareLong
&& (CurrentIrql != 2 || Wait)
&& (MmVerifierData & 0x800) != 0 )
{
VerifierBugCheckIfAppropriate(0xC4ui64, 0x37u, CurrentIrql, KeGetCurrentThread()->CombinedApcDisable, Param4, v7);
}
}
}Referenced by:
VerifierExAcquireResourceExclusiveLite
VerifierExAcquireResourceExclusiveLiteNoReboot
VerifierExAcquireResourceSharedLite
VerifierExAcquireResourceSharedLiteNoReboot
VerifierExAcquireSharedStarveExclusive
VerifierExAcquireSharedStarveExclusiveNoReboot
VerifierExAcquireSharedWaitForExclusive
VerifierExAcquireSharedWaitForExclusiveNoReboot