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