IopAddBugcheckTriageWorkQueue
INT64 __fastcall IopAddBugcheckTriageWorkQueue(CHAR **Address){
unsigned int v1;
int v3;
CHAR **v4;
CHAR **v5;
CHAR **v6;
v1 = 0;
v3 = 0;
if( KiIsAddressRangeValid((INT64)Address, 688i64) )
{
IoAddTriageDumpDataBlock(Address, 0x2B0ui64);
v4 = Address + 84;
v5 = (CHAR **)*v4;
if( *v4 )
{
v6 = v4;
while( v5 != v4 && v3 < 10 )
{
++v3;
if( !KiIsAddressRangeValid((INT64)v5, 16i64) || v5[1] != (CHAR *)v6 )
return(unsigned int)-1073741823;
IopAddBugcheckTriageThread((_ETHREAD *)(v5 - 65));
v6 = v5;
v5 = (CHAR **)*v5;
if( !v5 )
return v1;
}
}
}
else
{
return(unsigned int)-1073741823;
}
return v1;
}Referenced by:
IopAddBugcheckPnpTriageData
IopAddBugcheckPnpWatchdogTriageData
IopAddBugcheckPowerTriageData