IopAddRunTimeTriageDataBlocks

VOID __stdcall IopAddRunTimeTriageDataBlocks(
        UINT64 NumDataArrays,
        _IO_TRIAGE_DUMP_DATA_ARRAY *DataArrays,
        _IO_TRIAGE_DUMP_DATA_ARRAY *ModifyArray,
        _CONTEXT *Context,
        VOID **StackMin,
        VOID **StackMax){
  unsigned int v6; 
  __int64 MaxValidMemorySizeDown; 
  int v11; 
  unsigned __int16 v12; 
  char *v13; 
  unsigned __int64 v14; 
  UINT64 Length; 
  UINT64 Lengtha; 

  v6 = NumDataArrays;
  MaxValidMemorySizeDown = (unsigned int)IopGetMaxValidMemorySizeDown((VOID *)Context->_Rip);
  IopGetMaxValidMemorySize((VOID *)Context->_Rip, 0x100ui64);
  LODWORD(Length) = v11 + MaxValidMemorySizeDown;
  IopAddTriageDumpDataBlock(v6, DataArrays, ModifyArray, (VOID *)(Context->_Rip - MaxValidMemorySizeDown), Length);
  v12 = 144;
  v13 = &IopRunTimeContextOffsets;
  do
  {
    v14 = *(unsigned __int64 *)((char *)&Context->P1Home + v12);
    if( v14 < (unsigned __int64)StackMin || v14 >= (unsigned __int64)StackMax )
    {
      LODWORD(Lengtha) = 4096;
      IopAddTriageDumpDataBlock(v6, DataArrays, ModifyArray, (VOID *)(v14 & 0xFFFFFFFFFFFFF000ui64), Lengtha);
    }
    v13 += 2;
    v12 = *(_WORD *)v13;
  }
  while( *(_WORD *)v13 != 0xFFFF );
}

Referenced by:

IoFillTriageDumpBuffer