rmd_586.asm 30 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970
  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