VmpFreeMemoryRanges
NTSTATUS __stdcall VmpFreeMemoryRanges(PVOID P){
_QWORD **v2;
_QWORD *v3;
_QWORD *v4;
v2 = (_QWORD **)((char *)P + 40);
while( 1 )
{
v3 = *v2;
if( *v2 == v2 )
break;
if( (_QWORD **)v3[1] != v2 || (v4 = (_QWORD *)*v3, *(_QWORD **)(*v3 + 8i64) != v3) )
__fastfail(3u);
*v2 = v4;
v4[1] = v2;
ExFreePoolWithTag(v3, 0);
}
return(unsigned int)ExFreePoolWithTag(P, 0);
}Referenced by:
VmCreateMemoryRange
VmFreePreallocationForRangeCreate
VmpAllocateMemoryRanges
VmpInsertMemoryRange
VmpMergeMemoryRanges
VmpRemoveMemoryRange
VmpSplitMemoryRange