ViTargetFreeContiguousMemoryFromNode
UINT64 __stdcall ViTargetFreeContiguousMemoryFromNode(PVOID ContiguousMemory, _VF_TARGET_DRIVER *Node){
__int64 v2;
PVOID *v4;
PVOID **v5;
VOID **v7;
v2 = *((_QWORD *)Node + 7);
if( !v2 )
return 0i64;
v4 = *(PVOID **)(v2 + 256);
if( v4 == (PVOID *)(v2 + 256) )
return 0i64;
while( 1 )
{
v5 = (PVOID **)*v4;
if( v4[2] == ContiguousMemory )
break;
v4 = (PVOID *)*v4;
if( v5 == (PVOID **)(v2 + 256) )
return 0i64;
}
if( v5[1] != v4 || (v7 = (VOID **)v4[1], *v7 != v4) )
__fastfail(3u);
*v7 = v5;
v5[1] = v7;
*(_QWORD *)(v2 + 240) -= v4[3];
VfUtilFreePoolDispatchLevel(v4);
return 1i64;
}Referenced by:
ViTargetFreeContiguousMemory
ViTargetFreeContiguousMemoryCallback