- int __thiscall sub_6A66D0(void *this, int a2, int a3)
- {
- int v3; // edi@1
- void *v4; // esi@1
- unsigned __int8 v5; // al@1
- unsigned int v6; // ecx@1
- unsigned int v7; // ecx@1
- unsigned int v8; // ecx@1
- unsigned int v9; // ecx@1
- unsigned int v10; // ecx@1
- int result; // eax@13
- unsigned __int8 v12; // [sp+Fh] [bp-1h]@1
- v3 = a2;
- v4 = this;
- v12 = 0;
- CDataStore::GetInt8(a2, (int)&v12);
- v5 = v12;
- *((_BYTE *)v4 + 16) = (unsigned int)v12 >> 7;
- v5 *= 2;
- *((_BYTE *)v4 + 19) = (unsigned int)v5 >> 7;
- v5 *= 2;
- v6 = (unsigned int)v5 >> 7;
- v5 *= 2;
- *((_BYTE *)v4 + 22) = v6;
- v7 = (unsigned int)v5 >> 7;
- v5 *= 2;
- *((_BYTE *)v4 + 23) = v7;
- v8 = (unsigned int)v5 >> 7;
- v5 *= 2;
- *((_BYTE *)v4 + 18) = v8;
- v9 = (unsigned int)v5 >> 7;
- v5 *= 2;
- *((_BYTE *)v4 + 21) = v9;
- v10 = (unsigned int)v5 >> 7;
- *((_BYTE *)v4 + 17) = v10;
- *((_BYTE *)v4 + 20) = (unsigned __int8)(2 * v5) >> 7;
- if ( (_BYTE)v10 )
- {
- BYTE3(a2) = 0;
- CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 17) ^= BYTE3(a2);
- }
- a2 = 0;
- CDataStore::GetFloat(&a2);
- *((_DWORD *)v4 + 10) = a2;
- a2 = 0;
- CDataStore::GetInt32(&a2);
- *((_DWORD *)v4 + 7) = a2;
- if ( *((_BYTE *)v4 + 22) )
- {
- BYTE3(a2) = 0;
- CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 22) ^= BYTE3(a2);
- }
- if ( *((_BYTE *)v4 + 23) )
- {
- BYTE3(a2) = 0;
- CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 23) ^= BYTE3(a2);
- }
- a2 = 0;
- CDataStore::GetFloat(&a2);
- *((_DWORD *)v4 + 6) = a2;
- if ( *((_BYTE *)v4 + 20) )
- {
- BYTE3(a2) = 0;
- CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 20) ^= BYTE3(a2);
- }
- if ( *((_BYTE *)v4 + 21) )
- {
- BYTE3(a2) = 0;
- CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 21) ^= BYTE3(a2);
- }
- if ( *((_BYTE *)v4 + 19) )
- {
- BYTE3(a2) = 0;
- CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 19) ^= BYTE3(a2);
- }
- a2 = 0;
- CDataStore::GetFloat(&a2);
- *((_DWORD *)v4 + 8) = a2;
- a2 = 0;
- result = CDataStore::GetFloat(&a2);
- *((_DWORD *)v4 + 9) = a2;
- if ( *((_BYTE *)v4 + 18) )
- {
- BYTE3(a2) = 0;
- result = CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 18) ^= BYTE3(a2);
- }
- if ( *((_BYTE *)v4 + 16) )
- {
- BYTE3(a2) = 0;
- result = CDataStore::GetInt8(v3, (int)((char *)&a2 + 3));
- *((_BYTE *)v4 + 16) ^= BYTE3(a2);
- }
- return result;
- }