SdbGetNextChild

__int64 __fastcall SdbGetNextChild(__int64 a1, UINT64 a2, unsigned int a3){
  unsigned int v4; 
  unsigned int NextTagId; 
  unsigned int v7; 
  v4 = a2;
  if( !(_DWORD)a2 )
  {
    NextTagId = *(_DWORD *)(a1 + 20);
    goto LABEL_4;
  }
  if( (SdbGetTagFromTagID(a1, a2) & 0xF000) == 28672 )
  {
    NextTagId = SdbpGetNextTagId(a1, v4);
LABEL_4:
    v7 = SdbpGetNextTagId(a1, a3);
    return v7 < NextTagId ? v7 : 0;
  }
  AslLogCallPrintf(1ui64, "SdbGetNextChild", 0x53Cui64, "Trying to operate on non-list, non-root tag");
  return 0i64;
}

Referenced by:

SdbFindFirstNamedTag
SdbFindFirstTag
SdbFindNextTag
SdbpFindNextNamedTag
SdbpMatchList