Added Appro's SSSE3 SHA implementations
[gnutls:gnutls.git] / lib / accelerated / x86 / macosx / sha256-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   "sha512-586.s"
41 .text
42 .globl  _sha256_block_data_order
43 .align  4
44 _sha256_block_data_order:
45 L_sha256_block_data_order_begin:
46         pushl   %ebp
47         pushl   %ebx
48         pushl   %esi
49         pushl   %edi
50         movl    20(%esp),%esi
51         movl    24(%esp),%edi
52         movl    28(%esp),%eax
53         movl    %esp,%ebx
54         call    L000pic_point
55 L000pic_point:
56         popl    %ebp
57         leal    L001K256-L000pic_point(%ebp),%ebp
58         subl    $16,%esp
59         andl    $-64,%esp
60         shll    $6,%eax
61         addl    %edi,%eax
62         movl    %esi,(%esp)
63         movl    %edi,4(%esp)
64         movl    %eax,8(%esp)
65         movl    %ebx,12(%esp)
66         movl    L__gnutls_x86_cpuid_s$non_lazy_ptr-L001K256(%ebp),%edx
67         movl    (%edx),%ecx
68         movl    4(%edx),%ebx
69         testl   $1048576,%ecx
70         jnz     L002loop
71         andl    $1073741824,%ecx
72         andl    $268435968,%ebx
73         orl     %ebx,%ecx
74         andl    $1342177280,%ecx
75         cmpl    $1342177280,%ecx
76         je      L003loop_shrd
77         subl    %edi,%eax
78         cmpl    $256,%eax
79         jae     L004unrolled
80         jmp     L002loop
81 .align  4,0x90
82 L002loop:
83         movl    (%edi),%eax
84         movl    4(%edi),%ebx
85         movl    8(%edi),%ecx
86         bswap   %eax
87         movl    12(%edi),%edx
88         bswap   %ebx
89         pushl   %eax
90         bswap   %ecx
91         pushl   %ebx
92         bswap   %edx
93         pushl   %ecx
94         pushl   %edx
95         movl    16(%edi),%eax
96         movl    20(%edi),%ebx
97         movl    24(%edi),%ecx
98         bswap   %eax
99         movl    28(%edi),%edx
100         bswap   %ebx
101         pushl   %eax
102         bswap   %ecx
103         pushl   %ebx
104         bswap   %edx
105         pushl   %ecx
106         pushl   %edx
107         movl    32(%edi),%eax
108         movl    36(%edi),%ebx
109         movl    40(%edi),%ecx
110         bswap   %eax
111         movl    44(%edi),%edx
112         bswap   %ebx
113         pushl   %eax
114         bswap   %ecx
115         pushl   %ebx
116         bswap   %edx
117         pushl   %ecx
118         pushl   %edx
119         movl    48(%edi),%eax
120         movl    52(%edi),%ebx
121         movl    56(%edi),%ecx
122         bswap   %eax
123         movl    60(%edi),%edx
124         bswap   %ebx
125         pushl   %eax
126         bswap   %ecx
127         pushl   %ebx
128         bswap   %edx
129         pushl   %ecx
130         pushl   %edx
131         addl    $64,%edi
132         leal    -36(%esp),%esp
133         movl    %edi,104(%esp)
134         movl    (%esi),%eax
135         movl    4(%esi),%ebx
136         movl    8(%esi),%ecx
137         movl    12(%esi),%edi
138         movl    %ebx,8(%esp)
139         xorl    %ecx,%ebx
140         movl    %ecx,12(%esp)
141         movl    %edi,16(%esp)
142         movl    %ebx,(%esp)
143         movl    16(%esi),%edx
144         movl    20(%esi),%ebx
145         movl    24(%esi),%ecx
146         movl    28(%esi),%edi
147         movl    %ebx,24(%esp)
148         movl    %ecx,28(%esp)
149         movl    %edi,32(%esp)
150 .align  4,0x90
151 L00500_15:
152         movl    %edx,%ecx
153         movl    24(%esp),%esi
154         rorl    $14,%ecx
155         movl    28(%esp),%edi
156         xorl    %edx,%ecx
157         xorl    %edi,%esi
158         movl    96(%esp),%ebx
159         rorl    $5,%ecx
160         andl    %edx,%esi
161         movl    %edx,20(%esp)
162         xorl    %ecx,%edx
163         addl    32(%esp),%ebx
164         xorl    %edi,%esi
165         rorl    $6,%edx
166         movl    %eax,%ecx
167         addl    %esi,%ebx
168         rorl    $9,%ecx
169         addl    %edx,%ebx
170         movl    8(%esp),%edi
171         xorl    %eax,%ecx
172         movl    %eax,4(%esp)
173         leal    -4(%esp),%esp
174         rorl    $11,%ecx
175         movl    (%ebp),%esi
176         xorl    %eax,%ecx
177         movl    20(%esp),%edx
178         xorl    %edi,%eax
179         rorl    $2,%ecx
180         addl    %esi,%ebx
181         movl    %eax,(%esp)
182         addl    %ebx,%edx
183         andl    4(%esp),%eax
184         addl    %ecx,%ebx
185         xorl    %edi,%eax
186         addl    $4,%ebp
187         addl    %ebx,%eax
188         cmpl    $3248222580,%esi
189         jne     L00500_15
190         movl    156(%esp),%ecx
191         jmp     L00616_63
192 .align  4,0x90
193 L00616_63:
194         movl    %ecx,%ebx
195         movl    104(%esp),%esi
196         rorl    $11,%ecx
197         movl    %esi,%edi
198         rorl    $2,%esi
199         xorl    %ebx,%ecx
200         shrl    $3,%ebx
201         rorl    $7,%ecx
202         xorl    %edi,%esi
203         xorl    %ecx,%ebx
204         rorl    $17,%esi
205         addl    160(%esp),%ebx
206         shrl    $10,%edi
207         addl    124(%esp),%ebx
208         movl    %edx,%ecx
209         xorl    %esi,%edi
210         movl    24(%esp),%esi
211         rorl    $14,%ecx
212         addl    %edi,%ebx
213         movl    28(%esp),%edi
214         xorl    %edx,%ecx
215         xorl    %edi,%esi
216         movl    %ebx,96(%esp)
217         rorl    $5,%ecx
218         andl    %edx,%esi
219         movl    %edx,20(%esp)
220         xorl    %ecx,%edx
221         addl    32(%esp),%ebx
222         xorl    %edi,%esi
223         rorl    $6,%edx
224         movl    %eax,%ecx
225         addl    %esi,%ebx
226         rorl    $9,%ecx
227         addl    %edx,%ebx
228         movl    8(%esp),%edi
229         xorl    %eax,%ecx
230         movl    %eax,4(%esp)
231         leal    -4(%esp),%esp
232         rorl    $11,%ecx
233         movl    (%ebp),%esi
234         xorl    %eax,%ecx
235         movl    20(%esp),%edx
236         xorl    %edi,%eax
237         rorl    $2,%ecx
238         addl    %esi,%ebx
239         movl    %eax,(%esp)
240         addl    %ebx,%edx
241         andl    4(%esp),%eax
242         addl    %ecx,%ebx
243         xorl    %edi,%eax
244         movl    156(%esp),%ecx
245         addl    $4,%ebp
246         addl    %ebx,%eax
247         cmpl    $3329325298,%esi
248         jne     L00616_63
249         movl    356(%esp),%esi
250         movl    8(%esp),%ebx
251         movl    16(%esp),%ecx
252         addl    (%esi),%eax
253         addl    4(%esi),%ebx
254         addl    8(%esi),%edi
255         addl    12(%esi),%ecx
256         movl    %eax,(%esi)
257         movl    %ebx,4(%esi)
258         movl    %edi,8(%esi)
259         movl    %ecx,12(%esi)
260         movl    24(%esp),%eax
261         movl    28(%esp),%ebx
262         movl    32(%esp),%ecx
263         movl    360(%esp),%edi
264         addl    16(%esi),%edx
265         addl    20(%esi),%eax
266         addl    24(%esi),%ebx
267         addl    28(%esi),%ecx
268         movl    %edx,16(%esi)
269         movl    %eax,20(%esi)
270         movl    %ebx,24(%esi)
271         movl    %ecx,28(%esi)
272         leal    356(%esp),%esp
273         subl    $256,%ebp
274         cmpl    8(%esp),%edi
275         jb      L002loop
276         movl    12(%esp),%esp
277         popl    %edi
278         popl    %esi
279         popl    %ebx
280         popl    %ebp
281         ret
282 .align  5,0x90
283 L003loop_shrd:
284         movl    (%edi),%eax
285         movl    4(%edi),%ebx
286         movl    8(%edi),%ecx
287         bswap   %eax
288         movl    12(%edi),%edx
289         bswap   %ebx
290         pushl   %eax
291         bswap   %ecx
292         pushl   %ebx
293         bswap   %edx
294         pushl   %ecx
295         pushl   %edx
296         movl    16(%edi),%eax
297         movl    20(%edi),%ebx
298         movl    24(%edi),%ecx
299         bswap   %eax
300         movl    28(%edi),%edx
301         bswap   %ebx
302         pushl   %eax
303         bswap   %ecx
304         pushl   %ebx
305         bswap   %edx
306         pushl   %ecx
307         pushl   %edx
308         movl    32(%edi),%eax
309         movl    36(%edi),%ebx
310         movl    40(%edi),%ecx
311         bswap   %eax
312         movl    44(%edi),%edx
313         bswap   %ebx
314         pushl   %eax
315         bswap   %ecx
316         pushl   %ebx
317         bswap   %edx
318         pushl   %ecx
319         pushl   %edx
320         movl    48(%edi),%eax
321         movl    52(%edi),%ebx
322         movl    56(%edi),%ecx
323         bswap   %eax
324         movl    60(%edi),%edx
325         bswap   %ebx
326         pushl   %eax
327         bswap   %ecx
328         pushl   %ebx
329         bswap   %edx
330         pushl   %ecx
331         pushl   %edx
332         addl    $64,%edi
333         leal    -36(%esp),%esp
334         movl    %edi,104(%esp)
335         movl    (%esi),%eax
336         movl    4(%esi),%ebx
337         movl    8(%esi),%ecx
338         movl    12(%esi),%edi
339         movl    %ebx,8(%esp)
340         xorl    %ecx,%ebx
341         movl    %ecx,12(%esp)
342         movl    %edi,16(%esp)
343         movl    %ebx,(%esp)
344         movl    16(%esi),%edx
345         movl    20(%esi),%ebx
346         movl    24(%esi),%ecx
347         movl    28(%esi),%edi
348         movl    %ebx,24(%esp)
349         movl    %ecx,28(%esp)
350         movl    %edi,32(%esp)
351 .align  4,0x90
352 L00700_15_shrd:
353         movl    %edx,%ecx
354         movl    24(%esp),%esi
355         shrdl   $14,%ecx,%ecx
356         movl    28(%esp),%edi
357         xorl    %edx,%ecx
358         xorl    %edi,%esi
359         movl    96(%esp),%ebx
360         shrdl   $5,%ecx,%ecx
361         andl    %edx,%esi
362         movl    %edx,20(%esp)
363         xorl    %ecx,%edx
364         addl    32(%esp),%ebx
365         xorl    %edi,%esi
366         shrdl   $6,%edx,%edx
367         movl    %eax,%ecx
368         addl    %esi,%ebx
369         shrdl   $9,%ecx,%ecx
370         addl    %edx,%ebx
371         movl    8(%esp),%edi
372         xorl    %eax,%ecx
373         movl    %eax,4(%esp)
374         leal    -4(%esp),%esp
375         shrdl   $11,%ecx,%ecx
376         movl    (%ebp),%esi
377         xorl    %eax,%ecx
378         movl    20(%esp),%edx
379         xorl    %edi,%eax
380         shrdl   $2,%ecx,%ecx
381         addl    %esi,%ebx
382         movl    %eax,(%esp)
383         addl    %ebx,%edx
384         andl    4(%esp),%eax
385         addl    %ecx,%ebx
386         xorl    %edi,%eax
387         addl    $4,%ebp
388         addl    %ebx,%eax
389         cmpl    $3248222580,%esi
390         jne     L00700_15_shrd
391         movl    156(%esp),%ecx
392         jmp     L00816_63_shrd
393 .align  4,0x90
394 L00816_63_shrd:
395         movl    %ecx,%ebx
396         movl    104(%esp),%esi
397         shrdl   $11,%ecx,%ecx
398         movl    %esi,%edi
399         shrdl   $2,%esi,%esi
400         xorl    %ebx,%ecx
401         shrl    $3,%ebx
402         shrdl   $7,%ecx,%ecx
403         xorl    %edi,%esi
404         xorl    %ecx,%ebx
405         shrdl   $17,%esi,%esi
406         addl    160(%esp),%ebx
407         shrl    $10,%edi
408         addl    124(%esp),%ebx
409         movl    %edx,%ecx
410         xorl    %esi,%edi
411         movl    24(%esp),%esi
412         shrdl   $14,%ecx,%ecx
413         addl    %edi,%ebx
414         movl    28(%esp),%edi
415         xorl    %edx,%ecx
416         xorl    %edi,%esi
417         movl    %ebx,96(%esp)
418         shrdl   $5,%ecx,%ecx
419         andl    %edx,%esi
420         movl    %edx,20(%esp)
421         xorl    %ecx,%edx
422         addl    32(%esp),%ebx
423         xorl    %edi,%esi
424         shrdl   $6,%edx,%edx
425         movl    %eax,%ecx
426         addl    %esi,%ebx
427         shrdl   $9,%ecx,%ecx
428         addl    %edx,%ebx
429         movl    8(%esp),%edi
430         xorl    %eax,%ecx
431         movl    %eax,4(%esp)
432         leal    -4(%esp),%esp
433         shrdl   $11,%ecx,%ecx
434         movl    (%ebp),%esi
435         xorl    %eax,%ecx
436         movl    20(%esp),%edx
437         xorl    %edi,%eax
438         shrdl   $2,%ecx,%ecx
439         addl    %esi,%ebx
440         movl    %eax,(%esp)
441         addl    %ebx,%edx
442         andl    4(%esp),%eax
443         addl    %ecx,%ebx
444         xorl    %edi,%eax
445         movl    156(%esp),%ecx
446         addl    $4,%ebp
447         addl    %ebx,%eax
448         cmpl    $3329325298,%esi
449         jne     L00816_63_shrd
450         movl    356(%esp),%esi
451         movl    8(%esp),%ebx
452         movl    16(%esp),%ecx
453         addl    (%esi),%eax
454         addl    4(%esi),%ebx
455         addl    8(%esi),%edi
456         addl    12(%esi),%ecx
457         movl    %eax,(%esi)
458         movl    %ebx,4(%esi)
459         movl    %edi,8(%esi)
460         movl    %ecx,12(%esi)
461         movl    24(%esp),%eax
462         movl    28(%esp),%ebx
463         movl    32(%esp),%ecx
464         movl    360(%esp),%edi
465         addl    16(%esi),%edx
466         addl    20(%esi),%eax
467         addl    24(%esi),%ebx
468         addl    28(%esi),%ecx
469         movl    %edx,16(%esi)
470         movl    %eax,20(%esi)
471         movl    %ebx,24(%esi)
472         movl    %ecx,28(%esi)
473         leal    356(%esp),%esp
474         subl    $256,%ebp
475         cmpl    8(%esp),%edi
476         jb      L003loop_shrd
477         movl    12(%esp),%esp
478         popl    %edi
479         popl    %esi
480         popl    %ebx
481         popl    %ebp
482         ret
483 .align  6,0x90
484 L001K256:
485 .long   1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
486 .long   66051,67438087,134810123,202182159
487 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
488 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
489 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
490 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
491 .byte   62,0
492 .align  4,0x90
493 L004unrolled:
494         leal    -96(%esp),%esp
495         movl    (%esi),%eax
496         movl    4(%esi),%ebp
497         movl    8(%esi),%ecx
498         movl    12(%esi),%ebx
499         movl    %ebp,4(%esp)
500         xorl    %ecx,%ebp
501         movl    %ecx,8(%esp)
502         movl    %ebx,12(%esp)
503         movl    16(%esi),%edx
504         movl    20(%esi),%ebx
505         movl    24(%esi),%ecx
506         movl    28(%esi),%esi
507         movl    %ebx,20(%esp)
508         movl    %ecx,24(%esp)
509         movl    %esi,28(%esp)
510         jmp     L009grand_loop
511 .align  4,0x90
512 L009grand_loop:
513         movl    (%edi),%ebx
514         movl    4(%edi),%ecx
515         bswap   %ebx
516         movl    8(%edi),%esi
517         bswap   %ecx
518         movl    %ebx,32(%esp)
519         bswap   %esi
520         movl    %ecx,36(%esp)
521         movl    %esi,40(%esp)
522         movl    12(%edi),%ebx
523         movl    16(%edi),%ecx
524         bswap   %ebx
525         movl    20(%edi),%esi
526         bswap   %ecx
527         movl    %ebx,44(%esp)
528         bswap   %esi
529         movl    %ecx,48(%esp)
530         movl    %esi,52(%esp)
531         movl    24(%edi),%ebx
532         movl    28(%edi),%ecx
533         bswap   %ebx
534         movl    32(%edi),%esi
535         bswap   %ecx
536         movl    %ebx,56(%esp)
537         bswap   %esi
538         movl    %ecx,60(%esp)
539         movl    %esi,64(%esp)
540         movl    36(%edi),%ebx
541         movl    40(%edi),%ecx
542         bswap   %ebx
543         movl    44(%edi),%esi
544         bswap   %ecx
545         movl    %ebx,68(%esp)
546         bswap   %esi
547         movl    %ecx,72(%esp)
548         movl    %esi,76(%esp)
549         movl    48(%edi),%ebx
550         movl    52(%edi),%ecx
551         bswap   %ebx
552         movl    56(%edi),%esi
553         bswap   %ecx
554         movl    %ebx,80(%esp)
555         bswap   %esi
556         movl    %ecx,84(%esp)
557         movl    %esi,88(%esp)
558         movl    60(%edi),%ebx
559         addl    $64,%edi
560         bswap   %ebx
561         movl    %edi,100(%esp)
562         movl    %ebx,92(%esp)
563         movl    %edx,%ecx
564         movl    20(%esp),%esi
565         rorl    $14,%edx
566         movl    24(%esp),%edi
567         xorl    %ecx,%edx
568         movl    32(%esp),%ebx
569         xorl    %edi,%esi
570         rorl    $5,%edx
571         andl    %ecx,%esi
572         movl    %ecx,16(%esp)
573         xorl    %ecx,%edx
574         addl    28(%esp),%ebx
575         xorl    %esi,%edi
576         rorl    $6,%edx
577         movl    %eax,%ecx
578         addl    %edi,%ebx
579         rorl    $9,%ecx
580         movl    %eax,%esi
581         movl    4(%esp),%edi
582         xorl    %eax,%ecx
583         movl    %eax,(%esp)
584         xorl    %edi,%eax
585         rorl    $11,%ecx
586         andl    %eax,%ebp
587         leal    1116352408(%ebx,%edx,1),%edx
588         xorl    %esi,%ecx
589         xorl    %edi,%ebp
590         rorl    $2,%ecx
591         addl    %edx,%ebp
592         addl    12(%esp),%edx
593         addl    %ecx,%ebp
594         movl    %edx,%esi
595         movl    16(%esp),%ecx
596         rorl    $14,%edx
597         movl    20(%esp),%edi
598         xorl    %esi,%edx
599         movl    36(%esp),%ebx
600         xorl    %edi,%ecx
601         rorl    $5,%edx
602         andl    %esi,%ecx
603         movl    %esi,12(%esp)
604         xorl    %esi,%edx
605         addl    24(%esp),%ebx
606         xorl    %ecx,%edi
607         rorl    $6,%edx
608         movl    %ebp,%esi
609         addl    %edi,%ebx
610         rorl    $9,%esi
611         movl    %ebp,%ecx
612         movl    (%esp),%edi
613         xorl    %ebp,%esi
614         movl    %ebp,28(%esp)
615         xorl    %edi,%ebp
616         rorl    $11,%esi
617         andl    %ebp,%eax
618         leal    1899447441(%ebx,%edx,1),%edx
619         xorl    %ecx,%esi
620         xorl    %edi,%eax
621         rorl    $2,%esi
622         addl    %edx,%eax
623         addl    8(%esp),%edx
624         addl    %esi,%eax
625         movl    %edx,%ecx
626         movl    12(%esp),%esi
627         rorl    $14,%edx
628         movl    16(%esp),%edi
629         xorl    %ecx,%edx
630         movl    40(%esp),%ebx
631         xorl    %edi,%esi
632         rorl    $5,%edx
633         andl    %ecx,%esi
634         movl    %ecx,8(%esp)
635         xorl    %ecx,%edx
636         addl    20(%esp),%ebx
637         xorl    %esi,%edi
638         rorl    $6,%edx
639         movl    %eax,%ecx
640         addl    %edi,%ebx
641         rorl    $9,%ecx
642         movl    %eax,%esi
643         movl    28(%esp),%edi
644         xorl    %eax,%ecx
645         movl    %eax,24(%esp)
646         xorl    %edi,%eax
647         rorl    $11,%ecx
648         andl    %eax,%ebp
649         leal    3049323471(%ebx,%edx,1),%edx
650         xorl    %esi,%ecx
651         xorl    %edi,%ebp
652         rorl    $2,%ecx
653         addl    %edx,%ebp
654         addl    4(%esp),%edx
655         addl    %ecx,%ebp
656         movl    %edx,%esi
657         movl    8(%esp),%ecx
658         rorl    $14,%edx
659         movl    12(%esp),%edi
660         xorl    %esi,%edx
661         movl    44(%esp),%ebx
662         xorl    %edi,%ecx
663         rorl    $5,%edx
664         andl    %esi,%ecx
665         movl    %esi,4(%esp)
666         xorl    %esi,%edx
667         addl    16(%esp),%ebx
668         xorl    %ecx,%edi
669         rorl    $6,%edx
670         movl    %ebp,%esi
671         addl    %edi,%ebx
672         rorl    $9,%esi
673         movl    %ebp,%ecx
674         movl    24(%esp),%edi
675         xorl    %ebp,%esi
676         movl    %ebp,20(%esp)
677         xorl    %edi,%ebp
678         rorl    $11,%esi
679         andl    %ebp,%eax
680         leal    3921009573(%ebx,%edx,1),%edx
681         xorl    %ecx,%esi
682         xorl    %edi,%eax
683         rorl    $2,%esi
684         addl    %edx,%eax
685         addl    (%esp),%edx
686         addl    %esi,%eax
687         movl    %edx,%ecx
688         movl    4(%esp),%esi
689         rorl    $14,%edx
690         movl    8(%esp),%edi
691         xorl    %ecx,%edx
692         movl    48(%esp),%ebx
693         xorl    %edi,%esi
694         rorl    $5,%edx
695         andl    %ecx,%esi
696         movl    %ecx,(%esp)
697         xorl    %ecx,%edx
698         addl    12(%esp),%ebx
699         xorl    %esi,%edi
700         rorl    $6,%edx
701         movl    %eax,%ecx
702         addl    %edi,%ebx
703         rorl    $9,%ecx
704         movl    %eax,%esi
705         movl    20(%esp),%edi
706         xorl    %eax,%ecx
707         movl    %eax,16(%esp)
708         xorl    %edi,%eax
709         rorl    $11,%ecx
710         andl    %eax,%ebp
711         leal    961987163(%ebx,%edx,1),%edx
712         xorl    %esi,%ecx
713         xorl    %edi,%ebp
714         rorl    $2,%ecx
715         addl    %edx,%ebp
716         addl    28(%esp),%edx
717         addl    %ecx,%ebp
718         movl    %edx,%esi
719         movl    (%esp),%ecx
720         rorl    $14,%edx
721         movl    4(%esp),%edi
722         xorl    %esi,%edx
723         movl    52(%esp),%ebx
724         xorl    %edi,%ecx
725         rorl    $5,%edx
726         andl    %esi,%ecx
727         movl    %esi,28(%esp)
728         xorl    %esi,%edx
729         addl    8(%esp),%ebx
730         xorl    %ecx,%edi
731         rorl    $6,%edx
732         movl    %ebp,%esi
733         addl    %edi,%ebx
734         rorl    $9,%esi
735         movl    %ebp,%ecx
736         movl    16(%esp),%edi
737         xorl    %ebp,%esi
738         movl    %ebp,12(%esp)
739         xorl    %edi,%ebp
740         rorl    $11,%esi
741         andl    %ebp,%eax
742         leal    1508970993(%ebx,%edx,1),%edx
743         xorl    %ecx,%esi
744         xorl    %edi,%eax
745         rorl    $2,%esi
746         addl    %edx,%eax
747         addl    24(%esp),%edx
748         addl    %esi,%eax
749         movl    %edx,%ecx
750         movl    28(%esp),%esi
751         rorl    $14,%edx
752         movl    (%esp),%edi
753         xorl    %ecx,%edx
754         movl    56(%esp),%ebx
755         xorl    %edi,%esi
756         rorl    $5,%edx
757         andl    %ecx,%esi
758         movl    %ecx,24(%esp)
759         xorl    %ecx,%edx
760         addl    4(%esp),%ebx
761         xorl    %esi,%edi
762         rorl    $6,%edx
763         movl    %eax,%ecx
764         addl    %edi,%ebx
765         rorl    $9,%ecx
766         movl    %eax,%esi
767         movl    12(%esp),%edi
768         xorl    %eax,%ecx
769         movl    %eax,8(%esp)
770         xorl    %edi,%eax
771         rorl    $11,%ecx
772         andl    %eax,%ebp
773         leal    2453635748(%ebx,%edx,1),%edx
774         xorl    %esi,%ecx
775         xorl    %edi,%ebp
776         rorl    $2,%ecx
777         addl    %edx,%ebp
778         addl    20(%esp),%edx
779         addl    %ecx,%ebp
780         movl    %edx,%esi
781         movl    24(%esp),%ecx
782         rorl    $14,%edx
783         movl    28(%esp),%edi
784         xorl    %esi,%edx
785         movl    60(%esp),%ebx
786         xorl    %edi,%ecx
787         rorl    $5,%edx
788         andl    %esi,%ecx
789         movl    %esi,20(%esp)
790         xorl    %esi,%edx
791         addl    (%esp),%ebx
792         xorl    %ecx,%edi
793         rorl    $6,%edx
794         movl    %ebp,%esi
795         addl    %edi,%ebx
796         rorl    $9,%esi
797         movl    %ebp,%ecx
798         movl    8(%esp),%edi
799         xorl    %ebp,%esi
800         movl    %ebp,4(%esp)
801         xorl    %edi,%ebp
802         rorl    $11,%esi
803         andl    %ebp,%eax
804         leal    2870763221(%ebx,%edx,1),%edx
805         xorl    %ecx,%esi
806         xorl    %edi,%eax
807         rorl    $2,%esi
808         addl    %edx,%eax
809         addl    16(%esp),%edx
810         addl    %esi,%eax
811         movl    %edx,%ecx
812         movl    20(%esp),%esi
813         rorl    $14,%edx
814         movl    24(%esp),%edi
815         xorl    %ecx,%edx
816         movl    64(%esp),%ebx
817         xorl    %edi,%esi
818         rorl    $5,%edx
819         andl    %ecx,%esi
820         movl    %ecx,16(%esp)
821         xorl    %ecx,%edx
822         addl    28(%esp),%ebx
823         xorl    %esi,%edi
824         rorl    $6,%edx
825         movl    %eax,%ecx
826         addl    %edi,%ebx
827         rorl    $9,%ecx
828         movl    %eax,%esi
829         movl    4(%esp),%edi
830         xorl    %eax,%ecx
831         movl    %eax,(%esp)
832         xorl    %edi,%eax
833         rorl    $11,%ecx
834         andl    %eax,%ebp
835         leal    3624381080(%ebx,%edx,1),%edx
836         xorl    %esi,%ecx
837         xorl    %edi,%ebp
838         rorl    $2,%ecx
839         addl    %edx,%ebp
840         addl    12(%esp),%edx
841         addl    %ecx,%ebp
842         movl    %edx,%esi
843         movl    16(%esp),%ecx
844         rorl    $14,%edx
845         movl    20(%esp),%edi
846         xorl    %esi,%edx
847         movl    68(%esp),%ebx
848         xorl    %edi,%ecx
849         rorl    $5,%edx
850         andl    %esi,%ecx
851         movl    %esi,12(%esp)
852         xorl    %esi,%edx
853         addl    24(%esp),%ebx
854         xorl    %ecx,%edi
855         rorl    $6,%edx
856         movl    %ebp,%esi
857         addl    %edi,%ebx
858         rorl    $9,%esi
859         movl    %ebp,%ecx
860         movl    (%esp),%edi
861         xorl    %ebp,%esi
862         movl    %ebp,28(%esp)
863         xorl    %edi,%ebp
864         rorl    $11,%esi
865         andl    %ebp,%eax
866         leal    310598401(%ebx,%edx,1),%edx
867         xorl    %ecx,%esi
868         xorl    %edi,%eax
869         rorl    $2,%esi
870         addl    %edx,%eax
871         addl    8(%esp),%edx
872         addl    %esi,%eax
873         movl    %edx,%ecx
874         movl    12(%esp),%esi
875         rorl    $14,%edx
876         movl    16(%esp),%edi
877         xorl    %ecx,%edx
878         movl    72(%esp),%ebx
879         xorl    %edi,%esi
880         rorl    $5,%edx
881         andl    %ecx,%esi
882         movl    %ecx,8(%esp)
883         xorl    %ecx,%edx
884         addl    20(%esp),%ebx
885         xorl    %esi,%edi
886         rorl    $6,%edx
887         movl    %eax,%ecx
888         addl    %edi,%ebx
889         rorl    $9,%ecx
890         movl    %eax,%esi
891         movl    28(%esp),%edi
892         xorl    %eax,%ecx
893         movl    %eax,24(%esp)
894         xorl    %edi,%eax
895         rorl    $11,%ecx
896         andl    %eax,%ebp
897         leal    607225278(%ebx,%edx,1),%edx
898         xorl    %esi,%ecx
899         xorl    %edi,%ebp
900         rorl    $2,%ecx
901         addl    %edx,%ebp
902         addl    4(%esp),%edx
903         addl    %ecx,%ebp
904         movl    %edx,%esi
905         movl    8(%esp),%ecx
906         rorl    $14,%edx
907         movl    12(%esp),%edi
908         xorl    %esi,%edx
909         movl    76(%esp),%ebx
910         xorl    %edi,%ecx
911         rorl    $5,%edx
912         andl    %esi,%ecx
913         movl    %esi,4(%esp)
914         xorl    %esi,%edx
915         addl    16(%esp),%ebx
916         xorl    %ecx,%edi
917         rorl    $6,%edx
918         movl    %ebp,%esi
919         addl    %edi,%ebx
920         rorl    $9,%esi
921         movl    %ebp,%ecx
922         movl    24(%esp),%edi
923         xorl    %ebp,%esi
924         movl    %ebp,20(%esp)
925         xorl    %edi,%ebp
926         rorl    $11,%esi
927         andl    %ebp,%eax
928         leal    1426881987(%ebx,%edx,1),%edx
929         xorl    %ecx,%esi
930         xorl    %edi,%eax
931         rorl    $2,%esi
932         addl    %edx,%eax
933         addl    (%esp),%edx
934         addl    %esi,%eax
935         movl    %edx,%ecx
936         movl    4(%esp),%esi
937         rorl    $14,%edx
938         movl    8(%esp),%edi
939         xorl    %ecx,%edx
940         movl    80(%esp),%ebx
941         xorl    %edi,%esi
942         rorl    $5,%edx
943         andl    %ecx,%esi
944         movl    %ecx,(%esp)
945         xorl    %ecx,%edx
946         addl    12(%esp),%ebx
947         xorl    %esi,%edi
948         rorl    $6,%edx
949         movl    %eax,%ecx
950         addl    %edi,%ebx
951         rorl    $9,%ecx
952         movl    %eax,%esi
953         movl    20(%esp),%edi
954         xorl    %eax,%ecx
955         movl    %eax,16(%esp)
956         xorl    %edi,%eax
957         rorl    $11,%ecx
958         andl    %eax,%ebp
959         leal    1925078388(%ebx,%edx,1),%edx
960         xorl    %esi,%ecx
961         xorl    %edi,%ebp
962         rorl    $2,%ecx
963         addl    %edx,%ebp
964         addl    28(%esp),%edx
965         addl    %ecx,%ebp
966         movl    %edx,%esi
967         movl    (%esp),%ecx
968         rorl    $14,%edx
969         movl    4(%esp),%edi
970         xorl    %esi,%edx
971         movl    84(%esp),%ebx
972         xorl    %edi,%ecx
973         rorl    $5,%edx
974         andl    %esi,%ecx
975         movl    %esi,28(%esp)
976         xorl    %esi,%edx
977         addl    8(%esp),%ebx
978         xorl    %ecx,%edi
979         rorl    $6,%edx
980         movl    %ebp,%esi
981         addl    %edi,%ebx
982         rorl    $9,%esi
983         movl    %ebp,%ecx
984         movl    16(%esp),%edi
985         xorl    %ebp,%esi
986         movl    %ebp,12(%esp)
987         xorl    %edi,%ebp
988         rorl    $11,%esi
989         andl    %ebp,%eax
990         leal    2162078206(%ebx,%edx,1),%edx
991         xorl    %ecx,%esi
992         xorl    %edi,%eax
993         rorl    $2,%esi
994         addl    %edx,%eax
995         addl    24(%esp),%edx
996         addl    %esi,%eax
997         movl    %edx,%ecx
998         movl    28(%esp),%esi
999         rorl    $14,%edx
1000         movl    (%esp),%edi
1001         xorl    %ecx,%edx
1002         movl    88(%esp),%ebx
1003         xorl    %edi,%esi
1004         rorl    $5,%edx
1005         andl    %ecx,%esi
1006         movl    %ecx,24(%esp)
1007         xorl    %ecx,%edx
1008         addl    4(%esp),%ebx
1009         xorl    %esi,%edi
1010         rorl    $6,%edx
1011         movl    %eax,%ecx
1012         addl    %edi,%ebx
1013         rorl    $9,%ecx
1014         movl    %eax,%esi
1015         movl    12(%esp),%edi
1016         xorl    %eax,%ecx
1017         movl    %eax,8(%esp)
1018         xorl    %edi,%eax
1019         rorl    $11,%ecx
1020         andl    %eax,%ebp
1021         leal    2614888103(%ebx,%edx,1),%edx
1022         xorl    %esi,%ecx
1023         xorl    %edi,%ebp
1024         rorl    $2,%ecx
1025         addl    %edx,%ebp
1026         addl    20(%esp),%edx
1027         addl    %ecx,%ebp
1028         movl    %edx,%esi
1029         movl    24(%esp),%ecx
1030         rorl    $14,%edx
1031         movl    28(%esp),%edi
1032         xorl    %esi,%edx
1033         movl    92(%esp),%ebx
1034         xorl    %edi,%ecx
1035         rorl    $5,%edx
1036         andl    %esi,%ecx
1037         movl    %esi,20(%esp)
1038         xorl    %esi,%edx
1039         addl    (%esp),%ebx
1040         xorl    %ecx,%edi
1041         rorl    $6,%edx
1042         movl    %ebp,%esi
1043         addl    %edi,%ebx
1044         rorl    $9,%esi
1045         movl    %ebp,%ecx
1046         movl    8(%esp),%edi
1047         xorl    %ebp,%esi
1048         movl    %ebp,4(%esp)
1049         xorl    %edi,%ebp
1050         rorl    $11,%esi
1051         andl    %ebp,%eax
1052         leal    3248222580(%ebx,%edx,1),%edx
1053         xorl    %ecx,%esi
1054         xorl    %edi,%eax
1055         movl    36(%esp),%ecx
1056         rorl    $2,%esi
1057         addl    %edx,%eax
1058         addl    16(%esp),%edx
1059         addl    %esi,%eax
1060         movl    88(%esp),%esi
1061         movl    %ecx,%ebx
1062         rorl    $11,%ecx
1063         movl    %esi,%edi
1064         rorl    $2,%esi
1065         xorl    %ebx,%ecx
1066         shrl    $3,%ebx
1067         rorl    $7,%ecx
1068         xorl    %edi,%esi
1069         xorl    %ecx,%ebx
1070         rorl    $17,%esi
1071         addl    32(%esp),%ebx
1072         shrl    $10,%edi
1073         addl    68(%esp),%ebx
1074         movl    %edx,%ecx
1075         xorl    %esi,%edi
1076         movl    20(%esp),%esi
1077         rorl    $14,%edx
1078         addl    %edi,%ebx
1079         movl    24(%esp),%edi
1080         xorl    %ecx,%edx
1081         movl    %ebx,32(%esp)
1082         xorl    %edi,%esi
1083         rorl    $5,%edx
1084         andl    %ecx,%esi
1085         movl    %ecx,16(%esp)
1086         xorl    %ecx,%edx
1087         addl    28(%esp),%ebx
1088         xorl    %esi,%edi
1089         rorl    $6,%edx
1090         movl    %eax,%ecx
1091         addl    %edi,%ebx
1092         rorl    $9,%ecx
1093         movl    %eax,%esi
1094         movl    4(%esp),%edi
1095         xorl    %eax,%ecx
1096         movl    %eax,(%esp)
1097         xorl    %edi,%eax
1098         rorl    $11,%ecx
1099         andl    %eax,%ebp
1100         leal    3835390401(%ebx,%edx,1),%edx
1101         xorl    %esi,%ecx
1102         xorl    %edi,%ebp
1103         movl    40(%esp),%esi
1104         rorl    $2,%ecx
1105         addl    %edx,%ebp
1106         addl    12(%esp),%edx
1107         addl    %ecx,%ebp
1108         movl    92(%esp),%ecx
1109         movl    %esi,%ebx
1110         rorl    $11,%esi
1111         movl    %ecx,%edi
1112         rorl    $2,%ecx
1113         xorl    %ebx,%esi
1114         shrl    $3,%ebx
1115         rorl    $7,%esi
1116         xorl    %edi,%ecx
1117         xorl    %esi,%ebx
1118         rorl    $17,%ecx
1119         addl    36(%esp),%ebx
1120         shrl    $10,%edi
1121         addl    72(%esp),%ebx
1122         movl    %edx,%esi
1123         xorl    %ecx,%edi
1124         movl    16(%esp),%ecx
1125         rorl    $14,%edx
1126         addl    %edi,%ebx
1127         movl    20(%esp),%edi
1128         xorl    %esi,%edx
1129         movl    %ebx,36(%esp)
1130         xorl    %edi,%ecx
1131         rorl    $5,%edx
1132         andl    %esi,%ecx
1133         movl    %esi,12(%esp)
1134         xorl    %esi,%edx
1135         addl    24(%esp),%ebx
1136         xorl    %ecx,%edi
1137         rorl    $6,%edx
1138         movl    %ebp,%esi
1139         addl    %edi,%ebx
1140         rorl    $9,%esi
1141         movl    %ebp,%ecx
1142         movl    (%esp),%edi
1143         xorl    %ebp,%esi
1144         movl    %ebp,28(%esp)
1145         xorl    %edi,%ebp
1146         rorl    $11,%esi
1147         andl    %ebp,%eax
1148         leal    4022224774(%ebx,%edx,1),%edx
1149         xorl    %ecx,%esi
1150         xorl    %edi,%eax
1151         movl    44(%esp),%ecx
1152         rorl    $2,%esi
1153         addl    %edx,%eax
1154         addl    8(%esp),%edx
1155         addl    %esi,%eax
1156         movl    32(%esp),%esi
1157         movl    %ecx,%ebx
1158         rorl    $11,%ecx
1159         movl    %esi,%edi
1160         rorl    $2,%esi
1161         xorl    %ebx,%ecx
1162         shrl    $3,%ebx
1163         rorl    $7,%ecx
1164         xorl    %edi,%esi
1165         xorl    %ecx,%ebx
1166         rorl    $17,%esi
1167         addl    40(%esp),%ebx
1168         shrl    $10,%edi
1169         addl    76(%esp),%ebx
1170         movl    %edx,%ecx
1171         xorl    %esi,%edi
1172         movl    12(%esp),%esi
1173         rorl    $14,%edx
1174         addl    %edi,%ebx
1175         movl    16(%esp),%edi
1176         xorl    %ecx,%edx
1177         movl    %ebx,40(%esp)
1178         xorl    %edi,%esi
1179         rorl    $5,%edx
1180         andl    %ecx,%esi
1181         movl    %ecx,8(%esp)
1182         xorl    %ecx,%edx
1183         addl    20(%esp),%ebx
1184         xorl    %esi,%edi
1185         rorl    $6,%edx
1186         movl    %eax,%ecx
1187         addl    %edi,%ebx
1188         rorl    $9,%ecx
1189         movl    %eax,%esi
1190         movl    28(%esp),%edi
1191         xorl    %eax,%ecx
1192         movl    %eax,24(%esp)
1193         xorl    %edi,%eax
1194         rorl    $11,%ecx
1195         andl    %eax,%ebp
1196         leal    264347078(%ebx,%edx,1),%edx
1197         xorl    %esi,%ecx
1198         xorl    %edi,%ebp
1199         movl    48(%esp),%esi
1200         rorl    $2,%ecx
1201         addl    %edx,%ebp
1202         addl    4(%esp),%edx
1203         addl    %ecx,%ebp
1204         movl    36(%esp),%ecx
1205         movl    %esi,%ebx
1206         rorl    $11,%esi
1207         movl    %ecx,%edi
1208         rorl    $2,%ecx
1209         xorl    %ebx,%esi
1210         shrl    $3,%ebx
1211         rorl    $7,%esi
1212         xorl    %edi,%ecx
1213         xorl    %esi,%ebx
1214         rorl    $17,%ecx
1215         addl    44(%esp),%ebx
1216         shrl    $10,%edi
1217         addl    80(%esp),%ebx
1218         movl    %edx,%esi
1219         xorl    %ecx,%edi
1220         movl    8(%esp),%ecx
1221         rorl    $14,%edx
1222         addl    %edi,%ebx
1223         movl    12(%esp),%edi
1224         xorl    %esi,%edx
1225         movl    %ebx,44(%esp)
1226         xorl    %edi,%ecx
1227         rorl    $5,%edx
1228         andl    %esi,%ecx
1229         movl    %esi,4(%esp)
1230         xorl    %esi,%edx
1231         addl    16(%esp),%ebx
1232         xorl    %ecx,%edi
1233         rorl    $6,%edx
1234         movl    %ebp,%esi
1235         addl    %edi,%ebx
1236         rorl    $9,%esi
1237         movl    %ebp,%ecx
1238         movl    24(%esp),%edi
1239         xorl    %ebp,%esi
1240         movl    %ebp,20(%esp)
1241         xorl    %edi,%ebp
1242         rorl    $11,%esi
1243         andl    %ebp,%eax
1244         leal    604807628(%ebx,%edx,1),%edx
1245         xorl    %ecx,%esi
1246         xorl    %edi,%eax
1247         movl    52(%esp),%ecx
1248         rorl    $2,%esi
1249         addl    %edx,%eax
1250         addl    (%esp),%edx
1251         addl    %esi,%eax
1252         movl    40(%esp),%esi
1253         movl    %ecx,%ebx
1254         rorl    $11,%ecx
1255         movl    %esi,%edi
1256         rorl    $2,%esi
1257         xorl    %ebx,%ecx
1258         shrl    $3,%ebx
1259         rorl    $7,%ecx
1260         xorl    %edi,%esi
1261         xorl    %ecx,%ebx
1262         rorl    $17,%esi
1263         addl    48(%esp),%ebx
1264         shrl    $10,%edi
1265         addl    84(%esp),%ebx
1266         movl    %edx,%ecx
1267         xorl    %esi,%edi
1268         movl    4(%esp),%esi
1269         rorl    $14,%edx
1270         addl    %edi,%ebx
1271         movl    8(%esp),%edi
1272         xorl    %ecx,%edx
1273         movl    %ebx,48(%esp)
1274         xorl    %edi,%esi
1275         rorl    $5,%edx
1276         andl    %ecx,%esi
1277         movl    %ecx,(%esp)
1278         xorl    %ecx,%edx
1279         addl    12(%esp),%ebx
1280         xorl    %esi,%edi
1281         rorl    $6,%edx
1282         movl    %eax,%ecx
1283         addl    %edi,%ebx
1284         rorl    $9,%ecx
1285         movl    %eax,%esi
1286         movl    20(%esp),%edi
1287         xorl    %eax,%ecx
1288         movl    %eax,16(%esp)
1289         xorl    %edi,%eax
1290         rorl    $11,%ecx
1291         andl    %eax,%ebp
1292         leal    770255983(%ebx,%edx,1),%edx
1293         xorl    %esi,%ecx
1294         xorl    %edi,%ebp
1295         movl    56(%esp),%esi
1296         rorl    $2,%ecx
1297         addl    %edx,%ebp
1298         addl    28(%esp),%edx
1299         addl    %ecx,%ebp
1300         movl    44(%esp),%ecx
1301         movl    %esi,%ebx
1302         rorl    $11,%esi
1303         movl    %ecx,%edi
1304         rorl    $2,%ecx
1305         xorl    %ebx,%esi
1306         shrl    $3,%ebx
1307         rorl    $7,%esi
1308         xorl    %edi,%ecx
1309         xorl    %esi,%ebx
1310         rorl    $17,%ecx
1311         addl    52(%esp),%ebx
1312         shrl    $10,%edi
1313         addl    88(%esp),%ebx
1314         movl    %edx,%esi
1315         xorl    %ecx,%edi
1316         movl    (%esp),%ecx
1317         rorl    $14,%edx
1318         addl    %edi,%ebx
1319         movl    4(%esp),%edi
1320         xorl    %esi,%edx
1321         movl    %ebx,52(%esp)
1322         xorl    %edi,%ecx
1323         rorl    $5,%edx
1324         andl    %esi,%ecx
1325         movl    %esi,28(%esp)
1326         xorl    %esi,%edx
1327         addl    8(%esp),%ebx
1328         xorl    %ecx,%edi
1329         rorl    $6,%edx
1330         movl    %ebp,%esi
1331         addl    %edi,%ebx
1332         rorl    $9,%esi
1333         movl    %ebp,%ecx
1334         movl    16(%esp),%edi
1335         xorl    %ebp,%esi
1336         movl    %ebp,12(%esp)
1337         xorl    %edi,%ebp
1338         rorl    $11,%esi
1339         andl    %ebp,%eax
1340         leal    1249150122(%ebx,%edx,1),%edx
1341         xorl    %ecx,%esi
1342         xorl    %edi,%eax
1343         movl    60(%esp),%ecx
1344         rorl    $2,%esi
1345         addl    %edx,%eax
1346         addl    24(%esp),%edx
1347         addl    %esi,%eax
1348         movl    48(%esp),%esi
1349         movl    %ecx,%ebx
1350         rorl    $11,%ecx
1351         movl    %esi,%edi
1352         rorl    $2,%esi
1353         xorl    %ebx,%ecx
1354         shrl    $3,%ebx
1355         rorl    $7,%ecx
1356         xorl    %edi,%esi
1357         xorl    %ecx,%ebx
1358         rorl    $17,%esi
1359         addl    56(%esp),%ebx
1360         shrl    $10,%edi
1361         addl    92(%esp),%ebx
1362         movl    %edx,%ecx
1363         xorl    %esi,%edi
1364         movl    28(%esp),%esi
1365         rorl    $14,%edx
1366         addl    %edi,%ebx
1367         movl    (%esp),%edi
1368         xorl    %ecx,%edx
1369         movl    %ebx,56(%esp)
1370         xorl    %edi,%esi
1371         rorl    $5,%edx
1372         andl    %ecx,%esi
1373         movl    %ecx,24(%esp)
1374         xorl    %ecx,%edx
1375         addl    4(%esp),%ebx
1376         xorl    %esi,%edi
1377         rorl    $6,%edx
1378         movl    %eax,%ecx
1379         addl    %edi,%ebx
1380         rorl    $9,%ecx
1381         movl    %eax,%esi
1382         movl    12(%esp),%edi
1383         xorl    %eax,%ecx
1384         movl    %eax,8(%esp)
1385         xorl    %edi,%eax
1386         rorl    $11,%ecx
1387         andl    %eax,%ebp
1388         leal    1555081692(%ebx,%edx,1),%edx
1389         xorl    %esi,%ecx
1390         xorl    %edi,%ebp
1391         movl    64(%esp),%esi
1392         rorl    $2,%ecx
1393         addl    %edx,%ebp
1394         addl    20(%esp),%edx
1395         addl    %ecx,%ebp
1396         movl    52(%esp),%ecx
1397         movl    %esi,%ebx
1398         rorl    $11,%esi
1399         movl    %ecx,%edi
1400         rorl    $2,%ecx
1401         xorl    %ebx,%esi
1402         shrl    $3,%ebx
1403         rorl    $7,%esi
1404         xorl    %edi,%ecx
1405         xorl    %esi,%ebx
1406         rorl    $17,%ecx
1407         addl    60(%esp),%ebx
1408         shrl    $10,%edi
1409         addl    32(%esp),%ebx
1410         movl    %edx,%esi
1411         xorl    %ecx,%edi
1412         movl    24(%esp),%ecx
1413         rorl    $14,%edx
1414         addl    %edi,%ebx
1415         movl    28(%esp),%edi
1416         xorl    %esi,%edx
1417         movl    %ebx,60(%esp)
1418         xorl    %edi,%ecx
1419         rorl    $5,%edx
1420         andl    %esi,%ecx
1421         movl    %esi,20(%esp)
1422         xorl    %esi,%edx
1423         addl    (%esp),%ebx
1424         xorl    %ecx,%edi
1425         rorl    $6,%edx
1426         movl    %ebp,%esi
1427         addl    %edi,%ebx
1428         rorl    $9,%esi
1429         movl    %ebp,%ecx
1430         movl    8(%esp),%edi
1431         xorl    %ebp,%esi
1432         movl    %ebp,4(%esp)
1433         xorl    %edi,%ebp
1434         rorl    $11,%esi
1435         andl    %ebp,%eax
1436         leal    1996064986(%ebx,%edx,1),%edx
1437         xorl    %ecx,%esi
1438         xorl    %edi,%eax
1439         movl    68(%esp),%ecx
1440         rorl    $2,%esi
1441         addl    %edx,%eax
1442         addl    16(%esp),%edx
1443         addl    %esi,%eax
1444         movl    56(%esp),%esi
1445         movl    %ecx,%ebx
1446         rorl    $11,%ecx
1447         movl    %esi,%edi
1448         rorl    $2,%esi
1449         xorl    %ebx,%ecx
1450         shrl    $3,%ebx
1451         rorl    $7,%ecx
1452         xorl    %edi,%esi
1453         xorl    %ecx,%ebx
1454         rorl    $17,%esi
1455         addl    64(%esp),%ebx
1456         shrl    $10,%edi
1457         addl    36(%esp),%ebx
1458         movl    %edx,%ecx
1459         xorl    %esi,%edi
1460         movl    20(%esp),%esi
1461         rorl    $14,%edx
1462         addl    %edi,%ebx
1463         movl    24(%esp),%edi
1464         xorl    %ecx,%edx
1465         movl    %ebx,64(%esp)
1466         xorl    %edi,%esi
1467         rorl    $5,%edx
1468         andl    %ecx,%esi
1469         movl    %ecx,16(%esp)
1470         xorl    %ecx,%edx
1471         addl    28(%esp),%ebx
1472         xorl    %esi,%edi
1473         rorl    $6,%edx
1474         movl    %eax,%ecx
1475         addl    %edi,%ebx
1476         rorl    $9,%ecx
1477         movl    %eax,%esi
1478         movl    4(%esp),%edi
1479         xorl    %eax,%ecx
1480         movl    %eax,(%esp)
1481         xorl    %edi,%eax
1482         rorl    $11,%ecx
1483         andl    %eax,%ebp
1484         leal    2554220882(%ebx,%edx,1),%edx
1485         xorl    %esi,%ecx
1486         xorl    %edi,%ebp
1487         movl    72(%esp),%esi
1488         rorl    $2,%ecx
1489         addl    %edx,%ebp
1490         addl    12(%esp),%edx
1491         addl    %ecx,%ebp
1492         movl    60(%esp),%ecx
1493         movl    %esi,%ebx
1494         rorl    $11,%esi
1495         movl    %ecx,%edi
1496         rorl    $2,%ecx
1497         xorl    %ebx,%esi
1498         shrl    $3,%ebx
1499         rorl    $7,%esi
1500         xorl    %edi,%ecx
1501         xorl    %esi,%ebx
1502         rorl    $17,%ecx
1503         addl    68(%esp),%ebx
1504         shrl    $10,%edi
1505         addl    40(%esp),%ebx
1506         movl    %edx,%esi
1507         xorl    %ecx,%edi
1508         movl    16(%esp),%ecx
1509         rorl    $14,%edx
1510         addl    %edi,%ebx
1511         movl    20(%esp),%edi
1512         xorl    %esi,%edx
1513         movl    %ebx,68(%esp)
1514         xorl    %edi,%ecx
1515         rorl    $5,%edx
1516         andl    %esi,%ecx
1517         movl    %esi,12(%esp)
1518         xorl    %esi,%edx
1519         addl    24(%esp),%ebx
1520         xorl    %ecx,%edi
1521         rorl    $6,%edx
1522         movl    %ebp,%esi
1523         addl    %edi,%ebx
1524         rorl    $9,%esi
1525         movl    %ebp,%ecx
1526         movl    (%esp),%edi
1527         xorl    %ebp,%esi
1528         movl    %ebp,28(%esp)
1529         xorl    %edi,%ebp
1530         rorl    $11,%esi
1531         andl    %ebp,%eax
1532         leal    2821834349(%ebx,%edx,1),%edx
1533         xorl    %ecx,%esi
1534         xorl    %edi,%eax
1535         movl    76(%esp),%ecx
1536         rorl    $2,%esi
1537         addl    %edx,%eax
1538         addl    8(%esp),%edx
1539         addl    %esi,%eax
1540         movl    64(%esp),%esi
1541         movl    %ecx,%ebx
1542         rorl    $11,%ecx
1543         movl    %esi,%edi
1544         rorl    $2,%esi
1545         xorl    %ebx,%ecx
1546         shrl    $3,%ebx
1547         rorl    $7,%ecx
1548         xorl    %edi,%esi
1549         xorl    %ecx,%ebx
1550         rorl    $17,%esi
1551         addl    72(%esp),%ebx
1552         shrl    $10,%edi
1553         addl    44(%esp),%ebx
1554         movl    %edx,%ecx
1555         xorl    %esi,%edi
1556         movl    12(%esp),%esi
1557         rorl    $14,%edx
1558         addl    %edi,%ebx
1559         movl    16(%esp),%edi
1560         xorl    %ecx,%edx
1561         movl    %ebx,72(%esp)
1562         xorl    %edi,%esi
1563         rorl    $5,%edx
1564         andl    %ecx,%esi
1565         movl    %ecx,8(%esp)
1566         xorl    %ecx,%edx
1567         addl    20(%esp),%ebx
1568         xorl    %esi,%edi
1569         rorl    $6,%edx
1570         movl    %eax,%ecx
1571         addl    %edi,%ebx
1572         rorl    $9,%ecx
1573         movl    %eax,%esi
1574         movl    28(%esp),%edi
1575         xorl    %eax,%ecx
1576         movl    %eax,24(%esp)
1577         xorl    %edi,%eax
1578         rorl    $11,%ecx
1579         andl    %eax,%ebp
1580         leal    2952996808(%ebx,%edx,1),%edx
1581         xorl    %esi,%ecx
1582         xorl    %edi,%ebp
1583         movl    80(%esp),%esi
1584         rorl    $2,%ecx
1585         addl    %edx,%ebp
1586         addl    4(%esp),%edx
1587         addl    %ecx,%ebp
1588         movl    68(%esp),%ecx
1589         movl    %esi,%ebx
1590         rorl    $11,%esi
1591         movl    %ecx,%edi
1592         rorl    $2,%ecx
1593         xorl    %ebx,%esi
1594         shrl    $3,%ebx
1595         rorl    $7,%esi
1596         xorl    %edi,%ecx
1597         xorl    %esi,%ebx
1598         rorl    $17,%ecx
1599         addl    76(%esp),%ebx
1600         shrl    $10,%edi
1601         addl    48(%esp),%ebx
1602         movl    %edx,%esi
1603         xorl    %ecx,%edi
1604         movl    8(%esp),%ecx
1605         rorl    $14,%edx
1606         addl    %edi,%ebx
1607         movl    12(%esp),%edi
1608         xorl    %esi,%edx
1609         movl    %ebx,76(%esp)
1610         xorl    %edi,%ecx
1611         rorl    $5,%edx
1612         andl    %esi,%ecx
1613         movl    %esi,4(%esp)
1614         xorl    %esi,%edx
1615         addl    16(%esp),%ebx
1616         xorl    %ecx,%edi
1617         rorl    $6,%edx
1618         movl    %ebp,%esi
1619         addl    %edi,%ebx
1620         rorl    $9,%esi
1621         movl    %ebp,%ecx
1622         movl    24(%esp),%edi
1623         xorl    %ebp,%esi
1624         movl    %ebp,20(%esp)
1625         xorl    %edi,%ebp
1626         rorl    $11,%esi
1627         andl    %ebp,%eax
1628         leal    3210313671(%ebx,%edx,1),%edx
1629         xorl    %ecx,%esi
1630         xorl    %edi,%eax
1631         movl    84(%esp),%ecx
1632         rorl    $2,%esi
1633         addl    %edx,%eax
1634         addl    (%esp),%edx
1635         addl    %esi,%eax
1636         movl    72(%esp),%esi
1637         movl    %ecx,%ebx
1638         rorl    $11,%ecx
1639         movl    %esi,%edi
1640         rorl    $2,%esi
1641         xorl    %ebx,%ecx
1642         shrl    $3,%ebx
1643         rorl    $7,%ecx
1644         xorl    %edi,%esi
1645         xorl    %ecx,%ebx
1646         rorl    $17,%esi
1647         addl    80(%esp),%ebx
1648         shrl    $10,%edi
1649         addl    52(%esp),%ebx
1650         movl    %edx,%ecx
1651         xorl    %esi,%edi
1652         movl    4(%esp),%esi
1653         rorl    $14,%edx
1654         addl    %edi,%ebx
1655         movl    8(%esp),%edi
1656         xorl    %ecx,%edx
1657         movl    %ebx,80(%esp)
1658         xorl    %edi,%esi
1659         rorl    $5,%edx
1660         andl    %ecx,%esi
1661         movl    %ecx,(%esp)
1662         xorl    %ecx,%edx
1663         addl    12(%esp),%ebx
1664         xorl    %esi,%edi
1665         rorl    $6,%edx
1666         movl    %eax,%ecx
1667         addl    %edi,%ebx
1668         rorl    $9,%ecx
1669         movl    %eax,%esi
1670         movl    20(%esp),%edi
1671         xorl    %eax,%ecx
1672         movl    %eax,16(%esp)
1673         xorl    %edi,%eax
1674         rorl    $11,%ecx
1675         andl    %eax,%ebp
1676         leal    3336571891(%ebx,%edx,1),%edx
1677         xorl    %esi,%ecx
1678         xorl    %edi,%ebp
1679         movl    88(%esp),%esi
1680         rorl    $2,%ecx
1681         addl    %edx,%ebp
1682         addl    28(%esp),%edx
1683         addl    %ecx,%ebp
1684         movl    76(%esp),%ecx
1685         movl    %esi,%ebx
1686         rorl    $11,%esi
1687         movl    %ecx,%edi
1688         rorl    $2,%ecx
1689         xorl    %ebx,%esi
1690         shrl    $3,%ebx
1691         rorl    $7,%esi
1692         xorl    %edi,%ecx
1693         xorl    %esi,%ebx
1694         rorl    $17,%ecx
1695         addl    84(%esp),%ebx
1696         shrl    $10,%edi
1697         addl    56(%esp),%ebx
1698         movl    %edx,%esi
1699         xorl    %ecx,%edi
1700         movl    (%esp),%ecx
1701         rorl    $14,%edx
1702         addl    %edi,%ebx
1703         movl    4(%esp),%edi
1704         xorl    %esi,%edx
1705         movl    %ebx,84(%esp)
1706         xorl    %edi,%ecx
1707         rorl    $5,%edx
1708         andl    %esi,%ecx
1709         movl    %esi,28(%esp)
1710         xorl    %esi,%edx
1711         addl    8(%esp),%ebx
1712         xorl    %ecx,%edi
1713         rorl    $6,%edx
1714         movl    %ebp,%esi
1715         addl    %edi,%ebx
1716         rorl    $9,%esi
1717         movl    %ebp,%ecx
1718         movl    16(%esp),%edi
1719         xorl    %ebp,%esi
1720         movl    %ebp,12(%esp)
1721         xorl    %edi,%ebp
1722         rorl    $11,%esi
1723         andl    %ebp,%eax
1724         leal    3584528711(%ebx,%edx,1),%edx
1725         xorl    %ecx,%esi
1726         xorl    %edi,%eax
1727         movl    92(%esp),%ecx
1728         rorl    $2,%esi
1729         addl    %edx,%eax
1730         addl    24(%esp),%edx
1731         addl    %esi,%eax
1732         movl    80(%esp),%esi
1733         movl    %ecx,%ebx
1734         rorl    $11,%ecx
1735         movl    %esi,%edi
1736         rorl    $2,%esi
1737         xorl    %ebx,%ecx
1738         shrl    $3,%ebx
1739         rorl    $7,%ecx
1740         xorl    %edi,%esi
1741         xorl    %ecx,%ebx
1742         rorl    $17,%esi
1743         addl    88(%esp),%ebx
1744         shrl    $10,%edi
1745         addl    60(%esp),%ebx
1746         movl    %edx,%ecx
1747         xorl    %esi,%edi
1748         movl    28(%esp),%esi
1749         rorl    $14,%edx
1750         addl    %edi,%ebx
1751         movl    (%esp),%edi
1752         xorl    %ecx,%edx
1753         movl    %ebx,88(%esp)
1754         xorl    %edi,%esi
1755         rorl    $5,%edx
1756         andl    %ecx,%esi
1757         movl    %ecx,24(%esp)
1758         xorl    %ecx,%edx
1759         addl    4(%esp),%ebx
1760         xorl    %esi,%edi
1761         rorl    $6,%edx
1762         movl    %eax,%ecx
1763         addl    %edi,%ebx
1764         rorl    $9,%ecx
1765         movl    %eax,%esi
1766         movl    12(%esp),%edi
1767         xorl    %eax,%ecx
1768         movl    %eax,8(%esp)
1769         xorl    %edi,%eax
1770         rorl    $11,%ecx
1771         andl    %eax,%ebp
1772         leal    113926993(%ebx,%edx,1),%edx
1773         xorl    %esi,%ecx
1774         xorl    %edi,%ebp
1775         movl    32(%esp),%esi
1776         rorl    $2,%ecx
1777         addl    %edx,%ebp
1778         addl    20(%esp),%edx
1779         addl    %ecx,%ebp
1780         movl    84(%esp),%ecx
1781         movl    %esi,%ebx
1782         rorl    $11,%esi
1783         movl    %ecx,%edi
1784         rorl    $2,%ecx
1785         xorl    %ebx,%esi
1786         shrl    $3,%ebx
1787         rorl    $7,%esi
1788         xorl    %edi,%ecx
1789         xorl    %esi,%ebx
1790         rorl    $17,%ecx
1791         addl    92(%esp),%ebx
1792         shrl    $10,%edi
1793         addl    64(%esp),%ebx
1794         movl    %edx,%esi
1795         xorl    %ecx,%edi
1796         movl    24(%esp),%ecx
1797         rorl    $14,%edx
1798         addl    %edi,%ebx
1799         movl    28(%esp),%edi
1800         xorl    %esi,%edx
1801         movl    %ebx,92(%esp)
1802         xorl    %edi,%ecx
1803         rorl    $5,%edx
1804         andl    %esi,%ecx
1805         movl    %esi,20(%esp)
1806         xorl    %esi,%edx
1807         addl    (%esp),%ebx
1808         xorl    %ecx,%edi
1809         rorl    $6,%edx
1810         movl    %ebp,%esi
1811         addl    %edi,%ebx
1812         rorl    $9,%esi
1813         movl    %ebp,%ecx
1814         movl    8(%esp),%edi
1815         xorl    %ebp,%esi
1816         movl    %ebp,4(%esp)
1817         xorl    %edi,%ebp
1818         rorl    $11,%esi
1819         andl    %ebp,%eax
1820         leal    338241895(%ebx,%edx,1),%edx
1821         xorl    %ecx,%esi
1822         xorl    %edi,%eax
1823         movl    36(%esp),%ecx
1824         rorl    $2,%esi
1825         addl    %edx,%eax
1826         addl    16(%esp),%edx
1827         addl    %esi,%eax
1828         movl    88(%esp),%esi
1829         movl    %ecx,%ebx
1830         rorl    $11,%ecx
1831         movl    %esi,%edi
1832         rorl    $2,%esi
1833         xorl    %ebx,%ecx
1834         shrl    $3,%ebx
1835         rorl    $7,%ecx
1836         xorl    %edi,%esi
1837         xorl    %ecx,%ebx
1838         rorl    $17,%esi
1839         addl    32(%esp),%ebx
1840         shrl    $10,%edi
1841         addl    68(%esp),%ebx
1842         movl    %edx,%ecx
1843         xorl    %esi,%edi
1844         movl    20(%esp),%esi
1845         rorl    $14,%edx
1846         addl    %edi,%ebx
1847         movl    24(%esp),%edi
1848         xorl    %ecx,%edx
1849         movl    %ebx,32(%esp)
1850         xorl    %edi,%esi
1851         rorl    $5,%edx
1852         andl    %ecx,%esi
1853         movl    %ecx,16(%esp)
1854         xorl    %ecx,%edx
1855         addl    28(%esp),%ebx
1856         xorl    %esi,%edi
1857         rorl    $6,%edx
1858         movl    %eax,%ecx
1859         addl    %edi,%ebx
1860         rorl    $9,%ecx
1861         movl    %eax,%esi
1862         movl    4(%esp),%edi
1863         xorl    %eax,%ecx
1864         movl    %eax,(%esp)
1865         xorl    %edi,%eax
1866         rorl    $11,%ecx
1867         andl    %eax,%ebp
1868         leal    666307205(%ebx,%edx,1),%edx
1869         xorl    %esi,%ecx
1870         xorl    %edi,%ebp
1871         movl    40(%esp),%esi
1872         rorl    $2,%ecx
1873         addl    %edx,%ebp
1874         addl    12(%esp),%edx
1875         addl    %ecx,%ebp
1876         movl    92(%esp),%ecx
1877         movl    %esi,%ebx
1878         rorl    $11,%esi
1879         movl    %ecx,%edi
1880         rorl    $2,%ecx
1881         xorl    %ebx,%esi
1882         shrl    $3,%ebx
1883         rorl    $7,%esi
1884         xorl    %edi,%ecx
1885         xorl    %esi,%ebx
1886         rorl    $17,%ecx
1887         addl    36(%esp),%ebx
1888         shrl    $10,%edi
1889         addl    72(%esp),%ebx
1890         movl    %edx,%esi
1891         xorl    %ecx,%edi
1892         movl    16(%esp),%ecx
1893         rorl    $14,%edx
1894         addl    %edi,%ebx
1895         movl    20(%esp),%edi
1896         xorl    %esi,%edx
1897         movl    %ebx,36(%esp)
1898         xorl    %edi,%ecx
1899         rorl    $5,%edx
1900         andl    %esi,%ecx
1901         movl    %esi,12(%esp)
1902         xorl    %esi,%edx
1903         addl    24(%esp),%ebx
1904         xorl    %ecx,%edi
1905         rorl    $6,%edx
1906         movl    %ebp,%esi
1907         addl    %edi,%ebx
1908         rorl    $9,%esi
1909         movl    %ebp,%ecx
1910         movl    (%esp),%edi
1911         xorl    %ebp,%esi
1912         movl    %ebp,28(%esp)
1913         xorl    %edi,%ebp
1914         rorl    $11,%esi
1915         andl    %ebp,%eax
1916         leal    773529912(%ebx,%edx,1),%edx
1917         xorl    %ecx,%esi
1918         xorl    %edi,%eax
1919         movl    44(%esp),%ecx
1920         rorl    $2,%esi
1921         addl    %edx,%eax
1922         addl    8(%esp),%edx
1923         addl    %esi,%eax
1924         movl    32(%esp),%esi
1925         movl    %ecx,%ebx
1926         rorl    $11,%ecx
1927         movl    %esi,%edi
1928         rorl    $2,%esi
1929         xorl    %ebx,%ecx
1930         shrl    $3,%ebx
1931         rorl    $7,%ecx
1932         xorl    %edi,%esi
1933         xorl    %ecx,%ebx
1934         rorl    $17,%esi
1935         addl    40(%esp),%ebx
1936         shrl    $10,%edi
1937         addl    76(%esp),%ebx
1938         movl    %edx,%ecx
1939         xorl    %esi,%edi
1940         movl    12(%esp),%esi
1941         rorl    $14,%edx
1942         addl    %edi,%ebx
1943         movl    16(%esp),%edi
1944         xorl    %ecx,%edx
1945         movl    %ebx,40(%esp)
1946         xorl    %edi,%esi
1947         rorl    $5,%edx
1948         andl    %ecx,%esi
1949         movl    %ecx,8(%esp)
1950         xorl    %ecx,%edx
1951         addl    20(%esp),%ebx
1952         xorl    %esi,%edi
1953         rorl    $6,%edx
1954         movl    %eax,%ecx
1955         addl    %edi,%ebx
1956         rorl    $9,%ecx
1957         movl    %eax,%esi
1958         movl    28(%esp),%edi
1959         xorl    %eax,%ecx
1960         movl    %eax,24(%esp)
1961         xorl    %edi,%eax
1962         rorl    $11,%ecx
1963         andl    %eax,%ebp
1964         leal    1294757372(%ebx,%edx,1),%edx
1965         xorl    %esi,%ecx
1966         xorl    %edi,%ebp
1967         movl    48(%esp),%esi
1968         rorl    $2,%ecx
1969         addl    %edx,%ebp
1970         addl    4(%esp),%edx
1971         addl    %ecx,%ebp
1972         movl    36(%esp),%ecx
1973         movl    %esi,%ebx
1974         rorl    $11,%esi
1975         movl    %ecx,%edi
1976         rorl    $2,%ecx
1977         xorl    %ebx,%esi
1978         shrl    $3,%ebx
1979         rorl    $7,%esi
1980         xorl    %edi,%ecx
1981         xorl    %esi,%ebx
1982         rorl    $17,%ecx
1983         addl    44(%esp),%ebx
1984         shrl    $10,%edi
1985         addl    80(%esp),%ebx
1986         movl    %edx,%esi
1987         xorl    %ecx,%edi
1988         movl    8(%esp),%ecx
1989         rorl    $14,%edx
1990         addl    %edi,%ebx
1991         movl    12(%esp),%edi
1992         xorl    %esi,%edx
1993         movl    %ebx,44(%esp)
1994         xorl    %edi,%ecx
1995         rorl    $5,%edx
1996         andl    %esi,%ecx
1997         movl    %esi,4(%esp)
1998         xorl    %esi,%edx
1999         addl    16(%esp),%ebx
2000         xorl    %ecx,%edi
2001         rorl    $6,%edx
2002         movl    %ebp,%esi
2003         addl    %edi,%ebx
2004         rorl    $9,%esi
2005         movl    %ebp,%ecx
2006         movl    24(%esp),%edi
2007         xorl    %ebp,%esi
2008         movl    %ebp,20(%esp)
2009         xorl    %edi,%ebp
2010         rorl    $11,%esi
2011         andl    %ebp,%eax
2012         leal    1396182291(%ebx,%edx,1),%edx
2013         xorl    %ecx,%esi
2014         xorl    %edi,%eax
2015         movl    52(%esp),%ecx
2016         rorl    $2,%esi
2017         addl    %edx,%eax
2018         addl    (%esp),%edx
2019         addl    %esi,%eax
2020         movl    40(%esp),%esi
2021         movl    %ecx,%ebx
2022         rorl    $11,%ecx
2023         movl    %esi,%edi
2024         rorl    $2,%esi
2025         xorl    %ebx,%ecx
2026         shrl    $3,%ebx
2027         rorl    $7,%ecx
2028         xorl    %edi,%esi
2029         xorl    %ecx,%ebx
2030         rorl    $17,%esi
2031         addl    48(%esp),%ebx
2032         shrl    $10,%edi
2033         addl    84(%esp),%ebx
2034         movl    %edx,%ecx
2035         xorl    %esi,%edi
2036         movl    4(%esp),%esi
2037         rorl    $14,%edx
2038         addl    %edi,%ebx
2039         movl    8(%esp),%edi
2040         xorl    %ecx,%edx
2041         movl    %ebx,48(%esp)
2042         xorl    %edi,%esi
2043         rorl    $5,%edx
2044         andl    %ecx,%esi
2045         movl    %ecx,(%esp)
2046         xorl    %ecx,%edx
2047         addl    12(%esp),%ebx
2048         xorl    %esi,%edi
2049         rorl    $6,%edx
2050         movl    %eax,%ecx
2051         addl    %edi,%ebx
2052         rorl    $9,%ecx
2053         movl    %eax,%esi
2054         movl    20(%esp),%edi
2055         xorl    %eax,%ecx
2056         movl    %eax,16(%esp)
2057         xorl    %edi,%eax
2058         rorl    $11,%ecx
2059         andl    %eax,%ebp
2060         leal    1695183700(%ebx,%edx,1),%edx
2061         xorl    %esi,%ecx
2062         xorl    %edi,%ebp
2063         movl    56(%esp),%esi
2064         rorl    $2,%ecx
2065         addl    %edx,%ebp
2066         addl    28(%esp),%edx
2067         addl    %ecx,%ebp
2068         movl    44(%esp),%ecx
2069         movl    %esi,%ebx
2070         rorl    $11,%esi
2071         movl    %ecx,%edi
2072         rorl    $2,%ecx
2073         xorl    %ebx,%esi
2074         shrl    $3,%ebx
2075         rorl    $7,%esi
2076         xorl    %edi,%ecx
2077         xorl    %esi,%ebx
2078         rorl    $17,%ecx
2079         addl    52(%esp),%ebx
2080         shrl    $10,%edi
2081         addl    88(%esp),%ebx
2082         movl    %edx,%esi
2083         xorl    %ecx,%edi
2084         movl    (%esp),%ecx
2085         rorl    $14,%edx
2086         addl    %edi,%ebx
2087         movl    4(%esp),%edi
2088         xorl    %esi,%edx
2089         movl    %ebx,52(%esp)
2090         xorl    %edi,%ecx
2091         rorl    $5,%edx
2092         andl    %esi,%ecx
2093         movl    %esi,28(%esp)
2094         xorl    %esi,%edx
2095         addl    8(%esp),%ebx
2096         xorl    %ecx,%edi
2097         rorl    $6,%edx
2098         movl    %ebp,%esi
2099         addl    %edi,%ebx
2100         rorl    $9,%esi
2101         movl    %ebp,%ecx
2102         movl    16(%esp),%edi
2103         xorl    %ebp,%esi
2104         movl    %ebp,12(%esp)
2105         xorl    %edi,%ebp
2106         rorl    $11,%esi
2107         andl    %ebp,%eax
2108         leal    1986661051(%ebx,%edx,1),%edx
2109         xorl    %ecx,%esi
2110         xorl    %edi,%eax
2111         movl    60(%esp),%ecx
2112         rorl    $2,%esi
2113         addl    %edx,%eax
2114         addl    24(%esp),%edx
2115         addl    %esi,%eax
2116         movl    48(%esp),%esi
2117         movl    %ecx,%ebx
2118         rorl    $11,%ecx
2119         movl    %esi,%edi
2120         rorl    $2,%esi
2121         xorl    %ebx,%ecx
2122         shrl    $3,%ebx
2123         rorl    $7,%ecx
2124         xorl    %edi,%esi
2125         xorl    %ecx,%ebx
2126         rorl    $17,%esi
2127         addl    56(%esp),%ebx
2128         shrl    $10,%edi
2129         addl    92(%esp),%ebx
2130         movl    %edx,%ecx
2131         xorl    %esi,%edi
2132         movl    28(%esp),%esi
2133         rorl    $14,%edx
2134         addl    %edi,%ebx
2135         movl    (%esp),%edi
2136         xorl    %ecx,%edx
2137         movl    %ebx,56(%esp)
2138         xorl    %edi,%esi
2139         rorl    $5,%edx
2140         andl    %ecx,%esi
2141         movl    %ecx,24(%esp)
2142         xorl    %ecx,%edx
2143         addl    4(%esp),%ebx
2144         xorl    %esi,%edi
2145         rorl    $6,%edx
2146         movl    %eax,%ecx
2147         addl    %edi,%ebx
2148         rorl    $9,%ecx
2149         movl    %eax,%esi
2150         movl    12(%esp),%edi
2151         xorl    %eax,%ecx
2152         movl    %eax,8(%esp)
2153         xorl    %edi,%eax
2154         rorl    $11,%ecx
2155         andl    %eax,%ebp
2156         leal    2177026350(%ebx,%edx,1),%edx
2157         xorl    %esi,%ecx
2158         xorl    %edi,%ebp
2159         movl    64(%esp),%esi
2160         rorl    $2,%ecx
2161         addl    %edx,%ebp
2162         addl    20(%esp),%edx
2163         addl    %ecx,%ebp
2164         movl    52(%esp),%ecx
2165         movl    %esi,%ebx
2166         rorl    $11,%esi
2167         movl    %ecx,%edi
2168         rorl    $2,%ecx
2169         xorl    %ebx,%esi
2170         shrl    $3,%ebx
2171         rorl    $7,%esi
2172         xorl    %edi,%ecx
2173         xorl    %esi,%ebx
2174         rorl    $17,%ecx
2175         addl    60(%esp),%ebx
2176         shrl    $10,%edi
2177         addl    32(%esp),%ebx
2178         movl    %edx,%esi
2179         xorl    %ecx,%edi
2180         movl    24(%esp),%ecx
2181         rorl    $14,%edx
2182         addl    %edi,%ebx
2183         movl    28(%esp),%edi
2184         xorl    %esi,%edx
2185         movl    %ebx,60(%esp)
2186         xorl    %edi,%ecx
2187         rorl    $5,%edx
2188         andl    %esi,%ecx
2189         movl    %esi,20(%esp)
2190         xorl    %esi,%edx
2191         addl    (%esp),%ebx
2192         xorl    %ecx,%edi
2193         rorl    $6,%edx
2194         movl    %ebp,%esi
2195         addl    %edi,%ebx
2196         rorl    $9,%esi
2197         movl    %ebp,%ecx
2198         movl    8(%esp),%edi
2199         xorl    %ebp,%esi
2200         movl    %ebp,4(%esp)
2201         xorl    %edi,%ebp
2202         rorl    $11,%esi
2203         andl    %ebp,%eax
2204         leal    2456956037(%ebx,%edx,1),%edx
2205         xorl    %ecx,%esi
2206         xorl    %edi,%eax
2207         movl    68(%esp),%ecx
2208         rorl    $2,%esi
2209         addl    %edx,%eax
2210         addl    16(%esp),%edx
2211         addl    %esi,%eax
2212         movl    56(%esp),%esi
2213         movl    %ecx,%ebx
2214         rorl    $11,%ecx
2215         movl    %esi,%edi
2216         rorl    $2,%esi
2217         xorl    %ebx,%ecx
2218         shrl    $3,%ebx
2219         rorl    $7,%ecx
2220         xorl    %edi,%esi
2221         xorl    %ecx,%ebx
2222         rorl    $17,%esi
2223         addl    64(%esp),%ebx
2224         shrl    $10,%edi
2225         addl    36(%esp),%ebx
2226         movl    %edx,%ecx
2227         xorl    %esi,%edi
2228         movl    20(%esp),%esi
2229         rorl    $14,%edx
2230         addl    %edi,%ebx
2231         movl    24(%esp),%edi
2232         xorl    %ecx,%edx
2233         movl    %ebx,64(%esp)
2234         xorl    %edi,%esi
2235         rorl    $5,%edx
2236         andl    %ecx,%esi
2237         movl    %ecx,16(%esp)
2238         xorl    %ecx,%edx
2239         addl    28(%esp),%ebx
2240         xorl    %esi,%edi
2241         rorl    $6,%edx
2242         movl    %eax,%ecx
2243         addl    %edi,%ebx
2244         rorl    $9,%ecx
2245         movl    %eax,%esi
2246         movl    4(%esp),%edi
2247         xorl    %eax,%ecx
2248         movl    %eax,(%esp)
2249         xorl    %edi,%eax
2250         rorl    $11,%ecx
2251         andl    %eax,%ebp
2252         leal    2730485921(%ebx,%edx,1),%edx
2253         xorl    %esi,%ecx
2254         xorl    %edi,%ebp
2255         movl    72(%esp),%esi
2256         rorl    $2,%ecx
2257         addl    %edx,%ebp
2258         addl    12(%esp),%edx
2259         addl    %ecx,%ebp
2260         movl    60(%esp),%ecx
2261         movl    %esi,%ebx
2262         rorl    $11,%esi
2263         movl    %ecx,%edi
2264         rorl    $2,%ecx
2265         xorl    %ebx,%esi
2266         shrl    $3,%ebx
2267         rorl    $7,%esi
2268         xorl    %edi,%ecx
2269         xorl    %esi,%ebx
2270         rorl    $17,%ecx
2271         addl    68(%esp),%ebx
2272         shrl    $10,%edi
2273         addl    40(%esp),%ebx
2274         movl    %edx,%esi
2275         xorl    %ecx,%edi
2276         movl    16(%esp),%ecx
2277         rorl    $14,%edx
2278         addl    %edi,%ebx
2279         movl    20(%esp),%edi
2280         xorl    %esi,%edx
2281         movl    %ebx,68(%esp)
2282         xorl    %edi,%ecx
2283         rorl    $5,%edx
2284         andl    %esi,%ecx
2285         movl    %esi,12(%esp)
2286         xorl    %esi,%edx
2287         addl    24(%esp),%ebx
2288         xorl    %ecx,%edi
2289         rorl    $6,%edx
2290         movl    %ebp,%esi
2291         addl    %edi,%ebx
2292         rorl    $9,%esi
2293         movl    %ebp,%ecx
2294         movl    (%esp),%edi
2295         xorl    %ebp,%esi
2296         movl    %ebp,28(%esp)
2297         xorl    %edi,%ebp
2298         rorl    $11,%esi
2299         andl    %ebp,%eax
2300         leal    2820302411(%ebx,%edx,1),%edx
2301         xorl    %ecx,%esi
2302         xorl    %edi,%eax
2303         movl    76(%esp),%ecx
2304         rorl    $2,%esi
2305         addl    %edx,%eax
2306         addl    8(%esp),%edx
2307         addl    %esi,%eax
2308         movl    64(%esp),%esi
2309         movl    %ecx,%ebx
2310         rorl    $11,%ecx
2311         movl    %esi,%edi
2312         rorl    $2,%esi
2313         xorl    %ebx,%ecx
2314         shrl    $3,%ebx
2315         rorl    $7,%ecx
2316         xorl    %edi,%esi
2317         xorl    %ecx,%ebx
2318         rorl    $17,%esi
2319         addl    72(%esp),%ebx
2320         shrl    $10,%edi
2321         addl    44(%esp),%ebx
2322         movl    %edx,%ecx
2323         xorl    %esi,%edi
2324         movl    12(%esp),%esi
2325         rorl    $14,%edx
2326         addl    %edi,%ebx
2327         movl    16(%esp),%edi
2328         xorl    %ecx,%edx
2329         movl    %ebx,72(%esp)
2330         xorl    %edi,%esi
2331         rorl    $5,%edx
2332         andl    %ecx,%esi
2333         movl    %ecx,8(%esp)
2334         xorl    %ecx,%edx
2335         addl    20(%esp),%ebx
2336         xorl    %esi,%edi
2337         rorl    $6,%edx
2338         movl    %eax,%ecx
2339         addl    %edi,%ebx
2340         rorl    $9,%ecx
2341         movl    %eax,%esi
2342         movl    28(%esp),%edi
2343         xorl    %eax,%ecx
2344         movl    %eax,24(%esp)
2345         xorl    %edi,%eax
2346         rorl    $11,%ecx
2347         andl    %eax,%ebp
2348         leal    3259730800(%ebx,%edx,1),%edx
2349         xorl    %esi,%ecx
2350         xorl    %edi,%ebp
2351         movl    80(%esp),%esi
2352         rorl    $2,%ecx
2353         addl    %edx,%ebp
2354         addl    4(%esp),%edx
2355         addl    %ecx,%ebp
2356         movl    68(%esp),%ecx
2357         movl    %esi,%ebx
2358         rorl    $11,%esi
2359         movl    %ecx,%edi
2360         rorl    $2,%ecx
2361         xorl    %ebx,%esi
2362         shrl    $3,%ebx
2363         rorl    $7,%esi
2364         xorl    %edi,%ecx
2365         xorl    %esi,%ebx
2366         rorl    $17,%ecx
2367         addl    76(%esp),%ebx
2368         shrl    $10,%edi
2369         addl    48(%esp),%ebx
2370         movl    %edx,%esi
2371         xorl    %ecx,%edi
2372         movl    8(%esp),%ecx
2373         rorl    $14,%edx
2374         addl    %edi,%ebx
2375         movl    12(%esp),%edi
2376         xorl    %esi,%edx
2377         movl    %ebx,76(%esp)
2378         xorl    %edi,%ecx
2379         rorl    $5,%edx
2380         andl    %esi,%ecx
2381         movl    %esi,4(%esp)
2382         xorl    %esi,%edx
2383         addl    16(%esp),%ebx
2384         xorl    %ecx,%edi
2385         rorl    $6,%edx
2386         movl    %ebp,%esi
2387         addl    %edi,%ebx
2388         rorl    $9,%esi
2389         movl    %ebp,%ecx
2390         movl    24(%esp),%edi
2391         xorl    %ebp,%esi
2392         movl    %ebp,20(%esp)
2393         xorl    %edi,%ebp
2394         rorl    $11,%esi
2395         andl    %ebp,%eax
2396         leal    3345764771(%ebx,%edx,1),%edx
2397         xorl    %ecx,%esi
2398         xorl    %edi,%eax
2399         movl    84(%esp),%ecx
2400         rorl    $2,%esi
2401         addl    %edx,%eax
2402         addl    (%esp),%edx
2403         addl    %esi,%eax
2404         movl    72(%esp),%esi
2405         movl    %ecx,%ebx
2406         rorl    $11,%ecx
2407         movl    %esi,%edi
2408         rorl    $2,%esi
2409         xorl    %ebx,%ecx
2410         shrl    $3,%ebx
2411         rorl    $7,%ecx
2412         xorl    %edi,%esi
2413         xorl    %ecx,%ebx
2414         rorl    $17,%esi
2415         addl    80(%esp),%ebx
2416         shrl    $10,%edi
2417         addl    52(%esp),%ebx
2418         movl    %edx,%ecx
2419         xorl    %esi,%edi
2420         movl    4(%esp),%esi
2421         rorl    $14,%edx
2422         addl    %edi,%ebx
2423         movl    8(%esp),%edi
2424         xorl    %ecx,%edx
2425         movl    %ebx,80(%esp)
2426         xorl    %edi,%esi
2427         rorl    $5,%edx
2428         andl    %ecx,%esi
2429         movl    %ecx,(%esp)
2430         xorl    %ecx,%edx
2431         addl    12(%esp),%ebx
2432         xorl    %esi,%edi
2433         rorl    $6,%edx
2434         movl    %eax,%ecx
2435         addl    %edi,%ebx
2436         rorl    $9,%ecx
2437         movl    %eax,%esi
2438         movl    20(%esp),%edi
2439         xorl    %eax,%ecx
2440         movl    %eax,16(%esp)
2441         xorl    %edi,%eax
2442         rorl    $11,%ecx
2443         andl    %eax,%ebp
2444         leal    3516065817(%ebx,%edx,1),%edx
2445         xorl    %esi,%ecx
2446         xorl    %edi,%ebp
2447         movl    88(%esp),%esi
2448         rorl    $2,%ecx
2449         addl    %edx,%ebp
2450         addl    28(%esp),%edx
2451         addl    %ecx,%ebp
2452         movl    76(%esp),%ecx
2453         movl    %esi,%ebx
2454         rorl    $11,%esi
2455         movl    %ecx,%edi
2456         rorl    $2,%ecx
2457         xorl    %ebx,%esi
2458         shrl    $3,%ebx
2459         rorl    $7,%esi
2460         xorl    %edi,%ecx
2461         xorl    %esi,%ebx
2462         rorl    $17,%ecx
2463         addl    84(%esp),%ebx
2464         shrl    $10,%edi
2465         addl    56(%esp),%ebx
2466         movl    %edx,%esi
2467         xorl    %ecx,%edi
2468         movl    (%esp),%ecx
2469         rorl    $14,%edx
2470         addl    %edi,%ebx
2471         movl    4(%esp),%edi
2472         xorl    %esi,%edx
2473         movl    %ebx,84(%esp)
2474         xorl    %edi,%ecx
2475         rorl    $5,%edx
2476         andl    %esi,%ecx
2477         movl    %esi,28(%esp)
2478         xorl    %esi,%edx
2479         addl    8(%esp),%ebx
2480         xorl    %ecx,%edi
2481         rorl    $6,%edx
2482         movl    %ebp,%esi
2483         addl    %edi,%ebx
2484         rorl    $9,%esi
2485         movl    %ebp,%ecx
2486         movl    16(%esp),%edi
2487         xorl    %ebp,%esi
2488         movl    %ebp,12(%esp)
2489         xorl    %edi,%ebp
2490         rorl    $11,%esi
2491         andl    %ebp,%eax
2492         leal    3600352804(%ebx,%edx,1),%edx
2493         xorl    %ecx,%esi
2494         xorl    %edi,%eax
2495         movl    92(%esp),%ecx
2496         rorl    $2,%esi
2497         addl    %edx,%eax
2498         addl    24(%esp),%edx
2499         addl    %esi,%eax
2500         movl    80(%esp),%esi
2501         movl    %ecx,%ebx
2502         rorl    $11,%ecx
2503         movl    %esi,%edi
2504         rorl    $2,%esi
2505         xorl    %ebx,%ecx
2506         shrl    $3,%ebx
2507         rorl    $7,%ecx
2508         xorl    %edi,%esi
2509         xorl    %ecx,%ebx
2510         rorl    $17,%esi
2511         addl    88(%esp),%ebx
2512         shrl    $10,%edi
2513         addl    60(%esp),%ebx
2514         movl    %edx,%ecx
2515         xorl    %esi,%edi
2516         movl    28(%esp),%esi
2517         rorl    $14,%edx
2518         addl    %edi,%ebx
2519         movl    (%esp),%edi
2520         xorl    %ecx,%edx
2521         movl    %ebx,88(%esp)
2522         xorl    %edi,%esi
2523         rorl    $5,%edx
2524         andl    %ecx,%esi
2525         movl    %ecx,24(%esp)
2526         xorl    %ecx,%edx
2527         addl    4(%esp),%ebx
2528         xorl    %esi,%edi
2529         rorl    $6,%edx
2530         movl    %eax,%ecx
2531         addl    %edi,%ebx
2532         rorl    $9,%ecx
2533         movl    %eax,%esi
2534         movl    12(%esp),%edi
2535         xorl    %eax,%ecx
2536         movl    %eax,8(%esp)
2537         xorl    %edi,%eax
2538         rorl    $11,%ecx
2539         andl    %eax,%ebp
2540         leal    4094571909(%ebx,%edx,1),%edx
2541         xorl    %esi,%ecx
2542         xorl    %edi,%ebp
2543         movl    32(%esp),%esi
2544         rorl    $2,%ecx
2545         addl    %edx,%ebp
2546         addl    20(%esp),%edx
2547         addl    %ecx,%ebp
2548         movl    84(%esp),%ecx
2549         movl    %esi,%ebx
2550         rorl    $11,%esi
2551         movl    %ecx,%edi
2552         rorl    $2,%ecx
2553         xorl    %ebx,%esi
2554         shrl    $3,%ebx
2555         rorl    $7,%esi
2556         xorl    %edi,%ecx
2557         xorl    %esi,%ebx
2558         rorl    $17,%ecx
2559         addl    92(%esp),%ebx
2560         shrl    $10,%edi
2561         addl    64(%esp),%ebx
2562         movl    %edx,%esi
2563         xorl    %ecx,%edi
2564         movl    24(%esp),%ecx
2565         rorl    $14,%edx
2566         addl    %edi,%ebx
2567         movl    28(%esp),%edi
2568         xorl    %esi,%edx
2569         movl    %ebx,92(%esp)
2570         xorl    %edi,%ecx
2571         rorl    $5,%edx
2572         andl    %esi,%ecx
2573         movl    %esi,20(%esp)
2574         xorl    %esi,%edx
2575         addl    (%esp),%ebx
2576         xorl    %ecx,%edi
2577         rorl    $6,%edx
2578         movl    %ebp,%esi
2579         addl    %edi,%ebx
2580         rorl    $9,%esi
2581         movl    %ebp,%ecx
2582         movl    8(%esp),%edi
2583         xorl    %ebp,%esi
2584         movl    %ebp,4(%esp)
2585         xorl    %edi,%ebp
2586         rorl    $11,%esi
2587         andl    %ebp,%eax
2588         leal    275423344(%ebx,%edx,1),%edx
2589         xorl    %ecx,%esi
2590         xorl    %edi,%eax
2591         movl    36(%esp),%ecx
2592         rorl    $2,%esi
2593         addl    %edx,%eax
2594         addl    16(%esp),%edx
2595         addl    %esi,%eax
2596         movl    88(%esp),%esi
2597         movl    %ecx,%ebx
2598         rorl    $11,%ecx
2599         movl    %esi,%edi
2600         rorl    $2,%esi
2601         xorl    %ebx,%ecx
2602         shrl    $3,%ebx
2603         rorl    $7,%ecx
2604         xorl    %edi,%esi
2605         xorl    %ecx,%ebx
2606         rorl    $17,%esi
2607         addl    32(%esp),%ebx
2608         shrl    $10,%edi
2609         addl    68(%esp),%ebx
2610         movl    %edx,%ecx
2611         xorl    %esi,%edi
2612         movl    20(%esp),%esi
2613         rorl    $14,%edx
2614         addl    %edi,%ebx
2615         movl    24(%esp),%edi
2616         xorl    %ecx,%edx
2617         movl    %ebx,32(%esp)
2618         xorl    %edi,%esi
2619         rorl    $5,%edx
2620         andl    %ecx,%esi
2621         movl    %ecx,16(%esp)
2622         xorl    %ecx,%edx
2623         addl    28(%esp),%ebx
2624         xorl    %esi,%edi
2625         rorl    $6,%edx
2626         movl    %eax,%ecx
2627         addl    %edi,%ebx
2628         rorl    $9,%ecx
2629         movl    %eax,%esi
2630         movl    4(%esp),%edi
2631         xorl    %eax,%ecx
2632         movl    %eax,(%esp)
2633         xorl    %edi,%eax
2634         rorl    $11,%ecx
2635         andl    %eax,%ebp
2636         leal    430227734(%ebx,%edx,1),%edx
2637         xorl    %esi,%ecx
2638         xorl    %edi,%ebp
2639         movl    40(%esp),%esi
2640         rorl    $2,%ecx
2641         addl    %edx,%ebp
2642         addl    12(%esp),%edx
2643         addl    %ecx,%ebp
2644         movl    92(%esp),%ecx
2645         movl    %esi,%ebx
2646         rorl    $11,%esi
2647         movl    %ecx,%edi
2648         rorl    $2,%ecx
2649         xorl    %ebx,%esi
2650         shrl    $3,%ebx
2651         rorl    $7,%esi
2652         xorl    %edi,%ecx
2653         xorl    %esi,%ebx
2654         rorl    $17,%ecx
2655         addl    36(%esp),%ebx
2656         shrl    $10,%edi
2657         addl    72(%esp),%ebx
2658         movl    %edx,%esi
2659         xorl    %ecx,%edi
2660         movl    16(%esp),%ecx
2661         rorl    $14,%edx
2662         addl    %edi,%ebx
2663         movl    20(%esp),%edi
2664         xorl    %esi,%edx
2665         movl    %ebx,36(%esp)
2666         xorl    %edi,%ecx
2667         rorl    $5,%edx
2668         andl    %esi,%ecx
2669         movl    %esi,12(%esp)
2670         xorl    %esi,%edx
2671         addl    24(%esp),%ebx
2672         xorl    %ecx,%edi
2673         rorl    $6,%edx
2674         movl    %ebp,%esi
2675         addl    %edi,%ebx
2676         rorl    $9,%esi
2677         movl    %ebp,%ecx
2678         movl    (%esp),%edi
2679         xorl    %ebp,%esi
2680         movl    %ebp,28(%esp)
2681         xorl    %edi,%ebp
2682         rorl    $11,%esi
2683         andl    %ebp,%eax
2684         leal    506948616(%ebx,%edx,1),%edx
2685         xorl    %ecx,%esi
2686         xorl    %edi,%eax
2687         movl    44(%esp),%ecx
2688         rorl    $2,%esi
2689         addl    %edx,%eax
2690         addl    8(%esp),%edx
2691         addl    %esi,%eax
2692         movl    32(%esp),%esi
2693         movl    %ecx,%ebx
2694         rorl    $11,%ecx
2695         movl    %esi,%edi
2696         rorl    $2,%esi
2697         xorl    %ebx,%ecx
2698         shrl    $3,%ebx
2699         rorl    $7,%ecx
2700         xorl    %edi,%esi
2701         xorl    %ecx,%ebx
2702         rorl    $17,%esi
2703         addl    40(%esp),%ebx
2704         shrl    $10,%edi
2705         addl    76(%esp),%ebx
2706         movl    %edx,%ecx
2707         xorl    %esi,%edi
2708         movl    12(%esp),%esi
2709         rorl    $14,%edx