ViFindTriageDriverTargets

_VERIFIER_TRIAGE_RULE *__stdcall ViFindTriageDriverTargets(INT64 a1, INT64 a2, const INT8 *a3){
  _VERIFIER_TRIAGE_RULE *v3; 

  v3 = &ViVerifyTriageRules;
  while( 1 )
  {
    if( v3 >= (_VERIFIER_TRIAGE_RULE *)((char *)&ViVerifyTriageRules + a2) )
    {
      DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: no `targets' rule found.\n");
      return 0i64;
    }
    if( (v3->_bf_0 & 0x70000) == 0 )
      break;
    if( (HIWORD(v3->_bf_0) & 7) == 1 )
    {
      v3 = (_VERIFIER_TRIAGE_RULE *)((char *)v3 + ((unsigned __int64)(unsigned int)v3->_bf_0 >> 19) + 8);
    }
    else if( (HIWORD(v3->_bf_0) & 7) == 2 )
    {
      DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: found a `targets' rule.\n");
      return v3;
    }
  }
  DbgPrintEx(0x5Du, 3u, "CRASH TRIAGE: zeroed rules structure(hit an invalid type rule).\n");
  return 0i64;
}

Referenced by:

VfTriageSystem