Guest User

Untitled

a guest
Nov 13th, 2020
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.96 KB | None | 0 0
  1. int __cdecl sub_156E480(int a1, int a2, void *Dst, size_t Size)
  2. {
  3.   int v4; // ebx
  4.   unsigned int v5; // eax
  5.   size_t v6; // ecx
  6.   const void *v7; // eax
  7.   size_t v8; // edi
  8.   signed int v9; // eax
  9.  
  10.   v4 = 0;
  11.   if ( (unsigned int)a2 >= *(_DWORD *)(a1 + 8264) || !sub_156E520(a1) )
  12.   {
  13.     v5 = *(_DWORD *)(a1 + 8264);
  14.     if ( a2 <= v5 || !sub_156E580(a1, a2 - v5) )
  15.     {
  16.       v6 = Size;
  17.       if ( Size )
  18.       {
  19.         do
  20.         {
  21.           v7 = *(const void **)(a1 + 8268);
  22.           v8 = *(_DWORD *)(a1 + 8272) - (_DWORD)v7;
  23.           if ( v8 >= v6 )
  24.             v8 = v6;
  25.           memmove_0(Dst, v7, v8);
  26.           Dst = (char *)Dst + v8;
  27.           *(_DWORD *)(a1 + 8268) += v8;
  28.           v4 += v8;
  29.           *(_DWORD *)(a1 + 8264) += v8;
  30.           Size -= v8;
  31.           if ( !Size )
  32.             break;
  33.           v9 = sub_156E360((_DWORD *)a1);
  34.           v6 = Size;
  35.         }
  36.         while ( !v9 );
  37.       }
  38.     }
  39.   }
  40.   return v4;
  41. }
Advertisement
Add Comment
Please, Sign In to add comment