Advertisement
Guest User

Encode

a guest
Sep 18th, 2015
985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 13.32 KB | None | 0 0
  1. int __stdcall encoder_sub_3000(int a1, int a2, int a3)
  2. {
  3.   int result; // eax@1
  4.   int v4; // edx@1
  5.   int v5; // ecx@1
  6.   int v6; // ebx@1
  7.   int v7; // edx@1
  8.   int v8; // ecx@1
  9.   int v9; // edx@1
  10.   int v10; // ecx@1
  11.   int v11; // edx@1
  12.   int v12; // ecx@1
  13.   int v13; // edx@1
  14.   int v14; // ecx@1
  15.   int v15; // edx@1
  16.   int v16; // ecx@1
  17.   int v17; // edx@1
  18.   int v18; // ecx@1
  19.   int v19; // edx@1
  20.   int v20; // ecx@1
  21.   int v21; // ebx@1
  22.   unsigned __int8 v22; // bp@1
  23.   int v23; // ecx@1
  24.  
  25.   result = a1;
  26.   v4 = *(_DWORD *)a2 ^ *(_DWORD *)(a1 + 8);
  27.   v5 = *(_DWORD *)a3 ^ *(_DWORD *)(a1 + 12) ^ (*(_DWORD *)(a1
  28.                                                          + 4 * (unsigned __int8)(*(_BYTE *)a2 ^ *(_BYTE *)(a1 + 8))
  29.                                                          + 3152)
  30.                                              + (*(_DWORD *)(a1 + 4 * BYTE1(v4) + 2128) ^ (*(_DWORD *)(a1 + 4 * ((unsigned int)v4 >> 24) + 80)
  31.                                                                                         + *(_DWORD *)(a1 + 4 * (((unsigned int)v4 >> 16) & 0xFF) + 1104))));
  32.   v6 = *(_DWORD *)(a1 + 4 * BYTE1(v5) + 2128) ^ (*(_DWORD *)(a1
  33.                                                            + 4
  34.                                                            * ((*(_DWORD *)a3 ^ *(_DWORD *)(a1 + 12) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)(*(_BYTE *)a2 ^ *(_BYTE *)(a1 + 8)) + 3152) + (*(_DWORD *)(a1 + 4 * BYTE1(v4) + 2128) ^ (unsigned int)(*(_DWORD *)(a1 + 4 * ((unsigned int)v4 >> 24) + 80) + *(_DWORD *)(a1 + 4 * (((unsigned int)v4 >> 16) & 0xFF) + 1104))))) >> 24)
  35.                                                            + 80)
  36.                                                + *(_DWORD *)(a1
  37.                                                            + 4
  38.                                                            * (((*(_DWORD *)a3 ^ *(_DWORD *)(a1 + 12) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)(*(_BYTE *)a2 ^ *(_BYTE *)(a1 + 8)) + 3152) + (*(_DWORD *)(a1 + 4 * BYTE1(v4) + 2128) ^ (unsigned int)(*(_DWORD *)(a1 + 4 * ((unsigned int)v4 >> 24) + 80) + *(_DWORD *)(a1 + 4 * (((unsigned int)v4 >> 16) & 0xFF) + 1104))))) >> 16) & 0xFF)
  39.                                                            + 1104));
  40.   v7 = *(_DWORD *)(a1 + 16) ^ (*(_DWORD *)(a1
  41.                                          + 4
  42.                                          * (unsigned __int8)(*(_BYTE *)a3 ^ *(_BYTE *)(a1 + 12) ^ (*(_BYTE *)(a1 + 4 * (unsigned __int8)(*(_BYTE *)a2 ^ *(_BYTE *)(a1 + 8)) + 3152)
  43.                                                                                                  + (*(_BYTE *)(a1 + 4 * BYTE1(v4) + 2128) ^ (*(_BYTE *)(a1 + 4 * ((unsigned int)v4 >> 24) + 80) + *(_BYTE *)(a1 + 4 * (((unsigned int)v4 >> 16) & 0xFF) + 1104)))))
  44.                                          + 3152)
  45.                              + v6) ^ v4;
  46.   v8 = *(_DWORD *)(a1 + 20) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v7 + 3152)
  47.                              + (*(_DWORD *)(a1 + 4 * BYTE1(v7) + 2128) ^ (*(_DWORD *)(a1
  48.                                                                                     + 4 * ((unsigned int)v7 >> 24)
  49.                                                                                     + 80)
  50.                                                                         + *(_DWORD *)(a1
  51.                                                                                     + 4
  52.                                                                                     * (((unsigned int)v7 >> 16) & 0xFF)
  53.                                                                                     + 1104)))) ^ v5;
  54.   v9 = *(_DWORD *)(a1 + 24) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v8 + 3152)
  55.                              + (*(_DWORD *)(a1 + 4 * BYTE1(v8) + 2128) ^ (*(_DWORD *)(a1
  56.                                                                                     + 4 * ((unsigned int)v8 >> 24)
  57.                                                                                     + 80)
  58.                                                                         + *(_DWORD *)(a1
  59.                                                                                     + 4
  60.                                                                                     * (((unsigned int)v8 >> 16) & 0xFF)
  61.                                                                                     + 1104)))) ^ v7;
  62.   v10 = *(_DWORD *)(a1 + 28) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v9 + 3152)
  63.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v9) + 2128) ^ (*(_DWORD *)(a1
  64.                                                                                      + 4 * ((unsigned int)v9 >> 24)
  65.                                                                                      + 80)
  66.                                                                          + *(_DWORD *)(a1
  67.                                                                                      + 4
  68.                                                                                      * (((unsigned int)v9 >> 16) & 0xFF)
  69.                                                                                      + 1104)))) ^ v8;
  70.   v11 = *(_DWORD *)(a1 + 32) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v10 + 3152)
  71.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v10) + 2128) ^ (*(_DWORD *)(a1
  72.                                                                                       + 4 * ((unsigned int)v10 >> 24)
  73.                                                                                       + 80)
  74.                                                                           + *(_DWORD *)(a1
  75.                                                                                       + 4
  76.                                                                                       * (((unsigned int)v10 >> 16) & 0xFF)
  77.                                                                                       + 1104)))) ^ v9;
  78.   v12 = *(_DWORD *)(a1 + 36) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v11 + 3152)
  79.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v11) + 2128) ^ (*(_DWORD *)(a1
  80.                                                                                       + 4 * ((unsigned int)v11 >> 24)
  81.                                                                                       + 80)
  82.                                                                           + *(_DWORD *)(a1
  83.                                                                                       + 4
  84.                                                                                       * (((unsigned int)v11 >> 16) & 0xFF)
  85.                                                                                       + 1104)))) ^ v10;
  86.   v13 = *(_DWORD *)(a1 + 40) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v12 + 3152)
  87.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v12) + 2128) ^ (*(_DWORD *)(a1
  88.                                                                                       + 4 * ((unsigned int)v12 >> 24)
  89.                                                                                       + 80)
  90.                                                                           + *(_DWORD *)(a1
  91.                                                                                       + 4
  92.                                                                                       * (((unsigned int)v12 >> 16) & 0xFF)
  93.                                                                                       + 1104)))) ^ v11;
  94.   v14 = *(_DWORD *)(a1 + 44) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v13 + 3152)
  95.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v13) + 2128) ^ (*(_DWORD *)(a1
  96.                                                                                       + 4 * ((unsigned int)v13 >> 24)
  97.                                                                                       + 80)
  98.                                                                           + *(_DWORD *)(a1
  99.                                                                                       + 4
  100.                                                                                       * (((unsigned int)v13 >> 16) & 0xFF)
  101.                                                                                       + 1104)))) ^ v12;
  102.   v15 = *(_DWORD *)(a1 + 48) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v14 + 3152)
  103.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v14) + 2128) ^ (*(_DWORD *)(a1
  104.                                                                                       + 4 * ((unsigned int)v14 >> 24)
  105.                                                                                       + 80)
  106.                                                                           + *(_DWORD *)(a1
  107.                                                                                       + 4
  108.                                                                                       * (((unsigned int)v14 >> 16) & 0xFF)
  109.                                                                                       + 1104)))) ^ v13;
  110.   v16 = *(_DWORD *)(a1 + 52) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v15 + 3152)
  111.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v15) + 2128) ^ (*(_DWORD *)(a1
  112.                                                                                       + 4 * ((unsigned int)v15 >> 24)
  113.                                                                                       + 80)
  114.                                                                           + *(_DWORD *)(a1
  115.                                                                                       + 4
  116.                                                                                       * (((unsigned int)v15 >> 16) & 0xFF)
  117.                                                                                       + 1104)))) ^ v14;
  118.   v17 = *(_DWORD *)(a1 + 56) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v16 + 3152)
  119.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v16) + 2128) ^ (*(_DWORD *)(a1
  120.                                                                                       + 4 * ((unsigned int)v16 >> 24)
  121.                                                                                       + 80)
  122.                                                                           + *(_DWORD *)(a1
  123.                                                                                       + 4
  124.                                                                                       * (((unsigned int)v16 >> 16) & 0xFF)
  125.                                                                                       + 1104)))) ^ v15;
  126.   v18 = *(_DWORD *)(a1 + 60) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v17 + 3152)
  127.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v17) + 2128) ^ (*(_DWORD *)(a1
  128.                                                                                       + 4 * ((unsigned int)v17 >> 24)
  129.                                                                                       + 80)
  130.                                                                           + *(_DWORD *)(a1
  131.                                                                                       + 4
  132.                                                                                       * (((unsigned int)v17 >> 16) & 0xFF)
  133.                                                                                       + 1104)))) ^ v16;
  134.   v19 = *(_DWORD *)(a1 + 64) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v18 + 3152)
  135.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v18) + 2128) ^ (*(_DWORD *)(a1
  136.                                                                                       + 4 * ((unsigned int)v18 >> 24)
  137.                                                                                       + 80)
  138.                                                                           + *(_DWORD *)(a1
  139.                                                                                       + 4
  140.                                                                                       * (((unsigned int)v18 >> 16) & 0xFF)
  141.                                                                                       + 1104)))) ^ v17;
  142.   v20 = *(_DWORD *)(a1 + 68) ^ (*(_DWORD *)(a1 + 4 * (unsigned __int8)v19 + 3152)
  143.                               + (*(_DWORD *)(a1 + 4 * BYTE1(v19) + 2128) ^ (*(_DWORD *)(a1
  144.                                                                                       + 4 * ((unsigned int)v19 >> 24)
  145.                                                                                       + 80)
  146.                                                                           + *(_DWORD *)(a1
  147.                                                                                       + 4
  148.                                                                                       * (((unsigned int)v19 >> 16) & 0xFF)
  149.                                                                                       + 1104)))) ^ v18;
  150.   v21 = *(_DWORD *)(a1 + 4 * BYTE1(v20) + 2128) ^ (*(_DWORD *)(a1 + 4 * ((unsigned int)v20 >> 24) + 80)
  151.                                                  + *(_DWORD *)(a1 + 4 * (((unsigned int)v20 >> 16) & 0xFF) + 1104));
  152.   v22 = v20;
  153.   v23 = *(_DWORD *)(a1 + 76) ^ v20;
  154.   *(_DWORD *)a3 = *(_DWORD *)(a1 + 72) ^ (*(_DWORD *)(a1 + 4 * v22 + 3152) + v21) ^ v19;
  155.   *(_DWORD *)a2 = v23;
  156.   return result;
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement