IopAddRunTimeTriageDataBlocks

INT64 __fastcall IopAddRunTimeTriageDataBlocks(UINT64 a1, INT64 a2, UINT64 *a3, INT64 a4, UINT64 a5, UINT64 a6){
  unsigned int v6; 
  __int64 MaxValidMemorySizeDown; 
  unsigned __int16 v11; 
  char *v12; 
  UINT64 v13; 
  INT64 result; 
  UINT64 v15; 
  UINT64 v16; 
  v6 = a1;
  MaxValidMemorySizeDown = (unsigned int)IopGetMaxValidMemorySizeDown(*(PVOID *)(a4 + 248));
  LODWORD(v15) = IopGetMaxValidMemorySize(*(PVOID *)(a4 + 248), 0x100ui64) + MaxValidMemorySizeDown;
  IopAddTriageDumpDataBlock(v6, a2, a3, *(_QWORD *)(a4 + 248) - MaxValidMemorySizeDown, v15);
  v11 = 144;
  v12 = &IopRunTimeContextOffsets;
  do
  {
    v13 = *(_QWORD *)(v11 + a4);
    if( v13 < a5 || v13 >= a6 )
    {
      LODWORD(v16) = 4096;
      IopAddTriageDumpDataBlock(v6, a2, a3, v13 & 0xFFFFFFFFFFFFF000ui64, v16);
    }
    v12 += 2;
    result = *(unsigned __int16 *)v12;
    v11 = result;
  }
  while( (_WORD)result != 0xFFFF );
  return result;
}

Referenced by:

IoFillTriageDumpBuffer