- unsigned int __thiscall sub_744280(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 16 * v5 | sub_725A90(this, v9);
- }
- unsigned int __thiscall sub_725A90(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 > 4u )
- {
- v11 = 0;
- if ( v3 == 8 )
- {
- CDataStore::GetInt8(this, (int)&v11);
- result = (unsigned int)v11 >> 4;
- LOBYTE(this->m_buffer) = 16 * v11;
- BYTE1(this->m_buffer) = 4;
- }
- else
- {
- v6 = (unsigned int)LOBYTE(this->m_buffer) >> v3;
- CDataStore::GetInt8(this, (int)&v11);
- v7 = v11;
- v8 = BYTE1(this->m_buffer) - 4;
- v9 = (unsigned int)v11 >> (8 - v8);
- v10 = BYTE1(this->m_buffer) - 4;
- 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 >> 4;
- LOBYTE(this->m_buffer) = 16 * v4;
- BYTE1(this->m_buffer) = v3 + 4;
- }
- return result;
- }