Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int __cdecl sub_156E480(int a1, int a2, void *Dst, size_t Size)
- {
- int v4; // ebx
- unsigned int v5; // eax
- size_t v6; // ecx
- const void *v7; // eax
- size_t v8; // edi
- signed int v9; // eax
- v4 = 0;
- if ( (unsigned int)a2 >= *(_DWORD *)(a1 + 8264) || !sub_156E520(a1) )
- {
- v5 = *(_DWORD *)(a1 + 8264);
- if ( a2 <= v5 || !sub_156E580(a1, a2 - v5) )
- {
- v6 = Size;
- if ( Size )
- {
- do
- {
- v7 = *(const void **)(a1 + 8268);
- v8 = *(_DWORD *)(a1 + 8272) - (_DWORD)v7;
- if ( v8 >= v6 )
- v8 = v6;
- memmove_0(Dst, v7, v8);
- Dst = (char *)Dst + v8;
- *(_DWORD *)(a1 + 8268) += v8;
- v4 += v8;
- *(_DWORD *)(a1 + 8264) += v8;
- Size -= v8;
- if ( !Size )
- break;
- v9 = sub_156E360((_DWORD *)a1);
- v6 = Size;
- }
- while ( !v9 );
- }
- }
- }
- return v4;
- }
Advertisement
Add Comment
Please, Sign In to add comment