Advertisement
Guest User

Untitled

a guest
Oct 22nd, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.77 KB | None | 0 0
  1. void __cdecl blackbox_check(char *key, unsigned __int64 *result)
  2. {
  3.   unsigned __int64 *v2; // eax
  4.   unsigned __int64 v3; // ST38_8
  5.   unsigned int v4; // edx
  6.   signed __int64 v5; // ST18_8
  7.   unsigned int v6; // edi
  8.   int v7; // ST14_4
  9.   unsigned __int64 v8; // rax
  10.   int v9; // esi
  11.   int v10; // edi
  12.   int v11; // ebx
  13.   int v12; // ST10_4
  14.   unsigned __int64 v13; // rax
  15.   char *pos; // [esp+2Ch] [ebp-12Ch]
  16.   unsigned int j; // [esp+30h] [ebp-128h]
  17.   int i; // [esp+34h] [ebp-124h]
  18.   unsigned __int64 tmp; // [esp+38h] [ebp-120h]
  19.   char buf[256]; // [esp+44h] [ebp-114h]
  20.   unsigned __int64 *resulta; // [esp+144h] [ebp-14h]
  21.   char *keya; // [esp+148h] [ebp-10h]
  22.  
  23.   keya = key;
  24.   resulta = result;
  25.   pos = (char *)strchr(key, 45);                // search for -
  26.   if ( pos && pos != keya )
  27.   {
  28.     tmp = -4963782447441515069LL;
  29.     i = 0;
  30.     sprintf(buf, "event=ZeroNights2018&location=SPb&promo=%s&nonce=7f6b8c3749249acbd0d1a8e83e0254f0", (_BYTE)pos + 1);
  31.     while ( i < 57 )
  32.     {
  33.       for ( j = 0; j < strlen(buf); ++j )
  34.       {
  35.         v3 = 4950478372011966905LL * buf[j] ^ tmp;
  36.         v4 = v3 >> 21;
  37.         HIDWORD(v3) = __PAIR__(v3, HIDWORD(v3)) >> 21;
  38.         v5 = __PAIR__(buf[j], v4);
  39.         v6 = v4;
  40.         v7 = HIDWORD(v3) * v4;
  41.         v8 = (unsigned int)v5 * (unsigned __int64)(unsigned int)v5;
  42.         v9 = __PAIR__(HIDWORD(v3), v6) >> 30;
  43.         v10 = 4 * v6 + 1;
  44.         v11 = v9 * v8;
  45.         v12 = v7 + v7 + HIDWORD(v8);
  46.         v13 = (unsigned int)v10 * (unsigned __int64)(unsigned int)v8;
  47.         HIDWORD(v13) += v10 * v12 + v11;
  48.         tmp = v13 + __PAIR__(HIDWORD(v3), (unsigned int)v5);
  49.       }
  50.       ++i;
  51.     }
  52.     *resulta = tmp;
  53.   }
  54.   else
  55.   {
  56.     v2 = resulta;
  57.     *((_DWORD *)resulta + 1) = 0;
  58.     *(_DWORD *)v2 = 0;
  59.   }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement