Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BYTE *__cdecl sub_51A450(BYTE *pBuffer, signed __int64 dwSize, signed __int64 dwFlag1, int dwFlag2)
- {
- BYTE *result;
- int v5;
- int v6;
- int v7;
- int v8;
- BYTE *Buffer;
- int v10;
- unsigned int v11;
- int v12;
- int v13;
- BYTE *v14;
- unsigned int v15;
- signed int v16;
- v16 = dwFlag1 % 12;
- if ( dwSize > 0xFFFFFFFFi64 )
- {
- Buffer = pBuffer;
- result = (BYTE *)dwFlag2;
- if ( dwSize >= 12 )
- {
- if ( v16 )
- {
- do
- {
- *Buffer++ ^= *(BYTE *)(v16++ + dwFlag2);
- result = (BYTE *)((unsigned __int64)(dwSize-- - 1) >> 32);
- }
- while ( v16 < 12 );
- v16 = 0;
- }
- if ( dwSize >= 12 )
- {
- v6 = dwSize / 12;
- dwSize -= (unsigned int)(12 * v6);
- v8 = *(DWORD *)dwFlag2;
- v7 = *(DWORD *)(dwFlag2 + 4);
- v5 = *(DWORD *)(dwFlag2 + 8);
- do
- {
- *(DWORD *)Buffer ^= v8;
- *((DWORD *)Buffer + 1) ^= v7;
- result = Buffer;
- *((DWORD *)Buffer + 2) ^= v5;
- Buffer += 12;
- --v6;
- }
- while ( v6 );
- }
- }
- if ( SHIDWORD(dwSize) >= 0 && (SHIDWORD(dwSize) > 0 || (DWORD)dwSize) )
- {
- do
- {
- *Buffer++ ^= *(BYTE *)(v16 + dwFlag2);
- result = (BYTE *)(v16++ + 1);
- if ( v16 == 12 )
- v16 = 0;
- --dwSize;
- }
- while ( SHIDWORD(dwSize) > 0 || SHIDWORD(dwSize) >= 0 && (DWORD)dwSize );
- }
- }
- else
- {
- v15 = dwSize;
- result = pBuffer;
- v14 = pBuffer;
- if ( (unsigned int)dwSize >= 0xC )
- {
- if ( v16 )
- {
- do
- {
- *v14++ ^= *(BYTE *)(v16++ + dwFlag2);
- result = (BYTE *)(v15-- - 1);
- }
- while ( v16 < 12 );
- v16 = 0;
- }
- if ( v15 >= 0xC )
- {
- v11 = v15 / 0xC;
- v15 %= 0xCu;
- v13 = *(DWORD *)dwFlag2;
- v12 = *(DWORD *)(dwFlag2 + 4);
- v10 = *(DWORD *)(dwFlag2 + 8);
- do
- {
- *(DWORD *)v14 ^= v13;
- *((DWORD *)v14 + 1) ^= v12;
- result = v14;
- *((DWORD *)v14 + 2) ^= v10;
- v14 += 12;
- --v11;
- }
- while ( v11 );
- }
- }
- for ( ; v15; --v15 )
- {
- *v14++ ^= *(BYTE *)(v16 + dwFlag2);
- result = (BYTE *)(v16++ + 1);
- if ( v16 == 12 )
- v16 = 0;
- }
- }
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment