SdbFindNextTag

UINT64 __stdcall SdbFindNextTag(_DB *pdb, UINT64 tiParent, UINT64 tiPrev){
  unsigned int v3; 
  unsigned int v4; 
  unsigned int v6; 
  UINT16 TagFromTagID; 
  unsigned int NextChild; 

  v3 = tiParent;
  v4 = tiPrev;
  v6 = 0;
  TagFromTagID = SdbGetTagFromTagID(pdb, (unsigned int)tiPrev);
  if( TagFromTagID )
  {
    while( 1 )
    {
      NextChild = SdbGetNextChild(pdb, v3, v4);
      v4 = NextChild;
      if( !NextChild )
        break;
      if( SdbGetTagFromTagID(pdb, NextChild) == TagFromTagID )
        return v4;
    }
    return v6;
  }
  else
  {
    AslLogCallPrintf(1ui64, (INT8 *)"SdbFindNextTag", 0x5Eui64, (INT8 *)"Invalid tagid 0x%lx");
    return 0i64;
  }
}

Referenced by:

InitOnceScanIndexes
KsepDbCacheReadDeviceInternal
KsepDbGetDriverShimsInternal