Added Appro's SSSE3 SHA implementations
[gnutls:gnutls.git] / lib / accelerated / x86 / macosx / sha1-ssse3-x86.s
1 # Copyright (c) 2011-2012, Andy Polyakov <appro@openssl.org>
2 # All rights reserved.
3 #
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
6 # are met:
7
8 #     * Redistributions of source code must retain copyright notices,
9 #      this list of conditions and the following disclaimer.
10 #
11 #     * Redistributions in binary form must reproduce the above
12 #      copyright notice, this list of conditions and the following
13 #      disclaimer in the documentation and/or other materials
14 #      provided with the distribution.
15 #
16 #     * Neither the name of the Andy Polyakov nor the names of its
17 #      copyright holder and contributors may be used to endorse or
18 #      promote products derived from this software without specific
19 #      prior written permission.
20 #
21 # ALTERNATIVELY, provided that this notice is retained in full, this
22 # product may be distributed under the terms of the GNU General Public
23 # License (GPL), in which case the provisions of the GPL apply INSTEAD OF
24 # those given above.
25 #
26 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
27 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 #
38 # *** This file is auto-generated ***
39 #
40 .file   "sha1-586.s"
41 .text
42 .globl  _sha1_block_data_order
43 .align  4
44 _sha1_block_data_order:
45 L_sha1_block_data_order_begin:
46         pushl   %ebp
47         pushl   %ebx
48         pushl   %esi
49         pushl   %edi
50         movl    20(%esp),%ebp
51         movl    24(%esp),%esi
52         movl    28(%esp),%eax
53         subl    $76,%esp
54         shll    $6,%eax
55         addl    %esi,%eax
56         movl    %eax,104(%esp)
57         movl    16(%ebp),%edi
58         jmp     L000loop
59 .align  4,0x90
60 L000loop:
61         movl    (%esi),%eax
62         movl    4(%esi),%ebx
63         movl    8(%esi),%ecx
64         movl    12(%esi),%edx
65         bswap   %eax
66         bswap   %ebx
67         bswap   %ecx
68         bswap   %edx
69         movl    %eax,(%esp)
70         movl    %ebx,4(%esp)
71         movl    %ecx,8(%esp)
72         movl    %edx,12(%esp)
73         movl    16(%esi),%eax
74         movl    20(%esi),%ebx
75         movl    24(%esi),%ecx
76         movl    28(%esi),%edx
77         bswap   %eax
78         bswap   %ebx
79         bswap   %ecx
80         bswap   %edx
81         movl    %eax,16(%esp)
82         movl    %ebx,20(%esp)
83         movl    %ecx,24(%esp)
84         movl    %edx,28(%esp)
85         movl    32(%esi),%eax
86         movl    36(%esi),%ebx
87         movl    40(%esi),%ecx
88         movl    44(%esi),%edx
89         bswap   %eax
90         bswap   %ebx
91         bswap   %ecx
92         bswap   %edx
93         movl    %eax,32(%esp)
94         movl    %ebx,36(%esp)
95         movl    %ecx,40(%esp)
96         movl    %edx,44(%esp)
97         movl    48(%esi),%eax
98         movl    52(%esi),%ebx
99         movl    56(%esi),%ecx
100         movl    60(%esi),%edx
101         bswap   %eax
102         bswap   %ebx
103         bswap   %ecx
104         bswap   %edx
105         movl    %eax,48(%esp)
106         movl    %ebx,52(%esp)
107         movl    %ecx,56(%esp)
108         movl    %edx,60(%esp)
109         movl    %esi,100(%esp)
110         movl    (%ebp),%eax
111         movl    4(%ebp),%ebx
112         movl    8(%ebp),%ecx
113         movl    12(%ebp),%edx
114         # 00_15 0 
115         movl    %ecx,%esi
116         movl    %eax,%ebp
117         roll    $5,%ebp
118         xorl    %edx,%esi
119         addl    %edi,%ebp
120         movl    (%esp),%edi
121         andl    %ebx,%esi
122         rorl    $2,%ebx
123         xorl    %edx,%esi
124         leal    1518500249(%ebp,%edi,1),%ebp
125         addl    %esi,%ebp
126         # 00_15 1 
127         movl    %ebx,%edi
128         movl    %ebp,%esi
129         roll    $5,%ebp
130         xorl    %ecx,%edi
131         addl    %edx,%ebp
132         movl    4(%esp),%edx
133         andl    %eax,%edi
134         rorl    $2,%eax
135         xorl    %ecx,%edi
136         leal    1518500249(%ebp,%edx,1),%ebp
137         addl    %edi,%ebp
138         # 00_15 2 
139         movl    %eax,%edx
140         movl    %ebp,%edi
141         roll    $5,%ebp
142         xorl    %ebx,%edx
143         addl    %ecx,%ebp
144         movl    8(%esp),%ecx
145         andl    %esi,%edx
146         rorl    $2,%esi
147         xorl    %ebx,%edx
148         leal    1518500249(%ebp,%ecx,1),%ebp
149         addl    %edx,%ebp
150         # 00_15 3 
151         movl    %esi,%ecx
152         movl    %ebp,%edx
153         roll    $5,%ebp
154         xorl    %eax,%ecx
155         addl    %ebx,%ebp
156         movl    12(%esp),%ebx
157         andl    %edi,%ecx
158         rorl    $2,%edi
159         xorl    %eax,%ecx
160         leal    1518500249(%ebp,%ebx,1),%ebp
161         addl    %ecx,%ebp
162         # 00_15 4 
163         movl    %edi,%ebx
164         movl    %ebp,%ecx
165         roll    $5,%ebp
166         xorl    %esi,%ebx
167         addl    %eax,%ebp
168         movl    16(%esp),%eax
169         andl    %edx,%ebx
170         rorl    $2,%edx
171         xorl    %esi,%ebx
172         leal    1518500249(%ebp,%eax,1),%ebp
173         addl    %ebx,%ebp
174         # 00_15 5 
175         movl    %edx,%eax
176         movl    %ebp,%ebx
177         roll    $5,%ebp
178         xorl    %edi,%eax
179         addl    %esi,%ebp
180         movl    20(%esp),%esi
181         andl    %ecx,%eax
182         rorl    $2,%ecx
183         xorl    %edi,%eax
184         leal    1518500249(%ebp,%esi,1),%ebp
185         addl    %eax,%ebp
186         # 00_15 6 
187         movl    %ecx,%esi
188         movl    %ebp,%eax
189         roll    $5,%ebp
190         xorl    %edx,%esi
191         addl    %edi,%ebp
192         movl    24(%esp),%edi
193         andl    %ebx,%esi
194         rorl    $2,%ebx
195         xorl    %edx,%esi
196         leal    1518500249(%ebp,%edi,1),%ebp
197         addl    %esi,%ebp
198         # 00_15 7 
199         movl    %ebx,%edi
200         movl    %ebp,%esi
201         roll    $5,%ebp
202         xorl    %ecx,%edi
203         addl    %edx,%ebp
204         movl    28(%esp),%edx
205         andl    %eax,%edi
206         rorl    $2,%eax
207         xorl    %ecx,%edi
208         leal    1518500249(%ebp,%edx,1),%ebp
209         addl    %edi,%ebp
210         # 00_15 8 
211         movl    %eax,%edx
212         movl    %ebp,%edi
213         roll    $5,%ebp
214         xorl    %ebx,%edx
215         addl    %ecx,%ebp
216         movl    32(%esp),%ecx
217         andl    %esi,%edx
218         rorl    $2,%esi
219         xorl    %ebx,%edx
220         leal    1518500249(%ebp,%ecx,1),%ebp
221         addl    %edx,%ebp
222         # 00_15 9 
223         movl    %esi,%ecx
224         movl    %ebp,%edx
225         roll    $5,%ebp
226         xorl    %eax,%ecx
227         addl    %ebx,%ebp
228         movl    36(%esp),%ebx
229         andl    %edi,%ecx
230         rorl    $2,%edi
231         xorl    %eax,%ecx
232         leal    1518500249(%ebp,%ebx,1),%ebp
233         addl    %ecx,%ebp
234         # 00_15 10 
235         movl    %edi,%ebx
236         movl    %ebp,%ecx
237         roll    $5,%ebp
238         xorl    %esi,%ebx
239         addl    %eax,%ebp
240         movl    40(%esp),%eax
241         andl    %edx,%ebx
242         rorl    $2,%edx
243         xorl    %esi,%ebx
244         leal    1518500249(%ebp,%eax,1),%ebp
245         addl    %ebx,%ebp
246         # 00_15 11 
247         movl    %edx,%eax
248         movl    %ebp,%ebx
249         roll    $5,%ebp
250         xorl    %edi,%eax
251         addl    %esi,%ebp
252         movl    44(%esp),%esi
253         andl    %ecx,%eax
254         rorl    $2,%ecx
255         xorl    %edi,%eax
256         leal    1518500249(%ebp,%esi,1),%ebp
257         addl    %eax,%ebp
258         # 00_15 12 
259         movl    %ecx,%esi
260         movl    %ebp,%eax
261         roll    $5,%ebp
262         xorl    %edx,%esi
263         addl    %edi,%ebp
264         movl    48(%esp),%edi
265         andl    %ebx,%esi
266         rorl    $2,%ebx
267         xorl    %edx,%esi
268         leal    1518500249(%ebp,%edi,1),%ebp
269         addl    %esi,%ebp
270         # 00_15 13 
271         movl    %ebx,%edi
272         movl    %ebp,%esi
273         roll    $5,%ebp
274         xorl    %ecx,%edi
275         addl    %edx,%ebp
276         movl    52(%esp),%edx
277         andl    %eax,%edi
278         rorl    $2,%eax
279         xorl    %ecx,%edi
280         leal    1518500249(%ebp,%edx,1),%ebp
281         addl    %edi,%ebp
282         # 00_15 14 
283         movl    %eax,%edx
284         movl    %ebp,%edi
285         roll    $5,%ebp
286         xorl    %ebx,%edx
287         addl    %ecx,%ebp
288         movl    56(%esp),%ecx
289         andl    %esi,%edx
290         rorl    $2,%esi
291         xorl    %ebx,%edx
292         leal    1518500249(%ebp,%ecx,1),%ebp
293         addl    %edx,%ebp
294         # 00_15 15 
295         movl    %esi,%ecx
296         movl    %ebp,%edx
297         roll    $5,%ebp
298         xorl    %eax,%ecx
299         addl    %ebx,%ebp
300         movl    60(%esp),%ebx
301         andl    %edi,%ecx
302         rorl    $2,%edi
303         xorl    %eax,%ecx
304         leal    1518500249(%ebp,%ebx,1),%ebp
305         movl    (%esp),%ebx
306         addl    %ebp,%ecx
307         # 16_19 16 
308         movl    %edi,%ebp
309         xorl    8(%esp),%ebx
310         xorl    %esi,%ebp
311         xorl    32(%esp),%ebx
312         andl    %edx,%ebp
313         xorl    52(%esp),%ebx
314         roll    $1,%ebx
315         xorl    %esi,%ebp
316         addl    %ebp,%eax
317         movl    %ecx,%ebp
318         rorl    $2,%edx
319         movl    %ebx,(%esp)
320         roll    $5,%ebp
321         leal    1518500249(%ebx,%eax,1),%ebx
322         movl    4(%esp),%eax
323         addl    %ebp,%ebx
324         # 16_19 17 
325         movl    %edx,%ebp
326         xorl    12(%esp),%eax
327         xorl    %edi,%ebp
328         xorl    36(%esp),%eax
329         andl    %ecx,%ebp
330         xorl    56(%esp),%eax
331         roll    $1,%eax
332         xorl    %edi,%ebp
333         addl    %ebp,%esi
334         movl    %ebx,%ebp
335         rorl    $2,%ecx
336         movl    %eax,4(%esp)
337         roll    $5,%ebp
338         leal    1518500249(%eax,%esi,1),%eax
339         movl    8(%esp),%esi
340         addl    %ebp,%eax
341         # 16_19 18 
342         movl    %ecx,%ebp
343         xorl    16(%esp),%esi
344         xorl    %edx,%ebp
345         xorl    40(%esp),%esi
346         andl    %ebx,%ebp
347         xorl    60(%esp),%esi
348         roll    $1,%esi
349         xorl    %edx,%ebp
350         addl    %ebp,%edi
351         movl    %eax,%ebp
352         rorl    $2,%ebx
353         movl    %esi,8(%esp)
354         roll    $5,%ebp
355         leal    1518500249(%esi,%edi,1),%esi
356         movl    12(%esp),%edi
357         addl    %ebp,%esi
358         # 16_19 19 
359         movl    %ebx,%ebp
360         xorl    20(%esp),%edi
361         xorl    %ecx,%ebp
362         xorl    44(%esp),%edi
363         andl    %eax,%ebp
364         xorl    (%esp),%edi
365         roll    $1,%edi
366         xorl    %ecx,%ebp
367         addl    %ebp,%edx
368         movl    %esi,%ebp
369         rorl    $2,%eax
370         movl    %edi,12(%esp)
371         roll    $5,%ebp
372         leal    1518500249(%edi,%edx,1),%edi
373         movl    16(%esp),%edx
374         addl    %ebp,%edi
375         # 20_39 20 
376         movl    %esi,%ebp
377         xorl    24(%esp),%edx
378         xorl    %eax,%ebp
379         xorl    48(%esp),%edx
380         xorl    %ebx,%ebp
381         xorl    4(%esp),%edx
382         roll    $1,%edx
383         addl    %ebp,%ecx
384         rorl    $2,%esi
385         movl    %edi,%ebp
386         roll    $5,%ebp
387         movl    %edx,16(%esp)
388         leal    1859775393(%edx,%ecx,1),%edx
389         movl    20(%esp),%ecx
390         addl    %ebp,%edx
391         # 20_39 21 
392         movl    %edi,%ebp
393         xorl    28(%esp),%ecx
394         xorl    %esi,%ebp
395         xorl    52(%esp),%ecx
396         xorl    %eax,%ebp
397         xorl    8(%esp),%ecx
398         roll    $1,%ecx
399         addl    %ebp,%ebx
400         rorl    $2,%edi
401         movl    %edx,%ebp
402         roll    $5,%ebp
403         movl    %ecx,20(%esp)
404         leal    1859775393(%ecx,%ebx,1),%ecx
405         movl    24(%esp),%ebx
406         addl    %ebp,%ecx
407         # 20_39 22 
408         movl    %edx,%ebp
409         xorl    32(%esp),%ebx
410         xorl    %edi,%ebp
411         xorl    56(%esp),%ebx
412         xorl    %esi,%ebp
413         xorl    12(%esp),%ebx
414         roll    $1,%ebx
415         addl    %ebp,%eax
416         rorl    $2,%edx
417         movl    %ecx,%ebp
418         roll    $5,%ebp
419         movl    %ebx,24(%esp)
420         leal    1859775393(%ebx,%eax,1),%ebx
421         movl    28(%esp),%eax
422         addl    %ebp,%ebx
423         # 20_39 23 
424         movl    %ecx,%ebp
425         xorl    36(%esp),%eax
426         xorl    %edx,%ebp
427         xorl    60(%esp),%eax
428         xorl    %edi,%ebp
429         xorl    16(%esp),%eax
430         roll    $1,%eax
431         addl    %ebp,%esi
432         rorl    $2,%ecx
433         movl    %ebx,%ebp
434         roll    $5,%ebp
435         movl    %eax,28(%esp)
436         leal    1859775393(%eax,%esi,1),%eax
437         movl    32(%esp),%esi
438         addl    %ebp,%eax
439         # 20_39 24 
440         movl    %ebx,%ebp
441         xorl    40(%esp),%esi
442         xorl    %ecx,%ebp
443         xorl    (%esp),%esi
444         xorl    %edx,%ebp
445         xorl    20(%esp),%esi
446         roll    $1,%esi
447         addl    %ebp,%edi
448         rorl    $2,%ebx
449         movl    %eax,%ebp
450         roll    $5,%ebp
451         movl    %esi,32(%esp)
452         leal    1859775393(%esi,%edi,1),%esi
453         movl    36(%esp),%edi
454         addl    %ebp,%esi
455         # 20_39 25 
456         movl    %eax,%ebp
457         xorl    44(%esp),%edi
458         xorl    %ebx,%ebp
459         xorl    4(%esp),%edi
460         xorl    %ecx,%ebp
461         xorl    24(%esp),%edi
462         roll    $1,%edi
463         addl    %ebp,%edx
464         rorl    $2,%eax
465         movl    %esi,%ebp
466         roll    $5,%ebp
467         movl    %edi,36(%esp)
468         leal    1859775393(%edi,%edx,1),%edi
469         movl    40(%esp),%edx
470         addl    %ebp,%edi
471         # 20_39 26 
472         movl    %esi,%ebp
473         xorl    48(%esp),%edx
474         xorl    %eax,%ebp
475         xorl    8(%esp),%edx
476         xorl    %ebx,%ebp
477         xorl    28(%esp),%edx
478         roll    $1,%edx
479         addl    %ebp,%ecx
480         rorl    $2,%esi
481         movl    %edi,%ebp
482         roll    $5,%ebp
483         movl    %edx,40(%esp)
484         leal    1859775393(%edx,%ecx,1),%edx
485         movl    44(%esp),%ecx
486         addl    %ebp,%edx
487         # 20_39 27 
488         movl    %edi,%ebp
489         xorl    52(%esp),%ecx
490         xorl    %esi,%ebp
491         xorl    12(%esp),%ecx
492         xorl    %eax,%ebp
493         xorl    32(%esp),%ecx
494         roll    $1,%ecx
495         addl    %ebp,%ebx
496         rorl    $2,%edi
497         movl    %edx,%ebp
498         roll    $5,%ebp
499         movl    %ecx,44(%esp)
500         leal    1859775393(%ecx,%ebx,1),%ecx
501         movl    48(%esp),%ebx
502         addl    %ebp,%ecx
503         # 20_39 28 
504         movl    %edx,%ebp
505         xorl    56(%esp),%ebx
506         xorl    %edi,%ebp
507         xorl    16(%esp),%ebx
508         xorl    %esi,%ebp
509         xorl    36(%esp),%ebx
510         roll    $1,%ebx
511         addl    %ebp,%eax
512         rorl    $2,%edx
513         movl    %ecx,%ebp
514         roll    $5,%ebp
515         movl    %ebx,48(%esp)
516         leal    1859775393(%ebx,%eax,1),%ebx
517         movl    52(%esp),%eax
518         addl    %ebp,%ebx
519         # 20_39 29 
520         movl    %ecx,%ebp
521         xorl    60(%esp),%eax
522         xorl    %edx,%ebp
523         xorl    20(%esp),%eax
524         xorl    %edi,%ebp
525         xorl    40(%esp),%eax
526         roll    $1,%eax
527         addl    %ebp,%esi
528         rorl    $2,%ecx
529         movl    %ebx,%ebp
530         roll    $5,%ebp
531         movl    %eax,52(%esp)
532         leal    1859775393(%eax,%esi,1),%eax
533         movl    56(%esp),%esi
534         addl    %ebp,%eax
535         # 20_39 30 
536         movl    %ebx,%ebp
537         xorl    (%esp),%esi
538         xorl    %ecx,%ebp
539         xorl    24(%esp),%esi
540         xorl    %edx,%ebp
541         xorl    44(%esp),%esi
542         roll    $1,%esi
543         addl    %ebp,%edi
544         rorl    $2,%ebx
545         movl    %eax,%ebp
546         roll    $5,%ebp
547         movl    %esi,56(%esp)
548         leal    1859775393(%esi,%edi,1),%esi
549         movl    60(%esp),%edi
550         addl    %ebp,%esi
551         # 20_39 31 
552         movl    %eax,%ebp
553         xorl    4(%esp),%edi
554         xorl    %ebx,%ebp
555         xorl    28(%esp),%edi
556         xorl    %ecx,%ebp
557         xorl    48(%esp),%edi
558         roll    $1,%edi
559         addl    %ebp,%edx
560         rorl    $2,%eax
561         movl    %esi,%ebp
562         roll    $5,%ebp
563         movl    %edi,60(%esp)
564         leal    1859775393(%edi,%edx,1),%edi
565         movl    (%esp),%edx
566         addl    %ebp,%edi
567         # 20_39 32 
568         movl    %esi,%ebp
569         xorl    8(%esp),%edx
570         xorl    %eax,%ebp
571         xorl    32(%esp),%edx
572         xorl    %ebx,%ebp
573         xorl    52(%esp),%edx
574         roll    $1,%edx
575         addl    %ebp,%ecx
576         rorl    $2,%esi
577         movl    %edi,%ebp
578         roll    $5,%ebp
579         movl    %edx,(%esp)
580         leal    1859775393(%edx,%ecx,1),%edx
581         movl    4(%esp),%ecx
582         addl    %ebp,%edx
583         # 20_39 33 
584         movl    %edi,%ebp
585         xorl    12(%esp),%ecx
586         xorl    %esi,%ebp
587         xorl    36(%esp),%ecx
588         xorl    %eax,%ebp
589         xorl    56(%esp),%ecx
590         roll    $1,%ecx
591         addl    %ebp,%ebx
592         rorl    $2,%edi
593         movl    %edx,%ebp
594         roll    $5,%ebp
595         movl    %ecx,4(%esp)
596         leal    1859775393(%ecx,%ebx,1),%ecx
597         movl    8(%esp),%ebx
598         addl    %ebp,%ecx
599         # 20_39 34 
600         movl    %edx,%ebp
601         xorl    16(%esp),%ebx
602         xorl    %edi,%ebp
603         xorl    40(%esp),%ebx
604         xorl    %esi,%ebp
605         xorl    60(%esp),%ebx
606         roll    $1,%ebx
607         addl    %ebp,%eax
608         rorl    $2,%edx
609         movl    %ecx,%ebp
610         roll    $5,%ebp
611         movl    %ebx,8(%esp)
612         leal    1859775393(%ebx,%eax,1),%ebx
613         movl    12(%esp),%eax
614         addl    %ebp,%ebx
615         # 20_39 35 
616         movl    %ecx,%ebp
617         xorl    20(%esp),%eax
618         xorl    %edx,%ebp
619         xorl    44(%esp),%eax
620         xorl    %edi,%ebp
621         xorl    (%esp),%eax
622         roll    $1,%eax
623         addl    %ebp,%esi
624         rorl    $2,%ecx
625         movl    %ebx,%ebp
626         roll    $5,%ebp
627         movl    %eax,12(%esp)
628         leal    1859775393(%eax,%esi,1),%eax
629         movl    16(%esp),%esi
630         addl    %ebp,%eax
631         # 20_39 36 
632         movl    %ebx,%ebp
633         xorl    24(%esp),%esi
634         xorl    %ecx,%ebp
635         xorl    48(%esp),%esi
636         xorl    %edx,%ebp
637         xorl    4(%esp),%esi
638         roll    $1,%esi
639         addl    %ebp,%edi
640         rorl    $2,%ebx
641         movl    %eax,%ebp
642         roll    $5,%ebp
643         movl    %esi,16(%esp)
644         leal    1859775393(%esi,%edi,1),%esi
645         movl    20(%esp),%edi
646         addl    %ebp,%esi
647         # 20_39 37 
648         movl    %eax,%ebp
649         xorl    28(%esp),%edi
650         xorl    %ebx,%ebp
651         xorl    52(%esp),%edi
652         xorl    %ecx,%ebp
653         xorl    8(%esp),%edi
654         roll    $1,%edi
655         addl    %ebp,%edx
656         rorl    $2,%eax
657         movl    %esi,%ebp
658         roll    $5,%ebp
659         movl    %edi,20(%esp)
660         leal    1859775393(%edi,%edx,1),%edi
661         movl    24(%esp),%edx
662         addl    %ebp,%edi
663         # 20_39 38 
664         movl    %esi,%ebp
665         xorl    32(%esp),%edx
666         xorl    %eax,%ebp
667         xorl    56(%esp),%edx
668         xorl    %ebx,%ebp
669         xorl    12(%esp),%edx
670         roll    $1,%edx
671         addl    %ebp,%ecx
672         rorl    $2,%esi
673         movl    %edi,%ebp
674         roll    $5,%ebp
675         movl    %edx,24(%esp)
676         leal    1859775393(%edx,%ecx,1),%edx
677         movl    28(%esp),%ecx
678         addl    %ebp,%edx
679         # 20_39 39 
680         movl    %edi,%ebp
681         xorl    36(%esp),%ecx
682         xorl    %esi,%ebp
683         xorl    60(%esp),%ecx
684         xorl    %eax,%ebp
685         xorl    16(%esp),%ecx
686         roll    $1,%ecx
687         addl    %ebp,%ebx
688         rorl    $2,%edi
689         movl    %edx,%ebp
690         roll    $5,%ebp
691         movl    %ecx,28(%esp)
692         leal    1859775393(%ecx,%ebx,1),%ecx
693         movl    32(%esp),%ebx
694         addl    %ebp,%ecx
695         # 40_59 40 
696         movl    %edi,%ebp
697         xorl    40(%esp),%ebx
698         xorl    %esi,%ebp
699         xorl    (%esp),%ebx
700         andl    %edx,%ebp
701         xorl    20(%esp),%ebx
702         roll    $1,%ebx
703         addl    %eax,%ebp
704         rorl    $2,%edx
705         movl    %ecx,%eax
706         roll    $5,%eax
707         movl    %ebx,32(%esp)
708         leal    2400959708(%ebx,%ebp,1),%ebx
709         movl    %edi,%ebp
710         addl    %eax,%ebx
711         andl    %esi,%ebp
712         movl    36(%esp),%eax
713         addl    %ebp,%ebx
714         # 40_59 41 
715         movl    %edx,%ebp
716         xorl    44(%esp),%eax
717         xorl    %edi,%ebp
718         xorl    4(%esp),%eax
719         andl    %ecx,%ebp
720         xorl    24(%esp),%eax
721         roll    $1,%eax
722         addl    %esi,%ebp
723         rorl    $2,%ecx
724         movl    %ebx,%esi
725         roll    $5,%esi
726         movl    %eax,36(%esp)
727         leal    2400959708(%eax,%ebp,1),%eax
728         movl    %edx,%ebp
729         addl    %esi,%eax
730         andl    %edi,%ebp
731         movl    40(%esp),%esi
732         addl    %ebp,%eax
733         # 40_59 42 
734         movl    %ecx,%ebp
735         xorl    48(%esp),%esi
736         xorl    %edx,%ebp
737         xorl    8(%esp),%esi
738         andl    %ebx,%ebp
739         xorl    28(%esp),%esi
740         roll    $1,%esi
741         addl    %edi,%ebp
742         rorl    $2,%ebx
743         movl    %eax,%edi
744         roll    $5,%edi
745         movl    %esi,40(%esp)
746         leal    2400959708(%esi,%ebp,1),%esi
747         movl    %ecx,%ebp
748         addl    %edi,%esi
749         andl    %edx,%ebp
750         movl    44(%esp),%edi
751         addl    %ebp,%esi
752         # 40_59 43 
753         movl    %ebx,%ebp
754         xorl    52(%esp),%edi
755         xorl    %ecx,%ebp
756         xorl    12(%esp),%edi
757         andl    %eax,%ebp
758         xorl    32(%esp),%edi
759         roll    $1,%edi
760         addl    %edx,%ebp
761         rorl    $2,%eax
762         movl    %esi,%edx
763         roll    $5,%edx
764         movl    %edi,44(%esp)
765         leal    2400959708(%edi,%ebp,1),%edi
766         movl    %ebx,%ebp
767         addl    %edx,%edi
768         andl    %ecx,%ebp
769         movl    48(%esp),%edx
770         addl    %ebp,%edi
771         # 40_59 44 
772         movl    %eax,%ebp
773         xorl    56(%esp),%edx
774         xorl    %ebx,%ebp
775         xorl    16(%esp),%edx
776         andl    %esi,%ebp
777         xorl    36(%esp),%edx
778         roll    $1,%edx
779         addl    %ecx,%ebp
780         rorl    $2,%esi
781         movl    %edi,%ecx
782         roll    $5,%ecx
783         movl    %edx,48(%esp)
784         leal    2400959708(%edx,%ebp,1),%edx
785         movl    %eax,%ebp
786         addl    %ecx,%edx
787         andl    %ebx,%ebp
788         movl    52(%esp),%ecx
789         addl    %ebp,%edx
790         # 40_59 45 
791         movl    %esi,%ebp
792         xorl    60(%esp),%ecx
793         xorl    %eax,%ebp
794         xorl    20(%esp),%ecx
795         andl    %edi,%ebp
796         xorl    40(%esp),%ecx
797         roll    $1,%ecx
798         addl    %ebx,%ebp
799         rorl    $2,%edi
800         movl    %edx,%ebx
801         roll    $5,%ebx
802         movl    %ecx,52(%esp)
803         leal    2400959708(%ecx,%ebp,1),%ecx
804         movl    %esi,%ebp
805         addl    %ebx,%ecx
806         andl    %eax,%ebp
807         movl    56(%esp),%ebx
808         addl    %ebp,%ecx
809         # 40_59 46 
810         movl    %edi,%ebp
811         xorl    (%esp),%ebx
812         xorl    %esi,%ebp
813         xorl    24(%esp),%ebx
814         andl    %edx,%ebp
815         xorl    44(%esp),%ebx
816         roll    $1,%ebx
817         addl    %eax,%ebp
818         rorl    $2,%edx
819         movl    %ecx,%eax
820         roll    $5,%eax
821         movl    %ebx,56(%esp)
822         leal    2400959708(%ebx,%ebp,1),%ebx
823         movl    %edi,%ebp
824         addl    %eax,%ebx
825         andl    %esi,%ebp
826         movl    60(%esp),%eax
827         addl    %ebp,%ebx
828         # 40_59 47 
829         movl    %edx,%ebp
830         xorl    4(%esp),%eax
831         xorl    %edi,%ebp
832         xorl    28(%esp),%eax
833         andl    %ecx,%ebp
834         xorl    48(%esp),%eax
835         roll    $1,%eax
836         addl    %esi,%ebp
837         rorl    $2,%ecx
838         movl    %ebx,%esi
839         roll    $5,%esi
840         movl    %eax,60(%esp)
841         leal    2400959708(%eax,%ebp,1),%eax
842         movl    %edx,%ebp
843         addl    %esi,%eax
844         andl    %edi,%ebp
845         movl    (%esp),%esi
846         addl    %ebp,%eax
847         # 40_59 48 
848         movl    %ecx,%ebp
849         xorl    8(%esp),%esi
850         xorl    %edx,%ebp
851         xorl    32(%esp),%esi
852         andl    %ebx,%ebp
853         xorl    52(%esp),%esi
854         roll    $1,%esi
855         addl    %edi,%ebp
856         rorl    $2,%ebx
857         movl    %eax,%edi
858         roll    $5,%edi
859         movl    %esi,(%esp)
860         leal    2400959708(%esi,%ebp,1),%esi
861         movl    %ecx,%ebp
862         addl    %edi,%esi
863         andl    %edx,%ebp
864         movl    4(%esp),%edi
865         addl    %ebp,%esi
866         # 40_59 49 
867         movl    %ebx,%ebp
868         xorl    12(%esp),%edi
869         xorl    %ecx,%ebp
870         xorl    36(%esp),%edi
871         andl    %eax,%ebp
872         xorl    56(%esp),%edi
873         roll    $1,%edi
874         addl    %edx,%ebp
875         rorl    $2,%eax
876         movl    %esi,%edx
877         roll    $5,%edx
878         movl    %edi,4(%esp)
879         leal    2400959708(%edi,%ebp,1),%edi
880         movl    %ebx,%ebp
881         addl    %edx,%edi
882         andl    %ecx,%ebp
883         movl    8(%esp),%edx
884         addl    %ebp,%edi
885         # 40_59 50 
886         movl    %eax,%ebp
887         xorl    16(%esp),%edx
888         xorl    %ebx,%ebp
889         xorl    40(%esp),%edx
890         andl    %esi,%ebp
891         xorl    60(%esp),%edx
892         roll    $1,%edx
893         addl    %ecx,%ebp
894         rorl    $2,%esi
895         movl    %edi,%ecx
896         roll    $5,%ecx
897         movl    %edx,8(%esp)
898         leal    2400959708(%edx,%ebp,1),%edx
899         movl    %eax,%ebp
900         addl    %ecx,%edx
901         andl    %ebx,%ebp
902         movl    12(%esp),%ecx
903         addl    %ebp,%edx
904         # 40_59 51 
905         movl    %esi,%ebp
906         xorl    20(%esp),%ecx
907         xorl    %eax,%ebp
908         xorl    44(%esp),%ecx
909         andl    %edi,%ebp
910         xorl    (%esp),%ecx
911         roll    $1,%ecx
912         addl    %ebx,%ebp
913         rorl    $2,%edi
914         movl    %edx,%ebx
915         roll    $5,%ebx
916         movl    %ecx,12(%esp)
917         leal    2400959708(%ecx,%ebp,1),%ecx
918         movl    %esi,%ebp
919         addl    %ebx,%ecx
920         andl    %eax,%ebp
921         movl    16(%esp),%ebx
922         addl    %ebp,%ecx
923         # 40_59 52 
924         movl    %edi,%ebp
925         xorl    24(%esp),%ebx
926         xorl    %esi,%ebp
927         xorl    48(%esp),%ebx
928         andl    %edx,%ebp
929         xorl    4(%esp),%ebx
930         roll    $1,%ebx
931         addl    %eax,%ebp
932         rorl    $2,%edx
933         movl    %ecx,%eax
934         roll    $5,%eax
935         movl    %ebx,16(%esp)
936         leal    2400959708(%ebx,%ebp,1),%ebx
937         movl    %edi,%ebp
938         addl    %eax,%ebx
939         andl    %esi,%ebp
940         movl    20(%esp),%eax
941         addl    %ebp,%ebx
942         # 40_59 53 
943         movl    %edx,%ebp
944         xorl    28(%esp),%eax
945         xorl    %edi,%ebp
946         xorl    52(%esp),%eax
947         andl    %ecx,%ebp
948         xorl    8(%esp),%eax
949         roll    $1,%eax
950         addl    %esi,%ebp
951         rorl    $2,%ecx
952         movl    %ebx,%esi
953         roll    $5,%esi
954         movl    %eax,20(%esp)
955         leal    2400959708(%eax,%ebp,1),%eax
956         movl    %edx,%ebp
957         addl    %esi,%eax
958         andl    %edi,%ebp
959         movl    24(%esp),%esi
960         addl    %ebp,%eax
961         # 40_59 54 
962         movl    %ecx,%ebp
963         xorl    32(%esp),%esi
964         xorl    %edx,%ebp
965         xorl    56(%esp),%esi
966         andl    %ebx,%ebp
967         xorl    12(%esp),%esi
968         roll    $1,%esi
969         addl    %edi,%ebp
970         rorl    $2,%ebx
971         movl    %eax,%edi
972         roll    $5,%edi
973         movl    %esi,24(%esp)
974         leal    2400959708(%esi,%ebp,1),%esi
975         movl    %ecx,%ebp
976         addl    %edi,%esi
977         andl    %edx,%ebp
978         movl    28(%esp),%edi
979         addl    %ebp,%esi
980         # 40_59 55 
981         movl    %ebx,%ebp
982         xorl    36(%esp),%edi
983         xorl    %ecx,%ebp
984         xorl    60(%esp),%edi
985         andl    %eax,%ebp
986         xorl    16(%esp),%edi
987         roll    $1,%edi
988         addl    %edx,%ebp
989         rorl    $2,%eax
990         movl    %esi,%edx
991         roll    $5,%edx
992         movl    %edi,28(%esp)
993         leal    2400959708(%edi,%ebp,1),%edi
994         movl    %ebx,%ebp
995         addl    %edx,%edi
996         andl    %ecx,%ebp
997         movl    32(%esp),%edx
998         addl    %ebp,%edi
999         # 40_59 56 
1000         movl    %eax,%ebp
1001         xorl    40(%esp),%edx
1002         xorl    %ebx,%ebp
1003         xorl    (%esp),%edx
1004         andl    %esi,%ebp
1005         xorl    20(%esp),%edx
1006         roll    $1,%edx
1007         addl    %ecx,%ebp
1008         rorl    $2,%esi
1009         movl    %edi,%ecx
1010         roll    $5,%ecx
1011         movl    %edx,32(%esp)
1012         leal    2400959708(%edx,%ebp,1),%edx
1013         movl    %eax,%ebp
1014         addl    %ecx,%edx
1015         andl    %ebx,%ebp
1016         movl    36(%esp),%ecx
1017         addl    %ebp,%edx
1018         # 40_59 57 
1019         movl    %esi,%ebp
1020         xorl    44(%esp),%ecx
1021         xorl    %eax,%ebp
1022         xorl    4(%esp),%ecx
1023         andl    %edi,%ebp
1024         xorl    24(%esp),%ecx
1025         roll    $1,%ecx
1026         addl    %ebx,%ebp
1027         rorl    $2,%edi
1028         movl    %edx,%ebx
1029         roll    $5,%ebx
1030         movl    %ecx,36(%esp)
1031         leal    2400959708(%ecx,%ebp,1),%ecx
1032         movl    %esi,%ebp
1033         addl    %ebx,%ecx
1034         andl    %eax,%ebp
1035         movl    40(%esp),%ebx
1036         addl    %ebp,%ecx
1037         # 40_59 58 
1038         movl    %edi,%ebp
1039         xorl    48(%esp),%ebx
1040         xorl    %esi,%ebp
1041         xorl    8(%esp),%ebx
1042         andl    %edx,%ebp
1043         xorl    28(%esp),%ebx
1044         roll    $1,%ebx
1045         addl    %eax,%ebp
1046         rorl    $2,%edx
1047         movl    %ecx,%eax
1048         roll    $5,%eax
1049         movl    %ebx,40(%esp)
1050         leal    2400959708(%ebx,%ebp,1),%ebx
1051         movl    %edi,%ebp
1052         addl    %eax,%ebx
1053         andl    %esi,%ebp
1054         movl    44(%esp),%eax
1055         addl    %ebp,%ebx
1056         # 40_59 59 
1057         movl    %edx,%ebp
1058         xorl    52(%esp),%eax
1059         xorl    %edi,%ebp
1060         xorl    12(%esp),%eax
1061         andl    %ecx,%ebp
1062         xorl    32(%esp),%eax
1063         roll    $1,%eax
1064         addl    %esi,%ebp
1065         rorl    $2,%ecx
1066         movl    %ebx,%esi
1067         roll    $5,%esi
1068         movl    %eax,44(%esp)
1069         leal    2400959708(%eax,%ebp,1),%eax
1070         movl    %edx,%ebp
1071         addl    %esi,%eax
1072         andl    %edi,%ebp
1073         movl    48(%esp),%esi
1074         addl    %ebp,%eax
1075         # 20_39 60 
1076         movl    %ebx,%ebp
1077         xorl    56(%esp),%esi
1078         xorl    %ecx,%ebp
1079         xorl    16(%esp),%esi
1080         xorl    %edx,%ebp
1081         xorl    36(%esp),%esi
1082         roll    $1,%esi
1083         addl    %ebp,%edi
1084         rorl    $2,%ebx
1085         movl    %eax,%ebp
1086         roll    $5,%ebp
1087         movl    %esi,48(%esp)
1088         leal    3395469782(%esi,%edi,1),%esi
1089         movl    52(%esp),%edi
1090         addl    %ebp,%esi
1091         # 20_39 61 
1092         movl    %eax,%ebp
1093         xorl    60(%esp),%edi
1094         xorl    %ebx,%ebp
1095         xorl    20(%esp),%edi
1096         xorl    %ecx,%ebp
1097         xorl    40(%esp),%edi
1098         roll    $1,%edi
1099         addl    %ebp,%edx
1100         rorl    $2,%eax
1101         movl    %esi,%ebp
1102         roll    $5,%ebp
1103         movl    %edi,52(%esp)
1104         leal    3395469782(%edi,%edx,1),%edi
1105         movl    56(%esp),%edx
1106         addl    %ebp,%edi
1107         # 20_39 62 
1108         movl    %esi,%ebp
1109         xorl    (%esp),%edx
1110         xorl    %eax,%ebp
1111         xorl    24(%esp),%edx
1112         xorl    %ebx,%ebp
1113         xorl    44(%esp),%edx
1114         roll    $1,%edx
1115         addl    %ebp,%ecx
1116         rorl    $2,%esi
1117         movl    %edi,%ebp
1118         roll    $5,%ebp
1119         movl    %edx,56(%esp)
1120         leal    3395469782(%edx,%ecx,1),%edx
1121         movl    60(%esp),%ecx
1122         addl    %ebp,%edx
1123         # 20_39 63 
1124         movl    %edi,%ebp
1125         xorl    4(%esp),%ecx
1126         xorl    %esi,%ebp
1127         xorl    28(%esp),%ecx
1128         xorl    %eax,%ebp
1129         xorl    48(%esp),%ecx
1130         roll    $1,%ecx
1131         addl    %ebp,%ebx
1132         rorl    $2,%edi
1133         movl    %edx,%ebp
1134         roll    $5,%ebp
1135         movl    %ecx,60(%esp)
1136         leal    3395469782(%ecx,%ebx,1),%ecx
1137         movl    (%esp),%ebx
1138         addl    %ebp,%ecx
1139         # 20_39 64 
1140         movl    %edx,%ebp
1141         xorl    8(%esp),%ebx
1142         xorl    %edi,%ebp
1143         xorl    32(%esp),%ebx
1144         xorl    %esi,%ebp
1145         xorl    52(%esp),%ebx
1146         roll    $1,%ebx
1147         addl    %ebp,%eax
1148         rorl    $2,%edx
1149         movl    %ecx,%ebp
1150         roll    $5,%ebp
1151         movl    %ebx,(%esp)
1152         leal    3395469782(%ebx,%eax,1),%ebx
1153         movl    4(%esp),%eax
1154         addl    %ebp,%ebx
1155         # 20_39 65 
1156         movl    %ecx,%ebp
1157         xorl    12(%esp),%eax
1158         xorl    %edx,%ebp
1159         xorl    36(%esp),%eax
1160         xorl    %edi,%ebp
1161         xorl    56(%esp),%eax
1162         roll    $1,%eax
1163         addl    %ebp,%esi
1164         rorl    $2,%ecx
1165         movl    %ebx,%ebp
1166         roll    $5,%ebp
1167         movl    %eax,4(%esp)
1168         leal    3395469782(%eax,%esi,1),%eax
1169         movl    8(%esp),%esi
1170         addl    %ebp,%eax
1171         # 20_39 66 
1172         movl    %ebx,%ebp
1173         xorl    16(%esp),%esi
1174         xorl    %ecx,%ebp
1175         xorl    40(%esp),%esi
1176         xorl    %edx,%ebp
1177         xorl    60(%esp),%esi
1178         roll    $1,%esi
1179         addl    %ebp,%edi
1180         rorl    $2,%ebx
1181         movl    %eax,%ebp
1182         roll    $5,%ebp
1183         movl    %esi,8(%esp)
1184         leal    3395469782(%esi,%edi,1),%esi
1185         movl    12(%esp),%edi
1186         addl    %ebp,%esi
1187         # 20_39 67 
1188         movl    %eax,%ebp
1189         xorl    20(%esp),%edi
1190         xorl    %ebx,%ebp
1191         xorl    44(%esp),%edi
1192         xorl    %ecx,%ebp
1193         xorl    (%esp),%edi
1194         roll    $1,%edi
1195         addl    %ebp,%edx
1196         rorl    $2,%eax
1197         movl    %esi,%ebp
1198         roll    $5,%ebp
1199         movl    %edi,12(%esp)
1200         leal    3395469782(%edi,%edx,1),%edi
1201         movl    16(%esp),%edx
1202         addl    %ebp,%edi
1203         # 20_39 68 
1204         movl    %esi,%ebp
1205         xorl    24(%esp),%edx
1206         xorl    %eax,%ebp
1207         xorl    48(%esp),%edx
1208         xorl    %ebx,%ebp
1209         xorl    4(%esp),%edx
1210         roll    $1,%edx
1211         addl    %ebp,%ecx
1212         rorl    $2,%esi
1213         movl    %edi,%ebp
1214         roll    $5,%ebp
1215         movl    %edx,16(%esp)
1216         leal    3395469782(%edx,%ecx,1),%edx
1217         movl    20(%esp),%ecx
1218         addl    %ebp,%edx
1219         # 20_39 69 
1220         movl    %edi,%ebp
1221         xorl    28(%esp),%ecx
1222         xorl    %esi,%ebp
1223         xorl    52(%esp),%ecx
1224         xorl    %eax,%ebp
1225         xorl    8(%esp),%ecx
1226         roll    $1,%ecx
1227         addl    %ebp,%ebx
1228         rorl    $2,%edi
1229         movl    %edx,%ebp
1230         roll    $5,%ebp
1231         movl    %ecx,20(%esp)
1232         leal    3395469782(%ecx,%ebx,1),%ecx
1233         movl    24(%esp),%ebx
1234         addl    %ebp,%ecx
1235         # 20_39 70 
1236         movl    %edx,%ebp
1237         xorl    32(%esp),%ebx
1238         xorl    %edi,%ebp
1239         xorl    56(%esp),%ebx
1240         xorl    %esi,%ebp
1241         xorl    12(%esp),%ebx
1242         roll    $1,%ebx
1243         addl    %ebp,%eax
1244         rorl    $2,%edx
1245         movl    %ecx,%ebp
1246         roll    $5,%ebp
1247         movl    %ebx,24(%esp)
1248         leal    3395469782(%ebx,%eax,1),%ebx
1249         movl    28(%esp),%eax
1250         addl    %ebp,%ebx
1251         # 20_39 71 
1252         movl    %ecx,%ebp
1253         xorl    36(%esp),%eax
1254         xorl    %edx,%ebp
1255         xorl    60(%esp),%eax
1256         xorl    %edi,%ebp
1257         xorl    16(%esp),%eax
1258         roll    $1,%eax
1259         addl    %ebp,%esi
1260         rorl    $2,%ecx
1261         movl    %ebx,%ebp
1262         roll    $5,%ebp
1263         movl    %eax,28(%esp)
1264         leal    3395469782(%eax,%esi,1),%eax
1265         movl    32(%esp),%esi
1266         addl    %ebp,%eax
1267         # 20_39 72 
1268         movl    %ebx,%ebp
1269         xorl    40(%esp),%esi
1270         xorl    %ecx,%ebp
1271         xorl    (%esp),%esi
1272         xorl    %edx,%ebp
1273         xorl    20(%esp),%esi
1274         roll    $1,%esi
1275         addl    %ebp,%edi
1276         rorl    $2,%ebx
1277         movl    %eax,%ebp
1278         roll    $5,%ebp
1279         movl    %esi,32(%esp)
1280         leal    3395469782(%esi,%edi,1),%esi
1281         movl    36(%esp),%edi
1282         addl    %ebp,%esi
1283         # 20_39 73 
1284         movl    %eax,%ebp
1285         xorl    44(%esp),%edi
1286         xorl    %ebx,%ebp
1287         xorl    4(%esp),%edi
1288         xorl    %ecx,%ebp
1289         xorl    24(%esp),%edi
1290         roll    $1,%edi
1291         addl    %ebp,%edx
1292         rorl    $2,%eax
1293         movl    %esi,%ebp
1294         roll    $5,%ebp
1295         movl    %edi,36(%esp)
1296         leal    3395469782(%edi,%edx,1),%edi
1297         movl    40(%esp),%edx
1298         addl    %ebp,%edi
1299         # 20_39 74 
1300         movl    %esi,%ebp
1301         xorl    48(%esp),%edx
1302         xorl    %eax,%ebp
1303         xorl    8(%esp),%edx
1304         xorl    %ebx,%ebp
1305         xorl    28(%esp),%edx
1306         roll    $1,%edx
1307         addl    %ebp,%ecx
1308         rorl    $2,%esi
1309         movl    %edi,%ebp
1310         roll    $5,%ebp
1311         movl    %edx,40(%esp)
1312         leal    3395469782(%edx,%ecx,1),%edx
1313         movl    44(%esp),%ecx
1314         addl    %ebp,%edx
1315         # 20_39 75 
1316         movl    %edi,%ebp
1317         xorl    52(%esp),%ecx
1318         xorl    %esi,%ebp
1319         xorl    12(%esp),%ecx
1320         xorl    %eax,%ebp
1321         xorl    32(%esp),%ecx
1322         roll    $1,%ecx
1323         addl    %ebp,%ebx
1324         rorl    $2,%edi
1325         movl    %edx,%ebp
1326         roll    $5,%ebp
1327         movl    %ecx,44(%esp)
1328         leal    3395469782(%ecx,%ebx,1),%ecx
1329         movl    48(%esp),%ebx
1330         addl    %ebp,%ecx
1331         # 20_39 76 
1332         movl    %edx,%ebp
1333         xorl    56(%esp),%ebx
1334         xorl    %edi,%ebp
1335         xorl    16(%esp),%ebx
1336         xorl    %esi,%ebp
1337         xorl    36(%esp),%ebx
1338         roll    $1,%ebx
1339         addl    %ebp,%eax
1340         rorl    $2,%edx
1341         movl    %ecx,%ebp
1342         roll    $5,%ebp
1343         movl    %ebx,48(%esp)
1344         leal    3395469782(%ebx,%eax,1),%ebx
1345         movl    52(%esp),%eax
1346         addl    %ebp,%ebx
1347         # 20_39 77 
1348         movl    %ecx,%ebp
1349         xorl    60(%esp),%eax
1350         xorl    %edx,%ebp
1351         xorl    20(%esp),%eax
1352         xorl    %edi,%ebp
1353         xorl    40(%esp),%eax
1354         roll    $1,%eax
1355         addl    %ebp,%esi
1356         rorl    $2,%ecx
1357         movl    %ebx,%ebp
1358         roll    $5,%ebp
1359         leal    3395469782(%eax,%esi,1),%eax
1360         movl    56(%esp),%esi
1361         addl    %ebp,%eax
1362         # 20_39 78 
1363         movl    %ebx,%ebp
1364         xorl    (%esp),%esi
1365         xorl    %ecx,%ebp
1366         xorl    24(%esp),%esi
1367         xorl    %edx,%ebp
1368         xorl    44(%esp),%esi
1369         roll    $1,%esi
1370         addl    %ebp,%edi
1371         rorl    $2,%ebx
1372         movl    %eax,%ebp
1373         roll    $5,%ebp
1374         leal    3395469782(%esi,%edi,1),%esi
1375         movl    60(%esp),%edi
1376         addl    %ebp,%esi
1377         # 20_39 79 
1378         movl    %eax,%ebp
1379         xorl    4(%esp),%edi
1380         xorl    %ebx,%ebp
1381         xorl    28(%esp),%edi
1382         xorl    %ecx,%ebp
1383         xorl    48(%esp),%edi
1384         roll    $1,%edi
1385         addl    %ebp,%edx
1386         rorl    $2,%eax
1387         movl    %esi,%ebp
1388         roll    $5,%ebp
1389         leal    3395469782(%edi,%edx,1),%edi
1390         addl    %ebp,%edi
1391         movl    96(%esp),%ebp
1392         movl    100(%esp),%edx
1393         addl    (%ebp),%edi
1394         addl    4(%ebp),%esi
1395         addl    8(%ebp),%eax
1396         addl    12(%ebp),%ebx
1397         addl    16(%ebp),%ecx
1398         movl    %edi,(%ebp)
1399         addl    $64,%edx
1400         movl    %esi,4(%ebp)
1401         cmpl    104(%esp),%edx
1402         movl    %eax,8(%ebp)
1403         movl    %ecx,%edi
1404         movl    %ebx,12(%ebp)
1405         movl    %edx,%esi
1406         movl    %ecx,16(%ebp)
1407         jb      L000loop
1408         addl    $76,%esp
1409         popl    %edi
1410         popl    %esi
1411         popl    %ebx
1412         popl    %ebp
1413         ret
1414 .byte   83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
1415 .byte   102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
1416 .byte   89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
1417 .byte   114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
1418
1419 .section .note.GNU-stack,"",%progbits