sha1-586.S 67 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805
  1. // This file is generated from a similarly-named Perl script in the BoringSSL
  2. // source tree. Do not edit by hand.
  3. #if defined(__i386__)
  4. #if defined(BORINGSSL_PREFIX)
  5. #include <boringssl_prefix_symbols_asm.h>
  6. #endif
  7. .text
  8. .globl _sha1_block_data_order
  9. .private_extern _sha1_block_data_order
  10. .align 4
  11. _sha1_block_data_order:
  12. L_sha1_block_data_order_begin:
  13. pushl %ebp
  14. pushl %ebx
  15. pushl %esi
  16. pushl %edi
  17. call L000pic_point
  18. L000pic_point:
  19. popl %ebp
  20. movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L000pic_point(%ebp),%esi
  21. leal LK_XX_XX-L000pic_point(%ebp),%ebp
  22. movl (%esi),%eax
  23. movl 4(%esi),%edx
  24. testl $512,%edx
  25. jz L001x86
  26. movl 8(%esi),%ecx
  27. testl $16777216,%eax
  28. jz L001x86
  29. andl $268435456,%edx
  30. andl $1073741824,%eax
  31. orl %edx,%eax
  32. cmpl $1342177280,%eax
  33. je Lavx_shortcut
  34. jmp Lssse3_shortcut
  35. .align 4,0x90
  36. L001x86:
  37. movl 20(%esp),%ebp
  38. movl 24(%esp),%esi
  39. movl 28(%esp),%eax
  40. subl $76,%esp
  41. shll $6,%eax
  42. addl %esi,%eax
  43. movl %eax,104(%esp)
  44. movl 16(%ebp),%edi
  45. jmp L002loop
  46. .align 4,0x90
  47. L002loop:
  48. movl (%esi),%eax
  49. movl 4(%esi),%ebx
  50. movl 8(%esi),%ecx
  51. movl 12(%esi),%edx
  52. bswap %eax
  53. bswap %ebx
  54. bswap %ecx
  55. bswap %edx
  56. movl %eax,(%esp)
  57. movl %ebx,4(%esp)
  58. movl %ecx,8(%esp)
  59. movl %edx,12(%esp)
  60. movl 16(%esi),%eax
  61. movl 20(%esi),%ebx
  62. movl 24(%esi),%ecx
  63. movl 28(%esi),%edx
  64. bswap %eax
  65. bswap %ebx
  66. bswap %ecx
  67. bswap %edx
  68. movl %eax,16(%esp)
  69. movl %ebx,20(%esp)
  70. movl %ecx,24(%esp)
  71. movl %edx,28(%esp)
  72. movl 32(%esi),%eax
  73. movl 36(%esi),%ebx
  74. movl 40(%esi),%ecx
  75. movl 44(%esi),%edx
  76. bswap %eax
  77. bswap %ebx
  78. bswap %ecx
  79. bswap %edx
  80. movl %eax,32(%esp)
  81. movl %ebx,36(%esp)
  82. movl %ecx,40(%esp)
  83. movl %edx,44(%esp)
  84. movl 48(%esi),%eax
  85. movl 52(%esi),%ebx
  86. movl 56(%esi),%ecx
  87. movl 60(%esi),%edx
  88. bswap %eax
  89. bswap %ebx
  90. bswap %ecx
  91. bswap %edx
  92. movl %eax,48(%esp)
  93. movl %ebx,52(%esp)
  94. movl %ecx,56(%esp)
  95. movl %edx,60(%esp)
  96. movl %esi,100(%esp)
  97. movl (%ebp),%eax
  98. movl 4(%ebp),%ebx
  99. movl 8(%ebp),%ecx
  100. movl 12(%ebp),%edx
  101. # 00_15 0
  102. movl %ecx,%esi
  103. movl %eax,%ebp
  104. roll $5,%ebp
  105. xorl %edx,%esi
  106. addl %edi,%ebp
  107. movl (%esp),%edi
  108. andl %ebx,%esi
  109. rorl $2,%ebx
  110. xorl %edx,%esi
  111. leal 1518500249(%ebp,%edi,1),%ebp
  112. addl %esi,%ebp
  113. # 00_15 1
  114. movl %ebx,%edi
  115. movl %ebp,%esi
  116. roll $5,%ebp
  117. xorl %ecx,%edi
  118. addl %edx,%ebp
  119. movl 4(%esp),%edx
  120. andl %eax,%edi
  121. rorl $2,%eax
  122. xorl %ecx,%edi
  123. leal 1518500249(%ebp,%edx,1),%ebp
  124. addl %edi,%ebp
  125. # 00_15 2
  126. movl %eax,%edx
  127. movl %ebp,%edi
  128. roll $5,%ebp
  129. xorl %ebx,%edx
  130. addl %ecx,%ebp
  131. movl 8(%esp),%ecx
  132. andl %esi,%edx
  133. rorl $2,%esi
  134. xorl %ebx,%edx
  135. leal 1518500249(%ebp,%ecx,1),%ebp
  136. addl %edx,%ebp
  137. # 00_15 3
  138. movl %esi,%ecx
  139. movl %ebp,%edx
  140. roll $5,%ebp
  141. xorl %eax,%ecx
  142. addl %ebx,%ebp
  143. movl 12(%esp),%ebx
  144. andl %edi,%ecx
  145. rorl $2,%edi
  146. xorl %eax,%ecx
  147. leal 1518500249(%ebp,%ebx,1),%ebp
  148. addl %ecx,%ebp
  149. # 00_15 4
  150. movl %edi,%ebx
  151. movl %ebp,%ecx
  152. roll $5,%ebp
  153. xorl %esi,%ebx
  154. addl %eax,%ebp
  155. movl 16(%esp),%eax
  156. andl %edx,%ebx
  157. rorl $2,%edx
  158. xorl %esi,%ebx
  159. leal 1518500249(%ebp,%eax,1),%ebp
  160. addl %ebx,%ebp
  161. # 00_15 5
  162. movl %edx,%eax
  163. movl %ebp,%ebx
  164. roll $5,%ebp
  165. xorl %edi,%eax
  166. addl %esi,%ebp
  167. movl 20(%esp),%esi
  168. andl %ecx,%eax
  169. rorl $2,%ecx
  170. xorl %edi,%eax
  171. leal 1518500249(%ebp,%esi,1),%ebp
  172. addl %eax,%ebp
  173. # 00_15 6
  174. movl %ecx,%esi
  175. movl %ebp,%eax
  176. roll $5,%ebp
  177. xorl %edx,%esi
  178. addl %edi,%ebp
  179. movl 24(%esp),%edi
  180. andl %ebx,%esi
  181. rorl $2,%ebx
  182. xorl %edx,%esi
  183. leal 1518500249(%ebp,%edi,1),%ebp
  184. addl %esi,%ebp
  185. # 00_15 7
  186. movl %ebx,%edi
  187. movl %ebp,%esi
  188. roll $5,%ebp
  189. xorl %ecx,%edi
  190. addl %edx,%ebp
  191. movl 28(%esp),%edx
  192. andl %eax,%edi
  193. rorl $2,%eax
  194. xorl %ecx,%edi
  195. leal 1518500249(%ebp,%edx,1),%ebp
  196. addl %edi,%ebp
  197. # 00_15 8
  198. movl %eax,%edx
  199. movl %ebp,%edi
  200. roll $5,%ebp
  201. xorl %ebx,%edx
  202. addl %ecx,%ebp
  203. movl 32(%esp),%ecx
  204. andl %esi,%edx
  205. rorl $2,%esi
  206. xorl %ebx,%edx
  207. leal 1518500249(%ebp,%ecx,1),%ebp
  208. addl %edx,%ebp
  209. # 00_15 9
  210. movl %esi,%ecx
  211. movl %ebp,%edx
  212. roll $5,%ebp
  213. xorl %eax,%ecx
  214. addl %ebx,%ebp
  215. movl 36(%esp),%ebx
  216. andl %edi,%ecx
  217. rorl $2,%edi
  218. xorl %eax,%ecx
  219. leal 1518500249(%ebp,%ebx,1),%ebp
  220. addl %ecx,%ebp
  221. # 00_15 10
  222. movl %edi,%ebx
  223. movl %ebp,%ecx
  224. roll $5,%ebp
  225. xorl %esi,%ebx
  226. addl %eax,%ebp
  227. movl 40(%esp),%eax
  228. andl %edx,%ebx
  229. rorl $2,%edx
  230. xorl %esi,%ebx
  231. leal 1518500249(%ebp,%eax,1),%ebp
  232. addl %ebx,%ebp
  233. # 00_15 11
  234. movl %edx,%eax
  235. movl %ebp,%ebx
  236. roll $5,%ebp
  237. xorl %edi,%eax
  238. addl %esi,%ebp
  239. movl 44(%esp),%esi
  240. andl %ecx,%eax
  241. rorl $2,%ecx
  242. xorl %edi,%eax
  243. leal 1518500249(%ebp,%esi,1),%ebp
  244. addl %eax,%ebp
  245. # 00_15 12
  246. movl %ecx,%esi
  247. movl %ebp,%eax
  248. roll $5,%ebp
  249. xorl %edx,%esi
  250. addl %edi,%ebp
  251. movl 48(%esp),%edi
  252. andl %ebx,%esi
  253. rorl $2,%ebx
  254. xorl %edx,%esi
  255. leal 1518500249(%ebp,%edi,1),%ebp
  256. addl %esi,%ebp
  257. # 00_15 13
  258. movl %ebx,%edi
  259. movl %ebp,%esi
  260. roll $5,%ebp
  261. xorl %ecx,%edi
  262. addl %edx,%ebp
  263. movl 52(%esp),%edx
  264. andl %eax,%edi
  265. rorl $2,%eax
  266. xorl %ecx,%edi
  267. leal 1518500249(%ebp,%edx,1),%ebp
  268. addl %edi,%ebp
  269. # 00_15 14
  270. movl %eax,%edx
  271. movl %ebp,%edi
  272. roll $5,%ebp
  273. xorl %ebx,%edx
  274. addl %ecx,%ebp
  275. movl 56(%esp),%ecx
  276. andl %esi,%edx
  277. rorl $2,%esi
  278. xorl %ebx,%edx
  279. leal 1518500249(%ebp,%ecx,1),%ebp
  280. addl %edx,%ebp
  281. # 00_15 15
  282. movl %esi,%ecx
  283. movl %ebp,%edx
  284. roll $5,%ebp
  285. xorl %eax,%ecx
  286. addl %ebx,%ebp
  287. movl 60(%esp),%ebx
  288. andl %edi,%ecx
  289. rorl $2,%edi
  290. xorl %eax,%ecx
  291. leal 1518500249(%ebp,%ebx,1),%ebp
  292. movl (%esp),%ebx
  293. addl %ebp,%ecx
  294. # 16_19 16
  295. movl %edi,%ebp
  296. xorl 8(%esp),%ebx
  297. xorl %esi,%ebp
  298. xorl 32(%esp),%ebx
  299. andl %edx,%ebp
  300. xorl 52(%esp),%ebx
  301. roll $1,%ebx
  302. xorl %esi,%ebp
  303. addl %ebp,%eax
  304. movl %ecx,%ebp
  305. rorl $2,%edx
  306. movl %ebx,(%esp)
  307. roll $5,%ebp
  308. leal 1518500249(%ebx,%eax,1),%ebx
  309. movl 4(%esp),%eax
  310. addl %ebp,%ebx
  311. # 16_19 17
  312. movl %edx,%ebp
  313. xorl 12(%esp),%eax
  314. xorl %edi,%ebp
  315. xorl 36(%esp),%eax
  316. andl %ecx,%ebp
  317. xorl 56(%esp),%eax
  318. roll $1,%eax
  319. xorl %edi,%ebp
  320. addl %ebp,%esi
  321. movl %ebx,%ebp
  322. rorl $2,%ecx
  323. movl %eax,4(%esp)
  324. roll $5,%ebp
  325. leal 1518500249(%eax,%esi,1),%eax
  326. movl 8(%esp),%esi
  327. addl %ebp,%eax
  328. # 16_19 18
  329. movl %ecx,%ebp
  330. xorl 16(%esp),%esi
  331. xorl %edx,%ebp
  332. xorl 40(%esp),%esi
  333. andl %ebx,%ebp
  334. xorl 60(%esp),%esi
  335. roll $1,%esi
  336. xorl %edx,%ebp
  337. addl %ebp,%edi
  338. movl %eax,%ebp
  339. rorl $2,%ebx
  340. movl %esi,8(%esp)
  341. roll $5,%ebp
  342. leal 1518500249(%esi,%edi,1),%esi
  343. movl 12(%esp),%edi
  344. addl %ebp,%esi
  345. # 16_19 19
  346. movl %ebx,%ebp
  347. xorl 20(%esp),%edi
  348. xorl %ecx,%ebp
  349. xorl 44(%esp),%edi
  350. andl %eax,%ebp
  351. xorl (%esp),%edi
  352. roll $1,%edi
  353. xorl %ecx,%ebp
  354. addl %ebp,%edx
  355. movl %esi,%ebp
  356. rorl $2,%eax
  357. movl %edi,12(%esp)
  358. roll $5,%ebp
  359. leal 1518500249(%edi,%edx,1),%edi
  360. movl 16(%esp),%edx
  361. addl %ebp,%edi
  362. # 20_39 20
  363. movl %esi,%ebp
  364. xorl 24(%esp),%edx
  365. xorl %eax,%ebp
  366. xorl 48(%esp),%edx
  367. xorl %ebx,%ebp
  368. xorl 4(%esp),%edx
  369. roll $1,%edx
  370. addl %ebp,%ecx
  371. rorl $2,%esi
  372. movl %edi,%ebp
  373. roll $5,%ebp
  374. movl %edx,16(%esp)
  375. leal 1859775393(%edx,%ecx,1),%edx
  376. movl 20(%esp),%ecx
  377. addl %ebp,%edx
  378. # 20_39 21
  379. movl %edi,%ebp
  380. xorl 28(%esp),%ecx
  381. xorl %esi,%ebp
  382. xorl 52(%esp),%ecx
  383. xorl %eax,%ebp
  384. xorl 8(%esp),%ecx
  385. roll $1,%ecx
  386. addl %ebp,%ebx
  387. rorl $2,%edi
  388. movl %edx,%ebp
  389. roll $5,%ebp
  390. movl %ecx,20(%esp)
  391. leal 1859775393(%ecx,%ebx,1),%ecx
  392. movl 24(%esp),%ebx
  393. addl %ebp,%ecx
  394. # 20_39 22
  395. movl %edx,%ebp
  396. xorl 32(%esp),%ebx
  397. xorl %edi,%ebp
  398. xorl 56(%esp),%ebx
  399. xorl %esi,%ebp
  400. xorl 12(%esp),%ebx
  401. roll $1,%ebx
  402. addl %ebp,%eax
  403. rorl $2,%edx
  404. movl %ecx,%ebp
  405. roll $5,%ebp
  406. movl %ebx,24(%esp)
  407. leal 1859775393(%ebx,%eax,1),%ebx
  408. movl 28(%esp),%eax
  409. addl %ebp,%ebx
  410. # 20_39 23
  411. movl %ecx,%ebp
  412. xorl 36(%esp),%eax
  413. xorl %edx,%ebp
  414. xorl 60(%esp),%eax
  415. xorl %edi,%ebp
  416. xorl 16(%esp),%eax
  417. roll $1,%eax
  418. addl %ebp,%esi
  419. rorl $2,%ecx
  420. movl %ebx,%ebp
  421. roll $5,%ebp
  422. movl %eax,28(%esp)
  423. leal 1859775393(%eax,%esi,1),%eax
  424. movl 32(%esp),%esi
  425. addl %ebp,%eax
  426. # 20_39 24
  427. movl %ebx,%ebp
  428. xorl 40(%esp),%esi
  429. xorl %ecx,%ebp
  430. xorl (%esp),%esi
  431. xorl %edx,%ebp
  432. xorl 20(%esp),%esi
  433. roll $1,%esi
  434. addl %ebp,%edi
  435. rorl $2,%ebx
  436. movl %eax,%ebp
  437. roll $5,%ebp
  438. movl %esi,32(%esp)
  439. leal 1859775393(%esi,%edi,1),%esi
  440. movl 36(%esp),%edi
  441. addl %ebp,%esi
  442. # 20_39 25
  443. movl %eax,%ebp
  444. xorl 44(%esp),%edi
  445. xorl %ebx,%ebp
  446. xorl 4(%esp),%edi
  447. xorl %ecx,%ebp
  448. xorl 24(%esp),%edi
  449. roll $1,%edi
  450. addl %ebp,%edx
  451. rorl $2,%eax
  452. movl %esi,%ebp
  453. roll $5,%ebp
  454. movl %edi,36(%esp)
  455. leal 1859775393(%edi,%edx,1),%edi
  456. movl 40(%esp),%edx
  457. addl %ebp,%edi
  458. # 20_39 26
  459. movl %esi,%ebp
  460. xorl 48(%esp),%edx
  461. xorl %eax,%ebp
  462. xorl 8(%esp),%edx
  463. xorl %ebx,%ebp
  464. xorl 28(%esp),%edx
  465. roll $1,%edx
  466. addl %ebp,%ecx
  467. rorl $2,%esi
  468. movl %edi,%ebp
  469. roll $5,%ebp
  470. movl %edx,40(%esp)
  471. leal 1859775393(%edx,%ecx,1),%edx
  472. movl 44(%esp),%ecx
  473. addl %ebp,%edx
  474. # 20_39 27
  475. movl %edi,%ebp
  476. xorl 52(%esp),%ecx
  477. xorl %esi,%ebp
  478. xorl 12(%esp),%ecx
  479. xorl %eax,%ebp
  480. xorl 32(%esp),%ecx
  481. roll $1,%ecx
  482. addl %ebp,%ebx
  483. rorl $2,%edi
  484. movl %edx,%ebp
  485. roll $5,%ebp
  486. movl %ecx,44(%esp)
  487. leal 1859775393(%ecx,%ebx,1),%ecx
  488. movl 48(%esp),%ebx
  489. addl %ebp,%ecx
  490. # 20_39 28
  491. movl %edx,%ebp
  492. xorl 56(%esp),%ebx
  493. xorl %edi,%ebp
  494. xorl 16(%esp),%ebx
  495. xorl %esi,%ebp
  496. xorl 36(%esp),%ebx
  497. roll $1,%ebx
  498. addl %ebp,%eax
  499. rorl $2,%edx
  500. movl %ecx,%ebp
  501. roll $5,%ebp
  502. movl %ebx,48(%esp)
  503. leal 1859775393(%ebx,%eax,1),%ebx
  504. movl 52(%esp),%eax
  505. addl %ebp,%ebx
  506. # 20_39 29
  507. movl %ecx,%ebp
  508. xorl 60(%esp),%eax
  509. xorl %edx,%ebp
  510. xorl 20(%esp),%eax
  511. xorl %edi,%ebp
  512. xorl 40(%esp),%eax
  513. roll $1,%eax
  514. addl %ebp,%esi
  515. rorl $2,%ecx
  516. movl %ebx,%ebp
  517. roll $5,%ebp
  518. movl %eax,52(%esp)
  519. leal 1859775393(%eax,%esi,1),%eax
  520. movl 56(%esp),%esi
  521. addl %ebp,%eax
  522. # 20_39 30
  523. movl %ebx,%ebp
  524. xorl (%esp),%esi
  525. xorl %ecx,%ebp
  526. xorl 24(%esp),%esi
  527. xorl %edx,%ebp
  528. xorl 44(%esp),%esi
  529. roll $1,%esi
  530. addl %ebp,%edi
  531. rorl $2,%ebx
  532. movl %eax,%ebp
  533. roll $5,%ebp
  534. movl %esi,56(%esp)
  535. leal 1859775393(%esi,%edi,1),%esi
  536. movl 60(%esp),%edi
  537. addl %ebp,%esi
  538. # 20_39 31
  539. movl %eax,%ebp
  540. xorl 4(%esp),%edi
  541. xorl %ebx,%ebp
  542. xorl 28(%esp),%edi
  543. xorl %ecx,%ebp
  544. xorl 48(%esp),%edi
  545. roll $1,%edi
  546. addl %ebp,%edx
  547. rorl $2,%eax
  548. movl %esi,%ebp
  549. roll $5,%ebp
  550. movl %edi,60(%esp)
  551. leal 1859775393(%edi,%edx,1),%edi
  552. movl (%esp),%edx
  553. addl %ebp,%edi
  554. # 20_39 32
  555. movl %esi,%ebp
  556. xorl 8(%esp),%edx
  557. xorl %eax,%ebp
  558. xorl 32(%esp),%edx
  559. xorl %ebx,%ebp
  560. xorl 52(%esp),%edx
  561. roll $1,%edx
  562. addl %ebp,%ecx
  563. rorl $2,%esi
  564. movl %edi,%ebp
  565. roll $5,%ebp
  566. movl %edx,(%esp)
  567. leal 1859775393(%edx,%ecx,1),%edx
  568. movl 4(%esp),%ecx
  569. addl %ebp,%edx
  570. # 20_39 33
  571. movl %edi,%ebp
  572. xorl 12(%esp),%ecx
  573. xorl %esi,%ebp
  574. xorl 36(%esp),%ecx
  575. xorl %eax,%ebp
  576. xorl 56(%esp),%ecx
  577. roll $1,%ecx
  578. addl %ebp,%ebx
  579. rorl $2,%edi
  580. movl %edx,%ebp
  581. roll $5,%ebp
  582. movl %ecx,4(%esp)
  583. leal 1859775393(%ecx,%ebx,1),%ecx
  584. movl 8(%esp),%ebx
  585. addl %ebp,%ecx
  586. # 20_39 34
  587. movl %edx,%ebp
  588. xorl 16(%esp),%ebx
  589. xorl %edi,%ebp
  590. xorl 40(%esp),%ebx
  591. xorl %esi,%ebp
  592. xorl 60(%esp),%ebx
  593. roll $1,%ebx
  594. addl %ebp,%eax
  595. rorl $2,%edx
  596. movl %ecx,%ebp
  597. roll $5,%ebp
  598. movl %ebx,8(%esp)
  599. leal 1859775393(%ebx,%eax,1),%ebx
  600. movl 12(%esp),%eax
  601. addl %ebp,%ebx
  602. # 20_39 35
  603. movl %ecx,%ebp
  604. xorl 20(%esp),%eax
  605. xorl %edx,%ebp
  606. xorl 44(%esp),%eax
  607. xorl %edi,%ebp
  608. xorl (%esp),%eax
  609. roll $1,%eax
  610. addl %ebp,%esi
  611. rorl $2,%ecx
  612. movl %ebx,%ebp
  613. roll $5,%ebp
  614. movl %eax,12(%esp)
  615. leal 1859775393(%eax,%esi,1),%eax
  616. movl 16(%esp),%esi
  617. addl %ebp,%eax
  618. # 20_39 36
  619. movl %ebx,%ebp
  620. xorl 24(%esp),%esi
  621. xorl %ecx,%ebp
  622. xorl 48(%esp),%esi
  623. xorl %edx,%ebp
  624. xorl 4(%esp),%esi
  625. roll $1,%esi
  626. addl %ebp,%edi
  627. rorl $2,%ebx
  628. movl %eax,%ebp
  629. roll $5,%ebp
  630. movl %esi,16(%esp)
  631. leal 1859775393(%esi,%edi,1),%esi
  632. movl 20(%esp),%edi
  633. addl %ebp,%esi
  634. # 20_39 37
  635. movl %eax,%ebp
  636. xorl 28(%esp),%edi
  637. xorl %ebx,%ebp
  638. xorl 52(%esp),%edi
  639. xorl %ecx,%ebp
  640. xorl 8(%esp),%edi
  641. roll $1,%edi
  642. addl %ebp,%edx
  643. rorl $2,%eax
  644. movl %esi,%ebp
  645. roll $5,%ebp
  646. movl %edi,20(%esp)
  647. leal 1859775393(%edi,%edx,1),%edi
  648. movl 24(%esp),%edx
  649. addl %ebp,%edi
  650. # 20_39 38
  651. movl %esi,%ebp
  652. xorl 32(%esp),%edx
  653. xorl %eax,%ebp
  654. xorl 56(%esp),%edx
  655. xorl %ebx,%ebp
  656. xorl 12(%esp),%edx
  657. roll $1,%edx
  658. addl %ebp,%ecx
  659. rorl $2,%esi
  660. movl %edi,%ebp
  661. roll $5,%ebp
  662. movl %edx,24(%esp)
  663. leal 1859775393(%edx,%ecx,1),%edx
  664. movl 28(%esp),%ecx
  665. addl %ebp,%edx
  666. # 20_39 39
  667. movl %edi,%ebp
  668. xorl 36(%esp),%ecx
  669. xorl %esi,%ebp
  670. xorl 60(%esp),%ecx
  671. xorl %eax,%ebp
  672. xorl 16(%esp),%ecx
  673. roll $1,%ecx
  674. addl %ebp,%ebx
  675. rorl $2,%edi
  676. movl %edx,%ebp
  677. roll $5,%ebp
  678. movl %ecx,28(%esp)
  679. leal 1859775393(%ecx,%ebx,1),%ecx
  680. movl 32(%esp),%ebx
  681. addl %ebp,%ecx
  682. # 40_59 40
  683. movl %edi,%ebp
  684. xorl 40(%esp),%ebx
  685. xorl %esi,%ebp
  686. xorl (%esp),%ebx
  687. andl %edx,%ebp
  688. xorl 20(%esp),%ebx
  689. roll $1,%ebx
  690. addl %eax,%ebp
  691. rorl $2,%edx
  692. movl %ecx,%eax
  693. roll $5,%eax
  694. movl %ebx,32(%esp)
  695. leal 2400959708(%ebx,%ebp,1),%ebx
  696. movl %edi,%ebp
  697. addl %eax,%ebx
  698. andl %esi,%ebp
  699. movl 36(%esp),%eax
  700. addl %ebp,%ebx
  701. # 40_59 41
  702. movl %edx,%ebp
  703. xorl 44(%esp),%eax
  704. xorl %edi,%ebp
  705. xorl 4(%esp),%eax
  706. andl %ecx,%ebp
  707. xorl 24(%esp),%eax
  708. roll $1,%eax
  709. addl %esi,%ebp
  710. rorl $2,%ecx
  711. movl %ebx,%esi
  712. roll $5,%esi
  713. movl %eax,36(%esp)
  714. leal 2400959708(%eax,%ebp,1),%eax
  715. movl %edx,%ebp
  716. addl %esi,%eax
  717. andl %edi,%ebp
  718. movl 40(%esp),%esi
  719. addl %ebp,%eax
  720. # 40_59 42
  721. movl %ecx,%ebp
  722. xorl 48(%esp),%esi
  723. xorl %edx,%ebp
  724. xorl 8(%esp),%esi
  725. andl %ebx,%ebp
  726. xorl 28(%esp),%esi
  727. roll $1,%esi
  728. addl %edi,%ebp
  729. rorl $2,%ebx
  730. movl %eax,%edi
  731. roll $5,%edi
  732. movl %esi,40(%esp)
  733. leal 2400959708(%esi,%ebp,1),%esi
  734. movl %ecx,%ebp
  735. addl %edi,%esi
  736. andl %edx,%ebp
  737. movl 44(%esp),%edi
  738. addl %ebp,%esi
  739. # 40_59 43
  740. movl %ebx,%ebp
  741. xorl 52(%esp),%edi
  742. xorl %ecx,%ebp
  743. xorl 12(%esp),%edi
  744. andl %eax,%ebp
  745. xorl 32(%esp),%edi
  746. roll $1,%edi
  747. addl %edx,%ebp
  748. rorl $2,%eax
  749. movl %esi,%edx
  750. roll $5,%edx
  751. movl %edi,44(%esp)
  752. leal 2400959708(%edi,%ebp,1),%edi
  753. movl %ebx,%ebp
  754. addl %edx,%edi
  755. andl %ecx,%ebp
  756. movl 48(%esp),%edx
  757. addl %ebp,%edi
  758. # 40_59 44
  759. movl %eax,%ebp
  760. xorl 56(%esp),%edx
  761. xorl %ebx,%ebp
  762. xorl 16(%esp),%edx
  763. andl %esi,%ebp
  764. xorl 36(%esp),%edx
  765. roll $1,%edx
  766. addl %ecx,%ebp
  767. rorl $2,%esi
  768. movl %edi,%ecx
  769. roll $5,%ecx
  770. movl %edx,48(%esp)
  771. leal 2400959708(%edx,%ebp,1),%edx
  772. movl %eax,%ebp
  773. addl %ecx,%edx
  774. andl %ebx,%ebp
  775. movl 52(%esp),%ecx
  776. addl %ebp,%edx
  777. # 40_59 45
  778. movl %esi,%ebp
  779. xorl 60(%esp),%ecx
  780. xorl %eax,%ebp
  781. xorl 20(%esp),%ecx
  782. andl %edi,%ebp
  783. xorl 40(%esp),%ecx
  784. roll $1,%ecx
  785. addl %ebx,%ebp
  786. rorl $2,%edi
  787. movl %edx,%ebx
  788. roll $5,%ebx
  789. movl %ecx,52(%esp)
  790. leal 2400959708(%ecx,%ebp,1),%ecx
  791. movl %esi,%ebp
  792. addl %ebx,%ecx
  793. andl %eax,%ebp
  794. movl 56(%esp),%ebx
  795. addl %ebp,%ecx
  796. # 40_59 46
  797. movl %edi,%ebp
  798. xorl (%esp),%ebx
  799. xorl %esi,%ebp
  800. xorl 24(%esp),%ebx
  801. andl %edx,%ebp
  802. xorl 44(%esp),%ebx
  803. roll $1,%ebx
  804. addl %eax,%ebp
  805. rorl $2,%edx
  806. movl %ecx,%eax
  807. roll $5,%eax
  808. movl %ebx,56(%esp)
  809. leal 2400959708(%ebx,%ebp,1),%ebx
  810. movl %edi,%ebp
  811. addl %eax,%ebx
  812. andl %esi,%ebp
  813. movl 60(%esp),%eax
  814. addl %ebp,%ebx
  815. # 40_59 47
  816. movl %edx,%ebp
  817. xorl 4(%esp),%eax
  818. xorl %edi,%ebp
  819. xorl 28(%esp),%eax
  820. andl %ecx,%ebp
  821. xorl 48(%esp),%eax
  822. roll $1,%eax
  823. addl %esi,%ebp
  824. rorl $2,%ecx
  825. movl %ebx,%esi
  826. roll $5,%esi
  827. movl %eax,60(%esp)
  828. leal 2400959708(%eax,%ebp,1),%eax
  829. movl %edx,%ebp
  830. addl %esi,%eax
  831. andl %edi,%ebp
  832. movl (%esp),%esi
  833. addl %ebp,%eax
  834. # 40_59 48
  835. movl %ecx,%ebp
  836. xorl 8(%esp),%esi
  837. xorl %edx,%ebp
  838. xorl 32(%esp),%esi
  839. andl %ebx,%ebp
  840. xorl 52(%esp),%esi
  841. roll $1,%esi
  842. addl %edi,%ebp
  843. rorl $2,%ebx
  844. movl %eax,%edi
  845. roll $5,%edi
  846. movl %esi,(%esp)
  847. leal 2400959708(%esi,%ebp,1),%esi
  848. movl %ecx,%ebp
  849. addl %edi,%esi
  850. andl %edx,%ebp
  851. movl 4(%esp),%edi
  852. addl %ebp,%esi
  853. # 40_59 49
  854. movl %ebx,%ebp
  855. xorl 12(%esp),%edi
  856. xorl %ecx,%ebp
  857. xorl 36(%esp),%edi
  858. andl %eax,%ebp
  859. xorl 56(%esp),%edi
  860. roll $1,%edi
  861. addl %edx,%ebp
  862. rorl $2,%eax
  863. movl %esi,%edx
  864. roll $5,%edx
  865. movl %edi,4(%esp)
  866. leal 2400959708(%edi,%ebp,1),%edi
  867. movl %ebx,%ebp
  868. addl %edx,%edi
  869. andl %ecx,%ebp
  870. movl 8(%esp),%edx
  871. addl %ebp,%edi
  872. # 40_59 50
  873. movl %eax,%ebp
  874. xorl 16(%esp),%edx
  875. xorl %ebx,%ebp
  876. xorl 40(%esp),%edx
  877. andl %esi,%ebp
  878. xorl 60(%esp),%edx
  879. roll $1,%edx
  880. addl %ecx,%ebp
  881. rorl $2,%esi
  882. movl %edi,%ecx
  883. roll $5,%ecx
  884. movl %edx,8(%esp)
  885. leal 2400959708(%edx,%ebp,1),%edx
  886. movl %eax,%ebp
  887. addl %ecx,%edx
  888. andl %ebx,%ebp
  889. movl 12(%esp),%ecx
  890. addl %ebp,%edx
  891. # 40_59 51
  892. movl %esi,%ebp
  893. xorl 20(%esp),%ecx
  894. xorl %eax,%ebp
  895. xorl 44(%esp),%ecx
  896. andl %edi,%ebp
  897. xorl (%esp),%ecx
  898. roll $1,%ecx
  899. addl %ebx,%ebp
  900. rorl $2,%edi
  901. movl %edx,%ebx
  902. roll $5,%ebx
  903. movl %ecx,12(%esp)
  904. leal 2400959708(%ecx,%ebp,1),%ecx
  905. movl %esi,%ebp
  906. addl %ebx,%ecx
  907. andl %eax,%ebp
  908. movl 16(%esp),%ebx
  909. addl %ebp,%ecx
  910. # 40_59 52
  911. movl %edi,%ebp
  912. xorl 24(%esp),%ebx
  913. xorl %esi,%ebp
  914. xorl 48(%esp),%ebx
  915. andl %edx,%ebp
  916. xorl 4(%esp),%ebx
  917. roll $1,%ebx
  918. addl %eax,%ebp
  919. rorl $2,%edx
  920. movl %ecx,%eax
  921. roll $5,%eax
  922. movl %ebx,16(%esp)
  923. leal 2400959708(%ebx,%ebp,1),%ebx
  924. movl %edi,%ebp
  925. addl %eax,%ebx
  926. andl %esi,%ebp
  927. movl 20(%esp),%eax
  928. addl %ebp,%ebx
  929. # 40_59 53
  930. movl %edx,%ebp
  931. xorl 28(%esp),%eax
  932. xorl %edi,%ebp
  933. xorl 52(%esp),%eax
  934. andl %ecx,%ebp
  935. xorl 8(%esp),%eax
  936. roll $1,%eax
  937. addl %esi,%ebp
  938. rorl $2,%ecx
  939. movl %ebx,%esi
  940. roll $5,%esi
  941. movl %eax,20(%esp)
  942. leal 2400959708(%eax,%ebp,1),%eax
  943. movl %edx,%ebp
  944. addl %esi,%eax
  945. andl %edi,%ebp
  946. movl 24(%esp),%esi
  947. addl %ebp,%eax
  948. # 40_59 54
  949. movl %ecx,%ebp
  950. xorl 32(%esp),%esi
  951. xorl %edx,%ebp
  952. xorl 56(%esp),%esi
  953. andl %ebx,%ebp
  954. xorl 12(%esp),%esi
  955. roll $1,%esi
  956. addl %edi,%ebp
  957. rorl $2,%ebx
  958. movl %eax,%edi
  959. roll $5,%edi
  960. movl %esi,24(%esp)
  961. leal 2400959708(%esi,%ebp,1),%esi
  962. movl %ecx,%ebp
  963. addl %edi,%esi
  964. andl %edx,%ebp
  965. movl 28(%esp),%edi
  966. addl %ebp,%esi
  967. # 40_59 55
  968. movl %ebx,%ebp
  969. xorl 36(%esp),%edi
  970. xorl %ecx,%ebp
  971. xorl 60(%esp),%edi
  972. andl %eax,%ebp
  973. xorl 16(%esp),%edi
  974. roll $1,%edi
  975. addl %edx,%ebp
  976. rorl $2,%eax
  977. movl %esi,%edx
  978. roll $5,%edx
  979. movl %edi,28(%esp)
  980. leal 2400959708(%edi,%ebp,1),%edi
  981. movl %ebx,%ebp
  982. addl %edx,%edi
  983. andl %ecx,%ebp
  984. movl 32(%esp),%edx
  985. addl %ebp,%edi
  986. # 40_59 56
  987. movl %eax,%ebp
  988. xorl 40(%esp),%edx
  989. xorl %ebx,%ebp
  990. xorl (%esp),%edx
  991. andl %esi,%ebp
  992. xorl 20(%esp),%edx
  993. roll $1,%edx
  994. addl %ecx,%ebp
  995. rorl $2,%esi
  996. movl %edi,%ecx
  997. roll $5,%ecx
  998. movl %edx,32(%esp)
  999. leal 2400959708(%edx,%ebp,1),%edx
  1000. movl %eax,%ebp
  1001. addl %ecx,%edx
  1002. andl %ebx,%ebp
  1003. movl 36(%esp),%ecx
  1004. addl %ebp,%edx
  1005. # 40_59 57
  1006. movl %esi,%ebp
  1007. xorl 44(%esp),%ecx
  1008. xorl %eax,%ebp
  1009. xorl 4(%esp),%ecx
  1010. andl %edi,%ebp
  1011. xorl 24(%esp),%ecx
  1012. roll $1,%ecx
  1013. addl %ebx,%ebp
  1014. rorl $2,%edi
  1015. movl %edx,%ebx
  1016. roll $5,%ebx
  1017. movl %ecx,36(%esp)
  1018. leal 2400959708(%ecx,%ebp,1),%ecx
  1019. movl %esi,%ebp
  1020. addl %ebx,%ecx
  1021. andl %eax,%ebp
  1022. movl 40(%esp),%ebx
  1023. addl %ebp,%ecx
  1024. # 40_59 58
  1025. movl %edi,%ebp
  1026. xorl 48(%esp),%ebx
  1027. xorl %esi,%ebp
  1028. xorl 8(%esp),%ebx
  1029. andl %edx,%ebp
  1030. xorl 28(%esp),%ebx
  1031. roll $1,%ebx
  1032. addl %eax,%ebp
  1033. rorl $2,%edx
  1034. movl %ecx,%eax
  1035. roll $5,%eax
  1036. movl %ebx,40(%esp)
  1037. leal 2400959708(%ebx,%ebp,1),%ebx
  1038. movl %edi,%ebp
  1039. addl %eax,%ebx
  1040. andl %esi,%ebp
  1041. movl 44(%esp),%eax
  1042. addl %ebp,%ebx
  1043. # 40_59 59
  1044. movl %edx,%ebp
  1045. xorl 52(%esp),%eax
  1046. xorl %edi,%ebp
  1047. xorl 12(%esp),%eax
  1048. andl %ecx,%ebp
  1049. xorl 32(%esp),%eax
  1050. roll $1,%eax
  1051. addl %esi,%ebp
  1052. rorl $2,%ecx
  1053. movl %ebx,%esi
  1054. roll $5,%esi
  1055. movl %eax,44(%esp)
  1056. leal 2400959708(%eax,%ebp,1),%eax
  1057. movl %edx,%ebp
  1058. addl %esi,%eax
  1059. andl %edi,%ebp
  1060. movl 48(%esp),%esi
  1061. addl %ebp,%eax
  1062. # 20_39 60
  1063. movl %ebx,%ebp
  1064. xorl 56(%esp),%esi
  1065. xorl %ecx,%ebp
  1066. xorl 16(%esp),%esi
  1067. xorl %edx,%ebp
  1068. xorl 36(%esp),%esi
  1069. roll $1,%esi
  1070. addl %ebp,%edi
  1071. rorl $2,%ebx
  1072. movl %eax,%ebp
  1073. roll $5,%ebp
  1074. movl %esi,48(%esp)
  1075. leal 3395469782(%esi,%edi,1),%esi
  1076. movl 52(%esp),%edi
  1077. addl %ebp,%esi
  1078. # 20_39 61
  1079. movl %eax,%ebp
  1080. xorl 60(%esp),%edi
  1081. xorl %ebx,%ebp
  1082. xorl 20(%esp),%edi
  1083. xorl %ecx,%ebp
  1084. xorl 40(%esp),%edi
  1085. roll $1,%edi
  1086. addl %ebp,%edx
  1087. rorl $2,%eax
  1088. movl %esi,%ebp
  1089. roll $5,%ebp
  1090. movl %edi,52(%esp)
  1091. leal 3395469782(%edi,%edx,1),%edi
  1092. movl 56(%esp),%edx
  1093. addl %ebp,%edi
  1094. # 20_39 62
  1095. movl %esi,%ebp
  1096. xorl (%esp),%edx
  1097. xorl %eax,%ebp
  1098. xorl 24(%esp),%edx
  1099. xorl %ebx,%ebp
  1100. xorl 44(%esp),%edx
  1101. roll $1,%edx
  1102. addl %ebp,%ecx
  1103. rorl $2,%esi
  1104. movl %edi,%ebp
  1105. roll $5,%ebp
  1106. movl %edx,56(%esp)
  1107. leal 3395469782(%edx,%ecx,1),%edx
  1108. movl 60(%esp),%ecx
  1109. addl %ebp,%edx
  1110. # 20_39 63
  1111. movl %edi,%ebp
  1112. xorl 4(%esp),%ecx
  1113. xorl %esi,%ebp
  1114. xorl 28(%esp),%ecx
  1115. xorl %eax,%ebp
  1116. xorl 48(%esp),%ecx
  1117. roll $1,%ecx
  1118. addl %ebp,%ebx
  1119. rorl $2,%edi
  1120. movl %edx,%ebp
  1121. roll $5,%ebp
  1122. movl %ecx,60(%esp)
  1123. leal 3395469782(%ecx,%ebx,1),%ecx
  1124. movl (%esp),%ebx
  1125. addl %ebp,%ecx
  1126. # 20_39 64
  1127. movl %edx,%ebp
  1128. xorl 8(%esp),%ebx
  1129. xorl %edi,%ebp
  1130. xorl 32(%esp),%ebx
  1131. xorl %esi,%ebp
  1132. xorl 52(%esp),%ebx
  1133. roll $1,%ebx
  1134. addl %ebp,%eax
  1135. rorl $2,%edx
  1136. movl %ecx,%ebp
  1137. roll $5,%ebp
  1138. movl %ebx,(%esp)
  1139. leal 3395469782(%ebx,%eax,1),%ebx
  1140. movl 4(%esp),%eax
  1141. addl %ebp,%ebx
  1142. # 20_39 65
  1143. movl %ecx,%ebp
  1144. xorl 12(%esp),%eax
  1145. xorl %edx,%ebp
  1146. xorl 36(%esp),%eax
  1147. xorl %edi,%ebp
  1148. xorl 56(%esp),%eax
  1149. roll $1,%eax
  1150. addl %ebp,%esi
  1151. rorl $2,%ecx
  1152. movl %ebx,%ebp
  1153. roll $5,%ebp
  1154. movl %eax,4(%esp)
  1155. leal 3395469782(%eax,%esi,1),%eax
  1156. movl 8(%esp),%esi
  1157. addl %ebp,%eax
  1158. # 20_39 66
  1159. movl %ebx,%ebp
  1160. xorl 16(%esp),%esi
  1161. xorl %ecx,%ebp
  1162. xorl 40(%esp),%esi
  1163. xorl %edx,%ebp
  1164. xorl 60(%esp),%esi
  1165. roll $1,%esi
  1166. addl %ebp,%edi
  1167. rorl $2,%ebx
  1168. movl %eax,%ebp
  1169. roll $5,%ebp
  1170. movl %esi,8(%esp)
  1171. leal 3395469782(%esi,%edi,1),%esi
  1172. movl 12(%esp),%edi
  1173. addl %ebp,%esi
  1174. # 20_39 67
  1175. movl %eax,%ebp
  1176. xorl 20(%esp),%edi
  1177. xorl %ebx,%ebp
  1178. xorl 44(%esp),%edi
  1179. xorl %ecx,%ebp
  1180. xorl (%esp),%edi
  1181. roll $1,%edi
  1182. addl %ebp,%edx
  1183. rorl $2,%eax
  1184. movl %esi,%ebp
  1185. roll $5,%ebp
  1186. movl %edi,12(%esp)
  1187. leal 3395469782(%edi,%edx,1),%edi
  1188. movl 16(%esp),%edx
  1189. addl %ebp,%edi
  1190. # 20_39 68
  1191. movl %esi,%ebp
  1192. xorl 24(%esp),%edx
  1193. xorl %eax,%ebp
  1194. xorl 48(%esp),%edx
  1195. xorl %ebx,%ebp
  1196. xorl 4(%esp),%edx
  1197. roll $1,%edx
  1198. addl %ebp,%ecx
  1199. rorl $2,%esi
  1200. movl %edi,%ebp
  1201. roll $5,%ebp
  1202. movl %edx,16(%esp)
  1203. leal 3395469782(%edx,%ecx,1),%edx
  1204. movl 20(%esp),%ecx
  1205. addl %ebp,%edx
  1206. # 20_39 69
  1207. movl %edi,%ebp
  1208. xorl 28(%esp),%ecx
  1209. xorl %esi,%ebp
  1210. xorl 52(%esp),%ecx
  1211. xorl %eax,%ebp
  1212. xorl 8(%esp),%ecx
  1213. roll $1,%ecx
  1214. addl %ebp,%ebx
  1215. rorl $2,%edi
  1216. movl %edx,%ebp
  1217. roll $5,%ebp
  1218. movl %ecx,20(%esp)
  1219. leal 3395469782(%ecx,%ebx,1),%ecx
  1220. movl 24(%esp),%ebx
  1221. addl %ebp,%ecx
  1222. # 20_39 70
  1223. movl %edx,%ebp
  1224. xorl 32(%esp),%ebx
  1225. xorl %edi,%ebp
  1226. xorl 56(%esp),%ebx
  1227. xorl %esi,%ebp
  1228. xorl 12(%esp),%ebx
  1229. roll $1,%ebx
  1230. addl %ebp,%eax
  1231. rorl $2,%edx
  1232. movl %ecx,%ebp
  1233. roll $5,%ebp
  1234. movl %ebx,24(%esp)
  1235. leal 3395469782(%ebx,%eax,1),%ebx
  1236. movl 28(%esp),%eax
  1237. addl %ebp,%ebx
  1238. # 20_39 71
  1239. movl %ecx,%ebp
  1240. xorl 36(%esp),%eax
  1241. xorl %edx,%ebp
  1242. xorl 60(%esp),%eax
  1243. xorl %edi,%ebp
  1244. xorl 16(%esp),%eax
  1245. roll $1,%eax
  1246. addl %ebp,%esi
  1247. rorl $2,%ecx
  1248. movl %ebx,%ebp
  1249. roll $5,%ebp
  1250. movl %eax,28(%esp)
  1251. leal 3395469782(%eax,%esi,1),%eax
  1252. movl 32(%esp),%esi
  1253. addl %ebp,%eax
  1254. # 20_39 72
  1255. movl %ebx,%ebp
  1256. xorl 40(%esp),%esi
  1257. xorl %ecx,%ebp
  1258. xorl (%esp),%esi
  1259. xorl %edx,%ebp
  1260. xorl 20(%esp),%esi
  1261. roll $1,%esi
  1262. addl %ebp,%edi
  1263. rorl $2,%ebx
  1264. movl %eax,%ebp
  1265. roll $5,%ebp
  1266. movl %esi,32(%esp)
  1267. leal 3395469782(%esi,%edi,1),%esi
  1268. movl 36(%esp),%edi
  1269. addl %ebp,%esi
  1270. # 20_39 73
  1271. movl %eax,%ebp
  1272. xorl 44(%esp),%edi
  1273. xorl %ebx,%ebp
  1274. xorl 4(%esp),%edi
  1275. xorl %ecx,%ebp
  1276. xorl 24(%esp),%edi
  1277. roll $1,%edi
  1278. addl %ebp,%edx
  1279. rorl $2,%eax
  1280. movl %esi,%ebp
  1281. roll $5,%ebp
  1282. movl %edi,36(%esp)
  1283. leal 3395469782(%edi,%edx,1),%edi
  1284. movl 40(%esp),%edx
  1285. addl %ebp,%edi
  1286. # 20_39 74
  1287. movl %esi,%ebp
  1288. xorl 48(%esp),%edx
  1289. xorl %eax,%ebp
  1290. xorl 8(%esp),%edx
  1291. xorl %ebx,%ebp
  1292. xorl 28(%esp),%edx
  1293. roll $1,%edx
  1294. addl %ebp,%ecx
  1295. rorl $2,%esi
  1296. movl %edi,%ebp
  1297. roll $5,%ebp
  1298. movl %edx,40(%esp)
  1299. leal 3395469782(%edx,%ecx,1),%edx
  1300. movl 44(%esp),%ecx
  1301. addl %ebp,%edx
  1302. # 20_39 75
  1303. movl %edi,%ebp
  1304. xorl 52(%esp),%ecx
  1305. xorl %esi,%ebp
  1306. xorl 12(%esp),%ecx
  1307. xorl %eax,%ebp
  1308. xorl 32(%esp),%ecx
  1309. roll $1,%ecx
  1310. addl %ebp,%ebx
  1311. rorl $2,%edi
  1312. movl %edx,%ebp
  1313. roll $5,%ebp
  1314. movl %ecx,44(%esp)
  1315. leal 3395469782(%ecx,%ebx,1),%ecx
  1316. movl 48(%esp),%ebx
  1317. addl %ebp,%ecx
  1318. # 20_39 76
  1319. movl %edx,%ebp
  1320. xorl 56(%esp),%ebx
  1321. xorl %edi,%ebp
  1322. xorl 16(%esp),%ebx
  1323. xorl %esi,%ebp
  1324. xorl 36(%esp),%ebx
  1325. roll $1,%ebx
  1326. addl %ebp,%eax
  1327. rorl $2,%edx
  1328. movl %ecx,%ebp
  1329. roll $5,%ebp
  1330. movl %ebx,48(%esp)
  1331. leal 3395469782(%ebx,%eax,1),%ebx
  1332. movl 52(%esp),%eax
  1333. addl %ebp,%ebx
  1334. # 20_39 77
  1335. movl %ecx,%ebp
  1336. xorl 60(%esp),%eax
  1337. xorl %edx,%ebp
  1338. xorl 20(%esp),%eax
  1339. xorl %edi,%ebp
  1340. xorl 40(%esp),%eax
  1341. roll $1,%eax
  1342. addl %ebp,%esi
  1343. rorl $2,%ecx
  1344. movl %ebx,%ebp
  1345. roll $5,%ebp
  1346. leal 3395469782(%eax,%esi,1),%eax
  1347. movl 56(%esp),%esi
  1348. addl %ebp,%eax
  1349. # 20_39 78
  1350. movl %ebx,%ebp
  1351. xorl (%esp),%esi
  1352. xorl %ecx,%ebp
  1353. xorl 24(%esp),%esi
  1354. xorl %edx,%ebp
  1355. xorl 44(%esp),%esi
  1356. roll $1,%esi
  1357. addl %ebp,%edi
  1358. rorl $2,%ebx
  1359. movl %eax,%ebp
  1360. roll $5,%ebp
  1361. leal 3395469782(%esi,%edi,1),%esi
  1362. movl 60(%esp),%edi
  1363. addl %ebp,%esi
  1364. # 20_39 79
  1365. movl %eax,%ebp
  1366. xorl 4(%esp),%edi
  1367. xorl %ebx,%ebp
  1368. xorl 28(%esp),%edi
  1369. xorl %ecx,%ebp
  1370. xorl 48(%esp),%edi
  1371. roll $1,%edi
  1372. addl %ebp,%edx
  1373. rorl $2,%eax
  1374. movl %esi,%ebp
  1375. roll $5,%ebp
  1376. leal 3395469782(%edi,%edx,1),%edi
  1377. addl %ebp,%edi
  1378. movl 96(%esp),%ebp
  1379. movl 100(%esp),%edx
  1380. addl (%ebp),%edi
  1381. addl 4(%ebp),%esi
  1382. addl 8(%ebp),%eax
  1383. addl 12(%ebp),%ebx
  1384. addl 16(%ebp),%ecx
  1385. movl %edi,(%ebp)
  1386. addl $64,%edx
  1387. movl %esi,4(%ebp)
  1388. cmpl 104(%esp),%edx
  1389. movl %eax,8(%ebp)
  1390. movl %ecx,%edi
  1391. movl %ebx,12(%ebp)
  1392. movl %edx,%esi
  1393. movl %ecx,16(%ebp)
  1394. jb L002loop
  1395. addl $76,%esp
  1396. popl %edi
  1397. popl %esi
  1398. popl %ebx
  1399. popl %ebp
  1400. ret
  1401. .private_extern __sha1_block_data_order_ssse3
  1402. .align 4
  1403. __sha1_block_data_order_ssse3:
  1404. pushl %ebp
  1405. pushl %ebx
  1406. pushl %esi
  1407. pushl %edi
  1408. call L003pic_point
  1409. L003pic_point:
  1410. popl %ebp
  1411. leal LK_XX_XX-L003pic_point(%ebp),%ebp
  1412. Lssse3_shortcut:
  1413. movdqa (%ebp),%xmm7
  1414. movdqa 16(%ebp),%xmm0
  1415. movdqa 32(%ebp),%xmm1
  1416. movdqa 48(%ebp),%xmm2
  1417. movdqa 64(%ebp),%xmm6
  1418. movl 20(%esp),%edi
  1419. movl 24(%esp),%ebp
  1420. movl 28(%esp),%edx
  1421. movl %esp,%esi
  1422. subl $208,%esp
  1423. andl $-64,%esp
  1424. movdqa %xmm0,112(%esp)
  1425. movdqa %xmm1,128(%esp)
  1426. movdqa %xmm2,144(%esp)
  1427. shll $6,%edx
  1428. movdqa %xmm7,160(%esp)
  1429. addl %ebp,%edx
  1430. movdqa %xmm6,176(%esp)
  1431. addl $64,%ebp
  1432. movl %edi,192(%esp)
  1433. movl %ebp,196(%esp)
  1434. movl %edx,200(%esp)
  1435. movl %esi,204(%esp)
  1436. movl (%edi),%eax
  1437. movl 4(%edi),%ebx
  1438. movl 8(%edi),%ecx
  1439. movl 12(%edi),%edx
  1440. movl 16(%edi),%edi
  1441. movl %ebx,%esi
  1442. movdqu -64(%ebp),%xmm0
  1443. movdqu -48(%ebp),%xmm1
  1444. movdqu -32(%ebp),%xmm2
  1445. movdqu -16(%ebp),%xmm3
  1446. .byte 102,15,56,0,198
  1447. .byte 102,15,56,0,206
  1448. .byte 102,15,56,0,214
  1449. movdqa %xmm7,96(%esp)
  1450. .byte 102,15,56,0,222
  1451. paddd %xmm7,%xmm0
  1452. paddd %xmm7,%xmm1
  1453. paddd %xmm7,%xmm2
  1454. movdqa %xmm0,(%esp)
  1455. psubd %xmm7,%xmm0
  1456. movdqa %xmm1,16(%esp)
  1457. psubd %xmm7,%xmm1
  1458. movdqa %xmm2,32(%esp)
  1459. movl %ecx,%ebp
  1460. psubd %xmm7,%xmm2
  1461. xorl %edx,%ebp
  1462. pshufd $238,%xmm0,%xmm4
  1463. andl %ebp,%esi
  1464. jmp L004loop
  1465. .align 4,0x90
  1466. L004loop:
  1467. rorl $2,%ebx
  1468. xorl %edx,%esi
  1469. movl %eax,%ebp
  1470. punpcklqdq %xmm1,%xmm4
  1471. movdqa %xmm3,%xmm6
  1472. addl (%esp),%edi
  1473. xorl %ecx,%ebx
  1474. paddd %xmm3,%xmm7
  1475. movdqa %xmm0,64(%esp)
  1476. roll $5,%eax
  1477. addl %esi,%edi
  1478. psrldq $4,%xmm6
  1479. andl %ebx,%ebp
  1480. xorl %ecx,%ebx
  1481. pxor %xmm0,%xmm4
  1482. addl %eax,%edi
  1483. rorl $7,%eax
  1484. pxor %xmm2,%xmm6
  1485. xorl %ecx,%ebp
  1486. movl %edi,%esi
  1487. addl 4(%esp),%edx
  1488. pxor %xmm6,%xmm4
  1489. xorl %ebx,%eax
  1490. roll $5,%edi
  1491. movdqa %xmm7,48(%esp)
  1492. addl %ebp,%edx
  1493. andl %eax,%esi
  1494. movdqa %xmm4,%xmm0
  1495. xorl %ebx,%eax
  1496. addl %edi,%edx
  1497. rorl $7,%edi
  1498. movdqa %xmm4,%xmm6
  1499. xorl %ebx,%esi
  1500. pslldq $12,%xmm0
  1501. paddd %xmm4,%xmm4
  1502. movl %edx,%ebp
  1503. addl 8(%esp),%ecx
  1504. psrld $31,%xmm6
  1505. xorl %eax,%edi
  1506. roll $5,%edx
  1507. movdqa %xmm0,%xmm7
  1508. addl %esi,%ecx
  1509. andl %edi,%ebp
  1510. xorl %eax,%edi
  1511. psrld $30,%xmm0
  1512. addl %edx,%ecx
  1513. rorl $7,%edx
  1514. por %xmm6,%xmm4
  1515. xorl %eax,%ebp
  1516. movl %ecx,%esi
  1517. addl 12(%esp),%ebx
  1518. pslld $2,%xmm7
  1519. xorl %edi,%edx
  1520. roll $5,%ecx
  1521. pxor %xmm0,%xmm4
  1522. movdqa 96(%esp),%xmm0
  1523. addl %ebp,%ebx
  1524. andl %edx,%esi
  1525. pxor %xmm7,%xmm4
  1526. pshufd $238,%xmm1,%xmm5
  1527. xorl %edi,%edx
  1528. addl %ecx,%ebx
  1529. rorl $7,%ecx
  1530. xorl %edi,%esi
  1531. movl %ebx,%ebp
  1532. punpcklqdq %xmm2,%xmm5
  1533. movdqa %xmm4,%xmm7
  1534. addl 16(%esp),%eax
  1535. xorl %edx,%ecx
  1536. paddd %xmm4,%xmm0
  1537. movdqa %xmm1,80(%esp)
  1538. roll $5,%ebx
  1539. addl %esi,%eax
  1540. psrldq $4,%xmm7
  1541. andl %ecx,%ebp
  1542. xorl %edx,%ecx
  1543. pxor %xmm1,%xmm5
  1544. addl %ebx,%eax
  1545. rorl $7,%ebx
  1546. pxor %xmm3,%xmm7
  1547. xorl %edx,%ebp
  1548. movl %eax,%esi
  1549. addl 20(%esp),%edi
  1550. pxor %xmm7,%xmm5
  1551. xorl %ecx,%ebx
  1552. roll $5,%eax
  1553. movdqa %xmm0,(%esp)
  1554. addl %ebp,%edi
  1555. andl %ebx,%esi
  1556. movdqa %xmm5,%xmm1
  1557. xorl %ecx,%ebx
  1558. addl %eax,%edi
  1559. rorl $7,%eax
  1560. movdqa %xmm5,%xmm7
  1561. xorl %ecx,%esi
  1562. pslldq $12,%xmm1
  1563. paddd %xmm5,%xmm5
  1564. movl %edi,%ebp
  1565. addl 24(%esp),%edx
  1566. psrld $31,%xmm7
  1567. xorl %ebx,%eax
  1568. roll $5,%edi
  1569. movdqa %xmm1,%xmm0
  1570. addl %esi,%edx
  1571. andl %eax,%ebp
  1572. xorl %ebx,%eax
  1573. psrld $30,%xmm1
  1574. addl %edi,%edx
  1575. rorl $7,%edi
  1576. por %xmm7,%xmm5
  1577. xorl %ebx,%ebp
  1578. movl %edx,%esi
  1579. addl 28(%esp),%ecx
  1580. pslld $2,%xmm0
  1581. xorl %eax,%edi
  1582. roll $5,%edx
  1583. pxor %xmm1,%xmm5
  1584. movdqa 112(%esp),%xmm1
  1585. addl %ebp,%ecx
  1586. andl %edi,%esi
  1587. pxor %xmm0,%xmm5
  1588. pshufd $238,%xmm2,%xmm6
  1589. xorl %eax,%edi
  1590. addl %edx,%ecx
  1591. rorl $7,%edx
  1592. xorl %eax,%esi
  1593. movl %ecx,%ebp
  1594. punpcklqdq %xmm3,%xmm6
  1595. movdqa %xmm5,%xmm0
  1596. addl 32(%esp),%ebx
  1597. xorl %edi,%edx
  1598. paddd %xmm5,%xmm1
  1599. movdqa %xmm2,96(%esp)
  1600. roll $5,%ecx
  1601. addl %esi,%ebx
  1602. psrldq $4,%xmm0
  1603. andl %edx,%ebp
  1604. xorl %edi,%edx
  1605. pxor %xmm2,%xmm6
  1606. addl %ecx,%ebx
  1607. rorl $7,%ecx
  1608. pxor %xmm4,%xmm0
  1609. xorl %edi,%ebp
  1610. movl %ebx,%esi
  1611. addl 36(%esp),%eax
  1612. pxor %xmm0,%xmm6
  1613. xorl %edx,%ecx
  1614. roll $5,%ebx
  1615. movdqa %xmm1,16(%esp)
  1616. addl %ebp,%eax
  1617. andl %ecx,%esi
  1618. movdqa %xmm6,%xmm2
  1619. xorl %edx,%ecx
  1620. addl %ebx,%eax
  1621. rorl $7,%ebx
  1622. movdqa %xmm6,%xmm0
  1623. xorl %edx,%esi
  1624. pslldq $12,%xmm2
  1625. paddd %xmm6,%xmm6
  1626. movl %eax,%ebp
  1627. addl 40(%esp),%edi
  1628. psrld $31,%xmm0
  1629. xorl %ecx,%ebx
  1630. roll $5,%eax
  1631. movdqa %xmm2,%xmm1
  1632. addl %esi,%edi
  1633. andl %ebx,%ebp
  1634. xorl %ecx,%ebx
  1635. psrld $30,%xmm2
  1636. addl %eax,%edi
  1637. rorl $7,%eax
  1638. por %xmm0,%xmm6
  1639. xorl %ecx,%ebp
  1640. movdqa 64(%esp),%xmm0
  1641. movl %edi,%esi
  1642. addl 44(%esp),%edx
  1643. pslld $2,%xmm1
  1644. xorl %ebx,%eax
  1645. roll $5,%edi
  1646. pxor %xmm2,%xmm6
  1647. movdqa 112(%esp),%xmm2
  1648. addl %ebp,%edx
  1649. andl %eax,%esi
  1650. pxor %xmm1,%xmm6
  1651. pshufd $238,%xmm3,%xmm7
  1652. xorl %ebx,%eax
  1653. addl %edi,%edx
  1654. rorl $7,%edi
  1655. xorl %ebx,%esi
  1656. movl %edx,%ebp
  1657. punpcklqdq %xmm4,%xmm7
  1658. movdqa %xmm6,%xmm1
  1659. addl 48(%esp),%ecx
  1660. xorl %eax,%edi
  1661. paddd %xmm6,%xmm2
  1662. movdqa %xmm3,64(%esp)
  1663. roll $5,%edx
  1664. addl %esi,%ecx
  1665. psrldq $4,%xmm1
  1666. andl %edi,%ebp
  1667. xorl %eax,%edi
  1668. pxor %xmm3,%xmm7
  1669. addl %edx,%ecx
  1670. rorl $7,%edx
  1671. pxor %xmm5,%xmm1
  1672. xorl %eax,%ebp
  1673. movl %ecx,%esi
  1674. addl 52(%esp),%ebx
  1675. pxor %xmm1,%xmm7
  1676. xorl %edi,%edx
  1677. roll $5,%ecx
  1678. movdqa %xmm2,32(%esp)
  1679. addl %ebp,%ebx
  1680. andl %edx,%esi
  1681. movdqa %xmm7,%xmm3
  1682. xorl %edi,%edx
  1683. addl %ecx,%ebx
  1684. rorl $7,%ecx
  1685. movdqa %xmm7,%xmm1
  1686. xorl %edi,%esi
  1687. pslldq $12,%xmm3
  1688. paddd %xmm7,%xmm7
  1689. movl %ebx,%ebp
  1690. addl 56(%esp),%eax
  1691. psrld $31,%xmm1
  1692. xorl %edx,%ecx
  1693. roll $5,%ebx
  1694. movdqa %xmm3,%xmm2
  1695. addl %esi,%eax
  1696. andl %ecx,%ebp
  1697. xorl %edx,%ecx
  1698. psrld $30,%xmm3
  1699. addl %ebx,%eax
  1700. rorl $7,%ebx
  1701. por %xmm1,%xmm7
  1702. xorl %edx,%ebp
  1703. movdqa 80(%esp),%xmm1
  1704. movl %eax,%esi
  1705. addl 60(%esp),%edi
  1706. pslld $2,%xmm2
  1707. xorl %ecx,%ebx
  1708. roll $5,%eax
  1709. pxor %xmm3,%xmm7
  1710. movdqa 112(%esp),%xmm3
  1711. addl %ebp,%edi
  1712. andl %ebx,%esi
  1713. pxor %xmm2,%xmm7
  1714. pshufd $238,%xmm6,%xmm2
  1715. xorl %ecx,%ebx
  1716. addl %eax,%edi
  1717. rorl $7,%eax
  1718. pxor %xmm4,%xmm0
  1719. punpcklqdq %xmm7,%xmm2
  1720. xorl %ecx,%esi
  1721. movl %edi,%ebp
  1722. addl (%esp),%edx
  1723. pxor %xmm1,%xmm0
  1724. movdqa %xmm4,80(%esp)
  1725. xorl %ebx,%eax
  1726. roll $5,%edi
  1727. movdqa %xmm3,%xmm4
  1728. addl %esi,%edx
  1729. paddd %xmm7,%xmm3
  1730. andl %eax,%ebp
  1731. pxor %xmm2,%xmm0
  1732. xorl %ebx,%eax
  1733. addl %edi,%edx
  1734. rorl $7,%edi
  1735. xorl %ebx,%ebp
  1736. movdqa %xmm0,%xmm2
  1737. movdqa %xmm3,48(%esp)
  1738. movl %edx,%esi
  1739. addl 4(%esp),%ecx
  1740. xorl %eax,%edi
  1741. roll $5,%edx
  1742. pslld $2,%xmm0
  1743. addl %ebp,%ecx
  1744. andl %edi,%esi
  1745. psrld $30,%xmm2
  1746. xorl %eax,%edi
  1747. addl %edx,%ecx
  1748. rorl $7,%edx
  1749. xorl %eax,%esi
  1750. movl %ecx,%ebp
  1751. addl 8(%esp),%ebx
  1752. xorl %edi,%edx
  1753. roll $5,%ecx
  1754. por %xmm2,%xmm0
  1755. addl %esi,%ebx
  1756. andl %edx,%ebp
  1757. movdqa 96(%esp),%xmm2
  1758. xorl %edi,%edx
  1759. addl %ecx,%ebx
  1760. addl 12(%esp),%eax
  1761. xorl %edi,%ebp
  1762. movl %ebx,%esi
  1763. pshufd $238,%xmm7,%xmm3
  1764. roll $5,%ebx
  1765. addl %ebp,%eax
  1766. xorl %edx,%esi
  1767. rorl $7,%ecx
  1768. addl %ebx,%eax
  1769. addl 16(%esp),%edi
  1770. pxor %xmm5,%xmm1
  1771. punpcklqdq %xmm0,%xmm3
  1772. xorl %ecx,%esi
  1773. movl %eax,%ebp
  1774. roll $5,%eax
  1775. pxor %xmm2,%xmm1
  1776. movdqa %xmm5,96(%esp)
  1777. addl %esi,%edi
  1778. xorl %ecx,%ebp
  1779. movdqa %xmm4,%xmm5
  1780. rorl $7,%ebx
  1781. paddd %xmm0,%xmm4
  1782. addl %eax,%edi
  1783. pxor %xmm3,%xmm1
  1784. addl 20(%esp),%edx
  1785. xorl %ebx,%ebp
  1786. movl %edi,%esi
  1787. roll $5,%edi
  1788. movdqa %xmm1,%xmm3
  1789. movdqa %xmm4,(%esp)
  1790. addl %ebp,%edx
  1791. xorl %ebx,%esi
  1792. rorl $7,%eax
  1793. addl %edi,%edx
  1794. pslld $2,%xmm1
  1795. addl 24(%esp),%ecx
  1796. xorl %eax,%esi
  1797. psrld $30,%xmm3
  1798. movl %edx,%ebp
  1799. roll $5,%edx
  1800. addl %esi,%ecx
  1801. xorl %eax,%ebp
  1802. rorl $7,%edi
  1803. addl %edx,%ecx
  1804. por %xmm3,%xmm1
  1805. addl 28(%esp),%ebx
  1806. xorl %edi,%ebp
  1807. movdqa 64(%esp),%xmm3
  1808. movl %ecx,%esi
  1809. roll $5,%ecx
  1810. addl %ebp,%ebx
  1811. xorl %edi,%esi
  1812. rorl $7,%edx
  1813. pshufd $238,%xmm0,%xmm4
  1814. addl %ecx,%ebx
  1815. addl 32(%esp),%eax
  1816. pxor %xmm6,%xmm2
  1817. punpcklqdq %xmm1,%xmm4
  1818. xorl %edx,%esi
  1819. movl %ebx,%ebp
  1820. roll $5,%ebx
  1821. pxor %xmm3,%xmm2
  1822. movdqa %xmm6,64(%esp)
  1823. addl %esi,%eax
  1824. xorl %edx,%ebp
  1825. movdqa 128(%esp),%xmm6
  1826. rorl $7,%ecx
  1827. paddd %xmm1,%xmm5
  1828. addl %ebx,%eax
  1829. pxor %xmm4,%xmm2
  1830. addl 36(%esp),%edi
  1831. xorl %ecx,%ebp
  1832. movl %eax,%esi
  1833. roll $5,%eax
  1834. movdqa %xmm2,%xmm4
  1835. movdqa %xmm5,16(%esp)
  1836. addl %ebp,%edi
  1837. xorl %ecx,%esi
  1838. rorl $7,%ebx
  1839. addl %eax,%edi
  1840. pslld $2,%xmm2
  1841. addl 40(%esp),%edx
  1842. xorl %ebx,%esi
  1843. psrld $30,%xmm4
  1844. movl %edi,%ebp
  1845. roll $5,%edi
  1846. addl %esi,%edx
  1847. xorl %ebx,%ebp
  1848. rorl $7,%eax
  1849. addl %edi,%edx
  1850. por %xmm4,%xmm2
  1851. addl 44(%esp),%ecx
  1852. xorl %eax,%ebp
  1853. movdqa 80(%esp),%xmm4
  1854. movl %edx,%esi
  1855. roll $5,%edx
  1856. addl %ebp,%ecx
  1857. xorl %eax,%esi
  1858. rorl $7,%edi
  1859. pshufd $238,%xmm1,%xmm5
  1860. addl %edx,%ecx
  1861. addl 48(%esp),%ebx
  1862. pxor %xmm7,%xmm3
  1863. punpcklqdq %xmm2,%xmm5
  1864. xorl %edi,%esi
  1865. movl %ecx,%ebp
  1866. roll $5,%ecx
  1867. pxor %xmm4,%xmm3
  1868. movdqa %xmm7,80(%esp)
  1869. addl %esi,%ebx
  1870. xorl %edi,%ebp
  1871. movdqa %xmm6,%xmm7
  1872. rorl $7,%edx
  1873. paddd %xmm2,%xmm6
  1874. addl %ecx,%ebx
  1875. pxor %xmm5,%xmm3
  1876. addl 52(%esp),%eax
  1877. xorl %edx,%ebp
  1878. movl %ebx,%esi
  1879. roll $5,%ebx
  1880. movdqa %xmm3,%xmm5
  1881. movdqa %xmm6,32(%esp)
  1882. addl %ebp,%eax
  1883. xorl %edx,%esi
  1884. rorl $7,%ecx
  1885. addl %ebx,%eax
  1886. pslld $2,%xmm3
  1887. addl 56(%esp),%edi
  1888. xorl %ecx,%esi
  1889. psrld $30,%xmm5
  1890. movl %eax,%ebp
  1891. roll $5,%eax
  1892. addl %esi,%edi
  1893. xorl %ecx,%ebp
  1894. rorl $7,%ebx
  1895. addl %eax,%edi
  1896. por %xmm5,%xmm3
  1897. addl 60(%esp),%edx
  1898. xorl %ebx,%ebp
  1899. movdqa 96(%esp),%xmm5
  1900. movl %edi,%esi
  1901. roll $5,%edi
  1902. addl %ebp,%edx
  1903. xorl %ebx,%esi
  1904. rorl $7,%eax
  1905. pshufd $238,%xmm2,%xmm6
  1906. addl %edi,%edx
  1907. addl (%esp),%ecx
  1908. pxor %xmm0,%xmm4
  1909. punpcklqdq %xmm3,%xmm6
  1910. xorl %eax,%esi
  1911. movl %edx,%ebp
  1912. roll $5,%edx
  1913. pxor %xmm5,%xmm4
  1914. movdqa %xmm0,96(%esp)
  1915. addl %esi,%ecx
  1916. xorl %eax,%ebp
  1917. movdqa %xmm7,%xmm0
  1918. rorl $7,%edi
  1919. paddd %xmm3,%xmm7
  1920. addl %edx,%ecx
  1921. pxor %xmm6,%xmm4
  1922. addl 4(%esp),%ebx
  1923. xorl %edi,%ebp
  1924. movl %ecx,%esi
  1925. roll $5,%ecx
  1926. movdqa %xmm4,%xmm6
  1927. movdqa %xmm7,48(%esp)
  1928. addl %ebp,%ebx
  1929. xorl %edi,%esi
  1930. rorl $7,%edx
  1931. addl %ecx,%ebx
  1932. pslld $2,%xmm4
  1933. addl 8(%esp),%eax
  1934. xorl %edx,%esi
  1935. psrld $30,%xmm6
  1936. movl %ebx,%ebp
  1937. roll $5,%ebx
  1938. addl %esi,%eax
  1939. xorl %edx,%ebp
  1940. rorl $7,%ecx
  1941. addl %ebx,%eax
  1942. por %xmm6,%xmm4
  1943. addl 12(%esp),%edi
  1944. xorl %ecx,%ebp
  1945. movdqa 64(%esp),%xmm6
  1946. movl %eax,%esi
  1947. roll $5,%eax
  1948. addl %ebp,%edi
  1949. xorl %ecx,%esi
  1950. rorl $7,%ebx
  1951. pshufd $238,%xmm3,%xmm7
  1952. addl %eax,%edi
  1953. addl 16(%esp),%edx
  1954. pxor %xmm1,%xmm5
  1955. punpcklqdq %xmm4,%xmm7
  1956. xorl %ebx,%esi
  1957. movl %edi,%ebp
  1958. roll $5,%edi
  1959. pxor %xmm6,%xmm5
  1960. movdqa %xmm1,64(%esp)
  1961. addl %esi,%edx
  1962. xorl %ebx,%ebp
  1963. movdqa %xmm0,%xmm1
  1964. rorl $7,%eax
  1965. paddd %xmm4,%xmm0
  1966. addl %edi,%edx
  1967. pxor %xmm7,%xmm5
  1968. addl 20(%esp),%ecx
  1969. xorl %eax,%ebp
  1970. movl %edx,%esi
  1971. roll $5,%edx
  1972. movdqa %xmm5,%xmm7
  1973. movdqa %xmm0,(%esp)
  1974. addl %ebp,%ecx
  1975. xorl %eax,%esi
  1976. rorl $7,%edi
  1977. addl %edx,%ecx
  1978. pslld $2,%xmm5
  1979. addl 24(%esp),%ebx
  1980. xorl %edi,%esi
  1981. psrld $30,%xmm7
  1982. movl %ecx,%ebp
  1983. roll $5,%ecx
  1984. addl %esi,%ebx
  1985. xorl %edi,%ebp
  1986. rorl $7,%edx
  1987. addl %ecx,%ebx
  1988. por %xmm7,%xmm5
  1989. addl 28(%esp),%eax
  1990. movdqa 80(%esp),%xmm7
  1991. rorl $7,%ecx
  1992. movl %ebx,%esi
  1993. xorl %edx,%ebp
  1994. roll $5,%ebx
  1995. pshufd $238,%xmm4,%xmm0
  1996. addl %ebp,%eax
  1997. xorl %ecx,%esi
  1998. xorl %edx,%ecx
  1999. addl %ebx,%eax
  2000. addl 32(%esp),%edi
  2001. pxor %xmm2,%xmm6
  2002. punpcklqdq %xmm5,%xmm0
  2003. andl %ecx,%esi
  2004. xorl %edx,%ecx
  2005. rorl $7,%ebx
  2006. pxor %xmm7,%xmm6
  2007. movdqa %xmm2,80(%esp)
  2008. movl %eax,%ebp
  2009. xorl %ecx,%esi
  2010. roll $5,%eax
  2011. movdqa %xmm1,%xmm2
  2012. addl %esi,%edi
  2013. paddd %xmm5,%xmm1
  2014. xorl %ebx,%ebp
  2015. pxor %xmm0,%xmm6
  2016. xorl %ecx,%ebx
  2017. addl %eax,%edi
  2018. addl 36(%esp),%edx
  2019. andl %ebx,%ebp
  2020. movdqa %xmm6,%xmm0
  2021. movdqa %xmm1,16(%esp)
  2022. xorl %ecx,%ebx
  2023. rorl $7,%eax
  2024. movl %edi,%esi
  2025. xorl %ebx,%ebp
  2026. roll $5,%edi
  2027. pslld $2,%xmm6
  2028. addl %ebp,%edx
  2029. xorl %eax,%esi
  2030. psrld $30,%xmm0
  2031. xorl %ebx,%eax
  2032. addl %edi,%edx
  2033. addl 40(%esp),%ecx
  2034. andl %eax,%esi
  2035. xorl %ebx,%eax
  2036. rorl $7,%edi
  2037. por %xmm0,%xmm6
  2038. movl %edx,%ebp
  2039. xorl %eax,%esi
  2040. movdqa 96(%esp),%xmm0
  2041. roll $5,%edx
  2042. addl %esi,%ecx
  2043. xorl %edi,%ebp
  2044. xorl %eax,%edi
  2045. addl %edx,%ecx
  2046. pshufd $238,%xmm5,%xmm1
  2047. addl 44(%esp),%ebx
  2048. andl %edi,%ebp
  2049. xorl %eax,%edi
  2050. rorl $7,%edx
  2051. movl %ecx,%esi
  2052. xorl %edi,%ebp
  2053. roll $5,%ecx
  2054. addl %ebp,%ebx
  2055. xorl %edx,%esi
  2056. xorl %edi,%edx
  2057. addl %ecx,%ebx
  2058. addl 48(%esp),%eax
  2059. pxor %xmm3,%xmm7
  2060. punpcklqdq %xmm6,%xmm1
  2061. andl %edx,%esi
  2062. xorl %edi,%edx
  2063. rorl $7,%ecx
  2064. pxor %xmm0,%xmm7
  2065. movdqa %xmm3,96(%esp)
  2066. movl %ebx,%ebp
  2067. xorl %edx,%esi
  2068. roll $5,%ebx
  2069. movdqa 144(%esp),%xmm3
  2070. addl %esi,%eax
  2071. paddd %xmm6,%xmm2
  2072. xorl %ecx,%ebp
  2073. pxor %xmm1,%xmm7
  2074. xorl %edx,%ecx
  2075. addl %ebx,%eax
  2076. addl 52(%esp),%edi
  2077. andl %ecx,%ebp
  2078. movdqa %xmm7,%xmm1
  2079. movdqa %xmm2,32(%esp)
  2080. xorl %edx,%ecx
  2081. rorl $7,%ebx
  2082. movl %eax,%esi
  2083. xorl %ecx,%ebp
  2084. roll $5,%eax
  2085. pslld $2,%xmm7
  2086. addl %ebp,%edi
  2087. xorl %ebx,%esi
  2088. psrld $30,%xmm1
  2089. xorl %ecx,%ebx
  2090. addl %eax,%edi
  2091. addl 56(%esp),%edx
  2092. andl %ebx,%esi
  2093. xorl %ecx,%ebx
  2094. rorl $7,%eax
  2095. por %xmm1,%xmm7
  2096. movl %edi,%ebp
  2097. xorl %ebx,%esi
  2098. movdqa 64(%esp),%xmm1
  2099. roll $5,%edi
  2100. addl %esi,%edx
  2101. xorl %eax,%ebp
  2102. xorl %ebx,%eax
  2103. addl %edi,%edx
  2104. pshufd $238,%xmm6,%xmm2
  2105. addl 60(%esp),%ecx
  2106. andl %eax,%ebp
  2107. xorl %ebx,%eax
  2108. rorl $7,%edi
  2109. movl %edx,%esi
  2110. xorl %eax,%ebp
  2111. roll $5,%edx
  2112. addl %ebp,%ecx
  2113. xorl %edi,%esi
  2114. xorl %eax,%edi
  2115. addl %edx,%ecx
  2116. addl (%esp),%ebx
  2117. pxor %xmm4,%xmm0
  2118. punpcklqdq %xmm7,%xmm2
  2119. andl %edi,%esi
  2120. xorl %eax,%edi
  2121. rorl $7,%edx
  2122. pxor %xmm1,%xmm0
  2123. movdqa %xmm4,64(%esp)
  2124. movl %ecx,%ebp
  2125. xorl %edi,%esi
  2126. roll $5,%ecx
  2127. movdqa %xmm3,%xmm4
  2128. addl %esi,%ebx
  2129. paddd %xmm7,%xmm3
  2130. xorl %edx,%ebp
  2131. pxor %xmm2,%xmm0
  2132. xorl %edi,%edx
  2133. addl %ecx,%ebx
  2134. addl 4(%esp),%eax
  2135. andl %edx,%ebp
  2136. movdqa %xmm0,%xmm2
  2137. movdqa %xmm3,48(%esp)
  2138. xorl %edi,%edx
  2139. rorl $7,%ecx
  2140. movl %ebx,%esi
  2141. xorl %edx,%ebp
  2142. roll $5,%ebx
  2143. pslld $2,%xmm0
  2144. addl %ebp,%eax
  2145. xorl %ecx,%esi
  2146. psrld $30,%xmm2
  2147. xorl %edx,%ecx
  2148. addl %ebx,%eax
  2149. addl 8(%esp),%edi
  2150. andl %ecx,%esi
  2151. xorl %edx,%ecx
  2152. rorl $7,%ebx
  2153. por %xmm2,%xmm0
  2154. movl %eax,%ebp
  2155. xorl %ecx,%esi
  2156. movdqa 80(%esp),%xmm2
  2157. roll $5,%eax
  2158. addl %esi,%edi
  2159. xorl %ebx,%ebp
  2160. xorl %ecx,%ebx
  2161. addl %eax,%edi
  2162. pshufd $238,%xmm7,%xmm3
  2163. addl 12(%esp),%edx
  2164. andl %ebx,%ebp
  2165. xorl %ecx,%ebx
  2166. rorl $7,%eax
  2167. movl %edi,%esi
  2168. xorl %ebx,%ebp
  2169. roll $5,%edi
  2170. addl %ebp,%edx
  2171. xorl %eax,%esi
  2172. xorl %ebx,%eax
  2173. addl %edi,%edx
  2174. addl 16(%esp),%ecx
  2175. pxor %xmm5,%xmm1
  2176. punpcklqdq %xmm0,%xmm3
  2177. andl %eax,%esi
  2178. xorl %ebx,%eax
  2179. rorl $7,%edi
  2180. pxor %xmm2,%xmm1
  2181. movdqa %xmm5,80(%esp)
  2182. movl %edx,%ebp
  2183. xorl %eax,%esi
  2184. roll $5,%edx
  2185. movdqa %xmm4,%xmm5
  2186. addl %esi,%ecx
  2187. paddd %xmm0,%xmm4
  2188. xorl %edi,%ebp
  2189. pxor %xmm3,%xmm1
  2190. xorl %eax,%edi
  2191. addl %edx,%ecx
  2192. addl 20(%esp),%ebx
  2193. andl %edi,%ebp
  2194. movdqa %xmm1,%xmm3
  2195. movdqa %xmm4,(%esp)
  2196. xorl %eax,%edi
  2197. rorl $7,%edx
  2198. movl %ecx,%esi
  2199. xorl %edi,%ebp
  2200. roll $5,%ecx
  2201. pslld $2,%xmm1
  2202. addl %ebp,%ebx
  2203. xorl %edx,%esi
  2204. psrld $30,%xmm3
  2205. xorl %edi,%edx
  2206. addl %ecx,%ebx
  2207. addl 24(%esp),%eax
  2208. andl %edx,%esi
  2209. xorl %edi,%edx
  2210. rorl $7,%ecx
  2211. por %xmm3,%xmm1
  2212. movl %ebx,%ebp
  2213. xorl %edx,%esi
  2214. movdqa 96(%esp),%xmm3
  2215. roll $5,%ebx
  2216. addl %esi,%eax
  2217. xorl %ecx,%ebp
  2218. xorl %edx,%ecx
  2219. addl %ebx,%eax
  2220. pshufd $238,%xmm0,%xmm4
  2221. addl 28(%esp),%edi
  2222. andl %ecx,%ebp
  2223. xorl %edx,%ecx
  2224. rorl $7,%ebx
  2225. movl %eax,%esi
  2226. xorl %ecx,%ebp
  2227. roll $5,%eax
  2228. addl %ebp,%edi
  2229. xorl %ebx,%esi
  2230. xorl %ecx,%ebx
  2231. addl %eax,%edi
  2232. addl 32(%esp),%edx
  2233. pxor %xmm6,%xmm2
  2234. punpcklqdq %xmm1,%xmm4
  2235. andl %ebx,%esi
  2236. xorl %ecx,%ebx
  2237. rorl $7,%eax
  2238. pxor %xmm3,%xmm2
  2239. movdqa %xmm6,96(%esp)
  2240. movl %edi,%ebp
  2241. xorl %ebx,%esi
  2242. roll $5,%edi
  2243. movdqa %xmm5,%xmm6
  2244. addl %esi,%edx
  2245. paddd %xmm1,%xmm5
  2246. xorl %eax,%ebp
  2247. pxor %xmm4,%xmm2
  2248. xorl %ebx,%eax
  2249. addl %edi,%edx
  2250. addl 36(%esp),%ecx
  2251. andl %eax,%ebp
  2252. movdqa %xmm2,%xmm4
  2253. movdqa %xmm5,16(%esp)
  2254. xorl %ebx,%eax
  2255. rorl $7,%edi
  2256. movl %edx,%esi
  2257. xorl %eax,%ebp
  2258. roll $5,%edx
  2259. pslld $2,%xmm2
  2260. addl %ebp,%ecx
  2261. xorl %edi,%esi
  2262. psrld $30,%xmm4
  2263. xorl %eax,%edi
  2264. addl %edx,%ecx
  2265. addl 40(%esp),%ebx
  2266. andl %edi,%esi
  2267. xorl %eax,%edi
  2268. rorl $7,%edx
  2269. por %xmm4,%xmm2
  2270. movl %ecx,%ebp
  2271. xorl %edi,%esi
  2272. movdqa 64(%esp),%xmm4
  2273. roll $5,%ecx
  2274. addl %esi,%ebx
  2275. xorl %edx,%ebp
  2276. xorl %edi,%edx
  2277. addl %ecx,%ebx
  2278. pshufd $238,%xmm1,%xmm5
  2279. addl 44(%esp),%eax
  2280. andl %edx,%ebp
  2281. xorl %edi,%edx
  2282. rorl $7,%ecx
  2283. movl %ebx,%esi
  2284. xorl %edx,%ebp
  2285. roll $5,%ebx
  2286. addl %ebp,%eax
  2287. xorl %edx,%esi
  2288. addl %ebx,%eax
  2289. addl 48(%esp),%edi
  2290. pxor %xmm7,%xmm3
  2291. punpcklqdq %xmm2,%xmm5
  2292. xorl %ecx,%esi
  2293. movl %eax,%ebp
  2294. roll $5,%eax
  2295. pxor %xmm4,%xmm3
  2296. movdqa %xmm7,64(%esp)
  2297. addl %esi,%edi
  2298. xorl %ecx,%ebp
  2299. movdqa %xmm6,%xmm7
  2300. rorl $7,%ebx
  2301. paddd %xmm2,%xmm6
  2302. addl %eax,%edi
  2303. pxor %xmm5,%xmm3
  2304. addl 52(%esp),%edx
  2305. xorl %ebx,%ebp
  2306. movl %edi,%esi
  2307. roll $5,%edi
  2308. movdqa %xmm3,%xmm5
  2309. movdqa %xmm6,32(%esp)
  2310. addl %ebp,%edx
  2311. xorl %ebx,%esi
  2312. rorl $7,%eax
  2313. addl %edi,%edx
  2314. pslld $2,%xmm3
  2315. addl 56(%esp),%ecx
  2316. xorl %eax,%esi
  2317. psrld $30,%xmm5
  2318. movl %edx,%ebp
  2319. roll $5,%edx
  2320. addl %esi,%ecx
  2321. xorl %eax,%ebp
  2322. rorl $7,%edi
  2323. addl %edx,%ecx
  2324. por %xmm5,%xmm3
  2325. addl 60(%esp),%ebx
  2326. xorl %edi,%ebp
  2327. movl %ecx,%esi
  2328. roll $5,%ecx
  2329. addl %ebp,%ebx
  2330. xorl %edi,%esi
  2331. rorl $7,%edx
  2332. addl %ecx,%ebx
  2333. addl (%esp),%eax
  2334. xorl %edx,%esi
  2335. movl %ebx,%ebp
  2336. roll $5,%ebx
  2337. addl %esi,%eax
  2338. xorl %edx,%ebp
  2339. rorl $7,%ecx
  2340. paddd %xmm3,%xmm7
  2341. addl %ebx,%eax
  2342. addl 4(%esp),%edi
  2343. xorl %ecx,%ebp
  2344. movl %eax,%esi
  2345. movdqa %xmm7,48(%esp)
  2346. roll $5,%eax
  2347. addl %ebp,%edi
  2348. xorl %ecx,%esi
  2349. rorl $7,%ebx
  2350. addl %eax,%edi
  2351. addl 8(%esp),%edx
  2352. xorl %ebx,%esi
  2353. movl %edi,%ebp
  2354. roll $5,%edi
  2355. addl %esi,%edx
  2356. xorl %ebx,%ebp
  2357. rorl $7,%eax
  2358. addl %edi,%edx
  2359. addl 12(%esp),%ecx
  2360. xorl %eax,%ebp
  2361. movl %edx,%esi
  2362. roll $5,%edx
  2363. addl %ebp,%ecx
  2364. xorl %eax,%esi
  2365. rorl $7,%edi
  2366. addl %edx,%ecx
  2367. movl 196(%esp),%ebp
  2368. cmpl 200(%esp),%ebp
  2369. je L005done
  2370. movdqa 160(%esp),%xmm7
  2371. movdqa 176(%esp),%xmm6
  2372. movdqu (%ebp),%xmm0
  2373. movdqu 16(%ebp),%xmm1
  2374. movdqu 32(%ebp),%xmm2
  2375. movdqu 48(%ebp),%xmm3
  2376. addl $64,%ebp
  2377. .byte 102,15,56,0,198
  2378. movl %ebp,196(%esp)
  2379. movdqa %xmm7,96(%esp)
  2380. addl 16(%esp),%ebx
  2381. xorl %edi,%esi
  2382. movl %ecx,%ebp
  2383. roll $5,%ecx
  2384. addl %esi,%ebx
  2385. xorl %edi,%ebp
  2386. rorl $7,%edx
  2387. .byte 102,15,56,0,206
  2388. addl %ecx,%ebx
  2389. addl 20(%esp),%eax
  2390. xorl %edx,%ebp
  2391. movl %ebx,%esi
  2392. paddd %xmm7,%xmm0
  2393. roll $5,%ebx
  2394. addl %ebp,%eax
  2395. xorl %edx,%esi
  2396. rorl $7,%ecx
  2397. movdqa %xmm0,(%esp)
  2398. addl %ebx,%eax
  2399. addl 24(%esp),%edi
  2400. xorl %ecx,%esi
  2401. movl %eax,%ebp
  2402. psubd %xmm7,%xmm0
  2403. roll $5,%eax
  2404. addl %esi,%edi
  2405. xorl %ecx,%ebp
  2406. rorl $7,%ebx
  2407. addl %eax,%edi
  2408. addl 28(%esp),%edx
  2409. xorl %ebx,%ebp
  2410. movl %edi,%esi
  2411. roll $5,%edi
  2412. addl %ebp,%edx
  2413. xorl %ebx,%esi
  2414. rorl $7,%eax
  2415. addl %edi,%edx
  2416. addl 32(%esp),%ecx
  2417. xorl %eax,%esi
  2418. movl %edx,%ebp
  2419. roll $5,%edx
  2420. addl %esi,%ecx
  2421. xorl %eax,%ebp
  2422. rorl $7,%edi
  2423. .byte 102,15,56,0,214
  2424. addl %edx,%ecx
  2425. addl 36(%esp),%ebx
  2426. xorl %edi,%ebp
  2427. movl %ecx,%esi
  2428. paddd %xmm7,%xmm1
  2429. roll $5,%ecx
  2430. addl %ebp,%ebx
  2431. xorl %edi,%esi
  2432. rorl $7,%edx
  2433. movdqa %xmm1,16(%esp)
  2434. addl %ecx,%ebx
  2435. addl 40(%esp),%eax
  2436. xorl %edx,%esi
  2437. movl %ebx,%ebp
  2438. psubd %xmm7,%xmm1
  2439. roll $5,%ebx
  2440. addl %esi,%eax
  2441. xorl %edx,%ebp
  2442. rorl $7,%ecx
  2443. addl %ebx,%eax
  2444. addl 44(%esp),%edi
  2445. xorl %ecx,%ebp
  2446. movl %eax,%esi
  2447. roll $5,%eax
  2448. addl %ebp,%edi
  2449. xorl %ecx,%esi
  2450. rorl $7,%ebx
  2451. addl %eax,%edi
  2452. addl 48(%esp),%edx
  2453. xorl %ebx,%esi
  2454. movl %edi,%ebp
  2455. roll $5,%edi
  2456. addl %esi,%edx
  2457. xorl %ebx,%ebp
  2458. rorl $7,%eax
  2459. .byte 102,15,56,0,222
  2460. addl %edi,%edx
  2461. addl 52(%esp),%ecx
  2462. xorl %eax,%ebp
  2463. movl %edx,%esi
  2464. paddd %xmm7,%xmm2
  2465. roll $5,%edx
  2466. addl %ebp,%ecx
  2467. xorl %eax,%esi
  2468. rorl $7,%edi
  2469. movdqa %xmm2,32(%esp)
  2470. addl %edx,%ecx
  2471. addl 56(%esp),%ebx
  2472. xorl %edi,%esi
  2473. movl %ecx,%ebp
  2474. psubd %xmm7,%xmm2
  2475. roll $5,%ecx
  2476. addl %esi,%ebx
  2477. xorl %edi,%ebp
  2478. rorl $7,%edx
  2479. addl %ecx,%ebx
  2480. addl 60(%esp),%eax
  2481. xorl %edx,%ebp
  2482. movl %ebx,%esi
  2483. roll $5,%ebx
  2484. addl %ebp,%eax
  2485. rorl $7,%ecx
  2486. addl %ebx,%eax
  2487. movl 192(%esp),%ebp
  2488. addl (%ebp),%eax
  2489. addl 4(%ebp),%esi
  2490. addl 8(%ebp),%ecx
  2491. movl %eax,(%ebp)
  2492. addl 12(%ebp),%edx
  2493. movl %esi,4(%ebp)
  2494. addl 16(%ebp),%edi
  2495. movl %ecx,8(%ebp)
  2496. movl %ecx,%ebx
  2497. movl %edx,12(%ebp)
  2498. xorl %edx,%ebx
  2499. movl %edi,16(%ebp)
  2500. movl %esi,%ebp
  2501. pshufd $238,%xmm0,%xmm4
  2502. andl %ebx,%esi
  2503. movl %ebp,%ebx
  2504. jmp L004loop
  2505. .align 4,0x90
  2506. L005done:
  2507. addl 16(%esp),%ebx
  2508. xorl %edi,%esi
  2509. movl %ecx,%ebp
  2510. roll $5,%ecx
  2511. addl %esi,%ebx
  2512. xorl %edi,%ebp
  2513. rorl $7,%edx
  2514. addl %ecx,%ebx
  2515. addl 20(%esp),%eax
  2516. xorl %edx,%ebp
  2517. movl %ebx,%esi
  2518. roll $5,%ebx
  2519. addl %ebp,%eax
  2520. xorl %edx,%esi
  2521. rorl $7,%ecx
  2522. addl %ebx,%eax
  2523. addl 24(%esp),%edi
  2524. xorl %ecx,%esi
  2525. movl %eax,%ebp
  2526. roll $5,%eax
  2527. addl %esi,%edi
  2528. xorl %ecx,%ebp
  2529. rorl $7,%ebx
  2530. addl %eax,%edi
  2531. addl 28(%esp),%edx
  2532. xorl %ebx,%ebp
  2533. movl %edi,%esi
  2534. roll $5,%edi
  2535. addl %ebp,%edx
  2536. xorl %ebx,%esi
  2537. rorl $7,%eax
  2538. addl %edi,%edx
  2539. addl 32(%esp),%ecx
  2540. xorl %eax,%esi
  2541. movl %edx,%ebp
  2542. roll $5,%edx
  2543. addl %esi,%ecx
  2544. xorl %eax,%ebp
  2545. rorl $7,%edi
  2546. addl %edx,%ecx
  2547. addl 36(%esp),%ebx
  2548. xorl %edi,%ebp
  2549. movl %ecx,%esi
  2550. roll $5,%ecx
  2551. addl %ebp,%ebx
  2552. xorl %edi,%esi
  2553. rorl $7,%edx
  2554. addl %ecx,%ebx
  2555. addl 40(%esp),%eax
  2556. xorl %edx,%esi
  2557. movl %ebx,%ebp
  2558. roll $5,%ebx
  2559. addl %esi,%eax
  2560. xorl %edx,%ebp
  2561. rorl $7,%ecx
  2562. addl %ebx,%eax
  2563. addl 44(%esp),%edi
  2564. xorl %ecx,%ebp
  2565. movl %eax,%esi
  2566. roll $5,%eax
  2567. addl %ebp,%edi
  2568. xorl %ecx,%esi
  2569. rorl $7,%ebx
  2570. addl %eax,%edi
  2571. addl 48(%esp),%edx
  2572. xorl %ebx,%esi
  2573. movl %edi,%ebp
  2574. roll $5,%edi
  2575. addl %esi,%edx
  2576. xorl %ebx,%ebp
  2577. rorl $7,%eax
  2578. addl %edi,%edx
  2579. addl 52(%esp),%ecx
  2580. xorl %eax,%ebp
  2581. movl %edx,%esi
  2582. roll $5,%edx
  2583. addl %ebp,%ecx
  2584. xorl %eax,%esi
  2585. rorl $7,%edi
  2586. addl %edx,%ecx
  2587. addl 56(%esp),%ebx
  2588. xorl %edi,%esi
  2589. movl %ecx,%ebp
  2590. roll $5,%ecx
  2591. addl %esi,%ebx
  2592. xorl %edi,%ebp
  2593. rorl $7,%edx
  2594. addl %ecx,%ebx
  2595. addl 60(%esp),%eax
  2596. xorl %edx,%ebp
  2597. movl %ebx,%esi
  2598. roll $5,%ebx
  2599. addl %ebp,%eax
  2600. rorl $7,%ecx
  2601. addl %ebx,%eax
  2602. movl 192(%esp),%ebp
  2603. addl (%ebp),%eax
  2604. movl 204(%esp),%esp
  2605. addl 4(%ebp),%esi
  2606. addl 8(%ebp),%ecx
  2607. movl %eax,(%ebp)
  2608. addl 12(%ebp),%edx
  2609. movl %esi,4(%ebp)
  2610. addl 16(%ebp),%edi
  2611. movl %ecx,8(%ebp)
  2612. movl %edx,12(%ebp)
  2613. movl %edi,16(%ebp)
  2614. popl %edi
  2615. popl %esi
  2616. popl %ebx
  2617. popl %ebp
  2618. ret
  2619. .private_extern __sha1_block_data_order_avx
  2620. .align 4
  2621. __sha1_block_data_order_avx:
  2622. pushl %ebp
  2623. pushl %ebx
  2624. pushl %esi
  2625. pushl %edi
  2626. call L006pic_point
  2627. L006pic_point:
  2628. popl %ebp
  2629. leal LK_XX_XX-L006pic_point(%ebp),%ebp
  2630. Lavx_shortcut:
  2631. vzeroall
  2632. vmovdqa (%ebp),%xmm7
  2633. vmovdqa 16(%ebp),%xmm0
  2634. vmovdqa 32(%ebp),%xmm1
  2635. vmovdqa 48(%ebp),%xmm2
  2636. vmovdqa 64(%ebp),%xmm6
  2637. movl 20(%esp),%edi
  2638. movl 24(%esp),%ebp
  2639. movl 28(%esp),%edx
  2640. movl %esp,%esi
  2641. subl $208,%esp
  2642. andl $-64,%esp
  2643. vmovdqa %xmm0,112(%esp)
  2644. vmovdqa %xmm1,128(%esp)
  2645. vmovdqa %xmm2,144(%esp)
  2646. shll $6,%edx
  2647. vmovdqa %xmm7,160(%esp)
  2648. addl %ebp,%edx
  2649. vmovdqa %xmm6,176(%esp)
  2650. addl $64,%ebp
  2651. movl %edi,192(%esp)
  2652. movl %ebp,196(%esp)
  2653. movl %edx,200(%esp)
  2654. movl %esi,204(%esp)
  2655. movl (%edi),%eax
  2656. movl 4(%edi),%ebx
  2657. movl 8(%edi),%ecx
  2658. movl 12(%edi),%edx
  2659. movl 16(%edi),%edi
  2660. movl %ebx,%esi
  2661. vmovdqu -64(%ebp),%xmm0
  2662. vmovdqu -48(%ebp),%xmm1
  2663. vmovdqu -32(%ebp),%xmm2
  2664. vmovdqu -16(%ebp),%xmm3
  2665. vpshufb %xmm6,%xmm0,%xmm0
  2666. vpshufb %xmm6,%xmm1,%xmm1
  2667. vpshufb %xmm6,%xmm2,%xmm2
  2668. vmovdqa %xmm7,96(%esp)
  2669. vpshufb %xmm6,%xmm3,%xmm3
  2670. vpaddd %xmm7,%xmm0,%xmm4
  2671. vpaddd %xmm7,%xmm1,%xmm5
  2672. vpaddd %xmm7,%xmm2,%xmm6
  2673. vmovdqa %xmm4,(%esp)
  2674. movl %ecx,%ebp
  2675. vmovdqa %xmm5,16(%esp)
  2676. xorl %edx,%ebp
  2677. vmovdqa %xmm6,32(%esp)
  2678. andl %ebp,%esi
  2679. jmp L007loop
  2680. .align 4,0x90
  2681. L007loop:
  2682. shrdl $2,%ebx,%ebx
  2683. xorl %edx,%esi
  2684. vpalignr $8,%xmm0,%xmm1,%xmm4
  2685. movl %eax,%ebp
  2686. addl (%esp),%edi
  2687. vpaddd %xmm3,%xmm7,%xmm7
  2688. vmovdqa %xmm0,64(%esp)
  2689. xorl %ecx,%ebx
  2690. shldl $5,%eax,%eax
  2691. vpsrldq $4,%xmm3,%xmm6
  2692. addl %esi,%edi
  2693. andl %ebx,%ebp
  2694. vpxor %xmm0,%xmm4,%xmm4
  2695. xorl %ecx,%ebx
  2696. addl %eax,%edi
  2697. vpxor %xmm2,%xmm6,%xmm6
  2698. shrdl $7,%eax,%eax
  2699. xorl %ecx,%ebp
  2700. vmovdqa %xmm7,48(%esp)
  2701. movl %edi,%esi
  2702. addl 4(%esp),%edx
  2703. vpxor %xmm6,%xmm4,%xmm4
  2704. xorl %ebx,%eax
  2705. shldl $5,%edi,%edi
  2706. addl %ebp,%edx
  2707. andl %eax,%esi
  2708. vpsrld $31,%xmm4,%xmm6
  2709. xorl %ebx,%eax
  2710. addl %edi,%edx
  2711. shrdl $7,%edi,%edi
  2712. xorl %ebx,%esi
  2713. vpslldq $12,%xmm4,%xmm0
  2714. vpaddd %xmm4,%xmm4,%xmm4
  2715. movl %edx,%ebp
  2716. addl 8(%esp),%ecx
  2717. xorl %eax,%edi
  2718. shldl $5,%edx,%edx
  2719. vpsrld $30,%xmm0,%xmm7
  2720. vpor %xmm6,%xmm4,%xmm4
  2721. addl %esi,%ecx
  2722. andl %edi,%ebp
  2723. xorl %eax,%edi
  2724. addl %edx,%ecx
  2725. vpslld $2,%xmm0,%xmm0
  2726. shrdl $7,%edx,%edx
  2727. xorl %eax,%ebp
  2728. vpxor %xmm7,%xmm4,%xmm4
  2729. movl %ecx,%esi
  2730. addl 12(%esp),%ebx
  2731. xorl %edi,%edx
  2732. shldl $5,%ecx,%ecx
  2733. vpxor %xmm0,%xmm4,%xmm4
  2734. addl %ebp,%ebx
  2735. andl %edx,%esi
  2736. vmovdqa 96(%esp),%xmm0
  2737. xorl %edi,%edx
  2738. addl %ecx,%ebx
  2739. shrdl $7,%ecx,%ecx
  2740. xorl %edi,%esi
  2741. vpalignr $8,%xmm1,%xmm2,%xmm5
  2742. movl %ebx,%ebp
  2743. addl 16(%esp),%eax
  2744. vpaddd %xmm4,%xmm0,%xmm0
  2745. vmovdqa %xmm1,80(%esp)
  2746. xorl %edx,%ecx
  2747. shldl $5,%ebx,%ebx
  2748. vpsrldq $4,%xmm4,%xmm7
  2749. addl %esi,%eax
  2750. andl %ecx,%ebp
  2751. vpxor %xmm1,%xmm5,%xmm5
  2752. xorl %edx,%ecx
  2753. addl %ebx,%eax
  2754. vpxor %xmm3,%xmm7,%xmm7
  2755. shrdl $7,%ebx,%ebx
  2756. xorl %edx,%ebp
  2757. vmovdqa %xmm0,(%esp)
  2758. movl %eax,%esi
  2759. addl 20(%esp),%edi
  2760. vpxor %xmm7,%xmm5,%xmm5
  2761. xorl %ecx,%ebx
  2762. shldl $5,%eax,%eax
  2763. addl %ebp,%edi
  2764. andl %ebx,%esi
  2765. vpsrld $31,%xmm5,%xmm7
  2766. xorl %ecx,%ebx
  2767. addl %eax,%edi
  2768. shrdl $7,%eax,%eax
  2769. xorl %ecx,%esi
  2770. vpslldq $12,%xmm5,%xmm1
  2771. vpaddd %xmm5,%xmm5,%xmm5
  2772. movl %edi,%ebp
  2773. addl 24(%esp),%edx
  2774. xorl %ebx,%eax
  2775. shldl $5,%edi,%edi
  2776. vpsrld $30,%xmm1,%xmm0
  2777. vpor %xmm7,%xmm5,%xmm5
  2778. addl %esi,%edx
  2779. andl %eax,%ebp
  2780. xorl %ebx,%eax
  2781. addl %edi,%edx
  2782. vpslld $2,%xmm1,%xmm1
  2783. shrdl $7,%edi,%edi
  2784. xorl %ebx,%ebp
  2785. vpxor %xmm0,%xmm5,%xmm5
  2786. movl %edx,%esi
  2787. addl 28(%esp),%ecx
  2788. xorl %eax,%edi
  2789. shldl $5,%edx,%edx
  2790. vpxor %xmm1,%xmm5,%xmm5
  2791. addl %ebp,%ecx
  2792. andl %edi,%esi
  2793. vmovdqa 112(%esp),%xmm1
  2794. xorl %eax,%edi
  2795. addl %edx,%ecx
  2796. shrdl $7,%edx,%edx
  2797. xorl %eax,%esi
  2798. vpalignr $8,%xmm2,%xmm3,%xmm6
  2799. movl %ecx,%ebp
  2800. addl 32(%esp),%ebx
  2801. vpaddd %xmm5,%xmm1,%xmm1
  2802. vmovdqa %xmm2,96(%esp)
  2803. xorl %edi,%edx
  2804. shldl $5,%ecx,%ecx
  2805. vpsrldq $4,%xmm5,%xmm0
  2806. addl %esi,%ebx
  2807. andl %edx,%ebp
  2808. vpxor %xmm2,%xmm6,%xmm6
  2809. xorl %edi,%edx
  2810. addl %ecx,%ebx
  2811. vpxor %xmm4,%xmm0,%xmm0
  2812. shrdl $7,%ecx,%ecx
  2813. xorl %edi,%ebp
  2814. vmovdqa %xmm1,16(%esp)
  2815. movl %ebx,%esi
  2816. addl 36(%esp),%eax
  2817. vpxor %xmm0,%xmm6,%xmm6
  2818. xorl %edx,%ecx
  2819. shldl $5,%ebx,%ebx
  2820. addl %ebp,%eax
  2821. andl %ecx,%esi
  2822. vpsrld $31,%xmm6,%xmm0
  2823. xorl %edx,%ecx
  2824. addl %ebx,%eax
  2825. shrdl $7,%ebx,%ebx
  2826. xorl %edx,%esi
  2827. vpslldq $12,%xmm6,%xmm2
  2828. vpaddd %xmm6,%xmm6,%xmm6
  2829. movl %eax,%ebp
  2830. addl 40(%esp),%edi
  2831. xorl %ecx,%ebx
  2832. shldl $5,%eax,%eax
  2833. vpsrld $30,%xmm2,%xmm1
  2834. vpor %xmm0,%xmm6,%xmm6
  2835. addl %esi,%edi
  2836. andl %ebx,%ebp
  2837. xorl %ecx,%ebx
  2838. addl %eax,%edi
  2839. vpslld $2,%xmm2,%xmm2
  2840. vmovdqa 64(%esp),%xmm0
  2841. shrdl $7,%eax,%eax
  2842. xorl %ecx,%ebp
  2843. vpxor %xmm1,%xmm6,%xmm6
  2844. movl %edi,%esi
  2845. addl 44(%esp),%edx
  2846. xorl %ebx,%eax
  2847. shldl $5,%edi,%edi
  2848. vpxor %xmm2,%xmm6,%xmm6
  2849. addl %ebp,%edx
  2850. andl %eax,%esi
  2851. vmovdqa 112(%esp),%xmm2
  2852. xorl %ebx,%eax
  2853. addl %edi,%edx
  2854. shrdl $7,%edi,%edi
  2855. xorl %ebx,%esi
  2856. vpalignr $8,%xmm3,%xmm4,%xmm7
  2857. movl %edx,%ebp
  2858. addl 48(%esp),%ecx
  2859. vpaddd %xmm6,%xmm2,%xmm2
  2860. vmovdqa %xmm3,64(%esp)
  2861. xorl %eax,%edi
  2862. shldl $5,%edx,%edx
  2863. vpsrldq $4,%xmm6,%xmm1
  2864. addl %esi,%ecx
  2865. andl %edi,%ebp
  2866. vpxor %xmm3,%xmm7,%xmm7
  2867. xorl %eax,%edi
  2868. addl %edx,%ecx
  2869. vpxor %xmm5,%xmm1,%xmm1
  2870. shrdl $7,%edx,%edx
  2871. xorl %eax,%ebp
  2872. vmovdqa %xmm2,32(%esp)
  2873. movl %ecx,%esi
  2874. addl 52(%esp),%ebx
  2875. vpxor %xmm1,%xmm7,%xmm7
  2876. xorl %edi,%edx
  2877. shldl $5,%ecx,%ecx
  2878. addl %ebp,%ebx
  2879. andl %edx,%esi
  2880. vpsrld $31,%xmm7,%xmm1
  2881. xorl %edi,%edx
  2882. addl %ecx,%ebx
  2883. shrdl $7,%ecx,%ecx
  2884. xorl %edi,%esi
  2885. vpslldq $12,%xmm7,%xmm3
  2886. vpaddd %xmm7,%xmm7,%xmm7
  2887. movl %ebx,%ebp
  2888. addl 56(%esp),%eax
  2889. xorl %edx,%ecx
  2890. shldl $5,%ebx,%ebx
  2891. vpsrld $30,%xmm3,%xmm2
  2892. vpor %xmm1,%xmm7,%xmm7
  2893. addl %esi,%eax
  2894. andl %ecx,%ebp
  2895. xorl %edx,%ecx
  2896. addl %ebx,%eax
  2897. vpslld $2,%xmm3,%xmm3
  2898. vmovdqa 80(%esp),%xmm1
  2899. shrdl $7,%ebx,%ebx
  2900. xorl %edx,%ebp
  2901. vpxor %xmm2,%xmm7,%xmm7
  2902. movl %eax,%esi
  2903. addl 60(%esp),%edi
  2904. xorl %ecx,%ebx
  2905. shldl $5,%eax,%eax
  2906. vpxor %xmm3,%xmm7,%xmm7
  2907. addl %ebp,%edi
  2908. andl %ebx,%esi
  2909. vmovdqa 112(%esp),%xmm3
  2910. xorl %ecx,%ebx
  2911. addl %eax,%edi
  2912. vpalignr $8,%xmm6,%xmm7,%xmm2
  2913. vpxor %xmm4,%xmm0,%xmm0
  2914. shrdl $7,%eax,%eax
  2915. xorl %ecx,%esi
  2916. movl %edi,%ebp
  2917. addl (%esp),%edx
  2918. vpxor %xmm1,%xmm0,%xmm0
  2919. vmovdqa %xmm4,80(%esp)
  2920. xorl %ebx,%eax
  2921. shldl $5,%edi,%edi
  2922. vmovdqa %xmm3,%xmm4
  2923. vpaddd %xmm7,%xmm3,%xmm3
  2924. addl %esi,%edx
  2925. andl %eax,%ebp
  2926. vpxor %xmm2,%xmm0,%xmm0
  2927. xorl %ebx,%eax
  2928. addl %edi,%edx
  2929. shrdl $7,%edi,%edi
  2930. xorl %ebx,%ebp
  2931. vpsrld $30,%xmm0,%xmm2
  2932. vmovdqa %xmm3,48(%esp)
  2933. movl %edx,%esi
  2934. addl 4(%esp),%ecx
  2935. xorl %eax,%edi
  2936. shldl $5,%edx,%edx
  2937. vpslld $2,%xmm0,%xmm0
  2938. addl %ebp,%ecx
  2939. andl %edi,%esi
  2940. xorl %eax,%edi
  2941. addl %edx,%ecx
  2942. shrdl $7,%edx,%edx
  2943. xorl %eax,%esi
  2944. movl %ecx,%ebp
  2945. addl 8(%esp),%ebx
  2946. vpor %xmm2,%xmm0,%xmm0
  2947. xorl %edi,%edx
  2948. shldl $5,%ecx,%ecx
  2949. vmovdqa 96(%esp),%xmm2
  2950. addl %esi,%ebx
  2951. andl %edx,%ebp
  2952. xorl %edi,%edx
  2953. addl %ecx,%ebx
  2954. addl 12(%esp),%eax
  2955. xorl %edi,%ebp
  2956. movl %ebx,%esi
  2957. shldl $5,%ebx,%ebx
  2958. addl %ebp,%eax
  2959. xorl %edx,%esi
  2960. shrdl $7,%ecx,%ecx
  2961. addl %ebx,%eax
  2962. vpalignr $8,%xmm7,%xmm0,%xmm3
  2963. vpxor %xmm5,%xmm1,%xmm1
  2964. addl 16(%esp),%edi
  2965. xorl %ecx,%esi
  2966. movl %eax,%ebp
  2967. shldl $5,%eax,%eax
  2968. vpxor %xmm2,%xmm1,%xmm1
  2969. vmovdqa %xmm5,96(%esp)
  2970. addl %esi,%edi
  2971. xorl %ecx,%ebp
  2972. vmovdqa %xmm4,%xmm5
  2973. vpaddd %xmm0,%xmm4,%xmm4
  2974. shrdl $7,%ebx,%ebx
  2975. addl %eax,%edi
  2976. vpxor %xmm3,%xmm1,%xmm1
  2977. addl 20(%esp),%edx
  2978. xorl %ebx,%ebp
  2979. movl %edi,%esi
  2980. shldl $5,%edi,%edi
  2981. vpsrld $30,%xmm1,%xmm3
  2982. vmovdqa %xmm4,(%esp)
  2983. addl %ebp,%edx
  2984. xorl %ebx,%esi
  2985. shrdl $7,%eax,%eax
  2986. addl %edi,%edx
  2987. vpslld $2,%xmm1,%xmm1
  2988. addl 24(%esp),%ecx
  2989. xorl %eax,%esi
  2990. movl %edx,%ebp
  2991. shldl $5,%edx,%edx
  2992. addl %esi,%ecx
  2993. xorl %eax,%ebp
  2994. shrdl $7,%edi,%edi
  2995. addl %edx,%ecx
  2996. vpor %xmm3,%xmm1,%xmm1
  2997. addl 28(%esp),%ebx
  2998. xorl %edi,%ebp
  2999. vmovdqa 64(%esp),%xmm3
  3000. movl %ecx,%esi
  3001. shldl $5,%ecx,%ecx
  3002. addl %ebp,%ebx
  3003. xorl %edi,%esi
  3004. shrdl $7,%edx,%edx
  3005. addl %ecx,%ebx
  3006. vpalignr $8,%xmm0,%xmm1,%xmm4
  3007. vpxor %xmm6,%xmm2,%xmm2
  3008. addl 32(%esp),%eax
  3009. xorl %edx,%esi
  3010. movl %ebx,%ebp
  3011. shldl $5,%ebx,%ebx
  3012. vpxor %xmm3,%xmm2,%xmm2
  3013. vmovdqa %xmm6,64(%esp)
  3014. addl %esi,%eax
  3015. xorl %edx,%ebp
  3016. vmovdqa 128(%esp),%xmm6
  3017. vpaddd %xmm1,%xmm5,%xmm5
  3018. shrdl $7,%ecx,%ecx
  3019. addl %ebx,%eax
  3020. vpxor %xmm4,%xmm2,%xmm2
  3021. addl 36(%esp),%edi
  3022. xorl %ecx,%ebp
  3023. movl %eax,%esi
  3024. shldl $5,%eax,%eax
  3025. vpsrld $30,%xmm2,%xmm4
  3026. vmovdqa %xmm5,16(%esp)
  3027. addl %ebp,%edi
  3028. xorl %ecx,%esi
  3029. shrdl $7,%ebx,%ebx
  3030. addl %eax,%edi
  3031. vpslld $2,%xmm2,%xmm2
  3032. addl 40(%esp),%edx
  3033. xorl %ebx,%esi
  3034. movl %edi,%ebp
  3035. shldl $5,%edi,%edi
  3036. addl %esi,%edx
  3037. xorl %ebx,%ebp
  3038. shrdl $7,%eax,%eax
  3039. addl %edi,%edx
  3040. vpor %xmm4,%xmm2,%xmm2
  3041. addl 44(%esp),%ecx
  3042. xorl %eax,%ebp
  3043. vmovdqa 80(%esp),%xmm4
  3044. movl %edx,%esi
  3045. shldl $5,%edx,%edx
  3046. addl %ebp,%ecx
  3047. xorl %eax,%esi
  3048. shrdl $7,%edi,%edi
  3049. addl %edx,%ecx
  3050. vpalignr $8,%xmm1,%xmm2,%xmm5
  3051. vpxor %xmm7,%xmm3,%xmm3
  3052. addl 48(%esp),%ebx
  3053. xorl %edi,%esi
  3054. movl %ecx,%ebp
  3055. shldl $5,%ecx,%ecx
  3056. vpxor %xmm4,%xmm3,%xmm3
  3057. vmovdqa %xmm7,80(%esp)
  3058. addl %esi,%ebx
  3059. xorl %edi,%ebp
  3060. vmovdqa %xmm6,%xmm7
  3061. vpaddd %xmm2,%xmm6,%xmm6
  3062. shrdl $7,%edx,%edx
  3063. addl %ecx,%ebx
  3064. vpxor %xmm5,%xmm3,%xmm3
  3065. addl 52(%esp),%eax
  3066. xorl %edx,%ebp
  3067. movl %ebx,%esi
  3068. shldl $5,%ebx,%ebx
  3069. vpsrld $30,%xmm3,%xmm5
  3070. vmovdqa %xmm6,32(%esp)
  3071. addl %ebp,%eax
  3072. xorl %edx,%esi
  3073. shrdl $7,%ecx,%ecx
  3074. addl %ebx,%eax
  3075. vpslld $2,%xmm3,%xmm3
  3076. addl 56(%esp),%edi
  3077. xorl %ecx,%esi
  3078. movl %eax,%ebp
  3079. shldl $5,%eax,%eax
  3080. addl %esi,%edi
  3081. xorl %ecx,%ebp
  3082. shrdl $7,%ebx,%ebx
  3083. addl %eax,%edi
  3084. vpor %xmm5,%xmm3,%xmm3
  3085. addl 60(%esp),%edx
  3086. xorl %ebx,%ebp
  3087. vmovdqa 96(%esp),%xmm5
  3088. movl %edi,%esi
  3089. shldl $5,%edi,%edi
  3090. addl %ebp,%edx
  3091. xorl %ebx,%esi
  3092. shrdl $7,%eax,%eax
  3093. addl %edi,%edx
  3094. vpalignr $8,%xmm2,%xmm3,%xmm6
  3095. vpxor %xmm0,%xmm4,%xmm4
  3096. addl (%esp),%ecx
  3097. xorl %eax,%esi
  3098. movl %edx,%ebp
  3099. shldl $5,%edx,%edx
  3100. vpxor %xmm5,%xmm4,%xmm4
  3101. vmovdqa %xmm0,96(%esp)
  3102. addl %esi,%ecx
  3103. xorl %eax,%ebp
  3104. vmovdqa %xmm7,%xmm0
  3105. vpaddd %xmm3,%xmm7,%xmm7
  3106. shrdl $7,%edi,%edi
  3107. addl %edx,%ecx
  3108. vpxor %xmm6,%xmm4,%xmm4
  3109. addl 4(%esp),%ebx
  3110. xorl %edi,%ebp
  3111. movl %ecx,%esi
  3112. shldl $5,%ecx,%ecx
  3113. vpsrld $30,%xmm4,%xmm6
  3114. vmovdqa %xmm7,48(%esp)
  3115. addl %ebp,%ebx
  3116. xorl %edi,%esi
  3117. shrdl $7,%edx,%edx
  3118. addl %ecx,%ebx
  3119. vpslld $2,%xmm4,%xmm4
  3120. addl 8(%esp),%eax
  3121. xorl %edx,%esi
  3122. movl %ebx,%ebp
  3123. shldl $5,%ebx,%ebx
  3124. addl %esi,%eax
  3125. xorl %edx,%ebp
  3126. shrdl $7,%ecx,%ecx
  3127. addl %ebx,%eax
  3128. vpor %xmm6,%xmm4,%xmm4
  3129. addl 12(%esp),%edi
  3130. xorl %ecx,%ebp
  3131. vmovdqa 64(%esp),%xmm6
  3132. movl %eax,%esi
  3133. shldl $5,%eax,%eax
  3134. addl %ebp,%edi
  3135. xorl %ecx,%esi
  3136. shrdl $7,%ebx,%ebx
  3137. addl %eax,%edi
  3138. vpalignr $8,%xmm3,%xmm4,%xmm7
  3139. vpxor %xmm1,%xmm5,%xmm5
  3140. addl 16(%esp),%edx
  3141. xorl %ebx,%esi
  3142. movl %edi,%ebp
  3143. shldl $5,%edi,%edi
  3144. vpxor %xmm6,%xmm5,%xmm5
  3145. vmovdqa %xmm1,64(%esp)
  3146. addl %esi,%edx
  3147. xorl %ebx,%ebp
  3148. vmovdqa %xmm0,%xmm1
  3149. vpaddd %xmm4,%xmm0,%xmm0
  3150. shrdl $7,%eax,%eax
  3151. addl %edi,%edx
  3152. vpxor %xmm7,%xmm5,%xmm5
  3153. addl 20(%esp),%ecx
  3154. xorl %eax,%ebp
  3155. movl %edx,%esi
  3156. shldl $5,%edx,%edx
  3157. vpsrld $30,%xmm5,%xmm7
  3158. vmovdqa %xmm0,(%esp)
  3159. addl %ebp,%ecx
  3160. xorl %eax,%esi
  3161. shrdl $7,%edi,%edi
  3162. addl %edx,%ecx
  3163. vpslld $2,%xmm5,%xmm5
  3164. addl 24(%esp),%ebx
  3165. xorl %edi,%esi
  3166. movl %ecx,%ebp
  3167. shldl $5,%ecx,%ecx
  3168. addl %esi,%ebx
  3169. xorl %edi,%ebp
  3170. shrdl $7,%edx,%edx
  3171. addl %ecx,%ebx
  3172. vpor %xmm7,%xmm5,%xmm5
  3173. addl 28(%esp),%eax
  3174. vmovdqa 80(%esp),%xmm7
  3175. shrdl $7,%ecx,%ecx
  3176. movl %ebx,%esi
  3177. xorl %edx,%ebp
  3178. shldl $5,%ebx,%ebx
  3179. addl %ebp,%eax
  3180. xorl %ecx,%esi
  3181. xorl %edx,%ecx
  3182. addl %ebx,%eax
  3183. vpalignr $8,%xmm4,%xmm5,%xmm0
  3184. vpxor %xmm2,%xmm6,%xmm6
  3185. addl 32(%esp),%edi
  3186. andl %ecx,%esi
  3187. xorl %edx,%ecx
  3188. shrdl $7,%ebx,%ebx
  3189. vpxor %xmm7,%xmm6,%xmm6
  3190. vmovdqa %xmm2,80(%esp)
  3191. movl %eax,%ebp
  3192. xorl %ecx,%esi
  3193. vmovdqa %xmm1,%xmm2
  3194. vpaddd %xmm5,%xmm1,%xmm1
  3195. shldl $5,%eax,%eax
  3196. addl %esi,%edi
  3197. vpxor %xmm0,%xmm6,%xmm6
  3198. xorl %ebx,%ebp
  3199. xorl %ecx,%ebx
  3200. addl %eax,%edi
  3201. addl 36(%esp),%edx
  3202. vpsrld $30,%xmm6,%xmm0
  3203. vmovdqa %xmm1,16(%esp)
  3204. andl %ebx,%ebp
  3205. xorl %ecx,%ebx
  3206. shrdl $7,%eax,%eax
  3207. movl %edi,%esi
  3208. vpslld $2,%xmm6,%xmm6
  3209. xorl %ebx,%ebp
  3210. shldl $5,%edi,%edi
  3211. addl %ebp,%edx
  3212. xorl %eax,%esi
  3213. xorl %ebx,%eax
  3214. addl %edi,%edx
  3215. addl 40(%esp),%ecx
  3216. andl %eax,%esi
  3217. vpor %xmm0,%xmm6,%xmm6
  3218. xorl %ebx,%eax
  3219. shrdl $7,%edi,%edi
  3220. vmovdqa 96(%esp),%xmm0
  3221. movl %edx,%ebp
  3222. xorl %eax,%esi
  3223. shldl $5,%edx,%edx
  3224. addl %esi,%ecx
  3225. xorl %edi,%ebp
  3226. xorl %eax,%edi
  3227. addl %edx,%ecx
  3228. addl 44(%esp),%ebx
  3229. andl %edi,%ebp
  3230. xorl %eax,%edi
  3231. shrdl $7,%edx,%edx
  3232. movl %ecx,%esi
  3233. xorl %edi,%ebp
  3234. shldl $5,%ecx,%ecx
  3235. addl %ebp,%ebx
  3236. xorl %edx,%esi
  3237. xorl %edi,%edx
  3238. addl %ecx,%ebx
  3239. vpalignr $8,%xmm5,%xmm6,%xmm1
  3240. vpxor %xmm3,%xmm7,%xmm7
  3241. addl 48(%esp),%eax
  3242. andl %edx,%esi
  3243. xorl %edi,%edx
  3244. shrdl $7,%ecx,%ecx
  3245. vpxor %xmm0,%xmm7,%xmm7
  3246. vmovdqa %xmm3,96(%esp)
  3247. movl %ebx,%ebp
  3248. xorl %edx,%esi
  3249. vmovdqa 144(%esp),%xmm3
  3250. vpaddd %xmm6,%xmm2,%xmm2
  3251. shldl $5,%ebx,%ebx
  3252. addl %esi,%eax
  3253. vpxor %xmm1,%xmm7,%xmm7
  3254. xorl %ecx,%ebp
  3255. xorl %edx,%ecx
  3256. addl %ebx,%eax
  3257. addl 52(%esp),%edi
  3258. vpsrld $30,%xmm7,%xmm1
  3259. vmovdqa %xmm2,32(%esp)
  3260. andl %ecx,%ebp
  3261. xorl %edx,%ecx
  3262. shrdl $7,%ebx,%ebx
  3263. movl %eax,%esi
  3264. vpslld $2,%xmm7,%xmm7
  3265. xorl %ecx,%ebp
  3266. shldl $5,%eax,%eax
  3267. addl %ebp,%edi
  3268. xorl %ebx,%esi
  3269. xorl %ecx,%ebx
  3270. addl %eax,%edi
  3271. addl 56(%esp),%edx
  3272. andl %ebx,%esi
  3273. vpor %xmm1,%xmm7,%xmm7
  3274. xorl %ecx,%ebx
  3275. shrdl $7,%eax,%eax
  3276. vmovdqa 64(%esp),%xmm1
  3277. movl %edi,%ebp
  3278. xorl %ebx,%esi
  3279. shldl $5,%edi,%edi
  3280. addl %esi,%edx
  3281. xorl %eax,%ebp
  3282. xorl %ebx,%eax
  3283. addl %edi,%edx
  3284. addl 60(%esp),%ecx
  3285. andl %eax,%ebp
  3286. xorl %ebx,%eax
  3287. shrdl $7,%edi,%edi
  3288. movl %edx,%esi
  3289. xorl %eax,%ebp
  3290. shldl $5,%edx,%edx
  3291. addl %ebp,%ecx
  3292. xorl %edi,%esi
  3293. xorl %eax,%edi
  3294. addl %edx,%ecx
  3295. vpalignr $8,%xmm6,%xmm7,%xmm2
  3296. vpxor %xmm4,%xmm0,%xmm0
  3297. addl (%esp),%ebx
  3298. andl %edi,%esi
  3299. xorl %eax,%edi
  3300. shrdl $7,%edx,%edx
  3301. vpxor %xmm1,%xmm0,%xmm0
  3302. vmovdqa %xmm4,64(%esp)
  3303. movl %ecx,%ebp
  3304. xorl %edi,%esi
  3305. vmovdqa %xmm3,%xmm4
  3306. vpaddd %xmm7,%xmm3,%xmm3
  3307. shldl $5,%ecx,%ecx
  3308. addl %esi,%ebx
  3309. vpxor %xmm2,%xmm0,%xmm0
  3310. xorl %edx,%ebp
  3311. xorl %edi,%edx
  3312. addl %ecx,%ebx
  3313. addl 4(%esp),%eax
  3314. vpsrld $30,%xmm0,%xmm2
  3315. vmovdqa %xmm3,48(%esp)
  3316. andl %edx,%ebp
  3317. xorl %edi,%edx
  3318. shrdl $7,%ecx,%ecx
  3319. movl %ebx,%esi
  3320. vpslld $2,%xmm0,%xmm0
  3321. xorl %edx,%ebp
  3322. shldl $5,%ebx,%ebx
  3323. addl %ebp,%eax
  3324. xorl %ecx,%esi
  3325. xorl %edx,%ecx
  3326. addl %ebx,%eax
  3327. addl 8(%esp),%edi
  3328. andl %ecx,%esi
  3329. vpor %xmm2,%xmm0,%xmm0
  3330. xorl %edx,%ecx
  3331. shrdl $7,%ebx,%ebx
  3332. vmovdqa 80(%esp),%xmm2
  3333. movl %eax,%ebp
  3334. xorl %ecx,%esi
  3335. shldl $5,%eax,%eax
  3336. addl %esi,%edi
  3337. xorl %ebx,%ebp
  3338. xorl %ecx,%ebx
  3339. addl %eax,%edi
  3340. addl 12(%esp),%edx
  3341. andl %ebx,%ebp
  3342. xorl %ecx,%ebx
  3343. shrdl $7,%eax,%eax
  3344. movl %edi,%esi
  3345. xorl %ebx,%ebp
  3346. shldl $5,%edi,%edi
  3347. addl %ebp,%edx
  3348. xorl %eax,%esi
  3349. xorl %ebx,%eax
  3350. addl %edi,%edx
  3351. vpalignr $8,%xmm7,%xmm0,%xmm3
  3352. vpxor %xmm5,%xmm1,%xmm1
  3353. addl 16(%esp),%ecx
  3354. andl %eax,%esi
  3355. xorl %ebx,%eax
  3356. shrdl $7,%edi,%edi
  3357. vpxor %xmm2,%xmm1,%xmm1
  3358. vmovdqa %xmm5,80(%esp)
  3359. movl %edx,%ebp
  3360. xorl %eax,%esi
  3361. vmovdqa %xmm4,%xmm5
  3362. vpaddd %xmm0,%xmm4,%xmm4
  3363. shldl $5,%edx,%edx
  3364. addl %esi,%ecx
  3365. vpxor %xmm3,%xmm1,%xmm1
  3366. xorl %edi,%ebp
  3367. xorl %eax,%edi
  3368. addl %edx,%ecx
  3369. addl 20(%esp),%ebx
  3370. vpsrld $30,%xmm1,%xmm3
  3371. vmovdqa %xmm4,(%esp)
  3372. andl %edi,%ebp
  3373. xorl %eax,%edi
  3374. shrdl $7,%edx,%edx
  3375. movl %ecx,%esi
  3376. vpslld $2,%xmm1,%xmm1
  3377. xorl %edi,%ebp
  3378. shldl $5,%ecx,%ecx
  3379. addl %ebp,%ebx
  3380. xorl %edx,%esi
  3381. xorl %edi,%edx
  3382. addl %ecx,%ebx
  3383. addl 24(%esp),%eax
  3384. andl %edx,%esi
  3385. vpor %xmm3,%xmm1,%xmm1
  3386. xorl %edi,%edx
  3387. shrdl $7,%ecx,%ecx
  3388. vmovdqa 96(%esp),%xmm3
  3389. movl %ebx,%ebp
  3390. xorl %edx,%esi
  3391. shldl $5,%ebx,%ebx
  3392. addl %esi,%eax
  3393. xorl %ecx,%ebp
  3394. xorl %edx,%ecx
  3395. addl %ebx,%eax
  3396. addl 28(%esp),%edi
  3397. andl %ecx,%ebp
  3398. xorl %edx,%ecx
  3399. shrdl $7,%ebx,%ebx
  3400. movl %eax,%esi
  3401. xorl %ecx,%ebp
  3402. shldl $5,%eax,%eax
  3403. addl %ebp,%edi
  3404. xorl %ebx,%esi
  3405. xorl %ecx,%ebx
  3406. addl %eax,%edi
  3407. vpalignr $8,%xmm0,%xmm1,%xmm4
  3408. vpxor %xmm6,%xmm2,%xmm2
  3409. addl 32(%esp),%edx
  3410. andl %ebx,%esi
  3411. xorl %ecx,%ebx
  3412. shrdl $7,%eax,%eax
  3413. vpxor %xmm3,%xmm2,%xmm2
  3414. vmovdqa %xmm6,96(%esp)
  3415. movl %edi,%ebp
  3416. xorl %ebx,%esi
  3417. vmovdqa %xmm5,%xmm6
  3418. vpaddd %xmm1,%xmm5,%xmm5
  3419. shldl $5,%edi,%edi
  3420. addl %esi,%edx
  3421. vpxor %xmm4,%xmm2,%xmm2
  3422. xorl %eax,%ebp
  3423. xorl %ebx,%eax
  3424. addl %edi,%edx
  3425. addl 36(%esp),%ecx
  3426. vpsrld $30,%xmm2,%xmm4
  3427. vmovdqa %xmm5,16(%esp)
  3428. andl %eax,%ebp
  3429. xorl %ebx,%eax
  3430. shrdl $7,%edi,%edi
  3431. movl %edx,%esi
  3432. vpslld $2,%xmm2,%xmm2
  3433. xorl %eax,%ebp
  3434. shldl $5,%edx,%edx
  3435. addl %ebp,%ecx
  3436. xorl %edi,%esi
  3437. xorl %eax,%edi
  3438. addl %edx,%ecx
  3439. addl 40(%esp),%ebx
  3440. andl %edi,%esi
  3441. vpor %xmm4,%xmm2,%xmm2
  3442. xorl %eax,%edi
  3443. shrdl $7,%edx,%edx
  3444. vmovdqa 64(%esp),%xmm4
  3445. movl %ecx,%ebp
  3446. xorl %edi,%esi
  3447. shldl $5,%ecx,%ecx
  3448. addl %esi,%ebx
  3449. xorl %edx,%ebp
  3450. xorl %edi,%edx
  3451. addl %ecx,%ebx
  3452. addl 44(%esp),%eax
  3453. andl %edx,%ebp
  3454. xorl %edi,%edx
  3455. shrdl $7,%ecx,%ecx
  3456. movl %ebx,%esi
  3457. xorl %edx,%ebp
  3458. shldl $5,%ebx,%ebx
  3459. addl %ebp,%eax
  3460. xorl %edx,%esi
  3461. addl %ebx,%eax
  3462. vpalignr $8,%xmm1,%xmm2,%xmm5
  3463. vpxor %xmm7,%xmm3,%xmm3
  3464. addl 48(%esp),%edi
  3465. xorl %ecx,%esi
  3466. movl %eax,%ebp
  3467. shldl $5,%eax,%eax
  3468. vpxor %xmm4,%xmm3,%xmm3
  3469. vmovdqa %xmm7,64(%esp)
  3470. addl %esi,%edi
  3471. xorl %ecx,%ebp
  3472. vmovdqa %xmm6,%xmm7
  3473. vpaddd %xmm2,%xmm6,%xmm6
  3474. shrdl $7,%ebx,%ebx
  3475. addl %eax,%edi
  3476. vpxor %xmm5,%xmm3,%xmm3
  3477. addl 52(%esp),%edx
  3478. xorl %ebx,%ebp
  3479. movl %edi,%esi
  3480. shldl $5,%edi,%edi
  3481. vpsrld $30,%xmm3,%xmm5
  3482. vmovdqa %xmm6,32(%esp)
  3483. addl %ebp,%edx
  3484. xorl %ebx,%esi
  3485. shrdl $7,%eax,%eax
  3486. addl %edi,%edx
  3487. vpslld $2,%xmm3,%xmm3
  3488. addl 56(%esp),%ecx
  3489. xorl %eax,%esi
  3490. movl %edx,%ebp
  3491. shldl $5,%edx,%edx
  3492. addl %esi,%ecx
  3493. xorl %eax,%ebp
  3494. shrdl $7,%edi,%edi
  3495. addl %edx,%ecx
  3496. vpor %xmm5,%xmm3,%xmm3
  3497. addl 60(%esp),%ebx
  3498. xorl %edi,%ebp
  3499. movl %ecx,%esi
  3500. shldl $5,%ecx,%ecx
  3501. addl %ebp,%ebx
  3502. xorl %edi,%esi
  3503. shrdl $7,%edx,%edx
  3504. addl %ecx,%ebx
  3505. addl (%esp),%eax
  3506. vpaddd %xmm3,%xmm7,%xmm7
  3507. xorl %edx,%esi
  3508. movl %ebx,%ebp
  3509. shldl $5,%ebx,%ebx
  3510. addl %esi,%eax
  3511. vmovdqa %xmm7,48(%esp)
  3512. xorl %edx,%ebp
  3513. shrdl $7,%ecx,%ecx
  3514. addl %ebx,%eax
  3515. addl 4(%esp),%edi
  3516. xorl %ecx,%ebp
  3517. movl %eax,%esi
  3518. shldl $5,%eax,%eax
  3519. addl %ebp,%edi
  3520. xorl %ecx,%esi
  3521. shrdl $7,%ebx,%ebx
  3522. addl %eax,%edi
  3523. addl 8(%esp),%edx
  3524. xorl %ebx,%esi
  3525. movl %edi,%ebp
  3526. shldl $5,%edi,%edi
  3527. addl %esi,%edx
  3528. xorl %ebx,%ebp
  3529. shrdl $7,%eax,%eax
  3530. addl %edi,%edx
  3531. addl 12(%esp),%ecx
  3532. xorl %eax,%ebp
  3533. movl %edx,%esi
  3534. shldl $5,%edx,%edx
  3535. addl %ebp,%ecx
  3536. xorl %eax,%esi
  3537. shrdl $7,%edi,%edi
  3538. addl %edx,%ecx
  3539. movl 196(%esp),%ebp
  3540. cmpl 200(%esp),%ebp
  3541. je L008done
  3542. vmovdqa 160(%esp),%xmm7
  3543. vmovdqa 176(%esp),%xmm6
  3544. vmovdqu (%ebp),%xmm0
  3545. vmovdqu 16(%ebp),%xmm1
  3546. vmovdqu 32(%ebp),%xmm2
  3547. vmovdqu 48(%ebp),%xmm3
  3548. addl $64,%ebp
  3549. vpshufb %xmm6,%xmm0,%xmm0
  3550. movl %ebp,196(%esp)
  3551. vmovdqa %xmm7,96(%esp)
  3552. addl 16(%esp),%ebx
  3553. xorl %edi,%esi
  3554. vpshufb %xmm6,%xmm1,%xmm1
  3555. movl %ecx,%ebp
  3556. shldl $5,%ecx,%ecx
  3557. vpaddd %xmm7,%xmm0,%xmm4
  3558. addl %esi,%ebx
  3559. xorl %edi,%ebp
  3560. shrdl $7,%edx,%edx
  3561. addl %ecx,%ebx
  3562. vmovdqa %xmm4,(%esp)
  3563. addl 20(%esp),%eax
  3564. xorl %edx,%ebp
  3565. movl %ebx,%esi
  3566. shldl $5,%ebx,%ebx
  3567. addl %ebp,%eax
  3568. xorl %edx,%esi
  3569. shrdl $7,%ecx,%ecx
  3570. addl %ebx,%eax
  3571. addl 24(%esp),%edi
  3572. xorl %ecx,%esi
  3573. movl %eax,%ebp
  3574. shldl $5,%eax,%eax
  3575. addl %esi,%edi
  3576. xorl %ecx,%ebp
  3577. shrdl $7,%ebx,%ebx
  3578. addl %eax,%edi
  3579. addl 28(%esp),%edx
  3580. xorl %ebx,%ebp
  3581. movl %edi,%esi
  3582. shldl $5,%edi,%edi
  3583. addl %ebp,%edx
  3584. xorl %ebx,%esi
  3585. shrdl $7,%eax,%eax
  3586. addl %edi,%edx
  3587. addl 32(%esp),%ecx
  3588. xorl %eax,%esi
  3589. vpshufb %xmm6,%xmm2,%xmm2
  3590. movl %edx,%ebp
  3591. shldl $5,%edx,%edx
  3592. vpaddd %xmm7,%xmm1,%xmm5
  3593. addl %esi,%ecx
  3594. xorl %eax,%ebp
  3595. shrdl $7,%edi,%edi
  3596. addl %edx,%ecx
  3597. vmovdqa %xmm5,16(%esp)
  3598. addl 36(%esp),%ebx
  3599. xorl %edi,%ebp
  3600. movl %ecx,%esi
  3601. shldl $5,%ecx,%ecx
  3602. addl %ebp,%ebx
  3603. xorl %edi,%esi
  3604. shrdl $7,%edx,%edx
  3605. addl %ecx,%ebx
  3606. addl 40(%esp),%eax
  3607. xorl %edx,%esi
  3608. movl %ebx,%ebp
  3609. shldl $5,%ebx,%ebx
  3610. addl %esi,%eax
  3611. xorl %edx,%ebp
  3612. shrdl $7,%ecx,%ecx
  3613. addl %ebx,%eax
  3614. addl 44(%esp),%edi
  3615. xorl %ecx,%ebp
  3616. movl %eax,%esi
  3617. shldl $5,%eax,%eax
  3618. addl %ebp,%edi
  3619. xorl %ecx,%esi
  3620. shrdl $7,%ebx,%ebx
  3621. addl %eax,%edi
  3622. addl 48(%esp),%edx
  3623. xorl %ebx,%esi
  3624. vpshufb %xmm6,%xmm3,%xmm3
  3625. movl %edi,%ebp
  3626. shldl $5,%edi,%edi
  3627. vpaddd %xmm7,%xmm2,%xmm6
  3628. addl %esi,%edx
  3629. xorl %ebx,%ebp
  3630. shrdl $7,%eax,%eax
  3631. addl %edi,%edx
  3632. vmovdqa %xmm6,32(%esp)
  3633. addl 52(%esp),%ecx
  3634. xorl %eax,%ebp
  3635. movl %edx,%esi
  3636. shldl $5,%edx,%edx
  3637. addl %ebp,%ecx
  3638. xorl %eax,%esi
  3639. shrdl $7,%edi,%edi
  3640. addl %edx,%ecx
  3641. addl 56(%esp),%ebx
  3642. xorl %edi,%esi
  3643. movl %ecx,%ebp
  3644. shldl $5,%ecx,%ecx
  3645. addl %esi,%ebx
  3646. xorl %edi,%ebp
  3647. shrdl $7,%edx,%edx
  3648. addl %ecx,%ebx
  3649. addl 60(%esp),%eax
  3650. xorl %edx,%ebp
  3651. movl %ebx,%esi
  3652. shldl $5,%ebx,%ebx
  3653. addl %ebp,%eax
  3654. shrdl $7,%ecx,%ecx
  3655. addl %ebx,%eax
  3656. movl 192(%esp),%ebp
  3657. addl (%ebp),%eax
  3658. addl 4(%ebp),%esi
  3659. addl 8(%ebp),%ecx
  3660. movl %eax,(%ebp)
  3661. addl 12(%ebp),%edx
  3662. movl %esi,4(%ebp)
  3663. addl 16(%ebp),%edi
  3664. movl %ecx,%ebx
  3665. movl %ecx,8(%ebp)
  3666. xorl %edx,%ebx
  3667. movl %edx,12(%ebp)
  3668. movl %edi,16(%ebp)
  3669. movl %esi,%ebp
  3670. andl %ebx,%esi
  3671. movl %ebp,%ebx
  3672. jmp L007loop
  3673. .align 4,0x90
  3674. L008done:
  3675. addl 16(%esp),%ebx
  3676. xorl %edi,%esi
  3677. movl %ecx,%ebp
  3678. shldl $5,%ecx,%ecx
  3679. addl %esi,%ebx
  3680. xorl %edi,%ebp
  3681. shrdl $7,%edx,%edx
  3682. addl %ecx,%ebx
  3683. addl 20(%esp),%eax
  3684. xorl %edx,%ebp
  3685. movl %ebx,%esi
  3686. shldl $5,%ebx,%ebx
  3687. addl %ebp,%eax
  3688. xorl %edx,%esi
  3689. shrdl $7,%ecx,%ecx
  3690. addl %ebx,%eax
  3691. addl 24(%esp),%edi
  3692. xorl %ecx,%esi
  3693. movl %eax,%ebp
  3694. shldl $5,%eax,%eax
  3695. addl %esi,%edi
  3696. xorl %ecx,%ebp
  3697. shrdl $7,%ebx,%ebx
  3698. addl %eax,%edi
  3699. addl 28(%esp),%edx
  3700. xorl %ebx,%ebp
  3701. movl %edi,%esi
  3702. shldl $5,%edi,%edi
  3703. addl %ebp,%edx
  3704. xorl %ebx,%esi
  3705. shrdl $7,%eax,%eax
  3706. addl %edi,%edx
  3707. addl 32(%esp),%ecx
  3708. xorl %eax,%esi
  3709. movl %edx,%ebp
  3710. shldl $5,%edx,%edx
  3711. addl %esi,%ecx
  3712. xorl %eax,%ebp
  3713. shrdl $7,%edi,%edi
  3714. addl %edx,%ecx
  3715. addl 36(%esp),%ebx
  3716. xorl %edi,%ebp
  3717. movl %ecx,%esi
  3718. shldl $5,%ecx,%ecx
  3719. addl %ebp,%ebx
  3720. xorl %edi,%esi
  3721. shrdl $7,%edx,%edx
  3722. addl %ecx,%ebx
  3723. addl 40(%esp),%eax
  3724. xorl %edx,%esi
  3725. movl %ebx,%ebp
  3726. shldl $5,%ebx,%ebx
  3727. addl %esi,%eax
  3728. xorl %edx,%ebp
  3729. shrdl $7,%ecx,%ecx
  3730. addl %ebx,%eax
  3731. addl 44(%esp),%edi
  3732. xorl %ecx,%ebp
  3733. movl %eax,%esi
  3734. shldl $5,%eax,%eax
  3735. addl %ebp,%edi
  3736. xorl %ecx,%esi
  3737. shrdl $7,%ebx,%ebx
  3738. addl %eax,%edi
  3739. addl 48(%esp),%edx
  3740. xorl %ebx,%esi
  3741. movl %edi,%ebp
  3742. shldl $5,%edi,%edi
  3743. addl %esi,%edx
  3744. xorl %ebx,%ebp
  3745. shrdl $7,%eax,%eax
  3746. addl %edi,%edx
  3747. addl 52(%esp),%ecx
  3748. xorl %eax,%ebp
  3749. movl %edx,%esi
  3750. shldl $5,%edx,%edx
  3751. addl %ebp,%ecx
  3752. xorl %eax,%esi
  3753. shrdl $7,%edi,%edi
  3754. addl %edx,%ecx
  3755. addl 56(%esp),%ebx
  3756. xorl %edi,%esi
  3757. movl %ecx,%ebp
  3758. shldl $5,%ecx,%ecx
  3759. addl %esi,%ebx
  3760. xorl %edi,%ebp
  3761. shrdl $7,%edx,%edx
  3762. addl %ecx,%ebx
  3763. addl 60(%esp),%eax
  3764. xorl %edx,%ebp
  3765. movl %ebx,%esi
  3766. shldl $5,%ebx,%ebx
  3767. addl %ebp,%eax
  3768. shrdl $7,%ecx,%ecx
  3769. addl %ebx,%eax
  3770. vzeroall
  3771. movl 192(%esp),%ebp
  3772. addl (%ebp),%eax
  3773. movl 204(%esp),%esp
  3774. addl 4(%ebp),%esi
  3775. addl 8(%ebp),%ecx
  3776. movl %eax,(%ebp)
  3777. addl 12(%ebp),%edx
  3778. movl %esi,4(%ebp)
  3779. addl 16(%ebp),%edi
  3780. movl %ecx,8(%ebp)
  3781. movl %edx,12(%ebp)
  3782. movl %edi,16(%ebp)
  3783. popl %edi
  3784. popl %esi
  3785. popl %ebx
  3786. popl %ebp
  3787. ret
  3788. .align 6,0x90
  3789. LK_XX_XX:
  3790. .long 1518500249,1518500249,1518500249,1518500249
  3791. .long 1859775393,1859775393,1859775393,1859775393
  3792. .long 2400959708,2400959708,2400959708,2400959708
  3793. .long 3395469782,3395469782,3395469782,3395469782
  3794. .long 66051,67438087,134810123,202182159
  3795. .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
  3796. .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
  3797. .byte 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
  3798. .byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
  3799. .byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
  3800. .section __IMPORT,__pointers,non_lazy_symbol_pointers
  3801. L_OPENSSL_ia32cap_P$non_lazy_ptr:
  3802. .indirect_symbol _OPENSSL_ia32cap_P
  3803. .long 0
  3804. #endif