WdipSemQueryEnabledInstanceTable

_WDIP_SEM_SCENARIO_INSTANCE_INFO *__stdcall WdipSemQueryEnabledInstanceTable(const _GUID *ScenarioInstanceId){
  _WDIP_SEM_SCENARIO_INSTANCE_INFO *v1; 
  _WDIP_SEM_SCENARIO_INSTANCE_INFO *i; 
  __int64 v4; 

  v1 = 0i64;
  if( ScenarioInstanceId )
  {
    for( i = (_WDIP_SEM_SCENARIO_INSTANCE_INFO *)*(&ExBootDevicesRemovedEvent + 564);
          (_WDIP_SEM_SCENARIO_INSTANCE_INFO *)((char *)&ExBootDevicesRemovedEvent + 4512) != i;
          i = *(_WDIP_SEM_SCENARIO_INSTANCE_INFO **)i )
    {
      v4 = *(_QWORD *)&ScenarioInstanceId->Data1 - *((_QWORD *)i + 2);
      if( *(_QWORD *)&ScenarioInstanceId->Data1 == *((_QWORD *)i + 2) )
        v4 = *(_QWORD *)ScenarioInstanceId->Data4 - *((_QWORD *)i + 3);
      if( !v4 )
        return i;
    }
  }
  return v1;
}

Referenced by:

WdipSemMarkInstanceForDeletion
WdipSemReserveInstanceTableEntry