WdipSemUpdateProviderTableWithScenario

VOID __fastcall WdipSemUpdateProviderTableWithScenario(INT64 a1, INT64 a2, INT64 a3, INT64 a4){
  __int64 v5; 
  __int64 i; 
  if( a1 && (int)WdipSemUpdateProviderTableWithEvent((PGUID)a1) >= 0 )
  {
    v5 = 0i64;
    if( *(_DWORD *)(a1 + 48) )
    {
      while( (int)WdipSemUpdateProviderTableWithEvent(*(PGUID *)(a1 + 8 * v5 + 56)) >= 0 )
      {
        v5 = (unsigned int)(v5 + 1);
        if( (unsigned int)v5 >= *(_DWORD *)(a1 + 48) )
          goto LABEL_4;
      }
    }
    else
    {
LABEL_4:
      for( i = 0i64; (unsigned int)i < *(_DWORD *)(a1 + 52); i = (unsigned int)(i + 1) )
      {
        if( (int)WdipSemUpdateProviderTableWithEvent(*(PGUID *)(a1 + 8 * i + 1048)) < 0 )
          break;
      }
    }
  }
}

Referenced by:

WdipSemLoadScenarioTable