SdbTagRefToTagID

NTSTATUS __stdcall SdbTagRefToTagID(VOID *hSDB, UINT64 trWhich, _DB **ppdb, UINT64 *ptiWhich){
  _DB *v6; 
  NTSTATUS v7; 
  int v8; 
  char *v9; 
  int v11; 
  __int128 v13; 
  _DB *pPDB; 
  __int128 pDatabaseID; 

  v6 = 0i64;
  v7 = 1;
  pPDB = 0i64;
  v8 = trWhich & 0xFFFFFFF;
  v9 = (char *)hSDB + 32 * ((unsigned int)trWhich >> 28) + 32;
  v11 = *((_DWORD *)v9 + 6);
  if( (v11 & 2) != 0 )
  {
    v6 = (_DB *)*((_QWORD *)v9 + 2);
    *(_OWORD *)(v6 + 7) = *(_OWORD *)v9;
    goto LABEL_3;
  }
  if( (v11 & 1) != 0 )
  {
    v13 = *(_OWORD *)v9;
    *((_DWORD *)v9 + 6) = 0;
    pDatabaseID = v13;
    v7 = SdbpOpenLocalDatabaseEx(hSDB, &pDatabaseID, (_DB **)v9, (UINT64 *)&pPDB);
    v6 = pPDB;
LABEL_3:
    if( v6 )
      goto LABEL_4;
  }
  v7 = 0;
LABEL_4:
  if( !v7 )
  {
    v6 = 0i64;
    v8 = 0;
  }
  if( ppdb )
    *ppdb = v6;
  if( ptiWhich )
    *(_DWORD *)ptiWhich = v8;
  return v7;
}

Referenced by:

KsepDbCacheReadDeviceInternal
KsepDbGetDriverShimsInternal
KsepDbGetShimInfo
PiIsDriverBlocked
SdbReadEntryInformation