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