- unsigned int __thiscall sub_710880(CDataStore *this, int a2)
- {
- char v3; // cl@1
- CDataStore *v4; // ecx@2
- unsigned int v5; // eax@2
- unsigned int v6; // esi@3
- CDataStore *v7; // ecx@3
- int v9; // [sp+Ah] [bp-6h]@0
- unsigned __int8 v10; // [sp+Eh] [bp-2h]@3
- unsigned __int8 v11; // [sp+Fh] [bp-1h]@2
- v3 = BYTE1(this->m_buffer);
- if ( v3 == 8 )
- {
- v11 = 0;
- CDataStore::GetInt8(this, (int)&v11);
- v5 = v11;
- }
- else
- {
- v6 = (unsigned int)LOBYTE(this->m_buffer) >> v3;
- v10 = 0;
- CDataStore::GetInt8(this, (int)&v10);
- v5 = (v6 << BYTE1(this->m_buffer)) | ((unsigned int)v10 >> (8 - BYTE1(this->m_buffer)));
- LOBYTE(this->m_buffer) = v10 << BYTE1(this->m_buffer);
- }
- LOBYTE(v9) = 0;
- return 8 * v5 | sub_70A470(this, v9);
- }
- unsigned int __thiscall sub_70A470(CDataStore *this, int a2)
- {
- unsigned __int8 v3; // cl@1
- unsigned __int8 v4; // dl@2
- unsigned int result; // eax@2
- unsigned int v6; // edi@5
- unsigned __int8 v7; // bl@5
- char v8; // dl@5
- unsigned int v9; // eax@5
- char v10; // cl@5
- unsigned __int8 v11; // [sp+7h] [bp-1h]@3
- v3 = BYTE1(this->m_buffer);
- if ( v3 > 5u )
- {
- v11 = 0;
- if ( v3 == 8 )
- {
- CDataStore::GetInt8(this, (int)&v11);
- result = (unsigned int)v11 >> 5;
- LOBYTE(this->m_buffer) = 8 * v11;
- BYTE1(this->m_buffer) = 3;
- }
- else
- {
- v6 = (unsigned int)LOBYTE(this->m_buffer) >> v3;
- CDataStore::GetInt8(this, (int)&v11);
- v7 = v11;
- v8 = BYTE1(this->m_buffer) - 5;
- v9 = (unsigned int)v11 >> (8 - v8);
- v10 = BYTE1(this->m_buffer) - 5;
- BYTE1(this->m_buffer) = v8;
- result = (v6 << v10) | v9;
- LOBYTE(this->m_buffer) = v7 << v10;
- }
- }
- else
- {
- v4 = LOBYTE(this->m_buffer);
- result = (unsigned int)v4 >> 5;
- LOBYTE(this->m_buffer) = 8 * v4;
- BYTE1(this->m_buffer) = v3 + 3;
- }
- return result;
- }