MaxtorCoder

Nested function 1

Jan 9th, 2019
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.15 KB | None | 0 0
  1. signed int __usercall sub_12CE9D0@<eax>(_DWORD *a1@<edx>, _DWORD *a2@<ecx>, int a3)
  2. {
  3.   _DWORD *v3; // ebx
  4.   int v5; // esi
  5.   int v6; // ecx
  6.   int v7; // eax
  7.   int v8; // eax
  8.   unsigned int v9; // ebx
  9.   int v10; // eax
  10.   int v11; // eax
  11.   int v12; // eax
  12.   unsigned int v13; // ebx
  13.   int v14; // ecx
  14.   _DWORD *v15; // [esp+10h] [ebp-10h]
  15.   _DWORD *v16; // [esp+14h] [ebp-Ch]
  16.   int v17; // [esp+18h] [ebp-8h]
  17.  
  18.   v3 = a2;
  19.   v15 = a1;
  20.   v16 = a2;
  21.   if ( !a3 )
  22.     return -2147467259;
  23.   v5 = Packet::ReadBits(a2, &v17, 32);
  24.   *a3 = v17;
  25.   if ( v5 < 0 )
  26.     return v5;
  27.   v5 = Packet::ReadWideString(v3, v15, (a3 + 4));
  28.   if ( v5 < 0 )
  29.     return v5;
  30.   v5 = Packet::ReadWideString(v3, v15, (a3 + 8));
  31.   if ( v5 < 0 )
  32.     return v5;
  33.   v5 = Packet::ReadBitBytes(v3, (a3 + 12), 8);
  34.   if ( v5 < 0 )
  35.     return v5;
  36.   v5 = Packet::ReadBits(v3, &v17, 32);
  37.   *(a3 + 20) = v17;
  38.   if ( v5 < 0 )
  39.     return v5;
  40.   v5 = sub_12A72F0(v3, (a3 + 24), v6);
  41.   if ( v5 < 0 )
  42.     return v5;
  43.   v5 = Packet::ReadBits(v3, &v17, 8);
  44.   *(a3 + 32) = v17;
  45.   if ( v5 < 0 )
  46.     return v5;
  47.   v5 = Packet::ReadBits(v3, &v17, 32);
  48.   v7 = v17;
  49.   *(a3 + 36) = v17;
  50.   if ( v5 < 0 )
  51.     return v5;
  52.   v8 = Packet::AllocateArray(v15, 32 * v7);
  53.   *(a3 + 40) = v8;
  54.   if ( !v8 )
  55.     return -2147467259;
  56.   v9 = 0;
  57.   if ( !*(a3 + 36) )
  58.   {
  59. LABEL_17:
  60.     v5 = Packet::ReadBits(v16, &v17, 32);
  61.     v11 = v17;
  62.     *(a3 + 44) = v17;
  63.     if ( v5 < 0 )
  64.       return v5;
  65.     v12 = Packet::AllocateArray(v15, 16 * v11);
  66.     *(a3 + 48) = v12;
  67.     if ( v12 )
  68.     {
  69.       v13 = 0;
  70.       if ( *(a3 + 44) )
  71.       {
  72.         v14 = 0;
  73.         v17 = 0;
  74.         do
  75.         {
  76.           v5 = sub_12CE890(v14 + *(a3 + 48));
  77.           if ( v5 < 0 )
  78.             break;
  79.           ++v13;
  80.           v14 = v17 + 16;
  81.           v17 += 16;
  82.         }
  83.         while ( v13 < *(a3 + 44) );
  84.       }
  85.       return v5;
  86.     }
  87.     return -2147467259;
  88.   }
  89.   v10 = 0;
  90.   v17 = 0;
  91.   while ( v10 + *(a3 + 40) )
  92.   {
  93.     v5 = sub_12CE910(v16);
  94.     if ( v5 < 0 )
  95.       return v5;
  96.     ++v9;
  97.     v10 = v17 + 32;
  98.     v17 += 32;
  99.     if ( v9 >= *(a3 + 36) )
  100.       goto LABEL_17;
  101.   }
  102.   return -2147467259;
  103. }
Add Comment
Please, Sign In to add comment