Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- signed int __fastcall Aska::IdxBufComp::DecompressIndexBuffer(Aska::IdxBufComp *this, const void *a2, unsigned __int8 *a3, unsigned int a4, unsigned int a5)
- {
- Aska::IdxBufComp *v5; // r6
- unsigned int v6; // r4
- unsigned __int8 *v7; // r5
- _WORD *v8; // r8
- unsigned int v9; // r0
- unsigned int v10; // r6
- __int16 v11; // r0
- signed int v12; // r5
- unsigned int v13; // r6
- unsigned int v14; // r4
- unsigned int v15; // r5
- unsigned __int16 v16; // r0
- _WORD *v17; // r10
- _WORD *v18; // r7
- int v19; // r8
- __int16 v20; // r9
- unsigned int v21; // r9
- __int16 v22; // r0
- _WORD *v23; // r1
- unsigned int v25; // [sp+4h] [bp-4h]
- char v26; // [sp+8h] [bp+0h]
- v5 = this;
- v6 = a4;
- v7 = a3;
- v8 = a2;
- Aska::BitStreamReader::BitStreamReader((Aska::BitStreamReader *)&v26);
- Aska::BitStreamReader::SetBuffer((Aska::BitStreamReader *)&v26, (const void *)v5, (unsigned int)v7);
- v9 = Aska::BitStreamReader::ReadUnsignedInt((Aska::BitStreamReader *)&v26, 0x20u);
- v10 = v9;
- v25 = v9;
- v11 = Aska::BitStreamReader::ReadUnsignedInt((Aska::BitStreamReader *)&v26, 0x10u);
- v12 = 0;
- if ( v6 >> 1 )
- {
- *v8 = v11;
- if ( v10 < 2 )
- {
- LABEL_17:
- v12 = 1;
- }
- else
- {
- v13 = v6 >> 1;
- v14 = 3;
- v15 = 1;
- while ( 1 )
- {
- v16 = Aska::BitStreamReader::ReadUnsignedInt((Aska::BitStreamReader *)&v26, 0x10u);
- if ( v16 )
- break;
- v18 = v8;
- LABEL_10:
- if ( v14 < 5 )
- {
- v8 = v18;
- v21 = v25;
- }
- else
- {
- v21 = v25;
- v8 = v18;
- if ( v15 < v25 )
- {
- if ( v15 >= v13 )
- {
- v12 = 0;
- goto LABEL_19;
- }
- v22 = Aska::BitStreamReader::ReadUnsignedInt((Aska::BitStreamReader *)&v26, 0x10u);
- v23 = &v18[v15++];
- v14 = 2;
- *v23 = v22;
- }
- }
- if ( ++v14 > 0x1F || v15 >= v21 )
- goto LABEL_17;
- }
- v17 = &v8[v15];
- v18 = v8;
- v19 = -v16;
- while ( v15 < v13 )
- {
- v20 = *(v17 - 1);
- *v17 = Aska::BitStreamReader::ReadSignedInt((Aska::BitStreamReader *)&v26, v14) + v20;
- ++v17;
- ++v19;
- ++v15;
- if ( !v19 )
- goto LABEL_10;
- }
- v12 = 0;
- }
- }
- LABEL_19:
- Aska::BitStreamReader::~BitStreamReader((Aska::BitStreamReader *)&v26);
- return v12;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement