Advertisement
Guest User

Untitled

a guest
May 12th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int main()
  2. {
  3. 012F1002  in          al,dx  
  4. 012F1003  push        0FFFFFFFFh  
  5. 012F1005  push        12F2178h  
  6. 012F100A  mov         eax,dword ptr fs:[00000000h]  
  7. 012F1010  push        eax  
  8. 012F1011  sub         esp,38h  
  9. 012F1014  push        ebx  
  10. 012F1015  push        esi  
  11. 012F1016  push        edi  
  12. 012F1017  mov         eax,dword ptr [__security_cookie (012F4004h)]  
  13. 012F101C  xor         eax,ebp  
  14. 012F101E  push        eax  
  15. 012F101F  lea         eax,[ebp-0Ch]  
  16. 012F1022  mov         dword ptr fs:[00000000h],eax  
  17. 012F1028  xorps       xmm0,xmm0  
  18.     std::vector<int> v;
  19. 012F102B  mov         dword ptr [v],0  
  20. 012F1032  movlpd      qword ptr [ebp-30h],xmm0  
  21. 012F1037  movlpd      qword ptr [ebp-1Ch],xmm0  
  22. 012F103C  mov         dword ptr [ebp-40h],0  
  23. 012F1043  mov         dword ptr [ebp-3Ch],0  
  24.     v.resize(100500, 123);
  25. 012F104A  lea         eax,[ebp-20h]  
  26. 012F104D  mov         dword ptr [ebp-4],0  
  27. 012F1054  push        eax  
  28. 012F1055  push        ecx  
  29. 012F1056  lea         ecx,[v]  
  30. 012F1059  mov         dword ptr [ebp-20h],7Bh  
  31. 012F1060  call        std::vector<int,std::allocator<int> >::resize (012F1180h)  
  32.  
  33.     auto size = v.size();
  34. 012F1065  mov         eax,dword ptr [ebp-40h]  
  35. 012F1068  xorps       xmm0,xmm0  
  36. 012F106B  mov         ecx,dword ptr [v]  
  37.  
  38.     for (int i = 0; i < size; ++i)
  39. 012F106E  xor         esi,esi  
  40.  
  41.     auto size = v.size();
  42. 012F1070  sub         eax,ecx  
  43.     long long res = 0;
  44. 012F1072  movlpd      qword ptr [ebp-38h],xmm0  
  45.  
  46.     auto size = v.size();
  47. 012F1077  mov         dword ptr [ebp-28h],eax  
  48. 012F107A  sar         eax,2  
  49. 012F107D  mov         dword ptr [ebp-24h],eax  
  50.  
  51.     for (int i = 0; i < size; ++i)
  52. 012F1080  cmp         eax,2  
  53.  
  54.     for (int i = 0; i < size; ++i)
  55. 012F1083  jb          main+0C3h (012F10C3h)  
  56. 012F1085  mov         edx,dword ptr [ebp-18h]  
  57. 012F1088  dec         eax  
  58. 012F1089  mov         ebx,dword ptr [ebp-2Ch]  
  59. 012F108C  mov         edi,dword ptr [ebp-30h]  
  60. 012F108F  mov         dword ptr [ebp-20h],eax  
  61. 012F1092  mov         eax,dword ptr [ebp-1Ch]  
  62. 012F1095  mov         dword ptr [ebp-14h],edx  
  63. 012F1098  mov         dword ptr [ebp-10h],eax  
  64. 012F109B  nop         dword ptr [eax+eax]  
  65.     {
  66.         res += v[i];
  67. 012F10A0  mov         eax,dword ptr [ecx+esi*4]  
  68. 012F10A3  cdq  
  69. 012F10A4  add         edi,eax  
  70. 012F10A6  mov         eax,dword ptr [ecx+esi*4+4]  
  71. 012F10AA  adc         ebx,edx  
  72. 012F10AC  cdq  
  73. 012F10AD  add         dword ptr [ebp-10h],eax  
  74. 012F10B0  adc         dword ptr [ebp-14h],edx  
  75. 012F10B3  add         esi,2  
  76. 012F10B6  cmp         esi,dword ptr [ebp-20h]  
  77. 012F10B9  jb          main+0A0h (012F10A0h)  
  78. 012F10BB  mov         dword ptr [ebp-18h],edi  
  79. 012F10BE  mov         dword ptr [ebp-20h],ebx  
  80. 012F10C1  jmp         main+0DBh (012F10DBh)  
  81. 012F10C3  mov         eax,dword ptr [ebp-18h]  
  82. 012F10C6  mov         dword ptr [ebp-14h],eax  
  83. 012F10C9  mov         eax,dword ptr [ebp-1Ch]  
  84. 012F10CC  mov         dword ptr [ebp-10h],eax  
  85. 012F10CF  mov         eax,dword ptr [ebp-2Ch]  
  86.     {
  87.         res += v[i];
  88. 012F10D2  mov         dword ptr [ebp-20h],eax  
  89. 012F10D5  mov         eax,dword ptr [ebp-30h]  
  90. 012F10D8  mov         dword ptr [ebp-18h],eax  
  91.  
  92.     for (int i = 0; i < size; ++i)
  93. 012F10DB  cmp         esi,dword ptr [size]  
  94. 012F10DE  jae         main+0EAh (012F10EAh)  
  95.     {
  96.         res += v[i];
  97. 012F10E0  mov         eax,dword ptr [ecx+esi*4]  
  98. 012F10E3  cdq  
  99. 012F10E4  mov         edi,eax  
  100. 012F10E6  mov         ebx,edx  
  101. 012F10E8  jmp         main+0F0h (012F10F0h)  
  102. 012F10EA  mov         ebx,dword ptr [ebp-34h]  
  103. 012F10ED  mov         edi,dword ptr [res]  
  104.     }
  105.  
  106.     std::cout << res;
  107. 012F10F0  mov         ecx,dword ptr [ebp-18h]  
  108. 012F10F3  add         ecx,dword ptr [ebp-10h]  
  109. 012F10F6  mov         eax,dword ptr [ebp-20h]  
  110. 012F10F9  adc         eax,dword ptr [ebp-14h]  
  111. 012F10FC  add         edi,ecx  
  112. 012F10FE  mov         ecx,dword ptr [_imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A (012F3034h)]  
  113. 012F1104  adc         ebx,eax  
  114. 012F1106  push        ebx  
  115. 012F1107  push        edi  
  116. 012F1108  call        dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (012F303Ch)]  
  117. 012F110E  mov         eax,dword ptr [ebp-28h]  
  118. 012F1111  xor         edx,edx  
  119. 012F1113  mov         ecx,dword ptr [v]  
  120. 012F1116  add         eax,3  
  121. 012F1119  shr         eax,2  
  122. 012F111C  xor         esi,esi  
  123. 012F111E  cmp         ecx,dword ptr [ebp-40h]  
  124. 012F1121  cmova       eax,edx  
  125. 012F1124  mov         dword ptr [ebp-28h],eax  
  126.  
  127.     for (auto& i : v)
  128. 012F1127  test        eax,eax  
  129. 012F1129  je          main+140h (012F1140h)  
  130. 012F112B  nop         dword ptr [eax+eax]  
  131.     {
  132.         res += i;
  133. 012F1130  mov         eax,dword ptr [ecx]  
  134. 012F1132  lea         ecx,[ecx+4]  
  135. 012F1135  cdq  
  136. 012F1136  add         edi,eax  
  137. 012F1138  adc         ebx,edx  
  138.  
  139.     for (auto& i : v)
  140. 012F113A  inc         esi  
  141. 012F113B  cmp         esi,dword ptr [ebp-28h]  
  142. 012F113E  jne         main+130h (012F1130h)  
  143.     }
  144.  
  145.  
  146.     std::cout << res;
  147. 012F1140  mov         ecx,dword ptr [_imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A (012F3034h)]  
  148. 012F1146  push        ebx  
  149. 012F1147  push        edi  
  150. 012F1148  call        dword ptr [__imp_std::basic_ostream<char,std::char_traits<char> >::operator<< (012F303Ch)]  
  151.     return 0;
  152. 012F114E  mov         ecx,dword ptr [v]  
  153. 012F1151  test        ecx,ecx  
  154. 012F1153  je          main+164h (012F1164h)  
  155. 012F1155  mov         eax,dword ptr [ebp-3Ch]  
  156. 012F1158  sub         eax,ecx  
  157. 012F115A  sar         eax,2  
  158. 012F115D  push        eax  
  159. 012F115E  push        ecx  
  160. 012F115F  call        std::_Wrap_alloc<std::allocator<int> >::deallocate (012F12C0h)  
  161. 012F1164  xor         eax,eax  
  162. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement