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