Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- char __thiscall sub_14D3FB1(char *this, _DWORD *a2)
- {
- char *v2; // ebx
- char *v3; // esi
- signed int v4; // edi
- _BYTE *v5; // esi
- signed int v6; // edi
- unsigned int v7; // esi
- _BYTE *v8; // esi
- char v9; // al
- char v10; // al
- char v11; // al
- char v12; // al
- char v13; // al
- char v14; // al
- char result; // al
- unsigned int v16; // esi
- _DWORD *v17; // [esp+Ch] [ebp-Ch]
- __int16 v18; // [esp+10h] [ebp-8h]
- int v19; // [esp+14h] [ebp-4h]
- v2 = this;
- v3 = this + 40;
- v4 = 19;
- do
- {
- CDataStore::WriteByte(a2, v3[1]);
- CDataStore::WriteByte(a2, *v3);
- v3 += 16;
- --v4;
- }
- while ( v4 );
- v18 = 0;
- v17 = a2;
- v5 = v2 + 33;
- v6 = 19;
- do
- {
- CDataStore::WriteBit(&v17, v5[2] != 0);
- CDataStore::WriteBit(&v17, *v5 != 0);
- CDataStore::WriteBit(&v17, v5[6] != 0);
- CDataStore::WriteBit(&v17, v5[3] != 0);
- CDataStore::WriteBit(&v17, v5[4] != 0);
- CDataStore::WriteBit(&v17, v5[5] != 0);
- CDataStore::WriteBit(&v17, *(v5 - 1) != 0);
- CDataStore::WriteBit(&v17, v5[1] != 0);
- v5 += 16;
- --v6;
- }
- while ( v6 );
- LOBYTE(v19) = 0;
- WriteBits2(&v17, *(v2 + 4), v19);
- v7 = 0;
- if ( *(v2 + 4) )
- {
- do
- {
- CDataStore::WriteBit(&v17, *(*(v2 + 5) + 2 * v7) == 0);
- CDataStore::WriteBit(&v17, *(*(v2 + 5) + 2 * v7++ + 1) == 0);
- }
- while ( v7 < *(v2 + 4) );
- }
- ResetBitsReader(&v17);
- v8 = v2 + 39;
- v19 = 19;
- do
- {
- v9 = *(v8 - 3);
- if ( v9 )
- CDataStore::WriteByte(a2, v9 ^ 1);
- if ( *v8 )
- CDataStore::WriteByte(a2, *v8 ^ 1);
- v10 = *(v8 - 7);
- if ( v10 )
- CDataStore::WriteByte(a2, v10 ^ 1);
- v11 = *(v8 - 4);
- if ( v11 )
- CDataStore::WriteByte(a2, v11 ^ 1);
- v12 = *(v8 - 5);
- if ( v12 )
- CDataStore::WriteByte(a2, v12 ^ 1);
- v13 = *(v8 - 2);
- if ( v13 )
- CDataStore::WriteByte(a2, v13 ^ 1);
- v14 = *(v8 - 6);
- if ( v14 )
- CDataStore::WriteByte(a2, v14 ^ 1);
- result = *(v8 - 1);
- if ( result )
- result = CDataStore::WriteByte(a2, result ^ 1);
- v8 += 16;
- --v19;
- }
- while ( v19 );
- v16 = 0;
- if ( *(v2 + 4) )
- {
- do
- {
- if ( *(*(v2 + 5) + 2 * v16) )
- CDataStore::WriteByte(a2, *(*(v2 + 5) + 2 * v16));
- result = *(*(v2 + 5) + 2 * v16 + 1);
- if ( result )
- result = CDataStore::WriteByte(a2, *(*(v2 + 5) + 2 * v16 + 1));
- ++v16;
- }
- while ( v16 < *(v2 + 4) );
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement