This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

working

By: a guest on May 19th, 2011  |  syntax: ASM (NASM)  |  size: 9.63 KB  |  views: 55  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1.             var ticks = lastModified.Ticks;
  2. 00000000  push        ebp
  3. 00000001  mov         ebp,esp
  4. 00000003  push        edi
  5. 00000004  push        esi
  6. 00000005  push        ebx
  7. 00000006  sub         esp,68h
  8. 00000009  xor         eax,eax
  9. 0000000b  mov         dword ptr [ebp-20h],eax
  10. 0000000e  mov         dword ptr [ebp-54h],ecx
  11. 00000011  mov         eax,dword ptr [ebp+8]
  12. 00000014  mov         edx,dword ptr [ebp+0Ch]
  13. 00000017  and         edx,3FFFFFFFh
  14. 0000001d  mov         dword ptr [ebp-14h],eax
  15. 00000020  mov         dword ptr [ebp-10h],edx
  16.  
  17.             //DF: Not sure why this is needed but the below comparison randomly fails on some machines without it. NO IDEA WHY?!?
  18.             long rightTicks = ticks - (ticks % 10000);
  19. 00000023  mov         ecx,eax
  20. 00000025  mov         ebx,edx
  21. 00000027  mov         esi,2710h
  22. 0000002c  cmp         edx,1388h
  23. 00000032  jb          00000047
  24. 00000034  mov         edi,eax
  25. 00000036  mov         eax,edx
  26. 00000038  cdq
  27. 00000039  idiv        eax,esi
  28. 0000003b  mov         eax,edi
  29. 0000003d  mov         edi,4E20h
  30. 00000042  idiv        eax,edi
  31. 00000044  mov         eax,edx
  32. 00000046  cdq
  33. 00000047  idiv        eax,esi
  34. 00000049  mov         eax,edx
  35. 0000004b  cdq
  36. 0000004c  sub         ecx,eax
  37. 0000004e  sbb         ebx,edx
  38. 00000050  mov         dword ptr [ebp-1Ch],ecx
  39. 00000053  mov         dword ptr [ebp-18h],ebx
  40.             Log.Debug((ticks == rightTicks).ToString());
  41. 00000056  mov         eax,dword ptr [ebp-14h]
  42. 00000059  mov         edx,dword ptr [ebp-10h]
  43. 0000005c  cmp         edx,dword ptr [ebp-18h]
  44. 0000005f  jne         00000066
  45. 00000061  cmp         eax,dword ptr [ebp-1Ch]
  46. 00000064  je          0000006A
  47. 00000066  xor         eax,eax
  48. 00000068  jmp         0000006F
  49. 0000006a  mov         eax,1
  50. 0000006f  mov         dword ptr [ebp-20h],eax
  51. 00000072  lea         ecx,[ebp-20h]
  52. 00000075  call        4CA06D78
  53. 0000007a  mov         ecx,eax
  54. 0000007c  mov         esi,dword ptr ds:[0346CBE8h]
  55. 00000082  call        F7D64930
  56. 00000087  mov         edx,eax
  57. 00000089  mov         ecx,esi
  58. 0000008b  call        dword ptr ds:[002406F0h]
  59.  
  60.             if (ticks != ticks - (ticks % 10000) && lastModified != DateTime.MaxValue)
  61. 00000091  mov         ecx,dword ptr [ebp-14h]
  62. 00000094  mov         ebx,dword ptr [ebp-10h]
  63. 00000097  mov         esi,dword ptr [ebp-14h]
  64. 0000009a  mov         edi,dword ptr [ebp-10h]
  65. 0000009d  mov         eax,dword ptr [ebp-14h]
  66. 000000a0  mov         edx,dword ptr [ebp-10h]
  67. 000000a3  mov         dword ptr [ebp-74h],esi
  68. 000000a6  mov         esi,2710h
  69. 000000ab  mov         dword ptr [ebp-70h],ecx
  70. 000000ae  cmp         edx,1388h
  71. 000000b4  jb          000000C9
  72. 000000b6  mov         ecx,eax
  73. 000000b8  mov         eax,edx
  74. 000000ba  cdq
  75. 000000bb  idiv        eax,esi
  76. 000000bd  mov         eax,ecx
  77. 000000bf  mov         ecx,4E20h
  78. 000000c4  idiv        eax,ecx
  79. 000000c6  mov         eax,edx
  80. 000000c8  cdq
  81. 000000c9  idiv        eax,esi
  82. 000000cb  mov         eax,edx
  83. 000000cd  cdq
  84. 000000ce  mov         ecx,dword ptr [ebp-74h]
  85. 000000d1  sub         ecx,eax
  86. 000000d3  sbb         edi,edx
  87. 000000d5  mov         eax,dword ptr [ebp-70h]
  88. 000000d8  cmp         ebx,edi
  89. 000000da  jne         000000E0
  90. 000000dc  cmp         eax,ecx
  91. 000000de  je          00000139
  92. 000000e0  lea         ecx,[ebp+8]
  93. 000000e3  mov         eax,dword ptr [ecx]
  94. 000000e5  mov         edx,dword ptr [ecx+4]
  95. 000000e8  mov         dword ptr [ebp-38h],eax
  96. 000000eb  mov         dword ptr [ebp-34h],edx
  97. 000000ee  mov         ecx,dword ptr ds:[0346103Ch]
  98. 000000f4  add         ecx,4
  99. 000000f7  mov         eax,dword ptr [ecx]
  100. 000000f9  mov         edx,dword ptr [ecx+4]
  101. 000000fc  mov         dword ptr [ebp-40h],eax
  102. 000000ff  mov         dword ptr [ebp-3Ch],edx
  103. 00000102  mov         eax,dword ptr [ebp-38h]
  104. 00000105  mov         edx,dword ptr [ebp-34h]
  105. 00000108  and         edx,3FFFFFFFh
  106. 0000010e  mov         dword ptr [ebp-28h],eax
  107. 00000111  mov         dword ptr [ebp-24h],edx
  108. 00000114  mov         ecx,dword ptr [ebp-40h]
  109. 00000117  mov         ebx,dword ptr [ebp-3Ch]
  110. 0000011a  and         ebx,3FFFFFFFh
  111. 00000120  cmp         edx,ebx
  112. 00000122  jne         00000128
  113. 00000124  cmp         eax,ecx
  114. 00000126  je          0000012C
  115. 00000128  xor         eax,eax
  116. 0000012a  jmp         00000131
  117. 0000012c  mov         eax,1
  118. 00000131  test        eax,eax
  119. 00000133  je          000001CF
  120.             }
  121.  
  122.             if (lastModified.Kind != DateTimeKind.Utc && lastModified != DateTime.MaxValue)
  123. 00000139  lea         ecx,[ebp+8]
  124. 0000013c  call        4CAD8400
  125. 00000141  cmp         eax,1
  126. 00000144  je          0000019F
  127. 00000146  lea         ecx,[ebp+8]
  128. 00000149  mov         eax,dword ptr [ecx]
  129. 0000014b  mov         edx,dword ptr [ecx+4]
  130. 0000014e  mov         dword ptr [ebp-48h],eax
  131. 00000151  mov         dword ptr [ebp-44h],edx
  132. 00000154  mov         ecx,dword ptr ds:[0346103Ch]
  133. 0000015a  add         ecx,4
  134. 0000015d  mov         eax,dword ptr [ecx]
  135. 0000015f  mov         edx,dword ptr [ecx+4]
  136. 00000162  mov         dword ptr [ebp-50h],eax
  137. 00000165  mov         dword ptr [ebp-4Ch],edx
  138. 00000168  mov         eax,dword ptr [ebp-48h]
  139. 0000016b  mov         edx,dword ptr [ebp-44h]
  140. 0000016e  and         edx,3FFFFFFFh
  141. 00000174  mov         dword ptr [ebp-30h],eax
  142. 00000177  mov         dword ptr [ebp-2Ch],edx
  143. 0000017a  mov         ecx,dword ptr [ebp-50h]
  144. 0000017d  mov         ebx,dword ptr [ebp-4Ch]
  145. 00000180  and         ebx,3FFFFFFFh
  146. 00000186  cmp         edx,ebx
  147. 00000188  jne         0000018E
  148. 0000018a  cmp         eax,ecx
  149. 0000018c  je          00000192
  150. 0000018e  xor         eax,eax
  151. 00000190  jmp         00000197
  152. 00000192  mov         eax,1
  153. 00000197  test        eax,eax
  154. 00000199  je          000002B7
  155. 0000019f  mov         esi,dword ptr ds:[03483FDCh]
  156. 000001a5  lea         eax,[ebp+8]
  157. 000001a8  sub         esp,8
  158. 000001ab  movq        xmm0,mmword ptr [eax]
  159. 000001af  movq        mmword ptr [esp],xmm0
  160. 000001b4  call        dword ptr ds:[0499F5F8h]
  161. 000001ba  push        eax
  162. 000001bb  mov         ecx,esi
  163. 000001bd  mov         edx,dword ptr [ebp-54h]
  164. 000001c0  call        4CA76734
  165. 000001c5  lea         esp,[ebp-0Ch]
  166. 000001c8  pop         ebx
  167. 000001c9  pop         esi
  168. 000001ca  pop         edi
  169. 000001cb  pop         ebp
  170. 000001cc  ret         8
  171. 000001cf  mov         ecx,5532A204h
  172. 000001d4  call        F79C1FB0
  173. 000001d9  mov         dword ptr [ebp-58h],eax
  174. 000001dc  mov         ecx,5532A204h
  175. 000001e1  call        F79C1FB0
  176. 000001e6  mov         dword ptr [ebp-5Ch],eax
  177. 000001e9  mov         edx,43A1A8h
  178. 000001ee  mov         ecx,70002584h
  179. 000001f3  call        5449E3A9
  180. 000001f8  mov         dword ptr [ebp-60h],eax
  181. 000001fb  mov         edx,43A1A8h
  182. 00000200  mov         ecx,700025FEh
  183. 00000205  call        5449E3A9
  184. 0000020a  mov         edx,eax
  185. 0000020c  lea         ecx,[ebp+8]
  186. 0000020f  call        4D017018
  187. 00000214  mov         dword ptr [ebp-64h],eax
  188. 00000217  mov         eax,dword ptr [ebp-58h]
  189. 0000021a  mov         ecx,dword ptr [ebp-14h]
  190. 0000021d  mov         edx,dword ptr [ebp-10h]
  191. 00000220  mov         dword ptr [eax+4],ecx
  192. 00000223  mov         dword ptr [eax+8],edx
  193. 00000226  push        eax
  194. 00000227  mov         ecx,dword ptr [ebp-14h]
  195. 0000022a  mov         ebx,dword ptr [ebp-10h]
  196. 0000022d  mov         eax,dword ptr [ebp-14h]
  197. 00000230  mov         edx,dword ptr [ebp-10h]
  198. 00000233  mov         esi,2710h
  199. 00000238  cmp         edx,1388h
  200. 0000023e  jb          00000253
  201. 00000240  mov         edi,eax
  202. 00000242  mov         eax,edx
  203. 00000244  cdq
  204. 00000245  idiv        eax,esi
  205. 00000247  mov         eax,edi
  206. 00000249  mov         edi,4E20h
  207. 0000024e  idiv        eax,edi
  208. 00000250  mov         eax,edx
  209. 00000252  cdq
  210. 00000253  idiv        eax,esi
  211. 00000255  mov         eax,edx
  212. 00000257  cdq
  213. 00000258  sub         ecx,eax
  214. 0000025a  sbb         ebx,edx
  215. 0000025c  mov         eax,dword ptr [ebp-5Ch]
  216. 0000025f  mov         dword ptr [eax+4],ecx
  217. 00000262  mov         dword ptr [eax+8],ebx
  218. 00000265  push        eax
  219. 00000266  mov         ecx,dword ptr [ebp-60h]
  220. 00000269  mov         edx,dword ptr [ebp-64h]
  221. 0000026c  call        4CA71694
  222. 00000271  mov         ecx,eax
  223. 00000273  call        F7D64900
  224.  
  225.                 throw new ArgumentException("lastModified specifies too accurate a date", "lastModified");
  226. 00000278  mov         ecx,55321B68h
  227. 0000027d  call        F79C1FB0
  228. 00000282  mov         esi,eax
  229. 00000284  mov         edx,43A1A8h
  230. 00000289  mov         ecx,7000262Eh
  231. 0000028e  call        5449E3A9
  232. 00000293  mov         dword ptr [ebp-68h],eax
  233. 00000296  mov         edx,43A1A8h
  234. 0000029b  mov         ecx,70002684h
  235. 000002a0  call        5449E3A9
  236. 000002a5  push        eax
  237. 000002a6  mov         edx,dword ptr [ebp-68h]
  238. 000002a9  mov         ecx,esi
  239. 000002ab  call        4D040D00
  240. 000002b0  mov         ecx,esi
  241. 000002b2  call        5449ACEE
  242.             {
  243.                 throw new ArgumentException("lastModified should be in UTC", "lastModified");
  244. 000002b7  mov         ecx,55321B68h
  245. 000002bc  call        F79C1FB0
  246. 000002c1  mov         esi,eax
  247. 000002c3  mov         edx,43A1A8h
  248. 000002c8  mov         ecx,7000269Eh
  249. 000002cd  call        5449E3A9
  250. 000002d2  mov         dword ptr [ebp-6Ch],eax
  251. 000002d5  mov         edx,43A1A8h
  252. 000002da  mov         ecx,70002684h
  253. 000002df  call        5449E3A9
  254. 000002e4  push        eax
  255. 000002e5  mov         edx,dword ptr [ebp-6Ch]
  256. 000002e8  mov         ecx,esi
  257. 000002ea  call        4D040D00
  258. 000002ef  mov         ecx,esi
  259. 000002f1  call        5449ACEE
  260. 000002f6  int         3
clone this paste RAW Paste Data