Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.87 KB | None | 0 0
  1. //[00C68E08] stores the last return address
  2.  
  3. //KNOWN GOOD CODE (AKA NOT RETN ADDRESS CHECKS):
  4.  
  5.   *(_DWORD *)(dwEbp - 24) = lpvCClientSocket;
  6.  
  7.   v8 = *(_DWORD *)(dwEbp - 24);
  8.   sub_401FB0((void *)(dwEbp - 20), v8 + 0x7C);
  9.   // sub_401FB0(0xB13600, lpvCClientSocket + 0x7C)
  10.  
  11.   v7 = *(_DWORD *)(v8 + 8);
  12.   if ( v7 )
  13.   {
  14.     if ( v7 != -1 )
  15.     {
  16.       if ( !*(_DWORD *)(v8 + 20) )
  17.       {
  18.          sub_68D050(*(_DWORD *)(dwEbp + 8), v8 + 0x50, 0x5Fu, v8 + 0x84, 1, *(_DWORD *)(v8 + 0x84));
  19.          // sub_68D050(lpvPacket, lpvCClientSocket + 0x50, 0x5F, lpvCClientSocket + 0x84, 1, *(DWORD*)(lpvCClientSocket + 0x84))
  20. /*
  21. ___:004AFBE1 loc_4AFBE1:
  22. ___:004AFBE1                 mov     edx, [edi+84h]
  23. ___:004AFBE7                 mov     ecx, [ebp+arg_0]
  24. ___:004AFBEA                 lea     esi, [edi+84h]
  25. ___:004AFBF0                 push    edx
  26. ___:004AFBF1                 push    1
  27. ___:004AFBF3                 push    esi
  28. ___:004AFBF4                 push    5Fh
  29. ___:004AFBF6                 lea     eax, [edi+50h]
  30. ___:004AFBF9                 push    eax
  31. ___:004AFBFA                 call    sub_68D050
  32. */
  33.          *(_DWORD *)(v8 + 0x84) = sub_A1C1A0(v8 + 0x84, 4, 0);
  34.          // sub_A1C1A0(lpvCClientSocket + 0x7C, 4, 0)
  35. /*
  36. ___:004AFC19 loc_4AFC19:
  37. ___:004AFC19                 push    0
  38. ___:004AFC1B                 push    4
  39. ___:004AFC1D                 push    esi
  40. ___:004AFC1E                 call    sub_A1C1A0
  41. */
  42.  
  43.          sub_4AF6A0(v8);
  44.          // sub_4AF6A0(lpvCClientSocket)
  45. /*
  46. ___:004AFC42 loc_4AFC42:
  47. ___:004AFC42                 mov     ecx, edi ;socket class
  48. ___:004AFC44                 call    sub_4AF6A0
  49. */
  50.       }
  51.     }
  52.   }
  53.  
  54.   result = *(_DWORD *)(dwEbp - 20); //[ebp-0x14] == 0xB13600
  55.   //result = [0xB13600]
  56.   v14 = *(_DWORD *)(result + 4)-- == 1; //v14 is a char
  57.   if ( v14 )
  58.     *(_DWORD *)result = 0;
  59.   return result;
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement