SdbFindFirstNamedTag

__int64 __fastcall SdbFindFirstNamedTag(void *a1, UINT64 a2, __int16 a3, __int16 a4, wchar_t *Str1){
  unsigned int v5; 
  unsigned int v8; 
  unsigned int i; 
  unsigned int v11; 
  unsigned int FirstTag; 
  const wchar_t *StringTagPtr; 
  v5 = 0;
  v8 = a2;
  for( i = SdbGetFirstChild((INT64)a1, a2); ; i = SdbGetNextChild((__int64)a1, v8, v11) )
  {
    v11 = i;
    if( !i )
      break;
    if( (unsigned __int16)SdbGetTagFromTagID((__int64)a1, i) == a3 )
    {
      FirstTag = SdbFindFirstTag((INT64)a1, v11, a4);
      if( FirstTag )
      {
        StringTagPtr = (const wchar_t *)SdbGetStringTagPtr((RTL_RUN_ONCE *)a1, FirstTag);
        if( !StringTagPtr )
        {
          AslLogCallPrintf(1ui64, "SdbFindFirstNamedTag", 0x98ui64, "Can't get the name string");
          return v5;
        }
        if( !wcsicmp(Str1, StringTagPtr) )
          return v11;
      }
    }
  }
  return v5;
}

Referenced by:

SdbQueryDataExTagID
SdbpSearchDB