SdbpReadTagData

__int64 __fastcall SdbpReadTagData(__int64 a1, UINT64 a2, void *a3, unsigned int a4){
  unsigned int v6; 
  unsigned int TagDataSize; 
  unsigned int v9; 
  int TagHeadSize; 
  unsigned int v12; 
  unsigned int v13; 
  v6 = a2;
  TagDataSize = SdbGetTagDataSize(a1, a2);
  v9 = TagDataSize;
  if( TagDataSize > a4 )
  {
    v13 = TagDataSize;
    v12 = a4;
    AslLogCallPrintf(1ui64, "SdbpReadTagData", 0x160ui64, "Buffer too small. Avail: %d, Need: %d", v12, v13);
  }
  else
  {
    TagHeadSize = SdbpGetTagHeadSize(a1, v6);
    if( (unsigned int)SdbpReadMappedData(a1, v6 + TagHeadSize, a3, v9) )
      return 1i64;
    AslLogCallPrintf(1ui64, "SdbpReadTagData", 0x167ui64, "Error reading tag data");
  }
  return 0i64;
}

Referenced by:

SdbReadBinaryTag
SdbReadDWORDTag
SdbReadQWORDTag
SdbReadWORDTag
SdbpReadStringRef