SdbGetStringTagPtr

WCHAR *__stdcall SdbGetStringTagPtr(VOID *pdb, UINT64 tiWhich){
  WCHAR *v2; 
  unsigned int v3; 
  __int16 v5; 
  unsigned int StringRef; 
  INT8 *v9; 
  UINT64 v10; 

  v2 = 0i64;
  v3 = tiWhich;
  if( pdb )
  {
    v5 = SdbGetTagFromTagID((_DB *)pdb, tiWhich) & 0xF000;
    if( v5 == (__int16)0x8000 )
      return(WCHAR *)SdbpGetMappedTagData((_DB *)pdb, v3);
    if( v5 != 24576 )
      return v2;
    StringRef = SdbpReadStringRef((_DB *)pdb, v3);
    if( StringRef )
      return SdbpGetMappedStringFromTable(pdb, StringRef);
    v9 = (INT8 *)"Error getting StringRef";
    v10 = 655i64;
  }
  else
  {
    v9 = "Invalid pdb";
    v10 = 635i64;
  }
  AslLogCallPrintf(1ui64, (INT8 *)"SdbGetStringTagPtr", v10, v9);
  return 0i64;
}

Referenced by:

KsepDbGetSdbString
KsepDbReadKData
KsepDbReadKFlag
SdbFindFirstNamedTag
SdbQueryDataExTagID
SdbpCheckAllAttributes
SdbpCheckMatchingDevice
SdbpCheckMatchingDir
SdbpCheckMatchingFiles
SdbpCheckMatchingWildcardFiles
SdbpCheckPackageAttributes
SdbpFindFirstIndexedWildCardTag
SdbpFindMatchingName
SdbpFindNextIndexedWildCardTag
SdbpFindNextNamedTag
SdbpGetMatchingTextAttributes
SdbpGetRegistryMatchingAttributes
SdbpMatchDeviceString
SdbpSearchDB