Guest User

Untitled

a guest
Jan 27th, 2017
432
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.67 KB | None | 0 0
  1. unsigned __int64 __fastcall sub_1404E3380(__int64 a1, unsigned __int64 a2, unsigned __int64 a3)
  2. {
  3.   unsigned __int64 v3; // r10@1
  4.   unsigned __int64 v4; // rbx@1
  5.   __int64 v5; // r9@1
  6.   unsigned __int64 result; // rax@1
  7.   _BYTE *v7; // r11@2
  8.   signed __int64 v8; // rdi@2
  9.   unsigned __int64 v9; // r10@3
  10.   unsigned __int64 v10; // r8@3
  11.   int v11; // edx@3
  12.   char v12; // cl@6
  13.   unsigned __int64 v13; // [sp+48h] [bp+10h]@1
  14.  
  15.   v13 = a2;
  16.   v3 = a3;
  17.   v4 = a2;
  18.   v5 = a1;
  19.   result = a2 & 0xFFFFFFFFFFFFFFF0ui64;
  20.   if ( a2 & 0xFFFFFFFFFFFFFFF0ui64 )
  21.   {
  22.     v7 = (_BYTE *)(a1 + 7);
  23.     v8 = -7 - a1;
  24.     do
  25.     {
  26.       *(v7 - 7) ^= v3;
  27.       *(v7 - 6) ^= BYTE1(v3);
  28.       *(v7 - 5) ^= v3 >> 16;
  29.       *(v7 - 4) ^= v3 >> 24;
  30.       *(v7 - 3) ^= v3 >> 32;
  31.       *(v7 - 2) ^= v3 >> 40;
  32.       *(v7 - 1) ^= v3 >> 48;
  33.       *v7 ^= BYTE7(v3);
  34.       v9 = ((((v3 ^ 0x4E3362BF7A4C7C26i64) << 13) ^ v3 ^ 0x4E3362BF7A4C7C26i64) >> 7) ^ ((v3 ^ 0x4E3362BF7A4C7C26i64) << 13) ^ v3 ^ 0x4E3362BF7A4C7C26i64;
  35.       v10 = (*(v7 - 1) << 8 * (((_BYTE)v7 + -9 - a1) & 7)) | (*(v7 - 5) << 8 * (((_BYTE)v7 + -5 - a1) & 7)) | (*(v7 - 7) << 8 * ((v8 + (_BYTE)v7) & 7)) | (*(v7 - 2) << 8 * ((-10 - a1 + (_BYTE)v7) & 7)) | (*(v7 - 6) << 8 * ((-6 - a1 + (_BYTE)v7) & 7)) | (*(v7 - 3) << 8 * ((-11 - a1 + (_BYTE)v7) & 7)) | (unsigned __int64)(*v7 << 8 * ((-8 - a1 + (_BYTE)v7) & 7));
  36.       v11 = *(v7 - 4) << 8 * ((-4 - a1 + (_BYTE)v7) & 7);
  37.       v7 += 8;
  38.       v3 = (v9 << 17) ^ (v11 | v10) ^ v9;
  39.     }
  40.     while ( (unsigned __int64)&v7[v8] < result );
  41.     v5 = a1;
  42.     v4 = v13;
  43.   }
  44.   for ( ; result < v4; *(_BYTE *)(result + v5 - 1) ^= v3 >> 8 * (v12 & 7u) )
  45.     v12 = result++;
  46.   return result;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment