IopLiveDumpFreeMappingResources

VOID __stdcall IopLiveDumpFreeMappingResources(){
  __int64 v0; 
  __int64 v1; 
  unsigned int v2; 
  __int64 v3; 
  _MDL *v4; 
  v1 = v0;
  if( *(_QWORD *)(v0 + 792) )
  {
    v2 = 0;
    if( *(_DWORD *)(v0 + 784) )
    {
      do
      {
        v3 = *(_QWORD *)(v1 + 792) + 16i64 * v2;
        if( *(_QWORD *)v3 )
          MmReleaseDumpHibernateResources(*(PVOID *)v3, 0x10000ui64);
        v4 = *(_MDL **)(v3 + 8);
        if( v4 )
          IoFreeMdl(v4);
        ++v2;
      }
      while( v2 < *(_DWORD *)(v1 + 784) );
    }
    ExFreePoolWithTag(*(PVOID *)(v1 + 792), 0x706D644Cu);
    *(_QWORD *)(v1 + 792) = 0i64;
    *(_DWORD *)(v1 + 784) = 0;
  }
}

Referenced by:

IopLiveDumpAllocateMappingResources
IopLiveDumpReleaseResources