WdipSemQueryProviderTable

__int64 __fastcall WdipSemQueryProviderTable(_QWORD *a1){
  __int64 v1; 
  unsigned int v3; 
  _QWORD *v4; 
  __int64 v5; 

  v1 = 0i64;
  if( a1 )
  {
    v3 = 0;
    if( (_DWORD)OldNumProviders )
    {
      while( 1 )
      {
        v4 = (_QWORD *)*((_QWORD *)&ExBootDevicesRemovedEvent + v3 + 568);
        v5 = *a1 - *v4;
        if( *a1 == *v4 )
          v5 = a1[1] - v4[1];
        if( !v5 )
          break;
        if( ++v3 >= (unsigned int)OldNumProviders )
          return v1;
      }
      return *((_QWORD *)&ExBootDevicesRemovedEvent + v3 + 568);
    }
  }
  return v1;
}

Referenced by:

WdipSemUpdateProviderTableWithEvent