IopAddTriageDumpDataBlock
CHAR __fastcall IopAddTriageDumpDataBlock(UINT64 a1, INT64 a2, UINT64 *a3, INT64 a4, UINT64 a5){
unsigned __int64 v6;
unsigned int v8;
unsigned int v9;
unsigned __int64 i;
unsigned int v11;
unsigned __int64 *j;
unsigned int v13;
unsigned __int64 *v14;
unsigned __int64 v16;
v6 = a4;
v8 = a1;
if( (unsigned int)(a5 - 1) > 0x3FFFE || !KiIsAddressRangeValid(a4, (unsigned int)a5) )
return 0;
v9 = 0;
for( i = (unsigned int)a5 + v6; v9 < v8; a2 += 16i64 )
{
v11 = 0;
for( j = *(unsigned __int64 **)(a2 + 8); v11 < *(_DWORD *)a2; j += 2 )
{
v16 = j[1];
if( v6 < v16 && i > *j )
{
if( v6 < *j )
{
if( i <= v16 )
i = *j;
}
else
{
if( i <= v16 )
return 1;
v6 = j[1];
}
}
++v11;
}
++v9;
}
if( !a3 )
return 0;
v13 = *(_DWORD *)a3;
if( *(_DWORD *)a3 >= *((_DWORD *)a3 + 1) )
return 0;
v14 = (unsigned __int64 *)(a3[1] + 16i64 * v13);
*(_DWORD *)a3 = v13 + 1;
*v14 = v6;
v14[1] = i;
return 1;
}Referenced by:
IoAddTriageDumpDataBlock
IopAddRunTimeTriageDataBlocks