Advertisement
Guest User

Untitled

a guest
Oct 17th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. __int64 __fastcall sub_1400A9174(__int64 a1)
  2. {
  3. __int64 v1; // rbx
  4. int v2; // eax
  5. int v3; // eax
  6. const char *v4; // rdx
  7. int v5; // eax
  8. int v7; // [rsp+40h] [rbp+8h]
  9.  
  10. v1 = a1;
  11. v2 = (*(__int64 (**)(void))(**(_QWORD **)(a1 + 16) + 24i64))();
  12. if ( (v2 != 129 || *(_QWORD *)(v1 + 64) <= 0i64) && (v2 != 130 || *(_QWORD *)(v1 + 64) <= 0i64) )
  13. {
  14. (*(void (__fastcall **)(_QWORD, _QWORD, _QWORD, int *))(**(_QWORD **)(v1 + 16) + 16i64))(
  15. *(_QWORD *)(v1 + 16),
  16. *(_QWORD *)(v1 + 120),
  17. *(unsigned int *)(v1 + 88),
  18. &v7);
  19. v3 = v7;
  20. }
  21. else
  22. {
  23. v3 = *(_DWORD *)(v1 + 64);
  24. v7 = *(_DWORD *)(v1 + 64);
  25. }
  26. if ( v3 > 0 )
  27. {
  28. if ( v3 <= *(_DWORD *)(v1 + 112) )
  29. {
  30. v5 = (*(__int64 (__fastcall **)(_QWORD, _QWORD, _QWORD, _QWORD, _QWORD))(**(_QWORD **)(v1 + 16) + 8i64))(
  31. *(_QWORD *)(v1 + 16),
  32. *(_QWORD *)(v1 + 120),
  33. *(signed int *)(v1 + 100),
  34. *(_QWORD *)(v1 + 128),
  35. v3);
  36. if ( v5 == v7 )
  37. {
  38. *(_DWORD *)(v1 + 108) = v7;
  39. *(_DWORD *)(v1 + 24) = 7;
  40. return 0i64;
  41. }
  42. v4 = "E2008090502:Decoded size is incorrect.";
  43. }
  44. else
  45. {
  46. v4 = "E2008082710:Buffer size is insufficient to decompress data.";
  47. }
  48. }
  49. else
  50. {
  51. v4 = "E2008090501:Failed to get compressed data size.";
  52. }
  53. sub_140093E20(0i64, v4);
  54. *(_DWORD *)(v1 + 24) = 8;
  55. *(_DWORD *)(v1 + 32) = 7;
  56. return 0i64;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement