MaxtorCoder

UnkFunction

Nov 27th, 2018
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.60 KB | None | 0 0
  1. signed int __thiscall sub_69ABB0(_DWORD *this, unsigned __int64 a2, unsigned int a3)
  2. {
  3.   _DWORD *v3; // esi
  4.   int v4; // ecx
  5.   int v5; // eax
  6.   int v6; // ecx
  7.   char v7; // al
  8.   unsigned int v8; // edi
  9.   unsigned int v9; // ebx
  10.   _BYTE *v10; // edi
  11.   bool v11; // zf
  12.   int v12; // eax
  13.   int v13; // ecx
  14.   unsigned __int64 v15; // [esp+10h] [ebp-14h]
  15.  
  16.   v3 = this;
  17.   v4 = this[1];
  18.   if ( !v4 || 8 * (*(_DWORD *)(v4 + 12) - *(_DWORD *)(v4 + 16)) == v3[2] )
  19.   {
  20.     if ( !v3[4] )
  21.       return -2147467259;
  22.     v5 = sub_69C850(v3[3]);
  23.     if ( !v5 )
  24.       return -2147467259;
  25.     v6 = v3[4];
  26.     sub_69C350(v5);
  27.     v3[1] = *(_DWORD *)(v3[4] + 4);
  28.   }
  29.   v7 = a2;
  30.   v8 = a3;
  31.   v15 = a2;
  32.   if ( !a3 )
  33.     return 0;
  34.   while ( 1 )
  35.   {
  36.     v9 = 8 - v3[2];
  37.     if ( v9 > v8 )
  38.       v9 = v8;
  39.     if ( v3[2] )
  40.     {
  41.       v10 = *(_BYTE **)(v3[1] + 16);
  42.       *v10 |= sub_B900E0(v3[2], 0);
  43.       v8 = a3;
  44.     }
  45.     else
  46.     {
  47.       **(_BYTE **)(v3[1] + 16) = ((1 << v9) - 1) & v7;
  48.     }
  49.     v8 -= v9;
  50.     v11 = (((_BYTE)v9 + (unsigned __int8)v3[2]) & 7) == 0;
  51.     a3 = v8;
  52.     v15 >>= *(_OWORD *)&_mm_cvtsi32_si128(v9);
  53.     v3[2] = ((_BYTE)v9 + (unsigned __int8)v3[2]) & 7;
  54.     if ( !v11 )
  55.       goto LABEL_17;
  56.     if ( ++*(_DWORD *)(v3[1] + 16) != *(_DWORD *)(v3[1] + 12) )
  57.       goto LABEL_17;
  58.     if ( !v3[4] )
  59.       break;
  60.     v12 = sub_69C850(v3[3]);
  61.     if ( !v12 )
  62.       return -2147467259;
  63.     v13 = v3[4];
  64.     sub_69C350(v12);
  65.     v3[1] = *(_DWORD *)(v3[4] + 4);
  66. LABEL_17:
  67.     if ( !v8 )
  68.       return 0;
  69.     v7 = v15;
  70.   }
  71.   if ( !v8 )
  72.     return 0;
  73.   return -2147467259;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment