ESO Mod talk:Skill Data Format

The UESPWiki – Your source for The Elder Scrolls since 1995
Jump to: navigation, search

Bits of info[edit]

  • Dumping What is clues against your goals (parsing AbilityDef_Client) Game objects

Functions[edit]

*  AbilityDef_Client::CpStrTooltipTextHeader::DeserializeChildFromBinary(ZoReadBuffer*, unsigned...*
undefined DeserializeChildFromBinary(CpStrTooltipTextHeader * this, ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::CpStrTooltipText::DeserializeChildFromBinary(ZoReadBuffer*, unsigned int, ...*
undefined DeserializeChildFromBinary(CpStrTooltipText * this, ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::CpStrUpgradeTooltipText::DeserializeChildFromBinary(ZoReadBuffer*, unsigne...*
undefined DeserializeChildFromBinary(CpStrUpgradeTooltipText * this, ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::CpStrEffectTooltipText::DeserializeChildFromBinary(ZoReadBuffer*, unsigned...*
undefined DeserializeChildFromBinary(CpStrEffectTooltipText * this, ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::DamageTypeDeathFxInfo::DeserializeChildFromBinary(ZoReadBuffer*, unsigned ...*
undefined DeserializeChildFromBinary(ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::ExecuteData::DeserializeChildFromBinary(ZoReadBuffer*, unsigned int, unsig...*
undefined DeserializeChildFromBinary(ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::WaypointReachedData::DeserializeChildFromBinary(ZoReadBuffer*, unsigned in...*
undefined DeserializeChildFromBinary(ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::BonusType::DeserializeChildFromBinary(ZoReadBuffer*, unsigned int, unsigne...*
undefined DeserializeChildFromBinary(ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::AoETargetTypeData::DeserializeChildFromBinary(ZoReadBuffer*, unsigned int,...*
undefined DeserializeChildFromBinary(ZoReadBuffer * param_1, uint param_2, uint param_3, uint * param_4, uint param_5)
*  AbilityDef_Client::DeserializeFromBinary(ZoReadBuffer&, unsigned int, unsigned int, unsigned ...*
undefined DeserializeFromBinary(AbilityDef_Client * this, ZoReadBuffer * param_1, uint param_2, uint param_3, uint param_4)
*  AbilityDef_Client::LoadStrings(StringManager&)
                 *
undefined LoadStrings(AbilityDef_Client * this, StringManager * param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::CpStrTooltipTextHeader()
                        *
undefined CpStrTooltipTextHeader(CpStrTooltipTextHeader * this)
*  AbilityDef_Client::CpStrTooltipTextHeader::InitDefaults(bool)
  *
undefined InitDefaults(CpStrTooltipTextHeader * this, bool param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::CpStrTooltipTextHeader()
                        *
undefined CpStrTooltipTextHeader(CpStrTooltipTextHeader * this)
*  AbilityDef_Client::CpStrTooltipTextHeader::CpStrTooltipTextHeader(AbilityDef_Client::CpStrToo...*
undefined CpStrTooltipTextHeader(CpStrTooltipTextHeader * this, CpStrTooltipTextHeader * param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::ClearCliArgs()
      *
undefined ClearCliArgs(CpStrTooltipTextHeader * this)
*  AbilityDef_Client::CpStrTooltipTextHeader::ReserveNumCliArgs(unsigned int)
                 *
undefined ReserveNumCliArgs(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::ClearCliArgVals()
   *
undefined ClearCliArgVals(CpStrTooltipTextHeader * this)
*  AbilityDef_Client::CpStrTooltipTextHeader::ReserveNumCliArgVals(unsigned int)
              *
undefined ReserveNumCliArgVals(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::CpStrTooltipTextHeader(AbilityDef_Client::CpStrToo...*
undefined CpStrTooltipTextHeader(CpStrTooltipTextHeader * this, CpStrTooltipTextHeader * param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::~CpStrTooltipTextHeader()
                       *
undefined ~CpStrTooltipTextHeader(CpStrTooltipTextHeader * this)
*  AbilityDef_Client::CpStrTooltipTextHeader::~CpStrTooltipTextHeader()
                       *
undefined ~CpStrTooltipTextHeader(CpStrTooltipTextHeader * this)
*  AbilityDef_Client::CpStrTooltipTextHeader::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrT...*
undefined operator=(CpStrTooltipTextHeader * this, CpStrTooltipTextHeader * param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrT...*
undefined operator==(CpStrTooltipTextHeader * this, CpStrTooltipTextHeader * param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrT...*
undefined operator!=(CpStrTooltipTextHeader * this, CpStrTooltipTextHeader * param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::AddCliArgs(EsoGameDataEnums::ClientLocTags)
     *
undefined AddCliArgs(CpStrTooltipTextHeader * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::AddCliArgs(EsoGameDataEnums::ClientLocTags const*,...*
undefined AddCliArgs(CpStrTooltipTextHeader * this, ClientLocTags * param_1, uint param_2)
*  AbilityDef_Client::CpStrTooltipTextHeader::HasCliArgs(EsoGameDataEnums::ClientLocTags) const
*
undefined HasCliArgs(CpStrTooltipTextHeader * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::GetCliArgs(unsigned int) const
                  *
*  ##Review - due to branches this list may not be accurate
       *
undefined GetCliArgs(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::RemoveCliArgs(unsigned int)
                     *
undefined RemoveCliArgs(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::AddCliArgVals(unsigned int)
                     *
undefined AddCliArgVals(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::AddCliArgVals(unsigned int const*, unsigned int)
*
undefined AddCliArgVals(CpStrTooltipTextHeader * this, uint * param_1, uint param_2)
*  AbilityDef_Client::CpStrTooltipTextHeader::HasCliArgVals(unsigned int) const
               *
undefined HasCliArgVals(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::GetCliArgVals(unsigned int) const
               *
undefined GetCliArgVals(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipTextHeader::RemoveCliArgVals(unsigned int)
                  *
undefined RemoveCliArgVals(CpStrTooltipTextHeader * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::CpStrTooltipText()
        *
undefined CpStrTooltipText(CpStrTooltipText * this)
*  AbilityDef_Client::CpStrTooltipText::InitDefaults(bool)
        *
undefined InitDefaults(CpStrTooltipText * this, bool param_1)
*  AbilityDef_Client::CpStrTooltipText::CpStrTooltipText()
        *
undefined CpStrTooltipText(CpStrTooltipText * this)
*  AbilityDef_Client::CpStrTooltipText::CpStrTooltipText(AbilityDef_Client::CpStrTooltipText con...*
undefined CpStrTooltipText(CpStrTooltipText * this, CpStrTooltipText * param_1)
*  AbilityDef_Client::CpStrTooltipText::ClearCliArgs()
            *
undefined ClearCliArgs(CpStrTooltipText * this)
*  AbilityDef_Client::CpStrTooltipText::ReserveNumCliArgs(unsigned int)
                       *
undefined ReserveNumCliArgs(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::ClearCliArgVals()
         *
undefined ClearCliArgVals(CpStrTooltipText * this)
*  AbilityDef_Client::CpStrTooltipText::ReserveNumCliArgVals(unsigned int)
                    *
undefined ReserveNumCliArgVals(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::CpStrTooltipText(AbilityDef_Client::CpStrTooltipText con...*
undefined CpStrTooltipText(CpStrTooltipText * this, CpStrTooltipText * param_1)
*  AbilityDef_Client::CpStrTooltipText::~CpStrTooltipText()
       *
undefined ~CpStrTooltipText(CpStrTooltipText * this)
*  AbilityDef_Client::CpStrTooltipText::~CpStrTooltipText()
       *
undefined ~CpStrTooltipText(CpStrTooltipText * this)
*  AbilityDef_Client::CpStrTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrTooltip...*
undefined operator=(CpStrTooltipText * this, CpStrTooltipText * param_1)
*  AbilityDef_Client::CpStrTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrTooltip...*
undefined operator==(CpStrTooltipText * this, CpStrTooltipText * param_1)
*  AbilityDef_Client::CpStrTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrTooltip...*
undefined operator!=(CpStrTooltipText * this, CpStrTooltipText * param_1)
*  AbilityDef_Client::CpStrTooltipText::AddCliArgs(EsoGameDataEnums::ClientLocTags)
           *
undefined AddCliArgs(CpStrTooltipText * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrTooltipText::AddCliArgs(EsoGameDataEnums::ClientLocTags const*, unsig...*
undefined AddCliArgs(CpStrTooltipText * this, ClientLocTags * param_1, uint param_2)
*  AbilityDef_Client::CpStrTooltipText::HasCliArgs(EsoGameDataEnums::ClientLocTags) const
     *
undefined HasCliArgs(CpStrTooltipText * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrTooltipText::GetCliArgs(unsigned int) const
                        *
*  ##Review - due to branches this list may not be accurate
       *
undefined GetCliArgs(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::RemoveCliArgs(unsigned int)
                           *
undefined RemoveCliArgs(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::AddCliArgVals(unsigned int)
                           *
undefined AddCliArgVals(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::AddCliArgVals(unsigned int const*, unsigned int)
      *
undefined AddCliArgVals(CpStrTooltipText * this, uint * param_1, uint param_2)
*  AbilityDef_Client::CpStrTooltipText::HasCliArgVals(unsigned int) const
                     *
undefined HasCliArgVals(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::GetCliArgVals(unsigned int) const
                     *
undefined GetCliArgVals(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrTooltipText::RemoveCliArgVals(unsigned int)
                        *
undefined RemoveCliArgVals(CpStrTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::CpStrUpgradeTooltipText()
                      *
undefined CpStrUpgradeTooltipText(CpStrUpgradeTooltipText * this)
*  AbilityDef_Client::CpStrUpgradeTooltipText::InitDefaults(bool)
 *
undefined InitDefaults(CpStrUpgradeTooltipText * this, bool param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::CpStrUpgradeTooltipText()
                      *
undefined CpStrUpgradeTooltipText(CpStrUpgradeTooltipText * this)
*  AbilityDef_Client::CpStrUpgradeTooltipText::CpStrUpgradeTooltipText(AbilityDef_Client::CpStrU...*
undefined CpStrUpgradeTooltipText(CpStrUpgradeTooltipText * this, CpStrUpgradeTooltipText * param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::ClearCliArgs()
     *
undefined ClearCliArgs(CpStrUpgradeTooltipText * this)
*  AbilityDef_Client::CpStrUpgradeTooltipText::ReserveNumCliArgs(unsigned int)
                *
undefined ReserveNumCliArgs(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::ClearCliArgVals()
  *
undefined ClearCliArgVals(CpStrUpgradeTooltipText * this)
*  AbilityDef_Client::CpStrUpgradeTooltipText::ReserveNumCliArgVals(unsigned int)
             *
undefined ReserveNumCliArgVals(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::CpStrUpgradeTooltipText(AbilityDef_Client::CpStrU...*
undefined CpStrUpgradeTooltipText(CpStrUpgradeTooltipText * this, CpStrUpgradeTooltipText * param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::~CpStrUpgradeTooltipText()
                     *
undefined ~CpStrUpgradeTooltipText(CpStrUpgradeTooltipText * this)
*  AbilityDef_Client::CpStrUpgradeTooltipText::~CpStrUpgradeTooltipText()
                     *
undefined ~CpStrUpgradeTooltipText(CpStrUpgradeTooltipText * this)
*  AbilityDef_Client::CpStrUpgradeTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStr...*
undefined operator=(CpStrUpgradeTooltipText * this, CpStrUpgradeTooltipText * param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStr...*
undefined operator==(CpStrUpgradeTooltipText * this, CpStrUpgradeTooltipText * param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStr...*
undefined operator!=(CpStrUpgradeTooltipText * this, CpStrUpgradeTooltipText * param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::AddCliArgs(EsoGameDataEnums::ClientLocTags)
    *
undefined AddCliArgs(CpStrUpgradeTooltipText * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::AddCliArgs(EsoGameDataEnums::ClientLocTags const*...*
undefined AddCliArgs(CpStrUpgradeTooltipText * this, ClientLocTags * param_1, uint param_2)
*  AbilityDef_Client::CpStrUpgradeTooltipText::HasCliArgs(EsoGameDataEnums::ClientLocTags) const
*
undefined HasCliArgs(CpStrUpgradeTooltipText * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::GetCliArgs(unsigned int) const
                 *
*  ##Review - due to branches this list may not be accurate
       *
undefined GetCliArgs(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::RemoveCliArgs(unsigned int)
                    *
undefined RemoveCliArgs(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::AddCliArgVals(unsigned int)
                    *
undefined AddCliArgVals(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::AddCliArgVals(unsigned int const*, unsigned int)
*
undefined AddCliArgVals(CpStrUpgradeTooltipText * this, uint * param_1, uint param_2)
*  AbilityDef_Client::CpStrUpgradeTooltipText::HasCliArgVals(unsigned int) const
              *
undefined HasCliArgVals(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::GetCliArgVals(unsigned int) const
              *
undefined GetCliArgVals(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrUpgradeTooltipText::RemoveCliArgVals(unsigned int)
                 *
undefined RemoveCliArgVals(CpStrUpgradeTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::CpStrEffectTooltipText()
                        *
undefined CpStrEffectTooltipText(CpStrEffectTooltipText * this)
*  AbilityDef_Client::CpStrEffectTooltipText::InitDefaults(bool)
  *
undefined InitDefaults(CpStrEffectTooltipText * this, bool param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::CpStrEffectTooltipText()
                        *
undefined CpStrEffectTooltipText(CpStrEffectTooltipText * this)
*  AbilityDef_Client::CpStrEffectTooltipText::CpStrEffectTooltipText(AbilityDef_Client::CpStrEff...*
undefined CpStrEffectTooltipText(CpStrEffectTooltipText * this, CpStrEffectTooltipText * param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::ClearCliArgs()
      *
undefined ClearCliArgs(CpStrEffectTooltipText * this)
*  AbilityDef_Client::CpStrEffectTooltipText::ReserveNumCliArgs(unsigned int)
                 *
undefined ReserveNumCliArgs(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::ClearCliArgVals()
   *
undefined ClearCliArgVals(CpStrEffectTooltipText * this)
*  AbilityDef_Client::CpStrEffectTooltipText::ReserveNumCliArgVals(unsigned int)
              *
undefined ReserveNumCliArgVals(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::CpStrEffectTooltipText(AbilityDef_Client::CpStrEff...*
undefined CpStrEffectTooltipText(CpStrEffectTooltipText * this, CpStrEffectTooltipText * param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::~CpStrEffectTooltipText()
                       *
undefined ~CpStrEffectTooltipText(CpStrEffectTooltipText * this)
*  AbilityDef_Client::CpStrEffectTooltipText::~CpStrEffectTooltipText()
                       *
undefined ~CpStrEffectTooltipText(CpStrEffectTooltipText * this)
*  AbilityDef_Client::CpStrEffectTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrE...*
undefined operator=(CpStrEffectTooltipText * this, CpStrEffectTooltipText * param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrE...*
undefined operator==(CpStrEffectTooltipText * this, CpStrEffectTooltipText * param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::CpStrE...*
undefined operator!=(CpStrEffectTooltipText * this, CpStrEffectTooltipText * param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::AddCliArgs(EsoGameDataEnums::ClientLocTags)
     *
undefined AddCliArgs(CpStrEffectTooltipText * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::AddCliArgs(EsoGameDataEnums::ClientLocTags const*,...*
undefined AddCliArgs(CpStrEffectTooltipText * this, ClientLocTags * param_1, uint param_2)
*  AbilityDef_Client::CpStrEffectTooltipText::HasCliArgs(EsoGameDataEnums::ClientLocTags) const
*
undefined HasCliArgs(CpStrEffectTooltipText * this, ClientLocTags param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::GetCliArgs(unsigned int) const
                  *
*  ##Review - due to branches this list may not be accurate
       *
undefined GetCliArgs(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::RemoveCliArgs(unsigned int)
                     *
undefined RemoveCliArgs(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::AddCliArgVals(unsigned int)
                     *
undefined AddCliArgVals(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::AddCliArgVals(unsigned int const*, unsigned int)
*
undefined AddCliArgVals(CpStrEffectTooltipText * this, uint * param_1, uint param_2)
*  AbilityDef_Client::CpStrEffectTooltipText::HasCliArgVals(unsigned int) const
               *
undefined HasCliArgVals(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::GetCliArgVals(unsigned int) const
               *
undefined GetCliArgVals(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::CpStrEffectTooltipText::RemoveCliArgVals(unsigned int)
                  *
undefined RemoveCliArgVals(CpStrEffectTooltipText * this, uint param_1)
*  AbilityDef_Client::DamageTypeDeathFxInfo::DamageTypeDeathFxInfo()
                          *
undefined DamageTypeDeathFxInfo(DamageTypeDeathFxInfo * this)
*  AbilityDef_Client::DamageTypeDeathFxInfo::InitDefaults(bool)
   *
undefined InitDefaults(DamageTypeDeathFxInfo * this, bool param_1)
*  AbilityDef_Client::DamageTypeDeathFxInfo::DamageTypeDeathFxInfo()
                          *
undefined DamageTypeDeathFxInfo(DamageTypeDeathFxInfo * this)
*  AbilityDef_Client::DamageTypeDeathFxInfo::DamageTypeDeathFxInfo(AbilityDef_Client::DamageType...*
undefined DamageTypeDeathFxInfo(DamageTypeDeathFxInfo * this, DamageTypeDeathFxInfo * param_1)
*  AbilityDef_Client::DamageTypeDeathFxInfo::DamageTypeDeathFxInfo(AbilityDef_Client::DamageType...*
undefined DamageTypeDeathFxInfo(DamageTypeDeathFxInfo * this, DamageTypeDeathFxInfo * param_1)
*  AbilityDef_Client::DamageTypeDeathFxInfo::~DamageTypeDeathFxInfo()
                         *
undefined ~DamageTypeDeathFxInfo(DamageTypeDeathFxInfo * this)
*  AbilityDef_Client::DamageTypeDeathFxInfo::~DamageTypeDeathFxInfo()
                         *
undefined ~DamageTypeDeathFxInfo(DamageTypeDeathFxInfo * this)
*  AbilityDef_Client::DamageTypeDeathFxInfo::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::DamageT...*
undefined operator=(DamageTypeDeathFxInfo * this, DamageTypeDeathFxInfo * param_1)
*  AbilityDef_Client::DamageTypeDeathFxInfo::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::DamageT...*
undefined operator==(DamageTypeDeathFxInfo * this, DamageTypeDeathFxInfo * param_1)
*  AbilityDef_Client::DamageTypeDeathFxInfo::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::DamageT...*
undefined operator!=(DamageTypeDeathFxInfo * this, DamageTypeDeathFxInfo * param_1)
*  AbilityDef_Client::ExecuteData::ExecuteData()
                  *
undefined ExecuteData(ExecuteData * this)
*  AbilityDef_Client::ExecuteData::InitDefaults(bool)
             *
undefined InitDefaults(ExecuteData * this, bool param_1)
*  AbilityDef_Client::ExecuteData::ExecuteData()
                  *
undefined ExecuteData(ExecuteData * this)
*  AbilityDef_Client::ExecuteData::ExecuteData(AbilityDef_Client::ExecuteData const&)
         *
undefined ExecuteData(ExecuteData * this, ExecuteData * param_1)
*  AbilityDef_Client::ExecuteData::ExecuteData(AbilityDef_Client::ExecuteData const&)
         *
undefined ExecuteData(ExecuteData * this, ExecuteData * param_1)
*  AbilityDef_Client::ExecuteData::~ExecuteData()
                 *
undefined ~ExecuteData(ExecuteData * this)
*  AbilityDef_Client::ExecuteData::~ExecuteData()
                 *
undefined ~ExecuteData(ExecuteData * this)
*  AbilityDef_Client::ExecuteData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::ExecuteData const&)
*
undefined operator=(ExecuteData * this, ExecuteData * param_1)
*  AbilityDef_Client::ExecuteData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::ExecuteData const...*
undefined operator==(ExecuteData * this, ExecuteData * param_1)
*  AbilityDef_Client::ExecuteData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::ExecuteData const...*
undefined operator!=(ExecuteData * this, ExecuteData * param_1)
*  AbilityDef_Client::WaypointReachedData::WaypointReachedData()

undefined WaypointReachedData(WaypointReachedData * this)
*  AbilityDef_Client::WaypointReachedData::InitDefaults(bool)

undefined InitDefaults(bool param_1)
*  AbilityDef_Client::WaypointReachedData::WaypointReachedData()

undefined WaypointReachedData(WaypointReachedData * this)
*  AbilityDef_Client::WaypointReachedData::WaypointReachedData(AbilityDef_Client::WaypointReache...*
undefined WaypointReachedData(WaypointReachedData * this, WaypointReachedData * param_1)
*  AbilityDef_Client::WaypointReachedData::WaypointReachedData(AbilityDef_Client::WaypointReache...*
undefined WaypointReachedData(WaypointReachedData * this, WaypointReachedData * param_1)
*  AbilityDef_Client::WaypointReachedData::~WaypointReachedData()

undefined ~WaypointReachedData(WaypointReachedData * this)
*  AbilityDef_Client::WaypointReachedData::~WaypointReachedData()

undefined ~WaypointReachedData(WaypointReachedData * this)
*  AbilityDef_Client::WaypointReachedData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::WaypointR...*
undefined operator=(WaypointReachedData * this, WaypointReachedData * param_1)
*  AbilityDef_Client::WaypointReachedData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::WaypointR...*
undefined operator==(WaypointReachedData * this, WaypointReachedData * param_1)
*  AbilityDef_Client::WaypointReachedData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::WaypointR...*
undefined operator!=(WaypointReachedData * this, WaypointReachedData * param_1)
*  AbilityDef_Client::BonusType::BonusType()
*
undefined BonusType(BonusType * this)
*  AbilityDef_Client::BonusType::InitDefaults(bool)
               *
undefined InitDefaults(BonusType * this, bool param_1)
*  AbilityDef_Client::BonusType::BonusType()
                      *
undefined BonusType(BonusType * this)
*  AbilityDef_Client::BonusType::BonusType(AbilityDef_Client::BonusType const&)

undefined BonusType(BonusType * this, BonusType * param_1)
*  AbilityDef_Client::BonusType::BonusType(AbilityDef_Client::BonusType const&)

undefined BonusType(BonusType * this, BonusType * param_1)
*  AbilityDef_Client::BonusType::~BonusType()
                     *
undefined ~BonusType(BonusType * this)
*  AbilityDef_Client::BonusType::~BonusType()
                     *
undefined ~BonusType(BonusType * this)
*  AbilityDef_Client::BonusType::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::BonusType const&)
*
undefined operator=(BonusType * this, BonusType * param_1)
*  AbilityDef_Client::BonusType::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::BonusType const&) c...*
undefined operator==(BonusType * this, BonusType * param_1)
*  AbilityDef_Client::BonusType::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::BonusType const&) c...*
undefined operator!=(BonusType * this, BonusType * param_1)
*  AbilityDef_Client::AoETargetTypeData::AoETargetTypeData()
      *
undefined AoETargetTypeData(AoETargetTypeData * this)
*  AbilityDef_Client::AoETargetTypeData::InitDefaults(bool)
       *
undefined InitDefaults(bool param_1)
*  AbilityDef_Client::AoETargetTypeData::AoETargetTypeData()
      *
undefined AoETargetTypeData(AoETargetTypeData * this)
*  AbilityDef_Client::AoETargetTypeData::AoETargetTypeData(AbilityDef_Client::AoETargetTypeData ...*
undefined AoETargetTypeData(AoETargetTypeData * this, AoETargetTypeData * param_1)
*  AbilityDef_Client::AoETargetTypeData::AoETargetTypeData(AbilityDef_Client::AoETargetTypeData ...*
undefined AoETargetTypeData(AoETargetTypeData * this, AoETargetTypeData * param_1)
*  AbilityDef_Client::AoETargetTypeData::~AoETargetTypeData()
     *
undefined ~AoETargetTypeData(AoETargetTypeData * this)
*  AbilityDef_Client::AoETargetTypeData::~AoETargetTypeData()

undefined ~AoETargetTypeData(AoETargetTypeData * this)
*  AbilityDef_Client::AoETargetTypeData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::AoETargetTy...*
undefined operator=(AoETargetTypeData * this, AoETargetTypeData * param_1)
*  AbilityDef_Client::AoETargetTypeData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::AoETargetTy...*
undefined operator==(AoETargetTypeData * this, AoETargetTypeData * param_1)
*  AbilityDef_Client::AoETargetTypeData::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client::AoETargetTy...*
undefined operator!=(AoETargetTypeData * this, AoETargetTypeData * param_1)
*  AbilityDef_Client::AbilityDef_Client()
                         *
undefined AbilityDef_Client(AbilityDef_Client * this)
*  AbilityDef_Client::InitDefaults(bool)

undefined InitDefaults(AbilityDef_Client * this, bool param_1)
*  AbilityDef_Client::AbilityDef_Client()

undefined AbilityDef_Client(AbilityDef_Client * this)
*  AbilityDef_Client::AbilityDef_Client(AbilityDef_Client const&)
 *
undefined AbilityDef_Client(AbilityDef_Client * this, AbilityDef_Client * param_1)
*  AbilityDef_Client::ClearLinkType()

undefined ClearLinkType(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumLinkType(unsigned int)
            *
undefined ReserveNumLinkType(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearLinkNumber()

undefined ClearLinkNumber(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumLinkNumber(unsigned int)
          *
undefined ReserveNumLinkNumber(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearParameterArray()

undefined ClearParameterArray(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumParameterArray(unsigned int)
      *
undefined ReserveNumParameterArray(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearAbilityGroup()
                         *
undefined ClearAbilityGroup(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumAbilityGroup(unsigned int)
        *
undefined ReserveNumAbilityGroup(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearStatusLine()
*
undefined ClearStatusLine(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumStatusLine(unsigned int)
          *
undefined ReserveNumStatusLine(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearTooltipPreReqs()

undefined ClearTooltipPreReqs(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumTooltipPreReqs(unsigned int)
      *
undefined ReserveNumTooltipPreReqs(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearChainList()
*
undefined ClearChainList(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumChainList(unsigned int)

undefined ReserveNumChainList(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearDamageTypeDeathFxInfoOverride()
        *
undefined ClearDamageTypeDeathFxInfoOverride(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumDamageTypeDeathFxInfoOverride(unsigned int)

undefined ReserveNumDamageTypeDeathFxInfoOverride(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::ClearIgnoreBonusTypes()

undefined ClearIgnoreBonusTypes(AbilityDef_Client * this)
*  AbilityDef_Client::ReserveNumIgnoreBonusTypes(unsigned int)
    *
undefined ReserveNumIgnoreBonusTypes(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AbilityDef_Client(AbilityDef_Client const&)
 *
undefined AbilityDef_Client(AbilityDef_Client * this, AbilityDef_Client * param_1)
*  AbilityDef_Client::~AbilityDef_Client()
                        *
undefined ~AbilityDef_Client(AbilityDef_Client * this)
*  AbilityDef_Client::~AbilityDef_Client()
                        *
undefined ~AbilityDef_Client(AbilityDef_Client * this)
*  AbilityDef_Client::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client const&)

undefined operator=(AbilityDef_Client * this, AbilityDef_Client * param_1)
*  AbilityDef_Client::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client const&) const

undefined operator==(AbilityDef_Client * this, AbilityDef_Client * param_1)
*  AbilityDef_Client::TEMPNAMEPLACEHOLDERVALUE(AbilityDef_Client const&) const

undefined operator!=(AbilityDef_Client * this, AbilityDef_Client * param_1)
*  AbilityDef_Client::Set(BaseDef const*)
                         *
undefined Set(AbilityDef_Client * this, BaseDef * param_1)
*  AbilityDef_Client::AddLinkType(EsoGameDataEnums::EffectLinkType)
                           *
undefined AddLinkType(AbilityDef_Client * this, EffectLinkType param_1)
*  AbilityDef_Client::AddLinkType(EsoGameDataEnums::EffectLinkType const*, unsigned int)

undefined AddLinkType(AbilityDef_Client * this, EffectLinkType * param_1, uint param_2)
*  AbilityDef_Client::HasLinkType(EsoGameDataEnums::EffectLinkType) const

undefined HasLinkType(AbilityDef_Client * this, EffectLinkType param_1)
*  AbilityDef_Client::GetLinkType(unsigned int) const
             *
*  ##Review - due to branches this list may not be accurate
       *
undefined GetLinkType(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveLinkType(unsigned int)
                *
undefined RemoveLinkType(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddLinkNumber(unsigned int)
                 *
undefined AddLinkNumber(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddLinkNumber(unsigned int const*, unsigned int)
*
undefined AddLinkNumber(AbilityDef_Client * this, uint * param_1, uint param_2)
*  AbilityDef_Client::HasLinkNumber(unsigned int) const
           *
undefined HasLinkNumber(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::GetLinkNumber(unsigned int) const
           *
undefined GetLinkNumber(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveLinkNumber(unsigned int)
              *
undefined RemoveLinkNumber(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddParameterArray(unsigned int)
             *
undefined AddParameterArray(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddParameterArray(unsigned int const*, unsigned int)

undefined AddParameterArray(AbilityDef_Client * this, uint * param_1, uint param_2)
*  AbilityDef_Client::HasParameterArray(unsigned int) const
       *
undefined HasParameterArray(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::GetParameterArray(unsigned int) const
       *
undefined GetParameterArray(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveParameterArray(unsigned int)
          *
undefined RemoveParameterArray(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddAbilityGroup(unsigned int)
               *
undefined AddAbilityGroup(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddAbilityGroup(unsigned int const*, unsigned int)

undefined AddAbilityGroup(AbilityDef_Client * this, uint * param_1, uint param_2)
*  AbilityDef_Client::HasAbilityGroup(unsigned int) const
         *
undefined HasAbilityGroup(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::GetAbilityGroup(unsigned int) const
         *
undefined GetAbilityGroup(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveAbilityGroup(unsigned int)
            *
undefined RemoveAbilityGroup(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddStatusLine(unsigned int)
                 *
undefined AddStatusLine(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddStatusLine(unsigned int const*, unsigned int)
                        *
undefined AddStatusLine(AbilityDef_Client * this, uint * param_1, uint param_2)
*  AbilityDef_Client::HasStatusLine(unsigned int) const
           *
undefined HasStatusLine(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::GetStatusLine(unsigned int) const
           *
undefined GetStatusLine(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveStatusLine(unsigned int)
              *
undefined RemoveStatusLine(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddTooltipPreReqs(unsigned int)
             *
undefined AddTooltipPreReqs(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddTooltipPreReqs(unsigned int const*, unsigned int)

undefined AddTooltipPreReqs(AbilityDef_Client * this, uint * param_1, uint param_2)
*  AbilityDef_Client::HasTooltipPreReqs(unsigned int) const
       *
undefined HasTooltipPreReqs(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::GetTooltipPreReqs(unsigned int) const
       *
undefined GetTooltipPreReqs(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveTooltipPreReqs(unsigned int)
          *
undefined RemoveTooltipPreReqs(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddChainList(unsigned int)
                  *
undefined AddChainList(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddChainList(unsigned int const*, unsigned int)

undefined AddChainList(AbilityDef_Client * this, uint * param_1, uint param_2)
*  AbilityDef_Client::HasChainList(unsigned int) const
            *
undefined HasChainList(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::GetChainList(unsigned int) const
            *
undefined GetChainList(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::RemoveChainList(unsigned int)
               *
undefined RemoveChainList(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddDamageTypeDeathFxInfoOverride(AbilityDef_Client::DamageTypeDeathFxInfo ...*
undefined AddDamageTypeDeathFxInfoOverride(AbilityDef_Client * this, DamageTypeDeathFxInfo * param_1)
*  AbilityDef_Client::AddDamageTypeDeathFxInfoOverride(AbilityDef_Client::DamageTypeDeathFxInfo ...*
undefined AddDamageTypeDeathFxInfoOverride(AbilityDef_Client * this, DamageTypeDeathFxInfo * param_1, uint param_2)
*  AbilityDef_Client::RemoveDamageTypeDeathFxInfoOverride(unsigned int)

undefined RemoveDamageTypeDeathFxInfoOverride(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::AddIgnoreBonusTypes(AbilityDef_Client::BonusType const&)

undefined AddIgnoreBonusTypes(AbilityDef_Client * this, BonusType * param_1)
*  AbilityDef_Client::AddIgnoreBonusTypes(AbilityDef_Client::BonusType const*, unsigned int)

undefined AddIgnoreBonusTypes(AbilityDef_Client * this, BonusType * param_1, uint param_2)
*  AbilityDef_Client::RemoveIgnoreBonusTypes(unsigned int)
        *
undefined RemoveIgnoreBonusTypes(AbilityDef_Client * this, uint param_1)
*  AbilityDef_Client::CopyLinkedFrom(AbilityDef_Client const&)
    *
undefined CopyLinkedFrom(AbilityDef_Client * param_1)
*  AbilityDef_Client::GetReferenceHookups(AbilityDef_Client*, unsigned int*, unsigned int*, Base...*

Full Deserialization from binary with primitives types[edit]


// WARNING: Type propagation algorithm not settling
// WARNING: Could not reconcile some variable overlaps

uint AbilityDef_Client::DeserializeFromBinary(AbilityDef_Client *this,ZoReadBuffer *param_1,uint param_2,uint param_3,uint param_4)

{
    undefined8 uVar1;
    char cVar2;
    int iVar3;
    undefined4 uVar4;
    EffectLinkType EVar5;
    char *pcVar6;
    uint uVar7;
    uint uVar8;
    uint extraout_EDX;
    uint extraout_EDX_00;
    uint extraout_EDX_01;
    uint extraout_EDX_02;
    uint extraout_EDX_03;
    uint extraout_EDX_04;
    undefined4 in_register_00000014;
    uint uVar10;
    uint *puVar11;
    uint uStack124;
    undefined8 uStack120;
    uint uStack112;
    uint uStack108;
    uint uStack104;
    uint auStack100 [0xc];
    uint uStack52;
    uint *puVar9;
    
    uStack120 = CONCAT44(in_register_00000014,param_2);
    uStack52 = 0x0;
    uStack124 = 0x0;
    ZoReadBuffer::Read_uint32(param_1,&uStack124);
    if ((param_4 & 0x8) != 0x0) {
        ZoSpinLock<false>::Lock((ZoSpinLock<false> *)&BaseDef::s_scratchBufferSpinLock);
        pcVar6 = (char *)ZoWriteBuffer::GetBuffer((ZoWriteBuffer *)&BaseDef::s_scratchWriteBuffer);
        ZoReadBuffer::Read_compressedBuffer(param_1,pcVar6,DAT_10507629c);
        param_1 = (ZoReadBuffer *)&BaseDef::s_scratchReadBuffer;
        ZoBuffer::Reset((ZoBuffer *)&BaseDef::s_scratchReadBuffer);
    }
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x4);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_string(param_1,(ZoWritableStringBase *)&this->field_0x18);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
    uStack52 += iVar3;
    this->field_0x8 = (ushort)uStack104 & 0xfdf | this->field_0x8 & 0xf000;
    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
    uStack52 += iVar3;
    iVar3 = EsoGameDataEnums::DefLockStatusFromNumber(uStack104);
    this->field_0x8 = this->field_0x8 & 0x3fff | (ushort)(iVar3 << 0xe);
    iVar3 = ZoReadBuffer::Read_uint16(param_1,&this->field_0xa);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint64(param_1,&this->field_0x10);
    uStack52 += iVar3;
    if ((param_4 & 0x4) != 0x0) {
        iVar3 = ZoReadBuffer::Read_string(param_1,(ZoConstStringPointer *)&this->field_0x28);
        uStack52 += iVar3;
    }
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x38);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x3c);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_int32(param_1,&this->field_0x40);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_int32(param_1,&this->field_0x44);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x48);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
    uStack52 += iVar3;
    uVar4 = EsoGameDataEnums::AbilityTypeFromNumber(uStack104);
    this->field_0x4c = uVar4;
    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
    uStack52 += iVar3;
    uVar4 = EsoGameDataEnums::TargetTypeFromNumber(uStack104);
    this->field_0x50 = uVar4;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x54);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
    uStack52 += iVar3;
    uVar4 = EsoGameDataEnums::CCImmunityTypeFromNumber(uStack104);
    this->field_0x58 = uVar4;
    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
    uStack52 += iVar3;
    uVar4 = EsoGameDataEnums::CrimeEventFromNumber(uStack104);
    this->field_0x5c = uVar4;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x60);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x64);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x68);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x6c);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x70);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x74);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x78);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x7c);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x80);
    uStack52 += iVar3;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x84);
    uStack52 += iVar3;
    if ((uint)uStack120 - 0x1b7 < 0xc) {
        iVar3 = ZoReadBuffer::Read_bool(param_1,(bool *)&uStack104);
        uStack52 += iVar3;
    }
    else {
        if (0x1c2 < (uint)uStack120) {
            iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
            uStack52 += iVar3;
            uVar4 = EsoGameDataEnums::SprintBlockRuleFromNumber(uStack104);
            this->field_0x88 = uVar4;
        }
    }
    uVar10 = (uint)uStack120;
    uStack112 = param_4;
    if (0x1b6 < uVar10) {
        iVar3 = ZoReadBuffer::Read_bool(param_1,&this->field_0x8c);
        uStack52 += iVar3;
    }
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x1;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffffe;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x2;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffffd;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x4;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffffb;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x8;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffff7;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x10;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffffef;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x20;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffffdf;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x40;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffffbf;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x80;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffff7f;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x100;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffeff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x200;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffdff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x400;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffffbff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x800;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffff7ff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x1000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffefff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x2000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffdfff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x4000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffffbfff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x8000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffff7fff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x10000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffeffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x20000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffdffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x40000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfffbffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x80000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfff7ffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x100000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffefffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x200000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffdfffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x400000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xffbfffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x800000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xff7fffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x1000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfeffffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x2000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfdffffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x4000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xfbffffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x8000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xf7ffffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x10000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xefffffff;
    }
    this->field_0x90 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x90 | 0x20000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x90 & 0xdfffffff;
    }
    this->field_0x90 = uVar8;
    if (0x1be < uVar10) {
        puVar9 = &this->field_0x90;
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar8 = *puVar9 | 0x40000000;
        if ((char)uStack104 == '\0') {
            uVar8 = *puVar9 & 0xbfffffff;
        }
        *puVar9 = uVar8;
        if (uVar10 != 0x1bf) {
            iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
            uStack52 += iVar3;
            uVar8 = *puVar9 | 0x80000000;
            if ((char)uStack104 == '\0') {
                uVar8 = *puVar9 & 0x7fffffff;
            }
            *puVar9 = uVar8;
        }
    }
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x1;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffffe;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x2;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffffd;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x4;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffffb;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x8;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffff7;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x10;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffffef;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x20;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffffdf;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x40;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffffbf;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x80;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffff7f;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x100;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffeff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x200;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffdff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x400;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffffbff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x800;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffff7ff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x1000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffefff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x2000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffdfff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x4000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffffbfff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x8000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffff7fff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x10000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffeffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x20000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffdffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x40000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfffbffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x80000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfff7ffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x100000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffefffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x200000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffdfffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x400000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xffbfffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x800000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xff7fffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x1000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfeffffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x2000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfdffffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x4000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xfbffffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x8000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xf7ffffff;
    }
    this->field_0x94 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x94 | 0x10000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x94 & 0xefffffff;
    }
    this->field_0x94 = uVar8;
    if (0x1bb < uVar10) {
        puVar9 = &this->field_0x94;
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar10 = *puVar9 | 0x20000000;
        if ((char)uStack104 == '\0') {
            uVar10 = *puVar9 & 0xdfffffff;
        }
        *puVar9 = uVar10;
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar10 = *puVar9 | 0x40000000;
        if ((char)uStack104 == '\0') {
            uVar10 = *puVar9 & 0xbfffffff;
        }
        *puVar9 = uVar10;
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar10 = (uint)uStack120;
        uVar8 = *puVar9 | 0x80000000;
        if ((char)uStack104 == '\0') {
            uVar8 = *puVar9 & 0x7fffffff;
        }
        *puVar9 = uVar8;
    }
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x1;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffffe;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x2;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffffd;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x4;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffffb;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x8;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffff7;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x10;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffffef;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x20;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffffdf;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x40;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffffbf;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x80;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffff7f;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x100;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffeff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x200;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffdff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x400;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffffbff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x800;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffff7ff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x1000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffefff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x2000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffdfff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x4000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffffbfff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x8000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffff7fff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x10000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffeffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x20000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffdffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x40000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfffbffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x80000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfff7ffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x100000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffefffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x200000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffdfffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x400000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xffbfffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x800000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xff7fffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x1000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfeffffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x2000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfdffffff;
    }
    this->field_0x98 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x98 | 0x4000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x98 & 0xfbffffff;
    }
    this->field_0x98 = uVar8;
    if (0x1c3 < uVar10) {
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar8 = this->field_0x98;
        uVar10 = (uint)uStack120;
        uVar7 = uVar8 | 0x8000000;
        if ((char)uStack104 == '\0') {
            uVar7 = uVar8 & 0xf7ffffff;
        }
        this->field_0x98 = uVar7;
    }
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x1;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffffe;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x2;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffffd;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x4;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffffb;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x8;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffff7;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x10;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffffef;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x20;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffffdf;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x40;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffffbf;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x80;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffff7f;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x100;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffeff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x200;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffdff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x400;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffffbff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x800;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffff7ff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x1000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffefff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x2000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffdfff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x4000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffffbfff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x8000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffff7fff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x10000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffeffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x20000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffdffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x40000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfffbffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x80000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfff7ffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x100000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffefffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x200000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffdfffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x400000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xffbfffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x800000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xff7fffff;
    }
    this->field_0x9c = uVar8;
    if (uVar10 < 0x1c2) {
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
    }
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x1000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfeffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x2000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfdffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x4000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xfbffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x8000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xf7ffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x10000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xefffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x20000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xdfffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0x9c | 0x40000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0x9c & 0xbfffffff;
    }
    this->field_0x9c = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x1;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffffe;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x2;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffffd;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x4;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffffb;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x8;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffff7;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x10;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffffef;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x20;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffffdf;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x40;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffffbf;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x80;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffff7f;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x100;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffeff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x200;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffdff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x400;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffffbff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x800;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffff7ff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x1000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffefff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x2000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffdfff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x4000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffffbfff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x8000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffff7fff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x10000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffeffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x20000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffdffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x40000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfffbffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x80000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfff7ffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x100000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffefffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x200000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffdfffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x400000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xffbfffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x800000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xff7fffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x1000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfeffffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x2000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfdffffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x4000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xfbffffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x8000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xf7ffffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x10000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xefffffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x20000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xdfffffff;
    }
    this->field_0xa0 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa0 | 0x40000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa0 & 0xbfffffff;
    }
    this->field_0xa0 = uVar8;
    if (0x1b7 < uVar10) {
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar8 = this->field_0xa0;
        uVar10 = (uint)uStack120;
        uVar7 = uVar8 | 0x80000000;
        if ((char)uStack104 == '\0') {
            uVar7 = uVar8 & 0x7fffffff;
        }
        this->field_0xa0 = uVar7;
    }
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x1;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffffe;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x2;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffffd;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x4;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffffb;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x8;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffff7;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x10;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffffef;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x20;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffffdf;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x40;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffffbf;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x80;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffff7f;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x100;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffeff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x200;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffdff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x400;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffffbff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x800;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffff7ff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x1000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffefff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x2000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffdfff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x4000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffffbfff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x8000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffff7fff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x10000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffeffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x20000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffdffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x40000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfffbffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x80000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfff7ffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x100000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffefffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x200000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffdfffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x400000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xffbfffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x800000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xff7fffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x1000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfeffffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x2000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfdffffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x4000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xfbffffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x8000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xf7ffffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar8 = this->field_0xa4 | 0x10000000;
    if ((char)uStack104 == '\0') {
        uVar8 = this->field_0xa4 & 0xefffffff;
    }
    this->field_0xa4 = uVar8;
    iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
    uStack52 += iVar3;
    uVar7 = this->field_0xa4 & 0xdfffffff;
    puVar9 = (uint *)(ulong)uVar7;
    uVar8 = this->field_0xa4 | 0x20000000;
    if ((char)uStack104 == '\0') {
        uVar8 = uVar7;
    }
    this->field_0xa4 = uVar8;
    if (0x1b5 < uVar10) {
        puVar11 = &this->field_0xa4;
        iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
        uStack52 += iVar3;
        uVar7 = *puVar11 & 0xbfffffff;
        puVar9 = (uint *)(ulong)uVar7;
        uVar8 = *puVar11 | 0x40000000;
        if ((char)uStack104 == '\0') {
            uVar8 = uVar7;
        }
        *puVar11 = uVar8;
        if (0x1b8 < uVar10) {
            iVar3 = ZoReadBuffer::Read_uint8(param_1,(uchar *)&uStack104);
            uStack52 += iVar3;
            uVar8 = *puVar11 & 0x7fffffff;
            puVar9 = (uint *)(ulong)uVar8;
            uVar10 = *puVar11 | 0x80000000;
            if ((char)uStack104 == '\0') {
                uVar10 = uVar8;
            }
            *puVar11 = uVar10;
        }
    }
    uStack104 = 0x0;
    iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
    uStack52 += iVar3;
    AbilityDef_Client::ClearLinkType(this);
    uVar10 = uStack112;
    if (uStack104 < 0xb) {
        AbilityDef_Client::ReserveNumLinkType(this,uStack104);
        uVar10 = uStack112;
        if (uStack104 != 0x0) {
            uVar8 = 0x0;
            do {
                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack108);
                uStack52 += iVar3;
                EVar5 = EsoGameDataEnums::EffectLinkTypeFromNumber(uStack108);
                AbilityDef_Client::AddLinkType(this,EVar5);
                uVar8 += 0x1;
            } while (uVar8 < uStack104);
        }
        uStack104 = 0x0;
        iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
        uStack52 += iVar3;
        AbilityDef_Client::ClearLinkNumber(this);
        if (uStack104 < 0xb) {
            AbilityDef_Client::ReserveNumLinkNumber(this,uStack104);
            if (uStack104 != 0x0) {
                uVar8 = 0x0;
                do {
                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                    uStack52 += iVar3;
                    AbilityDef_Client::AddLinkNumber(this,uStack108);
                    uVar8 += 0x1;
                } while (uVar8 < uStack104);
            }
            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0xc8);
            uStack52 += iVar3;
            iVar3 = ZoReadBuffer::Read_int32(param_1,&this->field_0xcc);
            uStack52 += iVar3;
            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0xd0);
            uStack52 += iVar3;
            iVar3 = ZoReadBuffer::Read_int32(param_1,&this->field_0xd4);
            uStack52 += iVar3;
            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0xd8);
            uStack52 += iVar3;
            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0xdc);
            uStack52 += iVar3;
            uStack104 = 0x0;
            iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
            uStack52 += iVar3;
            AbilityDef_Client::ClearParameterArray(this);
            if (uStack104 < 0xb) {
                AbilityDef_Client::ReserveNumParameterArray(this,uStack104);
                if (uStack104 != 0x0) {
                    uVar10 = 0x0;
                    do {
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                        uStack52 += iVar3;
                        AbilityDef_Client::AddParameterArray(this,uStack108);
                        uVar10 += 0x1;
                    } while (uVar10 < uStack104);
                }
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0xf0);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                uStack52 += iVar3;
                uVar4 = EsoGameDataEnums::DefenseCheckTypeFromNumber(uStack104);
                this->field_0xf4 = uVar4;
                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                uStack52 += iVar3;
                uVar4 = EsoGameDataEnums::StatusEffectTypeFromNumber(uStack104);
                this->field_0xf8 = uVar4;
                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                uStack52 += iVar3;
                uVar4 = EsoGameDataEnums::StatusEffectModTypeFromNumber(uStack104);
                this->field_0xfc = uVar4;
                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                uStack52 += iVar3;
                uVar4 = EsoGameDataEnums::CombatMechanicTypeFromNumber(uStack104);
                this->field_0x100 = uVar4;
                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                uStack52 += iVar3;
                uVar4 = EsoGameDataEnums::DamageTypeFromNumber(uStack104);
                this->field_0x104 = uVar4;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x108);
                uStack52 += iVar3;
                AbilityDef_Client::CpStrTooltipTextHeader::CpStrTooltipTextHeader((CpStrTooltipTextHeader *)&uStack104);
                uVar10 = uStack112;
                cVar2 = AbilityDef_Client::CpStrTooltipTextHeader::DeserializeChildFromBinary
                                  ((CpStrTooltipTextHeader *)&uStack104,param_1,extraout_EDX,(uint)puVar9,&uStack52,uStack112);
                uVar1 = uStack120;
                if (cVar2 == '\0') {
                    if ((uVar10 & 0x8) != 0x0) {
                        BaseDef::s_scratchBufferSpinLock = 0x0;
                        ZoSpinLockProfiler::LockReleased((ZoAtomic *)&BaseDef::s_scratchBufferSpinLock);
                        if ((DAT_1050762f4 != 0x0) && (DAT_105076300 != '\0')) {
                            __stubs::_pthread_mutex_lock((pthread_mutex_t *)&DAT_105076338);
                            DAT_105076301 = 0x1;
                            __stubs::_pthread_cond_signal((pthread_cond_t *)&DAT_105076308);
                            __stubs::_pthread_mutex_unlock((pthread_mutex_t *)&DAT_105076338);
                        }
                    }
                    AbilityDef_Client::CpStrTooltipTextHeader::~CpStrTooltipTextHeader((CpStrTooltipTextHeader *)&uStack104);
                    return 0x0;
                }
                AbilityDef_Client::CpStrTooltipTextHeader::operator=
                          ((CpStrTooltipTextHeader *)&this->field_0x110,(CpStrTooltipTextHeader *)&uStack104);
                AbilityDef_Client::CpStrTooltipTextHeader::~CpStrTooltipTextHeader((CpStrTooltipTextHeader *)&uStack104);
                AbilityDef_Client::CpStrTooltipText::CpStrTooltipText((CpStrTooltipText *)&uStack104);
                cVar2 = AbilityDef_Client::CpStrTooltipText::DeserializeChildFromBinary
                                  ((CpStrTooltipText *)&uStack104,param_1,extraout_EDX_00,(uint)puVar9,&uStack52,uVar10);
                if (cVar2 == '\0') {
                    if ((uVar10 & 0x8) != 0x0) {
                        BaseDef::s_scratchBufferSpinLock = 0x0;
                        ZoSpinLockProfiler::LockReleased((ZoAtomic *)&BaseDef::s_scratchBufferSpinLock);
                        if ((DAT_1050762f4 != 0x0) && (DAT_105076300 != '\0')) {
                            __stubs::_pthread_mutex_lock((pthread_mutex_t *)&DAT_105076338);
                            DAT_105076301 = 0x1;
                            __stubs::_pthread_cond_signal((pthread_cond_t *)&DAT_105076308);
                            __stubs::_pthread_mutex_unlock((pthread_mutex_t *)&DAT_105076338);
                        }
                    }
                    AbilityDef_Client::CpStrTooltipText::~CpStrTooltipText((CpStrTooltipText *)&uStack104);
                    return 0x0;
                }
                AbilityDef_Client::CpStrTooltipText::operator=((CpStrTooltipText *)&this->field_0x140,(CpStrTooltipText *)&uStack104);
                AbilityDef_Client::CpStrTooltipText::~CpStrTooltipText((CpStrTooltipText *)&uStack104);
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x170);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x174);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x178);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x17c);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x180);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x184);
                uStack52 += iVar3;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x188);
                uStack52 += iVar3;
                if ((uint)uVar1 < 0x1be) {
                    puVar11 = &uStack104;
                }
                else {
                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                    uStack52 += iVar3;
                    uVar4 = EsoGameDataEnums::AbilityDurationDisplayTypeFromNumber(uStack104);
                    this->field_0x18c = uVar4;
                    puVar11 = &this->field_0x190;
                }
                iVar3 = ZoReadBuffer::Read_uint32(param_1,puVar11);
                uStack52 += iVar3;
                uStack104 = 0x0;
                iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
                uStack52 += iVar3;
                AbilityDef_Client::ClearAbilityGroup(this);
                if (uStack104 < 0xb) {
                    AbilityDef_Client::ReserveNumAbilityGroup(this,uStack104);
                    if (uStack104 != 0x0) {
                        uVar8 = 0x0;
                        do {
                            iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                            uStack52 += iVar3;
                            AbilityDef_Client::AddAbilityGroup(this,uStack108);
                            uVar8 += 0x1;
                        } while (uVar8 < uStack104);
                    }
                    uStack104 = 0x0;
                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
                    uStack52 += iVar3;
                    AbilityDef_Client::ClearStatusLine(this);
                    if (uStack104 < 0xb) {
                        AbilityDef_Client::ReserveNumStatusLine(this,uStack104);
                        if (uStack104 != 0x0) {
                            uVar8 = 0x0;
                            do {
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                                uStack52 += iVar3;
                                AbilityDef_Client::AddStatusLine(this,uStack108);
                                uVar8 += 0x1;
                            } while (uVar8 < uStack104);
                        }
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x1b8);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x1bc);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::BonusTargetTypeFromNumber(uStack104);
                        this->field_0x1c0 = uVar4;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x1c4);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x1c8);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x1cc);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x1d0);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x1d4);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::AbilityUseEquipSlotFromNumber(uStack104);
                        this->field_0x1d8 = uVar4;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::MoveCastingRateFromNumber(uStack104);
                        this->field_0x1dc = uVar4;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::DerivedStatsFromNumber(uStack104);
                        this->field_0x1e0 = uVar4;
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x1e4);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::DerivedStatsFromNumber(uStack104);
                        this->field_0x1e8 = uVar4;
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x1ec);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::DerivedStatsFromNumber(uStack104);
                        this->field_0x1f0 = uVar4;
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x1f4);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::DerivedStatsFromNumber(uStack104);
                        this->field_0x1f8 = uVar4;
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x1fc);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x200);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x204);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x208);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x20c);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                        uStack52 += iVar3;
                        uVar4 = EsoGameDataEnums::AbilitySourceFromNumber(uStack104);
                        this->field_0x210 = uVar4;
                        iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x214);
                        uStack52 += iVar3;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x218);
                        uStack52 += iVar3;
                        uStack104 = 0x0;
                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
                        uStack52 += iVar3;
                        AbilityDef_Client::ClearTooltipPreReqs(this);
                        if (uStack104 < 0x4) {
                            AbilityDef_Client::ReserveNumTooltipPreReqs(this,uStack104);
                            if (uStack104 != 0x0) {
                                uVar10 = 0x0;
                                do {
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                                    uStack52 += iVar3;
                                    AbilityDef_Client::AddTooltipPreReqs(this,uStack108);
                                    uVar10 += 0x1;
                                } while (uVar10 < uStack104);
                            }
                            iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                            uStack52 += iVar3;
                            uVar4 = EsoGameDataEnums::TargetValidTypeFromNumber(uStack104);
                            this->field_0x230 = uVar4;
                            iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x234);
                            uStack52 += iVar3;
                            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x238);
                            uStack52 += iVar3;
                            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x23c);
                            uStack52 += iVar3;
                            uStack104 = 0x0;
                            iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
                            uStack52 += iVar3;
                            AbilityDef_Client::ClearChainList(this);
                            uVar10 = uStack112;
                            if (uStack104 < 0x4) {
                                AbilityDef_Client::ReserveNumChainList(this,uStack104);
                                if (uStack104 != 0x0) {
                                    uVar10 = 0x0;
                                    do {
                                        iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                                        uStack52 += iVar3;
                                        AbilityDef_Client::AddChainList(this,uStack108);
                                        uVar10 += 0x1;
                                    } while (uVar10 < uStack104);
                                }
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x250);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x254);
                                uStack52 += iVar3;
                                AbilityDef_Client::CpStrUpgradeTooltipText::CpStrUpgradeTooltipText((CpStrUpgradeTooltipText *)&uStack104);
                                uVar10 = uStack112;
                                cVar2 = AbilityDef_Client::CpStrUpgradeTooltipText::DeserializeChildFromBinary
                                                  ((CpStrUpgradeTooltipText *)&uStack104,param_1,extraout_EDX_01,(uint)puVar9,&uStack52,
                                                   uStack112);
                                if (cVar2 == '\0') {
                                    if ((uVar10 & 0x8) != 0x0) {
                                        BaseDef::s_scratchBufferSpinLock = 0x0;
                                        ZoSpinLockProfiler::LockReleased((ZoAtomic *)&BaseDef::s_scratchBufferSpinLock);
                                        if ((DAT_1050762f4 != 0x0) && (DAT_105076300 != '\0')) {
                                            __stubs::_pthread_mutex_lock((pthread_mutex_t *)&DAT_105076338);
                                            DAT_105076301 = 0x1;
                                            __stubs::_pthread_cond_signal((pthread_cond_t *)&DAT_105076308);
                                            __stubs::_pthread_mutex_unlock((pthread_mutex_t *)&DAT_105076338);
                                        }
                                    }
                                    AbilityDef_Client::CpStrUpgradeTooltipText::~CpStrUpgradeTooltipText
                                              ((CpStrUpgradeTooltipText *)&uStack104);
                                    return 0x0;
                                }
                                AbilityDef_Client::CpStrUpgradeTooltipText::operator=
                                          ((CpStrUpgradeTooltipText *)&this->field_0x258,(CpStrUpgradeTooltipText *)&uStack104);
                                AbilityDef_Client::CpStrUpgradeTooltipText::~CpStrUpgradeTooltipText((CpStrUpgradeTooltipText *)&uStack104);
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x288);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x28c);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x290);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::InterruptTypeFromNumber(uStack104);
                                this->field_0x294 = uVar4;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x298);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x29c);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2a0);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2a4);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::TargetValidTypeFromNumber(uStack104);
                                this->field_0x2a8 = uVar4;
                                AbilityDef_Client::CpStrEffectTooltipText::CpStrEffectTooltipText((CpStrEffectTooltipText *)&uStack104);
                                uVar10 = uStack112;
                                cVar2 = AbilityDef_Client::CpStrEffectTooltipText::DeserializeChildFromBinary
                                                  ((CpStrEffectTooltipText *)&uStack104,param_1,extraout_EDX_02,(uint)puVar9,&uStack52,
                                                   uStack112);
                                if (cVar2 == '\0') {
                                    if ((uVar10 & 0x8) != 0x0) {
                                        BaseDef::s_scratchBufferSpinLock = 0x0;
                                        ZoSpinLockProfiler::LockReleased((ZoAtomic *)&BaseDef::s_scratchBufferSpinLock);
                                        if ((DAT_1050762f4 != 0x0) && (DAT_105076300 != '\0')) {
                                            __stubs::_pthread_mutex_lock((pthread_mutex_t *)&DAT_105076338);
                                            DAT_105076301 = 0x1;
                                            __stubs::_pthread_cond_signal((pthread_cond_t *)&DAT_105076308);
                                            __stubs::_pthread_mutex_unlock((pthread_mutex_t *)&DAT_105076338);
                                        }
                                    }
                                    AbilityDef_Client::CpStrEffectTooltipText::~CpStrEffectTooltipText((CpStrEffectTooltipText *)&uStack104)
                                    ;
                                    return 0x0;
                                }
                                AbilityDef_Client::CpStrEffectTooltipText::operator=
                                          ((CpStrEffectTooltipText *)&this->field_0x2b0,(CpStrEffectTooltipText *)&uStack104);
                                AbilityDef_Client::CpStrEffectTooltipText::~CpStrEffectTooltipText((CpStrEffectTooltipText *)&uStack104);
                                iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x2e0);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::ActionSlotTypeFromNumber(uStack104);
                                this->field_0x2e4 = uVar4;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2e8);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2ec);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2f0);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2f4);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x2f8);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::CostTypesFromNumber(uStack104);
                                this->field_0x2fc = uVar4;
                                iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x300);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x304);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::VisibilityCheckTypeFromNumber(uStack104);
                                this->field_0x308 = uVar4;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x30c);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x310);
                                uStack52 += iVar3;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::MountedCastTypeFromNumber(uStack104);
                                this->field_0x314 = uVar4;
                                iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                uStack52 += iVar3;
                                uVar4 = EsoGameDataEnums::UnitAttributeVisualFromNumber(uStack104);
                                this->field_0x318 = uVar4;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x31c);
                                uStack52 += iVar3;
                                uStack108 = 0x0;
                                iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                                uStack52 += iVar3;
                                AbilityDef_Client::ClearDamageTypeDeathFxInfoOverride(this);
                                if (uStack108 < 0x6) {
                                    AbilityDef_Client::ReserveNumDamageTypeDeathFxInfoOverride(this,uStack108);
                                    if (uStack108 != 0x0) {
                                        uVar10 = 0x0;
                                        do {
                                            AbilityDef_Client::DamageTypeDeathFxInfo::DamageTypeDeathFxInfo
                                                      ((DamageTypeDeathFxInfo *)&uStack104);
                                            iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack104);
                                            uStack52 += iVar3;
                                            iVar3 = ZoReadBuffer::Read_uint32(param_1,auStack100);
                                            uStack52 += iVar3;
                                            AbilityDef_Client::AddDamageTypeDeathFxInfoOverride(this,(DamageTypeDeathFxInfo *)&uStack104);
                                            AbilityDef_Client::DamageTypeDeathFxInfo::~DamageTypeDeathFxInfo
                                                      ((DamageTypeDeathFxInfo *)&uStack104);
                                            uVar10 += 0x1;
                                        } while (uVar10 < uStack108);
                                    }
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::DefaultAlwaysNeverFromNumber(uStack104);
                                    this->field_0x330 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x334);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::SheatheWeaponOptionFromNumber(uStack104);
                                    this->field_0x338 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x33c);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x340);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::AdditionalTelegraphTypeFromNumber(uStack104);
                                    this->field_0x344 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::BuffTypeFromNumber(uStack104);
                                    this->field_0x348 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x34c);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::GroundTargetTypeFromNumber(uStack104);
                                    this->field_0x350 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x354);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::BonusRulesTypeFromNumber(uStack104);
                                    this->field_0x358 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x35c);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x360);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::TutorialTriggerFromNumber(uStack104);
                                    this->field_0x364 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                    uStack52 += iVar3;
                                    uVar4 = EsoGameDataEnums::WeaponConfigTypeFromNumber(uStack104);
                                    this->field_0x368 = uVar4;
                                    iVar3 = ZoReadBuffer::Read_float(param_1,&this->field_0x36c);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x370);
                                    uStack52 += iVar3;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x374);
                                    uStack52 += iVar3;
                                    AbilityDef_Client::ExecuteData::ExecuteData((ExecuteData *)&uStack104);
                                    AbilityDef_Client::ExecuteData::DeserializeChildFromBinary
                                              ((ZoReadBuffer *)&uStack104,(uint)param_1,extraout_EDX_03,puVar9,
                                               (int)register0x00000020 - 0x34);
                                    AbilityDef_Client::ExecuteData::operator=((ExecuteData *)&this->field_0x378,(ExecuteData *)&uStack104);
                                    AbilityDef_Client::ExecuteData::~ExecuteData((ExecuteData *)&uStack104);
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x384);
                                    uStack52 += iVar3;
                                    uStack108 = 0x0;
                                    iVar3 = ZoReadBuffer::Read_uint32(param_1,&uStack108);
                                    uStack52 += iVar3;
                                    AbilityDef_Client::ClearIgnoreBonusTypes(this);
                                    uVar10 = uStack112;
                                    if (uStack108 < 0x6) {
                                        AbilityDef_Client::ReserveNumIgnoreBonusTypes(this,uStack108);
                                        if (uStack108 != 0x0) {
                                            uVar10 = 0x0;
                                            do {
                                                AbilityDef_Client::BonusType::BonusType((BonusType *)&uStack104);
                                                AbilityDef_Client::BonusType::DeserializeChildFromBinary
                                                          ((ZoReadBuffer *)&uStack104,(uint)param_1,extraout_EDX_04,puVar9,
                                                           (int)register0x00000020 - 0x34);
                                                AbilityDef_Client::AddIgnoreBonusTypes(this,(BonusType *)&uStack104);
                                                AbilityDef_Client::BonusType::~BonusType((BonusType *)&uStack104);
                                                uVar10 += 0x1;
                                            } while (uVar10 < uStack108);
                                        }
                                        iVar3 = ZoReadBuffer::Read_int32(param_1,(int *)&uStack104);
                                        uStack52 += iVar3;
                                        uVar4 = EsoGameDataEnums::CCImmunityVisualsFromNumber(uStack104);
                                        this->field_0x398 = uVar4;
                                        if (0x1c4 < (uint)uStack120) {
                                            iVar3 = ZoReadBuffer::Read_uint32(param_1,&this->field_0x39c);
                                            uStack52 += iVar3;
                                        }
                                        if ((uStack112 & 0x8) != 0x0) {
                                            BaseDef::s_scratchBufferSpinLock = 0x0;
                                            ZoSpinLockProfiler::LockReleased((ZoAtomic *)&BaseDef::s_scratchBufferSpinLock);
                                            if ((DAT_1050762f4 != 0x0) && (DAT_105076300 != '\0')) {
                                                __stubs::_pthread_mutex_lock((pthread_mutex_t *)&DAT_105076338);
                                                DAT_105076301 = 0x1;
                                                __stubs::_pthread_cond_signal((pthread_cond_t *)&DAT_105076308);
                                                __stubs::_pthread_mutex_unlock((pthread_mutex_t *)&DAT_105076338);
                                            }
                                        }
                                        return uStack124 & 0xffffff00 | (uint)(uStack124 == uStack52);
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    if ((uVar10 & 0x8) != 0x0) {
        BaseDef::s_scratchBufferSpinLock = 0x0;
        ZoSpinLockProfiler::LockReleased((ZoAtomic *)&BaseDef::s_scratchBufferSpinLock);
        if ((DAT_1050762f4 != 0x0) && (DAT_105076300 != '\0')) {
            __stubs::_pthread_mutex_lock((pthread_mutex_t *)&DAT_105076338);
            DAT_105076301 = 0x1;
            __stubs::_pthread_cond_signal((pthread_cond_t *)&DAT_105076308);
            __stubs::_pthread_mutex_unlock((pthread_mutex_t *)&DAT_105076338);
        }
    }
    return 0x0;
}



Khemael (talk) 13:52, 21 March 2021 (UTC)