Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __fastcall Cryptography__DecryptBytes(int a1, int a2, int a3) //a2 = data byte[] , a3 = key byte[]
- {
- int v3; // r4
- int v4; // r6
- signed int v5; // r7
- int v6; // r5
- signed int v7; // r0
- unsigned int v8; // r8
- unsigned int v9; // r9
- int v10; // r0
- int v11; // r10
- int v12; // r0
- char v13; // r5
- int v14; // r0
- int v15; // r0
- int v16; // r0
- bool v17; // nf
- unsigned __int8 v18; // vf
- int v20; // [sp+0h] [bp-30h]
- int v21; // [sp+4h] [bp-2Ch]
- int v22; // [sp+8h] [bp-28h]
- signed int v23; // [sp+Ch] [bp-24h]
- int v24; // [sp+10h] [bp-20h]
- v3 = a2;
- v20 = a2;
- if ( !a3 )
- {
- ((void (__fastcall *)(_DWORD))loc_1DBC304)(0); //Initialize
- a3 = 0;
- }
- v21 = v3 + 16;
- v4 = a3 + 16;
- v22 = a3;
- v5 = 0;
- v23 = *(_DWORD *)(a3 + 12);
- v6 = 0;
- while ( 1 )
- {
- if ( !v3 )
- ((void (__fastcall *)(_DWORD))loc_1DBC304)(0); //Initialize
- v7 = *(_DWORD *)(v3 + 12);
- if ( v5 >= v7 )
- break;
- if ( v23 >= 1 )
- {
- v8 = 0;
- if ( v5 < v7 )
- {
- do
- {
- v9 = v5 + v8;
- v24 = v6;
- if ( v7 <= v5 + v8 )
- {
- v10 = sub_1DBD1E4(); //IndexOutOfRangeException
- ((void (__fastcall *)(int, _DWORD, _DWORD))loc_1DBC270)(v10, 0, 0);
- }
- v11 = v21 + v8;
- v12 = v22;
- v13 = *(_BYTE *)(v21 + v8 + v5);
- if ( !v22 )
- {
- ((void (__fastcall *)(_DWORD))loc_1DBC304)(0);
- v12 = v22;
- v3 = v20;
- }
- if ( *(_DWORD *)(v12 + 12) <= v8 )
- {
- v14 = sub_1DBD1E4(); //IndexOutOfRangeException
- ((void (__fastcall *)(int, _DWORD, _DWORD))loc_1DBC270)(v14, 0, 0);
- }
- *(_BYTE *)(v11 + v5) = *(_BYTE *)(v4 + v8) ^ v13;
- if ( !v3 )
- ((void (__fastcall *)(_DWORD))loc_1DBC304)(0);
- if ( *(_DWORD *)(v3 + 12) <= v9 )
- {
- v15 = sub_1DBD1E4();
- ((void (__fastcall *)(int, _DWORD, _DWORD))loc_1DBC270)(v15, 0, 0);
- }
- v6 = *(unsigned __int8 *)(v11 + v5) ^ v24;
- *(_BYTE *)(v11 + v5) = v6;
- if ( *(_DWORD *)(v3 + 12) <= v9 )
- {
- v16 = sub_1DBD1E4();
- ((void (__fastcall *)(int, _DWORD, _DWORD))loc_1DBC270)(v16, 0, 0);
- v6 = *(unsigned __int8 *)(v11 + v5);
- }
- v7 = v23;
- v18 = __OFSUB__(++v8, v23);
- v17 = (signed int)(v8 - v23) < 0;
- if ( (signed int)v8 < v23 )
- {
- v7 = *(_DWORD *)(v3 + 12);
- v18 = __OFSUB__(v5 + v8, v7);
- v17 = (signed int)(v5 + v8 - v7) < 0;
- }
- }
- while ( v17 ^ v18 );
- }
- }
- v5 += v23;
- }
- return v3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement