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