IopLiveDumpMarkLoadedModuleList

NTSTATUS __stdcall IopLiveDumpMarkLoadedModuleList(_MM_KERNEL_DUMP_CONTEXT *MmContext){
  NTSTATUS result; 
  INT64 *i; 

  result = MmAddRangeToCrashDump(MmContext, &PsLoadedModuleList, 0x10ui64);
  if( result >= 0 )
  {
    for( i = (INT64 *)PsLoadedModuleList; i != &PsLoadedModuleList; i = (INT64 *)*i )
    {
      result = MmAddRangeToCrashDump(MmContext, i, 0xA0ui64);
      if( result < 0 )
        break;
      result = MmAddRangeToCrashDump(MmContext, (VOID *)i[12], *((unsigned __int16 *)i + 44));
      if( result < 0 )
        break;
      result = MmAddRangeToCrashDump(MmContext, (VOID *)i[10], *((unsigned __int16 *)i + 36));
      if( result < 0 )
        break;
      result = MmAddRangeToCrashDump(MmContext, (VOID *)i[5], 0x20ui64);
      if( result < 0 )
        break;
      result = MmAddRangeToCrashDump(MmContext, (VOID *)i[6], *((unsigned int *)i + 16));
      if( result < 0 )
        break;
    }
  }
  return result;
}

Referenced by:

IopLiveDumpMarkRequiredDumpData