MiStartingOffsetNeedLock
unsigned __int64 __fastcall MiStartingOffsetNeedLock(unsigned __int64 *a1, unsigned int a2){
unsigned __int64 v2;
KIRQL v5;
volatile LONG *v6;
unsigned __int64 v7;
v2 = *a1;
if( (*(_DWORD *)(*a1 + 56) & 0x20) != 0 || !*(_QWORD *)(v2 + 64) )
{
v5 = 17;
v6 = (volatile LONG *)(v2 + 72);
}
else
{
v6 = (volatile LONG *)(v2 + 72);
v5 = ExAcquireSpinLockShared((PEX_SPIN_LOCK)(v2 + 72));
}
v7 = MiStartingOffset((__int64)a1, a1[1], a2);
if( v5 != 17 )
{
ExReleaseSpinLockSharedFromDpcLevel(v6);
__writecr8(v5);
}
return v7;
}Referenced by:
MiPfPrepareReadList