rmd_586.asm 30 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969
  1. %ifidn __OUTPUT_FORMAT__,obj
  2. section code use32 class=code align=256
  3. %elifidn __OUTPUT_FORMAT__,win32
  4. [email protected] equ 1
  5. section .text code align=256
  6. %else
  7. section .text code
  8. %endif
  9. global _ripemd160_block_asm_data_order
  10. align 16
  11. _ripemd160_block_asm_data_order:
  12. L$_ripemd160_block_asm_data_order_begin:
  13. mov edx,DWORD [4+esp]
  14. mov eax,DWORD [8+esp]
  15. push esi
  16. mov ecx,DWORD [edx]
  17. push edi
  18. mov esi,DWORD [4+edx]
  19. push ebp
  20. mov edi,DWORD [8+edx]
  21. push ebx
  22. sub esp,108
  23. L$000start:
  24. ;
  25. mov ebx,DWORD [eax]
  26. mov ebp,DWORD [4+eax]
  27. mov DWORD [esp],ebx
  28. mov DWORD [4+esp],ebp
  29. mov ebx,DWORD [8+eax]
  30. mov ebp,DWORD [12+eax]
  31. mov DWORD [8+esp],ebx
  32. mov DWORD [12+esp],ebp
  33. mov ebx,DWORD [16+eax]
  34. mov ebp,DWORD [20+eax]
  35. mov DWORD [16+esp],ebx
  36. mov DWORD [20+esp],ebp
  37. mov ebx,DWORD [24+eax]
  38. mov ebp,DWORD [28+eax]
  39. mov DWORD [24+esp],ebx
  40. mov DWORD [28+esp],ebp
  41. mov ebx,DWORD [32+eax]
  42. mov ebp,DWORD [36+eax]
  43. mov DWORD [32+esp],ebx
  44. mov DWORD [36+esp],ebp
  45. mov ebx,DWORD [40+eax]
  46. mov ebp,DWORD [44+eax]
  47. mov DWORD [40+esp],ebx
  48. mov DWORD [44+esp],ebp
  49. mov ebx,DWORD [48+eax]
  50. mov ebp,DWORD [52+eax]
  51. mov DWORD [48+esp],ebx
  52. mov DWORD [52+esp],ebp
  53. mov ebx,DWORD [56+eax]
  54. mov ebp,DWORD [60+eax]
  55. mov DWORD [56+esp],ebx
  56. mov DWORD [60+esp],ebp
  57. mov eax,edi
  58. mov ebx,DWORD [12+edx]
  59. mov ebp,DWORD [16+edx]
  60. ; 0
  61. xor eax,ebx
  62. mov edx,DWORD [esp]
  63. xor eax,esi
  64. add ecx,edx
  65. rol edi,10
  66. add ecx,eax
  67. mov eax,esi
  68. rol ecx,11
  69. add ecx,ebp
  70. ; 1
  71. xor eax,edi
  72. mov edx,DWORD [4+esp]
  73. xor eax,ecx
  74. add ebp,eax
  75. mov eax,ecx
  76. rol esi,10
  77. add ebp,edx
  78. xor eax,esi
  79. rol ebp,14
  80. add ebp,ebx
  81. ; 2
  82. mov edx,DWORD [8+esp]
  83. xor eax,ebp
  84. add ebx,edx
  85. rol ecx,10
  86. add ebx,eax
  87. mov eax,ebp
  88. rol ebx,15
  89. add ebx,edi
  90. ; 3
  91. xor eax,ecx
  92. mov edx,DWORD [12+esp]
  93. xor eax,ebx
  94. add edi,eax
  95. mov eax,ebx
  96. rol ebp,10
  97. add edi,edx
  98. xor eax,ebp
  99. rol edi,12
  100. add edi,esi
  101. ; 4
  102. mov edx,DWORD [16+esp]
  103. xor eax,edi
  104. add esi,edx
  105. rol ebx,10
  106. add esi,eax
  107. mov eax,edi
  108. rol esi,5
  109. add esi,ecx
  110. ; 5
  111. xor eax,ebx
  112. mov edx,DWORD [20+esp]
  113. xor eax,esi
  114. add ecx,eax
  115. mov eax,esi
  116. rol edi,10
  117. add ecx,edx
  118. xor eax,edi
  119. rol ecx,8
  120. add ecx,ebp
  121. ; 6
  122. mov edx,DWORD [24+esp]
  123. xor eax,ecx
  124. add ebp,edx
  125. rol esi,10
  126. add ebp,eax
  127. mov eax,ecx
  128. rol ebp,7
  129. add ebp,ebx
  130. ; 7
  131. xor eax,esi
  132. mov edx,DWORD [28+esp]
  133. xor eax,ebp
  134. add ebx,eax
  135. mov eax,ebp
  136. rol ecx,10
  137. add ebx,edx
  138. xor eax,ecx
  139. rol ebx,9
  140. add ebx,edi
  141. ; 8
  142. mov edx,DWORD [32+esp]
  143. xor eax,ebx
  144. add edi,edx
  145. rol ebp,10
  146. add edi,eax
  147. mov eax,ebx
  148. rol edi,11
  149. add edi,esi
  150. ; 9
  151. xor eax,ebp
  152. mov edx,DWORD [36+esp]
  153. xor eax,edi
  154. add esi,eax
  155. mov eax,edi
  156. rol ebx,10
  157. add esi,edx
  158. xor eax,ebx
  159. rol esi,13
  160. add esi,ecx
  161. ; 10
  162. mov edx,DWORD [40+esp]
  163. xor eax,esi
  164. add ecx,edx
  165. rol edi,10
  166. add ecx,eax
  167. mov eax,esi
  168. rol ecx,14
  169. add ecx,ebp
  170. ; 11
  171. xor eax,edi
  172. mov edx,DWORD [44+esp]
  173. xor eax,ecx
  174. add ebp,eax
  175. mov eax,ecx
  176. rol esi,10
  177. add ebp,edx
  178. xor eax,esi
  179. rol ebp,15
  180. add ebp,ebx
  181. ; 12
  182. mov edx,DWORD [48+esp]
  183. xor eax,ebp
  184. add ebx,edx
  185. rol ecx,10
  186. add ebx,eax
  187. mov eax,ebp
  188. rol ebx,6
  189. add ebx,edi
  190. ; 13
  191. xor eax,ecx
  192. mov edx,DWORD [52+esp]
  193. xor eax,ebx
  194. add edi,eax
  195. mov eax,ebx
  196. rol ebp,10
  197. add edi,edx
  198. xor eax,ebp
  199. rol edi,7
  200. add edi,esi
  201. ; 14
  202. mov edx,DWORD [56+esp]
  203. xor eax,edi
  204. add esi,edx
  205. rol ebx,10
  206. add esi,eax
  207. mov eax,edi
  208. rol esi,9
  209. add esi,ecx
  210. ; 15
  211. xor eax,ebx
  212. mov edx,DWORD [60+esp]
  213. xor eax,esi
  214. add ecx,eax
  215. mov eax,-1
  216. rol edi,10
  217. add ecx,edx
  218. mov edx,DWORD [28+esp]
  219. rol ecx,8
  220. add ecx,ebp
  221. ; 16
  222. add ebp,edx
  223. mov edx,esi
  224. sub eax,ecx
  225. and edx,ecx
  226. and eax,edi
  227. or edx,eax
  228. mov eax,DWORD [16+esp]
  229. rol esi,10
  230. lea ebp,[1518500249+edx*1+ebp]
  231. mov edx,-1
  232. rol ebp,7
  233. add ebp,ebx
  234. ; 17
  235. add ebx,eax
  236. mov eax,ecx
  237. sub edx,ebp
  238. and eax,ebp
  239. and edx,esi
  240. or eax,edx
  241. mov edx,DWORD [52+esp]
  242. rol ecx,10
  243. lea ebx,[1518500249+eax*1+ebx]
  244. mov eax,-1
  245. rol ebx,6
  246. add ebx,edi
  247. ; 18
  248. add edi,edx
  249. mov edx,ebp
  250. sub eax,ebx
  251. and edx,ebx
  252. and eax,ecx
  253. or edx,eax
  254. mov eax,DWORD [4+esp]
  255. rol ebp,10
  256. lea edi,[1518500249+edx*1+edi]
  257. mov edx,-1
  258. rol edi,8
  259. add edi,esi
  260. ; 19
  261. add esi,eax
  262. mov eax,ebx
  263. sub edx,edi
  264. and eax,edi
  265. and edx,ebp
  266. or eax,edx
  267. mov edx,DWORD [40+esp]
  268. rol ebx,10
  269. lea esi,[1518500249+eax*1+esi]
  270. mov eax,-1
  271. rol esi,13
  272. add esi,ecx
  273. ; 20
  274. add ecx,edx
  275. mov edx,edi
  276. sub eax,esi
  277. and edx,esi
  278. and eax,ebx
  279. or edx,eax
  280. mov eax,DWORD [24+esp]
  281. rol edi,10
  282. lea ecx,[1518500249+edx*1+ecx]
  283. mov edx,-1
  284. rol ecx,11
  285. add ecx,ebp
  286. ; 21
  287. add ebp,eax
  288. mov eax,esi
  289. sub edx,ecx
  290. and eax,ecx
  291. and edx,edi
  292. or eax,edx
  293. mov edx,DWORD [60+esp]
  294. rol esi,10
  295. lea ebp,[1518500249+eax*1+ebp]
  296. mov eax,-1
  297. rol ebp,9
  298. add ebp,ebx
  299. ; 22
  300. add ebx,edx
  301. mov edx,ecx
  302. sub eax,ebp
  303. and edx,ebp
  304. and eax,esi
  305. or edx,eax
  306. mov eax,DWORD [12+esp]
  307. rol ecx,10
  308. lea ebx,[1518500249+edx*1+ebx]
  309. mov edx,-1
  310. rol ebx,7
  311. add ebx,edi
  312. ; 23
  313. add edi,eax
  314. mov eax,ebp
  315. sub edx,ebx
  316. and eax,ebx
  317. and edx,ecx
  318. or eax,edx
  319. mov edx,DWORD [48+esp]
  320. rol ebp,10
  321. lea edi,[1518500249+eax*1+edi]
  322. mov eax,-1
  323. rol edi,15
  324. add edi,esi
  325. ; 24
  326. add esi,edx
  327. mov edx,ebx
  328. sub eax,edi
  329. and edx,edi
  330. and eax,ebp
  331. or edx,eax
  332. mov eax,DWORD [esp]
  333. rol ebx,10
  334. lea esi,[1518500249+edx*1+esi]
  335. mov edx,-1
  336. rol esi,7
  337. add esi,ecx
  338. ; 25
  339. add ecx,eax
  340. mov eax,edi
  341. sub edx,esi
  342. and eax,esi
  343. and edx,ebx
  344. or eax,edx
  345. mov edx,DWORD [36+esp]
  346. rol edi,10
  347. lea ecx,[1518500249+eax*1+ecx]
  348. mov eax,-1
  349. rol ecx,12
  350. add ecx,ebp
  351. ; 26
  352. add ebp,edx
  353. mov edx,esi
  354. sub eax,ecx
  355. and edx,ecx
  356. and eax,edi
  357. or edx,eax
  358. mov eax,DWORD [20+esp]
  359. rol esi,10
  360. lea ebp,[1518500249+edx*1+ebp]
  361. mov edx,-1
  362. rol ebp,15
  363. add ebp,ebx
  364. ; 27
  365. add ebx,eax
  366. mov eax,ecx
  367. sub edx,ebp
  368. and eax,ebp
  369. and edx,esi
  370. or eax,edx
  371. mov edx,DWORD [8+esp]
  372. rol ecx,10
  373. lea ebx,[1518500249+eax*1+ebx]
  374. mov eax,-1
  375. rol ebx,9
  376. add ebx,edi
  377. ; 28
  378. add edi,edx
  379. mov edx,ebp
  380. sub eax,ebx
  381. and edx,ebx
  382. and eax,ecx
  383. or edx,eax
  384. mov eax,DWORD [56+esp]
  385. rol ebp,10
  386. lea edi,[1518500249+edx*1+edi]
  387. mov edx,-1
  388. rol edi,11
  389. add edi,esi
  390. ; 29
  391. add esi,eax
  392. mov eax,ebx
  393. sub edx,edi
  394. and eax,edi
  395. and edx,ebp
  396. or eax,edx
  397. mov edx,DWORD [44+esp]
  398. rol ebx,10
  399. lea esi,[1518500249+eax*1+esi]
  400. mov eax,-1
  401. rol esi,7
  402. add esi,ecx
  403. ; 30
  404. add ecx,edx
  405. mov edx,edi
  406. sub eax,esi
  407. and edx,esi
  408. and eax,ebx
  409. or edx,eax
  410. mov eax,DWORD [32+esp]
  411. rol edi,10
  412. lea ecx,[1518500249+edx*1+ecx]
  413. mov edx,-1
  414. rol ecx,13
  415. add ecx,ebp
  416. ; 31
  417. add ebp,eax
  418. mov eax,esi
  419. sub edx,ecx
  420. and eax,ecx
  421. and edx,edi
  422. or eax,edx
  423. mov edx,-1
  424. rol esi,10
  425. lea ebp,[1518500249+eax*1+ebp]
  426. sub edx,ecx
  427. rol ebp,12
  428. add ebp,ebx
  429. ; 32
  430. mov eax,DWORD [12+esp]
  431. or edx,ebp
  432. add ebx,eax
  433. xor edx,esi
  434. mov eax,-1
  435. rol ecx,10
  436. lea ebx,[1859775393+edx*1+ebx]
  437. sub eax,ebp
  438. rol ebx,11
  439. add ebx,edi
  440. ; 33
  441. mov edx,DWORD [40+esp]
  442. or eax,ebx
  443. add edi,edx
  444. xor eax,ecx
  445. mov edx,-1
  446. rol ebp,10
  447. lea edi,[1859775393+eax*1+edi]
  448. sub edx,ebx
  449. rol edi,13
  450. add edi,esi
  451. ; 34
  452. mov eax,DWORD [56+esp]
  453. or edx,edi
  454. add esi,eax
  455. xor edx,ebp
  456. mov eax,-1
  457. rol ebx,10
  458. lea esi,[1859775393+edx*1+esi]
  459. sub eax,edi
  460. rol esi,6
  461. add esi,ecx
  462. ; 35
  463. mov edx,DWORD [16+esp]
  464. or eax,esi
  465. add ecx,edx
  466. xor eax,ebx
  467. mov edx,-1
  468. rol edi,10
  469. lea ecx,[1859775393+eax*1+ecx]
  470. sub edx,esi
  471. rol ecx,7
  472. add ecx,ebp
  473. ; 36
  474. mov eax,DWORD [36+esp]
  475. or edx,ecx
  476. add ebp,eax
  477. xor edx,edi
  478. mov eax,-1
  479. rol esi,10
  480. lea ebp,[1859775393+edx*1+ebp]
  481. sub eax,ecx
  482. rol ebp,14
  483. add ebp,ebx
  484. ; 37
  485. mov edx,DWORD [60+esp]
  486. or eax,ebp
  487. add ebx,edx
  488. xor eax,esi
  489. mov edx,-1
  490. rol ecx,10
  491. lea ebx,[1859775393+eax*1+ebx]
  492. sub edx,ebp
  493. rol ebx,9
  494. add ebx,edi
  495. ; 38
  496. mov eax,DWORD [32+esp]
  497. or edx,ebx
  498. add edi,eax
  499. xor edx,ecx
  500. mov eax,-1
  501. rol ebp,10
  502. lea edi,[1859775393+edx*1+edi]
  503. sub eax,ebx
  504. rol edi,13
  505. add edi,esi
  506. ; 39
  507. mov edx,DWORD [4+esp]
  508. or eax,edi
  509. add esi,edx
  510. xor eax,ebp
  511. mov edx,-1
  512. rol ebx,10
  513. lea esi,[1859775393+eax*1+esi]
  514. sub edx,edi
  515. rol esi,15
  516. add esi,ecx
  517. ; 40
  518. mov eax,DWORD [8+esp]
  519. or edx,esi
  520. add ecx,eax
  521. xor edx,ebx
  522. mov eax,-1
  523. rol edi,10
  524. lea ecx,[1859775393+edx*1+ecx]
  525. sub eax,esi
  526. rol ecx,14
  527. add ecx,ebp
  528. ; 41
  529. mov edx,DWORD [28+esp]
  530. or eax,ecx
  531. add ebp,edx
  532. xor eax,edi
  533. mov edx,-1
  534. rol esi,10
  535. lea ebp,[1859775393+eax*1+ebp]
  536. sub edx,ecx
  537. rol ebp,8
  538. add ebp,ebx
  539. ; 42
  540. mov eax,DWORD [esp]
  541. or edx,ebp
  542. add ebx,eax
  543. xor edx,esi
  544. mov eax,-1
  545. rol ecx,10
  546. lea ebx,[1859775393+edx*1+ebx]
  547. sub eax,ebp
  548. rol ebx,13
  549. add ebx,edi
  550. ; 43
  551. mov edx,DWORD [24+esp]
  552. or eax,ebx
  553. add edi,edx
  554. xor eax,ecx
  555. mov edx,-1
  556. rol ebp,10
  557. lea edi,[1859775393+eax*1+edi]
  558. sub edx,ebx
  559. rol edi,6
  560. add edi,esi
  561. ; 44
  562. mov eax,DWORD [52+esp]
  563. or edx,edi
  564. add esi,eax
  565. xor edx,ebp
  566. mov eax,-1
  567. rol ebx,10
  568. lea esi,[1859775393+edx*1+esi]
  569. sub eax,edi
  570. rol esi,5
  571. add esi,ecx
  572. ; 45
  573. mov edx,DWORD [44+esp]
  574. or eax,esi
  575. add ecx,edx
  576. xor eax,ebx
  577. mov edx,-1
  578. rol edi,10
  579. lea ecx,[1859775393+eax*1+ecx]
  580. sub edx,esi
  581. rol ecx,12
  582. add ecx,ebp
  583. ; 46
  584. mov eax,DWORD [20+esp]
  585. or edx,ecx
  586. add ebp,eax
  587. xor edx,edi
  588. mov eax,-1
  589. rol esi,10
  590. lea ebp,[1859775393+edx*1+ebp]
  591. sub eax,ecx
  592. rol ebp,7
  593. add ebp,ebx
  594. ; 47
  595. mov edx,DWORD [48+esp]
  596. or eax,ebp
  597. add ebx,edx
  598. xor eax,esi
  599. mov edx,-1
  600. rol ecx,10
  601. lea ebx,[1859775393+eax*1+ebx]
  602. mov eax,ecx
  603. rol ebx,5
  604. add ebx,edi
  605. ; 48
  606. sub edx,ecx
  607. and eax,ebx
  608. and edx,ebp
  609. or edx,eax
  610. mov eax,DWORD [4+esp]
  611. rol ebp,10
  612. lea edi,[2400959708+edx*1+edi]
  613. mov edx,-1
  614. add edi,eax
  615. mov eax,ebp
  616. rol edi,11
  617. add edi,esi
  618. ; 49
  619. sub edx,ebp
  620. and eax,edi
  621. and edx,ebx
  622. or edx,eax
  623. mov eax,DWORD [36+esp]
  624. rol ebx,10
  625. lea esi,[2400959708+edx*1+esi]
  626. mov edx,-1
  627. add esi,eax
  628. mov eax,ebx
  629. rol esi,12
  630. add esi,ecx
  631. ; 50
  632. sub edx,ebx
  633. and eax,esi
  634. and edx,edi
  635. or edx,eax
  636. mov eax,DWORD [44+esp]
  637. rol edi,10
  638. lea ecx,[2400959708+edx*1+ecx]
  639. mov edx,-1
  640. add ecx,eax
  641. mov eax,edi
  642. rol ecx,14
  643. add ecx,ebp
  644. ; 51
  645. sub edx,edi
  646. and eax,ecx
  647. and edx,esi
  648. or edx,eax
  649. mov eax,DWORD [40+esp]
  650. rol esi,10
  651. lea ebp,[2400959708+edx*1+ebp]
  652. mov edx,-1
  653. add ebp,eax
  654. mov eax,esi
  655. rol ebp,15
  656. add ebp,ebx
  657. ; 52
  658. sub edx,esi
  659. and eax,ebp
  660. and edx,ecx
  661. or edx,eax
  662. mov eax,DWORD [esp]
  663. rol ecx,10
  664. lea ebx,[2400959708+edx*1+ebx]
  665. mov edx,-1
  666. add ebx,eax
  667. mov eax,ecx
  668. rol ebx,14
  669. add ebx,edi
  670. ; 53
  671. sub edx,ecx
  672. and eax,ebx
  673. and edx,ebp
  674. or edx,eax
  675. mov eax,DWORD [32+esp]
  676. rol ebp,10
  677. lea edi,[2400959708+edx*1+edi]
  678. mov edx,-1
  679. add edi,eax
  680. mov eax,ebp
  681. rol edi,15
  682. add edi,esi
  683. ; 54
  684. sub edx,ebp
  685. and eax,edi
  686. and edx,ebx
  687. or edx,eax
  688. mov eax,DWORD [48+esp]
  689. rol ebx,10
  690. lea esi,[2400959708+edx*1+esi]
  691. mov edx,-1
  692. add esi,eax
  693. mov eax,ebx
  694. rol esi,9
  695. add esi,ecx
  696. ; 55
  697. sub edx,ebx
  698. and eax,esi
  699. and edx,edi
  700. or edx,eax
  701. mov eax,DWORD [16+esp]
  702. rol edi,10
  703. lea ecx,[2400959708+edx*1+ecx]
  704. mov edx,-1
  705. add ecx,eax
  706. mov eax,edi
  707. rol ecx,8
  708. add ecx,ebp
  709. ; 56
  710. sub edx,edi
  711. and eax,ecx
  712. and edx,esi
  713. or edx,eax
  714. mov eax,DWORD [52+esp]
  715. rol esi,10
  716. lea ebp,[2400959708+edx*1+ebp]
  717. mov edx,-1
  718. add ebp,eax
  719. mov eax,esi
  720. rol ebp,9
  721. add ebp,ebx
  722. ; 57
  723. sub edx,esi
  724. and eax,ebp
  725. and edx,ecx
  726. or edx,eax
  727. mov eax,DWORD [12+esp]
  728. rol ecx,10
  729. lea ebx,[2400959708+edx*1+ebx]
  730. mov edx,-1
  731. add ebx,eax
  732. mov eax,ecx
  733. rol ebx,14
  734. add ebx,edi
  735. ; 58
  736. sub edx,ecx
  737. and eax,ebx
  738. and edx,ebp
  739. or edx,eax
  740. mov eax,DWORD [28+esp]
  741. rol ebp,10
  742. lea edi,[2400959708+edx*1+edi]
  743. mov edx,-1
  744. add edi,eax
  745. mov eax,ebp
  746. rol edi,5
  747. add edi,esi
  748. ; 59
  749. sub edx,ebp
  750. and eax,edi
  751. and edx,ebx
  752. or edx,eax
  753. mov eax,DWORD [60+esp]
  754. rol ebx,10
  755. lea esi,[2400959708+edx*1+esi]
  756. mov edx,-1
  757. add esi,eax
  758. mov eax,ebx
  759. rol esi,6
  760. add esi,ecx
  761. ; 60
  762. sub edx,ebx
  763. and eax,esi
  764. and edx,edi
  765. or edx,eax
  766. mov eax,DWORD [56+esp]
  767. rol edi,10
  768. lea ecx,[2400959708+edx*1+ecx]
  769. mov edx,-1
  770. add ecx,eax
  771. mov eax,edi
  772. rol ecx,8
  773. add ecx,ebp
  774. ; 61
  775. sub edx,edi
  776. and eax,ecx
  777. and edx,esi
  778. or edx,eax
  779. mov eax,DWORD [20+esp]
  780. rol esi,10
  781. lea ebp,[2400959708+edx*1+ebp]
  782. mov edx,-1
  783. add ebp,eax
  784. mov eax,esi
  785. rol ebp,6
  786. add ebp,ebx
  787. ; 62
  788. sub edx,esi
  789. and eax,ebp
  790. and edx,ecx
  791. or edx,eax
  792. mov eax,DWORD [24+esp]
  793. rol ecx,10
  794. lea ebx,[2400959708+edx*1+ebx]
  795. mov edx,-1
  796. add ebx,eax
  797. mov eax,ecx
  798. rol ebx,5
  799. add ebx,edi
  800. ; 63
  801. sub edx,ecx
  802. and eax,ebx
  803. and edx,ebp
  804. or edx,eax
  805. mov eax,DWORD [8+esp]
  806. rol ebp,10
  807. lea edi,[2400959708+edx*1+edi]
  808. mov edx,-1
  809. add edi,eax
  810. sub edx,ebp
  811. rol edi,12
  812. add edi,esi
  813. ; 64
  814. mov eax,DWORD [16+esp]
  815. or edx,ebx
  816. add esi,eax
  817. xor edx,edi
  818. mov eax,-1
  819. rol ebx,10
  820. lea esi,[2840853838+edx*1+esi]
  821. sub eax,ebx
  822. rol esi,9
  823. add esi,ecx
  824. ; 65
  825. mov edx,DWORD [esp]
  826. or eax,edi
  827. add ecx,edx
  828. xor eax,esi
  829. mov edx,-1
  830. rol edi,10
  831. lea ecx,[2840853838+eax*1+ecx]
  832. sub edx,edi
  833. rol ecx,15
  834. add ecx,ebp
  835. ; 66
  836. mov eax,DWORD [20+esp]
  837. or edx,esi
  838. add ebp,eax
  839. xor edx,ecx
  840. mov eax,-1
  841. rol esi,10
  842. lea ebp,[2840853838+edx*1+ebp]
  843. sub eax,esi
  844. rol ebp,5
  845. add ebp,ebx
  846. ; 67
  847. mov edx,DWORD [36+esp]
  848. or eax,ecx
  849. add ebx,edx
  850. xor eax,ebp
  851. mov edx,-1
  852. rol ecx,10
  853. lea ebx,[2840853838+eax*1+ebx]
  854. sub edx,ecx
  855. rol ebx,11
  856. add ebx,edi
  857. ; 68
  858. mov eax,DWORD [28+esp]
  859. or edx,ebp
  860. add edi,eax
  861. xor edx,ebx
  862. mov eax,-1
  863. rol ebp,10
  864. lea edi,[2840853838+edx*1+edi]
  865. sub eax,ebp
  866. rol edi,6
  867. add edi,esi
  868. ; 69
  869. mov edx,DWORD [48+esp]
  870. or eax,ebx
  871. add esi,edx
  872. xor eax,edi
  873. mov edx,-1
  874. rol ebx,10
  875. lea esi,[2840853838+eax*1+esi]
  876. sub edx,ebx
  877. rol esi,8
  878. add esi,ecx
  879. ; 70
  880. mov eax,DWORD [8+esp]
  881. or edx,edi
  882. add ecx,eax
  883. xor edx,esi
  884. mov eax,-1
  885. rol edi,10
  886. lea ecx,[2840853838+edx*1+ecx]
  887. sub eax,edi
  888. rol ecx,13
  889. add ecx,ebp
  890. ; 71
  891. mov edx,DWORD [40+esp]
  892. or eax,esi
  893. add ebp,edx
  894. xor eax,ecx
  895. mov edx,-1
  896. rol esi,10
  897. lea ebp,[2840853838+eax*1+ebp]
  898. sub edx,esi
  899. rol ebp,12
  900. add ebp,ebx
  901. ; 72
  902. mov eax,DWORD [56+esp]
  903. or edx,ecx
  904. add ebx,eax
  905. xor edx,ebp
  906. mov eax,-1
  907. rol ecx,10
  908. lea ebx,[2840853838+edx*1+ebx]
  909. sub eax,ecx
  910. rol ebx,5
  911. add ebx,edi
  912. ; 73
  913. mov edx,DWORD [4+esp]
  914. or eax,ebp
  915. add edi,edx
  916. xor eax,ebx
  917. mov edx,-1
  918. rol ebp,10
  919. lea edi,[2840853838+eax*1+edi]
  920. sub edx,ebp
  921. rol edi,12
  922. add edi,esi
  923. ; 74
  924. mov eax,DWORD [12+esp]
  925. or edx,ebx
  926. add esi,eax
  927. xor edx,edi
  928. mov eax,-1
  929. rol ebx,10
  930. lea esi,[2840853838+edx*1+esi]
  931. sub eax,ebx
  932. rol esi,13
  933. add esi,ecx
  934. ; 75
  935. mov edx,DWORD [32+esp]
  936. or eax,edi
  937. add ecx,edx
  938. xor eax,esi
  939. mov edx,-1
  940. rol edi,10
  941. lea ecx,[2840853838+eax*1+ecx]
  942. sub edx,edi
  943. rol ecx,14
  944. add ecx,ebp
  945. ; 76
  946. mov eax,DWORD [44+esp]
  947. or edx,esi
  948. add ebp,eax
  949. xor edx,ecx
  950. mov eax,-1
  951. rol esi,10
  952. lea ebp,[2840853838+edx*1+ebp]
  953. sub eax,esi
  954. rol ebp,11
  955. add ebp,ebx
  956. ; 77
  957. mov edx,DWORD [24+esp]
  958. or eax,ecx
  959. add ebx,edx
  960. xor eax,ebp
  961. mov edx,-1
  962. rol ecx,10
  963. lea ebx,[2840853838+eax*1+ebx]
  964. sub edx,ecx
  965. rol ebx,8
  966. add ebx,edi
  967. ; 78
  968. mov eax,DWORD [60+esp]
  969. or edx,ebp
  970. add edi,eax
  971. xor edx,ebx
  972. mov eax,-1
  973. rol ebp,10
  974. lea edi,[2840853838+edx*1+edi]
  975. sub eax,ebp
  976. rol edi,5
  977. add edi,esi
  978. ; 79
  979. mov edx,DWORD [52+esp]
  980. or eax,ebx
  981. add esi,edx
  982. xor eax,edi
  983. mov edx,DWORD [128+esp]
  984. rol ebx,10
  985. lea esi,[2840853838+eax*1+esi]
  986. mov DWORD [64+esp],ecx
  987. rol esi,6
  988. add esi,ecx
  989. mov ecx,DWORD [edx]
  990. mov DWORD [68+esp],esi
  991. mov DWORD [72+esp],edi
  992. mov esi,DWORD [4+edx]
  993. mov DWORD [76+esp],ebx
  994. mov edi,DWORD [8+edx]
  995. mov DWORD [80+esp],ebp
  996. mov ebx,DWORD [12+edx]
  997. mov ebp,DWORD [16+edx]
  998. ; 80
  999. mov edx,-1
  1000. sub edx,ebx
  1001. mov eax,DWORD [20+esp]
  1002. or edx,edi
  1003. add ecx,eax
  1004. xor edx,esi
  1005. mov eax,-1
  1006. rol edi,10
  1007. lea ecx,[1352829926+edx*1+ecx]
  1008. sub eax,edi
  1009. rol ecx,8
  1010. add ecx,ebp
  1011. ; 81
  1012. mov edx,DWORD [56+esp]
  1013. or eax,esi
  1014. add ebp,edx
  1015. xor eax,ecx
  1016. mov edx,-1
  1017. rol esi,10
  1018. lea ebp,[1352829926+eax*1+ebp]
  1019. sub edx,esi
  1020. rol ebp,9
  1021. add ebp,ebx
  1022. ; 82
  1023. mov eax,DWORD [28+esp]
  1024. or edx,ecx
  1025. add ebx,eax
  1026. xor edx,ebp
  1027. mov eax,-1
  1028. rol ecx,10
  1029. lea ebx,[1352829926+edx*1+ebx]
  1030. sub eax,ecx
  1031. rol ebx,9
  1032. add ebx,edi
  1033. ; 83
  1034. mov edx,DWORD [esp]
  1035. or eax,ebp
  1036. add edi,edx
  1037. xor eax,ebx
  1038. mov edx,-1
  1039. rol ebp,10
  1040. lea edi,[1352829926+eax*1+edi]
  1041. sub edx,ebp
  1042. rol edi,11
  1043. add edi,esi
  1044. ; 84
  1045. mov eax,DWORD [36+esp]
  1046. or edx,ebx
  1047. add esi,eax
  1048. xor edx,edi
  1049. mov eax,-1
  1050. rol ebx,10
  1051. lea esi,[1352829926+edx*1+esi]
  1052. sub eax,ebx
  1053. rol esi,13
  1054. add esi,ecx
  1055. ; 85
  1056. mov edx,DWORD [8+esp]
  1057. or eax,edi
  1058. add ecx,edx
  1059. xor eax,esi
  1060. mov edx,-1
  1061. rol edi,10
  1062. lea ecx,[1352829926+eax*1+ecx]
  1063. sub edx,edi
  1064. rol ecx,15
  1065. add ecx,ebp
  1066. ; 86
  1067. mov eax,DWORD [44+esp]
  1068. or edx,esi
  1069. add ebp,eax
  1070. xor edx,ecx
  1071. mov eax,-1
  1072. rol esi,10
  1073. lea ebp,[1352829926+edx*1+ebp]
  1074. sub eax,esi
  1075. rol ebp,15
  1076. add ebp,ebx
  1077. ; 87
  1078. mov edx,DWORD [16+esp]
  1079. or eax,ecx
  1080. add ebx,edx
  1081. xor eax,ebp
  1082. mov edx,-1
  1083. rol ecx,10
  1084. lea ebx,[1352829926+eax*1+ebx]
  1085. sub edx,ecx
  1086. rol ebx,5
  1087. add ebx,edi
  1088. ; 88
  1089. mov eax,DWORD [52+esp]
  1090. or edx,ebp
  1091. add edi,eax
  1092. xor edx,ebx
  1093. mov eax,-1
  1094. rol ebp,10
  1095. lea edi,[1352829926+edx*1+edi]
  1096. sub eax,ebp
  1097. rol edi,7
  1098. add edi,esi
  1099. ; 89
  1100. mov edx,DWORD [24+esp]
  1101. or eax,ebx
  1102. add esi,edx
  1103. xor eax,edi
  1104. mov edx,-1
  1105. rol ebx,10
  1106. lea esi,[1352829926+eax*1+esi]
  1107. sub edx,ebx
  1108. rol esi,7
  1109. add esi,ecx
  1110. ; 90
  1111. mov eax,DWORD [60+esp]
  1112. or edx,edi
  1113. add ecx,eax
  1114. xor edx,esi
  1115. mov eax,-1
  1116. rol edi,10
  1117. lea ecx,[1352829926+edx*1+ecx]
  1118. sub eax,edi
  1119. rol ecx,8
  1120. add ecx,ebp
  1121. ; 91
  1122. mov edx,DWORD [32+esp]
  1123. or eax,esi
  1124. add ebp,edx
  1125. xor eax,ecx
  1126. mov edx,-1
  1127. rol esi,10
  1128. lea ebp,[1352829926+eax*1+ebp]
  1129. sub edx,esi
  1130. rol ebp,11
  1131. add ebp,ebx
  1132. ; 92
  1133. mov eax,DWORD [4+esp]
  1134. or edx,ecx
  1135. add ebx,eax
  1136. xor edx,ebp
  1137. mov eax,-1
  1138. rol ecx,10
  1139. lea ebx,[1352829926+edx*1+ebx]
  1140. sub eax,ecx
  1141. rol ebx,14
  1142. add ebx,edi
  1143. ; 93
  1144. mov edx,DWORD [40+esp]
  1145. or eax,ebp
  1146. add edi,edx
  1147. xor eax,ebx
  1148. mov edx,-1
  1149. rol ebp,10
  1150. lea edi,[1352829926+eax*1+edi]
  1151. sub edx,ebp
  1152. rol edi,14
  1153. add edi,esi
  1154. ; 94
  1155. mov eax,DWORD [12+esp]
  1156. or edx,ebx
  1157. add esi,eax
  1158. xor edx,edi
  1159. mov eax,-1
  1160. rol ebx,10
  1161. lea esi,[1352829926+edx*1+esi]
  1162. sub eax,ebx
  1163. rol esi,12
  1164. add esi,ecx
  1165. ; 95
  1166. mov edx,DWORD [48+esp]
  1167. or eax,edi
  1168. add ecx,edx
  1169. xor eax,esi
  1170. mov edx,-1
  1171. rol edi,10
  1172. lea ecx,[1352829926+eax*1+ecx]
  1173. mov eax,edi
  1174. rol ecx,6
  1175. add ecx,ebp
  1176. ; 96
  1177. sub edx,edi
  1178. and eax,ecx
  1179. and edx,esi
  1180. or edx,eax
  1181. mov eax,DWORD [24+esp]
  1182. rol esi,10
  1183. lea ebp,[1548603684+edx*1+ebp]
  1184. mov edx,-1
  1185. add ebp,eax
  1186. mov eax,esi
  1187. rol ebp,9
  1188. add ebp,ebx
  1189. ; 97
  1190. sub edx,esi
  1191. and eax,ebp
  1192. and edx,ecx
  1193. or edx,eax
  1194. mov eax,DWORD [44+esp]
  1195. rol ecx,10
  1196. lea ebx,[1548603684+edx*1+ebx]
  1197. mov edx,-1
  1198. add ebx,eax
  1199. mov eax,ecx
  1200. rol ebx,13
  1201. add ebx,edi
  1202. ; 98
  1203. sub edx,ecx
  1204. and eax,ebx
  1205. and edx,ebp
  1206. or edx,eax
  1207. mov eax,DWORD [12+esp]
  1208. rol ebp,10
  1209. lea edi,[1548603684+edx*1+edi]
  1210. mov edx,-1
  1211. add edi,eax
  1212. mov eax,ebp
  1213. rol edi,15
  1214. add edi,esi
  1215. ; 99
  1216. sub edx,ebp
  1217. and eax,edi
  1218. and edx,ebx
  1219. or edx,eax
  1220. mov eax,DWORD [28+esp]
  1221. rol ebx,10
  1222. lea esi,[1548603684+edx*1+esi]
  1223. mov edx,-1
  1224. add esi,eax
  1225. mov eax,ebx
  1226. rol esi,7
  1227. add esi,ecx
  1228. ; 100
  1229. sub edx,ebx
  1230. and eax,esi
  1231. and edx,edi
  1232. or edx,eax
  1233. mov eax,DWORD [esp]
  1234. rol edi,10
  1235. lea ecx,[1548603684+edx*1+ecx]
  1236. mov edx,-1
  1237. add ecx,eax
  1238. mov eax,edi
  1239. rol ecx,12
  1240. add ecx,ebp
  1241. ; 101
  1242. sub edx,edi
  1243. and eax,ecx
  1244. and edx,esi
  1245. or edx,eax
  1246. mov eax,DWORD [52+esp]
  1247. rol esi,10
  1248. lea ebp,[1548603684+edx*1+ebp]
  1249. mov edx,-1
  1250. add ebp,eax
  1251. mov eax,esi
  1252. rol ebp,8
  1253. add ebp,ebx
  1254. ; 102
  1255. sub edx,esi
  1256. and eax,ebp
  1257. and edx,ecx
  1258. or edx,eax
  1259. mov eax,DWORD [20+esp]
  1260. rol ecx,10
  1261. lea ebx,[1548603684+edx*1+ebx]
  1262. mov edx,-1
  1263. add ebx,eax
  1264. mov eax,ecx
  1265. rol ebx,9
  1266. add ebx,edi
  1267. ; 103
  1268. sub edx,ecx
  1269. and eax,ebx
  1270. and edx,ebp
  1271. or edx,eax
  1272. mov eax,DWORD [40+esp]
  1273. rol ebp,10
  1274. lea edi,[1548603684+edx*1+edi]
  1275. mov edx,-1
  1276. add edi,eax
  1277. mov eax,ebp
  1278. rol edi,11
  1279. add edi,esi
  1280. ; 104
  1281. sub edx,ebp
  1282. and eax,edi
  1283. and edx,ebx
  1284. or edx,eax
  1285. mov eax,DWORD [56+esp]
  1286. rol ebx,10
  1287. lea esi,[1548603684+edx*1+esi]
  1288. mov edx,-1
  1289. add esi,eax
  1290. mov eax,ebx
  1291. rol esi,7
  1292. add esi,ecx
  1293. ; 105
  1294. sub edx,ebx
  1295. and eax,esi
  1296. and edx,edi
  1297. or edx,eax
  1298. mov eax,DWORD [60+esp]
  1299. rol edi,10
  1300. lea ecx,[1548603684+edx*1+ecx]
  1301. mov edx,-1
  1302. add ecx,eax
  1303. mov eax,edi
  1304. rol ecx,7
  1305. add ecx,ebp
  1306. ; 106
  1307. sub edx,edi
  1308. and eax,ecx
  1309. and edx,esi
  1310. or edx,eax
  1311. mov eax,DWORD [32+esp]
  1312. rol esi,10
  1313. lea ebp,[1548603684+edx*1+ebp]
  1314. mov edx,-1
  1315. add ebp,eax
  1316. mov eax,esi
  1317. rol ebp,12
  1318. add ebp,ebx
  1319. ; 107
  1320. sub edx,esi
  1321. and eax,ebp
  1322. and edx,ecx
  1323. or edx,eax
  1324. mov eax,DWORD [48+esp]
  1325. rol ecx,10
  1326. lea ebx,[1548603684+edx*1+ebx]
  1327. mov edx,-1
  1328. add ebx,eax
  1329. mov eax,ecx
  1330. rol ebx,7
  1331. add ebx,edi
  1332. ; 108
  1333. sub edx,ecx
  1334. and eax,ebx
  1335. and edx,ebp
  1336. or edx,eax
  1337. mov eax,DWORD [16+esp]
  1338. rol ebp,10
  1339. lea edi,[1548603684+edx*1+edi]
  1340. mov edx,-1
  1341. add edi,eax
  1342. mov eax,ebp
  1343. rol edi,6
  1344. add edi,esi
  1345. ; 109
  1346. sub edx,ebp
  1347. and eax,edi
  1348. and edx,ebx
  1349. or edx,eax
  1350. mov eax,DWORD [36+esp]
  1351. rol ebx,10
  1352. lea esi,[1548603684+edx*1+esi]
  1353. mov edx,-1
  1354. add esi,eax
  1355. mov eax,ebx
  1356. rol esi,15
  1357. add esi,ecx
  1358. ; 110
  1359. sub edx,ebx
  1360. and eax,esi
  1361. and edx,edi
  1362. or edx,eax
  1363. mov eax,DWORD [4+esp]
  1364. rol edi,10
  1365. lea ecx,[1548603684+edx*1+ecx]
  1366. mov edx,-1
  1367. add ecx,eax
  1368. mov eax,edi
  1369. rol ecx,13
  1370. add ecx,ebp
  1371. ; 111
  1372. sub edx,edi
  1373. and eax,ecx
  1374. and edx,esi
  1375. or edx,eax
  1376. mov eax,DWORD [8+esp]
  1377. rol esi,10
  1378. lea ebp,[1548603684+edx*1+ebp]
  1379. mov edx,-1
  1380. add ebp,eax
  1381. sub edx,ecx
  1382. rol ebp,11
  1383. add ebp,ebx
  1384. ; 112
  1385. mov eax,DWORD [60+esp]
  1386. or edx,ebp
  1387. add ebx,eax
  1388. xor edx,esi
  1389. mov eax,-1
  1390. rol ecx,10
  1391. lea ebx,[1836072691+edx*1+ebx]
  1392. sub eax,ebp
  1393. rol ebx,9
  1394. add ebx,edi
  1395. ; 113
  1396. mov edx,DWORD [20+esp]
  1397. or eax,ebx
  1398. add edi,edx
  1399. xor eax,ecx
  1400. mov edx,-1
  1401. rol ebp,10
  1402. lea edi,[1836072691+eax*1+edi]
  1403. sub edx,ebx
  1404. rol edi,7
  1405. add edi,esi
  1406. ; 114
  1407. mov eax,DWORD [4+esp]
  1408. or edx,edi
  1409. add esi,eax
  1410. xor edx,ebp
  1411. mov eax,-1
  1412. rol ebx,10
  1413. lea esi,[1836072691+edx*1+esi]
  1414. sub eax,edi
  1415. rol esi,15
  1416. add esi,ecx
  1417. ; 115
  1418. mov edx,DWORD [12+esp]
  1419. or eax,esi
  1420. add ecx,edx
  1421. xor eax,ebx
  1422. mov edx,-1
  1423. rol edi,10
  1424. lea ecx,[1836072691+eax*1+ecx]
  1425. sub edx,esi
  1426. rol ecx,11
  1427. add ecx,ebp
  1428. ; 116
  1429. mov eax,DWORD [28+esp]
  1430. or edx,ecx
  1431. add ebp,eax
  1432. xor edx,edi
  1433. mov eax,-1
  1434. rol esi,10
  1435. lea ebp,[1836072691+edx*1+ebp]
  1436. sub eax,ecx
  1437. rol ebp,8
  1438. add ebp,ebx
  1439. ; 117
  1440. mov edx,DWORD [56+esp]
  1441. or eax,ebp
  1442. add ebx,edx
  1443. xor eax,esi
  1444. mov edx,-1
  1445. rol ecx,10
  1446. lea ebx,[1836072691+eax*1+ebx]
  1447. sub edx,ebp
  1448. rol ebx,6
  1449. add ebx,edi
  1450. ; 118
  1451. mov eax,DWORD [24+esp]
  1452. or edx,ebx
  1453. add edi,eax
  1454. xor edx,ecx
  1455. mov eax,-1
  1456. rol ebp,10
  1457. lea edi,[1836072691+edx*1+edi]
  1458. sub eax,ebx
  1459. rol edi,6
  1460. add edi,esi
  1461. ; 119
  1462. mov edx,DWORD [36+esp]
  1463. or eax,edi
  1464. add esi,edx
  1465. xor eax,ebp
  1466. mov edx,-1
  1467. rol ebx,10
  1468. lea esi,[1836072691+eax*1+esi]
  1469. sub edx,edi
  1470. rol esi,14
  1471. add esi,ecx
  1472. ; 120
  1473. mov eax,DWORD [44+esp]
  1474. or edx,esi
  1475. add ecx,eax
  1476. xor edx,ebx
  1477. mov eax,-1
  1478. rol edi,10
  1479. lea ecx,[1836072691+edx*1+ecx]
  1480. sub eax,esi
  1481. rol ecx,12
  1482. add ecx,ebp
  1483. ; 121
  1484. mov edx,DWORD [32+esp]
  1485. or eax,ecx
  1486. add ebp,edx
  1487. xor eax,edi
  1488. mov edx,-1
  1489. rol esi,10
  1490. lea ebp,[1836072691+eax*1+ebp]
  1491. sub edx,ecx
  1492. rol ebp,13
  1493. add ebp,ebx
  1494. ; 122
  1495. mov eax,DWORD [48+esp]
  1496. or edx,ebp
  1497. add ebx,eax
  1498. xor edx,esi
  1499. mov eax,-1
  1500. rol ecx,10
  1501. lea ebx,[1836072691+edx*1+ebx]
  1502. sub eax,ebp
  1503. rol ebx,5
  1504. add ebx,edi
  1505. ; 123
  1506. mov edx,DWORD [8+esp]
  1507. or eax,ebx
  1508. add edi,edx
  1509. xor eax,ecx
  1510. mov edx,-1
  1511. rol ebp,10
  1512. lea edi,[1836072691+eax*1+edi]
  1513. sub edx,ebx
  1514. rol edi,14
  1515. add edi,esi
  1516. ; 124
  1517. mov eax,DWORD [40+esp]
  1518. or edx,edi
  1519. add esi,eax
  1520. xor edx,ebp
  1521. mov eax,-1
  1522. rol ebx,10
  1523. lea esi,[1836072691+edx*1+esi]
  1524. sub eax,edi
  1525. rol esi,13
  1526. add esi,ecx
  1527. ; 125
  1528. mov edx,DWORD [esp]
  1529. or eax,esi
  1530. add ecx,edx
  1531. xor eax,ebx
  1532. mov edx,-1
  1533. rol edi,10
  1534. lea ecx,[1836072691+eax*1+ecx]
  1535. sub edx,esi
  1536. rol ecx,13
  1537. add ecx,ebp
  1538. ; 126
  1539. mov eax,DWORD [16+esp]
  1540. or edx,ecx
  1541. add ebp,eax
  1542. xor edx,edi
  1543. mov eax,-1
  1544. rol esi,10
  1545. lea ebp,[1836072691+edx*1+ebp]
  1546. sub eax,ecx
  1547. rol ebp,7
  1548. add ebp,ebx
  1549. ; 127
  1550. mov edx,DWORD [52+esp]
  1551. or eax,ebp
  1552. add ebx,edx
  1553. xor eax,esi
  1554. mov edx,DWORD [32+esp]
  1555. rol ecx,10
  1556. lea ebx,[1836072691+eax*1+ebx]
  1557. mov eax,-1
  1558. rol ebx,5
  1559. add ebx,edi
  1560. ; 128
  1561. add edi,edx
  1562. mov edx,ebp
  1563. sub eax,ebx
  1564. and edx,ebx
  1565. and eax,ecx
  1566. or edx,eax
  1567. mov eax,DWORD [24+esp]
  1568. rol ebp,10
  1569. lea edi,[2053994217+edx*1+edi]
  1570. mov edx,-1
  1571. rol edi,15
  1572. add edi,esi
  1573. ; 129
  1574. add esi,eax
  1575. mov eax,ebx
  1576. sub edx,edi
  1577. and eax,edi
  1578. and edx,ebp
  1579. or eax,edx
  1580. mov edx,DWORD [16+esp]
  1581. rol ebx,10
  1582. lea esi,[2053994217+eax*1+esi]
  1583. mov eax,-1
  1584. rol esi,5
  1585. add esi,ecx
  1586. ; 130
  1587. add ecx,edx
  1588. mov edx,edi
  1589. sub eax,esi
  1590. and edx,esi
  1591. and eax,ebx
  1592. or edx,eax
  1593. mov eax,DWORD [4+esp]
  1594. rol edi,10
  1595. lea ecx,[2053994217+edx*1+ecx]
  1596. mov edx,-1
  1597. rol ecx,8
  1598. add ecx,ebp
  1599. ; 131
  1600. add ebp,eax
  1601. mov eax,esi
  1602. sub edx,ecx
  1603. and eax,ecx
  1604. and edx,edi
  1605. or eax,edx
  1606. mov edx,DWORD [12+esp]
  1607. rol esi,10
  1608. lea ebp,[2053994217+eax*1+ebp]
  1609. mov eax,-1
  1610. rol ebp,11
  1611. add ebp,ebx
  1612. ; 132
  1613. add ebx,edx
  1614. mov edx,ecx
  1615. sub eax,ebp
  1616. and edx,ebp
  1617. and eax,esi
  1618. or edx,eax
  1619. mov eax,DWORD [44+esp]
  1620. rol ecx,10
  1621. lea ebx,[2053994217+edx*1+ebx]
  1622. mov edx,-1
  1623. rol ebx,14
  1624. add ebx,edi
  1625. ; 133
  1626. add edi,eax
  1627. mov eax,ebp
  1628. sub edx,ebx
  1629. and eax,ebx
  1630. and edx,ecx
  1631. or eax,edx
  1632. mov edx,DWORD [60+esp]
  1633. rol ebp,10
  1634. lea edi,[2053994217+eax*1+edi]
  1635. mov eax,-1
  1636. rol edi,14
  1637. add edi,esi
  1638. ; 134
  1639. add esi,edx
  1640. mov edx,ebx
  1641. sub eax,edi
  1642. and edx,edi
  1643. and eax,ebp
  1644. or edx,eax
  1645. mov eax,DWORD [esp]
  1646. rol ebx,10
  1647. lea esi,[2053994217+edx*1+esi]
  1648. mov edx,-1
  1649. rol esi,6
  1650. add esi,ecx
  1651. ; 135
  1652. add ecx,eax
  1653. mov eax,edi
  1654. sub edx,esi
  1655. and eax,esi
  1656. and edx,ebx
  1657. or eax,edx
  1658. mov edx,DWORD [20+esp]
  1659. rol edi,10
  1660. lea ecx,[2053994217+eax*1+ecx]
  1661. mov eax,-1
  1662. rol ecx,14
  1663. add ecx,ebp
  1664. ; 136
  1665. add ebp,edx
  1666. mov edx,esi
  1667. sub eax,ecx
  1668. and edx,ecx
  1669. and eax,edi
  1670. or edx,eax
  1671. mov eax,DWORD [48+esp]
  1672. rol esi,10
  1673. lea ebp,[2053994217+edx*1+ebp]
  1674. mov edx,-1
  1675. rol ebp,6
  1676. add ebp,ebx
  1677. ; 137
  1678. add ebx,eax
  1679. mov eax,ecx
  1680. sub edx,ebp
  1681. and eax,ebp
  1682. and edx,esi
  1683. or eax,edx
  1684. mov edx,DWORD [8+esp]
  1685. rol ecx,10
  1686. lea ebx,[2053994217+eax*1+ebx]
  1687. mov eax,-1
  1688. rol ebx,9
  1689. add ebx,edi
  1690. ; 138
  1691. add edi,edx
  1692. mov edx,ebp
  1693. sub eax,ebx
  1694. and edx,ebx
  1695. and eax,ecx
  1696. or edx,eax
  1697. mov eax,DWORD [52+esp]
  1698. rol ebp,10
  1699. lea edi,[2053994217+edx*1+edi]
  1700. mov edx,-1
  1701. rol edi,12
  1702. add edi,esi
  1703. ; 139
  1704. add esi,eax
  1705. mov eax,ebx
  1706. sub edx,edi
  1707. and eax,edi
  1708. and edx,ebp
  1709. or eax,edx
  1710. mov edx,DWORD [36+esp]
  1711. rol ebx,10
  1712. lea esi,[2053994217+eax*1+esi]
  1713. mov eax,-1
  1714. rol esi,9
  1715. add esi,ecx
  1716. ; 140
  1717. add ecx,edx
  1718. mov edx,edi
  1719. sub eax,esi
  1720. and edx,esi
  1721. and eax,ebx
  1722. or edx,eax
  1723. mov eax,DWORD [28+esp]
  1724. rol edi,10
  1725. lea ecx,[2053994217+edx*1+ecx]
  1726. mov edx,-1
  1727. rol ecx,12
  1728. add ecx,ebp
  1729. ; 141
  1730. add ebp,eax
  1731. mov eax,esi
  1732. sub edx,ecx
  1733. and eax,ecx
  1734. and edx,edi
  1735. or eax,edx
  1736. mov edx,DWORD [40+esp]
  1737. rol esi,10
  1738. lea ebp,[2053994217+eax*1+ebp]
  1739. mov eax,-1
  1740. rol ebp,5
  1741. add ebp,ebx
  1742. ; 142
  1743. add ebx,edx
  1744. mov edx,ecx
  1745. sub eax,ebp
  1746. and edx,ebp
  1747. and eax,esi
  1748. or edx,eax
  1749. mov eax,DWORD [56+esp]
  1750. rol ecx,10
  1751. lea ebx,[2053994217+edx*1+ebx]
  1752. mov edx,-1
  1753. rol ebx,15
  1754. add ebx,edi
  1755. ; 143
  1756. add edi,eax
  1757. mov eax,ebp
  1758. sub edx,ebx
  1759. and eax,ebx
  1760. and edx,ecx
  1761. or edx,eax
  1762. mov eax,ebx
  1763. rol ebp,10
  1764. lea edi,[2053994217+edx*1+edi]
  1765. xor eax,ebp
  1766. rol edi,8
  1767. add edi,esi
  1768. ; 144
  1769. mov edx,DWORD [48+esp]
  1770. xor eax,edi
  1771. add esi,edx
  1772. rol ebx,10
  1773. add esi,eax
  1774. mov eax,edi
  1775. rol esi,8
  1776. add esi,ecx
  1777. ; 145
  1778. xor eax,ebx
  1779. mov edx,DWORD [60+esp]
  1780. xor eax,esi
  1781. add ecx,eax
  1782. mov eax,esi
  1783. rol edi,10
  1784. add ecx,edx
  1785. xor eax,edi
  1786. rol ecx,5
  1787. add ecx,ebp
  1788. ; 146
  1789. mov edx,DWORD [40+esp]
  1790. xor eax,ecx
  1791. add ebp,edx
  1792. rol esi,10
  1793. add ebp,eax
  1794. mov eax,ecx
  1795. rol ebp,12
  1796. add ebp,ebx
  1797. ; 147
  1798. xor eax,esi
  1799. mov edx,DWORD [16+esp]
  1800. xor eax,ebp
  1801. add ebx,eax
  1802. mov eax,ebp
  1803. rol ecx,10
  1804. add ebx,edx
  1805. xor eax,ecx
  1806. rol ebx,9
  1807. add ebx,edi
  1808. ; 148
  1809. mov edx,DWORD [4+esp]
  1810. xor eax,ebx
  1811. add edi,edx
  1812. rol ebp,10
  1813. add edi,eax
  1814. mov eax,ebx
  1815. rol edi,12
  1816. add edi,esi
  1817. ; 149
  1818. xor eax,ebp
  1819. mov edx,DWORD [20+esp]
  1820. xor eax,edi
  1821. add esi,eax
  1822. mov eax,edi
  1823. rol ebx,10
  1824. add esi,edx
  1825. xor eax,ebx
  1826. rol esi,5
  1827. add esi,ecx
  1828. ; 150
  1829. mov edx,DWORD [32+esp]
  1830. xor eax,esi
  1831. add ecx,edx
  1832. rol edi,10
  1833. add ecx,eax
  1834. mov eax,esi
  1835. rol ecx,14
  1836. add ecx,ebp
  1837. ; 151
  1838. xor eax,edi
  1839. mov edx,DWORD [28+esp]
  1840. xor eax,ecx
  1841. add ebp,eax
  1842. mov eax,ecx
  1843. rol esi,10
  1844. add ebp,edx
  1845. xor eax,esi
  1846. rol ebp,6
  1847. add ebp,ebx
  1848. ; 152
  1849. mov edx,DWORD [24+esp]
  1850. xor eax,ebp
  1851. add ebx,edx
  1852. rol ecx,10
  1853. add ebx,eax
  1854. mov eax,ebp
  1855. rol ebx,8
  1856. add ebx,edi
  1857. ; 153
  1858. xor eax,ecx
  1859. mov edx,DWORD [8+esp]
  1860. xor eax,ebx
  1861. add edi,eax
  1862. mov eax,ebx
  1863. rol ebp,10
  1864. add edi,edx
  1865. xor eax,ebp
  1866. rol edi,13
  1867. add edi,esi
  1868. ; 154
  1869. mov edx,DWORD [52+esp]
  1870. xor eax,edi
  1871. add esi,edx
  1872. rol ebx,10
  1873. add esi,eax
  1874. mov eax,edi
  1875. rol esi,6
  1876. add esi,ecx
  1877. ; 155
  1878. xor eax,ebx
  1879. mov edx,DWORD [56+esp]
  1880. xor eax,esi
  1881. add ecx,eax
  1882. mov eax,esi
  1883. rol edi,10
  1884. add ecx,edx
  1885. xor eax,edi
  1886. rol ecx,5
  1887. add ecx,ebp
  1888. ; 156
  1889. mov edx,DWORD [esp]
  1890. xor eax,ecx
  1891. add ebp,edx
  1892. rol esi,10
  1893. add ebp,eax
  1894. mov eax,ecx
  1895. rol ebp,15
  1896. add ebp,ebx
  1897. ; 157
  1898. xor eax,esi
  1899. mov edx,DWORD [12+esp]
  1900. xor eax,ebp
  1901. add ebx,eax
  1902. mov eax,ebp
  1903. rol ecx,10
  1904. add ebx,edx
  1905. xor eax,ecx
  1906. rol ebx,13
  1907. add ebx,edi
  1908. ; 158
  1909. mov edx,DWORD [36+esp]
  1910. xor eax,ebx
  1911. add edi,edx
  1912. rol ebp,10
  1913. add edi,eax
  1914. mov eax,ebx
  1915. rol edi,11
  1916. add edi,esi
  1917. ; 159
  1918. xor eax,ebp
  1919. mov edx,DWORD [44+esp]
  1920. xor eax,edi
  1921. add esi,eax
  1922. rol ebx,10
  1923. add esi,edx
  1924. mov edx,DWORD [128+esp]
  1925. rol esi,11
  1926. add esi,ecx
  1927. mov eax,DWORD [4+edx]
  1928. add ebx,eax
  1929. mov eax,DWORD [72+esp]
  1930. add ebx,eax
  1931. mov eax,DWORD [8+edx]
  1932. add ebp,eax
  1933. mov eax,DWORD [76+esp]
  1934. add ebp,eax
  1935. mov eax,DWORD [12+edx]
  1936. add ecx,eax
  1937. mov eax,DWORD [80+esp]
  1938. add ecx,eax
  1939. mov eax,DWORD [16+edx]
  1940. add esi,eax
  1941. mov eax,DWORD [64+esp]
  1942. add esi,eax
  1943. mov eax,DWORD [edx]
  1944. add edi,eax
  1945. mov eax,DWORD [68+esp]
  1946. add edi,eax
  1947. mov eax,DWORD [136+esp]
  1948. mov DWORD [edx],ebx
  1949. mov DWORD [4+edx],ebp
  1950. mov DWORD [8+edx],ecx
  1951. sub eax,1
  1952. mov DWORD [12+edx],esi
  1953. mov DWORD [16+edx],edi
  1954. jle NEAR L$001get_out
  1955. mov DWORD [136+esp],eax
  1956. mov edi,ecx
  1957. mov eax,DWORD [132+esp]
  1958. mov ecx,ebx
  1959. add eax,64
  1960. mov esi,ebp
  1961. mov DWORD [132+esp],eax
  1962. jmp NEAR L$000start
  1963. L$001get_out:
  1964. add esp,108
  1965. pop ebx
  1966. pop ebp
  1967. pop edi
  1968. pop esi
  1969. ret