ViTargetRemovingCheckContiguousMemory
VOID __fastcall ViTargetRemovingCheckContiguousMemory(UINT64 Param3, INT64 a2){
_QWORD *v2;
_QWORD *v3;
__int64 v4;
_QWORD *v5;
UINT64 v6;
v2 = (_QWORD *)(Param3 + 256);
if( (MmVerifierData & 0x800) != 0 && (_QWORD *)*v2 != v2 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x62ui64, *(_QWORD *)(a2 + 96), Param3, *(_QWORD *)(Param3 + 240), v6);
while( 1 )
{
v3 = (_QWORD *)*v2;
if( (_QWORD *)*v2 == v2 )
break;
v4 = *v3;
if( *(_QWORD **)(*v3 + 8i64) != v3 || (v5 = (_QWORD *)v3[1], (_QWORD *)*v5 != v3) )
__fastfail(3u);
*v5 = v4;
*(_QWORD *)(v4 + 8) = v5;
VfUtilFreePoolDispatchLevel(v3);
}
}Referenced by:
VfTargetDriversRemove