md5-586.masm 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688
  1. IF @Version LT 800
  2. ECHO MASM version 8.00 or later is strongly recommended.
  3. ENDIF
  4. .686
  5. .MODEL FLAT
  6. OPTION DOTNAME
  7. IF @Version LT 800
  8. .text$ SEGMENT PAGE 'CODE'
  9. ELSE
  10. .text$ SEGMENT ALIGN(64) 'CODE'
  11. ENDIF
  12. ALIGN 16
  13. _md5_block_asm_data_order PROC PUBLIC
  14. $L_md5_block_asm_data_order_begin::
  15. push esi
  16. push edi
  17. mov edi,DWORD PTR 12[esp]
  18. mov esi,DWORD PTR 16[esp]
  19. mov ecx,DWORD PTR 20[esp]
  20. push ebp
  21. shl ecx,6
  22. push ebx
  23. add ecx,esi
  24. sub ecx,64
  25. mov eax,DWORD PTR [edi]
  26. push ecx
  27. mov ebx,DWORD PTR 4[edi]
  28. mov ecx,DWORD PTR 8[edi]
  29. mov edx,DWORD PTR 12[edi]
  30. $L000start:
  31. ;
  32. ; R0 section
  33. mov edi,ecx
  34. mov ebp,DWORD PTR [esi]
  35. ; R0 0
  36. xor edi,edx
  37. and edi,ebx
  38. lea eax,DWORD PTR 3614090360[ebp*1+eax]
  39. xor edi,edx
  40. mov ebp,DWORD PTR 4[esi]
  41. add eax,edi
  42. rol eax,7
  43. mov edi,ebx
  44. add eax,ebx
  45. ; R0 1
  46. xor edi,ecx
  47. and edi,eax
  48. lea edx,DWORD PTR 3905402710[ebp*1+edx]
  49. xor edi,ecx
  50. mov ebp,DWORD PTR 8[esi]
  51. add edx,edi
  52. rol edx,12
  53. mov edi,eax
  54. add edx,eax
  55. ; R0 2
  56. xor edi,ebx
  57. and edi,edx
  58. lea ecx,DWORD PTR 606105819[ebp*1+ecx]
  59. xor edi,ebx
  60. mov ebp,DWORD PTR 12[esi]
  61. add ecx,edi
  62. rol ecx,17
  63. mov edi,edx
  64. add ecx,edx
  65. ; R0 3
  66. xor edi,eax
  67. and edi,ecx
  68. lea ebx,DWORD PTR 3250441966[ebp*1+ebx]
  69. xor edi,eax
  70. mov ebp,DWORD PTR 16[esi]
  71. add ebx,edi
  72. rol ebx,22
  73. mov edi,ecx
  74. add ebx,ecx
  75. ; R0 4
  76. xor edi,edx
  77. and edi,ebx
  78. lea eax,DWORD PTR 4118548399[ebp*1+eax]
  79. xor edi,edx
  80. mov ebp,DWORD PTR 20[esi]
  81. add eax,edi
  82. rol eax,7
  83. mov edi,ebx
  84. add eax,ebx
  85. ; R0 5
  86. xor edi,ecx
  87. and edi,eax
  88. lea edx,DWORD PTR 1200080426[ebp*1+edx]
  89. xor edi,ecx
  90. mov ebp,DWORD PTR 24[esi]
  91. add edx,edi
  92. rol edx,12
  93. mov edi,eax
  94. add edx,eax
  95. ; R0 6
  96. xor edi,ebx
  97. and edi,edx
  98. lea ecx,DWORD PTR 2821735955[ebp*1+ecx]
  99. xor edi,ebx
  100. mov ebp,DWORD PTR 28[esi]
  101. add ecx,edi
  102. rol ecx,17
  103. mov edi,edx
  104. add ecx,edx
  105. ; R0 7
  106. xor edi,eax
  107. and edi,ecx
  108. lea ebx,DWORD PTR 4249261313[ebp*1+ebx]
  109. xor edi,eax
  110. mov ebp,DWORD PTR 32[esi]
  111. add ebx,edi
  112. rol ebx,22
  113. mov edi,ecx
  114. add ebx,ecx
  115. ; R0 8
  116. xor edi,edx
  117. and edi,ebx
  118. lea eax,DWORD PTR 1770035416[ebp*1+eax]
  119. xor edi,edx
  120. mov ebp,DWORD PTR 36[esi]
  121. add eax,edi
  122. rol eax,7
  123. mov edi,ebx
  124. add eax,ebx
  125. ; R0 9
  126. xor edi,ecx
  127. and edi,eax
  128. lea edx,DWORD PTR 2336552879[ebp*1+edx]
  129. xor edi,ecx
  130. mov ebp,DWORD PTR 40[esi]
  131. add edx,edi
  132. rol edx,12
  133. mov edi,eax
  134. add edx,eax
  135. ; R0 10
  136. xor edi,ebx
  137. and edi,edx
  138. lea ecx,DWORD PTR 4294925233[ebp*1+ecx]
  139. xor edi,ebx
  140. mov ebp,DWORD PTR 44[esi]
  141. add ecx,edi
  142. rol ecx,17
  143. mov edi,edx
  144. add ecx,edx
  145. ; R0 11
  146. xor edi,eax
  147. and edi,ecx
  148. lea ebx,DWORD PTR 2304563134[ebp*1+ebx]
  149. xor edi,eax
  150. mov ebp,DWORD PTR 48[esi]
  151. add ebx,edi
  152. rol ebx,22
  153. mov edi,ecx
  154. add ebx,ecx
  155. ; R0 12
  156. xor edi,edx
  157. and edi,ebx
  158. lea eax,DWORD PTR 1804603682[ebp*1+eax]
  159. xor edi,edx
  160. mov ebp,DWORD PTR 52[esi]
  161. add eax,edi
  162. rol eax,7
  163. mov edi,ebx
  164. add eax,ebx
  165. ; R0 13
  166. xor edi,ecx
  167. and edi,eax
  168. lea edx,DWORD PTR 4254626195[ebp*1+edx]
  169. xor edi,ecx
  170. mov ebp,DWORD PTR 56[esi]
  171. add edx,edi
  172. rol edx,12
  173. mov edi,eax
  174. add edx,eax
  175. ; R0 14
  176. xor edi,ebx
  177. and edi,edx
  178. lea ecx,DWORD PTR 2792965006[ebp*1+ecx]
  179. xor edi,ebx
  180. mov ebp,DWORD PTR 60[esi]
  181. add ecx,edi
  182. rol ecx,17
  183. mov edi,edx
  184. add ecx,edx
  185. ; R0 15
  186. xor edi,eax
  187. and edi,ecx
  188. lea ebx,DWORD PTR 1236535329[ebp*1+ebx]
  189. xor edi,eax
  190. mov ebp,DWORD PTR 4[esi]
  191. add ebx,edi
  192. rol ebx,22
  193. mov edi,ecx
  194. add ebx,ecx
  195. ;
  196. ; R1 section
  197. ; R1 16
  198. xor edi,ebx
  199. and edi,edx
  200. lea eax,DWORD PTR 4129170786[ebp*1+eax]
  201. xor edi,ecx
  202. mov ebp,DWORD PTR 24[esi]
  203. add eax,edi
  204. mov edi,ebx
  205. rol eax,5
  206. add eax,ebx
  207. ; R1 17
  208. xor edi,eax
  209. and edi,ecx
  210. lea edx,DWORD PTR 3225465664[ebp*1+edx]
  211. xor edi,ebx
  212. mov ebp,DWORD PTR 44[esi]
  213. add edx,edi
  214. mov edi,eax
  215. rol edx,9
  216. add edx,eax
  217. ; R1 18
  218. xor edi,edx
  219. and edi,ebx
  220. lea ecx,DWORD PTR 643717713[ebp*1+ecx]
  221. xor edi,eax
  222. mov ebp,DWORD PTR [esi]
  223. add ecx,edi
  224. mov edi,edx
  225. rol ecx,14
  226. add ecx,edx
  227. ; R1 19
  228. xor edi,ecx
  229. and edi,eax
  230. lea ebx,DWORD PTR 3921069994[ebp*1+ebx]
  231. xor edi,edx
  232. mov ebp,DWORD PTR 20[esi]
  233. add ebx,edi
  234. mov edi,ecx
  235. rol ebx,20
  236. add ebx,ecx
  237. ; R1 20
  238. xor edi,ebx
  239. and edi,edx
  240. lea eax,DWORD PTR 3593408605[ebp*1+eax]
  241. xor edi,ecx
  242. mov ebp,DWORD PTR 40[esi]
  243. add eax,edi
  244. mov edi,ebx
  245. rol eax,5
  246. add eax,ebx
  247. ; R1 21
  248. xor edi,eax
  249. and edi,ecx
  250. lea edx,DWORD PTR 38016083[ebp*1+edx]
  251. xor edi,ebx
  252. mov ebp,DWORD PTR 60[esi]
  253. add edx,edi
  254. mov edi,eax
  255. rol edx,9
  256. add edx,eax
  257. ; R1 22
  258. xor edi,edx
  259. and edi,ebx
  260. lea ecx,DWORD PTR 3634488961[ebp*1+ecx]
  261. xor edi,eax
  262. mov ebp,DWORD PTR 16[esi]
  263. add ecx,edi
  264. mov edi,edx
  265. rol ecx,14
  266. add ecx,edx
  267. ; R1 23
  268. xor edi,ecx
  269. and edi,eax
  270. lea ebx,DWORD PTR 3889429448[ebp*1+ebx]
  271. xor edi,edx
  272. mov ebp,DWORD PTR 36[esi]
  273. add ebx,edi
  274. mov edi,ecx
  275. rol ebx,20
  276. add ebx,ecx
  277. ; R1 24
  278. xor edi,ebx
  279. and edi,edx
  280. lea eax,DWORD PTR 568446438[ebp*1+eax]
  281. xor edi,ecx
  282. mov ebp,DWORD PTR 56[esi]
  283. add eax,edi
  284. mov edi,ebx
  285. rol eax,5
  286. add eax,ebx
  287. ; R1 25
  288. xor edi,eax
  289. and edi,ecx
  290. lea edx,DWORD PTR 3275163606[ebp*1+edx]
  291. xor edi,ebx
  292. mov ebp,DWORD PTR 12[esi]
  293. add edx,edi
  294. mov edi,eax
  295. rol edx,9
  296. add edx,eax
  297. ; R1 26
  298. xor edi,edx
  299. and edi,ebx
  300. lea ecx,DWORD PTR 4107603335[ebp*1+ecx]
  301. xor edi,eax
  302. mov ebp,DWORD PTR 32[esi]
  303. add ecx,edi
  304. mov edi,edx
  305. rol ecx,14
  306. add ecx,edx
  307. ; R1 27
  308. xor edi,ecx
  309. and edi,eax
  310. lea ebx,DWORD PTR 1163531501[ebp*1+ebx]
  311. xor edi,edx
  312. mov ebp,DWORD PTR 52[esi]
  313. add ebx,edi
  314. mov edi,ecx
  315. rol ebx,20
  316. add ebx,ecx
  317. ; R1 28
  318. xor edi,ebx
  319. and edi,edx
  320. lea eax,DWORD PTR 2850285829[ebp*1+eax]
  321. xor edi,ecx
  322. mov ebp,DWORD PTR 8[esi]
  323. add eax,edi
  324. mov edi,ebx
  325. rol eax,5
  326. add eax,ebx
  327. ; R1 29
  328. xor edi,eax
  329. and edi,ecx
  330. lea edx,DWORD PTR 4243563512[ebp*1+edx]
  331. xor edi,ebx
  332. mov ebp,DWORD PTR 28[esi]
  333. add edx,edi
  334. mov edi,eax
  335. rol edx,9
  336. add edx,eax
  337. ; R1 30
  338. xor edi,edx
  339. and edi,ebx
  340. lea ecx,DWORD PTR 1735328473[ebp*1+ecx]
  341. xor edi,eax
  342. mov ebp,DWORD PTR 48[esi]
  343. add ecx,edi
  344. mov edi,edx
  345. rol ecx,14
  346. add ecx,edx
  347. ; R1 31
  348. xor edi,ecx
  349. and edi,eax
  350. lea ebx,DWORD PTR 2368359562[ebp*1+ebx]
  351. xor edi,edx
  352. mov ebp,DWORD PTR 20[esi]
  353. add ebx,edi
  354. mov edi,ecx
  355. rol ebx,20
  356. add ebx,ecx
  357. ;
  358. ; R2 section
  359. ; R2 32
  360. xor edi,edx
  361. xor edi,ebx
  362. lea eax,DWORD PTR 4294588738[ebp*1+eax]
  363. add eax,edi
  364. mov ebp,DWORD PTR 32[esi]
  365. rol eax,4
  366. mov edi,ebx
  367. ; R2 33
  368. add eax,ebx
  369. xor edi,ecx
  370. lea edx,DWORD PTR 2272392833[ebp*1+edx]
  371. xor edi,eax
  372. mov ebp,DWORD PTR 44[esi]
  373. add edx,edi
  374. mov edi,eax
  375. rol edx,11
  376. add edx,eax
  377. ; R2 34
  378. xor edi,ebx
  379. xor edi,edx
  380. lea ecx,DWORD PTR 1839030562[ebp*1+ecx]
  381. add ecx,edi
  382. mov ebp,DWORD PTR 56[esi]
  383. rol ecx,16
  384. mov edi,edx
  385. ; R2 35
  386. add ecx,edx
  387. xor edi,eax
  388. lea ebx,DWORD PTR 4259657740[ebp*1+ebx]
  389. xor edi,ecx
  390. mov ebp,DWORD PTR 4[esi]
  391. add ebx,edi
  392. mov edi,ecx
  393. rol ebx,23
  394. add ebx,ecx
  395. ; R2 36
  396. xor edi,edx
  397. xor edi,ebx
  398. lea eax,DWORD PTR 2763975236[ebp*1+eax]
  399. add eax,edi
  400. mov ebp,DWORD PTR 16[esi]
  401. rol eax,4
  402. mov edi,ebx
  403. ; R2 37
  404. add eax,ebx
  405. xor edi,ecx
  406. lea edx,DWORD PTR 1272893353[ebp*1+edx]
  407. xor edi,eax
  408. mov ebp,DWORD PTR 28[esi]
  409. add edx,edi
  410. mov edi,eax
  411. rol edx,11
  412. add edx,eax
  413. ; R2 38
  414. xor edi,ebx
  415. xor edi,edx
  416. lea ecx,DWORD PTR 4139469664[ebp*1+ecx]
  417. add ecx,edi
  418. mov ebp,DWORD PTR 40[esi]
  419. rol ecx,16
  420. mov edi,edx
  421. ; R2 39
  422. add ecx,edx
  423. xor edi,eax
  424. lea ebx,DWORD PTR 3200236656[ebp*1+ebx]
  425. xor edi,ecx
  426. mov ebp,DWORD PTR 52[esi]
  427. add ebx,edi
  428. mov edi,ecx
  429. rol ebx,23
  430. add ebx,ecx
  431. ; R2 40
  432. xor edi,edx
  433. xor edi,ebx
  434. lea eax,DWORD PTR 681279174[ebp*1+eax]
  435. add eax,edi
  436. mov ebp,DWORD PTR [esi]
  437. rol eax,4
  438. mov edi,ebx
  439. ; R2 41
  440. add eax,ebx
  441. xor edi,ecx
  442. lea edx,DWORD PTR 3936430074[ebp*1+edx]
  443. xor edi,eax
  444. mov ebp,DWORD PTR 12[esi]
  445. add edx,edi
  446. mov edi,eax
  447. rol edx,11
  448. add edx,eax
  449. ; R2 42
  450. xor edi,ebx
  451. xor edi,edx
  452. lea ecx,DWORD PTR 3572445317[ebp*1+ecx]
  453. add ecx,edi
  454. mov ebp,DWORD PTR 24[esi]
  455. rol ecx,16
  456. mov edi,edx
  457. ; R2 43
  458. add ecx,edx
  459. xor edi,eax
  460. lea ebx,DWORD PTR 76029189[ebp*1+ebx]
  461. xor edi,ecx
  462. mov ebp,DWORD PTR 36[esi]
  463. add ebx,edi
  464. mov edi,ecx
  465. rol ebx,23
  466. add ebx,ecx
  467. ; R2 44
  468. xor edi,edx
  469. xor edi,ebx
  470. lea eax,DWORD PTR 3654602809[ebp*1+eax]
  471. add eax,edi
  472. mov ebp,DWORD PTR 48[esi]
  473. rol eax,4
  474. mov edi,ebx
  475. ; R2 45
  476. add eax,ebx
  477. xor edi,ecx
  478. lea edx,DWORD PTR 3873151461[ebp*1+edx]
  479. xor edi,eax
  480. mov ebp,DWORD PTR 60[esi]
  481. add edx,edi
  482. mov edi,eax
  483. rol edx,11
  484. add edx,eax
  485. ; R2 46
  486. xor edi,ebx
  487. xor edi,edx
  488. lea ecx,DWORD PTR 530742520[ebp*1+ecx]
  489. add ecx,edi
  490. mov ebp,DWORD PTR 8[esi]
  491. rol ecx,16
  492. mov edi,edx
  493. ; R2 47
  494. add ecx,edx
  495. xor edi,eax
  496. lea ebx,DWORD PTR 3299628645[ebp*1+ebx]
  497. xor edi,ecx
  498. mov ebp,DWORD PTR [esi]
  499. add ebx,edi
  500. mov edi,-1
  501. rol ebx,23
  502. add ebx,ecx
  503. ;
  504. ; R3 section
  505. ; R3 48
  506. xor edi,edx
  507. or edi,ebx
  508. lea eax,DWORD PTR 4096336452[ebp*1+eax]
  509. xor edi,ecx
  510. mov ebp,DWORD PTR 28[esi]
  511. add eax,edi
  512. mov edi,-1
  513. rol eax,6
  514. xor edi,ecx
  515. add eax,ebx
  516. ; R3 49
  517. or edi,eax
  518. lea edx,DWORD PTR 1126891415[ebp*1+edx]
  519. xor edi,ebx
  520. mov ebp,DWORD PTR 56[esi]
  521. add edx,edi
  522. mov edi,-1
  523. rol edx,10
  524. xor edi,ebx
  525. add edx,eax
  526. ; R3 50
  527. or edi,edx
  528. lea ecx,DWORD PTR 2878612391[ebp*1+ecx]
  529. xor edi,eax
  530. mov ebp,DWORD PTR 20[esi]
  531. add ecx,edi
  532. mov edi,-1
  533. rol ecx,15
  534. xor edi,eax
  535. add ecx,edx
  536. ; R3 51
  537. or edi,ecx
  538. lea ebx,DWORD PTR 4237533241[ebp*1+ebx]
  539. xor edi,edx
  540. mov ebp,DWORD PTR 48[esi]
  541. add ebx,edi
  542. mov edi,-1
  543. rol ebx,21
  544. xor edi,edx
  545. add ebx,ecx
  546. ; R3 52
  547. or edi,ebx
  548. lea eax,DWORD PTR 1700485571[ebp*1+eax]
  549. xor edi,ecx
  550. mov ebp,DWORD PTR 12[esi]
  551. add eax,edi
  552. mov edi,-1
  553. rol eax,6
  554. xor edi,ecx
  555. add eax,ebx
  556. ; R3 53
  557. or edi,eax
  558. lea edx,DWORD PTR 2399980690[ebp*1+edx]
  559. xor edi,ebx
  560. mov ebp,DWORD PTR 40[esi]
  561. add edx,edi
  562. mov edi,-1
  563. rol edx,10
  564. xor edi,ebx
  565. add edx,eax
  566. ; R3 54
  567. or edi,edx
  568. lea ecx,DWORD PTR 4293915773[ebp*1+ecx]
  569. xor edi,eax
  570. mov ebp,DWORD PTR 4[esi]
  571. add ecx,edi
  572. mov edi,-1
  573. rol ecx,15
  574. xor edi,eax
  575. add ecx,edx
  576. ; R3 55
  577. or edi,ecx
  578. lea ebx,DWORD PTR 2240044497[ebp*1+ebx]
  579. xor edi,edx
  580. mov ebp,DWORD PTR 32[esi]
  581. add ebx,edi
  582. mov edi,-1
  583. rol ebx,21
  584. xor edi,edx
  585. add ebx,ecx
  586. ; R3 56
  587. or edi,ebx
  588. lea eax,DWORD PTR 1873313359[ebp*1+eax]
  589. xor edi,ecx
  590. mov ebp,DWORD PTR 60[esi]
  591. add eax,edi
  592. mov edi,-1
  593. rol eax,6
  594. xor edi,ecx
  595. add eax,ebx
  596. ; R3 57
  597. or edi,eax
  598. lea edx,DWORD PTR 4264355552[ebp*1+edx]
  599. xor edi,ebx
  600. mov ebp,DWORD PTR 24[esi]
  601. add edx,edi
  602. mov edi,-1
  603. rol edx,10
  604. xor edi,ebx
  605. add edx,eax
  606. ; R3 58
  607. or edi,edx
  608. lea ecx,DWORD PTR 2734768916[ebp*1+ecx]
  609. xor edi,eax
  610. mov ebp,DWORD PTR 52[esi]
  611. add ecx,edi
  612. mov edi,-1
  613. rol ecx,15
  614. xor edi,eax
  615. add ecx,edx
  616. ; R3 59
  617. or edi,ecx
  618. lea ebx,DWORD PTR 1309151649[ebp*1+ebx]
  619. xor edi,edx
  620. mov ebp,DWORD PTR 16[esi]
  621. add ebx,edi
  622. mov edi,-1
  623. rol ebx,21
  624. xor edi,edx
  625. add ebx,ecx
  626. ; R3 60
  627. or edi,ebx
  628. lea eax,DWORD PTR 4149444226[ebp*1+eax]
  629. xor edi,ecx
  630. mov ebp,DWORD PTR 44[esi]
  631. add eax,edi
  632. mov edi,-1
  633. rol eax,6
  634. xor edi,ecx
  635. add eax,ebx
  636. ; R3 61
  637. or edi,eax
  638. lea edx,DWORD PTR 3174756917[ebp*1+edx]
  639. xor edi,ebx
  640. mov ebp,DWORD PTR 8[esi]
  641. add edx,edi
  642. mov edi,-1
  643. rol edx,10
  644. xor edi,ebx
  645. add edx,eax
  646. ; R3 62
  647. or edi,edx
  648. lea ecx,DWORD PTR 718787259[ebp*1+ecx]
  649. xor edi,eax
  650. mov ebp,DWORD PTR 36[esi]
  651. add ecx,edi
  652. mov edi,-1
  653. rol ecx,15
  654. xor edi,eax
  655. add ecx,edx
  656. ; R3 63
  657. or edi,ecx
  658. lea ebx,DWORD PTR 3951481745[ebp*1+ebx]
  659. xor edi,edx
  660. mov ebp,DWORD PTR 24[esp]
  661. add ebx,edi
  662. add esi,64
  663. rol ebx,21
  664. mov edi,DWORD PTR [ebp]
  665. add ebx,ecx
  666. add eax,edi
  667. mov edi,DWORD PTR 4[ebp]
  668. add ebx,edi
  669. mov edi,DWORD PTR 8[ebp]
  670. add ecx,edi
  671. mov edi,DWORD PTR 12[ebp]
  672. add edx,edi
  673. mov DWORD PTR [ebp],eax
  674. mov DWORD PTR 4[ebp],ebx
  675. mov edi,DWORD PTR [esp]
  676. mov DWORD PTR 8[ebp],ecx
  677. mov DWORD PTR 12[ebp],edx
  678. cmp edi,esi
  679. jae $L000start
  680. pop eax
  681. pop ebx
  682. pop ebp
  683. pop edi
  684. pop esi
  685. ret
  686. _md5_block_asm_data_order ENDP
  687. .text$ ENDS
  688. END