]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/i386/sha256-586.S
Merge lldb trunk r321017 to contrib/llvm/tools/lldb.
[FreeBSD/FreeBSD.git] / secure / lib / libcrypto / i386 / sha256-586.S
1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from sha256-586.pl. */
3 #ifdef PIC
4 .file   "sha256-586.S"
5 .text
6 .globl  sha256_block_data_order
7 .type   sha256_block_data_order,@function
8 .align  16
9 sha256_block_data_order:
10 .L_sha256_block_data_order_begin:
11         pushl   %ebp
12         pushl   %ebx
13         pushl   %esi
14         pushl   %edi
15         movl    20(%esp),%esi
16         movl    24(%esp),%edi
17         movl    28(%esp),%eax
18         movl    %esp,%ebx
19         call    .L000pic_point
20 .L000pic_point:
21         popl    %ebp
22         leal    .L001K256-.L000pic_point(%ebp),%ebp
23         subl    $16,%esp
24         andl    $-64,%esp
25         shll    $6,%eax
26         addl    %edi,%eax
27         movl    %esi,(%esp)
28         movl    %edi,4(%esp)
29         movl    %eax,8(%esp)
30         movl    %ebx,12(%esp)
31         leal    OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
32         movl    (%edx),%ecx
33         movl    4(%edx),%ebx
34         testl   $1048576,%ecx
35         jnz     .L002loop
36         movl    8(%edx),%edx
37         testl   $16777216,%ecx
38         jz      .L003no_xmm
39         andl    $1073741824,%ecx
40         andl    $268435968,%ebx
41         testl   $536870912,%edx
42         jnz     .L004shaext
43         orl     %ebx,%ecx
44         andl    $1342177280,%ecx
45         cmpl    $1342177280,%ecx
46         je      .L005AVX
47         testl   $512,%ebx
48         jnz     .L006SSSE3
49 .L003no_xmm:
50         subl    %edi,%eax
51         cmpl    $256,%eax
52         jae     .L007unrolled
53         jmp     .L002loop
54 .align  16
55 .L002loop:
56         movl    (%edi),%eax
57         movl    4(%edi),%ebx
58         movl    8(%edi),%ecx
59         bswap   %eax
60         movl    12(%edi),%edx
61         bswap   %ebx
62         pushl   %eax
63         bswap   %ecx
64         pushl   %ebx
65         bswap   %edx
66         pushl   %ecx
67         pushl   %edx
68         movl    16(%edi),%eax
69         movl    20(%edi),%ebx
70         movl    24(%edi),%ecx
71         bswap   %eax
72         movl    28(%edi),%edx
73         bswap   %ebx
74         pushl   %eax
75         bswap   %ecx
76         pushl   %ebx
77         bswap   %edx
78         pushl   %ecx
79         pushl   %edx
80         movl    32(%edi),%eax
81         movl    36(%edi),%ebx
82         movl    40(%edi),%ecx
83         bswap   %eax
84         movl    44(%edi),%edx
85         bswap   %ebx
86         pushl   %eax
87         bswap   %ecx
88         pushl   %ebx
89         bswap   %edx
90         pushl   %ecx
91         pushl   %edx
92         movl    48(%edi),%eax
93         movl    52(%edi),%ebx
94         movl    56(%edi),%ecx
95         bswap   %eax
96         movl    60(%edi),%edx
97         bswap   %ebx
98         pushl   %eax
99         bswap   %ecx
100         pushl   %ebx
101         bswap   %edx
102         pushl   %ecx
103         pushl   %edx
104         addl    $64,%edi
105         leal    -36(%esp),%esp
106         movl    %edi,104(%esp)
107         movl    (%esi),%eax
108         movl    4(%esi),%ebx
109         movl    8(%esi),%ecx
110         movl    12(%esi),%edi
111         movl    %ebx,8(%esp)
112         xorl    %ecx,%ebx
113         movl    %ecx,12(%esp)
114         movl    %edi,16(%esp)
115         movl    %ebx,(%esp)
116         movl    16(%esi),%edx
117         movl    20(%esi),%ebx
118         movl    24(%esi),%ecx
119         movl    28(%esi),%edi
120         movl    %ebx,24(%esp)
121         movl    %ecx,28(%esp)
122         movl    %edi,32(%esp)
123 .align  16
124 .L00800_15:
125         movl    %edx,%ecx
126         movl    24(%esp),%esi
127         rorl    $14,%ecx
128         movl    28(%esp),%edi
129         xorl    %edx,%ecx
130         xorl    %edi,%esi
131         movl    96(%esp),%ebx
132         rorl    $5,%ecx
133         andl    %edx,%esi
134         movl    %edx,20(%esp)
135         xorl    %ecx,%edx
136         addl    32(%esp),%ebx
137         xorl    %edi,%esi
138         rorl    $6,%edx
139         movl    %eax,%ecx
140         addl    %esi,%ebx
141         rorl    $9,%ecx
142         addl    %edx,%ebx
143         movl    8(%esp),%edi
144         xorl    %eax,%ecx
145         movl    %eax,4(%esp)
146         leal    -4(%esp),%esp
147         rorl    $11,%ecx
148         movl    (%ebp),%esi
149         xorl    %eax,%ecx
150         movl    20(%esp),%edx
151         xorl    %edi,%eax
152         rorl    $2,%ecx
153         addl    %esi,%ebx
154         movl    %eax,(%esp)
155         addl    %ebx,%edx
156         andl    4(%esp),%eax
157         addl    %ecx,%ebx
158         xorl    %edi,%eax
159         addl    $4,%ebp
160         addl    %ebx,%eax
161         cmpl    $3248222580,%esi
162         jne     .L00800_15
163         movl    156(%esp),%ecx
164         jmp     .L00916_63
165 .align  16
166 .L00916_63:
167         movl    %ecx,%ebx
168         movl    104(%esp),%esi
169         rorl    $11,%ecx
170         movl    %esi,%edi
171         rorl    $2,%esi
172         xorl    %ebx,%ecx
173         shrl    $3,%ebx
174         rorl    $7,%ecx
175         xorl    %edi,%esi
176         xorl    %ecx,%ebx
177         rorl    $17,%esi
178         addl    160(%esp),%ebx
179         shrl    $10,%edi
180         addl    124(%esp),%ebx
181         movl    %edx,%ecx
182         xorl    %esi,%edi
183         movl    24(%esp),%esi
184         rorl    $14,%ecx
185         addl    %edi,%ebx
186         movl    28(%esp),%edi
187         xorl    %edx,%ecx
188         xorl    %edi,%esi
189         movl    %ebx,96(%esp)
190         rorl    $5,%ecx
191         andl    %edx,%esi
192         movl    %edx,20(%esp)
193         xorl    %ecx,%edx
194         addl    32(%esp),%ebx
195         xorl    %edi,%esi
196         rorl    $6,%edx
197         movl    %eax,%ecx
198         addl    %esi,%ebx
199         rorl    $9,%ecx
200         addl    %edx,%ebx
201         movl    8(%esp),%edi
202         xorl    %eax,%ecx
203         movl    %eax,4(%esp)
204         leal    -4(%esp),%esp
205         rorl    $11,%ecx
206         movl    (%ebp),%esi
207         xorl    %eax,%ecx
208         movl    20(%esp),%edx
209         xorl    %edi,%eax
210         rorl    $2,%ecx
211         addl    %esi,%ebx
212         movl    %eax,(%esp)
213         addl    %ebx,%edx
214         andl    4(%esp),%eax
215         addl    %ecx,%ebx
216         xorl    %edi,%eax
217         movl    156(%esp),%ecx
218         addl    $4,%ebp
219         addl    %ebx,%eax
220         cmpl    $3329325298,%esi
221         jne     .L00916_63
222         movl    356(%esp),%esi
223         movl    8(%esp),%ebx
224         movl    16(%esp),%ecx
225         addl    (%esi),%eax
226         addl    4(%esi),%ebx
227         addl    8(%esi),%edi
228         addl    12(%esi),%ecx
229         movl    %eax,(%esi)
230         movl    %ebx,4(%esi)
231         movl    %edi,8(%esi)
232         movl    %ecx,12(%esi)
233         movl    24(%esp),%eax
234         movl    28(%esp),%ebx
235         movl    32(%esp),%ecx
236         movl    360(%esp),%edi
237         addl    16(%esi),%edx
238         addl    20(%esi),%eax
239         addl    24(%esi),%ebx
240         addl    28(%esi),%ecx
241         movl    %edx,16(%esi)
242         movl    %eax,20(%esi)
243         movl    %ebx,24(%esi)
244         movl    %ecx,28(%esi)
245         leal    356(%esp),%esp
246         subl    $256,%ebp
247         cmpl    8(%esp),%edi
248         jb      .L002loop
249         movl    12(%esp),%esp
250         popl    %edi
251         popl    %esi
252         popl    %ebx
253         popl    %ebp
254         ret
255 .align  64
256 .L001K256:
257 .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
258 .long   66051,67438087,134810123,202182159
259 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
260 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
261 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
262 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
263 .byte   62,0
264 .align  16
265 .L007unrolled:
266         leal    -96(%esp),%esp
267         movl    (%esi),%eax
268         movl    4(%esi),%ebp
269         movl    8(%esi),%ecx
270         movl    12(%esi),%ebx
271         movl    %ebp,4(%esp)
272         xorl    %ecx,%ebp
273         movl    %ecx,8(%esp)
274         movl    %ebx,12(%esp)
275         movl    16(%esi),%edx
276         movl    20(%esi),%ebx
277         movl    24(%esi),%ecx
278         movl    28(%esi),%esi
279         movl    %ebx,20(%esp)
280         movl    %ecx,24(%esp)
281         movl    %esi,28(%esp)
282         jmp     .L010grand_loop
283 .align  16
284 .L010grand_loop:
285         movl    (%edi),%ebx
286         movl    4(%edi),%ecx
287         bswap   %ebx
288         movl    8(%edi),%esi
289         bswap   %ecx
290         movl    %ebx,32(%esp)
291         bswap   %esi
292         movl    %ecx,36(%esp)
293         movl    %esi,40(%esp)
294         movl    12(%edi),%ebx
295         movl    16(%edi),%ecx
296         bswap   %ebx
297         movl    20(%edi),%esi
298         bswap   %ecx
299         movl    %ebx,44(%esp)
300         bswap   %esi
301         movl    %ecx,48(%esp)
302         movl    %esi,52(%esp)
303         movl    24(%edi),%ebx
304         movl    28(%edi),%ecx
305         bswap   %ebx
306         movl    32(%edi),%esi
307         bswap   %ecx
308         movl    %ebx,56(%esp)
309         bswap   %esi
310         movl    %ecx,60(%esp)
311         movl    %esi,64(%esp)
312         movl    36(%edi),%ebx
313         movl    40(%edi),%ecx
314         bswap   %ebx
315         movl    44(%edi),%esi
316         bswap   %ecx
317         movl    %ebx,68(%esp)
318         bswap   %esi
319         movl    %ecx,72(%esp)
320         movl    %esi,76(%esp)
321         movl    48(%edi),%ebx
322         movl    52(%edi),%ecx
323         bswap   %ebx
324         movl    56(%edi),%esi
325         bswap   %ecx
326         movl    %ebx,80(%esp)
327         bswap   %esi
328         movl    %ecx,84(%esp)
329         movl    %esi,88(%esp)
330         movl    60(%edi),%ebx
331         addl    $64,%edi
332         bswap   %ebx
333         movl    %edi,100(%esp)
334         movl    %ebx,92(%esp)
335         movl    %edx,%ecx
336         movl    20(%esp),%esi
337         rorl    $14,%edx
338         movl    24(%esp),%edi
339         xorl    %ecx,%edx
340         movl    32(%esp),%ebx
341         xorl    %edi,%esi
342         rorl    $5,%edx
343         andl    %ecx,%esi
344         movl    %ecx,16(%esp)
345         xorl    %ecx,%edx
346         addl    28(%esp),%ebx
347         xorl    %esi,%edi
348         rorl    $6,%edx
349         movl    %eax,%ecx
350         addl    %edi,%ebx
351         rorl    $9,%ecx
352         movl    %eax,%esi
353         movl    4(%esp),%edi
354         xorl    %eax,%ecx
355         movl    %eax,(%esp)
356         xorl    %edi,%eax
357         rorl    $11,%ecx
358         andl    %eax,%ebp
359         leal    1116352408(%ebx,%edx,1),%edx
360         xorl    %esi,%ecx
361         xorl    %edi,%ebp
362         rorl    $2,%ecx
363         addl    %edx,%ebp
364         addl    12(%esp),%edx
365         addl    %ecx,%ebp
366         movl    %edx,%esi
367         movl    16(%esp),%ecx
368         rorl    $14,%edx
369         movl    20(%esp),%edi
370         xorl    %esi,%edx
371         movl    36(%esp),%ebx
372         xorl    %edi,%ecx
373         rorl    $5,%edx
374         andl    %esi,%ecx
375         movl    %esi,12(%esp)
376         xorl    %esi,%edx
377         addl    24(%esp),%ebx
378         xorl    %ecx,%edi
379         rorl    $6,%edx
380         movl    %ebp,%esi
381         addl    %edi,%ebx
382         rorl    $9,%esi
383         movl    %ebp,%ecx
384         movl    (%esp),%edi
385         xorl    %ebp,%esi
386         movl    %ebp,28(%esp)
387         xorl    %edi,%ebp
388         rorl    $11,%esi
389         andl    %ebp,%eax
390         leal    1899447441(%ebx,%edx,1),%edx
391         xorl    %ecx,%esi
392         xorl    %edi,%eax
393         rorl    $2,%esi
394         addl    %edx,%eax
395         addl    8(%esp),%edx
396         addl    %esi,%eax
397         movl    %edx,%ecx
398         movl    12(%esp),%esi
399         rorl    $14,%edx
400         movl    16(%esp),%edi
401         xorl    %ecx,%edx
402         movl    40(%esp),%ebx
403         xorl    %edi,%esi
404         rorl    $5,%edx
405         andl    %ecx,%esi
406         movl    %ecx,8(%esp)
407         xorl    %ecx,%edx
408         addl    20(%esp),%ebx
409         xorl    %esi,%edi
410         rorl    $6,%edx
411         movl    %eax,%ecx
412         addl    %edi,%ebx
413         rorl    $9,%ecx
414         movl    %eax,%esi
415         movl    28(%esp),%edi
416         xorl    %eax,%ecx
417         movl    %eax,24(%esp)
418         xorl    %edi,%eax
419         rorl    $11,%ecx
420         andl    %eax,%ebp
421         leal    3049323471(%ebx,%edx,1),%edx
422         xorl    %esi,%ecx
423         xorl    %edi,%ebp
424         rorl    $2,%ecx
425         addl    %edx,%ebp
426         addl    4(%esp),%edx
427         addl    %ecx,%ebp
428         movl    %edx,%esi
429         movl    8(%esp),%ecx
430         rorl    $14,%edx
431         movl    12(%esp),%edi
432         xorl    %esi,%edx
433         movl    44(%esp),%ebx
434         xorl    %edi,%ecx
435         rorl    $5,%edx
436         andl    %esi,%ecx
437         movl    %esi,4(%esp)
438         xorl    %esi,%edx
439         addl    16(%esp),%ebx
440         xorl    %ecx,%edi
441         rorl    $6,%edx
442         movl    %ebp,%esi
443         addl    %edi,%ebx
444         rorl    $9,%esi
445         movl    %ebp,%ecx
446         movl    24(%esp),%edi
447         xorl    %ebp,%esi
448         movl    %ebp,20(%esp)
449         xorl    %edi,%ebp
450         rorl    $11,%esi
451         andl    %ebp,%eax
452         leal    3921009573(%ebx,%edx,1),%edx
453         xorl    %ecx,%esi
454         xorl    %edi,%eax
455         rorl    $2,%esi
456         addl    %edx,%eax
457         addl    (%esp),%edx
458         addl    %esi,%eax
459         movl    %edx,%ecx
460         movl    4(%esp),%esi
461         rorl    $14,%edx
462         movl    8(%esp),%edi
463         xorl    %ecx,%edx
464         movl    48(%esp),%ebx
465         xorl    %edi,%esi
466         rorl    $5,%edx
467         andl    %ecx,%esi
468         movl    %ecx,(%esp)
469         xorl    %ecx,%edx
470         addl    12(%esp),%ebx
471         xorl    %esi,%edi
472         rorl    $6,%edx
473         movl    %eax,%ecx
474         addl    %edi,%ebx
475         rorl    $9,%ecx
476         movl    %eax,%esi
477         movl    20(%esp),%edi
478         xorl    %eax,%ecx
479         movl    %eax,16(%esp)
480         xorl    %edi,%eax
481         rorl    $11,%ecx
482         andl    %eax,%ebp
483         leal    961987163(%ebx,%edx,1),%edx
484         xorl    %esi,%ecx
485         xorl    %edi,%ebp
486         rorl    $2,%ecx
487         addl    %edx,%ebp
488         addl    28(%esp),%edx
489         addl    %ecx,%ebp
490         movl    %edx,%esi
491         movl    (%esp),%ecx
492         rorl    $14,%edx
493         movl    4(%esp),%edi
494         xorl    %esi,%edx
495         movl    52(%esp),%ebx
496         xorl    %edi,%ecx
497         rorl    $5,%edx
498         andl    %esi,%ecx
499         movl    %esi,28(%esp)
500         xorl    %esi,%edx
501         addl    8(%esp),%ebx
502         xorl    %ecx,%edi
503         rorl    $6,%edx
504         movl    %ebp,%esi
505         addl    %edi,%ebx
506         rorl    $9,%esi
507         movl    %ebp,%ecx
508         movl    16(%esp),%edi
509         xorl    %ebp,%esi
510         movl    %ebp,12(%esp)
511         xorl    %edi,%ebp
512         rorl    $11,%esi
513         andl    %ebp,%eax
514         leal    1508970993(%ebx,%edx,1),%edx
515         xorl    %ecx,%esi
516         xorl    %edi,%eax
517         rorl    $2,%esi
518         addl    %edx,%eax
519         addl    24(%esp),%edx
520         addl    %esi,%eax
521         movl    %edx,%ecx
522         movl    28(%esp),%esi
523         rorl    $14,%edx
524         movl    (%esp),%edi
525         xorl    %ecx,%edx
526         movl    56(%esp),%ebx
527         xorl    %edi,%esi
528         rorl    $5,%edx
529         andl    %ecx,%esi
530         movl    %ecx,24(%esp)
531         xorl    %ecx,%edx
532         addl    4(%esp),%ebx
533         xorl    %esi,%edi
534         rorl    $6,%edx
535         movl    %eax,%ecx
536         addl    %edi,%ebx
537         rorl    $9,%ecx
538         movl    %eax,%esi
539         movl    12(%esp),%edi
540         xorl    %eax,%ecx
541         movl    %eax,8(%esp)
542         xorl    %edi,%eax
543         rorl    $11,%ecx
544         andl    %eax,%ebp
545         leal    2453635748(%ebx,%edx,1),%edx
546         xorl    %esi,%ecx
547         xorl    %edi,%ebp
548         rorl    $2,%ecx
549         addl    %edx,%ebp
550         addl    20(%esp),%edx
551         addl    %ecx,%ebp
552         movl    %edx,%esi
553         movl    24(%esp),%ecx
554         rorl    $14,%edx
555         movl    28(%esp),%edi
556         xorl    %esi,%edx
557         movl    60(%esp),%ebx
558         xorl    %edi,%ecx
559         rorl    $5,%edx
560         andl    %esi,%ecx
561         movl    %esi,20(%esp)
562         xorl    %esi,%edx
563         addl    (%esp),%ebx
564         xorl    %ecx,%edi
565         rorl    $6,%edx
566         movl    %ebp,%esi
567         addl    %edi,%ebx
568         rorl    $9,%esi
569         movl    %ebp,%ecx
570         movl    8(%esp),%edi
571         xorl    %ebp,%esi
572         movl    %ebp,4(%esp)
573         xorl    %edi,%ebp
574         rorl    $11,%esi
575         andl    %ebp,%eax
576         leal    2870763221(%ebx,%edx,1),%edx
577         xorl    %ecx,%esi
578         xorl    %edi,%eax
579         rorl    $2,%esi
580         addl    %edx,%eax
581         addl    16(%esp),%edx
582         addl    %esi,%eax
583         movl    %edx,%ecx
584         movl    20(%esp),%esi
585         rorl    $14,%edx
586         movl    24(%esp),%edi
587         xorl    %ecx,%edx
588         movl    64(%esp),%ebx
589         xorl    %edi,%esi
590         rorl    $5,%edx
591         andl    %ecx,%esi
592         movl    %ecx,16(%esp)
593         xorl    %ecx,%edx
594         addl    28(%esp),%ebx
595         xorl    %esi,%edi
596         rorl    $6,%edx
597         movl    %eax,%ecx
598         addl    %edi,%ebx
599         rorl    $9,%ecx
600         movl    %eax,%esi
601         movl    4(%esp),%edi
602         xorl    %eax,%ecx
603         movl    %eax,(%esp)
604         xorl    %edi,%eax
605         rorl    $11,%ecx
606         andl    %eax,%ebp
607         leal    3624381080(%ebx,%edx,1),%edx
608         xorl    %esi,%ecx
609         xorl    %edi,%ebp
610         rorl    $2,%ecx
611         addl    %edx,%ebp
612         addl    12(%esp),%edx
613         addl    %ecx,%ebp
614         movl    %edx,%esi
615         movl    16(%esp),%ecx
616         rorl    $14,%edx
617         movl    20(%esp),%edi
618         xorl    %esi,%edx
619         movl    68(%esp),%ebx
620         xorl    %edi,%ecx
621         rorl    $5,%edx
622         andl    %esi,%ecx
623         movl    %esi,12(%esp)
624         xorl    %esi,%edx
625         addl    24(%esp),%ebx
626         xorl    %ecx,%edi
627         rorl    $6,%edx
628         movl    %ebp,%esi
629         addl    %edi,%ebx
630         rorl    $9,%esi
631         movl    %ebp,%ecx
632         movl    (%esp),%edi
633         xorl    %ebp,%esi
634         movl    %ebp,28(%esp)
635         xorl    %edi,%ebp
636         rorl    $11,%esi
637         andl    %ebp,%eax
638         leal    310598401(%ebx,%edx,1),%edx
639         xorl    %ecx,%esi
640         xorl    %edi,%eax
641         rorl    $2,%esi
642         addl    %edx,%eax
643         addl    8(%esp),%edx
644         addl    %esi,%eax
645         movl    %edx,%ecx
646         movl    12(%esp),%esi
647         rorl    $14,%edx
648         movl    16(%esp),%edi
649         xorl    %ecx,%edx
650         movl    72(%esp),%ebx
651         xorl    %edi,%esi
652         rorl    $5,%edx
653         andl    %ecx,%esi
654         movl    %ecx,8(%esp)
655         xorl    %ecx,%edx
656         addl    20(%esp),%ebx
657         xorl    %esi,%edi
658         rorl    $6,%edx
659         movl    %eax,%ecx
660         addl    %edi,%ebx
661         rorl    $9,%ecx
662         movl    %eax,%esi
663         movl    28(%esp),%edi
664         xorl    %eax,%ecx
665         movl    %eax,24(%esp)
666         xorl    %edi,%eax
667         rorl    $11,%ecx
668         andl    %eax,%ebp
669         leal    607225278(%ebx,%edx,1),%edx
670         xorl    %esi,%ecx
671         xorl    %edi,%ebp
672         rorl    $2,%ecx
673         addl    %edx,%ebp
674         addl    4(%esp),%edx
675         addl    %ecx,%ebp
676         movl    %edx,%esi
677         movl    8(%esp),%ecx
678         rorl    $14,%edx
679         movl    12(%esp),%edi
680         xorl    %esi,%edx
681         movl    76(%esp),%ebx
682         xorl    %edi,%ecx
683         rorl    $5,%edx
684         andl    %esi,%ecx
685         movl    %esi,4(%esp)
686         xorl    %esi,%edx
687         addl    16(%esp),%ebx
688         xorl    %ecx,%edi
689         rorl    $6,%edx
690         movl    %ebp,%esi
691         addl    %edi,%ebx
692         rorl    $9,%esi
693         movl    %ebp,%ecx
694         movl    24(%esp),%edi
695         xorl    %ebp,%esi
696         movl    %ebp,20(%esp)
697         xorl    %edi,%ebp
698         rorl    $11,%esi
699         andl    %ebp,%eax
700         leal    1426881987(%ebx,%edx,1),%edx
701         xorl    %ecx,%esi
702         xorl    %edi,%eax
703         rorl    $2,%esi
704         addl    %edx,%eax
705         addl    (%esp),%edx
706         addl    %esi,%eax
707         movl    %edx,%ecx
708         movl    4(%esp),%esi
709         rorl    $14,%edx
710         movl    8(%esp),%edi
711         xorl    %ecx,%edx
712         movl    80(%esp),%ebx
713         xorl    %edi,%esi
714         rorl    $5,%edx
715         andl    %ecx,%esi
716         movl    %ecx,(%esp)
717         xorl    %ecx,%edx
718         addl    12(%esp),%ebx
719         xorl    %esi,%edi
720         rorl    $6,%edx
721         movl    %eax,%ecx
722         addl    %edi,%ebx
723         rorl    $9,%ecx
724         movl    %eax,%esi
725         movl    20(%esp),%edi
726         xorl    %eax,%ecx
727         movl    %eax,16(%esp)
728         xorl    %edi,%eax
729         rorl    $11,%ecx
730         andl    %eax,%ebp
731         leal    1925078388(%ebx,%edx,1),%edx
732         xorl    %esi,%ecx
733         xorl    %edi,%ebp
734         rorl    $2,%ecx
735         addl    %edx,%ebp
736         addl    28(%esp),%edx
737         addl    %ecx,%ebp
738         movl    %edx,%esi
739         movl    (%esp),%ecx
740         rorl    $14,%edx
741         movl    4(%esp),%edi
742         xorl    %esi,%edx
743         movl    84(%esp),%ebx
744         xorl    %edi,%ecx
745         rorl    $5,%edx
746         andl    %esi,%ecx
747         movl    %esi,28(%esp)
748         xorl    %esi,%edx
749         addl    8(%esp),%ebx
750         xorl    %ecx,%edi
751         rorl    $6,%edx
752         movl    %ebp,%esi
753         addl    %edi,%ebx
754         rorl    $9,%esi
755         movl    %ebp,%ecx
756         movl    16(%esp),%edi
757         xorl    %ebp,%esi
758         movl    %ebp,12(%esp)
759         xorl    %edi,%ebp
760         rorl    $11,%esi
761         andl    %ebp,%eax
762         leal    2162078206(%ebx,%edx,1),%edx
763         xorl    %ecx,%esi
764         xorl    %edi,%eax
765         rorl    $2,%esi
766         addl    %edx,%eax
767         addl    24(%esp),%edx
768         addl    %esi,%eax
769         movl    %edx,%ecx
770         movl    28(%esp),%esi
771         rorl    $14,%edx
772         movl    (%esp),%edi
773         xorl    %ecx,%edx
774         movl    88(%esp),%ebx
775         xorl    %edi,%esi
776         rorl    $5,%edx
777         andl    %ecx,%esi
778         movl    %ecx,24(%esp)
779         xorl    %ecx,%edx
780         addl    4(%esp),%ebx
781         xorl    %esi,%edi
782         rorl    $6,%edx
783         movl    %eax,%ecx
784         addl    %edi,%ebx
785         rorl    $9,%ecx
786         movl    %eax,%esi
787         movl    12(%esp),%edi
788         xorl    %eax,%ecx
789         movl    %eax,8(%esp)
790         xorl    %edi,%eax
791         rorl    $11,%ecx
792         andl    %eax,%ebp
793         leal    2614888103(%ebx,%edx,1),%edx
794         xorl    %esi,%ecx
795         xorl    %edi,%ebp
796         rorl    $2,%ecx
797         addl    %edx,%ebp
798         addl    20(%esp),%edx
799         addl    %ecx,%ebp
800         movl    %edx,%esi
801         movl    24(%esp),%ecx
802         rorl    $14,%edx
803         movl    28(%esp),%edi
804         xorl    %esi,%edx
805         movl    92(%esp),%ebx
806         xorl    %edi,%ecx
807         rorl    $5,%edx
808         andl    %esi,%ecx
809         movl    %esi,20(%esp)
810         xorl    %esi,%edx
811         addl    (%esp),%ebx
812         xorl    %ecx,%edi
813         rorl    $6,%edx
814         movl    %ebp,%esi
815         addl    %edi,%ebx
816         rorl    $9,%esi
817         movl    %ebp,%ecx
818         movl    8(%esp),%edi
819         xorl    %ebp,%esi
820         movl    %ebp,4(%esp)
821         xorl    %edi,%ebp
822         rorl    $11,%esi
823         andl    %ebp,%eax
824         leal    3248222580(%ebx,%edx,1),%edx
825         xorl    %ecx,%esi
826         xorl    %edi,%eax
827         movl    36(%esp),%ecx
828         rorl    $2,%esi
829         addl    %edx,%eax
830         addl    16(%esp),%edx
831         addl    %esi,%eax
832         movl    88(%esp),%esi
833         movl    %ecx,%ebx
834         rorl    $11,%ecx
835         movl    %esi,%edi
836         rorl    $2,%esi
837         xorl    %ebx,%ecx
838         shrl    $3,%ebx
839         rorl    $7,%ecx
840         xorl    %edi,%esi
841         xorl    %ecx,%ebx
842         rorl    $17,%esi
843         addl    32(%esp),%ebx
844         shrl    $10,%edi
845         addl    68(%esp),%ebx
846         movl    %edx,%ecx
847         xorl    %esi,%edi
848         movl    20(%esp),%esi
849         rorl    $14,%edx
850         addl    %edi,%ebx
851         movl    24(%esp),%edi
852         xorl    %ecx,%edx
853         movl    %ebx,32(%esp)
854         xorl    %edi,%esi
855         rorl    $5,%edx
856         andl    %ecx,%esi
857         movl    %ecx,16(%esp)
858         xorl    %ecx,%edx
859         addl    28(%esp),%ebx
860         xorl    %esi,%edi
861         rorl    $6,%edx
862         movl    %eax,%ecx
863         addl    %edi,%ebx
864         rorl    $9,%ecx
865         movl    %eax,%esi
866         movl    4(%esp),%edi
867         xorl    %eax,%ecx
868         movl    %eax,(%esp)
869         xorl    %edi,%eax
870         rorl    $11,%ecx
871         andl    %eax,%ebp
872         leal    3835390401(%ebx,%edx,1),%edx
873         xorl    %esi,%ecx
874         xorl    %edi,%ebp
875         movl    40(%esp),%esi
876         rorl    $2,%ecx
877         addl    %edx,%ebp
878         addl    12(%esp),%edx
879         addl    %ecx,%ebp
880         movl    92(%esp),%ecx
881         movl    %esi,%ebx
882         rorl    $11,%esi
883         movl    %ecx,%edi
884         rorl    $2,%ecx
885         xorl    %ebx,%esi
886         shrl    $3,%ebx
887         rorl    $7,%esi
888         xorl    %edi,%ecx
889         xorl    %esi,%ebx
890         rorl    $17,%ecx
891         addl    36(%esp),%ebx
892         shrl    $10,%edi
893         addl    72(%esp),%ebx
894         movl    %edx,%esi
895         xorl    %ecx,%edi
896         movl    16(%esp),%ecx
897         rorl    $14,%edx
898         addl    %edi,%ebx
899         movl    20(%esp),%edi
900         xorl    %esi,%edx
901         movl    %ebx,36(%esp)
902         xorl    %edi,%ecx
903         rorl    $5,%edx
904         andl    %esi,%ecx
905         movl    %esi,12(%esp)
906         xorl    %esi,%edx
907         addl    24(%esp),%ebx
908         xorl    %ecx,%edi
909         rorl    $6,%edx
910         movl    %ebp,%esi
911         addl    %edi,%ebx
912         rorl    $9,%esi
913         movl    %ebp,%ecx
914         movl    (%esp),%edi
915         xorl    %ebp,%esi
916         movl    %ebp,28(%esp)
917         xorl    %edi,%ebp
918         rorl    $11,%esi
919         andl    %ebp,%eax
920         leal    4022224774(%ebx,%edx,1),%edx
921         xorl    %ecx,%esi
922         xorl    %edi,%eax
923         movl    44(%esp),%ecx
924         rorl    $2,%esi
925         addl    %edx,%eax
926         addl    8(%esp),%edx
927         addl    %esi,%eax
928         movl    32(%esp),%esi
929         movl    %ecx,%ebx
930         rorl    $11,%ecx
931         movl    %esi,%edi
932         rorl    $2,%esi
933         xorl    %ebx,%ecx
934         shrl    $3,%ebx
935         rorl    $7,%ecx
936         xorl    %edi,%esi
937         xorl    %ecx,%ebx
938         rorl    $17,%esi
939         addl    40(%esp),%ebx
940         shrl    $10,%edi
941         addl    76(%esp),%ebx
942         movl    %edx,%ecx
943         xorl    %esi,%edi
944         movl    12(%esp),%esi
945         rorl    $14,%edx
946         addl    %edi,%ebx
947         movl    16(%esp),%edi
948         xorl    %ecx,%edx
949         movl    %ebx,40(%esp)
950         xorl    %edi,%esi
951         rorl    $5,%edx
952         andl    %ecx,%esi
953         movl    %ecx,8(%esp)
954         xorl    %ecx,%edx
955         addl    20(%esp),%ebx
956         xorl    %esi,%edi
957         rorl    $6,%edx
958         movl    %eax,%ecx
959         addl    %edi,%ebx
960         rorl    $9,%ecx
961         movl    %eax,%esi
962         movl    28(%esp),%edi
963         xorl    %eax,%ecx
964         movl    %eax,24(%esp)
965         xorl    %edi,%eax
966         rorl    $11,%ecx
967         andl    %eax,%ebp
968         leal    264347078(%ebx,%edx,1),%edx
969         xorl    %esi,%ecx
970         xorl    %edi,%ebp
971         movl    48(%esp),%esi
972         rorl    $2,%ecx
973         addl    %edx,%ebp
974         addl    4(%esp),%edx
975         addl    %ecx,%ebp
976         movl    36(%esp),%ecx
977         movl    %esi,%ebx
978         rorl    $11,%esi
979         movl    %ecx,%edi
980         rorl    $2,%ecx
981         xorl    %ebx,%esi
982         shrl    $3,%ebx
983         rorl    $7,%esi
984         xorl    %edi,%ecx
985         xorl    %esi,%ebx
986         rorl    $17,%ecx
987         addl    44(%esp),%ebx
988         shrl    $10,%edi
989         addl    80(%esp),%ebx
990         movl    %edx,%esi
991         xorl    %ecx,%edi
992         movl    8(%esp),%ecx
993         rorl    $14,%edx
994         addl    %edi,%ebx
995         movl    12(%esp),%edi
996         xorl    %esi,%edx
997         movl    %ebx,44(%esp)
998         xorl    %edi,%ecx
999         rorl    $5,%edx
1000         andl    %esi,%ecx
1001         movl    %esi,4(%esp)
1002         xorl    %esi,%edx
1003         addl    16(%esp),%ebx
1004         xorl    %ecx,%edi
1005         rorl    $6,%edx
1006         movl    %ebp,%esi
1007         addl    %edi,%ebx
1008         rorl    $9,%esi
1009         movl    %ebp,%ecx
1010         movl    24(%esp),%edi
1011         xorl    %ebp,%esi
1012         movl    %ebp,20(%esp)
1013         xorl    %edi,%ebp
1014         rorl    $11,%esi
1015         andl    %ebp,%eax
1016         leal    604807628(%ebx,%edx,1),%edx
1017         xorl    %ecx,%esi
1018         xorl    %edi,%eax
1019         movl    52(%esp),%ecx
1020         rorl    $2,%esi
1021         addl    %edx,%eax
1022         addl    (%esp),%edx
1023         addl    %esi,%eax
1024         movl    40(%esp),%esi
1025         movl    %ecx,%ebx
1026         rorl    $11,%ecx
1027         movl    %esi,%edi
1028         rorl    $2,%esi
1029         xorl    %ebx,%ecx
1030         shrl    $3,%ebx
1031         rorl    $7,%ecx
1032         xorl    %edi,%esi
1033         xorl    %ecx,%ebx
1034         rorl    $17,%esi
1035         addl    48(%esp),%ebx
1036         shrl    $10,%edi
1037         addl    84(%esp),%ebx
1038         movl    %edx,%ecx
1039         xorl    %esi,%edi
1040         movl    4(%esp),%esi
1041         rorl    $14,%edx
1042         addl    %edi,%ebx
1043         movl    8(%esp),%edi
1044         xorl    %ecx,%edx
1045         movl    %ebx,48(%esp)
1046         xorl    %edi,%esi
1047         rorl    $5,%edx
1048         andl    %ecx,%esi
1049         movl    %ecx,(%esp)
1050         xorl    %ecx,%edx
1051         addl    12(%esp),%ebx
1052         xorl    %esi,%edi
1053         rorl    $6,%edx
1054         movl    %eax,%ecx
1055         addl    %edi,%ebx
1056         rorl    $9,%ecx
1057         movl    %eax,%esi
1058         movl    20(%esp),%edi
1059         xorl    %eax,%ecx
1060         movl    %eax,16(%esp)
1061         xorl    %edi,%eax
1062         rorl    $11,%ecx
1063         andl    %eax,%ebp
1064         leal    770255983(%ebx,%edx,1),%edx
1065         xorl    %esi,%ecx
1066         xorl    %edi,%ebp
1067         movl    56(%esp),%esi
1068         rorl    $2,%ecx
1069         addl    %edx,%ebp
1070         addl    28(%esp),%edx
1071         addl    %ecx,%ebp
1072         movl    44(%esp),%ecx
1073         movl    %esi,%ebx
1074         rorl    $11,%esi
1075         movl    %ecx,%edi
1076         rorl    $2,%ecx
1077         xorl    %ebx,%esi
1078         shrl    $3,%ebx
1079         rorl    $7,%esi
1080         xorl    %edi,%ecx
1081         xorl    %esi,%ebx
1082         rorl    $17,%ecx
1083         addl    52(%esp),%ebx
1084         shrl    $10,%edi
1085         addl    88(%esp),%ebx
1086         movl    %edx,%esi
1087         xorl    %ecx,%edi
1088         movl    (%esp),%ecx
1089         rorl    $14,%edx
1090         addl    %edi,%ebx
1091         movl    4(%esp),%edi
1092         xorl    %esi,%edx
1093         movl    %ebx,52(%esp)
1094         xorl    %edi,%ecx
1095         rorl    $5,%edx
1096         andl    %esi,%ecx
1097         movl    %esi,28(%esp)
1098         xorl    %esi,%edx
1099         addl    8(%esp),%ebx
1100         xorl    %ecx,%edi
1101         rorl    $6,%edx
1102         movl    %ebp,%esi
1103         addl    %edi,%ebx
1104         rorl    $9,%esi
1105         movl    %ebp,%ecx
1106         movl    16(%esp),%edi
1107         xorl    %ebp,%esi
1108         movl    %ebp,12(%esp)
1109         xorl    %edi,%ebp
1110         rorl    $11,%esi
1111         andl    %ebp,%eax
1112         leal    1249150122(%ebx,%edx,1),%edx
1113         xorl    %ecx,%esi
1114         xorl    %edi,%eax
1115         movl    60(%esp),%ecx
1116         rorl    $2,%esi
1117         addl    %edx,%eax
1118         addl    24(%esp),%edx
1119         addl    %esi,%eax
1120         movl    48(%esp),%esi
1121         movl    %ecx,%ebx
1122         rorl    $11,%ecx
1123         movl    %esi,%edi
1124         rorl    $2,%esi
1125         xorl    %ebx,%ecx
1126         shrl    $3,%ebx
1127         rorl    $7,%ecx
1128         xorl    %edi,%esi
1129         xorl    %ecx,%ebx
1130         rorl    $17,%esi
1131         addl    56(%esp),%ebx
1132         shrl    $10,%edi
1133         addl    92(%esp),%ebx
1134         movl    %edx,%ecx
1135         xorl    %esi,%edi
1136         movl    28(%esp),%esi
1137         rorl    $14,%edx
1138         addl    %edi,%ebx
1139         movl    (%esp),%edi
1140         xorl    %ecx,%edx
1141         movl    %ebx,56(%esp)
1142         xorl    %edi,%esi
1143         rorl    $5,%edx
1144         andl    %ecx,%esi
1145         movl    %ecx,24(%esp)
1146         xorl    %ecx,%edx
1147         addl    4(%esp),%ebx
1148         xorl    %esi,%edi
1149         rorl    $6,%edx
1150         movl    %eax,%ecx
1151         addl    %edi,%ebx
1152         rorl    $9,%ecx
1153         movl    %eax,%esi
1154         movl    12(%esp),%edi
1155         xorl    %eax,%ecx
1156         movl    %eax,8(%esp)
1157         xorl    %edi,%eax
1158         rorl    $11,%ecx
1159         andl    %eax,%ebp
1160         leal    1555081692(%ebx,%edx,1),%edx
1161         xorl    %esi,%ecx
1162         xorl    %edi,%ebp
1163         movl    64(%esp),%esi
1164         rorl    $2,%ecx
1165         addl    %edx,%ebp
1166         addl    20(%esp),%edx
1167         addl    %ecx,%ebp
1168         movl    52(%esp),%ecx
1169         movl    %esi,%ebx
1170         rorl    $11,%esi
1171         movl    %ecx,%edi
1172         rorl    $2,%ecx
1173         xorl    %ebx,%esi
1174         shrl    $3,%ebx
1175         rorl    $7,%esi
1176         xorl    %edi,%ecx
1177         xorl    %esi,%ebx
1178         rorl    $17,%ecx
1179         addl    60(%esp),%ebx
1180         shrl    $10,%edi
1181         addl    32(%esp),%ebx
1182         movl    %edx,%esi
1183         xorl    %ecx,%edi
1184         movl    24(%esp),%ecx
1185         rorl    $14,%edx
1186         addl    %edi,%ebx
1187         movl    28(%esp),%edi
1188         xorl    %esi,%edx
1189         movl    %ebx,60(%esp)
1190         xorl    %edi,%ecx
1191         rorl    $5,%edx
1192         andl    %esi,%ecx
1193         movl    %esi,20(%esp)
1194         xorl    %esi,%edx
1195         addl    (%esp),%ebx
1196         xorl    %ecx,%edi
1197         rorl    $6,%edx
1198         movl    %ebp,%esi
1199         addl    %edi,%ebx
1200         rorl    $9,%esi
1201         movl    %ebp,%ecx
1202         movl    8(%esp),%edi
1203         xorl    %ebp,%esi
1204         movl    %ebp,4(%esp)
1205         xorl    %edi,%ebp
1206         rorl    $11,%esi
1207         andl    %ebp,%eax
1208         leal    1996064986(%ebx,%edx,1),%edx
1209         xorl    %ecx,%esi
1210         xorl    %edi,%eax
1211         movl    68(%esp),%ecx
1212         rorl    $2,%esi
1213         addl    %edx,%eax
1214         addl    16(%esp),%edx
1215         addl    %esi,%eax
1216         movl    56(%esp),%esi
1217         movl    %ecx,%ebx
1218         rorl    $11,%ecx
1219         movl    %esi,%edi
1220         rorl    $2,%esi
1221         xorl    %ebx,%ecx
1222         shrl    $3,%ebx
1223         rorl    $7,%ecx
1224         xorl    %edi,%esi
1225         xorl    %ecx,%ebx
1226         rorl    $17,%esi
1227         addl    64(%esp),%ebx
1228         shrl    $10,%edi
1229         addl    36(%esp),%ebx
1230         movl    %edx,%ecx
1231         xorl    %esi,%edi
1232         movl    20(%esp),%esi
1233         rorl    $14,%edx
1234         addl    %edi,%ebx
1235         movl    24(%esp),%edi
1236         xorl    %ecx,%edx
1237         movl    %ebx,64(%esp)
1238         xorl    %edi,%esi
1239         rorl    $5,%edx
1240         andl    %ecx,%esi
1241         movl    %ecx,16(%esp)
1242         xorl    %ecx,%edx
1243         addl    28(%esp),%ebx
1244         xorl    %esi,%edi
1245         rorl    $6,%edx
1246         movl    %eax,%ecx
1247         addl    %edi,%ebx
1248         rorl    $9,%ecx
1249         movl    %eax,%esi
1250         movl    4(%esp),%edi
1251         xorl    %eax,%ecx
1252         movl    %eax,(%esp)
1253         xorl    %edi,%eax
1254         rorl    $11,%ecx
1255         andl    %eax,%ebp
1256         leal    2554220882(%ebx,%edx,1),%edx
1257         xorl    %esi,%ecx
1258         xorl    %edi,%ebp
1259         movl    72(%esp),%esi
1260         rorl    $2,%ecx
1261         addl    %edx,%ebp
1262         addl    12(%esp),%edx
1263         addl    %ecx,%ebp
1264         movl    60(%esp),%ecx
1265         movl    %esi,%ebx
1266         rorl    $11,%esi
1267         movl    %ecx,%edi
1268         rorl    $2,%ecx
1269         xorl    %ebx,%esi
1270         shrl    $3,%ebx
1271         rorl    $7,%esi
1272         xorl    %edi,%ecx
1273         xorl    %esi,%ebx
1274         rorl    $17,%ecx
1275         addl    68(%esp),%ebx
1276         shrl    $10,%edi
1277         addl    40(%esp),%ebx
1278         movl    %edx,%esi
1279         xorl    %ecx,%edi
1280         movl    16(%esp),%ecx
1281         rorl    $14,%edx
1282         addl    %edi,%ebx
1283         movl    20(%esp),%edi
1284         xorl    %esi,%edx
1285         movl    %ebx,68(%esp)
1286         xorl    %edi,%ecx
1287         rorl    $5,%edx
1288         andl    %esi,%ecx
1289         movl    %esi,12(%esp)
1290         xorl    %esi,%edx
1291         addl    24(%esp),%ebx
1292         xorl    %ecx,%edi
1293         rorl    $6,%edx
1294         movl    %ebp,%esi
1295         addl    %edi,%ebx
1296         rorl    $9,%esi
1297         movl    %ebp,%ecx
1298         movl    (%esp),%edi
1299         xorl    %ebp,%esi
1300         movl    %ebp,28(%esp)
1301         xorl    %edi,%ebp
1302         rorl    $11,%esi
1303         andl    %ebp,%eax
1304         leal    2821834349(%ebx,%edx,1),%edx
1305         xorl    %ecx,%esi
1306         xorl    %edi,%eax
1307         movl    76(%esp),%ecx
1308         rorl    $2,%esi
1309         addl    %edx,%eax
1310         addl    8(%esp),%edx
1311         addl    %esi,%eax
1312         movl    64(%esp),%esi
1313         movl    %ecx,%ebx
1314         rorl    $11,%ecx
1315         movl    %esi,%edi
1316         rorl    $2,%esi
1317         xorl    %ebx,%ecx
1318         shrl    $3,%ebx
1319         rorl    $7,%ecx
1320         xorl    %edi,%esi
1321         xorl    %ecx,%ebx
1322         rorl    $17,%esi
1323         addl    72(%esp),%ebx
1324         shrl    $10,%edi
1325         addl    44(%esp),%ebx
1326         movl    %edx,%ecx
1327         xorl    %esi,%edi
1328         movl    12(%esp),%esi
1329         rorl    $14,%edx
1330         addl    %edi,%ebx
1331         movl    16(%esp),%edi
1332         xorl    %ecx,%edx
1333         movl    %ebx,72(%esp)
1334         xorl    %edi,%esi
1335         rorl    $5,%edx
1336         andl    %ecx,%esi
1337         movl    %ecx,8(%esp)
1338         xorl    %ecx,%edx
1339         addl    20(%esp),%ebx
1340         xorl    %esi,%edi
1341         rorl    $6,%edx
1342         movl    %eax,%ecx
1343         addl    %edi,%ebx
1344         rorl    $9,%ecx
1345         movl    %eax,%esi
1346         movl    28(%esp),%edi
1347         xorl    %eax,%ecx
1348         movl    %eax,24(%esp)
1349         xorl    %edi,%eax
1350         rorl    $11,%ecx
1351         andl    %eax,%ebp
1352         leal    2952996808(%ebx,%edx,1),%edx
1353         xorl    %esi,%ecx
1354         xorl    %edi,%ebp
1355         movl    80(%esp),%esi
1356         rorl    $2,%ecx
1357         addl    %edx,%ebp
1358         addl    4(%esp),%edx
1359         addl    %ecx,%ebp
1360         movl    68(%esp),%ecx
1361         movl    %esi,%ebx
1362         rorl    $11,%esi
1363         movl    %ecx,%edi
1364         rorl    $2,%ecx
1365         xorl    %ebx,%esi
1366         shrl    $3,%ebx
1367         rorl    $7,%esi
1368         xorl    %edi,%ecx
1369         xorl    %esi,%ebx
1370         rorl    $17,%ecx
1371         addl    76(%esp),%ebx
1372         shrl    $10,%edi
1373         addl    48(%esp),%ebx
1374         movl    %edx,%esi
1375         xorl    %ecx,%edi
1376         movl    8(%esp),%ecx
1377         rorl    $14,%edx
1378         addl    %edi,%ebx
1379         movl    12(%esp),%edi
1380         xorl    %esi,%edx
1381         movl    %ebx,76(%esp)
1382         xorl    %edi,%ecx
1383         rorl    $5,%edx
1384         andl    %esi,%ecx
1385         movl    %esi,4(%esp)
1386         xorl    %esi,%edx
1387         addl    16(%esp),%ebx
1388         xorl    %ecx,%edi
1389         rorl    $6,%edx
1390         movl    %ebp,%esi
1391         addl    %edi,%ebx
1392         rorl    $9,%esi
1393         movl    %ebp,%ecx
1394         movl    24(%esp),%edi
1395         xorl    %ebp,%esi
1396         movl    %ebp,20(%esp)
1397         xorl    %edi,%ebp
1398         rorl    $11,%esi
1399         andl    %ebp,%eax
1400         leal    3210313671(%ebx,%edx,1),%edx
1401         xorl    %ecx,%esi
1402         xorl    %edi,%eax
1403         movl    84(%esp),%ecx
1404         rorl    $2,%esi
1405         addl    %edx,%eax
1406         addl    (%esp),%edx
1407         addl    %esi,%eax
1408         movl    72(%esp),%esi
1409         movl    %ecx,%ebx
1410         rorl    $11,%ecx
1411         movl    %esi,%edi
1412         rorl    $2,%esi
1413         xorl    %ebx,%ecx
1414         shrl    $3,%ebx
1415         rorl    $7,%ecx
1416         xorl    %edi,%esi
1417         xorl    %ecx,%ebx
1418         rorl    $17,%esi
1419         addl    80(%esp),%ebx
1420         shrl    $10,%edi
1421         addl    52(%esp),%ebx
1422         movl    %edx,%ecx
1423         xorl    %esi,%edi
1424         movl    4(%esp),%esi
1425         rorl    $14,%edx
1426         addl    %edi,%ebx
1427         movl    8(%esp),%edi
1428         xorl    %ecx,%edx
1429         movl    %ebx,80(%esp)
1430         xorl    %edi,%esi
1431         rorl    $5,%edx
1432         andl    %ecx,%esi
1433         movl    %ecx,(%esp)
1434         xorl    %ecx,%edx
1435         addl    12(%esp),%ebx
1436         xorl    %esi,%edi
1437         rorl    $6,%edx
1438         movl    %eax,%ecx
1439         addl    %edi,%ebx
1440         rorl    $9,%ecx
1441         movl    %eax,%esi
1442         movl    20(%esp),%edi
1443         xorl    %eax,%ecx
1444         movl    %eax,16(%esp)
1445         xorl    %edi,%eax
1446         rorl    $11,%ecx
1447         andl    %eax,%ebp
1448         leal    3336571891(%ebx,%edx,1),%edx
1449         xorl    %esi,%ecx
1450         xorl    %edi,%ebp
1451         movl    88(%esp),%esi
1452         rorl    $2,%ecx
1453         addl    %edx,%ebp
1454         addl    28(%esp),%edx
1455         addl    %ecx,%ebp
1456         movl    76(%esp),%ecx
1457         movl    %esi,%ebx
1458         rorl    $11,%esi
1459         movl    %ecx,%edi
1460         rorl    $2,%ecx
1461         xorl    %ebx,%esi
1462         shrl    $3,%ebx
1463         rorl    $7,%esi
1464         xorl    %edi,%ecx
1465         xorl    %esi,%ebx
1466         rorl    $17,%ecx
1467         addl    84(%esp),%ebx
1468         shrl    $10,%edi
1469         addl    56(%esp),%ebx
1470         movl    %edx,%esi
1471         xorl    %ecx,%edi
1472         movl    (%esp),%ecx
1473         rorl    $14,%edx
1474         addl    %edi,%ebx
1475         movl    4(%esp),%edi
1476         xorl    %esi,%edx
1477         movl    %ebx,84(%esp)
1478         xorl    %edi,%ecx
1479         rorl    $5,%edx
1480         andl    %esi,%ecx
1481         movl    %esi,28(%esp)
1482         xorl    %esi,%edx
1483         addl    8(%esp),%ebx
1484         xorl    %ecx,%edi
1485         rorl    $6,%edx
1486         movl    %ebp,%esi
1487         addl    %edi,%ebx
1488         rorl    $9,%esi
1489         movl    %ebp,%ecx
1490         movl    16(%esp),%edi
1491         xorl    %ebp,%esi
1492         movl    %ebp,12(%esp)
1493         xorl    %edi,%ebp
1494         rorl    $11,%esi
1495         andl    %ebp,%eax
1496         leal    3584528711(%ebx,%edx,1),%edx
1497         xorl    %ecx,%esi
1498         xorl    %edi,%eax
1499         movl    92(%esp),%ecx
1500         rorl    $2,%esi
1501         addl    %edx,%eax
1502         addl    24(%esp),%edx
1503         addl    %esi,%eax
1504         movl    80(%esp),%esi
1505         movl    %ecx,%ebx
1506         rorl    $11,%ecx
1507         movl    %esi,%edi
1508         rorl    $2,%esi
1509         xorl    %ebx,%ecx
1510         shrl    $3,%ebx
1511         rorl    $7,%ecx
1512         xorl    %edi,%esi
1513         xorl    %ecx,%ebx
1514         rorl    $17,%esi
1515         addl    88(%esp),%ebx
1516         shrl    $10,%edi
1517         addl    60(%esp),%ebx
1518         movl    %edx,%ecx
1519         xorl    %esi,%edi
1520         movl    28(%esp),%esi
1521         rorl    $14,%edx
1522         addl    %edi,%ebx
1523         movl    (%esp),%edi
1524         xorl    %ecx,%edx
1525         movl    %ebx,88(%esp)
1526         xorl    %edi,%esi
1527         rorl    $5,%edx
1528         andl    %ecx,%esi
1529         movl    %ecx,24(%esp)
1530         xorl    %ecx,%edx
1531         addl    4(%esp),%ebx
1532         xorl    %esi,%edi
1533         rorl    $6,%edx
1534         movl    %eax,%ecx
1535         addl    %edi,%ebx
1536         rorl    $9,%ecx
1537         movl    %eax,%esi
1538         movl    12(%esp),%edi
1539         xorl    %eax,%ecx
1540         movl    %eax,8(%esp)
1541         xorl    %edi,%eax
1542         rorl    $11,%ecx
1543         andl    %eax,%ebp
1544         leal    113926993(%ebx,%edx,1),%edx
1545         xorl    %esi,%ecx
1546         xorl    %edi,%ebp
1547         movl    32(%esp),%esi
1548         rorl    $2,%ecx
1549         addl    %edx,%ebp
1550         addl    20(%esp),%edx
1551         addl    %ecx,%ebp
1552         movl    84(%esp),%ecx
1553         movl    %esi,%ebx
1554         rorl    $11,%esi
1555         movl    %ecx,%edi
1556         rorl    $2,%ecx
1557         xorl    %ebx,%esi
1558         shrl    $3,%ebx
1559         rorl    $7,%esi
1560         xorl    %edi,%ecx
1561         xorl    %esi,%ebx
1562         rorl    $17,%ecx
1563         addl    92(%esp),%ebx
1564         shrl    $10,%edi
1565         addl    64(%esp),%ebx
1566         movl    %edx,%esi
1567         xorl    %ecx,%edi
1568         movl    24(%esp),%ecx
1569         rorl    $14,%edx
1570         addl    %edi,%ebx
1571         movl    28(%esp),%edi
1572         xorl    %esi,%edx
1573         movl    %ebx,92(%esp)
1574         xorl    %edi,%ecx
1575         rorl    $5,%edx
1576         andl    %esi,%ecx
1577         movl    %esi,20(%esp)
1578         xorl    %esi,%edx
1579         addl    (%esp),%ebx
1580         xorl    %ecx,%edi
1581         rorl    $6,%edx
1582         movl    %ebp,%esi
1583         addl    %edi,%ebx
1584         rorl    $9,%esi
1585         movl    %ebp,%ecx
1586         movl    8(%esp),%edi
1587         xorl    %ebp,%esi
1588         movl    %ebp,4(%esp)
1589         xorl    %edi,%ebp
1590         rorl    $11,%esi
1591         andl    %ebp,%eax
1592         leal    338241895(%ebx,%edx,1),%edx
1593         xorl    %ecx,%esi
1594         xorl    %edi,%eax
1595         movl    36(%esp),%ecx
1596         rorl    $2,%esi
1597         addl    %edx,%eax
1598         addl    16(%esp),%edx
1599         addl    %esi,%eax
1600         movl    88(%esp),%esi
1601         movl    %ecx,%ebx
1602         rorl    $11,%ecx
1603         movl    %esi,%edi
1604         rorl    $2,%esi
1605         xorl    %ebx,%ecx
1606         shrl    $3,%ebx
1607         rorl    $7,%ecx
1608         xorl    %edi,%esi
1609         xorl    %ecx,%ebx
1610         rorl    $17,%esi
1611         addl    32(%esp),%ebx
1612         shrl    $10,%edi
1613         addl    68(%esp),%ebx
1614         movl    %edx,%ecx
1615         xorl    %esi,%edi
1616         movl    20(%esp),%esi
1617         rorl    $14,%edx
1618         addl    %edi,%ebx
1619         movl    24(%esp),%edi
1620         xorl    %ecx,%edx
1621         movl    %ebx,32(%esp)
1622         xorl    %edi,%esi
1623         rorl    $5,%edx
1624         andl    %ecx,%esi
1625         movl    %ecx,16(%esp)
1626         xorl    %ecx,%edx
1627         addl    28(%esp),%ebx
1628         xorl    %esi,%edi
1629         rorl    $6,%edx
1630         movl    %eax,%ecx
1631         addl    %edi,%ebx
1632         rorl    $9,%ecx
1633         movl    %eax,%esi
1634         movl    4(%esp),%edi
1635         xorl    %eax,%ecx
1636         movl    %eax,(%esp)
1637         xorl    %edi,%eax
1638         rorl    $11,%ecx
1639         andl    %eax,%ebp
1640         leal    666307205(%ebx,%edx,1),%edx
1641         xorl    %esi,%ecx
1642         xorl    %edi,%ebp
1643         movl    40(%esp),%esi
1644         rorl    $2,%ecx
1645         addl    %edx,%ebp
1646         addl    12(%esp),%edx
1647         addl    %ecx,%ebp
1648         movl    92(%esp),%ecx
1649         movl    %esi,%ebx
1650         rorl    $11,%esi
1651         movl    %ecx,%edi
1652         rorl    $2,%ecx
1653         xorl    %ebx,%esi
1654         shrl    $3,%ebx
1655         rorl    $7,%esi
1656         xorl    %edi,%ecx
1657         xorl    %esi,%ebx
1658         rorl    $17,%ecx
1659         addl    36(%esp),%ebx
1660         shrl    $10,%edi
1661         addl    72(%esp),%ebx
1662         movl    %edx,%esi
1663         xorl    %ecx,%edi
1664         movl    16(%esp),%ecx
1665         rorl    $14,%edx
1666         addl    %edi,%ebx
1667         movl    20(%esp),%edi
1668         xorl    %esi,%edx
1669         movl    %ebx,36(%esp)
1670         xorl    %edi,%ecx
1671         rorl    $5,%edx
1672         andl    %esi,%ecx
1673         movl    %esi,12(%esp)
1674         xorl    %esi,%edx
1675         addl    24(%esp),%ebx
1676         xorl    %ecx,%edi
1677         rorl    $6,%edx
1678         movl    %ebp,%esi
1679         addl    %edi,%ebx
1680         rorl    $9,%esi
1681         movl    %ebp,%ecx
1682         movl    (%esp),%edi
1683         xorl    %ebp,%esi
1684         movl    %ebp,28(%esp)
1685         xorl    %edi,%ebp
1686         rorl    $11,%esi
1687         andl    %ebp,%eax
1688         leal    773529912(%ebx,%edx,1),%edx
1689         xorl    %ecx,%esi
1690         xorl    %edi,%eax
1691         movl    44(%esp),%ecx
1692         rorl    $2,%esi
1693         addl    %edx,%eax
1694         addl    8(%esp),%edx
1695         addl    %esi,%eax
1696         movl    32(%esp),%esi
1697         movl    %ecx,%ebx
1698         rorl    $11,%ecx
1699         movl    %esi,%edi
1700         rorl    $2,%esi
1701         xorl    %ebx,%ecx
1702         shrl    $3,%ebx
1703         rorl    $7,%ecx
1704         xorl    %edi,%esi
1705         xorl    %ecx,%ebx
1706         rorl    $17,%esi
1707         addl    40(%esp),%ebx
1708         shrl    $10,%edi
1709         addl    76(%esp),%ebx
1710         movl    %edx,%ecx
1711         xorl    %esi,%edi
1712         movl    12(%esp),%esi
1713         rorl    $14,%edx
1714         addl    %edi,%ebx
1715         movl    16(%esp),%edi
1716         xorl    %ecx,%edx
1717         movl    %ebx,40(%esp)
1718         xorl    %edi,%esi
1719         rorl    $5,%edx
1720         andl    %ecx,%esi
1721         movl    %ecx,8(%esp)
1722         xorl    %ecx,%edx
1723         addl    20(%esp),%ebx
1724         xorl    %esi,%edi
1725         rorl    $6,%edx
1726         movl    %eax,%ecx
1727         addl    %edi,%ebx
1728         rorl    $9,%ecx
1729         movl    %eax,%esi
1730         movl    28(%esp),%edi
1731         xorl    %eax,%ecx
1732         movl    %eax,24(%esp)
1733         xorl    %edi,%eax
1734         rorl    $11,%ecx
1735         andl    %eax,%ebp
1736         leal    1294757372(%ebx,%edx,1),%edx
1737         xorl    %esi,%ecx
1738         xorl    %edi,%ebp
1739         movl    48(%esp),%esi
1740         rorl    $2,%ecx
1741         addl    %edx,%ebp
1742         addl    4(%esp),%edx
1743         addl    %ecx,%ebp
1744         movl    36(%esp),%ecx
1745         movl    %esi,%ebx
1746         rorl    $11,%esi
1747         movl    %ecx,%edi
1748         rorl    $2,%ecx
1749         xorl    %ebx,%esi
1750         shrl    $3,%ebx
1751         rorl    $7,%esi
1752         xorl    %edi,%ecx
1753         xorl    %esi,%ebx
1754         rorl    $17,%ecx
1755         addl    44(%esp),%ebx
1756         shrl    $10,%edi
1757         addl    80(%esp),%ebx
1758         movl    %edx,%esi
1759         xorl    %ecx,%edi
1760         movl    8(%esp),%ecx
1761         rorl    $14,%edx
1762         addl    %edi,%ebx
1763         movl    12(%esp),%edi
1764         xorl    %esi,%edx
1765         movl    %ebx,44(%esp)
1766         xorl    %edi,%ecx
1767         rorl    $5,%edx
1768         andl    %esi,%ecx
1769         movl    %esi,4(%esp)
1770         xorl    %esi,%edx
1771         addl    16(%esp),%ebx
1772         xorl    %ecx,%edi
1773         rorl    $6,%edx
1774         movl    %ebp,%esi
1775         addl    %edi,%ebx
1776         rorl    $9,%esi
1777         movl    %ebp,%ecx
1778         movl    24(%esp),%edi
1779         xorl    %ebp,%esi
1780         movl    %ebp,20(%esp)
1781         xorl    %edi,%ebp
1782         rorl    $11,%esi
1783         andl    %ebp,%eax
1784         leal    1396182291(%ebx,%edx,1),%edx
1785         xorl    %ecx,%esi
1786         xorl    %edi,%eax
1787         movl    52(%esp),%ecx
1788         rorl    $2,%esi
1789         addl    %edx,%eax
1790         addl    (%esp),%edx
1791         addl    %esi,%eax
1792         movl    40(%esp),%esi
1793         movl    %ecx,%ebx
1794         rorl    $11,%ecx
1795         movl    %esi,%edi
1796         rorl    $2,%esi
1797         xorl    %ebx,%ecx
1798         shrl    $3,%ebx
1799         rorl    $7,%ecx
1800         xorl    %edi,%esi
1801         xorl    %ecx,%ebx
1802         rorl    $17,%esi
1803         addl    48(%esp),%ebx
1804         shrl    $10,%edi
1805         addl    84(%esp),%ebx
1806         movl    %edx,%ecx
1807         xorl    %esi,%edi
1808         movl    4(%esp),%esi
1809         rorl    $14,%edx
1810         addl    %edi,%ebx
1811         movl    8(%esp),%edi
1812         xorl    %ecx,%edx
1813         movl    %ebx,48(%esp)
1814         xorl    %edi,%esi
1815         rorl    $5,%edx
1816         andl    %ecx,%esi
1817         movl    %ecx,(%esp)
1818         xorl    %ecx,%edx
1819         addl    12(%esp),%ebx
1820         xorl    %esi,%edi
1821         rorl    $6,%edx
1822         movl    %eax,%ecx
1823         addl    %edi,%ebx
1824         rorl    $9,%ecx
1825         movl    %eax,%esi
1826         movl    20(%esp),%edi
1827         xorl    %eax,%ecx
1828         movl    %eax,16(%esp)
1829         xorl    %edi,%eax
1830         rorl    $11,%ecx
1831         andl    %eax,%ebp
1832         leal    1695183700(%ebx,%edx,1),%edx
1833         xorl    %esi,%ecx
1834         xorl    %edi,%ebp
1835         movl    56(%esp),%esi
1836         rorl    $2,%ecx
1837         addl    %edx,%ebp
1838         addl    28(%esp),%edx
1839         addl    %ecx,%ebp
1840         movl    44(%esp),%ecx
1841         movl    %esi,%ebx
1842         rorl    $11,%esi
1843         movl    %ecx,%edi
1844         rorl    $2,%ecx
1845         xorl    %ebx,%esi
1846         shrl    $3,%ebx
1847         rorl    $7,%esi
1848         xorl    %edi,%ecx
1849         xorl    %esi,%ebx
1850         rorl    $17,%ecx
1851         addl    52(%esp),%ebx
1852         shrl    $10,%edi
1853         addl    88(%esp),%ebx
1854         movl    %edx,%esi
1855         xorl    %ecx,%edi
1856         movl    (%esp),%ecx
1857         rorl    $14,%edx
1858         addl    %edi,%ebx
1859         movl    4(%esp),%edi
1860         xorl    %esi,%edx
1861         movl    %ebx,52(%esp)
1862         xorl    %edi,%ecx
1863         rorl    $5,%edx
1864         andl    %esi,%ecx
1865         movl    %esi,28(%esp)
1866         xorl    %esi,%edx
1867         addl    8(%esp),%ebx
1868         xorl    %ecx,%edi
1869         rorl    $6,%edx
1870         movl    %ebp,%esi
1871         addl    %edi,%ebx
1872         rorl    $9,%esi
1873         movl    %ebp,%ecx
1874         movl    16(%esp),%edi
1875         xorl    %ebp,%esi
1876         movl    %ebp,12(%esp)
1877         xorl    %edi,%ebp
1878         rorl    $11,%esi
1879         andl    %ebp,%eax
1880         leal    1986661051(%ebx,%edx,1),%edx
1881         xorl    %ecx,%esi
1882         xorl    %edi,%eax
1883         movl    60(%esp),%ecx
1884         rorl    $2,%esi
1885         addl    %edx,%eax
1886         addl    24(%esp),%edx
1887         addl    %esi,%eax
1888         movl    48(%esp),%esi
1889         movl    %ecx,%ebx
1890         rorl    $11,%ecx
1891         movl    %esi,%edi
1892         rorl    $2,%esi
1893         xorl    %ebx,%ecx
1894         shrl    $3,%ebx
1895         rorl    $7,%ecx
1896         xorl    %edi,%esi
1897         xorl    %ecx,%ebx
1898         rorl    $17,%esi
1899         addl    56(%esp),%ebx
1900         shrl    $10,%edi
1901         addl    92(%esp),%ebx
1902         movl    %edx,%ecx
1903         xorl    %esi,%edi
1904         movl    28(%esp),%esi
1905         rorl    $14,%edx
1906         addl    %edi,%ebx
1907         movl    (%esp),%edi
1908         xorl    %ecx,%edx
1909         movl    %ebx,56(%esp)
1910         xorl    %edi,%esi
1911         rorl    $5,%edx
1912         andl    %ecx,%esi
1913         movl    %ecx,24(%esp)
1914         xorl    %ecx,%edx
1915         addl    4(%esp),%ebx
1916         xorl    %esi,%edi
1917         rorl    $6,%edx
1918         movl    %eax,%ecx
1919         addl    %edi,%ebx
1920         rorl    $9,%ecx
1921         movl    %eax,%esi
1922         movl    12(%esp),%edi
1923         xorl    %eax,%ecx
1924         movl    %eax,8(%esp)
1925         xorl    %edi,%eax
1926         rorl    $11,%ecx
1927         andl    %eax,%ebp
1928         leal    2177026350(%ebx,%edx,1),%edx
1929         xorl    %esi,%ecx
1930         xorl    %edi,%ebp
1931         movl    64(%esp),%esi
1932         rorl    $2,%ecx
1933         addl    %edx,%ebp
1934         addl    20(%esp),%edx
1935         addl    %ecx,%ebp
1936         movl    52(%esp),%ecx
1937         movl    %esi,%ebx
1938         rorl    $11,%esi
1939         movl    %ecx,%edi
1940         rorl    $2,%ecx
1941         xorl    %ebx,%esi
1942         shrl    $3,%ebx
1943         rorl    $7,%esi
1944         xorl    %edi,%ecx
1945         xorl    %esi,%ebx
1946         rorl    $17,%ecx
1947         addl    60(%esp),%ebx
1948         shrl    $10,%edi
1949         addl    32(%esp),%ebx
1950         movl    %edx,%esi
1951         xorl    %ecx,%edi
1952         movl    24(%esp),%ecx
1953         rorl    $14,%edx
1954         addl    %edi,%ebx
1955         movl    28(%esp),%edi
1956         xorl    %esi,%edx
1957         movl    %ebx,60(%esp)
1958         xorl    %edi,%ecx
1959         rorl    $5,%edx
1960         andl    %esi,%ecx
1961         movl    %esi,20(%esp)
1962         xorl    %esi,%edx
1963         addl    (%esp),%ebx
1964         xorl    %ecx,%edi
1965         rorl    $6,%edx
1966         movl    %ebp,%esi
1967         addl    %edi,%ebx
1968         rorl    $9,%esi
1969         movl    %ebp,%ecx
1970         movl    8(%esp),%edi
1971         xorl    %ebp,%esi
1972         movl    %ebp,4(%esp)
1973         xorl    %edi,%ebp
1974         rorl    $11,%esi
1975         andl    %ebp,%eax
1976         leal    2456956037(%ebx,%edx,1),%edx
1977         xorl    %ecx,%esi
1978         xorl    %edi,%eax
1979         movl    68(%esp),%ecx
1980         rorl    $2,%esi
1981         addl    %edx,%eax
1982         addl    16(%esp),%edx
1983         addl    %esi,%eax
1984         movl    56(%esp),%esi
1985         movl    %ecx,%ebx
1986         rorl    $11,%ecx
1987         movl    %esi,%edi
1988         rorl    $2,%esi
1989         xorl    %ebx,%ecx
1990         shrl    $3,%ebx
1991         rorl    $7,%ecx
1992         xorl    %edi,%esi
1993         xorl    %ecx,%ebx
1994         rorl    $17,%esi
1995         addl    64(%esp),%ebx
1996         shrl    $10,%edi
1997         addl    36(%esp),%ebx
1998         movl    %edx,%ecx
1999         xorl    %esi,%edi
2000         movl    20(%esp),%esi
2001         rorl    $14,%edx
2002         addl    %edi,%ebx
2003         movl    24(%esp),%edi
2004         xorl    %ecx,%edx
2005         movl    %ebx,64(%esp)
2006         xorl    %edi,%esi
2007         rorl    $5,%edx
2008         andl    %ecx,%esi
2009         movl    %ecx,16(%esp)
2010         xorl    %ecx,%edx
2011         addl    28(%esp),%ebx
2012         xorl    %esi,%edi
2013         rorl    $6,%edx
2014         movl    %eax,%ecx
2015         addl    %edi,%ebx
2016         rorl    $9,%ecx
2017         movl    %eax,%esi
2018         movl    4(%esp),%edi
2019         xorl    %eax,%ecx
2020         movl    %eax,(%esp)
2021         xorl    %edi,%eax
2022         rorl    $11,%ecx
2023         andl    %eax,%ebp
2024         leal    2730485921(%ebx,%edx,1),%edx
2025         xorl    %esi,%ecx
2026         xorl    %edi,%ebp
2027         movl    72(%esp),%esi
2028         rorl    $2,%ecx
2029         addl    %edx,%ebp
2030         addl    12(%esp),%edx
2031         addl    %ecx,%ebp
2032         movl    60(%esp),%ecx
2033         movl    %esi,%ebx
2034         rorl    $11,%esi
2035         movl    %ecx,%edi
2036         rorl    $2,%ecx
2037         xorl    %ebx,%esi
2038         shrl    $3,%ebx
2039         rorl    $7,%esi
2040         xorl    %edi,%ecx
2041         xorl    %esi,%ebx
2042         rorl    $17,%ecx
2043         addl    68(%esp),%ebx
2044         shrl    $10,%edi
2045         addl    40(%esp),%ebx
2046         movl    %edx,%esi
2047         xorl    %ecx,%edi
2048         movl    16(%esp),%ecx
2049         rorl    $14,%edx
2050         addl    %edi,%ebx
2051         movl    20(%esp),%edi
2052         xorl    %esi,%edx
2053         movl    %ebx,68(%esp)
2054         xorl    %edi,%ecx
2055         rorl    $5,%edx
2056         andl    %esi,%ecx
2057         movl    %esi,12(%esp)
2058         xorl    %esi,%edx
2059         addl    24(%esp),%ebx
2060         xorl    %ecx,%edi
2061         rorl    $6,%edx
2062         movl    %ebp,%esi
2063         addl    %edi,%ebx
2064         rorl    $9,%esi
2065         movl    %ebp,%ecx
2066         movl    (%esp),%edi
2067         xorl    %ebp,%esi
2068         movl    %ebp,28(%esp)
2069         xorl    %edi,%ebp
2070         rorl    $11,%esi
2071         andl    %ebp,%eax
2072         leal    2820302411(%ebx,%edx,1),%edx
2073         xorl    %ecx,%esi
2074         xorl    %edi,%eax
2075         movl    76(%esp),%ecx
2076         rorl    $2,%esi
2077         addl    %edx,%eax
2078         addl    8(%esp),%edx
2079         addl    %esi,%eax
2080         movl    64(%esp),%esi
2081         movl    %ecx,%ebx
2082         rorl    $11,%ecx
2083         movl    %esi,%edi
2084         rorl    $2,%esi
2085         xorl    %ebx,%ecx
2086         shrl    $3,%ebx
2087         rorl    $7,%ecx
2088         xorl    %edi,%esi
2089         xorl    %ecx,%ebx
2090         rorl    $17,%esi
2091         addl    72(%esp),%ebx
2092         shrl    $10,%edi
2093         addl    44(%esp),%ebx
2094         movl    %edx,%ecx
2095         xorl    %esi,%edi
2096         movl    12(%esp),%esi
2097         rorl    $14,%edx
2098         addl    %edi,%ebx
2099         movl    16(%esp),%edi
2100         xorl    %ecx,%edx
2101         movl    %ebx,72(%esp)
2102         xorl    %edi,%esi
2103         rorl    $5,%edx
2104         andl    %ecx,%esi
2105         movl    %ecx,8(%esp)
2106         xorl    %ecx,%edx
2107         addl    20(%esp),%ebx
2108         xorl    %esi,%edi
2109         rorl    $6,%edx
2110         movl    %eax,%ecx
2111         addl    %edi,%ebx
2112         rorl    $9,%ecx
2113         movl    %eax,%esi
2114         movl    28(%esp),%edi
2115         xorl    %eax,%ecx
2116         movl    %eax,24(%esp)
2117         xorl    %edi,%eax
2118         rorl    $11,%ecx
2119         andl    %eax,%ebp
2120         leal    3259730800(%ebx,%edx,1),%edx
2121         xorl    %esi,%ecx
2122         xorl    %edi,%ebp
2123         movl    80(%esp),%esi
2124         rorl    $2,%ecx
2125         addl    %edx,%ebp
2126         addl    4(%esp),%edx
2127         addl    %ecx,%ebp
2128         movl    68(%esp),%ecx
2129         movl    %esi,%ebx
2130         rorl    $11,%esi
2131         movl    %ecx,%edi
2132         rorl    $2,%ecx
2133         xorl    %ebx,%esi
2134         shrl    $3,%ebx
2135         rorl    $7,%esi
2136         xorl    %edi,%ecx
2137         xorl    %esi,%ebx
2138         rorl    $17,%ecx
2139         addl    76(%esp),%ebx
2140         shrl    $10,%edi
2141         addl    48(%esp),%ebx
2142         movl    %edx,%esi
2143         xorl    %ecx,%edi
2144         movl    8(%esp),%ecx
2145         rorl    $14,%edx
2146         addl    %edi,%ebx
2147         movl    12(%esp),%edi
2148         xorl    %esi,%edx
2149         movl    %ebx,76(%esp)
2150         xorl    %edi,%ecx
2151         rorl    $5,%edx
2152         andl    %esi,%ecx
2153         movl    %esi,4(%esp)
2154         xorl    %esi,%edx
2155         addl    16(%esp),%ebx
2156         xorl    %ecx,%edi
2157         rorl    $6,%edx
2158         movl    %ebp,%esi
2159         addl    %edi,%ebx
2160         rorl    $9,%esi
2161         movl    %ebp,%ecx
2162         movl    24(%esp),%edi
2163         xorl    %ebp,%esi
2164         movl    %ebp,20(%esp)
2165         xorl    %edi,%ebp
2166         rorl    $11,%esi
2167         andl    %ebp,%eax
2168         leal    3345764771(%ebx,%edx,1),%edx
2169         xorl    %ecx,%esi
2170         xorl    %edi,%eax
2171         movl    84(%esp),%ecx
2172         rorl    $2,%esi
2173         addl    %edx,%eax
2174         addl    (%esp),%edx
2175         addl    %esi,%eax
2176         movl    72(%esp),%esi
2177         movl    %ecx,%ebx
2178         rorl    $11,%ecx
2179         movl    %esi,%edi
2180         rorl    $2,%esi
2181         xorl    %ebx,%ecx
2182         shrl    $3,%ebx
2183         rorl    $7,%ecx
2184         xorl    %edi,%esi
2185         xorl    %ecx,%ebx
2186         rorl    $17,%esi
2187         addl    80(%esp),%ebx
2188         shrl    $10,%edi
2189         addl    52(%esp),%ebx
2190         movl    %edx,%ecx
2191         xorl    %esi,%edi
2192         movl    4(%esp),%esi
2193         rorl    $14,%edx
2194         addl    %edi,%ebx
2195         movl    8(%esp),%edi
2196         xorl    %ecx,%edx
2197         movl    %ebx,80(%esp)
2198         xorl    %edi,%esi
2199         rorl    $5,%edx
2200         andl    %ecx,%esi
2201         movl    %ecx,(%esp)
2202         xorl    %ecx,%edx
2203         addl    12(%esp),%ebx
2204         xorl    %esi,%edi
2205         rorl    $6,%edx
2206         movl    %eax,%ecx
2207         addl    %edi,%ebx
2208         rorl    $9,%ecx
2209         movl    %eax,%esi
2210         movl    20(%esp),%edi
2211         xorl    %eax,%ecx
2212         movl    %eax,16(%esp)
2213         xorl    %edi,%eax
2214         rorl    $11,%ecx
2215         andl    %eax,%ebp
2216         leal    3516065817(%ebx,%edx,1),%edx
2217         xorl    %esi,%ecx
2218         xorl    %edi,%ebp
2219         movl    88(%esp),%esi
2220         rorl    $2,%ecx
2221         addl    %edx,%ebp
2222         addl    28(%esp),%edx
2223         addl    %ecx,%ebp
2224         movl    76(%esp),%ecx
2225         movl    %esi,%ebx
2226         rorl    $11,%esi
2227         movl    %ecx,%edi
2228         rorl    $2,%ecx
2229         xorl    %ebx,%esi
2230         shrl    $3,%ebx
2231         rorl    $7,%esi
2232         xorl    %edi,%ecx
2233         xorl    %esi,%ebx
2234         rorl    $17,%ecx
2235         addl    84(%esp),%ebx
2236         shrl    $10,%edi
2237         addl    56(%esp),%ebx
2238         movl    %edx,%esi
2239         xorl    %ecx,%edi
2240         movl    (%esp),%ecx
2241         rorl    $14,%edx
2242         addl    %edi,%ebx
2243         movl    4(%esp),%edi
2244         xorl    %esi,%edx
2245         movl    %ebx,84(%esp)
2246         xorl    %edi,%ecx
2247         rorl    $5,%edx
2248         andl    %esi,%ecx
2249         movl    %esi,28(%esp)
2250         xorl    %esi,%edx
2251         addl    8(%esp),%ebx
2252         xorl    %ecx,%edi
2253         rorl    $6,%edx
2254         movl    %ebp,%esi
2255         addl    %edi,%ebx
2256         rorl    $9,%esi
2257         movl    %ebp,%ecx
2258         movl    16(%esp),%edi
2259         xorl    %ebp,%esi
2260         movl    %ebp,12(%esp)
2261         xorl    %edi,%ebp
2262         rorl    $11,%esi
2263         andl    %ebp,%eax
2264         leal    3600352804(%ebx,%edx,1),%edx
2265         xorl    %ecx,%esi
2266         xorl    %edi,%eax
2267         movl    92(%esp),%ecx
2268         rorl    $2,%esi
2269         addl    %edx,%eax
2270         addl    24(%esp),%edx
2271         addl    %esi,%eax
2272         movl    80(%esp),%esi
2273         movl    %ecx,%ebx
2274         rorl    $11,%ecx
2275         movl    %esi,%edi
2276         rorl    $2,%esi
2277         xorl    %ebx,%ecx
2278         shrl    $3,%ebx
2279         rorl    $7,%ecx
2280         xorl    %edi,%esi
2281         xorl    %ecx,%ebx
2282         rorl    $17,%esi
2283         addl    88(%esp),%ebx
2284         shrl    $10,%edi
2285         addl    60(%esp),%ebx
2286         movl    %edx,%ecx
2287         xorl    %esi,%edi
2288         movl    28(%esp),%esi
2289         rorl    $14,%edx
2290         addl    %edi,%ebx
2291         movl    (%esp),%edi
2292         xorl    %ecx,%edx
2293         movl    %ebx,88(%esp)
2294         xorl    %edi,%esi
2295         rorl    $5,%edx
2296         andl    %ecx,%esi
2297         movl    %ecx,24(%esp)
2298         xorl    %ecx,%edx
2299         addl    4(%esp),%ebx
2300         xorl    %esi,%edi
2301         rorl    $6,%edx
2302         movl    %eax,%ecx
2303         addl    %edi,%ebx
2304         rorl    $9,%ecx
2305         movl    %eax,%esi
2306         movl    12(%esp),%edi
2307         xorl    %eax,%ecx
2308         movl    %eax,8(%esp)
2309         xorl    %edi,%eax
2310         rorl    $11,%ecx
2311         andl    %eax,%ebp
2312         leal    4094571909(%ebx,%edx,1),%edx
2313         xorl    %esi,%ecx
2314         xorl    %edi,%ebp
2315         movl    32(%esp),%esi
2316         rorl    $2,%ecx
2317         addl    %edx,%ebp
2318         addl    20(%esp),%edx
2319         addl    %ecx,%ebp
2320         movl    84(%esp),%ecx
2321         movl    %esi,%ebx
2322         rorl    $11,%esi
2323         movl    %ecx,%edi
2324         rorl    $2,%ecx
2325         xorl    %ebx,%esi
2326         shrl    $3,%ebx
2327         rorl    $7,%esi
2328         xorl    %edi,%ecx
2329         xorl    %esi,%ebx
2330         rorl    $17,%ecx
2331         addl    92(%esp),%ebx
2332         shrl    $10,%edi
2333         addl    64(%esp),%ebx
2334         movl    %edx,%esi
2335         xorl    %ecx,%edi
2336         movl    24(%esp),%ecx
2337         rorl    $14,%edx
2338         addl    %edi,%ebx
2339         movl    28(%esp),%edi
2340         xorl    %esi,%edx
2341         movl    %ebx,92(%esp)
2342         xorl    %edi,%ecx
2343         rorl    $5,%edx
2344         andl    %esi,%ecx
2345         movl    %esi,20(%esp)
2346         xorl    %esi,%edx
2347         addl    (%esp),%ebx
2348         xorl    %ecx,%edi
2349         rorl    $6,%edx
2350         movl    %ebp,%esi
2351         addl    %edi,%ebx
2352         rorl    $9,%esi
2353         movl    %ebp,%ecx
2354         movl    8(%esp),%edi
2355         xorl    %ebp,%esi
2356         movl    %ebp,4(%esp)
2357         xorl    %edi,%ebp
2358         rorl    $11,%esi
2359         andl    %ebp,%eax
2360         leal    275423344(%ebx,%edx,1),%edx
2361         xorl    %ecx,%esi
2362         xorl    %edi,%eax
2363         movl    36(%esp),%ecx
2364         rorl    $2,%esi
2365         addl    %edx,%eax
2366         addl    16(%esp),%edx
2367         addl    %esi,%eax
2368         movl    88(%esp),%esi
2369         movl    %ecx,%ebx
2370         rorl    $11,%ecx
2371         movl    %esi,%edi
2372         rorl    $2,%esi
2373         xorl    %ebx,%ecx
2374         shrl    $3,%ebx
2375         rorl    $7,%ecx
2376         xorl    %edi,%esi
2377         xorl    %ecx,%ebx
2378         rorl    $17,%esi
2379         addl    32(%esp),%ebx
2380         shrl    $10,%edi
2381         addl    68(%esp),%ebx
2382         movl    %edx,%ecx
2383         xorl    %esi,%edi
2384         movl    20(%esp),%esi
2385         rorl    $14,%edx
2386         addl    %edi,%ebx
2387         movl    24(%esp),%edi
2388         xorl    %ecx,%edx
2389         movl    %ebx,32(%esp)
2390         xorl    %edi,%esi
2391         rorl    $5,%edx
2392         andl    %ecx,%esi
2393         movl    %ecx,16(%esp)
2394         xorl    %ecx,%edx
2395         addl    28(%esp),%ebx
2396         xorl    %esi,%edi
2397         rorl    $6,%edx
2398         movl    %eax,%ecx
2399         addl    %edi,%ebx
2400         rorl    $9,%ecx
2401         movl    %eax,%esi
2402         movl    4(%esp),%edi
2403         xorl    %eax,%ecx
2404         movl    %eax,(%esp)
2405         xorl    %edi,%eax
2406         rorl    $11,%ecx
2407         andl    %eax,%ebp
2408         leal    430227734(%ebx,%edx,1),%edx
2409         xorl    %esi,%ecx
2410         xorl    %edi,%ebp
2411         movl    40(%esp),%esi
2412         rorl    $2,%ecx
2413         addl    %edx,%ebp
2414         addl    12(%esp),%edx
2415         addl    %ecx,%ebp
2416         movl    92(%esp),%ecx
2417         movl    %esi,%ebx
2418         rorl    $11,%esi
2419         movl    %ecx,%edi
2420         rorl    $2,%ecx
2421         xorl    %ebx,%esi
2422         shrl    $3,%ebx
2423         rorl    $7,%esi
2424         xorl    %edi,%ecx
2425         xorl    %esi,%ebx
2426         rorl    $17,%ecx
2427         addl    36(%esp),%ebx
2428         shrl    $10,%edi
2429         addl    72(%esp),%ebx
2430         movl    %edx,%esi
2431         xorl    %ecx,%edi
2432         movl    16(%esp),%ecx
2433         rorl    $14,%edx
2434         addl    %edi,%ebx
2435         movl    20(%esp),%edi
2436         xorl    %esi,%edx
2437         movl    %ebx,36(%esp)
2438         xorl    %edi,%ecx
2439         rorl    $5,%edx
2440         andl    %esi,%ecx
2441         movl    %esi,12(%esp)
2442         xorl    %esi,%edx
2443         addl    24(%esp),%ebx
2444         xorl    %ecx,%edi
2445         rorl    $6,%edx
2446         movl    %ebp,%esi
2447         addl    %edi,%ebx
2448         rorl    $9,%esi
2449         movl    %ebp,%ecx
2450         movl    (%esp),%edi
2451         xorl    %ebp,%esi
2452         movl    %ebp,28(%esp)
2453         xorl    %edi,%ebp
2454         rorl    $11,%esi
2455         andl    %ebp,%eax
2456         leal    506948616(%ebx,%edx,1),%edx
2457         xorl    %ecx,%esi
2458         xorl    %edi,%eax
2459         movl    44(%esp),%ecx
2460         rorl    $2,%esi
2461         addl    %edx,%eax
2462         addl    8(%esp),%edx
2463         addl    %esi,%eax
2464         movl    32(%esp),%esi
2465         movl    %ecx,%ebx
2466         rorl    $11,%ecx
2467         movl    %esi,%edi
2468         rorl    $2,%esi
2469         xorl    %ebx,%ecx
2470         shrl    $3,%ebx
2471         rorl    $7,%ecx
2472         xorl    %edi,%esi
2473         xorl    %ecx,%ebx
2474         rorl    $17,%esi
2475         addl    40(%esp),%ebx
2476         shrl    $10,%edi
2477         addl    76(%esp),%ebx
2478         movl    %edx,%ecx
2479         xorl    %esi,%edi
2480         movl    12(%esp),%esi
2481         rorl    $14,%edx
2482         addl    %edi,%ebx
2483         movl    16(%esp),%edi
2484         xorl    %ecx,%edx
2485         movl    %ebx,40(%esp)
2486         xorl    %edi,%esi
2487         rorl    $5,%edx
2488         andl    %ecx,%esi
2489         movl    %ecx,8(%esp)
2490         xorl    %ecx,%edx
2491         addl    20(%esp),%ebx
2492         xorl    %esi,%edi
2493         rorl    $6,%edx
2494         movl    %eax,%ecx
2495         addl    %edi,%ebx
2496         rorl    $9,%ecx
2497         movl    %eax,%esi
2498         movl    28(%esp),%edi
2499         xorl    %eax,%ecx
2500         movl    %eax,24(%esp)
2501         xorl    %edi,%eax
2502         rorl    $11,%ecx
2503         andl    %eax,%ebp
2504         leal    659060556(%ebx,%edx,1),%edx
2505         xorl    %esi,%ecx
2506         xorl    %edi,%ebp
2507         movl    48(%esp),%esi
2508         rorl    $2,%ecx
2509         addl    %edx,%ebp
2510         addl    4(%esp),%edx
2511         addl    %ecx,%ebp
2512         movl    36(%esp),%ecx
2513         movl    %esi,%ebx
2514         rorl    $11,%esi
2515         movl    %ecx,%edi
2516         rorl    $2,%ecx
2517         xorl    %ebx,%esi
2518         shrl    $3,%ebx
2519         rorl    $7,%esi
2520         xorl    %edi,%ecx
2521         xorl    %esi,%ebx
2522         rorl    $17,%ecx
2523         addl    44(%esp),%ebx
2524         shrl    $10,%edi
2525         addl    80(%esp),%ebx
2526         movl    %edx,%esi
2527         xorl    %ecx,%edi
2528         movl    8(%esp),%ecx
2529         rorl    $14,%edx
2530         addl    %edi,%ebx
2531         movl    12(%esp),%edi
2532         xorl    %esi,%edx
2533         movl    %ebx,44(%esp)
2534         xorl    %edi,%ecx
2535         rorl    $5,%edx
2536         andl    %esi,%ecx
2537         movl    %esi,4(%esp)
2538         xorl    %esi,%edx
2539         addl    16(%esp),%ebx
2540         xorl    %ecx,%edi
2541         rorl    $6,%edx
2542         movl    %ebp,%esi
2543         addl    %edi,%ebx
2544         rorl    $9,%esi
2545         movl    %ebp,%ecx
2546         movl    24(%esp),%edi
2547         xorl    %ebp,%esi
2548         movl    %ebp,20(%esp)
2549         xorl    %edi,%ebp
2550         rorl    $11,%esi
2551         andl    %ebp,%eax
2552         leal    883997877(%ebx,%edx,1),%edx
2553         xorl    %ecx,%esi
2554         xorl    %edi,%eax
2555         movl    52(%esp),%ecx
2556         rorl    $2,%esi
2557         addl    %edx,%eax
2558         addl    (%esp),%edx
2559         addl    %esi,%eax
2560         movl    40(%esp),%esi
2561         movl    %ecx,%ebx
2562         rorl    $11,%ecx
2563         movl    %esi,%edi
2564         rorl    $2,%esi
2565         xorl    %ebx,%ecx
2566         shrl    $3,%ebx
2567         rorl    $7,%ecx
2568         xorl    %edi,%esi
2569         xorl    %ecx,%ebx
2570         rorl    $17,%esi
2571         addl    48(%esp),%ebx
2572         shrl    $10,%edi
2573         addl    84(%esp),%ebx
2574         movl    %edx,%ecx
2575         xorl    %esi,%edi
2576         movl    4(%esp),%esi
2577         rorl    $14,%edx
2578         addl    %edi,%ebx
2579         movl    8(%esp),%edi
2580         xorl    %ecx,%edx
2581         movl    %ebx,48(%esp)
2582         xorl    %edi,%esi
2583         rorl    $5,%edx
2584         andl    %ecx,%esi
2585         movl    %ecx,(%esp)
2586         xorl    %ecx,%edx
2587         addl    12(%esp),%ebx
2588         xorl    %esi,%edi
2589         rorl    $6,%edx
2590         movl    %eax,%ecx
2591         addl    %edi,%ebx
2592         rorl    $9,%ecx
2593         movl    %eax,%esi
2594         movl    20(%esp),%edi
2595         xorl    %eax,%ecx
2596         movl    %eax,16(%esp)
2597         xorl    %edi,%eax
2598         rorl    $11,%ecx
2599         andl    %eax,%ebp
2600         leal    958139571(%ebx,%edx,1),%edx
2601         xorl    %esi,%ecx
2602         xorl    %edi,%ebp
2603         movl    56(%esp),%esi
2604         rorl    $2,%ecx
2605         addl    %edx,%ebp
2606         addl    28(%esp),%edx
2607         addl    %ecx,%ebp
2608         movl    44(%esp),%ecx
2609         movl    %esi,%ebx
2610         rorl    $11,%esi
2611         movl    %ecx,%edi
2612         rorl    $2,%ecx
2613         xorl    %ebx,%esi
2614         shrl    $3,%ebx
2615         rorl    $7,%esi
2616         xorl    %edi,%ecx
2617         xorl    %esi,%ebx
2618         rorl    $17,%ecx
2619         addl    52(%esp),%ebx
2620         shrl    $10,%edi
2621         addl    88(%esp),%ebx
2622         movl    %edx,%esi
2623         xorl    %ecx,%edi
2624         movl    (%esp),%ecx
2625         rorl    $14,%edx
2626         addl    %edi,%ebx
2627         movl    4(%esp),%edi
2628         xorl    %esi,%edx
2629         movl    %ebx,52(%esp)
2630         xorl    %edi,%ecx
2631         rorl    $5,%edx
2632         andl    %esi,%ecx
2633         movl    %esi,28(%esp)
2634         xorl    %esi,%edx
2635         addl    8(%esp),%ebx
2636         xorl    %ecx,%edi
2637         rorl    $6,%edx
2638         movl    %ebp,%esi
2639         addl    %edi,%ebx
2640         rorl    $9,%esi
2641         movl    %ebp,%ecx
2642         movl    16(%esp),%edi
2643         xorl    %ebp,%esi
2644         movl    %ebp,12(%esp)
2645         xorl    %edi,%ebp
2646         rorl    $11,%esi
2647         andl    %ebp,%eax
2648         leal    1322822218(%ebx,%edx,1),%edx
2649         xorl    %ecx,%esi
2650         xorl    %edi,%eax
2651         movl    60(%esp),%ecx
2652         rorl    $2,%esi
2653         addl    %edx,%eax
2654         addl    24(%esp),%edx
2655         addl    %esi,%eax
2656         movl    48(%esp),%esi
2657         movl    %ecx,%ebx
2658         rorl    $11,%ecx
2659         movl    %esi,%edi
2660         rorl    $2,%esi
2661         xorl    %ebx,%ecx
2662         shrl    $3,%ebx
2663         rorl    $7,%ecx
2664         xorl    %edi,%esi
2665         xorl    %ecx,%ebx
2666         rorl    $17,%esi
2667         addl    56(%esp),%ebx
2668         shrl    $10,%edi
2669         addl    92(%esp),%ebx
2670         movl    %edx,%ecx
2671         xorl    %esi,%edi
2672         movl    28(%esp),%esi
2673         rorl    $14,%edx
2674         addl    %edi,%ebx
2675         movl    (%esp),%edi
2676         xorl    %ecx,%edx
2677         movl    %ebx,56(%esp)
2678         xorl    %edi,%esi
2679         rorl    $5,%edx
2680         andl    %ecx,%esi
2681         movl    %ecx,24(%esp)
2682         xorl    %ecx,%edx
2683         addl    4(%esp),%ebx
2684         xorl    %esi,%edi
2685         rorl    $6,%edx
2686         movl    %eax,%ecx
2687         addl    %edi,%ebx
2688         rorl    $9,%ecx
2689         movl    %eax,%esi
2690         movl    12(%esp),%edi
2691         xorl    %eax,%ecx
2692         movl    %eax,8(%esp)
2693         xorl    %edi,%eax
2694         rorl    $11,%ecx
2695         andl    %eax,%ebp
2696         leal    1537002063(%ebx,%edx,1),%edx
2697         xorl    %esi,%ecx
2698         xorl    %edi,%ebp
2699         movl    64(%esp),%esi
2700         rorl    $2,%ecx
2701         addl    %edx,%ebp
2702         addl    20(%esp),%edx
2703         addl    %ecx,%ebp
2704         movl    52(%esp),%ecx
2705         movl    %esi,%ebx
2706         rorl    $11,%esi
2707         movl    %ecx,%edi
2708         rorl    $2,%ecx
2709         xorl    %ebx,%esi
2710         shrl    $3,%ebx
2711         rorl    $7,%esi
2712         xorl    %edi,%ecx
2713         xorl    %esi,%ebx
2714         rorl    $17,%ecx
2715         addl    60(%esp),%ebx
2716         shrl    $10,%edi
2717         addl    32(%esp),%ebx
2718         movl    %edx,%esi
2719         xorl    %ecx,%edi
2720         movl    24(%esp),%ecx
2721         rorl    $14,%edx
2722         addl    %edi,%ebx
2723         movl    28(%esp),%edi
2724         xorl    %esi,%edx
2725         movl    %ebx,60(%esp)
2726         xorl    %edi,%ecx
2727         rorl    $5,%edx
2728         andl    %esi,%ecx
2729         movl    %esi,20(%esp)
2730         xorl    %esi,%edx
2731         addl    (%esp),%ebx
2732         xorl    %ecx,%edi
2733         rorl    $6,%edx
2734         movl    %ebp,%esi
2735         addl    %edi,%ebx
2736         rorl    $9,%esi
2737         movl    %ebp,%ecx
2738         movl    8(%esp),%edi
2739         xorl    %ebp,%esi
2740         movl    %ebp,4(%esp)
2741         xorl    %edi,%ebp
2742         rorl    $11,%esi
2743         andl    %ebp,%eax
2744         leal    1747873779(%ebx,%edx,1),%edx
2745         xorl    %ecx,%esi
2746         xorl    %edi,%eax
2747         movl    68(%esp),%ecx
2748         rorl    $2,%esi
2749         addl    %edx,%eax
2750         addl    16(%esp),%edx
2751         addl    %esi,%eax
2752         movl    56(%esp),%esi
2753         movl    %ecx,%ebx
2754         rorl    $11,%ecx
2755         movl    %esi,%edi
2756         rorl    $2,%esi
2757         xorl    %ebx,%ecx
2758         shrl    $3,%ebx
2759         rorl    $7,%ecx
2760         xorl    %edi,%esi
2761         xorl    %ecx,%ebx
2762         rorl    $17,%esi
2763         addl    64(%esp),%ebx
2764         shrl    $10,%edi
2765         addl    36(%esp),%ebx
2766         movl    %edx,%ecx
2767         xorl    %esi,%edi
2768         movl    20(%esp),%esi
2769         rorl    $14,%edx
2770         addl    %edi,%ebx
2771         movl    24(%esp),%edi
2772         xorl    %ecx,%edx
2773         movl    %ebx,64(%esp)
2774         xorl    %edi,%esi
2775         rorl    $5,%edx
2776         andl    %ecx,%esi
2777         movl    %ecx,16(%esp)
2778         xorl    %ecx,%edx
2779         addl    28(%esp),%ebx
2780         xorl    %esi,%edi
2781         rorl    $6,%edx
2782         movl    %eax,%ecx
2783         addl    %edi,%ebx
2784         rorl    $9,%ecx
2785         movl    %eax,%esi
2786         movl    4(%esp),%edi
2787         xorl    %eax,%ecx
2788         movl    %eax,(%esp)
2789         xorl    %edi,%eax
2790         rorl    $11,%ecx
2791         andl    %eax,%ebp
2792         leal    1955562222(%ebx,%edx,1),%edx
2793         xorl    %esi,%ecx
2794         xorl    %edi,%ebp
2795         movl    72(%esp),%esi
2796         rorl    $2,%ecx
2797         addl    %edx,%ebp
2798         addl    12(%esp),%edx
2799         addl    %ecx,%ebp
2800         movl    60(%esp),%ecx
2801         movl    %esi,%ebx
2802         rorl    $11,%esi
2803         movl    %ecx,%edi
2804         rorl    $2,%ecx
2805         xorl    %ebx,%esi
2806         shrl    $3,%ebx
2807         rorl    $7,%esi
2808         xorl    %edi,%ecx
2809         xorl    %esi,%ebx
2810         rorl    $17,%ecx
2811         addl    68(%esp),%ebx
2812         shrl    $10,%edi
2813         addl    40(%esp),%ebx
2814         movl    %edx,%esi
2815         xorl    %ecx,%edi
2816         movl    16(%esp),%ecx
2817         rorl    $14,%edx
2818         addl    %edi,%ebx
2819         movl    20(%esp),%edi
2820         xorl    %esi,%edx
2821         movl    %ebx,68(%esp)
2822         xorl    %edi,%ecx
2823         rorl    $5,%edx
2824         andl    %esi,%ecx
2825         movl    %esi,12(%esp)
2826         xorl    %esi,%edx
2827         addl    24(%esp),%ebx
2828         xorl    %ecx,%edi
2829         rorl    $6,%edx
2830         movl    %ebp,%esi
2831         addl    %edi,%ebx
2832         rorl    $9,%esi
2833         movl    %ebp,%ecx
2834         movl    (%esp),%edi
2835         xorl    %ebp,%esi
2836         movl    %ebp,28(%esp)
2837         xorl    %edi,%ebp
2838         rorl    $11,%esi
2839         andl    %ebp,%eax
2840         leal    2024104815(%ebx,%edx,1),%edx
2841         xorl    %ecx,%esi
2842         xorl    %edi,%eax
2843         movl    76(%esp),%ecx
2844         rorl    $2,%esi
2845         addl    %edx,%eax
2846         addl    8(%esp),%edx
2847         addl    %esi,%eax
2848         movl    64(%esp),%esi
2849         movl    %ecx,%ebx
2850         rorl    $11,%ecx
2851         movl    %esi,%edi
2852         rorl    $2,%esi
2853         xorl    %ebx,%ecx
2854         shrl    $3,%ebx
2855         rorl    $7,%ecx
2856         xorl    %edi,%esi
2857         xorl    %ecx,%ebx
2858         rorl    $17,%esi
2859         addl    72(%esp),%ebx
2860         shrl    $10,%edi
2861         addl    44(%esp),%ebx
2862         movl    %edx,%ecx
2863         xorl    %esi,%edi
2864         movl    12(%esp),%esi
2865         rorl    $14,%edx
2866         addl    %edi,%ebx
2867         movl    16(%esp),%edi
2868         xorl    %ecx,%edx
2869         movl    %ebx,72(%esp)
2870         xorl    %edi,%esi
2871         rorl    $5,%edx
2872         andl    %ecx,%esi
2873         movl    %ecx,8(%esp)
2874         xorl    %ecx,%edx
2875         addl    20(%esp),%ebx
2876         xorl    %esi,%edi
2877         rorl    $6,%edx
2878         movl    %eax,%ecx
2879         addl    %edi,%ebx
2880         rorl    $9,%ecx
2881         movl    %eax,%esi
2882         movl    28(%esp),%edi
2883         xorl    %eax,%ecx
2884         movl    %eax,24(%esp)
2885         xorl    %edi,%eax
2886         rorl    $11,%ecx
2887         andl    %eax,%ebp
2888         leal    2227730452(%ebx,%edx,1),%edx
2889         xorl    %esi,%ecx
2890         xorl    %edi,%ebp
2891         movl    80(%esp),%esi
2892         rorl    $2,%ecx
2893         addl    %edx,%ebp
2894         addl    4(%esp),%edx
2895         addl    %ecx,%ebp
2896         movl    68(%esp),%ecx
2897         movl    %esi,%ebx
2898         rorl    $11,%esi
2899         movl    %ecx,%edi
2900         rorl    $2,%ecx
2901         xorl    %ebx,%esi
2902         shrl    $3,%ebx
2903         rorl    $7,%esi
2904         xorl    %edi,%ecx
2905         xorl    %esi,%ebx
2906         rorl    $17,%ecx
2907         addl    76(%esp),%ebx
2908         shrl    $10,%edi
2909         addl    48(%esp),%ebx
2910         movl    %edx,%esi
2911         xorl    %ecx,%edi
2912         movl    8(%esp),%ecx
2913         rorl    $14,%edx
2914         addl    %edi,%ebx
2915         movl    12(%esp),%edi
2916         xorl    %esi,%edx
2917         movl    %ebx,76(%esp)
2918         xorl    %edi,%ecx
2919         rorl    $5,%edx
2920         andl    %esi,%ecx
2921         movl    %esi,4(%esp)
2922         xorl    %esi,%edx
2923         addl    16(%esp),%ebx
2924         xorl    %ecx,%edi
2925         rorl    $6,%edx
2926         movl    %ebp,%esi
2927         addl    %edi,%ebx
2928         rorl    $9,%esi
2929         movl    %ebp,%ecx
2930         movl    24(%esp),%edi
2931         xorl    %ebp,%esi
2932         movl    %ebp,20(%esp)
2933         xorl    %edi,%ebp
2934         rorl    $11,%esi
2935         andl    %ebp,%eax
2936         leal    2361852424(%ebx,%edx,1),%edx
2937         xorl    %ecx,%esi
2938         xorl    %edi,%eax
2939         movl    84(%esp),%ecx
2940         rorl    $2,%esi
2941         addl    %edx,%eax
2942         addl    (%esp),%edx
2943         addl    %esi,%eax
2944         movl    72(%esp),%esi
2945         movl    %ecx,%ebx
2946         rorl    $11,%ecx
2947         movl    %esi,%edi
2948         rorl    $2,%esi
2949         xorl    %ebx,%ecx
2950         shrl    $3,%ebx
2951         rorl    $7,%ecx
2952         xorl    %edi,%esi
2953         xorl    %ecx,%ebx
2954         rorl    $17,%esi
2955         addl    80(%esp),%ebx
2956         shrl    $10,%edi
2957         addl    52(%esp),%ebx
2958         movl    %edx,%ecx
2959         xorl    %esi,%edi
2960         movl    4(%esp),%esi
2961         rorl    $14,%edx
2962         addl    %edi,%ebx
2963         movl    8(%esp),%edi
2964         xorl    %ecx,%edx
2965         movl    %ebx,80(%esp)
2966         xorl    %edi,%esi
2967         rorl    $5,%edx
2968         andl    %ecx,%esi
2969         movl    %ecx,(%esp)
2970         xorl    %ecx,%edx
2971         addl    12(%esp),%ebx
2972         xorl    %esi,%edi
2973         rorl    $6,%edx
2974         movl    %eax,%ecx
2975         addl    %edi,%ebx
2976         rorl    $9,%ecx
2977         movl    %eax,%esi
2978         movl    20(%esp),%edi
2979         xorl    %eax,%ecx
2980         movl    %eax,16(%esp)
2981         xorl    %edi,%eax
2982         rorl    $11,%ecx
2983         andl    %eax,%ebp
2984         leal    2428436474(%ebx,%edx,1),%edx
2985         xorl    %esi,%ecx
2986         xorl    %edi,%ebp
2987         movl    88(%esp),%esi
2988         rorl    $2,%ecx
2989         addl    %edx,%ebp
2990         addl    28(%esp),%edx
2991         addl    %ecx,%ebp
2992         movl    76(%esp),%ecx
2993         movl    %esi,%ebx
2994         rorl    $11,%esi
2995         movl    %ecx,%edi
2996         rorl    $2,%ecx
2997         xorl    %ebx,%esi
2998         shrl    $3,%ebx
2999         rorl    $7,%esi
3000         xorl    %edi,%ecx
3001         xorl    %esi,%ebx
3002         rorl    $17,%ecx
3003         addl    84(%esp),%ebx
3004         shrl    $10,%edi
3005         addl    56(%esp),%ebx
3006         movl    %edx,%esi
3007         xorl    %ecx,%edi
3008         movl    (%esp),%ecx
3009         rorl    $14,%edx
3010         addl    %edi,%ebx
3011         movl    4(%esp),%edi
3012         xorl    %esi,%edx
3013         movl    %ebx,84(%esp)
3014         xorl    %edi,%ecx
3015         rorl    $5,%edx
3016         andl    %esi,%ecx
3017         movl    %esi,28(%esp)
3018         xorl    %esi,%edx
3019         addl    8(%esp),%ebx
3020         xorl    %ecx,%edi
3021         rorl    $6,%edx
3022         movl    %ebp,%esi
3023         addl    %edi,%ebx
3024         rorl    $9,%esi
3025         movl    %ebp,%ecx
3026         movl    16(%esp),%edi
3027         xorl    %ebp,%esi
3028         movl    %ebp,12(%esp)
3029         xorl    %edi,%ebp
3030         rorl    $11,%esi
3031         andl    %ebp,%eax
3032         leal    2756734187(%ebx,%edx,1),%edx
3033         xorl    %ecx,%esi
3034         xorl    %edi,%eax
3035         movl    92(%esp),%ecx
3036         rorl    $2,%esi
3037         addl    %edx,%eax
3038         addl    24(%esp),%edx
3039         addl    %esi,%eax
3040         movl    80(%esp),%esi
3041         movl    %ecx,%ebx
3042         rorl    $11,%ecx
3043         movl    %esi,%edi
3044         rorl    $2,%esi
3045         xorl    %ebx,%ecx
3046         shrl    $3,%ebx
3047         rorl    $7,%ecx
3048         xorl    %edi,%esi
3049         xorl    %ecx,%ebx
3050         rorl    $17,%esi
3051         addl    88(%esp),%ebx
3052         shrl    $10,%edi
3053         addl    60(%esp),%ebx
3054         movl    %edx,%ecx
3055         xorl    %esi,%edi
3056         movl    28(%esp),%esi
3057         rorl    $14,%edx
3058         addl    %edi,%ebx
3059         movl    (%esp),%edi
3060         xorl    %ecx,%edx
3061         xorl    %edi,%esi
3062         rorl    $5,%edx
3063         andl    %ecx,%esi
3064         movl    %ecx,24(%esp)
3065         xorl    %ecx,%edx
3066         addl    4(%esp),%ebx
3067         xorl    %esi,%edi
3068         rorl    $6,%edx
3069         movl    %eax,%ecx
3070         addl    %edi,%ebx
3071         rorl    $9,%ecx
3072         movl    %eax,%esi
3073         movl    12(%esp),%edi
3074         xorl    %eax,%ecx
3075         movl    %eax,8(%esp)
3076         xorl    %edi,%eax
3077         rorl    $11,%ecx
3078         andl    %eax,%ebp
3079         leal    3204031479(%ebx,%edx,1),%edx
3080         xorl    %esi,%ecx
3081         xorl    %edi,%ebp
3082         movl    32(%esp),%esi
3083         rorl    $2,%ecx
3084         addl    %edx,%ebp
3085         addl    20(%esp),%edx
3086         addl    %ecx,%ebp
3087         movl    84(%esp),%ecx
3088         movl    %esi,%ebx
3089         rorl    $11,%esi
3090         movl    %ecx,%edi
3091         rorl    $2,%ecx
3092         xorl    %ebx,%esi
3093         shrl    $3,%ebx
3094         rorl    $7,%esi
3095         xorl    %edi,%ecx
3096         xorl    %esi,%ebx
3097         rorl    $17,%ecx
3098         addl    92(%esp),%ebx
3099         shrl    $10,%edi
3100         addl    64(%esp),%ebx
3101         movl    %edx,%esi
3102         xorl    %ecx,%edi
3103         movl    24(%esp),%ecx
3104         rorl    $14,%edx
3105         addl    %edi,%ebx
3106         movl    28(%esp),%edi
3107         xorl    %esi,%edx
3108         xorl    %edi,%ecx
3109         rorl    $5,%edx
3110         andl    %esi,%ecx
3111         movl    %esi,20(%esp)
3112         xorl    %esi,%edx
3113         addl    (%esp),%ebx
3114         xorl    %ecx,%edi
3115         rorl    $6,%edx
3116         movl    %ebp,%esi
3117         addl    %edi,%ebx
3118         rorl    $9,%esi
3119         movl    %ebp,%ecx
3120         movl    8(%esp),%edi
3121         xorl    %ebp,%esi
3122         movl    %ebp,4(%esp)
3123         xorl    %edi,%ebp
3124         rorl    $11,%esi
3125         andl    %ebp,%eax
3126         leal    3329325298(%ebx,%edx,1),%edx
3127         xorl    %ecx,%esi
3128         xorl    %edi,%eax
3129         rorl    $2,%esi
3130         addl    %edx,%eax
3131         addl    16(%esp),%edx
3132         addl    %esi,%eax
3133         movl    96(%esp),%esi
3134         xorl    %edi,%ebp
3135         movl    12(%esp),%ecx
3136         addl    (%esi),%eax
3137         addl    4(%esi),%ebp
3138         addl    8(%esi),%edi
3139         addl    12(%esi),%ecx
3140         movl    %eax,(%esi)
3141         movl    %ebp,4(%esi)
3142         movl    %edi,8(%esi)
3143         movl    %ecx,12(%esi)
3144         movl    %ebp,4(%esp)
3145         xorl    %edi,%ebp
3146         movl    %edi,8(%esp)
3147         movl    %ecx,12(%esp)
3148         movl    20(%esp),%edi
3149         movl    24(%esp),%ebx
3150         movl    28(%esp),%ecx
3151         addl    16(%esi),%edx
3152         addl    20(%esi),%edi
3153         addl    24(%esi),%ebx
3154         addl    28(%esi),%ecx
3155         movl    %edx,16(%esi)
3156         movl    %edi,20(%esi)
3157         movl    %ebx,24(%esi)
3158         movl    %ecx,28(%esi)
3159         movl    %edi,20(%esp)
3160         movl    100(%esp),%edi
3161         movl    %ebx,24(%esp)
3162         movl    %ecx,28(%esp)
3163         cmpl    104(%esp),%edi
3164         jb      .L010grand_loop
3165         movl    108(%esp),%esp
3166         popl    %edi
3167         popl    %esi
3168         popl    %ebx
3169         popl    %ebp
3170         ret
3171 .align  32
3172 .L004shaext:
3173         subl    $32,%esp
3174         movdqu  (%esi),%xmm1
3175         leal    128(%ebp),%ebp
3176         movdqu  16(%esi),%xmm2
3177         movdqa  128(%ebp),%xmm7
3178         pshufd  $27,%xmm1,%xmm0
3179         pshufd  $177,%xmm1,%xmm1
3180         pshufd  $27,%xmm2,%xmm2
3181 .byte   102,15,58,15,202,8
3182         punpcklqdq      %xmm0,%xmm2
3183         jmp     .L011loop_shaext
3184 .align  16
3185 .L011loop_shaext:
3186         movdqu  (%edi),%xmm3
3187         movdqu  16(%edi),%xmm4
3188         movdqu  32(%edi),%xmm5
3189 .byte   102,15,56,0,223
3190         movdqu  48(%edi),%xmm6
3191         movdqa  %xmm2,16(%esp)
3192         movdqa  -128(%ebp),%xmm0
3193         paddd   %xmm3,%xmm0
3194 .byte   102,15,56,0,231
3195 .byte   15,56,203,209
3196         pshufd  $14,%xmm0,%xmm0
3197         nop
3198         movdqa  %xmm1,(%esp)
3199 .byte   15,56,203,202
3200         movdqa  -112(%ebp),%xmm0
3201         paddd   %xmm4,%xmm0
3202 .byte   102,15,56,0,239
3203 .byte   15,56,203,209
3204         pshufd  $14,%xmm0,%xmm0
3205         leal    64(%edi),%edi
3206 .byte   15,56,204,220
3207 .byte   15,56,203,202
3208         movdqa  -96(%ebp),%xmm0
3209         paddd   %xmm5,%xmm0
3210 .byte   102,15,56,0,247
3211 .byte   15,56,203,209
3212         pshufd  $14,%xmm0,%xmm0
3213         movdqa  %xmm6,%xmm7
3214 .byte   102,15,58,15,253,4
3215         nop
3216         paddd   %xmm7,%xmm3
3217 .byte   15,56,204,229
3218 .byte   15,56,203,202
3219         movdqa  -80(%ebp),%xmm0
3220         paddd   %xmm6,%xmm0
3221 .byte   15,56,205,222
3222 .byte   15,56,203,209
3223         pshufd  $14,%xmm0,%xmm0
3224         movdqa  %xmm3,%xmm7
3225 .byte   102,15,58,15,254,4
3226         nop
3227         paddd   %xmm7,%xmm4
3228 .byte   15,56,204,238
3229 .byte   15,56,203,202
3230         movdqa  -64(%ebp),%xmm0
3231         paddd   %xmm3,%xmm0
3232 .byte   15,56,205,227
3233 .byte   15,56,203,209
3234         pshufd  $14,%xmm0,%xmm0
3235         movdqa  %xmm4,%xmm7
3236 .byte   102,15,58,15,251,4
3237         nop
3238         paddd   %xmm7,%xmm5
3239 .byte   15,56,204,243
3240 .byte   15,56,203,202
3241         movdqa  -48(%ebp),%xmm0
3242         paddd   %xmm4,%xmm0
3243 .byte   15,56,205,236
3244 .byte   15,56,203,209
3245         pshufd  $14,%xmm0,%xmm0
3246         movdqa  %xmm5,%xmm7
3247 .byte   102,15,58,15,252,4
3248         nop
3249         paddd   %xmm7,%xmm6
3250 .byte   15,56,204,220
3251 .byte   15,56,203,202
3252         movdqa  -32(%ebp),%xmm0
3253         paddd   %xmm5,%xmm0
3254 .byte   15,56,205,245
3255 .byte   15,56,203,209
3256         pshufd  $14,%xmm0,%xmm0
3257         movdqa  %xmm6,%xmm7
3258 .byte   102,15,58,15,253,4
3259         nop
3260         paddd   %xmm7,%xmm3
3261 .byte   15,56,204,229
3262 .byte   15,56,203,202
3263         movdqa  -16(%ebp),%xmm0
3264         paddd   %xmm6,%xmm0
3265 .byte   15,56,205,222
3266 .byte   15,56,203,209
3267         pshufd  $14,%xmm0,%xmm0
3268         movdqa  %xmm3,%xmm7
3269 .byte   102,15,58,15,254,4
3270         nop
3271         paddd   %xmm7,%xmm4
3272 .byte   15,56,204,238
3273 .byte   15,56,203,202
3274         movdqa  (%ebp),%xmm0
3275         paddd   %xmm3,%xmm0
3276 .byte   15,56,205,227
3277 .byte   15,56,203,209
3278         pshufd  $14,%xmm0,%xmm0
3279         movdqa  %xmm4,%xmm7
3280 .byte   102,15,58,15,251,4
3281         nop
3282         paddd   %xmm7,%xmm5
3283 .byte   15,56,204,243
3284 .byte   15,56,203,202
3285         movdqa  16(%ebp),%xmm0
3286         paddd   %xmm4,%xmm0
3287 .byte   15,56,205,236
3288 .byte   15,56,203,209
3289         pshufd  $14,%xmm0,%xmm0
3290         movdqa  %xmm5,%xmm7
3291 .byte   102,15,58,15,252,4
3292         nop
3293         paddd   %xmm7,%xmm6
3294 .byte   15,56,204,220
3295 .byte   15,56,203,202
3296         movdqa  32(%ebp),%xmm0
3297         paddd   %xmm5,%xmm0
3298 .byte   15,56,205,245
3299 .byte   15,56,203,209
3300         pshufd  $14,%xmm0,%xmm0
3301         movdqa  %xmm6,%xmm7
3302 .byte   102,15,58,15,253,4
3303         nop
3304         paddd   %xmm7,%xmm3
3305 .byte   15,56,204,229
3306 .byte   15,56,203,202
3307         movdqa  48(%ebp),%xmm0
3308         paddd   %xmm6,%xmm0
3309 .byte   15,56,205,222
3310 .byte   15,56,203,209
3311         pshufd  $14,%xmm0,%xmm0
3312         movdqa  %xmm3,%xmm7
3313 .byte   102,15,58,15,254,4
3314         nop
3315         paddd   %xmm7,%xmm4
3316 .byte   15,56,204,238
3317 .byte   15,56,203,202
3318         movdqa  64(%ebp),%xmm0
3319         paddd   %xmm3,%xmm0
3320 .byte   15,56,205,227
3321 .byte   15,56,203,209
3322         pshufd  $14,%xmm0,%xmm0
3323         movdqa  %xmm4,%xmm7
3324 .byte   102,15,58,15,251,4
3325         nop
3326         paddd   %xmm7,%xmm5
3327 .byte   15,56,204,243
3328 .byte   15,56,203,202
3329         movdqa  80(%ebp),%xmm0
3330         paddd   %xmm4,%xmm0
3331 .byte   15,56,205,236
3332 .byte   15,56,203,209
3333         pshufd  $14,%xmm0,%xmm0
3334         movdqa  %xmm5,%xmm7
3335 .byte   102,15,58,15,252,4
3336 .byte   15,56,203,202
3337         paddd   %xmm7,%xmm6
3338         movdqa  96(%ebp),%xmm0
3339         paddd   %xmm5,%xmm0
3340 .byte   15,56,203,209
3341         pshufd  $14,%xmm0,%xmm0
3342 .byte   15,56,205,245
3343         movdqa  128(%ebp),%xmm7
3344 .byte   15,56,203,202
3345         movdqa  112(%ebp),%xmm0
3346         paddd   %xmm6,%xmm0
3347         nop
3348 .byte   15,56,203,209
3349         pshufd  $14,%xmm0,%xmm0
3350         cmpl    %edi,%eax
3351         nop
3352 .byte   15,56,203,202
3353         paddd   16(%esp),%xmm2
3354         paddd   (%esp),%xmm1
3355         jnz     .L011loop_shaext
3356         pshufd  $177,%xmm2,%xmm2
3357         pshufd  $27,%xmm1,%xmm7
3358         pshufd  $177,%xmm1,%xmm1
3359         punpckhqdq      %xmm2,%xmm1
3360 .byte   102,15,58,15,215,8
3361         movl    44(%esp),%esp
3362         movdqu  %xmm1,(%esi)
3363         movdqu  %xmm2,16(%esi)
3364         popl    %edi
3365         popl    %esi
3366         popl    %ebx
3367         popl    %ebp
3368         ret
3369 .align  32
3370 .L006SSSE3:
3371         leal    -96(%esp),%esp
3372         movl    (%esi),%eax
3373         movl    4(%esi),%ebx
3374         movl    8(%esi),%ecx
3375         movl    12(%esi),%edi
3376         movl    %ebx,4(%esp)
3377         xorl    %ecx,%ebx
3378         movl    %ecx,8(%esp)
3379         movl    %edi,12(%esp)
3380         movl    16(%esi),%edx
3381         movl    20(%esi),%edi
3382         movl    24(%esi),%ecx
3383         movl    28(%esi),%esi
3384         movl    %edi,20(%esp)
3385         movl    100(%esp),%edi
3386         movl    %ecx,24(%esp)
3387         movl    %esi,28(%esp)
3388         movdqa  256(%ebp),%xmm7
3389         jmp     .L012grand_ssse3
3390 .align  16
3391 .L012grand_ssse3:
3392         movdqu  (%edi),%xmm0
3393         movdqu  16(%edi),%xmm1
3394         movdqu  32(%edi),%xmm2
3395         movdqu  48(%edi),%xmm3
3396         addl    $64,%edi
3397 .byte   102,15,56,0,199
3398         movl    %edi,100(%esp)
3399 .byte   102,15,56,0,207
3400         movdqa  (%ebp),%xmm4
3401 .byte   102,15,56,0,215
3402         movdqa  16(%ebp),%xmm5
3403         paddd   %xmm0,%xmm4
3404 .byte   102,15,56,0,223
3405         movdqa  32(%ebp),%xmm6
3406         paddd   %xmm1,%xmm5
3407         movdqa  48(%ebp),%xmm7
3408         movdqa  %xmm4,32(%esp)
3409         paddd   %xmm2,%xmm6
3410         movdqa  %xmm5,48(%esp)
3411         paddd   %xmm3,%xmm7
3412         movdqa  %xmm6,64(%esp)
3413         movdqa  %xmm7,80(%esp)
3414         jmp     .L013ssse3_00_47
3415 .align  16
3416 .L013ssse3_00_47:
3417         addl    $64,%ebp
3418         movl    %edx,%ecx
3419         movdqa  %xmm1,%xmm4
3420         rorl    $14,%edx
3421         movl    20(%esp),%esi
3422         movdqa  %xmm3,%xmm7
3423         xorl    %ecx,%edx
3424         movl    24(%esp),%edi
3425 .byte   102,15,58,15,224,4
3426         xorl    %edi,%esi
3427         rorl    $5,%edx
3428         andl    %ecx,%esi
3429 .byte   102,15,58,15,250,4
3430         movl    %ecx,16(%esp)
3431         xorl    %ecx,%edx
3432         xorl    %esi,%edi
3433         movdqa  %xmm4,%xmm5
3434         rorl    $6,%edx
3435         movl    %eax,%ecx
3436         movdqa  %xmm4,%xmm6
3437         addl    %edi,%edx
3438         movl    4(%esp),%edi
3439         psrld   $3,%xmm4
3440         movl    %eax,%esi
3441         rorl    $9,%ecx
3442         paddd   %xmm7,%xmm0
3443         movl    %eax,(%esp)
3444         xorl    %eax,%ecx
3445         psrld   $7,%xmm6
3446         xorl    %edi,%eax
3447         addl    28(%esp),%edx
3448         rorl    $11,%ecx
3449         andl    %eax,%ebx
3450         pshufd  $250,%xmm3,%xmm7
3451         xorl    %esi,%ecx
3452         addl    32(%esp),%edx
3453         pslld   $14,%xmm5
3454         xorl    %edi,%ebx
3455         rorl    $2,%ecx
3456         pxor    %xmm6,%xmm4
3457         addl    %edx,%ebx
3458         addl    12(%esp),%edx
3459         psrld   $11,%xmm6
3460         addl    %ecx,%ebx
3461         movl    %edx,%ecx
3462         rorl    $14,%edx
3463         pxor    %xmm5,%xmm4
3464         movl    16(%esp),%esi
3465         xorl    %ecx,%edx
3466         pslld   $11,%xmm5
3467         movl    20(%esp),%edi
3468         xorl    %edi,%esi
3469         rorl    $5,%edx
3470         pxor    %xmm6,%xmm4
3471         andl    %ecx,%esi
3472         movl    %ecx,12(%esp)
3473         movdqa  %xmm7,%xmm6
3474         xorl    %ecx,%edx
3475         xorl    %esi,%edi
3476         rorl    $6,%edx
3477         pxor    %xmm5,%xmm4
3478         movl    %ebx,%ecx
3479         addl    %edi,%edx
3480         psrld   $10,%xmm7
3481         movl    (%esp),%edi
3482         movl    %ebx,%esi
3483         rorl    $9,%ecx
3484         paddd   %xmm4,%xmm0
3485         movl    %ebx,28(%esp)
3486         xorl    %ebx,%ecx
3487         psrlq   $17,%xmm6
3488         xorl    %edi,%ebx
3489         addl    24(%esp),%edx
3490         rorl    $11,%ecx
3491         pxor    %xmm6,%xmm7
3492         andl    %ebx,%eax
3493         xorl    %esi,%ecx
3494         psrlq   $2,%xmm6
3495         addl    36(%esp),%edx
3496         xorl    %edi,%eax
3497         rorl    $2,%ecx
3498         pxor    %xmm6,%xmm7
3499         addl    %edx,%eax
3500         addl    8(%esp),%edx
3501         pshufd  $128,%xmm7,%xmm7
3502         addl    %ecx,%eax
3503         movl    %edx,%ecx
3504         rorl    $14,%edx
3505         movl    12(%esp),%esi
3506         xorl    %ecx,%edx
3507         movl    16(%esp),%edi
3508         xorl    %edi,%esi
3509         rorl    $5,%edx
3510         andl    %ecx,%esi
3511         psrldq  $8,%xmm7
3512         movl    %ecx,8(%esp)
3513         xorl    %ecx,%edx
3514         xorl    %esi,%edi
3515         paddd   %xmm7,%xmm0
3516         rorl    $6,%edx
3517         movl    %eax,%ecx
3518         addl    %edi,%edx
3519         movl    28(%esp),%edi
3520         movl    %eax,%esi
3521         rorl    $9,%ecx
3522         movl    %eax,24(%esp)
3523         pshufd  $80,%xmm0,%xmm7
3524         xorl    %eax,%ecx
3525         xorl    %edi,%eax
3526         addl    20(%esp),%edx
3527         movdqa  %xmm7,%xmm6
3528         rorl    $11,%ecx
3529         psrld   $10,%xmm7
3530         andl    %eax,%ebx
3531         psrlq   $17,%xmm6
3532         xorl    %esi,%ecx
3533         addl    40(%esp),%edx
3534         xorl    %edi,%ebx
3535         rorl    $2,%ecx
3536         pxor    %xmm6,%xmm7
3537         addl    %edx,%ebx
3538         addl    4(%esp),%edx
3539         psrlq   $2,%xmm6
3540         addl    %ecx,%ebx
3541         movl    %edx,%ecx
3542         rorl    $14,%edx
3543         pxor    %xmm6,%xmm7
3544         movl    8(%esp),%esi
3545         xorl    %ecx,%edx
3546         movl    12(%esp),%edi
3547         pshufd  $8,%xmm7,%xmm7
3548         xorl    %edi,%esi
3549         rorl    $5,%edx
3550         movdqa  (%ebp),%xmm6
3551         andl    %ecx,%esi
3552         movl    %ecx,4(%esp)
3553         pslldq  $8,%xmm7
3554         xorl    %ecx,%edx
3555         xorl    %esi,%edi
3556         rorl    $6,%edx
3557         movl    %ebx,%ecx
3558         addl    %edi,%edx
3559         movl    24(%esp),%edi
3560         movl    %ebx,%esi
3561         rorl    $9,%ecx
3562         paddd   %xmm7,%xmm0
3563         movl    %ebx,20(%esp)
3564         xorl    %ebx,%ecx
3565         xorl    %edi,%ebx
3566         addl    16(%esp),%edx
3567         paddd   %xmm0,%xmm6
3568         rorl    $11,%ecx
3569         andl    %ebx,%eax
3570         xorl    %esi,%ecx
3571         addl    44(%esp),%edx
3572         xorl    %edi,%eax
3573         rorl    $2,%ecx
3574         addl    %edx,%eax
3575         addl    (%esp),%edx
3576         addl    %ecx,%eax
3577         movdqa  %xmm6,32(%esp)
3578         movl    %edx,%ecx
3579         movdqa  %xmm2,%xmm4
3580         rorl    $14,%edx
3581         movl    4(%esp),%esi
3582         movdqa  %xmm0,%xmm7
3583         xorl    %ecx,%edx
3584         movl    8(%esp),%edi
3585 .byte   102,15,58,15,225,4
3586         xorl    %edi,%esi
3587         rorl    $5,%edx
3588         andl    %ecx,%esi
3589 .byte   102,15,58,15,251,4
3590         movl    %ecx,(%esp)
3591         xorl    %ecx,%edx
3592         xorl    %esi,%edi
3593         movdqa  %xmm4,%xmm5
3594         rorl    $6,%edx
3595         movl    %eax,%ecx
3596         movdqa  %xmm4,%xmm6
3597         addl    %edi,%edx
3598         movl    20(%esp),%edi
3599         psrld   $3,%xmm4
3600         movl    %eax,%esi
3601         rorl    $9,%ecx
3602         paddd   %xmm7,%xmm1
3603         movl    %eax,16(%esp)
3604         xorl    %eax,%ecx
3605         psrld   $7,%xmm6
3606         xorl    %edi,%eax
3607         addl    12(%esp),%edx
3608         rorl    $11,%ecx
3609         andl    %eax,%ebx
3610         pshufd  $250,%xmm0,%xmm7
3611         xorl    %esi,%ecx
3612         addl    48(%esp),%edx
3613         pslld   $14,%xmm5
3614         xorl    %edi,%ebx
3615         rorl    $2,%ecx
3616         pxor    %xmm6,%xmm4
3617         addl    %edx,%ebx
3618         addl    28(%esp),%edx
3619         psrld   $11,%xmm6
3620         addl    %ecx,%ebx
3621         movl    %edx,%ecx
3622         rorl    $14,%edx
3623         pxor    %xmm5,%xmm4
3624         movl    (%esp),%esi
3625         xorl    %ecx,%edx
3626         pslld   $11,%xmm5
3627         movl    4(%esp),%edi
3628         xorl    %edi,%esi
3629         rorl    $5,%edx
3630         pxor    %xmm6,%xmm4
3631         andl    %ecx,%esi
3632         movl    %ecx,28(%esp)
3633         movdqa  %xmm7,%xmm6
3634         xorl    %ecx,%edx
3635         xorl    %esi,%edi
3636         rorl    $6,%edx
3637         pxor    %xmm5,%xmm4
3638         movl    %ebx,%ecx
3639         addl    %edi,%edx
3640         psrld   $10,%xmm7
3641         movl    16(%esp),%edi
3642         movl    %ebx,%esi
3643         rorl    $9,%ecx
3644         paddd   %xmm4,%xmm1
3645         movl    %ebx,12(%esp)
3646         xorl    %ebx,%ecx
3647         psrlq   $17,%xmm6
3648         xorl    %edi,%ebx
3649         addl    8(%esp),%edx
3650         rorl    $11,%ecx
3651         pxor    %xmm6,%xmm7
3652         andl    %ebx,%eax
3653         xorl    %esi,%ecx
3654         psrlq   $2,%xmm6
3655         addl    52(%esp),%edx
3656         xorl    %edi,%eax
3657         rorl    $2,%ecx
3658         pxor    %xmm6,%xmm7
3659         addl    %edx,%eax
3660         addl    24(%esp),%edx
3661         pshufd  $128,%xmm7,%xmm7
3662         addl    %ecx,%eax
3663         movl    %edx,%ecx
3664         rorl    $14,%edx
3665         movl    28(%esp),%esi
3666         xorl    %ecx,%edx
3667         movl    (%esp),%edi
3668         xorl    %edi,%esi
3669         rorl    $5,%edx
3670         andl    %ecx,%esi
3671         psrldq  $8,%xmm7
3672         movl    %ecx,24(%esp)
3673         xorl    %ecx,%edx
3674         xorl    %esi,%edi
3675         paddd   %xmm7,%xmm1
3676         rorl    $6,%edx
3677         movl    %eax,%ecx
3678         addl    %edi,%edx
3679         movl    12(%esp),%edi
3680         movl    %eax,%esi
3681         rorl    $9,%ecx
3682         movl    %eax,8(%esp)
3683         pshufd  $80,%xmm1,%xmm7
3684         xorl    %eax,%ecx
3685         xorl    %edi,%eax
3686         addl    4(%esp),%edx
3687         movdqa  %xmm7,%xmm6
3688         rorl    $11,%ecx
3689         psrld   $10,%xmm7
3690         andl    %eax,%ebx
3691         psrlq   $17,%xmm6
3692         xorl    %esi,%ecx
3693         addl    56(%esp),%edx
3694         xorl    %edi,%ebx
3695         rorl    $2,%ecx
3696         pxor    %xmm6,%xmm7
3697         addl    %edx,%ebx
3698         addl    20(%esp),%edx
3699         psrlq   $2,%xmm6
3700         addl    %ecx,%ebx
3701         movl    %edx,%ecx
3702         rorl    $14,%edx
3703         pxor    %xmm6,%xmm7
3704         movl    24(%esp),%esi
3705         xorl    %ecx,%edx
3706         movl    28(%esp),%edi
3707         pshufd  $8,%xmm7,%xmm7
3708         xorl    %edi,%esi
3709         rorl    $5,%edx
3710         movdqa  16(%ebp),%xmm6
3711         andl    %ecx,%esi
3712         movl    %ecx,20(%esp)
3713         pslldq  $8,%xmm7
3714         xorl    %ecx,%edx
3715         xorl    %esi,%edi
3716         rorl    $6,%edx
3717         movl    %ebx,%ecx
3718         addl    %edi,%edx
3719         movl    8(%esp),%edi
3720         movl    %ebx,%esi
3721         rorl    $9,%ecx
3722         paddd   %xmm7,%xmm1
3723         movl    %ebx,4(%esp)
3724         xorl    %ebx,%ecx
3725         xorl    %edi,%ebx
3726         addl    (%esp),%edx
3727         paddd   %xmm1,%xmm6
3728         rorl    $11,%ecx
3729         andl    %ebx,%eax
3730         xorl    %esi,%ecx
3731         addl    60(%esp),%edx
3732         xorl    %edi,%eax
3733         rorl    $2,%ecx
3734         addl    %edx,%eax
3735         addl    16(%esp),%edx
3736         addl    %ecx,%eax
3737         movdqa  %xmm6,48(%esp)
3738         movl    %edx,%ecx
3739         movdqa  %xmm3,%xmm4
3740         rorl    $14,%edx
3741         movl    20(%esp),%esi
3742         movdqa  %xmm1,%xmm7
3743         xorl    %ecx,%edx
3744         movl    24(%esp),%edi
3745 .byte   102,15,58,15,226,4
3746         xorl    %edi,%esi
3747         rorl    $5,%edx
3748         andl    %ecx,%esi
3749 .byte   102,15,58,15,248,4
3750         movl    %ecx,16(%esp)
3751         xorl    %ecx,%edx
3752         xorl    %esi,%edi
3753         movdqa  %xmm4,%xmm5
3754         rorl    $6,%edx
3755         movl    %eax,%ecx
3756         movdqa  %xmm4,%xmm6
3757         addl    %edi,%edx
3758         movl    4(%esp),%edi
3759         psrld   $3,%xmm4
3760         movl    %eax,%esi
3761         rorl    $9,%ecx
3762         paddd   %xmm7,%xmm2
3763         movl    %eax,(%esp)
3764         xorl    %eax,%ecx
3765         psrld   $7,%xmm6
3766         xorl    %edi,%eax
3767         addl    28(%esp),%edx
3768         rorl    $11,%ecx
3769         andl    %eax,%ebx
3770         pshufd  $250,%xmm1,%xmm7
3771         xorl    %esi,%ecx
3772         addl    64(%esp),%edx
3773         pslld   $14,%xmm5
3774         xorl    %edi,%ebx
3775         rorl    $2,%ecx
3776         pxor    %xmm6,%xmm4
3777         addl    %edx,%ebx
3778         addl    12(%esp),%edx
3779         psrld   $11,%xmm6
3780         addl    %ecx,%ebx
3781         movl    %edx,%ecx
3782         rorl    $14,%edx
3783         pxor    %xmm5,%xmm4
3784         movl    16(%esp),%esi
3785         xorl    %ecx,%edx
3786         pslld   $11,%xmm5
3787         movl    20(%esp),%edi
3788         xorl    %edi,%esi
3789         rorl    $5,%edx
3790         pxor    %xmm6,%xmm4
3791         andl    %ecx,%esi
3792         movl    %ecx,12(%esp)
3793         movdqa  %xmm7,%xmm6
3794         xorl    %ecx,%edx
3795         xorl    %esi,%edi
3796         rorl    $6,%edx
3797         pxor    %xmm5,%xmm4
3798         movl    %ebx,%ecx
3799         addl    %edi,%edx
3800         psrld   $10,%xmm7
3801         movl    (%esp),%edi
3802         movl    %ebx,%esi
3803         rorl    $9,%ecx
3804         paddd   %xmm4,%xmm2
3805         movl    %ebx,28(%esp)
3806         xorl    %ebx,%ecx
3807         psrlq   $17,%xmm6
3808         xorl    %edi,%ebx
3809         addl    24(%esp),%edx
3810         rorl    $11,%ecx
3811         pxor    %xmm6,%xmm7
3812         andl    %ebx,%eax
3813         xorl    %esi,%ecx
3814         psrlq   $2,%xmm6
3815         addl    68(%esp),%edx
3816         xorl    %edi,%eax
3817         rorl    $2,%ecx
3818         pxor    %xmm6,%xmm7
3819         addl    %edx,%eax
3820         addl    8(%esp),%edx
3821         pshufd  $128,%xmm7,%xmm7
3822         addl    %ecx,%eax
3823         movl    %edx,%ecx
3824         rorl    $14,%edx
3825         movl    12(%esp),%esi
3826         xorl    %ecx,%edx
3827         movl    16(%esp),%edi
3828         xorl    %edi,%esi
3829         rorl    $5,%edx
3830         andl    %ecx,%esi
3831         psrldq  $8,%xmm7
3832         movl    %ecx,8(%esp)
3833         xorl    %ecx,%edx
3834         xorl    %esi,%edi
3835         paddd   %xmm7,%xmm2
3836         rorl    $6,%edx
3837         movl    %eax,%ecx
3838         addl    %edi,%edx
3839         movl    28(%esp),%edi
3840         movl    %eax,%esi
3841         rorl    $9,%ecx
3842         movl    %eax,24(%esp)
3843         pshufd  $80,%xmm2,%xmm7
3844         xorl    %eax,%ecx
3845         xorl    %edi,%eax
3846         addl    20(%esp),%edx
3847         movdqa  %xmm7,%xmm6
3848         rorl    $11,%ecx
3849         psrld   $10,%xmm7
3850         andl    %eax,%ebx
3851         psrlq   $17,%xmm6
3852         xorl    %esi,%ecx
3853         addl    72(%esp),%edx
3854         xorl    %edi,%ebx
3855         rorl    $2,%ecx
3856         pxor    %xmm6,%xmm7
3857         addl    %edx,%ebx
3858         addl    4(%esp),%edx
3859         psrlq   $2,%xmm6
3860         addl    %ecx,%ebx
3861         movl    %edx,%ecx
3862         rorl    $14,%edx
3863         pxor    %xmm6,%xmm7
3864         movl    8(%esp),%esi
3865         xorl    %ecx,%edx
3866         movl    12(%esp),%edi
3867         pshufd  $8,%xmm7,%xmm7
3868         xorl    %edi,%esi
3869         rorl    $5,%edx
3870         movdqa  32(%ebp),%xmm6
3871         andl    %ecx,%esi
3872         movl    %ecx,4(%esp)
3873         pslldq  $8,%xmm7
3874         xorl    %ecx,%edx
3875         xorl    %esi,%edi
3876         rorl    $6,%edx
3877         movl    %ebx,%ecx
3878         addl    %edi,%edx
3879         movl    24(%esp),%edi
3880         movl    %ebx,%esi
3881         rorl    $9,%ecx
3882         paddd   %xmm7,%xmm2
3883         movl    %ebx,20(%esp)
3884         xorl    %ebx,%ecx
3885         xorl    %edi,%ebx
3886         addl    16(%esp),%edx
3887         paddd   %xmm2,%xmm6
3888         rorl    $11,%ecx
3889         andl    %ebx,%eax
3890         xorl    %esi,%ecx
3891         addl    76(%esp),%edx
3892         xorl    %edi,%eax
3893         rorl    $2,%ecx
3894         addl    %edx,%eax
3895         addl    (%esp),%edx
3896         addl    %ecx,%eax
3897         movdqa  %xmm6,64(%esp)
3898         movl    %edx,%ecx
3899         movdqa  %xmm0,%xmm4
3900         rorl    $14,%edx
3901         movl    4(%esp),%esi
3902         movdqa  %xmm2,%xmm7
3903         xorl    %ecx,%edx
3904         movl    8(%esp),%edi
3905 .byte   102,15,58,15,227,4
3906         xorl    %edi,%esi
3907         rorl    $5,%edx
3908         andl    %ecx,%esi
3909 .byte   102,15,58,15,249,4
3910         movl    %ecx,(%esp)
3911         xorl    %ecx,%edx
3912         xorl    %esi,%edi
3913         movdqa  %xmm4,%xmm5
3914         rorl    $6,%edx
3915         movl    %eax,%ecx
3916         movdqa  %xmm4,%xmm6
3917         addl    %edi,%edx
3918         movl    20(%esp),%edi
3919         psrld   $3,%xmm4
3920         movl    %eax,%esi
3921         rorl    $9,%ecx
3922         paddd   %xmm7,%xmm3
3923         movl    %eax,16(%esp)
3924         xorl    %eax,%ecx
3925         psrld   $7,%xmm6
3926         xorl    %edi,%eax
3927         addl    12(%esp),%edx
3928         rorl    $11,%ecx
3929         andl    %eax,%ebx
3930         pshufd  $250,%xmm2,%xmm7
3931         xorl    %esi,%ecx
3932         addl    80(%esp),%edx
3933         pslld   $14,%xmm5
3934         xorl    %edi,%ebx
3935         rorl    $2,%ecx
3936         pxor    %xmm6,%xmm4
3937         addl    %edx,%ebx
3938         addl    28(%esp),%edx
3939         psrld   $11,%xmm6
3940         addl    %ecx,%ebx
3941         movl    %edx,%ecx
3942         rorl    $14,%edx
3943         pxor    %xmm5,%xmm4
3944         movl    (%esp),%esi
3945         xorl    %ecx,%edx
3946         pslld   $11,%xmm5
3947         movl    4(%esp),%edi
3948         xorl    %edi,%esi
3949         rorl    $5,%edx
3950         pxor    %xmm6,%xmm4
3951         andl    %ecx,%esi
3952         movl    %ecx,28(%esp)
3953         movdqa  %xmm7,%xmm6
3954         xorl    %ecx,%edx
3955         xorl    %esi,%edi
3956         rorl    $6,%edx
3957         pxor    %xmm5,%xmm4
3958         movl    %ebx,%ecx
3959         addl    %edi,%edx
3960         psrld   $10,%xmm7
3961         movl    16(%esp),%edi
3962         movl    %ebx,%esi
3963         rorl    $9,%ecx
3964         paddd   %xmm4,%xmm3
3965         movl    %ebx,12(%esp)
3966         xorl    %ebx,%ecx
3967         psrlq   $17,%xmm6
3968         xorl    %edi,%ebx
3969         addl    8(%esp),%edx
3970         rorl    $11,%ecx
3971         pxor    %xmm6,%xmm7
3972         andl    %ebx,%eax
3973         xorl    %esi,%ecx
3974         psrlq   $2,%xmm6
3975         addl    84(%esp),%edx
3976         xorl    %edi,%eax
3977         rorl    $2,%ecx
3978         pxor    %xmm6,%xmm7
3979         addl    %edx,%eax
3980         addl    24(%esp),%edx
3981         pshufd  $128,%xmm7,%xmm7
3982         addl    %ecx,%eax
3983         movl    %edx,%ecx
3984         rorl    $14,%edx
3985         movl    28(%esp),%esi
3986         xorl    %ecx,%edx
3987         movl    (%esp),%edi
3988         xorl    %edi,%esi
3989         rorl    $5,%edx
3990         andl    %ecx,%esi
3991         psrldq  $8,%xmm7
3992         movl    %ecx,24(%esp)
3993         xorl    %ecx,%edx
3994         xorl    %esi,%edi
3995         paddd   %xmm7,%xmm3
3996         rorl    $6,%edx
3997         movl    %eax,%ecx
3998         addl    %edi,%edx
3999         movl    12(%esp),%edi
4000         movl    %eax,%esi
4001         rorl    $9,%ecx
4002         movl    %eax,8(%esp)
4003         pshufd  $80,%xmm3,%xmm7
4004         xorl    %eax,%ecx
4005         xorl    %edi,%eax
4006         addl    4(%esp),%edx
4007         movdqa  %xmm7,%xmm6
4008         rorl    $11,%ecx
4009         psrld   $10,%xmm7
4010         andl    %eax,%ebx
4011         psrlq   $17,%xmm6
4012         xorl    %esi,%ecx
4013         addl    88(%esp),%edx
4014         xorl    %edi,%ebx
4015         rorl    $2,%ecx
4016         pxor    %xmm6,%xmm7
4017         addl    %edx,%ebx
4018         addl    20(%esp),%edx
4019         psrlq   $2,%xmm6
4020         addl    %ecx,%ebx
4021         movl    %edx,%ecx
4022         rorl    $14,%edx
4023         pxor    %xmm6,%xmm7
4024         movl    24(%esp),%esi
4025         xorl    %ecx,%edx
4026         movl    28(%esp),%edi
4027         pshufd  $8,%xmm7,%xmm7
4028         xorl    %edi,%esi
4029         rorl    $5,%edx
4030         movdqa  48(%ebp),%xmm6
4031         andl    %ecx,%esi
4032         movl    %ecx,20(%esp)
4033         pslldq  $8,%xmm7
4034         xorl    %ecx,%edx
4035         xorl    %esi,%edi
4036         rorl    $6,%edx
4037         movl    %ebx,%ecx
4038         addl    %edi,%edx
4039         movl    8(%esp),%edi
4040         movl    %ebx,%esi
4041         rorl    $9,%ecx
4042         paddd   %xmm7,%xmm3
4043         movl    %ebx,4(%esp)
4044         xorl    %ebx,%ecx
4045         xorl    %edi,%ebx
4046         addl    (%esp),%edx
4047         paddd   %xmm3,%xmm6
4048         rorl    $11,%ecx
4049         andl    %ebx,%eax
4050         xorl    %esi,%ecx
4051         addl    92(%esp),%edx
4052         xorl    %edi,%eax
4053         rorl    $2,%ecx
4054         addl    %edx,%eax
4055         addl    16(%esp),%edx
4056         addl    %ecx,%eax
4057         movdqa  %xmm6,80(%esp)
4058         cmpl    $66051,64(%ebp)
4059         jne     .L013ssse3_00_47
4060         movl    %edx,%ecx
4061         rorl    $14,%edx
4062         movl    20(%esp),%esi
4063         xorl    %ecx,%edx
4064         movl    24(%esp),%edi
4065         xorl    %edi,%esi
4066         rorl    $5,%edx
4067         andl    %ecx,%esi
4068         movl    %ecx,16(%esp)
4069         xorl    %ecx,%edx
4070         xorl    %esi,%edi
4071         rorl    $6,%edx
4072         movl    %eax,%ecx
4073         addl    %edi,%edx
4074         movl    4(%esp),%edi
4075         movl    %eax,%esi
4076         rorl    $9,%ecx
4077         movl    %eax,(%esp)
4078         xorl    %eax,%ecx
4079         xorl    %edi,%eax
4080         addl    28(%esp),%edx
4081         rorl    $11,%ecx
4082         andl    %eax,%ebx
4083         xorl    %esi,%ecx
4084         addl    32(%esp),%edx
4085         xorl    %edi,%ebx
4086         rorl    $2,%ecx
4087         addl    %edx,%ebx
4088         addl    12(%esp),%edx
4089         addl    %ecx,%ebx
4090         movl    %edx,%ecx
4091         rorl    $14,%edx
4092         movl    16(%esp),%esi
4093         xorl    %ecx,%edx
4094         movl    20(%esp),%edi
4095         xorl    %edi,%esi
4096         rorl    $5,%edx
4097         andl    %ecx,%esi
4098         movl    %ecx,12(%esp)
4099         xorl    %ecx,%edx
4100         xorl    %esi,%edi
4101         rorl    $6,%edx
4102         movl    %ebx,%ecx
4103         addl    %edi,%edx
4104         movl    (%esp),%edi
4105         movl    %ebx,%esi
4106         rorl    $9,%ecx
4107         movl    %ebx,28(%esp)
4108         xorl    %ebx,%ecx
4109         xorl    %edi,%ebx
4110         addl    24(%esp),%edx
4111         rorl    $11,%ecx
4112         andl    %ebx,%eax
4113         xorl    %esi,%ecx
4114         addl    36(%esp),%edx
4115         xorl    %edi,%eax
4116         rorl    $2,%ecx
4117         addl    %edx,%eax
4118         addl    8(%esp),%edx
4119         addl    %ecx,%eax
4120         movl    %edx,%ecx
4121         rorl    $14,%edx
4122         movl    12(%esp),%esi
4123         xorl    %ecx,%edx
4124         movl    16(%esp),%edi
4125         xorl    %edi,%esi
4126         rorl    $5,%edx
4127         andl    %ecx,%esi
4128         movl    %ecx,8(%esp)
4129         xorl    %ecx,%edx
4130         xorl    %esi,%edi
4131         rorl    $6,%edx
4132         movl    %eax,%ecx
4133         addl    %edi,%edx
4134         movl    28(%esp),%edi
4135         movl    %eax,%esi
4136         rorl    $9,%ecx
4137         movl    %eax,24(%esp)
4138         xorl    %eax,%ecx
4139         xorl    %edi,%eax
4140         addl    20(%esp),%edx
4141         rorl    $11,%ecx
4142         andl    %eax,%ebx
4143         xorl    %esi,%ecx
4144         addl    40(%esp),%edx
4145         xorl    %edi,%ebx
4146         rorl    $2,%ecx
4147         addl    %edx,%ebx
4148         addl    4(%esp),%edx
4149         addl    %ecx,%ebx
4150         movl    %edx,%ecx
4151         rorl    $14,%edx
4152         movl    8(%esp),%esi
4153         xorl    %ecx,%edx
4154         movl    12(%esp),%edi
4155         xorl    %edi,%esi
4156         rorl    $5,%edx
4157         andl    %ecx,%esi
4158         movl    %ecx,4(%esp)
4159         xorl    %ecx,%edx
4160         xorl    %esi,%edi
4161         rorl    $6,%edx
4162         movl    %ebx,%ecx
4163         addl    %edi,%edx
4164         movl    24(%esp),%edi
4165         movl    %ebx,%esi
4166         rorl    $9,%ecx
4167         movl    %ebx,20(%esp)
4168         xorl    %ebx,%ecx
4169         xorl    %edi,%ebx
4170         addl    16(%esp),%edx
4171         rorl    $11,%ecx
4172         andl    %ebx,%eax
4173         xorl    %esi,%ecx
4174         addl    44(%esp),%edx
4175         xorl    %edi,%eax
4176         rorl    $2,%ecx
4177         addl    %edx,%eax
4178         addl    (%esp),%edx
4179         addl    %ecx,%eax
4180         movl    %edx,%ecx
4181         rorl    $14,%edx
4182         movl    4(%esp),%esi
4183         xorl    %ecx,%edx
4184         movl    8(%esp),%edi
4185         xorl    %edi,%esi
4186         rorl    $5,%edx
4187         andl    %ecx,%esi
4188         movl    %ecx,(%esp)
4189         xorl    %ecx,%edx
4190         xorl    %esi,%edi
4191         rorl    $6,%edx
4192         movl    %eax,%ecx
4193         addl    %edi,%edx
4194         movl    20(%esp),%edi
4195         movl    %eax,%esi
4196         rorl    $9,%ecx
4197         movl    %eax,16(%esp)
4198         xorl    %eax,%ecx
4199         xorl    %edi,%eax
4200         addl    12(%esp),%edx
4201         rorl    $11,%ecx
4202         andl    %eax,%ebx
4203         xorl    %esi,%ecx
4204         addl    48(%esp),%edx
4205         xorl    %edi,%ebx
4206         rorl    $2,%ecx
4207         addl    %edx,%ebx
4208         addl    28(%esp),%edx
4209         addl    %ecx,%ebx
4210         movl    %edx,%ecx
4211         rorl    $14,%edx
4212         movl    (%esp),%esi
4213         xorl    %ecx,%edx
4214         movl    4(%esp),%edi
4215         xorl    %edi,%esi
4216         rorl    $5,%edx
4217         andl    %ecx,%esi
4218         movl    %ecx,28(%esp)
4219         xorl    %ecx,%edx
4220         xorl    %esi,%edi
4221         rorl    $6,%edx
4222         movl    %ebx,%ecx
4223         addl    %edi,%edx
4224         movl    16(%esp),%edi
4225         movl    %ebx,%esi
4226         rorl    $9,%ecx
4227         movl    %ebx,12(%esp)
4228         xorl    %ebx,%ecx
4229         xorl    %edi,%ebx
4230         addl    8(%esp),%edx
4231         rorl    $11,%ecx
4232         andl    %ebx,%eax
4233         xorl    %esi,%ecx
4234         addl    52(%esp),%edx
4235         xorl    %edi,%eax
4236         rorl    $2,%ecx
4237         addl    %edx,%eax
4238         addl    24(%esp),%edx
4239         addl    %ecx,%eax
4240         movl    %edx,%ecx
4241         rorl    $14,%edx
4242         movl    28(%esp),%esi
4243         xorl    %ecx,%edx
4244         movl    (%esp),%edi
4245         xorl    %edi,%esi
4246         rorl    $5,%edx
4247         andl    %ecx,%esi
4248         movl    %ecx,24(%esp)
4249         xorl    %ecx,%edx
4250         xorl    %esi,%edi
4251         rorl    $6,%edx
4252         movl    %eax,%ecx
4253         addl    %edi,%edx
4254         movl    12(%esp),%edi
4255         movl    %eax,%esi
4256         rorl    $9,%ecx
4257         movl    %eax,8(%esp)
4258         xorl    %eax,%ecx
4259         xorl    %edi,%eax
4260         addl    4(%esp),%edx
4261         rorl    $11,%ecx
4262         andl    %eax,%ebx
4263         xorl    %esi,%ecx
4264         addl    56(%esp),%edx
4265         xorl    %edi,%ebx
4266         rorl    $2,%ecx
4267         addl    %edx,%ebx
4268         addl    20(%esp),%edx
4269         addl    %ecx,%ebx
4270         movl    %edx,%ecx
4271         rorl    $14,%edx
4272         movl    24(%esp),%esi
4273         xorl    %ecx,%edx
4274         movl    28(%esp),%edi
4275         xorl    %edi,%esi
4276         rorl    $5,%edx
4277         andl    %ecx,%esi
4278         movl    %ecx,20(%esp)
4279         xorl    %ecx,%edx
4280         xorl    %esi,%edi
4281         rorl    $6,%edx
4282         movl    %ebx,%ecx
4283         addl    %edi,%edx
4284         movl    8(%esp),%edi
4285         movl    %ebx,%esi
4286         rorl    $9,%ecx
4287         movl    %ebx,4(%esp)
4288         xorl    %ebx,%ecx
4289         xorl    %edi,%ebx
4290         addl    (%esp),%edx
4291         rorl    $11,%ecx
4292         andl    %ebx,%eax
4293         xorl    %esi,%ecx
4294         addl    60(%esp),%edx
4295         xorl    %edi,%eax
4296         rorl    $2,%ecx
4297         addl    %edx,%eax
4298         addl    16(%esp),%edx
4299         addl    %ecx,%eax
4300         movl    %edx,%ecx
4301         rorl    $14,%edx
4302         movl    20(%esp),%esi
4303         xorl    %ecx,%edx
4304         movl    24(%esp),%edi
4305         xorl    %edi,%esi
4306         rorl    $5,%edx
4307         andl    %ecx,%esi
4308         movl    %ecx,16(%esp)
4309         xorl    %ecx,%edx
4310         xorl    %esi,%edi
4311         rorl    $6,%edx
4312         movl    %eax,%ecx
4313         addl    %edi,%edx
4314         movl    4(%esp),%edi
4315         movl    %eax,%esi
4316         rorl    $9,%ecx
4317         movl    %eax,(%esp)
4318         xorl    %eax,%ecx
4319         xorl    %edi,%eax
4320         addl    28(%esp),%edx
4321         rorl    $11,%ecx
4322         andl    %eax,%ebx
4323         xorl    %esi,%ecx
4324         addl    64(%esp),%edx
4325         xorl    %edi,%ebx
4326         rorl    $2,%ecx
4327         addl    %edx,%ebx
4328         addl    12(%esp),%edx
4329         addl    %ecx,%ebx
4330         movl    %edx,%ecx
4331         rorl    $14,%edx
4332         movl    16(%esp),%esi
4333         xorl    %ecx,%edx
4334         movl    20(%esp),%edi
4335         xorl    %edi,%esi
4336         rorl    $5,%edx
4337         andl    %ecx,%esi
4338         movl    %ecx,12(%esp)
4339         xorl    %ecx,%edx
4340         xorl    %esi,%edi
4341         rorl    $6,%edx
4342         movl    %ebx,%ecx
4343         addl    %edi,%edx
4344         movl    (%esp),%edi
4345         movl    %ebx,%esi
4346         rorl    $9,%ecx
4347         movl    %ebx,28(%esp)
4348         xorl    %ebx,%ecx
4349         xorl    %edi,%ebx
4350         addl    24(%esp),%edx
4351         rorl    $11,%ecx
4352         andl    %ebx,%eax
4353         xorl    %esi,%ecx
4354         addl    68(%esp),%edx
4355         xorl    %edi,%eax
4356         rorl    $2,%ecx
4357         addl    %edx,%eax
4358         addl    8(%esp),%edx
4359         addl    %ecx,%eax
4360         movl    %edx,%ecx
4361         rorl    $14,%edx
4362         movl    12(%esp),%esi
4363         xorl    %ecx,%edx
4364         movl    16(%esp),%edi
4365         xorl    %edi,%esi
4366         rorl    $5,%edx
4367         andl    %ecx,%esi
4368         movl    %ecx,8(%esp)
4369         xorl    %ecx,%edx
4370         xorl    %esi,%edi
4371         rorl    $6,%edx
4372         movl    %eax,%ecx
4373         addl    %edi,%edx
4374         movl    28(%esp),%edi
4375         movl    %eax,%esi
4376         rorl    $9,%ecx
4377         movl    %eax,24(%esp)
4378         xorl    %eax,%ecx
4379         xorl    %edi,%eax
4380         addl    20(%esp),%edx
4381         rorl    $11,%ecx
4382         andl    %eax,%ebx
4383         xorl    %esi,%ecx
4384         addl    72(%esp),%edx
4385         xorl    %edi,%ebx
4386         rorl    $2,%ecx
4387         addl    %edx,%ebx
4388         addl    4(%esp),%edx
4389         addl    %ecx,%ebx
4390         movl    %edx,%ecx
4391         rorl    $14,%edx
4392         movl    8(%esp),%esi
4393         xorl    %ecx,%edx
4394         movl    12(%esp),%edi
4395         xorl    %edi,%esi
4396         rorl    $5,%edx
4397         andl    %ecx,%esi
4398         movl    %ecx,4(%esp)
4399         xorl    %ecx,%edx
4400         xorl    %esi,%edi
4401         rorl    $6,%edx
4402         movl    %ebx,%ecx
4403         addl    %edi,%edx
4404         movl    24(%esp),%edi
4405         movl    %ebx,%esi
4406         rorl    $9,%ecx
4407         movl    %ebx,20(%esp)
4408         xorl    %ebx,%ecx
4409         xorl    %edi,%ebx
4410         addl    16(%esp),%edx
4411         rorl    $11,%ecx
4412         andl    %ebx,%eax
4413         xorl    %esi,%ecx
4414         addl    76(%esp),%edx
4415         xorl    %edi,%eax
4416         rorl    $2,%ecx
4417         addl    %edx,%eax
4418         addl    (%esp),%edx
4419         addl    %ecx,%eax
4420         movl    %edx,%ecx
4421         rorl    $14,%edx
4422         movl    4(%esp),%esi
4423         xorl    %ecx,%edx
4424         movl    8(%esp),%edi
4425         xorl    %edi,%esi
4426         rorl    $5,%edx
4427         andl    %ecx,%esi
4428         movl    %ecx,(%esp)
4429         xorl    %ecx,%edx
4430         xorl    %esi,%edi
4431         rorl    $6,%edx
4432         movl    %eax,%ecx
4433         addl    %edi,%edx
4434         movl    20(%esp),%edi
4435         movl    %eax,%esi
4436         rorl    $9,%ecx
4437         movl    %eax,16(%esp)
4438         xorl    %eax,%ecx
4439         xorl    %edi,%eax
4440         addl    12(%esp),%edx
4441         rorl    $11,%ecx
4442         andl    %eax,%ebx
4443         xorl    %esi,%ecx
4444         addl    80(%esp),%edx
4445         xorl    %edi,%ebx
4446         rorl    $2,%ecx
4447         addl    %edx,%ebx
4448         addl    28(%esp),%edx
4449         addl    %ecx,%ebx
4450         movl    %edx,%ecx
4451         rorl    $14,%edx
4452         movl    (%esp),%esi
4453         xorl    %ecx,%edx
4454         movl    4(%esp),%edi
4455         xorl    %edi,%esi
4456         rorl    $5,%edx
4457         andl    %ecx,%esi
4458         movl    %ecx,28(%esp)
4459         xorl    %ecx,%edx
4460         xorl    %esi,%edi
4461         rorl    $6,%edx
4462         movl    %ebx,%ecx
4463         addl    %edi,%edx
4464         movl    16(%esp),%edi
4465         movl    %ebx,%esi
4466         rorl    $9,%ecx
4467         movl    %ebx,12(%esp)
4468         xorl    %ebx,%ecx
4469         xorl    %edi,%ebx
4470         addl    8(%esp),%edx
4471         rorl    $11,%ecx
4472         andl    %ebx,%eax
4473         xorl    %esi,%ecx
4474         addl    84(%esp),%edx
4475         xorl    %edi,%eax
4476         rorl    $2,%ecx
4477         addl    %edx,%eax
4478         addl    24(%esp),%edx
4479         addl    %ecx,%eax
4480         movl    %edx,%ecx
4481         rorl    $14,%edx
4482         movl    28(%esp),%esi
4483         xorl    %ecx,%edx
4484         movl    (%esp),%edi
4485         xorl    %edi,%esi
4486         rorl    $5,%edx
4487         andl    %ecx,%esi
4488         movl    %ecx,24(%esp)
4489         xorl    %ecx,%edx
4490         xorl    %esi,%edi
4491         rorl    $6,%edx
4492         movl    %eax,%ecx
4493         addl    %edi,%edx
4494         movl    12(%esp),%edi
4495         movl    %eax,%esi
4496         rorl    $9,%ecx
4497         movl    %eax,8(%esp)
4498         xorl    %eax,%ecx
4499         xorl    %edi,%eax
4500         addl    4(%esp),%edx
4501         rorl    $11,%ecx
4502         andl    %eax,%ebx
4503         xorl    %esi,%ecx
4504         addl    88(%esp),%edx
4505         xorl    %edi,%ebx
4506         rorl    $2,%ecx
4507         addl    %edx,%ebx
4508         addl    20(%esp),%edx
4509         addl    %ecx,%ebx
4510         movl    %edx,%ecx
4511         rorl    $14,%edx
4512         movl    24(%esp),%esi
4513         xorl    %ecx,%edx
4514         movl    28(%esp),%edi
4515         xorl    %edi,%esi
4516         rorl    $5,%edx
4517         andl    %ecx,%esi
4518         movl    %ecx,20(%esp)
4519         xorl    %ecx,%edx
4520         xorl    %esi,%edi
4521         rorl    $6,%edx
4522         movl    %ebx,%ecx
4523         addl    %edi,%edx
4524         movl    8(%esp),%edi
4525         movl    %ebx,%esi
4526         rorl    $9,%ecx
4527         movl    %ebx,4(%esp)
4528         xorl    %ebx,%ecx
4529         xorl    %edi,%ebx
4530         addl    (%esp),%edx
4531         rorl    $11,%ecx
4532         andl    %ebx,%eax
4533         xorl    %esi,%ecx
4534         addl    92(%esp),%edx
4535         xorl    %edi,%eax
4536         rorl    $2,%ecx
4537         addl    %edx,%eax
4538         addl    16(%esp),%edx
4539         addl    %ecx,%eax
4540         movl    96(%esp),%esi
4541         xorl    %edi,%ebx
4542         movl    12(%esp),%ecx
4543         addl    (%esi),%eax
4544         addl    4(%esi),%ebx
4545         addl    8(%esi),%edi
4546         addl    12(%esi),%ecx
4547         movl    %eax,(%esi)
4548         movl    %ebx,4(%esi)
4549         movl    %edi,8(%esi)
4550         movl    %ecx,12(%esi)
4551         movl    %ebx,4(%esp)
4552         xorl    %edi,%ebx
4553         movl    %edi,8(%esp)
4554         movl    %ecx,12(%esp)
4555         movl    20(%esp),%edi
4556         movl    24(%esp),%ecx
4557         addl    16(%esi),%edx
4558         addl    20(%esi),%edi
4559         addl    24(%esi),%ecx
4560         movl    %edx,16(%esi)
4561         movl    %edi,20(%esi)
4562         movl    %edi,20(%esp)
4563         movl    28(%esp),%edi
4564         movl    %ecx,24(%esi)
4565         addl    28(%esi),%edi
4566         movl    %ecx,24(%esp)
4567         movl    %edi,28(%esi)
4568         movl    %edi,28(%esp)
4569         movl    100(%esp),%edi
4570         movdqa  64(%ebp),%xmm7
4571         subl    $192,%ebp
4572         cmpl    104(%esp),%edi
4573         jb      .L012grand_ssse3
4574         movl    108(%esp),%esp
4575         popl    %edi
4576         popl    %esi
4577         popl    %ebx
4578         popl    %ebp
4579         ret
4580 .align  32
4581 .L005AVX:
4582         andl    $264,%edx
4583         cmpl    $264,%edx
4584         je      .L014AVX_BMI
4585         leal    -96(%esp),%esp
4586         vzeroall
4587         movl    (%esi),%eax
4588         movl    4(%esi),%ebx
4589         movl    8(%esi),%ecx
4590         movl    12(%esi),%edi
4591         movl    %ebx,4(%esp)
4592         xorl    %ecx,%ebx
4593         movl    %ecx,8(%esp)
4594         movl    %edi,12(%esp)
4595         movl    16(%esi),%edx
4596         movl    20(%esi),%edi
4597         movl    24(%esi),%ecx
4598         movl    28(%esi),%esi
4599         movl    %edi,20(%esp)
4600         movl    100(%esp),%edi
4601         movl    %ecx,24(%esp)
4602         movl    %esi,28(%esp)
4603         vmovdqa 256(%ebp),%xmm7
4604         jmp     .L015grand_avx
4605 .align  32
4606 .L015grand_avx:
4607         vmovdqu (%edi),%xmm0
4608         vmovdqu 16(%edi),%xmm1
4609         vmovdqu 32(%edi),%xmm2
4610         vmovdqu 48(%edi),%xmm3
4611         addl    $64,%edi
4612         vpshufb %xmm7,%xmm0,%xmm0
4613         movl    %edi,100(%esp)
4614         vpshufb %xmm7,%xmm1,%xmm1
4615         vpshufb %xmm7,%xmm2,%xmm2
4616         vpaddd  (%ebp),%xmm0,%xmm4
4617         vpshufb %xmm7,%xmm3,%xmm3
4618         vpaddd  16(%ebp),%xmm1,%xmm5
4619         vpaddd  32(%ebp),%xmm2,%xmm6
4620         vpaddd  48(%ebp),%xmm3,%xmm7
4621         vmovdqa %xmm4,32(%esp)
4622         vmovdqa %xmm5,48(%esp)
4623         vmovdqa %xmm6,64(%esp)
4624         vmovdqa %xmm7,80(%esp)
4625         jmp     .L016avx_00_47
4626 .align  16
4627 .L016avx_00_47:
4628         addl    $64,%ebp
4629         vpalignr        $4,%xmm0,%xmm1,%xmm4
4630         movl    %edx,%ecx
4631         shrdl   $14,%edx,%edx
4632         movl    20(%esp),%esi
4633         vpalignr        $4,%xmm2,%xmm3,%xmm7
4634         xorl    %ecx,%edx
4635         movl    24(%esp),%edi
4636         xorl    %edi,%esi
4637         vpsrld  $7,%xmm4,%xmm6
4638         shrdl   $5,%edx,%edx
4639         andl    %ecx,%esi
4640         movl    %ecx,16(%esp)
4641         vpaddd  %xmm7,%xmm0,%xmm0
4642         xorl    %ecx,%edx
4643         xorl    %esi,%edi
4644         shrdl   $6,%edx,%edx
4645         vpsrld  $3,%xmm4,%xmm7
4646         movl    %eax,%ecx
4647         addl    %edi,%edx
4648         movl    4(%esp),%edi
4649         vpslld  $14,%xmm4,%xmm5
4650         movl    %eax,%esi
4651         shrdl   $9,%ecx,%ecx
4652         movl    %eax,(%esp)
4653         vpxor   %xmm6,%xmm7,%xmm4
4654         xorl    %eax,%ecx
4655         xorl    %edi,%eax
4656         addl    28(%esp),%edx
4657         vpshufd $250,%xmm3,%xmm7
4658         shrdl   $11,%ecx,%ecx
4659         andl    %eax,%ebx
4660         xorl    %esi,%ecx
4661         vpsrld  $11,%xmm6,%xmm6
4662         addl    32(%esp),%edx
4663         xorl    %edi,%ebx
4664         shrdl   $2,%ecx,%ecx
4665         vpxor   %xmm5,%xmm4,%xmm4
4666         addl    %edx,%ebx
4667         addl    12(%esp),%edx
4668         addl    %ecx,%ebx
4669         vpslld  $11,%xmm5,%xmm5
4670         movl    %edx,%ecx
4671         shrdl   $14,%edx,%edx
4672         movl    16(%esp),%esi
4673         vpxor   %xmm6,%xmm4,%xmm4
4674         xorl    %ecx,%edx
4675         movl    20(%esp),%edi
4676         xorl    %edi,%esi
4677         vpsrld  $10,%xmm7,%xmm6
4678         shrdl   $5,%edx,%edx
4679         andl    %ecx,%esi
4680         movl    %ecx,12(%esp)
4681         vpxor   %xmm5,%xmm4,%xmm4
4682         xorl    %ecx,%edx
4683         xorl    %esi,%edi
4684         shrdl   $6,%edx,%edx
4685         vpsrlq  $17,%xmm7,%xmm5
4686         movl    %ebx,%ecx
4687         addl    %edi,%edx
4688         movl    (%esp),%edi
4689         vpaddd  %xmm4,%xmm0,%xmm0
4690         movl    %ebx,%esi
4691         shrdl   $9,%ecx,%ecx
4692         movl    %ebx,28(%esp)
4693         vpxor   %xmm5,%xmm6,%xmm6
4694         xorl    %ebx,%ecx
4695         xorl    %edi,%ebx
4696         addl    24(%esp),%edx
4697         vpsrlq  $19,%xmm7,%xmm7
4698         shrdl   $11,%ecx,%ecx
4699         andl    %ebx,%eax
4700         xorl    %esi,%ecx
4701         vpxor   %xmm7,%xmm6,%xmm6
4702         addl    36(%esp),%edx
4703         xorl    %edi,%eax
4704         shrdl   $2,%ecx,%ecx
4705         vpshufd $132,%xmm6,%xmm7
4706         addl    %edx,%eax
4707         addl    8(%esp),%edx
4708         addl    %ecx,%eax
4709         vpsrldq $8,%xmm7,%xmm7
4710         movl    %edx,%ecx
4711         shrdl   $14,%edx,%edx
4712         movl    12(%esp),%esi
4713         vpaddd  %xmm7,%xmm0,%xmm0
4714         xorl    %ecx,%edx
4715         movl    16(%esp),%edi
4716         xorl    %edi,%esi
4717         vpshufd $80,%xmm0,%xmm7
4718         shrdl   $5,%edx,%edx
4719         andl    %ecx,%esi
4720         movl    %ecx,8(%esp)
4721         vpsrld  $10,%xmm7,%xmm6
4722         xorl    %ecx,%edx
4723         xorl    %esi,%edi
4724         shrdl   $6,%edx,%edx
4725         vpsrlq  $17,%xmm7,%xmm5
4726         movl    %eax,%ecx
4727         addl    %edi,%edx
4728         movl    28(%esp),%edi
4729         vpxor   %xmm5,%xmm6,%xmm6
4730         movl    %eax,%esi
4731         shrdl   $9,%ecx,%ecx
4732         movl    %eax,24(%esp)
4733         vpsrlq  $19,%xmm7,%xmm7
4734         xorl    %eax,%ecx
4735         xorl    %edi,%eax
4736         addl    20(%esp),%edx
4737         vpxor   %xmm7,%xmm6,%xmm6
4738         shrdl   $11,%ecx,%ecx
4739         andl    %eax,%ebx
4740         xorl    %esi,%ecx
4741         vpshufd $232,%xmm6,%xmm7
4742         addl    40(%esp),%edx
4743         xorl    %edi,%ebx
4744         shrdl   $2,%ecx,%ecx
4745         vpslldq $8,%xmm7,%xmm7
4746         addl    %edx,%ebx
4747         addl    4(%esp),%edx
4748         addl    %ecx,%ebx
4749         vpaddd  %xmm7,%xmm0,%xmm0
4750         movl    %edx,%ecx
4751         shrdl   $14,%edx,%edx
4752         movl    8(%esp),%esi
4753         vpaddd  (%ebp),%xmm0,%xmm6
4754         xorl    %ecx,%edx
4755         movl    12(%esp),%edi
4756         xorl    %edi,%esi
4757         shrdl   $5,%edx,%edx
4758         andl    %ecx,%esi
4759         movl    %ecx,4(%esp)
4760         xorl    %ecx,%edx
4761         xorl    %esi,%edi
4762         shrdl   $6,%edx,%edx
4763         movl    %ebx,%ecx
4764         addl    %edi,%edx
4765         movl    24(%esp),%edi
4766         movl    %ebx,%esi
4767         shrdl   $9,%ecx,%ecx
4768         movl    %ebx,20(%esp)
4769         xorl    %ebx,%ecx
4770         xorl    %edi,%ebx
4771         addl    16(%esp),%edx
4772         shrdl   $11,%ecx,%ecx
4773         andl    %ebx,%eax
4774         xorl    %esi,%ecx
4775         addl    44(%esp),%edx
4776         xorl    %edi,%eax
4777         shrdl   $2,%ecx,%ecx
4778         addl    %edx,%eax
4779         addl    (%esp),%edx
4780         addl    %ecx,%eax
4781         vmovdqa %xmm6,32(%esp)
4782         vpalignr        $4,%xmm1,%xmm2,%xmm4
4783         movl    %edx,%ecx
4784         shrdl   $14,%edx,%edx
4785         movl    4(%esp),%esi
4786         vpalignr        $4,%xmm3,%xmm0,%xmm7
4787         xorl    %ecx,%edx
4788         movl    8(%esp),%edi
4789         xorl    %edi,%esi
4790         vpsrld  $7,%xmm4,%xmm6
4791         shrdl   $5,%edx,%edx
4792         andl    %ecx,%esi
4793         movl    %ecx,(%esp)
4794         vpaddd  %xmm7,%xmm1,%xmm1
4795         xorl    %ecx,%edx
4796         xorl    %esi,%edi
4797         shrdl   $6,%edx,%edx
4798         vpsrld  $3,%xmm4,%xmm7
4799         movl    %eax,%ecx
4800         addl    %edi,%edx
4801         movl    20(%esp),%edi
4802         vpslld  $14,%xmm4,%xmm5
4803         movl    %eax,%esi
4804         shrdl   $9,%ecx,%ecx
4805         movl    %eax,16(%esp)
4806         vpxor   %xmm6,%xmm7,%xmm4
4807         xorl    %eax,%ecx
4808         xorl    %edi,%eax
4809         addl    12(%esp),%edx
4810         vpshufd $250,%xmm0,%xmm7
4811         shrdl   $11,%ecx,%ecx
4812         andl    %eax,%ebx
4813         xorl    %esi,%ecx
4814         vpsrld  $11,%xmm6,%xmm6
4815         addl    48(%esp),%edx
4816         xorl    %edi,%ebx
4817         shrdl   $2,%ecx,%ecx
4818         vpxor   %xmm5,%xmm4,%xmm4
4819         addl    %edx,%ebx
4820         addl    28(%esp),%edx
4821         addl    %ecx,%ebx
4822         vpslld  $11,%xmm5,%xmm5
4823         movl    %edx,%ecx
4824         shrdl   $14,%edx,%edx
4825         movl    (%esp),%esi
4826         vpxor   %xmm6,%xmm4,%xmm4
4827         xorl    %ecx,%edx
4828         movl    4(%esp),%edi
4829         xorl    %edi,%esi
4830         vpsrld  $10,%xmm7,%xmm6
4831         shrdl   $5,%edx,%edx
4832         andl    %ecx,%esi
4833         movl    %ecx,28(%esp)
4834         vpxor   %xmm5,%xmm4,%xmm4
4835         xorl    %ecx,%edx
4836         xorl    %esi,%edi
4837         shrdl   $6,%edx,%edx
4838         vpsrlq  $17,%xmm7,%xmm5
4839         movl    %ebx,%ecx
4840         addl    %edi,%edx
4841         movl    16(%esp),%edi
4842         vpaddd  %xmm4,%xmm1,%xmm1
4843         movl    %ebx,%esi
4844         shrdl   $9,%ecx,%ecx
4845         movl    %ebx,12(%esp)
4846         vpxor   %xmm5,%xmm6,%xmm6
4847         xorl    %ebx,%ecx
4848         xorl    %edi,%ebx
4849         addl    8(%esp),%edx
4850         vpsrlq  $19,%xmm7,%xmm7
4851         shrdl   $11,%ecx,%ecx
4852         andl    %ebx,%eax
4853         xorl    %esi,%ecx
4854         vpxor   %xmm7,%xmm6,%xmm6
4855         addl    52(%esp),%edx
4856         xorl    %edi,%eax
4857         shrdl   $2,%ecx,%ecx
4858         vpshufd $132,%xmm6,%xmm7
4859         addl    %edx,%eax
4860         addl    24(%esp),%edx
4861         addl    %ecx,%eax
4862         vpsrldq $8,%xmm7,%xmm7
4863         movl    %edx,%ecx
4864         shrdl   $14,%edx,%edx
4865         movl    28(%esp),%esi
4866         vpaddd  %xmm7,%xmm1,%xmm1
4867         xorl    %ecx,%edx
4868         movl    (%esp),%edi
4869         xorl    %edi,%esi
4870         vpshufd $80,%xmm1,%xmm7
4871         shrdl   $5,%edx,%edx
4872         andl    %ecx,%esi
4873         movl    %ecx,24(%esp)
4874         vpsrld  $10,%xmm7,%xmm6
4875         xorl    %ecx,%edx
4876         xorl    %esi,%edi
4877         shrdl   $6,%edx,%edx
4878         vpsrlq  $17,%xmm7,%xmm5
4879         movl    %eax,%ecx
4880         addl    %edi,%edx
4881         movl    12(%esp),%edi
4882         vpxor   %xmm5,%xmm6,%xmm6
4883         movl    %eax,%esi
4884         shrdl   $9,%ecx,%ecx
4885         movl    %eax,8(%esp)
4886         vpsrlq  $19,%xmm7,%xmm7
4887         xorl    %eax,%ecx
4888         xorl    %edi,%eax
4889         addl    4(%esp),%edx
4890         vpxor   %xmm7,%xmm6,%xmm6
4891         shrdl   $11,%ecx,%ecx
4892         andl    %eax,%ebx
4893         xorl    %esi,%ecx
4894         vpshufd $232,%xmm6,%xmm7
4895         addl    56(%esp),%edx
4896         xorl    %edi,%ebx
4897         shrdl   $2,%ecx,%ecx
4898         vpslldq $8,%xmm7,%xmm7
4899         addl    %edx,%ebx
4900         addl    20(%esp),%edx
4901         addl    %ecx,%ebx
4902         vpaddd  %xmm7,%xmm1,%xmm1
4903         movl    %edx,%ecx
4904         shrdl   $14,%edx,%edx
4905         movl    24(%esp),%esi
4906         vpaddd  16(%ebp),%xmm1,%xmm6
4907         xorl    %ecx,%edx
4908         movl    28(%esp),%edi
4909         xorl    %edi,%esi
4910         shrdl   $5,%edx,%edx
4911         andl    %ecx,%esi
4912         movl    %ecx,20(%esp)
4913         xorl    %ecx,%edx
4914         xorl    %esi,%edi
4915         shrdl   $6,%edx,%edx
4916         movl    %ebx,%ecx
4917         addl    %edi,%edx
4918         movl    8(%esp),%edi
4919         movl    %ebx,%esi
4920         shrdl   $9,%ecx,%ecx
4921         movl    %ebx,4(%esp)
4922         xorl    %ebx,%ecx
4923         xorl    %edi,%ebx
4924         addl    (%esp),%edx
4925         shrdl   $11,%ecx,%ecx
4926         andl    %ebx,%eax
4927         xorl    %esi,%ecx
4928         addl    60(%esp),%edx
4929         xorl    %edi,%eax
4930         shrdl   $2,%ecx,%ecx
4931         addl    %edx,%eax
4932         addl    16(%esp),%edx
4933         addl    %ecx,%eax
4934         vmovdqa %xmm6,48(%esp)
4935         vpalignr        $4,%xmm2,%xmm3,%xmm4
4936         movl    %edx,%ecx
4937         shrdl   $14,%edx,%edx
4938         movl    20(%esp),%esi
4939         vpalignr        $4,%xmm0,%xmm1,%xmm7
4940         xorl    %ecx,%edx
4941         movl    24(%esp),%edi
4942         xorl    %edi,%esi
4943         vpsrld  $7,%xmm4,%xmm6
4944         shrdl   $5,%edx,%edx
4945         andl    %ecx,%esi
4946         movl    %ecx,16(%esp)
4947         vpaddd  %xmm7,%xmm2,%xmm2
4948         xorl    %ecx,%edx
4949         xorl    %esi,%edi
4950         shrdl   $6,%edx,%edx
4951         vpsrld  $3,%xmm4,%xmm7
4952         movl    %eax,%ecx
4953         addl    %edi,%edx
4954         movl    4(%esp),%edi
4955         vpslld  $14,%xmm4,%xmm5
4956         movl    %eax,%esi
4957         shrdl   $9,%ecx,%ecx
4958         movl    %eax,(%esp)
4959         vpxor   %xmm6,%xmm7,%xmm4
4960         xorl    %eax,%ecx
4961         xorl    %edi,%eax
4962         addl    28(%esp),%edx
4963         vpshufd $250,%xmm1,%xmm7
4964         shrdl   $11,%ecx,%ecx
4965         andl    %eax,%ebx
4966         xorl    %esi,%ecx
4967         vpsrld  $11,%xmm6,%xmm6
4968         addl    64(%esp),%edx
4969         xorl    %edi,%ebx
4970         shrdl   $2,%ecx,%ecx
4971         vpxor   %xmm5,%xmm4,%xmm4
4972         addl    %edx,%ebx
4973         addl    12(%esp),%edx
4974         addl    %ecx,%ebx
4975         vpslld  $11,%xmm5,%xmm5
4976         movl    %edx,%ecx
4977         shrdl   $14,%edx,%edx
4978         movl    16(%esp),%esi
4979         vpxor   %xmm6,%xmm4,%xmm4
4980         xorl    %ecx,%edx
4981         movl    20(%esp),%edi
4982         xorl    %edi,%esi
4983         vpsrld  $10,%xmm7,%xmm6
4984         shrdl   $5,%edx,%edx
4985         andl    %ecx,%esi
4986         movl    %ecx,12(%esp)
4987         vpxor   %xmm5,%xmm4,%xmm4
4988         xorl    %ecx,%edx
4989         xorl    %esi,%edi
4990         shrdl   $6,%edx,%edx
4991         vpsrlq  $17,%xmm7,%xmm5
4992         movl    %ebx,%ecx
4993         addl    %edi,%edx
4994         movl    (%esp),%edi
4995         vpaddd  %xmm4,%xmm2,%xmm2
4996         movl    %ebx,%esi
4997         shrdl   $9,%ecx,%ecx
4998         movl    %ebx,28(%esp)
4999         vpxor   %xmm5,%xmm6,%xmm6
5000         xorl    %ebx,%ecx
5001         xorl    %edi,%ebx
5002         addl    24(%esp),%edx
5003         vpsrlq  $19,%xmm7,%xmm7
5004         shrdl   $11,%ecx,%ecx
5005         andl    %ebx,%eax
5006         xorl    %esi,%ecx
5007         vpxor   %xmm7,%xmm6,%xmm6
5008         addl    68(%esp),%edx
5009         xorl    %edi,%eax
5010         shrdl   $2,%ecx,%ecx
5011         vpshufd $132,%xmm6,%xmm7
5012         addl    %edx,%eax
5013         addl    8(%esp),%edx
5014         addl    %ecx,%eax
5015         vpsrldq $8,%xmm7,%xmm7
5016         movl    %edx,%ecx
5017         shrdl   $14,%edx,%edx
5018         movl    12(%esp),%esi
5019         vpaddd  %xmm7,%xmm2,%xmm2
5020         xorl    %ecx,%edx
5021         movl    16(%esp),%edi
5022         xorl    %edi,%esi
5023         vpshufd $80,%xmm2,%xmm7
5024         shrdl   $5,%edx,%edx
5025         andl    %ecx,%esi
5026         movl    %ecx,8(%esp)
5027         vpsrld  $10,%xmm7,%xmm6
5028         xorl    %ecx,%edx
5029         xorl    %esi,%edi
5030         shrdl   $6,%edx,%edx
5031         vpsrlq  $17,%xmm7,%xmm5
5032         movl    %eax,%ecx
5033         addl    %edi,%edx
5034         movl    28(%esp),%edi
5035         vpxor   %xmm5,%xmm6,%xmm6
5036         movl    %eax,%esi
5037         shrdl   $9,%ecx,%ecx
5038         movl    %eax,24(%esp)
5039         vpsrlq  $19,%xmm7,%xmm7
5040         xorl    %eax,%ecx
5041         xorl    %edi,%eax
5042         addl    20(%esp),%edx
5043         vpxor   %xmm7,%xmm6,%xmm6
5044         shrdl   $11,%ecx,%ecx
5045         andl    %eax,%ebx
5046         xorl    %esi,%ecx
5047         vpshufd $232,%xmm6,%xmm7
5048         addl    72(%esp),%edx
5049         xorl    %edi,%ebx
5050         shrdl   $2,%ecx,%ecx
5051         vpslldq $8,%xmm7,%xmm7
5052         addl    %edx,%ebx
5053         addl    4(%esp),%edx
5054         addl    %ecx,%ebx
5055         vpaddd  %xmm7,%xmm2,%xmm2
5056         movl    %edx,%ecx
5057         shrdl   $14,%edx,%edx
5058         movl    8(%esp),%esi
5059         vpaddd  32(%ebp),%xmm2,%xmm6
5060         xorl    %ecx,%edx
5061         movl    12(%esp),%edi
5062         xorl    %edi,%esi
5063         shrdl   $5,%edx,%edx
5064         andl    %ecx,%esi
5065         movl    %ecx,4(%esp)
5066         xorl    %ecx,%edx
5067         xorl    %esi,%edi
5068         shrdl   $6,%edx,%edx
5069         movl    %ebx,%ecx
5070         addl    %edi,%edx
5071         movl    24(%esp),%edi
5072         movl    %ebx,%esi
5073         shrdl   $9,%ecx,%ecx
5074         movl    %ebx,20(%esp)
5075         xorl    %ebx,%ecx
5076         xorl    %edi,%ebx
5077         addl    16(%esp),%edx
5078         shrdl   $11,%ecx,%ecx
5079         andl    %ebx,%eax
5080         xorl    %esi,%ecx
5081         addl    76(%esp),%edx
5082         xorl    %edi,%eax
5083         shrdl   $2,%ecx,%ecx
5084         addl    %edx,%eax
5085         addl    (%esp),%edx
5086         addl    %ecx,%eax
5087         vmovdqa %xmm6,64(%esp)
5088         vpalignr        $4,%xmm3,%xmm0,%xmm4
5089         movl    %edx,%ecx
5090         shrdl   $14,%edx,%edx
5091         movl    4(%esp),%esi
5092         vpalignr        $4,%xmm1,%xmm2,%xmm7
5093         xorl    %ecx,%edx
5094         movl    8(%esp),%edi
5095         xorl    %edi,%esi
5096         vpsrld  $7,%xmm4,%xmm6
5097         shrdl   $5,%edx,%edx
5098         andl    %ecx,%esi
5099         movl    %ecx,(%esp)
5100         vpaddd  %xmm7,%xmm3,%xmm3
5101         xorl    %ecx,%edx
5102         xorl    %esi,%edi
5103         shrdl   $6,%edx,%edx
5104         vpsrld  $3,%xmm4,%xmm7
5105         movl    %eax,%ecx
5106         addl    %edi,%edx
5107         movl    20(%esp),%edi
5108         vpslld  $14,%xmm4,%xmm5
5109         movl    %eax,%esi
5110         shrdl   $9,%ecx,%ecx
5111         movl    %eax,16(%esp)
5112         vpxor   %xmm6,%xmm7,%xmm4
5113         xorl    %eax,%ecx
5114         xorl    %edi,%eax
5115         addl    12(%esp),%edx
5116         vpshufd $250,%xmm2,%xmm7
5117         shrdl   $11,%ecx,%ecx
5118         andl    %eax,%ebx
5119         xorl    %esi,%ecx
5120         vpsrld  $11,%xmm6,%xmm6
5121         addl    80(%esp),%edx
5122         xorl    %edi,%ebx
5123         shrdl   $2,%ecx,%ecx
5124         vpxor   %xmm5,%xmm4,%xmm4
5125         addl    %edx,%ebx
5126         addl    28(%esp),%edx
5127         addl    %ecx,%ebx
5128         vpslld  $11,%xmm5,%xmm5
5129         movl    %edx,%ecx
5130         shrdl   $14,%edx,%edx
5131         movl    (%esp),%esi
5132         vpxor   %xmm6,%xmm4,%xmm4
5133         xorl    %ecx,%edx
5134         movl    4(%esp),%edi
5135         xorl    %edi,%esi
5136         vpsrld  $10,%xmm7,%xmm6
5137         shrdl   $5,%edx,%edx
5138         andl    %ecx,%esi
5139         movl    %ecx,28(%esp)
5140         vpxor   %xmm5,%xmm4,%xmm4
5141         xorl    %ecx,%edx
5142         xorl    %esi,%edi
5143         shrdl   $6,%edx,%edx
5144         vpsrlq  $17,%xmm7,%xmm5
5145         movl    %ebx,%ecx
5146         addl    %edi,%edx
5147         movl    16(%esp),%edi
5148         vpaddd  %xmm4,%xmm3,%xmm3
5149         movl    %ebx,%esi
5150         shrdl   $9,%ecx,%ecx
5151         movl    %ebx,12(%esp)
5152         vpxor   %xmm5,%xmm6,%xmm6
5153         xorl    %ebx,%ecx
5154         xorl    %edi,%ebx
5155         addl    8(%esp),%edx
5156         vpsrlq  $19,%xmm7,%xmm7
5157         shrdl   $11,%ecx,%ecx
5158         andl    %ebx,%eax
5159         xorl    %esi,%ecx
5160         vpxor   %xmm7,%xmm6,%xmm6
5161         addl    84(%esp),%edx
5162         xorl    %edi,%eax
5163         shrdl   $2,%ecx,%ecx
5164         vpshufd $132,%xmm6,%xmm7
5165         addl    %edx,%eax
5166         addl    24(%esp),%edx
5167         addl    %ecx,%eax
5168         vpsrldq $8,%xmm7,%xmm7
5169         movl    %edx,%ecx
5170         shrdl   $14,%edx,%edx
5171         movl    28(%esp),%esi
5172         vpaddd  %xmm7,%xmm3,%xmm3
5173         xorl    %ecx,%edx
5174         movl    (%esp),%edi
5175         xorl    %edi,%esi
5176         vpshufd $80,%xmm3,%xmm7
5177         shrdl   $5,%edx,%edx
5178         andl    %ecx,%esi
5179         movl    %ecx,24(%esp)
5180         vpsrld  $10,%xmm7,%xmm6
5181         xorl    %ecx,%edx
5182         xorl    %esi,%edi
5183         shrdl   $6,%edx,%edx
5184         vpsrlq  $17,%xmm7,%xmm5
5185         movl    %eax,%ecx
5186         addl    %edi,%edx
5187         movl    12(%esp),%edi
5188         vpxor   %xmm5,%xmm6,%xmm6
5189         movl    %eax,%esi
5190         shrdl   $9,%ecx,%ecx
5191         movl    %eax,8(%esp)
5192         vpsrlq  $19,%xmm7,%xmm7
5193         xorl    %eax,%ecx
5194         xorl    %edi,%eax
5195         addl    4(%esp),%edx
5196         vpxor   %xmm7,%xmm6,%xmm6
5197         shrdl   $11,%ecx,%ecx
5198         andl    %eax,%ebx
5199         xorl    %esi,%ecx
5200         vpshufd $232,%xmm6,%xmm7
5201         addl    88(%esp),%edx
5202         xorl    %edi,%ebx
5203         shrdl   $2,%ecx,%ecx
5204         vpslldq $8,%xmm7,%xmm7
5205         addl    %edx,%ebx
5206         addl    20(%esp),%edx
5207         addl    %ecx,%ebx
5208         vpaddd  %xmm7,%xmm3,%xmm3
5209         movl    %edx,%ecx
5210         shrdl   $14,%edx,%edx
5211         movl    24(%esp),%esi
5212         vpaddd  48(%ebp),%xmm3,%xmm6
5213         xorl    %ecx,%edx
5214         movl    28(%esp),%edi
5215         xorl    %edi,%esi
5216         shrdl   $5,%edx,%edx
5217         andl    %ecx,%esi
5218         movl    %ecx,20(%esp)
5219         xorl    %ecx,%edx
5220         xorl    %esi,%edi
5221         shrdl   $6,%edx,%edx
5222         movl    %ebx,%ecx
5223         addl    %edi,%edx
5224         movl    8(%esp),%edi
5225         movl    %ebx,%esi
5226         shrdl   $9,%ecx,%ecx
5227         movl    %ebx,4(%esp)
5228         xorl    %ebx,%ecx
5229         xorl    %edi,%ebx
5230         addl    (%esp),%edx
5231         shrdl   $11,%ecx,%ecx
5232         andl    %ebx,%eax
5233         xorl    %esi,%ecx
5234         addl    92(%esp),%edx
5235         xorl    %edi,%eax
5236         shrdl   $2,%ecx,%ecx
5237         addl    %edx,%eax
5238         addl    16(%esp),%edx
5239         addl    %ecx,%eax
5240         vmovdqa %xmm6,80(%esp)
5241         cmpl    $66051,64(%ebp)
5242         jne     .L016avx_00_47
5243         movl    %edx,%ecx
5244         shrdl   $14,%edx,%edx
5245         movl    20(%esp),%esi
5246         xorl    %ecx,%edx
5247         movl    24(%esp),%edi
5248         xorl    %edi,%esi
5249         shrdl   $5,%edx,%edx
5250         andl    %ecx,%esi
5251         movl    %ecx,16(%esp)
5252         xorl    %ecx,%edx
5253         xorl    %esi,%edi
5254         shrdl   $6,%edx,%edx
5255         movl    %eax,%ecx
5256         addl    %edi,%edx
5257         movl    4(%esp),%edi
5258         movl    %eax,%esi
5259         shrdl   $9,%ecx,%ecx
5260         movl    %eax,(%esp)
5261         xorl    %eax,%ecx
5262         xorl    %edi,%eax
5263         addl    28(%esp),%edx
5264         shrdl   $11,%ecx,%ecx
5265         andl    %eax,%ebx
5266         xorl    %esi,%ecx
5267         addl    32(%esp),%edx
5268         xorl    %edi,%ebx
5269         shrdl   $2,%ecx,%ecx
5270         addl    %edx,%ebx
5271         addl    12(%esp),%edx
5272         addl    %ecx,%ebx
5273         movl    %edx,%ecx
5274         shrdl   $14,%edx,%edx
5275         movl    16(%esp),%esi
5276         xorl    %ecx,%edx
5277         movl    20(%esp),%edi
5278         xorl    %edi,%esi
5279         shrdl   $5,%edx,%edx
5280         andl    %ecx,%esi
5281         movl    %ecx,12(%esp)
5282         xorl    %ecx,%edx
5283         xorl    %esi,%edi
5284         shrdl   $6,%edx,%edx
5285         movl    %ebx,%ecx
5286         addl    %edi,%edx
5287         movl    (%esp),%edi
5288         movl    %ebx,%esi
5289         shrdl   $9,%ecx,%ecx
5290         movl    %ebx,28(%esp)
5291         xorl    %ebx,%ecx
5292         xorl    %edi,%ebx
5293         addl    24(%esp),%edx
5294         shrdl   $11,%ecx,%ecx
5295         andl    %ebx,%eax
5296         xorl    %esi,%ecx
5297         addl    36(%esp),%edx
5298         xorl    %edi,%eax
5299         shrdl   $2,%ecx,%ecx
5300         addl    %edx,%eax
5301         addl    8(%esp),%edx
5302         addl    %ecx,%eax
5303         movl    %edx,%ecx
5304         shrdl   $14,%edx,%edx
5305         movl    12(%esp),%esi
5306         xorl    %ecx,%edx
5307         movl    16(%esp),%edi
5308         xorl    %edi,%esi
5309         shrdl   $5,%edx,%edx
5310         andl    %ecx,%esi
5311         movl    %ecx,8(%esp)
5312         xorl    %ecx,%edx
5313         xorl    %esi,%edi
5314         shrdl   $6,%edx,%edx
5315         movl    %eax,%ecx
5316         addl    %edi,%edx
5317         movl    28(%esp),%edi
5318         movl    %eax,%esi
5319         shrdl   $9,%ecx,%ecx
5320         movl    %eax,24(%esp)
5321         xorl    %eax,%ecx
5322         xorl    %edi,%eax
5323         addl    20(%esp),%edx
5324         shrdl   $11,%ecx,%ecx
5325         andl    %eax,%ebx
5326         xorl    %esi,%ecx
5327         addl    40(%esp),%edx
5328         xorl    %edi,%ebx
5329         shrdl   $2,%ecx,%ecx
5330         addl    %edx,%ebx
5331         addl    4(%esp),%edx
5332         addl    %ecx,%ebx
5333         movl    %edx,%ecx
5334         shrdl   $14,%edx,%edx
5335         movl    8(%esp),%esi
5336         xorl    %ecx,%edx
5337         movl    12(%esp),%edi
5338         xorl    %edi,%esi
5339         shrdl   $5,%edx,%edx
5340         andl    %ecx,%esi
5341         movl    %ecx,4(%esp)
5342         xorl    %ecx,%edx
5343         xorl    %esi,%edi
5344         shrdl   $6,%edx,%edx
5345         movl    %ebx,%ecx
5346         addl    %edi,%edx
5347         movl    24(%esp),%edi
5348         movl    %ebx,%esi
5349         shrdl   $9,%ecx,%ecx
5350         movl    %ebx,20(%esp)
5351         xorl    %ebx,%ecx
5352         xorl    %edi,%ebx
5353         addl    16(%esp),%edx
5354         shrdl   $11,%ecx,%ecx
5355         andl    %ebx,%eax
5356         xorl    %esi,%ecx
5357         addl    44(%esp),%edx
5358         xorl    %edi,%eax
5359         shrdl   $2,%ecx,%ecx
5360         addl    %edx,%eax
5361         addl    (%esp),%edx
5362         addl    %ecx,%eax
5363         movl    %edx,%ecx
5364         shrdl   $14,%edx,%edx
5365         movl    4(%esp),%esi
5366         xorl    %ecx,%edx
5367         movl    8(%esp),%edi
5368         xorl    %edi,%esi
5369         shrdl   $5,%edx,%edx
5370         andl    %ecx,%esi
5371         movl    %ecx,(%esp)
5372         xorl    %ecx,%edx
5373         xorl    %esi,%edi
5374         shrdl   $6,%edx,%edx
5375         movl    %eax,%ecx
5376         addl    %edi,%edx
5377         movl    20(%esp),%edi
5378         movl    %eax,%esi
5379         shrdl   $9,%ecx,%ecx
5380         movl    %eax,16(%esp)
5381         xorl    %eax,%ecx
5382         xorl    %edi,%eax
5383         addl    12(%esp),%edx
5384         shrdl   $11,%ecx,%ecx
5385         andl    %eax,%ebx
5386         xorl    %esi,%ecx
5387         addl    48(%esp),%edx
5388         xorl    %edi,%ebx
5389         shrdl   $2,%ecx,%ecx
5390         addl    %edx,%ebx
5391         addl    28(%esp),%edx
5392         addl    %ecx,%ebx
5393         movl    %edx,%ecx
5394         shrdl   $14,%edx,%edx
5395         movl    (%esp),%esi
5396         xorl    %ecx,%edx
5397         movl    4(%esp),%edi
5398         xorl    %edi,%esi
5399         shrdl   $5,%edx,%edx
5400         andl    %ecx,%esi
5401         movl    %ecx,28(%esp)
5402         xorl    %ecx,%edx
5403         xorl    %esi,%edi
5404         shrdl   $6,%edx,%edx
5405         movl    %ebx,%ecx
5406         addl    %edi,%edx
5407         movl    16(%esp),%edi
5408         movl    %ebx,%esi
5409         shrdl   $9,%ecx,%ecx
5410         movl    %ebx,12(%esp)
5411         xorl    %ebx,%ecx
5412         xorl    %edi,%ebx
5413         addl    8(%esp),%edx
5414         shrdl   $11,%ecx,%ecx
5415         andl    %ebx,%eax
5416         xorl    %esi,%ecx
5417         addl    52(%esp),%edx
5418         xorl    %edi,%eax
5419         shrdl   $2,%ecx,%ecx
5420         addl    %edx,%eax
5421         addl    24(%esp),%edx
5422         addl    %ecx,%eax
5423         movl    %edx,%ecx
5424         shrdl   $14,%edx,%edx
5425         movl    28(%esp),%esi
5426         xorl    %ecx,%edx
5427         movl    (%esp),%edi
5428         xorl    %edi,%esi
5429         shrdl   $5,%edx,%edx
5430         andl    %ecx,%esi
5431         movl    %ecx,24(%esp)
5432         xorl    %ecx,%edx
5433         xorl    %esi,%edi
5434         shrdl   $6,%edx,%edx
5435         movl    %eax,%ecx
5436         addl    %edi,%edx
5437         movl    12(%esp),%edi
5438         movl    %eax,%esi
5439         shrdl   $9,%ecx,%ecx
5440         movl    %eax,8(%esp)
5441         xorl    %eax,%ecx
5442         xorl    %edi,%eax
5443         addl    4(%esp),%edx
5444         shrdl   $11,%ecx,%ecx
5445         andl    %eax,%ebx
5446         xorl    %esi,%ecx
5447         addl    56(%esp),%edx
5448         xorl    %edi,%ebx
5449         shrdl   $2,%ecx,%ecx
5450         addl    %edx,%ebx
5451         addl    20(%esp),%edx
5452         addl    %ecx,%ebx
5453         movl    %edx,%ecx
5454         shrdl   $14,%edx,%edx
5455         movl    24(%esp),%esi
5456         xorl    %ecx,%edx
5457         movl    28(%esp),%edi
5458         xorl    %edi,%esi
5459         shrdl   $5,%edx,%edx
5460         andl    %ecx,%esi
5461         movl    %ecx,20(%esp)
5462         xorl    %ecx,%edx
5463         xorl    %esi,%edi
5464         shrdl   $6,%edx,%edx
5465         movl    %ebx,%ecx
5466         addl    %edi,%edx
5467         movl    8(%esp),%edi
5468         movl    %ebx,%esi
5469         shrdl   $9,%ecx,%ecx
5470         movl    %ebx,4(%esp)
5471         xorl    %ebx,%ecx
5472         xorl    %edi,%ebx
5473         addl    (%esp),%edx
5474         shrdl   $11,%ecx,%ecx
5475         andl    %ebx,%eax
5476         xorl    %esi,%ecx
5477         addl    60(%esp),%edx
5478         xorl    %edi,%eax
5479         shrdl   $2,%ecx,%ecx
5480         addl    %edx,%eax
5481         addl    16(%esp),%edx
5482         addl    %ecx,%eax
5483         movl    %edx,%ecx
5484         shrdl   $14,%edx,%edx
5485         movl    20(%esp),%esi
5486         xorl    %ecx,%edx
5487         movl    24(%esp),%edi
5488         xorl    %edi,%esi
5489         shrdl   $5,%edx,%edx
5490         andl    %ecx,%esi
5491         movl    %ecx,16(%esp)
5492         xorl    %ecx,%edx
5493         xorl    %esi,%edi
5494         shrdl   $6,%edx,%edx
5495         movl    %eax,%ecx
5496         addl    %edi,%edx
5497         movl    4(%esp),%edi
5498         movl    %eax,%esi
5499         shrdl   $9,%ecx,%ecx
5500         movl    %eax,(%esp)
5501         xorl    %eax,%ecx
5502         xorl    %edi,%eax
5503         addl    28(%esp),%edx
5504         shrdl   $11,%ecx,%ecx
5505         andl    %eax,%ebx
5506         xorl    %esi,%ecx
5507         addl    64(%esp),%edx
5508         xorl    %edi,%ebx
5509         shrdl   $2,%ecx,%ecx
5510         addl    %edx,%ebx
5511         addl    12(%esp),%edx
5512         addl    %ecx,%ebx
5513         movl    %edx,%ecx
5514         shrdl   $14,%edx,%edx
5515         movl    16(%esp),%esi
5516         xorl    %ecx,%edx
5517         movl    20(%esp),%edi
5518         xorl    %edi,%esi
5519         shrdl   $5,%edx,%edx
5520         andl    %ecx,%esi
5521         movl    %ecx,12(%esp)
5522         xorl    %ecx,%edx
5523         xorl    %esi,%edi
5524         shrdl   $6,%edx,%edx
5525         movl    %ebx,%ecx
5526         addl    %edi,%edx
5527         movl    (%esp),%edi
5528         movl    %ebx,%esi
5529         shrdl   $9,%ecx,%ecx
5530         movl    %ebx,28(%esp)
5531         xorl    %ebx,%ecx
5532         xorl    %edi,%ebx
5533         addl    24(%esp),%edx
5534         shrdl   $11,%ecx,%ecx
5535         andl    %ebx,%eax
5536         xorl    %esi,%ecx
5537         addl    68(%esp),%edx
5538         xorl    %edi,%eax
5539         shrdl   $2,%ecx,%ecx
5540         addl    %edx,%eax
5541         addl    8(%esp),%edx
5542         addl    %ecx,%eax
5543         movl    %edx,%ecx
5544         shrdl   $14,%edx,%edx
5545         movl    12(%esp),%esi
5546         xorl    %ecx,%edx
5547         movl    16(%esp),%edi
5548         xorl    %edi,%esi
5549         shrdl   $5,%edx,%edx
5550         andl    %ecx,%esi
5551         movl    %ecx,8(%esp)
5552         xorl    %ecx,%edx
5553         xorl    %esi,%edi
5554         shrdl   $6,%edx,%edx
5555         movl    %eax,%ecx
5556         addl    %edi,%edx
5557         movl    28(%esp),%edi
5558         movl    %eax,%esi
5559         shrdl   $9,%ecx,%ecx
5560         movl    %eax,24(%esp)
5561         xorl    %eax,%ecx
5562         xorl    %edi,%eax
5563         addl    20(%esp),%edx
5564         shrdl   $11,%ecx,%ecx
5565         andl    %eax,%ebx
5566         xorl    %esi,%ecx
5567         addl    72(%esp),%edx
5568         xorl    %edi,%ebx
5569         shrdl   $2,%ecx,%ecx
5570         addl    %edx,%ebx
5571         addl    4(%esp),%edx
5572         addl    %ecx,%ebx
5573         movl    %edx,%ecx
5574         shrdl   $14,%edx,%edx
5575         movl    8(%esp),%esi
5576         xorl    %ecx,%edx
5577         movl    12(%esp),%edi
5578         xorl    %edi,%esi
5579         shrdl   $5,%edx,%edx
5580         andl    %ecx,%esi
5581         movl    %ecx,4(%esp)
5582         xorl    %ecx,%edx
5583         xorl    %esi,%edi
5584         shrdl   $6,%edx,%edx
5585         movl    %ebx,%ecx
5586         addl    %edi,%edx
5587         movl    24(%esp),%edi
5588         movl    %ebx,%esi
5589         shrdl   $9,%ecx,%ecx
5590         movl    %ebx,20(%esp)
5591         xorl    %ebx,%ecx
5592         xorl    %edi,%ebx
5593         addl    16(%esp),%edx
5594         shrdl   $11,%ecx,%ecx
5595         andl    %ebx,%eax
5596         xorl    %esi,%ecx
5597         addl    76(%esp),%edx
5598         xorl    %edi,%eax
5599         shrdl   $2,%ecx,%ecx
5600         addl    %edx,%eax
5601         addl    (%esp),%edx
5602         addl    %ecx,%eax
5603         movl    %edx,%ecx
5604         shrdl   $14,%edx,%edx
5605         movl    4(%esp),%esi
5606         xorl    %ecx,%edx
5607         movl    8(%esp),%edi
5608         xorl    %edi,%esi
5609         shrdl   $5,%edx,%edx
5610         andl    %ecx,%esi
5611         movl    %ecx,(%esp)
5612         xorl    %ecx,%edx
5613         xorl    %esi,%edi
5614         shrdl   $6,%edx,%edx
5615         movl    %eax,%ecx
5616         addl    %edi,%edx
5617         movl    20(%esp),%edi
5618         movl    %eax,%esi
5619         shrdl   $9,%ecx,%ecx
5620         movl    %eax,16(%esp)
5621         xorl    %eax,%ecx
5622         xorl    %edi,%eax
5623         addl    12(%esp),%edx
5624         shrdl   $11,%ecx,%ecx
5625         andl    %eax,%ebx
5626         xorl    %esi,%ecx
5627         addl    80(%esp),%edx
5628         xorl    %edi,%ebx
5629         shrdl   $2,%ecx,%ecx
5630         addl    %edx,%ebx
5631         addl    28(%esp),%edx
5632         addl    %ecx,%ebx
5633         movl    %edx,%ecx
5634         shrdl   $14,%edx,%edx
5635         movl    (%esp),%esi
5636         xorl    %ecx,%edx
5637         movl    4(%esp),%edi
5638         xorl    %edi,%esi
5639         shrdl   $5,%edx,%edx
5640         andl    %ecx,%esi
5641         movl    %ecx,28(%esp)
5642         xorl    %ecx,%edx
5643         xorl    %esi,%edi
5644         shrdl   $6,%edx,%edx
5645         movl    %ebx,%ecx
5646         addl    %edi,%edx
5647         movl    16(%esp),%edi
5648         movl    %ebx,%esi
5649         shrdl   $9,%ecx,%ecx
5650         movl    %ebx,12(%esp)
5651         xorl    %ebx,%ecx
5652         xorl    %edi,%ebx
5653         addl    8(%esp),%edx
5654         shrdl   $11,%ecx,%ecx
5655         andl    %ebx,%eax
5656         xorl    %esi,%ecx
5657         addl    84(%esp),%edx
5658         xorl    %edi,%eax
5659         shrdl   $2,%ecx,%ecx
5660         addl    %edx,%eax
5661         addl    24(%esp),%edx
5662         addl    %ecx,%eax
5663         movl    %edx,%ecx
5664         shrdl   $14,%edx,%edx
5665         movl    28(%esp),%esi
5666         xorl    %ecx,%edx
5667         movl    (%esp),%edi
5668         xorl    %edi,%esi
5669         shrdl   $5,%edx,%edx
5670         andl    %ecx,%esi
5671         movl    %ecx,24(%esp)
5672         xorl    %ecx,%edx
5673         xorl    %esi,%edi
5674         shrdl   $6,%edx,%edx
5675         movl    %eax,%ecx
5676         addl    %edi,%edx
5677         movl    12(%esp),%edi
5678         movl    %eax,%esi
5679         shrdl   $9,%ecx,%ecx
5680         movl    %eax,8(%esp)
5681         xorl    %eax,%ecx
5682         xorl    %edi,%eax
5683         addl    4(%esp),%edx
5684         shrdl   $11,%ecx,%ecx
5685         andl    %eax,%ebx
5686         xorl    %esi,%ecx
5687         addl    88(%esp),%edx
5688         xorl    %edi,%ebx
5689         shrdl   $2,%ecx,%ecx
5690         addl    %edx,%ebx
5691         addl    20(%esp),%edx
5692         addl    %ecx,%ebx
5693         movl    %edx,%ecx
5694         shrdl   $14,%edx,%edx
5695         movl    24(%esp),%esi
5696         xorl    %ecx,%edx
5697         movl    28(%esp),%edi
5698         xorl    %edi,%esi
5699         shrdl   $5,%edx,%edx
5700         andl    %ecx,%esi
5701         movl    %ecx,20(%esp)
5702         xorl    %ecx,%edx
5703         xorl    %esi,%edi
5704         shrdl   $6,%edx,%edx
5705         movl    %ebx,%ecx
5706         addl    %edi,%edx
5707         movl    8(%esp),%edi
5708         movl    %ebx,%esi
5709         shrdl   $9,%ecx,%ecx
5710         movl    %ebx,4(%esp)
5711         xorl    %ebx,%ecx
5712         xorl    %edi,%ebx
5713         addl    (%esp),%edx
5714         shrdl   $11,%ecx,%ecx
5715         andl    %ebx,%eax
5716         xorl    %esi,%ecx
5717         addl    92(%esp),%edx
5718         xorl    %edi,%eax
5719         shrdl   $2,%ecx,%ecx
5720         addl    %edx,%eax
5721         addl    16(%esp),%edx
5722         addl    %ecx,%eax
5723         movl    96(%esp),%esi
5724         xorl    %edi,%ebx
5725         movl    12(%esp),%ecx
5726         addl    (%esi),%eax
5727         addl    4(%esi),%ebx
5728         addl    8(%esi),%edi
5729         addl    12(%esi),%ecx
5730         movl    %eax,(%esi)
5731         movl    %ebx,4(%esi)
5732         movl    %edi,8(%esi)
5733         movl    %ecx,12(%esi)
5734         movl    %ebx,4(%esp)
5735         xorl    %edi,%ebx
5736         movl    %edi,8(%esp)
5737         movl    %ecx,12(%esp)
5738         movl    20(%esp),%edi
5739         movl    24(%esp),%ecx
5740         addl    16(%esi),%edx
5741         addl    20(%esi),%edi
5742         addl    24(%esi),%ecx
5743         movl    %edx,16(%esi)
5744         movl    %edi,20(%esi)
5745         movl    %edi,20(%esp)
5746         movl    28(%esp),%edi
5747         movl    %ecx,24(%esi)
5748         addl    28(%esi),%edi
5749         movl    %ecx,24(%esp)
5750         movl    %edi,28(%esi)
5751         movl    %edi,28(%esp)
5752         movl    100(%esp),%edi
5753         vmovdqa 64(%ebp),%xmm7
5754         subl    $192,%ebp
5755         cmpl    104(%esp),%edi
5756         jb      .L015grand_avx
5757         movl    108(%esp),%esp
5758         vzeroall
5759         popl    %edi
5760         popl    %esi
5761         popl    %ebx
5762         popl    %ebp
5763         ret
5764 .align  32
5765 .L014AVX_BMI:
5766         leal    -96(%esp),%esp
5767         vzeroall
5768         movl    (%esi),%eax
5769         movl    4(%esi),%ebx
5770         movl    8(%esi),%ecx
5771         movl    12(%esi),%edi
5772         movl    %ebx,4(%esp)
5773         xorl    %ecx,%ebx
5774         movl    %ecx,8(%esp)
5775         movl    %edi,12(%esp)
5776         movl    16(%esi),%edx
5777         movl    20(%esi),%edi
5778         movl    24(%esi),%ecx
5779         movl    28(%esi),%esi
5780         movl    %edi,20(%esp)
5781         movl    100(%esp),%edi
5782         movl    %ecx,24(%esp)
5783         movl    %esi,28(%esp)
5784         vmovdqa 256(%ebp),%xmm7
5785         jmp     .L017grand_avx_bmi
5786 .align  32
5787 .L017grand_avx_bmi:
5788         vmovdqu (%edi),%xmm0
5789         vmovdqu 16(%edi),%xmm1
5790         vmovdqu 32(%edi),%xmm2
5791         vmovdqu 48(%edi),%xmm3
5792         addl    $64,%edi
5793         vpshufb %xmm7,%xmm0,%xmm0
5794         movl    %edi,100(%esp)
5795         vpshufb %xmm7,%xmm1,%xmm1
5796         vpshufb %xmm7,%xmm2,%xmm2
5797         vpaddd  (%ebp),%xmm0,%xmm4
5798         vpshufb %xmm7,%xmm3,%xmm3
5799         vpaddd  16(%ebp),%xmm1,%xmm5
5800         vpaddd  32(%ebp),%xmm2,%xmm6
5801         vpaddd  48(%ebp),%xmm3,%xmm7
5802         vmovdqa %xmm4,32(%esp)
5803         vmovdqa %xmm5,48(%esp)
5804         vmovdqa %xmm6,64(%esp)
5805         vmovdqa %xmm7,80(%esp)
5806         jmp     .L018avx_bmi_00_47
5807 .align  16
5808 .L018avx_bmi_00_47:
5809         addl    $64,%ebp
5810         vpalignr        $4,%xmm0,%xmm1,%xmm4
5811         rorxl   $6,%edx,%ecx
5812         rorxl   $11,%edx,%esi
5813         movl    %edx,16(%esp)
5814         vpalignr        $4,%xmm2,%xmm3,%xmm7
5815         rorxl   $25,%edx,%edi
5816         xorl    %esi,%ecx
5817         andnl   24(%esp),%edx,%esi
5818         vpsrld  $7,%xmm4,%xmm6
5819         xorl    %edi,%ecx
5820         andl    20(%esp),%edx
5821         movl    %eax,(%esp)
5822         vpaddd  %xmm7,%xmm0,%xmm0
5823         orl     %esi,%edx
5824         rorxl   $2,%eax,%edi
5825         rorxl   $13,%eax,%esi
5826         vpsrld  $3,%xmm4,%xmm7
5827         leal    (%edx,%ecx,1),%edx
5828         rorxl   $22,%eax,%ecx
5829         xorl    %edi,%esi
5830         vpslld  $14,%xmm4,%xmm5
5831         movl    4(%esp),%edi
5832         xorl    %esi,%ecx
5833         xorl    %edi,%eax
5834         vpxor   %xmm6,%xmm7,%xmm4
5835         addl    28(%esp),%edx
5836         andl    %eax,%ebx
5837         addl    32(%esp),%edx
5838         vpshufd $250,%xmm3,%xmm7
5839         xorl    %edi,%ebx
5840         addl    %edx,%ecx
5841         addl    12(%esp),%edx
5842         vpsrld  $11,%xmm6,%xmm6
5843         leal    (%ebx,%ecx,1),%ebx
5844         rorxl   $6,%edx,%ecx
5845         rorxl   $11,%edx,%esi
5846         vpxor   %xmm5,%xmm4,%xmm4
5847         movl    %edx,12(%esp)
5848         rorxl   $25,%edx,%edi
5849         xorl    %esi,%ecx
5850         vpslld  $11,%xmm5,%xmm5
5851         andnl   20(%esp),%edx,%esi
5852         xorl    %edi,%ecx
5853         andl    16(%esp),%edx
5854         vpxor   %xmm6,%xmm4,%xmm4
5855         movl    %ebx,28(%esp)
5856         orl     %esi,%edx
5857         rorxl   $2,%ebx,%edi
5858         rorxl   $13,%ebx,%esi
5859         vpsrld  $10,%xmm7,%xmm6
5860         leal    (%edx,%ecx,1),%edx
5861         rorxl   $22,%ebx,%ecx
5862         xorl    %edi,%esi
5863         vpxor   %xmm5,%xmm4,%xmm4
5864         movl    (%esp),%edi
5865         xorl    %esi,%ecx
5866         xorl    %edi,%ebx
5867         vpsrlq  $17,%xmm7,%xmm5
5868         addl    24(%esp),%edx
5869         andl    %ebx,%eax
5870         addl    36(%esp),%edx
5871         vpaddd  %xmm4,%xmm0,%xmm0
5872         xorl    %edi,%eax
5873         addl    %edx,%ecx
5874         addl    8(%esp),%edx
5875         vpxor   %xmm5,%xmm6,%xmm6
5876         leal    (%eax,%ecx,1),%eax
5877         rorxl   $6,%edx,%ecx
5878         rorxl   $11,%edx,%esi
5879         vpsrlq  $19,%xmm7,%xmm7
5880         movl    %edx,8(%esp)
5881         rorxl   $25,%edx,%edi
5882         xorl    %esi,%ecx
5883         vpxor   %xmm7,%xmm6,%xmm6
5884         andnl   16(%esp),%edx,%esi
5885         xorl    %edi,%ecx
5886         andl    12(%esp),%edx
5887         vpshufd $132,%xmm6,%xmm7
5888         movl    %eax,24(%esp)
5889         orl     %esi,%edx
5890         rorxl   $2,%eax,%edi
5891         rorxl   $13,%eax,%esi
5892         vpsrldq $8,%xmm7,%xmm7
5893         leal    (%edx,%ecx,1),%edx
5894         rorxl   $22,%eax,%ecx
5895         xorl    %edi,%esi
5896         vpaddd  %xmm7,%xmm0,%xmm0
5897         movl    28(%esp),%edi
5898         xorl    %esi,%ecx
5899         xorl    %edi,%eax
5900         vpshufd $80,%xmm0,%xmm7
5901         addl    20(%esp),%edx
5902         andl    %eax,%ebx
5903         addl    40(%esp),%edx
5904         vpsrld  $10,%xmm7,%xmm6
5905         xorl    %edi,%ebx
5906         addl    %edx,%ecx
5907         addl    4(%esp),%edx
5908         vpsrlq  $17,%xmm7,%xmm5
5909         leal    (%ebx,%ecx,1),%ebx
5910         rorxl   $6,%edx,%ecx
5911         rorxl   $11,%edx,%esi
5912         vpxor   %xmm5,%xmm6,%xmm6
5913         movl    %edx,4(%esp)
5914         rorxl   $25,%edx,%edi
5915         xorl    %esi,%ecx
5916         vpsrlq  $19,%xmm7,%xmm7
5917         andnl   12(%esp),%edx,%esi
5918         xorl    %edi,%ecx
5919         andl    8(%esp),%edx
5920         vpxor   %xmm7,%xmm6,%xmm6
5921         movl    %ebx,20(%esp)
5922         orl     %esi,%edx
5923         rorxl   $2,%ebx,%edi
5924         rorxl   $13,%ebx,%esi
5925         vpshufd $232,%xmm6,%xmm7
5926         leal    (%edx,%ecx,1),%edx
5927         rorxl   $22,%ebx,%ecx
5928         xorl    %edi,%esi
5929         vpslldq $8,%xmm7,%xmm7
5930         movl    24(%esp),%edi
5931         xorl    %esi,%ecx
5932         xorl    %edi,%ebx
5933         vpaddd  %xmm7,%xmm0,%xmm0
5934         addl    16(%esp),%edx
5935         andl    %ebx,%eax
5936         addl    44(%esp),%edx
5937         vpaddd  (%ebp),%xmm0,%xmm6
5938         xorl    %edi,%eax
5939         addl    %edx,%ecx
5940         addl    (%esp),%edx
5941         leal    (%eax,%ecx,1),%eax
5942         vmovdqa %xmm6,32(%esp)
5943         vpalignr        $4,%xmm1,%xmm2,%xmm4
5944         rorxl   $6,%edx,%ecx
5945         rorxl   $11,%edx,%esi
5946         movl    %edx,(%esp)
5947         vpalignr        $4,%xmm3,%xmm0,%xmm7
5948         rorxl   $25,%edx,%edi
5949         xorl    %esi,%ecx
5950         andnl   8(%esp),%edx,%esi
5951         vpsrld  $7,%xmm4,%xmm6
5952         xorl    %edi,%ecx
5953         andl    4(%esp),%edx
5954         movl    %eax,16(%esp)
5955         vpaddd  %xmm7,%xmm1,%xmm1
5956         orl     %esi,%edx
5957         rorxl   $2,%eax,%edi
5958         rorxl   $13,%eax,%esi
5959         vpsrld  $3,%xmm4,%xmm7
5960         leal    (%edx,%ecx,1),%edx
5961         rorxl   $22,%eax,%ecx
5962         xorl    %edi,%esi
5963         vpslld  $14,%xmm4,%xmm5
5964         movl    20(%esp),%edi
5965         xorl    %esi,%ecx
5966         xorl    %edi,%eax
5967         vpxor   %xmm6,%xmm7,%xmm4
5968         addl    12(%esp),%edx
5969         andl    %eax,%ebx
5970         addl    48(%esp),%edx
5971         vpshufd $250,%xmm0,%xmm7
5972         xorl    %edi,%ebx
5973         addl    %edx,%ecx
5974         addl    28(%esp),%edx
5975         vpsrld  $11,%xmm6,%xmm6
5976         leal    (%ebx,%ecx,1),%ebx
5977         rorxl   $6,%edx,%ecx
5978         rorxl   $11,%edx,%esi
5979         vpxor   %xmm5,%xmm4,%xmm4
5980         movl    %edx,28(%esp)
5981         rorxl   $25,%edx,%edi
5982         xorl    %esi,%ecx
5983         vpslld  $11,%xmm5,%xmm5
5984         andnl   4(%esp),%edx,%esi
5985         xorl    %edi,%ecx
5986         andl    (%esp),%edx
5987         vpxor   %xmm6,%xmm4,%xmm4
5988         movl    %ebx,12(%esp)
5989         orl     %esi,%edx
5990         rorxl   $2,%ebx,%edi
5991         rorxl   $13,%ebx,%esi
5992         vpsrld  $10,%xmm7,%xmm6
5993         leal    (%edx,%ecx,1),%edx
5994         rorxl   $22,%ebx,%ecx
5995         xorl    %edi,%esi
5996         vpxor   %xmm5,%xmm4,%xmm4
5997         movl    16(%esp),%edi
5998         xorl    %esi,%ecx
5999         xorl    %edi,%ebx
6000         vpsrlq  $17,%xmm7,%xmm5
6001         addl    8(%esp),%edx
6002         andl    %ebx,%eax
6003         addl    52(%esp),%edx
6004         vpaddd  %xmm4,%xmm1,%xmm1
6005         xorl    %edi,%eax
6006         addl    %edx,%ecx
6007         addl    24(%esp),%edx
6008         vpxor   %xmm5,%xmm6,%xmm6
6009         leal    (%eax,%ecx,1),%eax
6010         rorxl   $6,%edx,%ecx
6011         rorxl   $11,%edx,%esi
6012         vpsrlq  $19,%xmm7,%xmm7
6013         movl    %edx,24(%esp)
6014         rorxl   $25,%edx,%edi
6015         xorl    %esi,%ecx
6016         vpxor   %xmm7,%xmm6,%xmm6
6017         andnl   (%esp),%edx,%esi
6018         xorl    %edi,%ecx
6019         andl    28(%esp),%edx
6020         vpshufd $132,%xmm6,%xmm7
6021         movl    %eax,8(%esp)
6022         orl     %esi,%edx
6023         rorxl   $2,%eax,%edi
6024         rorxl   $13,%eax,%esi
6025         vpsrldq $8,%xmm7,%xmm7
6026         leal    (%edx,%ecx,1),%edx
6027         rorxl   $22,%eax,%ecx
6028         xorl    %edi,%esi
6029         vpaddd  %xmm7,%xmm1,%xmm1
6030         movl    12(%esp),%edi
6031         xorl    %esi,%ecx
6032         xorl    %edi,%eax
6033         vpshufd $80,%xmm1,%xmm7
6034         addl    4(%esp),%edx
6035         andl    %eax,%ebx
6036         addl    56(%esp),%edx
6037         vpsrld  $10,%xmm7,%xmm6
6038         xorl    %edi,%ebx
6039         addl    %edx,%ecx
6040         addl    20(%esp),%edx
6041         vpsrlq  $17,%xmm7,%xmm5
6042         leal    (%ebx,%ecx,1),%ebx
6043         rorxl   $6,%edx,%ecx
6044         rorxl   $11,%edx,%esi
6045         vpxor   %xmm5,%xmm6,%xmm6
6046         movl    %edx,20(%esp)
6047         rorxl   $25,%edx,%edi
6048         xorl    %esi,%ecx
6049         vpsrlq  $19,%xmm7,%xmm7
6050         andnl   28(%esp),%edx,%esi
6051         xorl    %edi,%ecx
6052         andl    24(%esp),%edx
6053         vpxor   %xmm7,%xmm6,%xmm6
6054         movl    %ebx,4(%esp)
6055         orl     %esi,%edx
6056         rorxl   $2,%ebx,%edi
6057         rorxl   $13,%ebx,%esi
6058         vpshufd $232,%xmm6,%xmm7
6059         leal    (%edx,%ecx,1),%edx
6060         rorxl   $22,%ebx,%ecx
6061         xorl    %edi,%esi
6062         vpslldq $8,%xmm7,%xmm7
6063         movl    8(%esp),%edi
6064         xorl    %esi,%ecx
6065         xorl    %edi,%ebx
6066         vpaddd  %xmm7,%xmm1,%xmm1
6067         addl    (%esp),%edx
6068         andl    %ebx,%eax
6069         addl    60(%esp),%edx
6070         vpaddd  16(%ebp),%xmm1,%xmm6
6071         xorl    %edi,%eax
6072         addl    %edx,%ecx
6073         addl    16(%esp),%edx
6074         leal    (%eax,%ecx,1),%eax
6075         vmovdqa %xmm6,48(%esp)
6076         vpalignr        $4,%xmm2,%xmm3,%xmm4
6077         rorxl   $6,%edx,%ecx
6078         rorxl   $11,%edx,%esi
6079         movl    %edx,16(%esp)
6080         vpalignr        $4,%xmm0,%xmm1,%xmm7
6081         rorxl   $25,%edx,%edi
6082         xorl    %esi,%ecx
6083         andnl   24(%esp),%edx,%esi
6084         vpsrld  $7,%xmm4,%xmm6
6085         xorl    %edi,%ecx
6086         andl    20(%esp),%edx
6087         movl    %eax,(%esp)
6088         vpaddd  %xmm7,%xmm2,%xmm2
6089         orl     %esi,%edx
6090         rorxl   $2,%eax,%edi
6091         rorxl   $13,%eax,%esi
6092         vpsrld  $3,%xmm4,%xmm7
6093         leal    (%edx,%ecx,1),%edx
6094         rorxl   $22,%eax,%ecx
6095         xorl    %edi,%esi
6096         vpslld  $14,%xmm4,%xmm5
6097         movl    4(%esp),%edi
6098         xorl    %esi,%ecx
6099         xorl    %edi,%eax
6100         vpxor   %xmm6,%xmm7,%xmm4
6101         addl    28(%esp),%edx
6102         andl    %eax,%ebx
6103         addl    64(%esp),%edx
6104         vpshufd $250,%xmm1,%xmm7
6105         xorl    %edi,%ebx
6106         addl    %edx,%ecx
6107         addl    12(%esp),%edx
6108         vpsrld  $11,%xmm6,%xmm6
6109         leal    (%ebx,%ecx,1),%ebx
6110         rorxl   $6,%edx,%ecx
6111         rorxl   $11,%edx,%esi
6112         vpxor   %xmm5,%xmm4,%xmm4
6113         movl    %edx,12(%esp)
6114         rorxl   $25,%edx,%edi
6115         xorl    %esi,%ecx
6116         vpslld  $11,%xmm5,%xmm5
6117         andnl   20(%esp),%edx,%esi
6118         xorl    %edi,%ecx
6119         andl    16(%esp),%edx
6120         vpxor   %xmm6,%xmm4,%xmm4
6121         movl    %ebx,28(%esp)
6122         orl     %esi,%edx
6123         rorxl   $2,%ebx,%edi
6124         rorxl   $13,%ebx,%esi
6125         vpsrld  $10,%xmm7,%xmm6
6126         leal    (%edx,%ecx,1),%edx
6127         rorxl   $22,%ebx,%ecx
6128         xorl    %edi,%esi
6129         vpxor   %xmm5,%xmm4,%xmm4
6130         movl    (%esp),%edi
6131         xorl    %esi,%ecx
6132         xorl    %edi,%ebx
6133         vpsrlq  $17,%xmm7,%xmm5
6134         addl    24(%esp),%edx
6135         andl    %ebx,%eax
6136         addl    68(%esp),%edx
6137         vpaddd  %xmm4,%xmm2,%xmm2
6138         xorl    %edi,%eax
6139         addl    %edx,%ecx
6140         addl    8(%esp),%edx
6141         vpxor   %xmm5,%xmm6,%xmm6
6142         leal    (%eax,%ecx,1),%eax
6143         rorxl   $6,%edx,%ecx
6144         rorxl   $11,%edx,%esi
6145         vpsrlq  $19,%xmm7,%xmm7
6146         movl    %edx,8(%esp)
6147         rorxl   $25,%edx,%edi
6148         xorl    %esi,%ecx
6149         vpxor   %xmm7,%xmm6,%xmm6
6150         andnl   16(%esp),%edx,%esi
6151         xorl    %edi,%ecx
6152         andl    12(%esp),%edx
6153         vpshufd $132,%xmm6,%xmm7
6154         movl    %eax,24(%esp)
6155         orl     %esi,%edx
6156         rorxl   $2,%eax,%edi
6157         rorxl   $13,%eax,%esi
6158         vpsrldq $8,%xmm7,%xmm7
6159         leal    (%edx,%ecx,1),%edx
6160         rorxl   $22,%eax,%ecx
6161         xorl    %edi,%esi
6162         vpaddd  %xmm7,%xmm2,%xmm2
6163         movl    28(%esp),%edi
6164         xorl    %esi,%ecx
6165         xorl    %edi,%eax
6166         vpshufd $80,%xmm2,%xmm7
6167         addl    20(%esp),%edx
6168         andl    %eax,%ebx
6169         addl    72(%esp),%edx
6170         vpsrld  $10,%xmm7,%xmm6
6171         xorl    %edi,%ebx
6172         addl    %edx,%ecx
6173         addl    4(%esp),%edx
6174         vpsrlq  $17,%xmm7,%xmm5
6175         leal    (%ebx,%ecx,1),%ebx
6176         rorxl   $6,%edx,%ecx
6177         rorxl   $11,%edx,%esi
6178         vpxor   %xmm5,%xmm6,%xmm6
6179         movl    %edx,4(%esp)
6180         rorxl   $25,%edx,%edi
6181         xorl    %esi,%ecx
6182         vpsrlq  $19,%xmm7,%xmm7
6183         andnl   12(%esp),%edx,%esi
6184         xorl    %edi,%ecx
6185         andl    8(%esp),%edx
6186         vpxor   %xmm7,%xmm6,%xmm6
6187         movl    %ebx,20(%esp)
6188         orl     %esi,%edx
6189         rorxl   $2,%ebx,%edi
6190         rorxl   $13,%ebx,%esi
6191         vpshufd $232,%xmm6,%xmm7
6192         leal    (%edx,%ecx,1),%edx
6193         rorxl   $22,%ebx,%ecx
6194         xorl    %edi,%esi
6195         vpslldq $8,%xmm7,%xmm7
6196         movl    24(%esp),%edi
6197         xorl    %esi,%ecx
6198         xorl    %edi,%ebx
6199         vpaddd  %xmm7,%xmm2,%xmm2
6200         addl    16(%esp),%edx
6201         andl    %ebx,%eax
6202         addl    76(%esp),%edx
6203         vpaddd  32(%ebp),%xmm2,%xmm6
6204         xorl    %edi,%eax
6205         addl    %edx,%ecx
6206         addl    (%esp),%edx
6207         leal    (%eax,%ecx,1),%eax
6208         vmovdqa %xmm6,64(%esp)
6209         vpalignr        $4,%xmm3,%xmm0,%xmm4
6210         rorxl   $6,%edx,%ecx
6211         rorxl   $11,%edx,%esi
6212         movl    %edx,(%esp)
6213         vpalignr        $4,%xmm1,%xmm2,%xmm7
6214         rorxl   $25,%edx,%edi
6215         xorl    %esi,%ecx
6216         andnl   8(%esp),%edx,%esi
6217         vpsrld  $7,%xmm4,%xmm6
6218         xorl    %edi,%ecx
6219         andl    4(%esp),%edx
6220         movl    %eax,16(%esp)
6221         vpaddd  %xmm7,%xmm3,%xmm3
6222         orl     %esi,%edx
6223         rorxl   $2,%eax,%edi
6224         rorxl   $13,%eax,%esi
6225         vpsrld  $3,%xmm4,%xmm7
6226         leal    (%edx,%ecx,1),%edx
6227         rorxl   $22,%eax,%ecx
6228         xorl    %edi,%esi
6229         vpslld  $14,%xmm4,%xmm5
6230         movl    20(%esp),%edi
6231         xorl    %esi,%ecx
6232         xorl    %edi,%eax
6233         vpxor   %xmm6,%xmm7,%xmm4
6234         addl    12(%esp),%edx
6235         andl    %eax,%ebx
6236         addl    80(%esp),%edx
6237         vpshufd $250,%xmm2,%xmm7
6238         xorl    %edi,%ebx
6239         addl    %edx,%ecx
6240         addl    28(%esp),%edx
6241         vpsrld  $11,%xmm6,%xmm6
6242         leal    (%ebx,%ecx,1),%ebx
6243         rorxl   $6,%edx,%ecx
6244         rorxl   $11,%edx,%esi
6245         vpxor   %xmm5,%xmm4,%xmm4
6246         movl    %edx,28(%esp)
6247         rorxl   $25,%edx,%edi
6248         xorl    %esi,%ecx
6249         vpslld  $11,%xmm5,%xmm5
6250         andnl   4(%esp),%edx,%esi
6251         xorl    %edi,%ecx
6252         andl    (%esp),%edx
6253         vpxor   %xmm6,%xmm4,%xmm4
6254         movl    %ebx,12(%esp)
6255         orl     %esi,%edx
6256         rorxl   $2,%ebx,%edi
6257         rorxl   $13,%ebx,%esi
6258         vpsrld  $10,%xmm7,%xmm6
6259         leal    (%edx,%ecx,1),%edx
6260         rorxl   $22,%ebx,%ecx
6261         xorl    %edi,%esi
6262         vpxor   %xmm5,%xmm4,%xmm4
6263         movl    16(%esp),%edi
6264         xorl    %esi,%ecx
6265         xorl    %edi,%ebx
6266         vpsrlq  $17,%xmm7,%xmm5
6267         addl    8(%esp),%edx
6268         andl    %ebx,%eax
6269         addl    84(%esp),%edx
6270         vpaddd  %xmm4,%xmm3,%xmm3
6271         xorl    %edi,%eax
6272         addl    %edx,%ecx
6273         addl    24(%esp),%edx
6274         vpxor   %xmm5,%xmm6,%xmm6
6275         leal    (%eax,%ecx,1),%eax
6276         rorxl   $6,%edx,%ecx
6277         rorxl   $11,%edx,%esi
6278         vpsrlq  $19,%xmm7,%xmm7
6279         movl    %edx,24(%esp)
6280         rorxl   $25,%edx,%edi
6281         xorl    %esi,%ecx
6282         vpxor   %xmm7,%xmm6,%xmm6
6283         andnl   (%esp),%edx,%esi
6284         xorl    %edi,%ecx
6285         andl    28(%esp),%edx
6286         vpshufd $132,%xmm6,%xmm7
6287         movl    %eax,8(%esp)
6288         orl     %esi,%edx
6289         rorxl   $2,%eax,%edi
6290         rorxl   $13,%eax,%esi
6291         vpsrldq $8,%xmm7,%xmm7
6292         leal    (%edx,%ecx,1),%edx
6293         rorxl   $22,%eax,%ecx
6294         xorl    %edi,%esi
6295         vpaddd  %xmm7,%xmm3,%xmm3
6296         movl    12(%esp),%edi
6297         xorl    %esi,%ecx
6298         xorl    %edi,%eax
6299         vpshufd $80,%xmm3,%xmm7
6300         addl    4(%esp),%edx
6301         andl    %eax,%ebx
6302         addl    88(%esp),%edx
6303         vpsrld  $10,%xmm7,%xmm6
6304         xorl    %edi,%ebx
6305         addl    %edx,%ecx
6306         addl    20(%esp),%edx
6307         vpsrlq  $17,%xmm7,%xmm5
6308         leal    (%ebx,%ecx,1),%ebx
6309         rorxl   $6,%edx,%ecx
6310         rorxl   $11,%edx,%esi
6311         vpxor   %xmm5,%xmm6,%xmm6
6312         movl    %edx,20(%esp)
6313         rorxl   $25,%edx,%edi
6314         xorl    %esi,%ecx
6315         vpsrlq  $19,%xmm7,%xmm7
6316         andnl   28(%esp),%edx,%esi
6317         xorl    %edi,%ecx
6318         andl    24(%esp),%edx
6319         vpxor   %xmm7,%xmm6,%xmm6
6320         movl    %ebx,4(%esp)
6321         orl     %esi,%edx
6322         rorxl   $2,%ebx,%edi
6323         rorxl   $13,%ebx,%esi
6324         vpshufd $232,%xmm6,%xmm7
6325         leal    (%edx,%ecx,1),%edx
6326         rorxl   $22,%ebx,%ecx
6327         xorl    %edi,%esi
6328         vpslldq $8,%xmm7,%xmm7
6329         movl    8(%esp),%edi
6330         xorl    %esi,%ecx
6331         xorl    %edi,%ebx
6332         vpaddd  %xmm7,%xmm3,%xmm3
6333         addl    (%esp),%edx
6334         andl    %ebx,%eax
6335         addl    92(%esp),%edx
6336         vpaddd  48(%ebp),%xmm3,%xmm6
6337         xorl    %edi,%eax
6338         addl    %edx,%ecx
6339         addl    16(%esp),%edx
6340         leal    (%eax,%ecx,1),%eax
6341         vmovdqa %xmm6,80(%esp)
6342         cmpl    $66051,64(%ebp)
6343         jne     .L018avx_bmi_00_47
6344         rorxl   $6,%edx,%ecx
6345         rorxl   $11,%edx,%esi
6346         movl    %edx,16(%esp)
6347         rorxl   $25,%edx,%edi
6348         xorl    %esi,%ecx
6349         andnl   24(%esp),%edx,%esi
6350         xorl    %edi,%ecx
6351         andl    20(%esp),%edx
6352         movl    %eax,(%esp)
6353         orl     %esi,%edx
6354         rorxl   $2,%eax,%edi
6355         rorxl   $13,%eax,%esi
6356         leal    (%edx,%ecx,1),%edx
6357         rorxl   $22,%eax,%ecx
6358         xorl    %edi,%esi
6359         movl    4(%esp),%edi
6360         xorl    %esi,%ecx
6361         xorl    %edi,%eax
6362         addl    28(%esp),%edx
6363         andl    %eax,%ebx
6364         addl    32(%esp),%edx
6365         xorl    %edi,%ebx
6366         addl    %edx,%ecx
6367         addl    12(%esp),%edx
6368         leal    (%ebx,%ecx,1),%ebx
6369         rorxl   $6,%edx,%ecx
6370         rorxl   $11,%edx,%esi
6371         movl    %edx,12(%esp)
6372         rorxl   $25,%edx,%edi
6373         xorl    %esi,%ecx
6374         andnl   20(%esp),%edx,%esi
6375         xorl    %edi,%ecx
6376         andl    16(%esp),%edx
6377         movl    %ebx,28(%esp)
6378         orl     %esi,%edx
6379         rorxl   $2,%ebx,%edi
6380         rorxl   $13,%ebx,%esi
6381         leal    (%edx,%ecx,1),%edx
6382         rorxl   $22,%ebx,%ecx
6383         xorl    %edi,%esi
6384         movl    (%esp),%edi
6385         xorl    %esi,%ecx
6386         xorl    %edi,%ebx
6387         addl    24(%esp),%edx
6388         andl    %ebx,%eax
6389         addl    36(%esp),%edx
6390         xorl    %edi,%eax
6391         addl    %edx,%ecx
6392         addl    8(%esp),%edx
6393         leal    (%eax,%ecx,1),%eax
6394         rorxl   $6,%edx,%ecx
6395         rorxl   $11,%edx,%esi
6396         movl    %edx,8(%esp)
6397         rorxl   $25,%edx,%edi
6398         xorl    %esi,%ecx
6399         andnl   16(%esp),%edx,%esi
6400         xorl    %edi,%ecx
6401         andl    12(%esp),%edx
6402         movl    %eax,24(%esp)
6403         orl     %esi,%edx
6404         rorxl   $2,%eax,%edi
6405         rorxl   $13,%eax,%esi
6406         leal    (%edx,%ecx,1),%edx
6407         rorxl   $22,%eax,%ecx
6408         xorl    %edi,%esi
6409         movl    28(%esp),%edi
6410         xorl    %esi,%ecx
6411         xorl    %edi,%eax
6412         addl    20(%esp),%edx
6413         andl    %eax,%ebx
6414         addl    40(%esp),%edx
6415         xorl    %edi,%ebx
6416         addl    %edx,%ecx
6417         addl    4(%esp),%edx
6418         leal    (%ebx,%ecx,1),%ebx
6419         rorxl   $6,%edx,%ecx
6420         rorxl   $11,%edx,%esi
6421         movl    %edx,4(%esp)
6422         rorxl   $25,%edx,%edi
6423         xorl    %esi,%ecx
6424         andnl   12(%esp),%edx,%esi
6425         xorl    %edi,%ecx
6426         andl    8(%esp),%edx
6427         movl    %ebx,20(%esp)
6428         orl     %esi,%edx
6429         rorxl   $2,%ebx,%edi
6430         rorxl   $13,%ebx,%esi
6431         leal    (%edx,%ecx,1),%edx
6432         rorxl   $22,%ebx,%ecx
6433         xorl    %edi,%esi
6434         movl    24(%esp),%edi
6435         xorl    %esi,%ecx
6436         xorl    %edi,%ebx
6437         addl    16(%esp),%edx
6438         andl    %ebx,%eax
6439         addl    44(%esp),%edx
6440         xorl    %edi,%eax
6441         addl    %edx,%ecx
6442         addl    (%esp),%edx
6443         leal    (%eax,%ecx,1),%eax
6444         rorxl   $6,%edx,%ecx
6445         rorxl   $11,%edx,%esi
6446         movl    %edx,(%esp)
6447         rorxl   $25,%edx,%edi
6448         xorl    %esi,%ecx
6449         andnl   8(%esp),%edx,%esi
6450         xorl    %edi,%ecx
6451         andl    4(%esp),%edx
6452         movl    %eax,16(%esp)
6453         orl     %esi,%edx
6454         rorxl   $2,%eax,%edi
6455         rorxl   $13,%eax,%esi
6456         leal    (%edx,%ecx,1),%edx
6457         rorxl   $22,%eax,%ecx
6458         xorl    %edi,%esi
6459         movl    20(%esp),%edi
6460         xorl    %esi,%ecx
6461         xorl    %edi,%eax
6462         addl    12(%esp),%edx
6463         andl    %eax,%ebx
6464         addl    48(%esp),%edx
6465         xorl    %edi,%ebx
6466         addl    %edx,%ecx
6467         addl    28(%esp),%edx
6468         leal    (%ebx,%ecx,1),%ebx
6469         rorxl   $6,%edx,%ecx
6470         rorxl   $11,%edx,%esi
6471         movl    %edx,28(%esp)
6472         rorxl   $25,%edx,%edi
6473         xorl    %esi,%ecx
6474         andnl   4(%esp),%edx,%esi
6475         xorl    %edi,%ecx
6476         andl    (%esp),%edx
6477         movl    %ebx,12(%esp)
6478         orl     %esi,%edx
6479         rorxl   $2,%ebx,%edi
6480         rorxl   $13,%ebx,%esi
6481         leal    (%edx,%ecx,1),%edx
6482         rorxl   $22,%ebx,%ecx
6483         xorl    %edi,%esi
6484         movl    16(%esp),%edi
6485         xorl    %esi,%ecx
6486         xorl    %edi,%ebx
6487         addl    8(%esp),%edx
6488         andl    %ebx,%eax
6489         addl    52(%esp),%edx
6490         xorl    %edi,%eax
6491         addl    %edx,%ecx
6492         addl    24(%esp),%edx
6493         leal    (%eax,%ecx,1),%eax
6494         rorxl   $6,%edx,%ecx
6495         rorxl   $11,%edx,%esi
6496         movl    %edx,24(%esp)
6497         rorxl   $25,%edx,%edi
6498         xorl    %esi,%ecx
6499         andnl   (%esp),%edx,%esi
6500         xorl    %edi,%ecx
6501         andl    28(%esp),%edx
6502         movl    %eax,8(%esp)
6503         orl     %esi,%edx
6504         rorxl   $2,%eax,%edi
6505         rorxl   $13,%eax,%esi
6506         leal    (%edx,%ecx,1),%edx
6507         rorxl   $22,%eax,%ecx
6508         xorl    %edi,%esi
6509         movl    12(%esp),%edi
6510         xorl    %esi,%ecx
6511         xorl    %edi,%eax
6512         addl    4(%esp),%edx
6513         andl    %eax,%ebx
6514         addl    56(%esp),%edx
6515         xorl    %edi,%ebx
6516         addl    %edx,%ecx
6517         addl    20(%esp),%edx
6518         leal    (%ebx,%ecx,1),%ebx
6519         rorxl   $6,%edx,%ecx
6520         rorxl   $11,%edx,%esi
6521         movl    %edx,20(%esp)
6522         rorxl   $25,%edx,%edi
6523         xorl    %esi,%ecx
6524         andnl   28(%esp),%edx,%esi
6525         xorl    %edi,%ecx
6526         andl    24(%esp),%edx
6527         movl    %ebx,4(%esp)
6528         orl     %esi,%edx
6529         rorxl   $2,%ebx,%edi
6530         rorxl   $13,%ebx,%esi
6531         leal    (%edx,%ecx,1),%edx
6532         rorxl   $22,%ebx,%ecx
6533         xorl    %edi,%esi
6534         movl    8(%esp),%edi
6535         xorl    %esi,%ecx
6536         xorl    %edi,%ebx
6537         addl    (%esp),%edx
6538         andl    %ebx,%eax
6539         addl    60(%esp),%edx
6540         xorl    %edi,%eax
6541         addl    %edx,%ecx
6542         addl    16(%esp),%edx
6543         leal    (%eax,%ecx,1),%eax
6544         rorxl   $6,%edx,%ecx
6545         rorxl   $11,%edx,%esi
6546         movl    %edx,16(%esp)
6547         rorxl   $25,%edx,%edi
6548         xorl    %esi,%ecx
6549         andnl   24(%esp),%edx,%esi
6550         xorl    %edi,%ecx
6551         andl    20(%esp),%edx
6552         movl    %eax,(%esp)
6553         orl     %esi,%edx
6554         rorxl   $2,%eax,%edi
6555         rorxl   $13,%eax,%esi
6556         leal    (%edx,%ecx,1),%edx
6557         rorxl   $22,%eax,%ecx
6558         xorl    %edi,%esi
6559         movl    4(%esp),%edi
6560         xorl    %esi,%ecx
6561         xorl    %edi,%eax
6562         addl    28(%esp),%edx
6563         andl    %eax,%ebx
6564         addl    64(%esp),%edx
6565         xorl    %edi,%ebx
6566         addl    %edx,%ecx
6567         addl    12(%esp),%edx
6568         leal    (%ebx,%ecx,1),%ebx
6569         rorxl   $6,%edx,%ecx
6570         rorxl   $11,%edx,%esi
6571         movl    %edx,12(%esp)
6572         rorxl   $25,%edx,%edi
6573         xorl    %esi,%ecx
6574         andnl   20(%esp),%edx,%esi
6575         xorl    %edi,%ecx
6576         andl    16(%esp),%edx
6577         movl    %ebx,28(%esp)
6578         orl     %esi,%edx
6579         rorxl   $2,%ebx,%edi
6580         rorxl   $13,%ebx,%esi
6581         leal    (%edx,%ecx,1),%edx
6582         rorxl   $22,%ebx,%ecx
6583         xorl    %edi,%esi
6584         movl    (%esp),%edi
6585         xorl    %esi,%ecx
6586         xorl    %edi,%ebx
6587         addl    24(%esp),%edx
6588         andl    %ebx,%eax
6589         addl    68(%esp),%edx
6590         xorl    %edi,%eax
6591         addl    %edx,%ecx
6592         addl    8(%esp),%edx
6593         leal    (%eax,%ecx,1),%eax
6594         rorxl   $6,%edx,%ecx
6595         rorxl   $11,%edx,%esi
6596         movl    %edx,8(%esp)
6597         rorxl   $25,%edx,%edi
6598         xorl    %esi,%ecx
6599         andnl   16(%esp),%edx,%esi
6600         xorl    %edi,%ecx
6601         andl    12(%esp),%edx
6602         movl    %eax,24(%esp)
6603         orl     %esi,%edx
6604         rorxl   $2,%eax,%edi
6605         rorxl   $13,%eax,%esi
6606         leal    (%edx,%ecx,1),%edx
6607         rorxl   $22,%eax,%ecx
6608         xorl    %edi,%esi
6609         movl    28(%esp),%edi
6610         xorl    %esi,%ecx
6611         xorl    %edi,%eax
6612         addl    20(%esp),%edx
6613         andl    %eax,%ebx
6614         addl    72(%esp),%edx
6615         xorl    %edi,%ebx
6616         addl    %edx,%ecx
6617         addl    4(%esp),%edx
6618         leal    (%ebx,%ecx,1),%ebx
6619         rorxl   $6,%edx,%ecx
6620         rorxl   $11,%edx,%esi
6621         movl    %edx,4(%esp)
6622         rorxl   $25,%edx,%edi
6623         xorl    %esi,%ecx
6624         andnl   12(%esp),%edx,%esi
6625         xorl    %edi,%ecx
6626         andl    8(%esp),%edx
6627         movl    %ebx,20(%esp)
6628         orl     %esi,%edx
6629         rorxl   $2,%ebx,%edi
6630         rorxl   $13,%ebx,%esi
6631         leal    (%edx,%ecx,1),%edx
6632         rorxl   $22,%ebx,%ecx
6633         xorl    %edi,%esi
6634         movl    24(%esp),%edi
6635         xorl    %esi,%ecx
6636         xorl    %edi,%ebx
6637         addl    16(%esp),%edx
6638         andl    %ebx,%eax
6639         addl    76(%esp),%edx
6640         xorl    %edi,%eax
6641         addl    %edx,%ecx
6642         addl    (%esp),%edx
6643         leal    (%eax,%ecx,1),%eax
6644         rorxl   $6,%edx,%ecx
6645         rorxl   $11,%edx,%esi
6646         movl    %edx,(%esp)
6647         rorxl   $25,%edx,%edi
6648         xorl    %esi,%ecx
6649         andnl   8(%esp),%edx,%esi
6650         xorl    %edi,%ecx
6651         andl    4(%esp),%edx
6652         movl    %eax,16(%esp)
6653         orl     %esi,%edx
6654         rorxl   $2,%eax,%edi
6655         rorxl   $13,%eax,%esi
6656         leal    (%edx,%ecx,1),%edx
6657         rorxl   $22,%eax,%ecx
6658         xorl    %edi,%esi
6659         movl    20(%esp),%edi
6660         xorl    %esi,%ecx
6661         xorl    %edi,%eax
6662         addl    12(%esp),%edx
6663         andl    %eax,%ebx
6664         addl    80(%esp),%edx
6665         xorl    %edi,%ebx
6666         addl    %edx,%ecx
6667         addl    28(%esp),%edx
6668         leal    (%ebx,%ecx,1),%ebx
6669         rorxl   $6,%edx,%ecx
6670         rorxl   $11,%edx,%esi
6671         movl    %edx,28(%esp)
6672         rorxl   $25,%edx,%edi
6673         xorl    %esi,%ecx
6674         andnl   4(%esp),%edx,%esi
6675         xorl    %edi,%ecx
6676         andl    (%esp),%edx
6677         movl    %ebx,12(%esp)
6678         orl     %esi,%edx
6679         rorxl   $2,%ebx,%edi
6680         rorxl   $13,%ebx,%esi
6681         leal    (%edx,%ecx,1),%edx
6682         rorxl   $22,%ebx,%ecx
6683         xorl    %edi,%esi
6684         movl    16(%esp),%edi
6685         xorl    %esi,%ecx
6686         xorl    %edi,%ebx
6687         addl    8(%esp),%edx
6688         andl    %ebx,%eax
6689         addl    84(%esp),%edx
6690         xorl    %edi,%eax
6691         addl    %edx,%ecx
6692         addl    24(%esp),%edx
6693         leal    (%eax,%ecx,1),%eax
6694         rorxl   $6,%edx,%ecx
6695         rorxl   $11,%edx,%esi
6696         movl    %edx,24(%esp)
6697         rorxl   $25,%edx,%edi
6698         xorl    %esi,%ecx
6699         andnl   (%esp),%edx,%esi
6700         xorl    %edi,%ecx
6701         andl    28(%esp),%edx
6702         movl    %eax,8(%esp)
6703         orl     %esi,%edx
6704         rorxl   $2,%eax,%edi
6705         rorxl   $13,%eax,%esi
6706         leal    (%edx,%ecx,1),%edx
6707         rorxl   $22,%eax,%ecx
6708         xorl    %edi,%esi
6709         movl    12(%esp),%edi
6710         xorl    %esi,%ecx
6711         xorl    %edi,%eax
6712         addl    4(%esp),%edx
6713         andl    %eax,%ebx
6714         addl    88(%esp),%edx
6715         xorl    %edi,%ebx
6716         addl    %edx,%ecx
6717         addl    20(%esp),%edx
6718         leal    (%ebx,%ecx,1),%ebx
6719         rorxl   $6,%edx,%ecx
6720         rorxl   $11,%edx,%esi
6721         movl    %edx,20(%esp)
6722         rorxl   $25,%edx,%edi
6723         xorl    %esi,%ecx
6724         andnl   28(%esp),%edx,%esi
6725         xorl    %edi,%ecx
6726         andl    24(%esp),%edx
6727         movl    %ebx,4(%esp)
6728         orl     %esi,%edx
6729         rorxl   $2,%ebx,%edi
6730         rorxl   $13,%ebx,%esi
6731         leal    (%edx,%ecx,1),%edx
6732         rorxl   $22,%ebx,%ecx
6733         xorl    %edi,%esi
6734         movl    8(%esp),%edi
6735         xorl    %esi,%ecx
6736         xorl    %edi,%ebx
6737         addl    (%esp),%edx
6738         andl    %ebx,%eax
6739         addl    92(%esp),%edx
6740         xorl    %edi,%eax
6741         addl    %edx,%ecx
6742         addl    16(%esp),%edx
6743         leal    (%eax,%ecx,1),%eax
6744         movl    96(%esp),%esi
6745         xorl    %edi,%ebx
6746         movl    12(%esp),%ecx
6747         addl    (%esi),%eax
6748         addl    4(%esi),%ebx
6749         addl    8(%esi),%edi
6750         addl    12(%esi),%ecx
6751         movl    %eax,(%esi)
6752         movl    %ebx,4(%esi)
6753         movl    %edi,8(%esi)
6754         movl    %ecx,12(%esi)
6755         movl    %ebx,4(%esp)
6756         xorl    %edi,%ebx
6757         movl    %edi,8(%esp)
6758         movl    %ecx,12(%esp)
6759         movl    20(%esp),%edi
6760         movl    24(%esp),%ecx
6761         addl    16(%esi),%edx
6762         addl    20(%esi),%edi
6763         addl    24(%esi),%ecx
6764         movl    %edx,16(%esi)
6765         movl    %edi,20(%esi)
6766         movl    %edi,20(%esp)
6767         movl    28(%esp),%edi
6768         movl    %ecx,24(%esi)
6769         addl    28(%esi),%edi
6770         movl    %ecx,24(%esp)
6771         movl    %edi,28(%esi)
6772         movl    %edi,28(%esp)
6773         movl    100(%esp),%edi
6774         vmovdqa 64(%ebp),%xmm7
6775         subl    $192,%ebp
6776         cmpl    104(%esp),%edi
6777         jb      .L017grand_avx_bmi
6778         movl    108(%esp),%esp
6779         vzeroall
6780         popl    %edi
6781         popl    %esi
6782         popl    %ebx
6783         popl    %ebp
6784         ret
6785 .size   sha256_block_data_order,.-.L_sha256_block_data_order_begin
6786 .comm   OPENSSL_ia32cap_P,16,4
6787 #else
6788 .file   "sha256-586.S"
6789 .text
6790 .globl  sha256_block_data_order
6791 .type   sha256_block_data_order,@function
6792 .align  16
6793 sha256_block_data_order:
6794 .L_sha256_block_data_order_begin:
6795         pushl   %ebp
6796         pushl   %ebx
6797         pushl   %esi
6798         pushl   %edi
6799         movl    20(%esp),%esi
6800         movl    24(%esp),%edi
6801         movl    28(%esp),%eax
6802         movl    %esp,%ebx
6803         call    .L000pic_point
6804 .L000pic_point:
6805         popl    %ebp
6806         leal    .L001K256-.L000pic_point(%ebp),%ebp
6807         subl    $16,%esp
6808         andl    $-64,%esp
6809         shll    $6,%eax
6810         addl    %edi,%eax
6811         movl    %esi,(%esp)
6812         movl    %edi,4(%esp)
6813         movl    %eax,8(%esp)
6814         movl    %ebx,12(%esp)
6815         leal    OPENSSL_ia32cap_P,%edx
6816         movl    (%edx),%ecx
6817         movl    4(%edx),%ebx
6818         testl   $1048576,%ecx
6819         jnz     .L002loop
6820         movl    8(%edx),%edx
6821         testl   $16777216,%ecx
6822         jz      .L003no_xmm
6823         andl    $1073741824,%ecx
6824         andl    $268435968,%ebx
6825         testl   $536870912,%edx
6826         jnz     .L004shaext
6827         orl     %ebx,%ecx
6828         andl    $1342177280,%ecx
6829         cmpl    $1342177280,%ecx
6830         je      .L005AVX
6831         testl   $512,%ebx
6832         jnz     .L006SSSE3
6833 .L003no_xmm:
6834         subl    %edi,%eax
6835         cmpl    $256,%eax
6836         jae     .L007unrolled
6837         jmp     .L002loop
6838 .align  16
6839 .L002loop:
6840         movl    (%edi),%eax
6841         movl    4(%edi),%ebx
6842         movl    8(%edi),%ecx
6843         bswap   %eax
6844         movl    12(%edi),%edx
6845         bswap   %ebx
6846         pushl   %eax
6847         bswap   %ecx
6848         pushl   %ebx
6849         bswap   %edx
6850         pushl   %ecx
6851         pushl   %edx
6852         movl    16(%edi),%eax
6853         movl    20(%edi),%ebx
6854         movl    24(%edi),%ecx
6855         bswap   %eax
6856         movl    28(%edi),%edx
6857         bswap   %ebx
6858         pushl   %eax
6859         bswap   %ecx
6860         pushl   %ebx
6861         bswap   %edx
6862         pushl   %ecx
6863         pushl   %edx
6864         movl    32(%edi),%eax
6865         movl    36(%edi),%ebx
6866         movl    40(%edi),%ecx
6867         bswap   %eax
6868         movl    44(%edi),%edx
6869         bswap   %ebx
6870         pushl   %eax
6871         bswap   %ecx
6872         pushl   %ebx
6873         bswap   %edx
6874         pushl   %ecx
6875         pushl   %edx
6876         movl    48(%edi),%eax
6877         movl    52(%edi),%ebx
6878         movl    56(%edi),%ecx
6879         bswap   %eax
6880         movl    60(%edi),%edx
6881         bswap   %ebx
6882         pushl   %eax
6883         bswap   %ecx
6884         pushl   %ebx
6885         bswap   %edx
6886         pushl   %ecx
6887         pushl   %edx
6888         addl    $64,%edi
6889         leal    -36(%esp),%esp
6890         movl    %edi,104(%esp)
6891         movl    (%esi),%eax
6892         movl    4(%esi),%ebx
6893         movl    8(%esi),%ecx
6894         movl    12(%esi),%edi
6895         movl    %ebx,8(%esp)
6896         xorl    %ecx,%ebx
6897         movl    %ecx,12(%esp)
6898         movl    %edi,16(%esp)
6899         movl    %ebx,(%esp)
6900         movl    16(%esi),%edx
6901         movl    20(%esi),%ebx
6902         movl    24(%esi),%ecx
6903         movl    28(%esi),%edi
6904         movl    %ebx,24(%esp)
6905         movl    %ecx,28(%esp)
6906         movl    %edi,32(%esp)
6907 .align  16
6908 .L00800_15:
6909         movl    %edx,%ecx
6910         movl    24(%esp),%esi
6911         rorl    $14,%ecx
6912         movl    28(%esp),%edi
6913         xorl    %edx,%ecx
6914         xorl    %edi,%esi
6915         movl    96(%esp),%ebx
6916         rorl    $5,%ecx
6917         andl    %edx,%esi
6918         movl    %edx,20(%esp)
6919         xorl    %ecx,%edx
6920         addl    32(%esp),%ebx
6921         xorl    %edi,%esi
6922         rorl    $6,%edx
6923         movl    %eax,%ecx
6924         addl    %esi,%ebx
6925         rorl    $9,%ecx
6926         addl    %edx,%ebx
6927         movl    8(%esp),%edi
6928         xorl    %eax,%ecx
6929         movl    %eax,4(%esp)
6930         leal    -4(%esp),%esp
6931         rorl    $11,%ecx
6932         movl    (%ebp),%esi
6933         xorl    %eax,%ecx
6934         movl    20(%esp),%edx
6935         xorl    %edi,%eax
6936         rorl    $2,%ecx
6937         addl    %esi,%ebx
6938         movl    %eax,(%esp)
6939         addl    %ebx,%edx
6940         andl    4(%esp),%eax
6941         addl    %ecx,%ebx
6942         xorl    %edi,%eax
6943         addl    $4,%ebp
6944         addl    %ebx,%eax
6945         cmpl    $3248222580,%esi
6946         jne     .L00800_15
6947         movl    156(%esp),%ecx
6948         jmp     .L00916_63
6949 .align  16
6950 .L00916_63:
6951         movl    %ecx,%ebx
6952         movl    104(%esp),%esi
6953         rorl    $11,%ecx
6954         movl    %esi,%edi
6955         rorl    $2,%esi
6956         xorl    %ebx,%ecx
6957         shrl    $3,%ebx
6958         rorl    $7,%ecx
6959         xorl    %edi,%esi
6960         xorl    %ecx,%ebx
6961         rorl    $17,%esi
6962         addl    160(%esp),%ebx
6963         shrl    $10,%edi
6964         addl    124(%esp),%ebx
6965         movl    %edx,%ecx
6966         xorl    %esi,%edi
6967         movl    24(%esp),%esi
6968         rorl    $14,%ecx
6969         addl    %edi,%ebx
6970         movl    28(%esp),%edi
6971         xorl    %edx,%ecx
6972         xorl    %edi,%esi
6973         movl    %ebx,96(%esp)
6974         rorl    $5,%ecx
6975         andl    %edx,%esi
6976         movl    %edx,20(%esp)
6977         xorl    %ecx,%edx
6978         addl    32(%esp),%ebx
6979         xorl    %edi,%esi
6980         rorl    $6,%edx
6981         movl    %eax,%ecx
6982         addl    %esi,%ebx
6983         rorl    $9,%ecx
6984         addl    %edx,%ebx
6985         movl    8(%esp),%edi
6986         xorl    %eax,%ecx
6987         movl    %eax,4(%esp)
6988         leal    -4(%esp),%esp
6989         rorl    $11,%ecx
6990         movl    (%ebp),%esi
6991         xorl    %eax,%ecx
6992         movl    20(%esp),%edx
6993         xorl    %edi,%eax
6994         rorl    $2,%ecx
6995         addl    %esi,%ebx
6996         movl    %eax,(%esp)
6997         addl    %ebx,%edx
6998         andl    4(%esp),%eax
6999         addl    %ecx,%ebx
7000         xorl    %edi,%eax
7001         movl    156(%esp),%ecx
7002         addl    $4,%ebp
7003         addl    %ebx,%eax
7004         cmpl    $3329325298,%esi
7005         jne     .L00916_63
7006         movl    356(%esp),%esi
7007         movl    8(%esp),%ebx
7008         movl    16(%esp),%ecx
7009         addl    (%esi),%eax
7010         addl    4(%esi),%ebx
7011         addl    8(%esi),%edi
7012         addl    12(%esi),%ecx
7013         movl    %eax,(%esi)
7014         movl    %ebx,4(%esi)
7015         movl    %edi,8(%esi)
7016         movl    %ecx,12(%esi)
7017         movl    24(%esp),%eax
7018         movl    28(%esp),%ebx
7019         movl    32(%esp),%ecx
7020         movl    360(%esp),%edi
7021         addl    16(%esi),%edx
7022         addl    20(%esi),%eax
7023         addl    24(%esi),%ebx
7024         addl    28(%esi),%ecx
7025         movl    %edx,16(%esi)
7026         movl    %eax,20(%esi)
7027         movl    %ebx,24(%esi)
7028         movl    %ecx,28(%esi)
7029         leal    356(%esp),%esp
7030         subl    $256,%ebp
7031         cmpl    8(%esp),%edi
7032         jb      .L002loop
7033         movl    12(%esp),%esp
7034         popl    %edi
7035         popl    %esi
7036         popl    %ebx
7037         popl    %ebp
7038         ret
7039 .align  64
7040 .L001K256:
7041 .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
7042 .long   66051,67438087,134810123,202182159
7043 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
7044 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
7045 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
7046 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
7047 .byte   62,0
7048 .align  16
7049 .L007unrolled:
7050         leal    -96(%esp),%esp
7051         movl    (%esi),%eax
7052         movl    4(%esi),%ebp
7053         movl    8(%esi),%ecx
7054         movl    12(%esi),%ebx
7055         movl    %ebp,4(%esp)
7056         xorl    %ecx,%ebp
7057         movl    %ecx,8(%esp)
7058         movl    %ebx,12(%esp)
7059         movl    16(%esi),%edx
7060         movl    20(%esi),%ebx
7061         movl    24(%esi),%ecx
7062         movl    28(%esi),%esi
7063         movl    %ebx,20(%esp)
7064         movl    %ecx,24(%esp)
7065         movl    %esi,28(%esp)
7066         jmp     .L010grand_loop
7067 .align  16
7068 .L010grand_loop:
7069         movl    (%edi),%ebx
7070         movl    4(%edi),%ecx
7071         bswap   %ebx
7072         movl    8(%edi),%esi
7073         bswap   %ecx
7074         movl    %ebx,32(%esp)
7075         bswap   %esi
7076         movl    %ecx,36(%esp)
7077         movl    %esi,40(%esp)
7078         movl    12(%edi),%ebx
7079         movl    16(%edi),%ecx
7080         bswap   %ebx
7081         movl    20(%edi),%esi
7082         bswap   %ecx
7083         movl    %ebx,44(%esp)
7084         bswap   %esi
7085         movl    %ecx,48(%esp)
7086         movl    %esi,52(%esp)
7087         movl    24(%edi),%ebx
7088         movl    28(%edi),%ecx
7089         bswap   %ebx
7090         movl    32(%edi),%esi
7091         bswap   %ecx
7092         movl    %ebx,56(%esp)
7093         bswap   %esi
7094         movl    %ecx,60(%esp)
7095         movl    %esi,64(%esp)
7096         movl    36(%edi),%ebx
7097         movl    40(%edi),%ecx
7098         bswap   %ebx
7099         movl    44(%edi),%esi
7100         bswap   %ecx
7101         movl    %ebx,68(%esp)
7102         bswap   %esi
7103         movl    %ecx,72(%esp)
7104         movl    %esi,76(%esp)
7105         movl    48(%edi),%ebx
7106         movl    52(%edi),%ecx
7107         bswap   %ebx
7108         movl    56(%edi),%esi
7109         bswap   %ecx
7110         movl    %ebx,80(%esp)
7111         bswap   %esi
7112         movl    %ecx,84(%esp)
7113         movl    %esi,88(%esp)
7114         movl    60(%edi),%ebx
7115         addl    $64,%edi
7116         bswap   %ebx
7117         movl    %edi,100(%esp)
7118         movl    %ebx,92(%esp)
7119         movl    %edx,%ecx
7120         movl    20(%esp),%esi
7121         rorl    $14,%edx
7122         movl    24(%esp),%edi
7123         xorl    %ecx,%edx
7124         movl    32(%esp),%ebx
7125         xorl    %edi,%esi
7126         rorl    $5,%edx
7127         andl    %ecx,%esi
7128         movl    %ecx,16(%esp)
7129         xorl    %ecx,%edx
7130         addl    28(%esp),%ebx
7131         xorl    %esi,%edi
7132         rorl    $6,%edx
7133         movl    %eax,%ecx
7134         addl    %edi,%ebx
7135         rorl    $9,%ecx
7136         movl    %eax,%esi
7137         movl    4(%esp),%edi
7138         xorl    %eax,%ecx
7139         movl    %eax,(%esp)
7140         xorl    %edi,%eax
7141         rorl    $11,%ecx
7142         andl    %eax,%ebp
7143         leal    1116352408(%ebx,%edx,1),%edx
7144         xorl    %esi,%ecx
7145         xorl    %edi,%ebp
7146         rorl    $2,%ecx
7147         addl    %edx,%ebp
7148         addl    12(%esp),%edx
7149         addl    %ecx,%ebp
7150         movl    %edx,%esi
7151         movl    16(%esp),%ecx
7152         rorl    $14,%edx
7153         movl    20(%esp),%edi
7154         xorl    %esi,%edx
7155         movl    36(%esp),%ebx
7156         xorl    %edi,%ecx
7157         rorl    $5,%edx
7158         andl    %esi,%ecx
7159         movl    %esi,12(%esp)
7160         xorl    %esi,%edx
7161         addl    24(%esp),%ebx
7162         xorl    %ecx,%edi
7163         rorl    $6,%edx
7164         movl    %ebp,%esi
7165         addl    %edi,%ebx
7166         rorl    $9,%esi
7167         movl    %ebp,%ecx
7168         movl    (%esp),%edi
7169         xorl    %ebp,%esi
7170         movl    %ebp,28(%esp)
7171         xorl    %edi,%ebp
7172         rorl    $11,%esi
7173         andl    %ebp,%eax
7174         leal    1899447441(%ebx,%edx,1),%edx
7175         xorl    %ecx,%esi
7176         xorl    %edi,%eax
7177         rorl    $2,%esi
7178         addl    %edx,%eax
7179         addl    8(%esp),%edx
7180         addl    %esi,%eax
7181         movl    %edx,%ecx
7182         movl    12(%esp),%esi
7183         rorl    $14,%edx
7184         movl    16(%esp),%edi
7185         xorl    %ecx,%edx
7186         movl    40(%esp),%ebx
7187         xorl    %edi,%esi
7188         rorl    $5,%edx
7189         andl    %ecx,%esi
7190         movl    %ecx,8(%esp)
7191         xorl    %ecx,%edx
7192         addl    20(%esp),%ebx
7193         xorl    %esi,%edi
7194         rorl    $6,%edx
7195         movl    %eax,%ecx
7196         addl    %edi,%ebx
7197         rorl    $9,%ecx
7198         movl    %eax,%esi
7199         movl    28(%esp),%edi
7200         xorl    %eax,%ecx
7201         movl    %eax,24(%esp)
7202         xorl    %edi,%eax
7203         rorl    $11,%ecx
7204         andl    %eax,%ebp
7205         leal    3049323471(%ebx,%edx,1),%edx
7206         xorl    %esi,%ecx
7207         xorl    %edi,%ebp
7208         rorl    $2,%ecx
7209         addl    %edx,%ebp
7210         addl    4(%esp),%edx
7211         addl    %ecx,%ebp
7212         movl    %edx,%esi
7213         movl    8(%esp),%ecx
7214         rorl    $14,%edx
7215         movl    12(%esp),%edi
7216         xorl    %esi,%edx
7217         movl    44(%esp),%ebx
7218         xorl    %edi,%ecx
7219         rorl    $5,%edx
7220         andl    %esi,%ecx
7221         movl    %esi,4(%esp)
7222         xorl    %esi,%edx
7223         addl    16(%esp),%ebx
7224         xorl    %ecx,%edi
7225         rorl    $6,%edx
7226         movl    %ebp,%esi
7227         addl    %edi,%ebx
7228         rorl    $9,%esi
7229         movl    %ebp,%ecx
7230         movl    24(%esp),%edi
7231         xorl    %ebp,%esi
7232         movl    %ebp,20(%esp)
7233         xorl    %edi,%ebp
7234         rorl    $11,%esi
7235         andl    %ebp,%eax
7236         leal    3921009573(%ebx,%edx,1),%edx
7237         xorl    %ecx,%esi
7238         xorl    %edi,%eax
7239         rorl    $2,%esi
7240         addl    %edx,%eax
7241         addl    (%esp),%edx
7242         addl    %esi,%eax
7243         movl    %edx,%ecx
7244         movl    4(%esp),%esi
7245         rorl    $14,%edx
7246         movl    8(%esp),%edi
7247         xorl    %ecx,%edx
7248         movl    48(%esp),%ebx
7249         xorl    %edi,%esi
7250         rorl    $5,%edx
7251         andl    %ecx,%esi
7252         movl    %ecx,(%esp)
7253         xorl    %ecx,%edx
7254         addl    12(%esp),%ebx
7255         xorl    %esi,%edi
7256         rorl    $6,%edx
7257         movl    %eax,%ecx
7258         addl    %edi,%ebx
7259         rorl    $9,%ecx
7260         movl    %eax,%esi
7261         movl    20(%esp),%edi
7262         xorl    %eax,%ecx
7263         movl    %eax,16(%esp)
7264         xorl    %edi,%eax
7265         rorl    $11,%ecx
7266         andl    %eax,%ebp
7267         leal    961987163(%ebx,%edx,1),%edx
7268         xorl    %esi,%ecx
7269         xorl    %edi,%ebp
7270         rorl    $2,%ecx
7271         addl    %edx,%ebp
7272         addl    28(%esp),%edx
7273         addl    %ecx,%ebp
7274         movl    %edx,%esi
7275         movl    (%esp),%ecx
7276         rorl    $14,%edx
7277         movl    4(%esp),%edi
7278         xorl    %esi,%edx
7279         movl    52(%esp),%ebx
7280         xorl    %edi,%ecx
7281         rorl    $5,%edx
7282         andl    %esi,%ecx
7283         movl    %esi,28(%esp)
7284         xorl    %esi,%edx
7285         addl    8(%esp),%ebx
7286         xorl    %ecx,%edi
7287         rorl    $6,%edx
7288         movl    %ebp,%esi
7289         addl    %edi,%ebx
7290         rorl    $9,%esi
7291         movl    %ebp,%ecx
7292         movl    16(%esp),%edi
7293         xorl    %ebp,%esi
7294         movl    %ebp,12(%esp)
7295         xorl    %edi,%ebp
7296         rorl    $11,%esi
7297         andl    %ebp,%eax
7298         leal    1508970993(%ebx,%edx,1),%edx
7299         xorl    %ecx,%esi
7300         xorl    %edi,%eax
7301         rorl    $2,%esi
7302         addl    %edx,%eax
7303         addl    24(%esp),%edx
7304         addl    %esi,%eax
7305         movl    %edx,%ecx
7306         movl    28(%esp),%esi
7307         rorl    $14,%edx
7308         movl    (%esp),%edi
7309         xorl    %ecx,%edx
7310         movl    56(%esp),%ebx
7311         xorl    %edi,%esi
7312         rorl    $5,%edx
7313         andl    %ecx,%esi
7314         movl    %ecx,24(%esp)
7315         xorl    %ecx,%edx
7316         addl    4(%esp),%ebx
7317         xorl    %esi,%edi
7318         rorl    $6,%edx
7319         movl    %eax,%ecx
7320         addl    %edi,%ebx
7321         rorl    $9,%ecx
7322         movl    %eax,%esi
7323         movl    12(%esp),%edi
7324         xorl    %eax,%ecx
7325         movl    %eax,8(%esp)
7326         xorl    %edi,%eax
7327         rorl    $11,%ecx
7328         andl    %eax,%ebp
7329         leal    2453635748(%ebx,%edx,1),%edx
7330         xorl    %esi,%ecx
7331         xorl    %edi,%ebp
7332         rorl    $2,%ecx
7333         addl    %edx,%ebp
7334         addl    20(%esp),%edx
7335         addl    %ecx,%ebp
7336         movl    %edx,%esi
7337         movl    24(%esp),%ecx
7338         rorl    $14,%edx
7339         movl    28(%esp),%edi
7340         xorl    %esi,%edx
7341         movl    60(%esp),%ebx
7342         xorl    %edi,%ecx
7343         rorl    $5,%edx
7344         andl    %esi,%ecx
7345         movl    %esi,20(%esp)
7346         xorl    %esi,%edx
7347         addl    (%esp),%ebx
7348         xorl    %ecx,%edi
7349         rorl    $6,%edx
7350         movl    %ebp,%esi
7351         addl    %edi,%ebx
7352         rorl    $9,%esi
7353         movl    %ebp,%ecx
7354         movl    8(%esp),%edi
7355         xorl    %ebp,%esi
7356         movl    %ebp,4(%esp)
7357         xorl    %edi,%ebp
7358         rorl    $11,%esi
7359         andl    %ebp,%eax
7360         leal    2870763221(%ebx,%edx,1),%edx
7361         xorl    %ecx,%esi
7362         xorl    %edi,%eax
7363         rorl    $2,%esi
7364         addl    %edx,%eax
7365         addl    16(%esp),%edx
7366         addl    %esi,%eax
7367         movl    %edx,%ecx
7368         movl    20(%esp),%esi
7369         rorl    $14,%edx
7370         movl    24(%esp),%edi
7371         xorl    %ecx,%edx
7372         movl    64(%esp),%ebx
7373         xorl    %edi,%esi
7374         rorl    $5,%edx
7375         andl    %ecx,%esi
7376         movl    %ecx,16(%esp)
7377         xorl    %ecx,%edx
7378         addl    28(%esp),%ebx
7379         xorl    %esi,%edi
7380         rorl    $6,%edx
7381         movl    %eax,%ecx
7382         addl    %edi,%ebx
7383         rorl    $9,%ecx
7384         movl    %eax,%esi
7385         movl    4(%esp),%edi
7386         xorl    %eax,%ecx
7387         movl    %eax,(%esp)
7388         xorl    %edi,%eax
7389         rorl    $11,%ecx
7390         andl    %eax,%ebp
7391         leal    3624381080(%ebx,%edx,1),%edx
7392         xorl    %esi,%ecx
7393         xorl    %edi,%ebp
7394         rorl    $2,%ecx
7395         addl    %edx,%ebp
7396         addl    12(%esp),%edx
7397         addl    %ecx,%ebp
7398         movl    %edx,%esi
7399         movl    16(%esp),%ecx
7400         rorl    $14,%edx
7401         movl    20(%esp),%edi
7402         xorl    %esi,%edx
7403         movl    68(%esp),%ebx
7404         xorl    %edi,%ecx
7405         rorl    $5,%edx
7406         andl    %esi,%ecx
7407         movl    %esi,12(%esp)
7408         xorl    %esi,%edx
7409         addl    24(%esp),%ebx
7410         xorl    %ecx,%edi
7411         rorl    $6,%edx
7412         movl    %ebp,%esi
7413         addl    %edi,%ebx
7414         rorl    $9,%esi
7415         movl    %ebp,%ecx
7416         movl    (%esp),%edi
7417         xorl    %ebp,%esi
7418         movl    %ebp,28(%esp)
7419         xorl    %edi,%ebp
7420         rorl    $11,%esi
7421         andl    %ebp,%eax
7422         leal    310598401(%ebx,%edx,1),%edx
7423         xorl    %ecx,%esi
7424         xorl    %edi,%eax
7425         rorl    $2,%esi
7426         addl    %edx,%eax
7427         addl    8(%esp),%edx
7428         addl    %esi,%eax
7429         movl    %edx,%ecx
7430         movl    12(%esp),%esi
7431         rorl    $14,%edx
7432         movl    16(%esp),%edi
7433         xorl    %ecx,%edx
7434         movl    72(%esp),%ebx
7435         xorl    %edi,%esi
7436         rorl    $5,%edx
7437         andl    %ecx,%esi
7438         movl    %ecx,8(%esp)
7439         xorl    %ecx,%edx
7440         addl    20(%esp),%ebx
7441         xorl    %esi,%edi
7442         rorl    $6,%edx
7443         movl    %eax,%ecx
7444         addl    %edi,%ebx
7445         rorl    $9,%ecx
7446         movl    %eax,%esi
7447         movl    28(%esp),%edi
7448         xorl    %eax,%ecx
7449         movl    %eax,24(%esp)
7450         xorl    %edi,%eax
7451         rorl    $11,%ecx
7452         andl    %eax,%ebp
7453         leal    607225278(%ebx,%edx,1),%edx
7454         xorl    %esi,%ecx
7455         xorl    %edi,%ebp
7456         rorl    $2,%ecx
7457         addl    %edx,%ebp
7458         addl    4(%esp),%edx
7459         addl    %ecx,%ebp
7460         movl    %edx,%esi
7461         movl    8(%esp),%ecx
7462         rorl    $14,%edx
7463         movl    12(%esp),%edi
7464         xorl    %esi,%edx
7465         movl    76(%esp),%ebx
7466         xorl    %edi,%ecx
7467         rorl    $5,%edx
7468         andl    %esi,%ecx
7469         movl    %esi,4(%esp)
7470         xorl    %esi,%edx
7471         addl    16(%esp),%ebx
7472         xorl    %ecx,%edi
7473         rorl    $6,%edx
7474         movl    %ebp,%esi
7475         addl    %edi,%ebx
7476         rorl    $9,%esi
7477         movl    %ebp,%ecx
7478         movl    24(%esp),%edi
7479         xorl    %ebp,%esi
7480         movl    %ebp,20(%esp)
7481         xorl    %edi,%ebp
7482         rorl    $11,%esi
7483         andl    %ebp,%eax
7484         leal    1426881987(%ebx,%edx,1),%edx
7485         xorl    %ecx,%esi
7486         xorl    %edi,%eax
7487         rorl    $2,%esi
7488         addl    %edx,%eax
7489         addl    (%esp),%edx
7490         addl    %esi,%eax
7491         movl    %edx,%ecx
7492         movl    4(%esp),%esi
7493         rorl    $14,%edx
7494         movl    8(%esp),%edi
7495         xorl    %ecx,%edx
7496         movl    80(%esp),%ebx
7497         xorl    %edi,%esi
7498         rorl    $5,%edx
7499         andl    %ecx,%esi
7500         movl    %ecx,(%esp)
7501         xorl    %ecx,%edx
7502         addl    12(%esp),%ebx
7503         xorl    %esi,%edi
7504         rorl    $6,%edx
7505         movl    %eax,%ecx
7506         addl    %edi,%ebx
7507         rorl    $9,%ecx
7508         movl    %eax,%esi
7509         movl    20(%esp),%edi
7510         xorl    %eax,%ecx
7511         movl    %eax,16(%esp)
7512         xorl    %edi,%eax
7513         rorl    $11,%ecx
7514         andl    %eax,%ebp
7515         leal    1925078388(%ebx,%edx,1),%edx
7516         xorl    %esi,%ecx
7517         xorl    %edi,%ebp
7518         rorl    $2,%ecx
7519         addl    %edx,%ebp
7520         addl    28(%esp),%edx
7521         addl    %ecx,%ebp
7522         movl    %edx,%esi
7523         movl    (%esp),%ecx
7524         rorl    $14,%edx
7525         movl    4(%esp),%edi
7526         xorl    %esi,%edx
7527         movl    84(%esp),%ebx
7528         xorl    %edi,%ecx
7529         rorl    $5,%edx
7530         andl    %esi,%ecx
7531         movl    %esi,28(%esp)
7532         xorl    %esi,%edx
7533         addl    8(%esp),%ebx
7534         xorl    %ecx,%edi
7535         rorl    $6,%edx
7536         movl    %ebp,%esi
7537         addl    %edi,%ebx
7538         rorl    $9,%esi
7539         movl    %ebp,%ecx
7540         movl    16(%esp),%edi
7541         xorl    %ebp,%esi
7542         movl    %ebp,12(%esp)
7543         xorl    %edi,%ebp
7544         rorl    $11,%esi
7545         andl    %ebp,%eax
7546         leal    2162078206(%ebx,%edx,1),%edx
7547         xorl    %ecx,%esi
7548         xorl    %edi,%eax
7549         rorl    $2,%esi
7550         addl    %edx,%eax
7551         addl    24(%esp),%edx
7552         addl    %esi,%eax
7553         movl    %edx,%ecx
7554         movl    28(%esp),%esi
7555         rorl    $14,%edx
7556         movl    (%esp),%edi
7557         xorl    %ecx,%edx
7558         movl    88(%esp),%ebx
7559         xorl    %edi,%esi
7560         rorl    $5,%edx
7561         andl    %ecx,%esi
7562         movl    %ecx,24(%esp)
7563         xorl    %ecx,%edx
7564         addl    4(%esp),%ebx
7565         xorl    %esi,%edi
7566         rorl    $6,%edx
7567         movl    %eax,%ecx
7568         addl    %edi,%ebx
7569         rorl    $9,%ecx
7570         movl    %eax,%esi
7571         movl    12(%esp),%edi
7572         xorl    %eax,%ecx
7573         movl    %eax,8(%esp)
7574         xorl    %edi,%eax
7575         rorl    $11,%ecx
7576         andl    %eax,%ebp
7577         leal    2614888103(%ebx,%edx,1),%edx
7578         xorl    %esi,%ecx
7579         xorl    %edi,%ebp
7580         rorl    $2,%ecx
7581         addl    %edx,%ebp
7582         addl    20(%esp),%edx
7583         addl    %ecx,%ebp
7584         movl    %edx,%esi
7585         movl    24(%esp),%ecx
7586         rorl    $14,%edx
7587         movl    28(%esp),%edi
7588         xorl    %esi,%edx
7589         movl    92(%esp),%ebx
7590         xorl    %edi,%ecx
7591         rorl    $5,%edx
7592         andl    %esi,%ecx
7593         movl    %esi,20(%esp)
7594         xorl    %esi,%edx
7595         addl    (%esp),%ebx
7596         xorl    %ecx,%edi
7597         rorl    $6,%edx
7598         movl    %ebp,%esi
7599         addl    %edi,%ebx
7600         rorl    $9,%esi
7601         movl    %ebp,%ecx
7602         movl    8(%esp),%edi
7603         xorl    %ebp,%esi
7604         movl    %ebp,4(%esp)
7605         xorl    %edi,%ebp
7606         rorl    $11,%esi
7607         andl    %ebp,%eax
7608         leal    3248222580(%ebx,%edx,1),%edx
7609         xorl    %ecx,%esi
7610         xorl    %edi,%eax
7611         movl    36(%esp),%ecx
7612         rorl    $2,%esi
7613         addl    %edx,%eax
7614         addl    16(%esp),%edx
7615         addl    %esi,%eax
7616         movl    88(%esp),%esi
7617         movl    %ecx,%ebx
7618         rorl    $11,%ecx
7619         movl    %esi,%edi
7620         rorl    $2,%esi
7621         xorl    %ebx,%ecx
7622         shrl    $3,%ebx
7623         rorl    $7,%ecx
7624         xorl    %edi,%esi
7625         xorl    %ecx,%ebx
7626         rorl    $17,%esi
7627         addl    32(%esp),%ebx
7628         shrl    $10,%edi
7629         addl    68(%esp),%ebx
7630         movl    %edx,%ecx
7631         xorl    %esi,%edi
7632         movl    20(%esp),%esi
7633         rorl    $14,%edx
7634         addl    %edi,%ebx
7635         movl    24(%esp),%edi
7636         xorl    %ecx,%edx
7637         movl    %ebx,32(%esp)
7638         xorl    %edi,%esi
7639         rorl    $5,%edx
7640         andl    %ecx,%esi
7641         movl    %ecx,16(%esp)
7642         xorl    %ecx,%edx
7643         addl    28(%esp),%ebx
7644         xorl    %esi,%edi
7645         rorl    $6,%edx
7646         movl    %eax,%ecx
7647         addl    %edi,%ebx
7648         rorl    $9,%ecx
7649         movl    %eax,%esi
7650         movl    4(%esp),%edi
7651         xorl    %eax,%ecx
7652         movl    %eax,(%esp)
7653         xorl    %edi,%eax
7654         rorl    $11,%ecx
7655         andl    %eax,%ebp
7656         leal    3835390401(%ebx,%edx,1),%edx
7657         xorl    %esi,%ecx
7658         xorl    %edi,%ebp
7659         movl    40(%esp),%esi
7660         rorl    $2,%ecx
7661         addl    %edx,%ebp
7662         addl    12(%esp),%edx
7663         addl    %ecx,%ebp
7664         movl    92(%esp),%ecx
7665         movl    %esi,%ebx
7666         rorl    $11,%esi
7667         movl    %ecx,%edi
7668         rorl    $2,%ecx
7669         xorl    %ebx,%esi
7670         shrl    $3,%ebx
7671         rorl    $7,%esi
7672         xorl    %edi,%ecx
7673         xorl    %esi,%ebx
7674         rorl    $17,%ecx
7675         addl    36(%esp),%ebx
7676         shrl    $10,%edi
7677         addl    72(%esp),%ebx
7678         movl    %edx,%esi
7679         xorl    %ecx,%edi
7680         movl    16(%esp),%ecx
7681         rorl    $14,%edx
7682         addl    %edi,%ebx
7683         movl    20(%esp),%edi
7684         xorl    %esi,%edx
7685         movl    %ebx,36(%esp)
7686         xorl    %edi,%ecx
7687         rorl    $5,%edx
7688         andl    %esi,%ecx
7689         movl    %esi,12(%esp)
7690         xorl    %esi,%edx
7691         addl    24(%esp),%ebx
7692         xorl    %ecx,%edi
7693         rorl    $6,%edx
7694         movl    %ebp,%esi
7695         addl    %edi,%ebx
7696         rorl    $9,%esi
7697         movl    %ebp,%ecx
7698         movl    (%esp),%edi
7699         xorl    %ebp,%esi
7700         movl    %ebp,28(%esp)
7701         xorl    %edi,%ebp
7702         rorl    $11,%esi
7703         andl    %ebp,%eax
7704         leal    4022224774(%ebx,%edx,1),%edx
7705         xorl    %ecx,%esi
7706         xorl    %edi,%eax
7707         movl    44(%esp),%ecx
7708         rorl    $2,%esi
7709         addl    %edx,%eax
7710         addl    8(%esp),%edx
7711         addl    %esi,%eax
7712         movl    32(%esp),%esi
7713         movl    %ecx,%ebx
7714         rorl    $11,%ecx
7715         movl    %esi,%edi
7716         rorl    $2,%esi
7717         xorl    %ebx,%ecx
7718         shrl    $3,%ebx
7719         rorl    $7,%ecx
7720         xorl    %edi,%esi
7721         xorl    %ecx,%ebx
7722         rorl    $17,%esi
7723         addl    40(%esp),%ebx
7724         shrl    $10,%edi
7725         addl    76(%esp),%ebx
7726         movl    %edx,%ecx
7727         xorl    %esi,%edi
7728         movl    12(%esp),%esi
7729         rorl    $14,%edx
7730         addl    %edi,%ebx
7731         movl    16(%esp),%edi
7732         xorl    %ecx,%edx
7733         movl    %ebx,40(%esp)
7734         xorl    %edi,%esi
7735         rorl    $5,%edx
7736         andl    %ecx,%esi
7737         movl    %ecx,8(%esp)
7738         xorl    %ecx,%edx
7739         addl    20(%esp),%ebx
7740         xorl    %esi,%edi
7741         rorl    $6,%edx
7742         movl    %eax,%ecx
7743         addl    %edi,%ebx
7744         rorl    $9,%ecx
7745         movl    %eax,%esi
7746         movl    28(%esp),%edi
7747         xorl    %eax,%ecx
7748         movl    %eax,24(%esp)
7749         xorl    %edi,%eax
7750         rorl    $11,%ecx
7751         andl    %eax,%ebp
7752         leal    264347078(%ebx,%edx,1),%edx
7753         xorl    %esi,%ecx
7754         xorl    %edi,%ebp
7755         movl    48(%esp),%esi
7756         rorl    $2,%ecx
7757         addl    %edx,%ebp
7758         addl    4(%esp),%edx
7759         addl    %ecx,%ebp
7760         movl    36(%esp),%ecx
7761         movl    %esi,%ebx
7762         rorl    $11,%esi
7763         movl    %ecx,%edi
7764         rorl    $2,%ecx
7765         xorl    %ebx,%esi
7766         shrl    $3,%ebx
7767         rorl    $7,%esi
7768         xorl    %edi,%ecx
7769         xorl    %esi,%ebx
7770         rorl    $17,%ecx
7771         addl    44(%esp),%ebx
7772         shrl    $10,%edi
7773         addl    80(%esp),%ebx
7774         movl    %edx,%esi
7775         xorl    %ecx,%edi
7776         movl    8(%esp),%ecx
7777         rorl    $14,%edx
7778         addl    %edi,%ebx
7779         movl    12(%esp),%edi
7780         xorl    %esi,%edx
7781         movl    %ebx,44(%esp)
7782         xorl    %edi,%ecx
7783         rorl    $5,%edx
7784         andl    %esi,%ecx
7785         movl    %esi,4(%esp)
7786         xorl    %esi,%edx
7787         addl    16(%esp),%ebx
7788         xorl    %ecx,%edi
7789         rorl    $6,%edx
7790         movl    %ebp,%esi
7791         addl    %edi,%ebx
7792         rorl    $9,%esi
7793         movl    %ebp,%ecx
7794         movl    24(%esp),%edi
7795         xorl    %ebp,%esi
7796         movl    %ebp,20(%esp)
7797         xorl    %edi,%ebp
7798         rorl    $11,%esi
7799         andl    %ebp,%eax
7800         leal    604807628(%ebx,%edx,1),%edx
7801         xorl    %ecx,%esi
7802         xorl    %edi,%eax
7803         movl    52(%esp),%ecx
7804         rorl    $2,%esi
7805         addl    %edx,%eax
7806         addl    (%esp),%edx
7807         addl    %esi,%eax
7808         movl    40(%esp),%esi
7809         movl    %ecx,%ebx
7810         rorl    $11,%ecx
7811         movl    %esi,%edi
7812         rorl    $2,%esi
7813         xorl    %ebx,%ecx
7814         shrl    $3,%ebx
7815         rorl    $7,%ecx
7816         xorl    %edi,%esi
7817         xorl    %ecx,%ebx
7818         rorl    $17,%esi
7819         addl    48(%esp),%ebx
7820         shrl    $10,%edi
7821         addl    84(%esp),%ebx
7822         movl    %edx,%ecx
7823         xorl    %esi,%edi
7824         movl    4(%esp),%esi
7825         rorl    $14,%edx
7826         addl    %edi,%ebx
7827         movl    8(%esp),%edi
7828         xorl    %ecx,%edx
7829         movl    %ebx,48(%esp)
7830         xorl    %edi,%esi
7831         rorl    $5,%edx
7832         andl    %ecx,%esi
7833         movl    %ecx,(%esp)
7834         xorl    %ecx,%edx
7835         addl    12(%esp),%ebx
7836         xorl    %esi,%edi
7837         rorl    $6,%edx
7838         movl    %eax,%ecx
7839         addl    %edi,%ebx
7840         rorl    $9,%ecx
7841         movl    %eax,%esi
7842         movl    20(%esp),%edi
7843         xorl    %eax,%ecx
7844         movl    %eax,16(%esp)
7845         xorl    %edi,%eax
7846         rorl    $11,%ecx
7847         andl    %eax,%ebp
7848         leal    770255983(%ebx,%edx,1),%edx
7849         xorl    %esi,%ecx
7850         xorl    %edi,%ebp
7851         movl    56(%esp),%esi
7852         rorl    $2,%ecx
7853         addl    %edx,%ebp
7854         addl    28(%esp),%edx
7855         addl    %ecx,%ebp
7856         movl    44(%esp),%ecx
7857         movl    %esi,%ebx
7858         rorl    $11,%esi
7859         movl    %ecx,%edi
7860         rorl    $2,%ecx
7861         xorl    %ebx,%esi
7862         shrl    $3,%ebx
7863         rorl    $7,%esi
7864         xorl    %edi,%ecx
7865         xorl    %esi,%ebx
7866         rorl    $17,%ecx
7867         addl    52(%esp),%ebx
7868         shrl    $10,%edi
7869         addl    88(%esp),%ebx
7870         movl    %edx,%esi
7871         xorl    %ecx,%edi
7872         movl    (%esp),%ecx
7873         rorl    $14,%edx
7874         addl    %edi,%ebx
7875         movl    4(%esp),%edi
7876         xorl    %esi,%edx
7877         movl    %ebx,52(%esp)
7878         xorl    %edi,%ecx
7879         rorl    $5,%edx
7880         andl    %esi,%ecx
7881         movl    %esi,28(%esp)
7882         xorl    %esi,%edx
7883         addl    8(%esp),%ebx
7884         xorl    %ecx,%edi
7885         rorl    $6,%edx
7886         movl    %ebp,%esi
7887         addl    %edi,%ebx
7888         rorl    $9,%esi
7889         movl    %ebp,%ecx
7890         movl    16(%esp),%edi
7891         xorl    %ebp,%esi
7892         movl    %ebp,12(%esp)
7893         xorl    %edi,%ebp
7894         rorl    $11,%esi
7895         andl    %ebp,%eax
7896         leal    1249150122(%ebx,%edx,1),%edx
7897         xorl    %ecx,%esi
7898         xorl    %edi,%eax
7899         movl    60(%esp),%ecx
7900         rorl    $2,%esi
7901         addl    %edx,%eax
7902         addl    24(%esp),%edx
7903         addl    %esi,%eax
7904         movl    48(%esp),%esi
7905         movl    %ecx,%ebx
7906         rorl    $11,%ecx
7907         movl    %esi,%edi
7908         rorl    $2,%esi
7909         xorl    %ebx,%ecx
7910         shrl    $3,%ebx
7911         rorl    $7,%ecx
7912         xorl    %edi,%esi
7913         xorl    %ecx,%ebx
7914         rorl    $17,%esi
7915         addl    56(%esp),%ebx
7916         shrl    $10,%edi
7917         addl    92(%esp),%ebx
7918         movl    %edx,%ecx
7919         xorl    %esi,%edi
7920         movl    28(%esp),%esi
7921         rorl    $14,%edx
7922         addl    %edi,%ebx
7923         movl    (%esp),%edi
7924         xorl    %ecx,%edx
7925         movl    %ebx,56(%esp)
7926         xorl    %edi,%esi
7927         rorl    $5,%edx
7928         andl    %ecx,%esi
7929         movl    %ecx,24(%esp)
7930         xorl    %ecx,%edx
7931         addl    4(%esp),%ebx
7932         xorl    %esi,%edi
7933         rorl    $6,%edx
7934         movl    %eax,%ecx
7935         addl    %edi,%ebx
7936         rorl    $9,%ecx
7937         movl    %eax,%esi
7938         movl    12(%esp),%edi
7939         xorl    %eax,%ecx
7940         movl    %eax,8(%esp)
7941         xorl    %edi,%eax
7942         rorl    $11,%ecx
7943         andl    %eax,%ebp
7944         leal    1555081692(%ebx,%edx,1),%edx
7945         xorl    %esi,%ecx
7946         xorl    %edi,%ebp
7947         movl    64(%esp),%esi
7948         rorl    $2,%ecx
7949         addl    %edx,%ebp
7950         addl    20(%esp),%edx
7951         addl    %ecx,%ebp
7952         movl    52(%esp),%ecx
7953         movl    %esi,%ebx
7954         rorl    $11,%esi
7955         movl    %ecx,%edi
7956         rorl    $2,%ecx
7957         xorl    %ebx,%esi
7958         shrl    $3,%ebx
7959         rorl    $7,%esi
7960         xorl    %edi,%ecx
7961         xorl    %esi,%ebx
7962         rorl    $17,%ecx
7963         addl    60(%esp),%ebx
7964         shrl    $10,%edi
7965         addl    32(%esp),%ebx
7966         movl    %edx,%esi
7967         xorl    %ecx,%edi
7968         movl    24(%esp),%ecx
7969         rorl    $14,%edx
7970         addl    %edi,%ebx
7971         movl    28(%esp),%edi
7972         xorl    %esi,%edx
7973         movl    %ebx,60(%esp)
7974         xorl    %edi,%ecx
7975         rorl    $5,%edx
7976         andl    %esi,%ecx
7977         movl    %esi,20(%esp)
7978         xorl    %esi,%edx
7979         addl    (%esp),%ebx
7980         xorl    %ecx,%edi
7981         rorl    $6,%edx
7982         movl    %ebp,%esi
7983         addl    %edi,%ebx
7984         rorl    $9,%esi
7985         movl    %ebp,%ecx
7986         movl    8(%esp),%edi
7987         xorl    %ebp,%esi
7988         movl    %ebp,4(%esp)
7989         xorl    %edi,%ebp
7990         rorl    $11,%esi
7991         andl    %ebp,%eax
7992         leal    1996064986(%ebx,%edx,1),%edx
7993         xorl    %ecx,%esi
7994         xorl    %edi,%eax
7995         movl    68(%esp),%ecx
7996         rorl    $2,%esi
7997         addl    %edx,%eax
7998         addl    16(%esp),%edx
7999         addl    %esi,%eax
8000         movl    56(%esp),%esi
8001         movl    %ecx,%ebx
8002         rorl    $11,%ecx
8003         movl    %esi,%edi
8004         rorl    $2,%esi
8005         xorl    %ebx,%ecx
8006         shrl    $3,%ebx
8007         rorl    $7,%ecx
8008         xorl    %edi,%esi
8009         xorl    %ecx,%ebx
8010         rorl    $17,%esi
8011         addl    64(%esp),%ebx
8012         shrl    $10,%edi
8013         addl    36(%esp),%ebx
8014         movl    %edx,%ecx
8015         xorl    %esi,%edi
8016         movl    20(%esp),%esi
8017         rorl    $14,%edx
8018         addl    %edi,%ebx
8019         movl    24(%esp),%edi
8020         xorl    %ecx,%edx
8021         movl    %ebx,64(%esp)
8022         xorl    %edi,%esi
8023         rorl    $5,%edx
8024         andl    %ecx,%esi
8025         movl    %ecx,16(%esp)
8026         xorl    %ecx,%edx
8027         addl    28(%esp),%ebx
8028         xorl    %esi,%edi
8029         rorl    $6,%edx
8030         movl    %eax,%ecx
8031         addl    %edi,%ebx
8032         rorl    $9,%ecx
8033         movl    %eax,%esi
8034         movl    4(%esp),%edi
8035         xorl    %eax,%ecx
8036         movl    %eax,(%esp)
8037         xorl    %edi,%eax
8038         rorl    $11,%ecx
8039         andl    %eax,%ebp
8040         leal    2554220882(%ebx,%edx,1),%edx
8041         xorl    %esi,%ecx
8042         xorl    %edi,%ebp
8043         movl    72(%esp),%esi
8044         rorl    $2,%ecx
8045         addl    %edx,%ebp
8046         addl    12(%esp),%edx
8047         addl    %ecx,%ebp
8048         movl    60(%esp),%ecx
8049         movl    %esi,%ebx
8050         rorl    $11,%esi
8051         movl    %ecx,%edi
8052         rorl    $2,%ecx
8053         xorl    %ebx,%esi
8054         shrl    $3,%ebx
8055         rorl    $7,%esi
8056         xorl    %edi,%ecx
8057         xorl    %esi,%ebx
8058         rorl    $17,%ecx
8059         addl    68(%esp),%ebx
8060         shrl    $10,%edi
8061         addl    40(%esp),%ebx
8062         movl    %edx,%esi
8063         xorl    %ecx,%edi
8064         movl    16(%esp),%ecx
8065         rorl    $14,%edx
8066         addl    %edi,%ebx
8067         movl    20(%esp),%edi
8068         xorl    %esi,%edx
8069         movl    %ebx,68(%esp)
8070         xorl    %edi,%ecx
8071         rorl    $5,%edx
8072         andl    %esi,%ecx
8073         movl    %esi,12(%esp)
8074         xorl    %esi,%edx
8075         addl    24(%esp),%ebx
8076         xorl    %ecx,%edi
8077         rorl    $6,%edx
8078         movl    %ebp,%esi
8079         addl    %edi,%ebx
8080         rorl    $9,%esi
8081         movl    %ebp,%ecx
8082         movl    (%esp),%edi
8083         xorl    %ebp,%esi
8084         movl    %ebp,28(%esp)
8085         xorl    %edi,%ebp
8086         rorl    $11,%esi
8087         andl    %ebp,%eax
8088         leal    2821834349(%ebx,%edx,1),%edx
8089         xorl    %ecx,%esi
8090         xorl    %edi,%eax
8091         movl    76(%esp),%ecx
8092         rorl    $2,%esi
8093         addl    %edx,%eax
8094         addl    8(%esp),%edx
8095         addl    %esi,%eax
8096         movl    64(%esp),%esi
8097         movl    %ecx,%ebx
8098         rorl    $11,%ecx
8099         movl    %esi,%edi
8100         rorl    $2,%esi
8101         xorl    %ebx,%ecx
8102         shrl    $3,%ebx
8103         rorl    $7,%ecx
8104         xorl    %edi,%esi
8105         xorl    %ecx,%ebx
8106         rorl    $17,%esi
8107         addl    72(%esp),%ebx
8108         shrl    $10,%edi
8109         addl    44(%esp),%ebx
8110         movl    %edx,%ecx
8111         xorl    %esi,%edi
8112         movl    12(%esp),%esi
8113         rorl    $14,%edx
8114         addl    %edi,%ebx
8115         movl    16(%esp),%edi
8116         xorl    %ecx,%edx
8117         movl    %ebx,72(%esp)
8118         xorl    %edi,%esi
8119         rorl    $5,%edx
8120         andl    %ecx,%esi
8121         movl    %ecx,8(%esp)
8122         xorl    %ecx,%edx
8123         addl    20(%esp),%ebx
8124         xorl    %esi,%edi
8125         rorl    $6,%edx
8126         movl    %eax,%ecx
8127         addl    %edi,%ebx
8128         rorl    $9,%ecx
8129         movl    %eax,%esi
8130         movl    28(%esp),%edi
8131         xorl    %eax,%ecx
8132         movl    %eax,24(%esp)
8133         xorl    %edi,%eax
8134         rorl    $11,%ecx
8135         andl    %eax,%ebp
8136         leal    2952996808(%ebx,%edx,1),%edx
8137         xorl    %esi,%ecx
8138         xorl    %edi,%ebp
8139         movl    80(%esp),%esi
8140         rorl    $2,%ecx
8141         addl    %edx,%ebp
8142         addl    4(%esp),%edx
8143         addl    %ecx,%ebp
8144         movl    68(%esp),%ecx
8145         movl    %esi,%ebx
8146         rorl    $11,%esi
8147         movl    %ecx,%edi
8148         rorl    $2,%ecx
8149         xorl    %ebx,%esi
8150         shrl    $3,%ebx
8151         rorl    $7,%esi
8152         xorl    %edi,%ecx
8153         xorl    %esi,%ebx
8154         rorl    $17,%ecx
8155         addl    76(%esp),%ebx
8156         shrl    $10,%edi
8157         addl    48(%esp),%ebx
8158         movl    %edx,%esi
8159         xorl    %ecx,%edi
8160         movl    8(%esp),%ecx
8161         rorl    $14,%edx
8162         addl    %edi,%ebx
8163         movl    12(%esp),%edi
8164         xorl    %esi,%edx
8165         movl    %ebx,76(%esp)
8166         xorl    %edi,%ecx
8167         rorl    $5,%edx
8168         andl    %esi,%ecx
8169         movl    %esi,4(%esp)
8170         xorl    %esi,%edx
8171         addl    16(%esp),%ebx
8172         xorl    %ecx,%edi
8173         rorl    $6,%edx
8174         movl    %ebp,%esi
8175         addl    %edi,%ebx
8176         rorl    $9,%esi
8177         movl    %ebp,%ecx
8178         movl    24(%esp),%edi
8179         xorl    %ebp,%esi
8180         movl    %ebp,20(%esp)
8181         xorl    %edi,%ebp
8182         rorl    $11,%esi
8183         andl    %ebp,%eax
8184         leal    3210313671(%ebx,%edx,1),%edx
8185         xorl    %ecx,%esi
8186         xorl    %edi,%eax
8187         movl    84(%esp),%ecx
8188         rorl    $2,%esi
8189         addl    %edx,%eax
8190         addl    (%esp),%edx
8191         addl    %esi,%eax
8192         movl    72(%esp),%esi
8193         movl    %ecx,%ebx
8194         rorl    $11,%ecx
8195         movl    %esi,%edi
8196         rorl    $2,%esi
8197         xorl    %ebx,%ecx
8198         shrl    $3,%ebx
8199         rorl    $7,%ecx
8200         xorl    %edi,%esi
8201         xorl    %ecx,%ebx
8202         rorl    $17,%esi
8203         addl    80(%esp),%ebx
8204         shrl    $10,%edi
8205         addl    52(%esp),%ebx
8206         movl    %edx,%ecx
8207         xorl    %esi,%edi
8208         movl    4(%esp),%esi
8209         rorl    $14,%edx
8210         addl    %edi,%ebx
8211         movl    8(%esp),%edi
8212         xorl    %ecx,%edx
8213         movl    %ebx,80(%esp)
8214         xorl    %edi,%esi
8215         rorl    $5,%edx
8216         andl    %ecx,%esi
8217         movl    %ecx,(%esp)
8218         xorl    %ecx,%edx
8219         addl    12(%esp),%ebx
8220         xorl    %esi,%edi
8221         rorl    $6,%edx
8222         movl    %eax,%ecx
8223         addl    %edi,%ebx
8224         rorl    $9,%ecx
8225         movl    %eax,%esi
8226         movl    20(%esp),%edi
8227         xorl    %eax,%ecx
8228         movl    %eax,16(%esp)
8229         xorl    %edi,%eax
8230         rorl    $11,%ecx
8231         andl    %eax,%ebp
8232         leal    3336571891(%ebx,%edx,1),%edx
8233         xorl    %esi,%ecx
8234         xorl    %edi,%ebp
8235         movl    88(%esp),%esi
8236         rorl    $2,%ecx
8237         addl    %edx,%ebp
8238         addl    28(%esp),%edx
8239         addl    %ecx,%ebp
8240         movl    76(%esp),%ecx
8241         movl    %esi,%ebx
8242         rorl    $11,%esi
8243         movl    %ecx,%edi
8244         rorl    $2,%ecx
8245         xorl    %ebx,%esi
8246         shrl    $3,%ebx
8247         rorl    $7,%esi
8248         xorl    %edi,%ecx
8249         xorl    %esi,%ebx
8250         rorl    $17,%ecx
8251         addl    84(%esp),%ebx
8252         shrl    $10,%edi
8253         addl    56(%esp),%ebx
8254         movl    %edx,%esi
8255         xorl    %ecx,%edi
8256         movl    (%esp),%ecx
8257         rorl    $14,%edx
8258         addl    %edi,%ebx
8259         movl    4(%esp),%edi
8260         xorl    %esi,%edx
8261         movl    %ebx,84(%esp)
8262         xorl    %edi,%ecx
8263         rorl    $5,%edx
8264         andl    %esi,%ecx
8265         movl    %esi,28(%esp)
8266         xorl    %esi,%edx
8267         addl    8(%esp),%ebx
8268         xorl    %ecx,%edi
8269         rorl    $6,%edx
8270         movl    %ebp,%esi
8271         addl    %edi,%ebx
8272         rorl    $9,%esi
8273         movl    %ebp,%ecx
8274         movl    16(%esp),%edi
8275         xorl    %ebp,%esi
8276         movl    %ebp,12(%esp)
8277         xorl    %edi,%ebp
8278         rorl    $11,%esi
8279         andl    %ebp,%eax
8280         leal    3584528711(%ebx,%edx,1),%edx
8281         xorl    %ecx,%esi
8282         xorl    %edi,%eax
8283         movl    92(%esp),%ecx
8284         rorl    $2,%esi
8285         addl    %edx,%eax
8286         addl    24(%esp),%edx
8287         addl    %esi,%eax
8288         movl    80(%esp),%esi
8289         movl    %ecx,%ebx
8290         rorl    $11,%ecx
8291         movl    %esi,%edi
8292         rorl    $2,%esi
8293         xorl    %ebx,%ecx
8294         shrl    $3,%ebx
8295         rorl    $7,%ecx
8296         xorl    %edi,%esi
8297         xorl    %ecx,%ebx
8298         rorl    $17,%esi
8299         addl    88(%esp),%ebx
8300         shrl    $10,%edi
8301         addl    60(%esp),%ebx
8302         movl    %edx,%ecx
8303         xorl    %esi,%edi
8304         movl    28(%esp),%esi
8305         rorl    $14,%edx
8306         addl    %edi,%ebx
8307         movl    (%esp),%edi
8308         xorl    %ecx,%edx
8309         movl    %ebx,88(%esp)
8310         xorl    %edi,%esi
8311         rorl    $5,%edx
8312         andl    %ecx,%esi
8313         movl    %ecx,24(%esp)
8314         xorl    %ecx,%edx
8315         addl    4(%esp),%ebx
8316         xorl    %esi,%edi
8317         rorl    $6,%edx
8318         movl    %eax,%ecx
8319         addl    %edi,%ebx
8320         rorl    $9,%ecx
8321         movl    %eax,%esi
8322         movl    12(%esp),%edi
8323         xorl    %eax,%ecx
8324         movl    %eax,8(%esp)
8325         xorl    %edi,%eax
8326         rorl    $11,%ecx
8327         andl    %eax,%ebp
8328         leal    113926993(%ebx,%edx,1),%edx
8329         xorl    %esi,%ecx
8330         xorl    %edi,%ebp
8331         movl    32(%esp),%esi
8332         rorl    $2,%ecx
8333         addl    %edx,%ebp
8334         addl    20(%esp),%edx
8335         addl    %ecx,%ebp
8336         movl    84(%esp),%ecx
8337         movl    %esi,%ebx
8338         rorl    $11,%esi
8339         movl    %ecx,%edi
8340         rorl    $2,%ecx
8341         xorl    %ebx,%esi
8342         shrl    $3,%ebx
8343         rorl    $7,%esi
8344         xorl    %edi,%ecx
8345         xorl    %esi,%ebx
8346         rorl    $17,%ecx
8347         addl    92(%esp),%ebx
8348         shrl    $10,%edi
8349         addl    64(%esp),%ebx
8350         movl    %edx,%esi
8351         xorl    %ecx,%edi
8352         movl    24(%esp),%ecx
8353         rorl    $14,%edx
8354         addl    %edi,%ebx
8355         movl    28(%esp),%edi
8356         xorl    %esi,%edx
8357         movl    %ebx,92(%esp)
8358         xorl    %edi,%ecx
8359         rorl    $5,%edx
8360         andl    %esi,%ecx
8361         movl    %esi,20(%esp)
8362         xorl    %esi,%edx
8363         addl    (%esp),%ebx
8364         xorl    %ecx,%edi
8365         rorl    $6,%edx
8366         movl    %ebp,%esi
8367         addl    %edi,%ebx
8368         rorl    $9,%esi
8369         movl    %ebp,%ecx
8370         movl    8(%esp),%edi
8371         xorl    %ebp,%esi
8372         movl    %ebp,4(%esp)
8373         xorl    %edi,%ebp
8374         rorl    $11,%esi
8375         andl    %ebp,%eax
8376         leal    338241895(%ebx,%edx,1),%edx
8377         xorl    %ecx,%esi
8378         xorl    %edi,%eax
8379         movl    36(%esp),%ecx
8380         rorl    $2,%esi
8381         addl    %edx,%eax
8382         addl    16(%esp),%edx
8383         addl    %esi,%eax
8384         movl    88(%esp),%esi
8385         movl    %ecx,%ebx
8386         rorl    $11,%ecx
8387         movl    %esi,%edi
8388         rorl    $2,%esi
8389         xorl    %ebx,%ecx
8390         shrl    $3,%ebx
8391         rorl    $7,%ecx
8392         xorl    %edi,%esi
8393         xorl    %ecx,%ebx
8394         rorl    $17,%esi
8395         addl    32(%esp),%ebx
8396         shrl    $10,%edi
8397         addl    68(%esp),%ebx
8398         movl    %edx,%ecx
8399         xorl    %esi,%edi
8400         movl    20(%esp),%esi
8401         rorl    $14,%edx
8402         addl    %edi,%ebx
8403         movl    24(%esp),%edi
8404         xorl    %ecx,%edx
8405         movl    %ebx,32(%esp)
8406         xorl    %edi,%esi
8407         rorl    $5,%edx
8408         andl    %ecx,%esi
8409         movl    %ecx,16(%esp)
8410         xorl    %ecx,%edx
8411         addl    28(%esp),%ebx
8412         xorl    %esi,%edi
8413         rorl    $6,%edx
8414         movl    %eax,%ecx
8415         addl    %edi,%ebx
8416         rorl    $9,%ecx
8417         movl    %eax,%esi
8418         movl    4(%esp),%edi
8419         xorl    %eax,%ecx
8420         movl    %eax,(%esp)
8421         xorl    %edi,%eax
8422         rorl    $11,%ecx
8423         andl    %eax,%ebp
8424         leal    666307205(%ebx,%edx,1),%edx
8425         xorl    %esi,%ecx
8426         xorl    %edi,%ebp
8427         movl    40(%esp),%esi
8428         rorl    $2,%ecx
8429         addl    %edx,%ebp
8430         addl    12(%esp),%edx
8431         addl    %ecx,%ebp
8432         movl    92(%esp),%ecx
8433         movl    %esi,%ebx
8434         rorl    $11,%esi
8435         movl    %ecx,%edi
8436         rorl    $2,%ecx
8437         xorl    %ebx,%esi
8438         shrl    $3,%ebx
8439         rorl    $7,%esi
8440         xorl    %edi,%ecx
8441         xorl    %esi,%ebx
8442         rorl    $17,%ecx
8443         addl    36(%esp),%ebx
8444         shrl    $10,%edi
8445         addl    72(%esp),%ebx
8446         movl    %edx,%esi
8447         xorl    %ecx,%edi
8448         movl    16(%esp),%ecx
8449         rorl    $14,%edx
8450         addl    %edi,%ebx
8451         movl    20(%esp),%edi
8452         xorl    %esi,%edx
8453         movl    %ebx,36(%esp)
8454         xorl    %edi,%ecx
8455         rorl    $5,%edx
8456         andl    %esi,%ecx
8457         movl    %esi,12(%esp)
8458         xorl    %esi,%edx
8459         addl    24(%esp),%ebx
8460         xorl    %ecx,%edi
8461         rorl    $6,%edx
8462         movl    %ebp,%esi
8463         addl    %edi,%ebx
8464         rorl    $9,%esi
8465         movl    %ebp,%ecx
8466         movl    (%esp),%edi
8467         xorl    %ebp,%esi
8468         movl    %ebp,28(%esp)
8469         xorl    %edi,%ebp
8470         rorl    $11,%esi
8471         andl    %ebp,%eax
8472         leal    773529912(%ebx,%edx,1),%edx
8473         xorl    %ecx,%esi
8474         xorl    %edi,%eax
8475         movl    44(%esp),%ecx
8476         rorl    $2,%esi
8477         addl    %edx,%eax
8478         addl    8(%esp),%edx
8479         addl    %esi,%eax
8480         movl    32(%esp),%esi
8481         movl    %ecx,%ebx
8482         rorl    $11,%ecx
8483         movl    %esi,%edi
8484         rorl    $2,%esi
8485         xorl    %ebx,%ecx
8486         shrl    $3,%ebx
8487         rorl    $7,%ecx
8488         xorl    %edi,%esi
8489         xorl    %ecx,%ebx
8490         rorl    $17,%esi
8491         addl    40(%esp),%ebx
8492         shrl    $10,%edi
8493         addl    76(%esp),%ebx
8494         movl    %edx,%ecx
8495         xorl    %esi,%edi
8496         movl    12(%esp),%esi
8497         rorl    $14,%edx
8498         addl    %edi,%ebx
8499         movl    16(%esp),%edi
8500         xorl    %ecx,%edx
8501         movl    %ebx,40(%esp)
8502         xorl    %edi,%esi
8503         rorl    $5,%edx
8504         andl    %ecx,%esi
8505         movl    %ecx,8(%esp)
8506         xorl    %ecx,%edx
8507         addl    20(%esp),%ebx
8508         xorl    %esi,%edi
8509         rorl    $6,%edx
8510         movl    %eax,%ecx
8511         addl    %edi,%ebx
8512         rorl    $9,%ecx
8513         movl    %eax,%esi
8514         movl    28(%esp),%edi
8515         xorl    %eax,%ecx
8516         movl    %eax,24(%esp)
8517         xorl    %edi,%eax
8518         rorl    $11,%ecx
8519         andl    %eax,%ebp
8520         leal    1294757372(%ebx,%edx,1),%edx
8521         xorl    %esi,%ecx
8522         xorl    %edi,%ebp
8523         movl    48(%esp),%esi
8524         rorl    $2,%ecx
8525         addl    %edx,%ebp
8526         addl    4(%esp),%edx
8527         addl    %ecx,%ebp
8528         movl    36(%esp),%ecx
8529         movl    %esi,%ebx
8530         rorl    $11,%esi
8531         movl    %ecx,%edi
8532         rorl    $2,%ecx
8533         xorl    %ebx,%esi
8534         shrl    $3,%ebx
8535         rorl    $7,%esi
8536         xorl    %edi,%ecx
8537         xorl    %esi,%ebx
8538         rorl    $17,%ecx
8539         addl    44(%esp),%ebx
8540         shrl    $10,%edi
8541         addl    80(%esp),%ebx
8542         movl    %edx,%esi
8543         xorl    %ecx,%edi
8544         movl    8(%esp),%ecx
8545         rorl    $14,%edx
8546         addl    %edi,%ebx
8547         movl    12(%esp),%edi
8548         xorl    %esi,%edx
8549         movl    %ebx,44(%esp)
8550         xorl    %edi,%ecx
8551         rorl    $5,%edx
8552         andl    %esi,%ecx
8553         movl    %esi,4(%esp)
8554         xorl    %esi,%edx
8555         addl    16(%esp),%ebx
8556         xorl    %ecx,%edi
8557         rorl    $6,%edx
8558         movl    %ebp,%esi
8559         addl    %edi,%ebx
8560         rorl    $9,%esi
8561         movl    %ebp,%ecx
8562         movl    24(%esp),%edi
8563         xorl    %ebp,%esi
8564         movl    %ebp,20(%esp)
8565         xorl    %edi,%ebp
8566         rorl    $11,%esi
8567         andl    %ebp,%eax
8568         leal    1396182291(%ebx,%edx,1),%edx
8569         xorl    %ecx,%esi
8570         xorl    %edi,%eax
8571         movl    52(%esp),%ecx
8572         rorl    $2,%esi
8573         addl    %edx,%eax
8574         addl    (%esp),%edx
8575         addl    %esi,%eax
8576         movl    40(%esp),%esi
8577         movl    %ecx,%ebx
8578         rorl    $11,%ecx
8579         movl    %esi,%edi
8580         rorl    $2,%esi
8581         xorl    %ebx,%ecx
8582         shrl    $3,%ebx
8583         rorl    $7,%ecx
8584         xorl    %edi,%esi
8585         xorl    %ecx,%ebx
8586         rorl    $17,%esi
8587         addl    48(%esp),%ebx
8588         shrl    $10,%edi
8589         addl    84(%esp),%ebx
8590         movl    %edx,%ecx
8591         xorl    %esi,%edi
8592         movl    4(%esp),%esi
8593         rorl    $14,%edx
8594         addl    %edi,%ebx
8595         movl    8(%esp),%edi
8596         xorl    %ecx,%edx
8597         movl    %ebx,48(%esp)
8598         xorl    %edi,%esi
8599         rorl    $5,%edx
8600         andl    %ecx,%esi
8601         movl    %ecx,(%esp)
8602         xorl    %ecx,%edx
8603         addl    12(%esp),%ebx
8604         xorl    %esi,%edi
8605         rorl    $6,%edx
8606         movl    %eax,%ecx
8607         addl    %edi,%ebx
8608         rorl    $9,%ecx
8609         movl    %eax,%esi
8610         movl    20(%esp),%edi
8611         xorl    %eax,%ecx
8612         movl    %eax,16(%esp)
8613         xorl    %edi,%eax
8614         rorl    $11,%ecx
8615         andl    %eax,%ebp
8616         leal    1695183700(%ebx,%edx,1),%edx
8617         xorl    %esi,%ecx
8618         xorl    %edi,%ebp
8619         movl    56(%esp),%esi
8620         rorl    $2,%ecx
8621         addl    %edx,%ebp
8622         addl    28(%esp),%edx
8623         addl    %ecx,%ebp
8624         movl    44(%esp),%ecx
8625         movl    %esi,%ebx
8626         rorl    $11,%esi
8627         movl    %ecx,%edi
8628         rorl    $2,%ecx
8629         xorl    %ebx,%esi
8630         shrl    $3,%ebx
8631         rorl    $7,%esi
8632         xorl    %edi,%ecx
8633         xorl    %esi,%ebx
8634         rorl    $17,%ecx
8635         addl    52(%esp),%ebx
8636         shrl    $10,%edi
8637         addl    88(%esp),%ebx
8638         movl    %edx,%esi
8639         xorl    %ecx,%edi
8640         movl    (%esp),%ecx
8641         rorl    $14,%edx
8642         addl    %edi,%ebx
8643         movl    4(%esp),%edi
8644         xorl    %esi,%edx
8645         movl    %ebx,52(%esp)
8646         xorl    %edi,%ecx
8647         rorl    $5,%edx
8648         andl    %esi,%ecx
8649         movl    %esi,28(%esp)
8650         xorl    %esi,%edx
8651         addl    8(%esp),%ebx
8652         xorl    %ecx,%edi
8653         rorl    $6,%edx
8654         movl    %ebp,%esi
8655         addl    %edi,%ebx
8656         rorl    $9,%esi
8657         movl    %ebp,%ecx
8658         movl    16(%esp),%edi
8659         xorl    %ebp,%esi
8660         movl    %ebp,12(%esp)
8661         xorl    %edi,%ebp
8662         rorl    $11,%esi
8663         andl    %ebp,%eax
8664         leal    1986661051(%ebx,%edx,1),%edx
8665         xorl    %ecx,%esi
8666         xorl    %edi,%eax
8667         movl    60(%esp),%ecx
8668         rorl    $2,%esi
8669         addl    %edx,%eax
8670         addl    24(%esp),%edx
8671         addl    %esi,%eax
8672         movl    48(%esp),%esi
8673         movl    %ecx,%ebx
8674         rorl    $11,%ecx
8675         movl    %esi,%edi
8676         rorl    $2,%esi
8677         xorl    %ebx,%ecx
8678         shrl    $3,%ebx
8679         rorl    $7,%ecx
8680         xorl    %edi,%esi
8681         xorl    %ecx,%ebx
8682         rorl    $17,%esi
8683         addl    56(%esp),%ebx
8684         shrl    $10,%edi
8685         addl    92(%esp),%ebx
8686         movl    %edx,%ecx
8687         xorl    %esi,%edi
8688         movl    28(%esp),%esi
8689         rorl    $14,%edx
8690         addl    %edi,%ebx
8691         movl    (%esp),%edi
8692         xorl    %ecx,%edx
8693         movl    %ebx,56(%esp)
8694         xorl    %edi,%esi
8695         rorl    $5,%edx
8696         andl    %ecx,%esi
8697         movl    %ecx,24(%esp)
8698         xorl    %ecx,%edx
8699         addl    4(%esp),%ebx
8700         xorl    %esi,%edi
8701         rorl    $6,%edx
8702         movl    %eax,%ecx
8703         addl    %edi,%ebx
8704         rorl    $9,%ecx
8705         movl    %eax,%esi
8706         movl    12(%esp),%edi
8707         xorl    %eax,%ecx
8708         movl    %eax,8(%esp)
8709         xorl    %edi,%eax
8710         rorl    $11,%ecx
8711         andl    %eax,%ebp
8712         leal    2177026350(%ebx,%edx,1),%edx
8713         xorl    %esi,%ecx
8714         xorl    %edi,%ebp
8715         movl    64(%esp),%esi
8716         rorl    $2,%ecx
8717         addl    %edx,%ebp
8718         addl    20(%esp),%edx
8719         addl    %ecx,%ebp
8720         movl    52(%esp),%ecx
8721         movl    %esi,%ebx
8722         rorl    $11,%esi
8723         movl    %ecx,%edi
8724         rorl    $2,%ecx
8725         xorl    %ebx,%esi
8726         shrl    $3,%ebx
8727         rorl    $7,%esi
8728         xorl    %edi,%ecx
8729         xorl    %esi,%ebx
8730         rorl    $17,%ecx
8731         addl    60(%esp),%ebx
8732         shrl    $10,%edi
8733         addl    32(%esp),%ebx
8734         movl    %edx,%esi
8735         xorl    %ecx,%edi
8736         movl    24(%esp),%ecx
8737         rorl    $14,%edx
8738         addl    %edi,%ebx
8739         movl    28(%esp),%edi
8740         xorl    %esi,%edx
8741         movl    %ebx,60(%esp)
8742         xorl    %edi,%ecx
8743         rorl    $5,%edx
8744         andl    %esi,%ecx
8745         movl    %esi,20(%esp)
8746         xorl    %esi,%edx
8747         addl    (%esp),%ebx
8748         xorl    %ecx,%edi
8749         rorl    $6,%edx
8750         movl    %ebp,%esi
8751         addl    %edi,%ebx
8752         rorl    $9,%esi
8753         movl    %ebp,%ecx
8754         movl    8(%esp),%edi
8755         xorl    %ebp,%esi
8756         movl    %ebp,4(%esp)
8757         xorl    %edi,%ebp
8758         rorl    $11,%esi
8759         andl    %ebp,%eax
8760         leal    2456956037(%ebx,%edx,1),%edx
8761         xorl    %ecx,%esi
8762         xorl    %edi,%eax
8763         movl    68(%esp),%ecx
8764         rorl    $2,%esi
8765         addl    %edx,%eax
8766         addl    16(%esp),%edx
8767         addl    %esi,%eax
8768         movl    56(%esp),%esi
8769         movl    %ecx,%ebx
8770         rorl    $11,%ecx
8771         movl    %esi,%edi
8772         rorl    $2,%esi
8773         xorl    %ebx,%ecx
8774         shrl    $3,%ebx
8775         rorl    $7,%ecx
8776         xorl    %edi,%esi
8777         xorl    %ecx,%ebx
8778         rorl    $17,%esi
8779         addl    64(%esp),%ebx
8780         shrl    $10,%edi
8781         addl    36(%esp),%ebx
8782         movl    %edx,%ecx
8783         xorl    %esi,%edi
8784         movl    20(%esp),%esi
8785         rorl    $14,%edx
8786         addl    %edi,%ebx
8787         movl    24(%esp),%edi
8788         xorl    %ecx,%edx
8789         movl    %ebx,64(%esp)
8790         xorl    %edi,%esi
8791         rorl    $5,%edx
8792         andl    %ecx,%esi
8793         movl    %ecx,16(%esp)
8794         xorl    %ecx,%edx
8795         addl    28(%esp),%ebx
8796         xorl    %esi,%edi
8797         rorl    $6,%edx
8798         movl    %eax,%ecx
8799         addl    %edi,%ebx
8800         rorl    $9,%ecx
8801         movl    %eax,%esi
8802         movl    4(%esp),%edi
8803         xorl    %eax,%ecx
8804         movl    %eax,(%esp)
8805         xorl    %edi,%eax
8806         rorl    $11,%ecx
8807         andl    %eax,%ebp
8808         leal    2730485921(%ebx,%edx,1),%edx
8809         xorl    %esi,%ecx
8810         xorl    %edi,%ebp
8811         movl    72(%esp),%esi
8812         rorl    $2,%ecx
8813         addl    %edx,%ebp
8814         addl    12(%esp),%edx
8815         addl    %ecx,%ebp
8816         movl    60(%esp),%ecx
8817         movl    %esi,%ebx
8818         rorl    $11,%esi
8819         movl    %ecx,%edi
8820         rorl    $2,%ecx
8821         xorl    %ebx,%esi
8822         shrl    $3,%ebx
8823         rorl    $7,%esi
8824         xorl    %edi,%ecx
8825         xorl    %esi,%ebx
8826         rorl    $17,%ecx
8827         addl    68(%esp),%ebx
8828         shrl    $10,%edi
8829         addl    40(%esp),%ebx
8830         movl    %edx,%esi
8831         xorl    %ecx,%edi
8832         movl    16(%esp),%ecx
8833         rorl    $14,%edx
8834         addl    %edi,%ebx
8835         movl    20(%esp),%edi
8836         xorl    %esi,%edx
8837         movl    %ebx,68(%esp)
8838         xorl    %edi,%ecx
8839         rorl    $5,%edx
8840         andl    %esi,%ecx
8841         movl    %esi,12(%esp)
8842         xorl    %esi,%edx
8843         addl    24(%esp),%ebx
8844         xorl    %ecx,%edi
8845         rorl    $6,%edx
8846         movl    %ebp,%esi
8847         addl    %edi,%ebx
8848         rorl    $9,%esi
8849         movl    %ebp,%ecx
8850         movl    (%esp),%edi
8851         xorl    %ebp,%esi
8852         movl    %ebp,28(%esp)
8853         xorl    %edi,%ebp
8854         rorl    $11,%esi
8855         andl    %ebp,%eax
8856         leal    2820302411(%ebx,%edx,1),%edx
8857         xorl    %ecx,%esi
8858         xorl    %edi,%eax
8859         movl    76(%esp),%ecx
8860         rorl    $2,%esi
8861         addl    %edx,%eax
8862         addl    8(%esp),%edx
8863         addl    %esi,%eax
8864         movl    64(%esp),%esi
8865         movl    %ecx,%ebx
8866         rorl    $11,%ecx
8867         movl    %esi,%edi
8868         rorl    $2,%esi
8869         xorl    %ebx,%ecx
8870         shrl    $3,%ebx
8871         rorl    $7,%ecx
8872         xorl    %edi,%esi
8873         xorl    %ecx,%ebx
8874         rorl    $17,%esi
8875         addl    72(%esp),%ebx
8876         shrl    $10,%edi
8877         addl    44(%esp),%ebx
8878         movl    %edx,%ecx
8879         xorl    %esi,%edi
8880         movl    12(%esp),%esi
8881         rorl    $14,%edx
8882         addl    %edi,%ebx
8883         movl    16(%esp),%edi
8884         xorl    %ecx,%edx
8885         movl    %ebx,72(%esp)
8886         xorl    %edi,%esi
8887         rorl    $5,%edx
8888         andl    %ecx,%esi
8889         movl    %ecx,8(%esp)
8890         xorl    %ecx,%edx
8891         addl    20(%esp),%ebx
8892         xorl    %esi,%edi
8893         rorl    $6,%edx
8894         movl    %eax,%ecx
8895         addl    %edi,%ebx
8896         rorl    $9,%ecx
8897         movl    %eax,%esi
8898         movl    28(%esp),%edi
8899         xorl    %eax,%ecx
8900         movl    %eax,24(%esp)
8901         xorl    %edi,%eax
8902         rorl    $11,%ecx
8903         andl    %eax,%ebp
8904         leal    3259730800(%ebx,%edx,1),%edx
8905         xorl    %esi,%ecx
8906         xorl    %edi,%ebp
8907         movl    80(%esp),%esi
8908         rorl    $2,%ecx
8909         addl    %edx,%ebp
8910         addl    4(%esp),%edx
8911         addl    %ecx,%ebp
8912         movl    68(%esp),%ecx
8913         movl    %esi,%ebx
8914         rorl    $11,%esi
8915         movl    %ecx,%edi
8916         rorl    $2,%ecx
8917         xorl    %ebx,%esi
8918         shrl    $3,%ebx
8919         rorl    $7,%esi
8920         xorl    %edi,%ecx
8921         xorl    %esi,%ebx
8922         rorl    $17,%ecx
8923         addl    76(%esp),%ebx
8924         shrl    $10,%edi
8925         addl    48(%esp),%ebx
8926         movl    %edx,%esi
8927         xorl    %ecx,%edi
8928         movl    8(%esp),%ecx
8929         rorl    $14,%edx
8930         addl    %edi,%ebx
8931         movl    12(%esp),%edi
8932         xorl    %esi,%edx
8933         movl    %ebx,76(%esp)
8934         xorl    %edi,%ecx
8935         rorl    $5,%edx
8936         andl    %esi,%ecx
8937         movl    %esi,4(%esp)
8938         xorl    %esi,%edx
8939         addl    16(%esp),%ebx
8940         xorl    %ecx,%edi
8941         rorl    $6,%edx
8942         movl    %ebp,%esi
8943         addl    %edi,%ebx
8944         rorl    $9,%esi
8945         movl    %ebp,%ecx
8946         movl    24(%esp),%edi
8947         xorl    %ebp,%esi
8948         movl    %ebp,20(%esp)
8949         xorl    %edi,%ebp
8950         rorl    $11,%esi
8951         andl    %ebp,%eax
8952         leal    3345764771(%ebx,%edx,1),%edx
8953         xorl    %ecx,%esi
8954         xorl    %edi,%eax
8955         movl    84(%esp),%ecx
8956         rorl    $2,%esi
8957         addl    %edx,%eax
8958         addl    (%esp),%edx
8959         addl    %esi,%eax
8960         movl    72(%esp),%esi
8961         movl    %ecx,%ebx
8962         rorl    $11,%ecx
8963         movl    %esi,%edi
8964         rorl    $2,%esi
8965         xorl    %ebx,%ecx
8966         shrl    $3,%ebx
8967         rorl    $7,%ecx
8968         xorl    %edi,%esi
8969         xorl    %ecx,%ebx
8970         rorl    $17,%esi
8971         addl    80(%esp),%ebx
8972         shrl    $10,%edi
8973         addl    52(%esp),%ebx
8974         movl    %edx,%ecx
8975         xorl    %esi,%edi
8976         movl    4(%esp),%esi
8977         rorl    $14,%edx
8978         addl    %edi,%ebx
8979         movl    8(%esp),%edi
8980         xorl    %ecx,%edx
8981         movl    %ebx,80(%esp)
8982         xorl    %edi,%esi
8983         rorl    $5,%edx
8984         andl    %ecx,%esi
8985         movl    %ecx,(%esp)
8986         xorl    %ecx,%edx
8987         addl    12(%esp),%ebx
8988         xorl    %esi,%edi
8989         rorl    $6,%edx
8990         movl    %eax,%ecx
8991         addl    %edi,%ebx
8992         rorl    $9,%ecx
8993         movl    %eax,%esi
8994         movl    20(%esp),%edi
8995         xorl    %eax,%ecx
8996         movl    %eax,16(%esp)
8997         xorl    %edi,%eax
8998         rorl    $11,%ecx
8999         andl    %eax,%ebp
9000         leal    3516065817(%ebx,%edx,1),%edx
9001         xorl    %esi,%ecx
9002         xorl    %edi,%ebp
9003         movl    88(%esp),%esi
9004         rorl    $2,%ecx
9005         addl    %edx,%ebp
9006         addl    28(%esp),%edx
9007         addl    %ecx,%ebp
9008         movl    76(%esp),%ecx
9009         movl    %esi,%ebx
9010         rorl    $11,%esi
9011         movl    %ecx,%edi
9012         rorl    $2,%ecx
9013         xorl    %ebx,%esi
9014         shrl    $3,%ebx
9015         rorl    $7,%esi
9016         xorl    %edi,%ecx
9017         xorl    %esi,%ebx
9018         rorl    $17,%ecx
9019         addl    84(%esp),%ebx
9020         shrl    $10,%edi
9021         addl    56(%esp),%ebx
9022         movl    %edx,%esi
9023         xorl    %ecx,%edi
9024         movl    (%esp),%ecx
9025         rorl    $14,%edx
9026         addl    %edi,%ebx
9027         movl    4(%esp),%edi
9028         xorl    %esi,%edx
9029         movl    %ebx,84(%esp)
9030         xorl    %edi,%ecx
9031         rorl    $5,%edx
9032         andl    %esi,%ecx
9033         movl    %esi,28(%esp)
9034         xorl    %esi,%edx
9035         addl    8(%esp),%ebx
9036         xorl    %ecx,%edi
9037         rorl    $6,%edx
9038         movl    %ebp,%esi
9039         addl    %edi,%ebx
9040         rorl    $9,%esi
9041         movl    %ebp,%ecx
9042         movl    16(%esp),%edi
9043         xorl    %ebp,%esi
9044         movl    %ebp,12(%esp)
9045         xorl    %edi,%ebp
9046         rorl    $11,%esi
9047         andl    %ebp,%eax
9048         leal    3600352804(%ebx,%edx,1),%edx
9049         xorl    %ecx,%esi
9050         xorl    %edi,%eax
9051         movl    92(%esp),%ecx
9052         rorl    $2,%esi
9053         addl    %edx,%eax
9054         addl    24(%esp),%edx
9055         addl    %esi,%eax
9056         movl    80(%esp),%esi
9057         movl    %ecx,%ebx
9058         rorl    $11,%ecx
9059         movl    %esi,%edi
9060         rorl    $2,%esi
9061         xorl    %ebx,%ecx
9062         shrl    $3,%ebx
9063         rorl    $7,%ecx
9064         xorl    %edi,%esi
9065         xorl    %ecx,%ebx
9066         rorl    $17,%esi
9067         addl    88(%esp),%ebx
9068         shrl    $10,%edi
9069         addl    60(%esp),%ebx
9070         movl    %edx,%ecx
9071         xorl    %esi,%edi
9072         movl    28(%esp),%esi
9073         rorl    $14,%edx
9074         addl    %edi,%ebx
9075         movl    (%esp),%edi
9076         xorl    %ecx,%edx
9077         movl    %ebx,88(%esp)
9078         xorl    %edi,%esi
9079         rorl    $5,%edx
9080         andl    %ecx,%esi
9081         movl    %ecx,24(%esp)
9082         xorl    %ecx,%edx
9083         addl    4(%esp),%ebx
9084         xorl    %esi,%edi
9085         rorl    $6,%edx
9086         movl    %eax,%ecx
9087         addl    %edi,%ebx
9088         rorl    $9,%ecx
9089         movl    %eax,%esi
9090         movl    12(%esp),%edi
9091         xorl    %eax,%ecx
9092         movl    %eax,8(%esp)
9093         xorl    %edi,%eax
9094         rorl    $11,%ecx
9095         andl    %eax,%ebp
9096         leal    4094571909(%ebx,%edx,1),%edx
9097         xorl    %esi,%ecx
9098         xorl    %edi,%ebp
9099         movl    32(%esp),%esi
9100         rorl    $2,%ecx
9101         addl    %edx,%ebp
9102         addl    20(%esp),%edx
9103         addl    %ecx,%ebp
9104         movl    84(%esp),%ecx
9105         movl    %esi,%ebx
9106         rorl    $11,%esi
9107         movl    %ecx,%edi
9108         rorl    $2,%ecx
9109         xorl    %ebx,%esi
9110         shrl    $3,%ebx
9111         rorl    $7,%esi
9112         xorl    %edi,%ecx
9113         xorl    %esi,%ebx
9114         rorl    $17,%ecx
9115         addl    92(%esp),%ebx
9116         shrl    $10,%edi
9117         addl    64(%esp),%ebx
9118         movl    %edx,%esi
9119         xorl    %ecx,%edi
9120         movl    24(%esp),%ecx
9121         rorl    $14,%edx
9122         addl    %edi,%ebx
9123         movl    28(%esp),%edi
9124         xorl    %esi,%edx
9125         movl    %ebx,92(%esp)
9126         xorl    %edi,%ecx
9127         rorl    $5,%edx
9128         andl    %esi,%ecx
9129         movl    %esi,20(%esp)
9130         xorl    %esi,%edx
9131         addl    (%esp),%ebx
9132         xorl    %ecx,%edi
9133         rorl    $6,%edx
9134         movl    %ebp,%esi
9135         addl    %edi,%ebx
9136         rorl    $9,%esi
9137         movl    %ebp,%ecx
9138         movl    8(%esp),%edi
9139         xorl    %ebp,%esi
9140         movl    %ebp,4(%esp)
9141         xorl    %edi,%ebp
9142         rorl    $11,%esi
9143         andl    %ebp,%eax
9144         leal    275423344(%ebx,%edx,1),%edx
9145         xorl    %ecx,%esi
9146         xorl    %edi,%eax
9147         movl    36(%esp),%ecx
9148         rorl    $2,%esi
9149         addl    %edx,%eax
9150         addl    16(%esp),%edx
9151         addl    %esi,%eax
9152         movl    88(%esp),%esi
9153         movl    %ecx,%ebx
9154         rorl    $11,%ecx
9155         movl    %esi,%edi
9156         rorl    $2,%esi
9157         xorl    %ebx,%ecx
9158         shrl    $3,%ebx
9159         rorl    $7,%ecx
9160         xorl    %edi,%esi
9161         xorl    %ecx,%ebx
9162         rorl    $17,%esi
9163         addl    32(%esp),%ebx
9164         shrl    $10,%edi
9165         addl    68(%esp),%ebx
9166         movl    %edx,%ecx
9167         xorl    %esi,%edi
9168         movl    20(%esp),%esi
9169         rorl    $14,%edx
9170         addl    %edi,%ebx
9171         movl    24(%esp),%edi
9172         xorl    %ecx,%edx
9173         movl    %ebx,32(%esp)
9174         xorl    %edi,%esi
9175         rorl    $5,%edx
9176         andl    %ecx,%esi
9177         movl    %ecx,16(%esp)
9178         xorl    %ecx,%edx
9179         addl    28(%esp),%ebx
9180         xorl    %esi,%edi
9181         rorl    $6,%edx
9182         movl    %eax,%ecx
9183         addl    %edi,%ebx
9184         rorl    $9,%ecx
9185         movl    %eax,%esi
9186         movl    4(%esp),%edi
9187         xorl    %eax,%ecx
9188         movl    %eax,(%esp)
9189         xorl    %edi,%eax
9190         rorl    $11,%ecx
9191         andl    %eax,%ebp
9192         leal    430227734(%ebx,%edx,1),%edx
9193         xorl    %esi,%ecx
9194         xorl    %edi,%ebp
9195         movl    40(%esp),%esi
9196         rorl    $2,%ecx
9197         addl    %edx,%ebp
9198         addl    12(%esp),%edx
9199         addl    %ecx,%ebp
9200         movl    92(%esp),%ecx
9201         movl    %esi,%ebx
9202         rorl    $11,%esi
9203         movl    %ecx,%edi
9204         rorl    $2,%ecx
9205         xorl    %ebx,%esi
9206         shrl    $3,%ebx
9207         rorl    $7,%esi
9208         xorl    %edi,%ecx
9209         xorl    %esi,%ebx
9210         rorl    $17,%ecx
9211         addl    36(%esp),%ebx
9212         shrl    $10,%edi
9213         addl    72(%esp),%ebx
9214         movl    %edx,%esi
9215         xorl    %ecx,%edi
9216         movl    16(%esp),%ecx
9217         rorl    $14,%edx
9218         addl    %edi,%ebx
9219         movl    20(%esp),%edi
9220         xorl    %esi,%edx
9221         movl    %ebx,36(%esp)
9222         xorl    %edi,%ecx
9223         rorl    $5,%edx
9224         andl    %esi,%ecx
9225         movl    %esi,12(%esp)
9226         xorl    %esi,%edx
9227         addl    24(%esp),%ebx
9228         xorl    %ecx,%edi
9229         rorl    $6,%edx
9230         movl    %ebp,%esi
9231         addl    %edi,%ebx
9232         rorl    $9,%esi
9233         movl    %ebp,%ecx
9234         movl    (%esp),%edi
9235         xorl    %ebp,%esi
9236         movl    %ebp,28(%esp)
9237         xorl    %edi,%ebp
9238         rorl    $11,%esi
9239         andl    %ebp,%eax
9240         leal    506948616(%ebx,%edx,1),%edx
9241         xorl    %ecx,%esi
9242         xorl    %edi,%eax
9243         movl    44(%esp),%ecx
9244         rorl    $2,%esi
9245         addl    %edx,%eax
9246         addl    8(%esp),%edx
9247         addl    %esi,%eax
9248         movl    32(%esp),%esi
9249         movl    %ecx,%ebx
9250         rorl    $11,%ecx
9251         movl    %esi,%edi
9252         rorl    $2,%esi
9253         xorl    %ebx,%ecx
9254         shrl    $3,%ebx
9255         rorl    $7,%ecx
9256         xorl    %edi,%esi
9257         xorl    %ecx,%ebx
9258         rorl    $17,%esi
9259         addl    40(%esp),%ebx
9260         shrl    $10,%edi
9261         addl    76(%esp),%ebx
9262         movl    %edx,%ecx
9263         xorl    %esi,%edi
9264         movl    12(%esp),%esi
9265         rorl    $14,%edx
9266         addl    %edi,%ebx
9267         movl    16(%esp),%edi
9268         xorl    %ecx,%edx
9269         movl    %ebx,40(%esp)
9270         xorl    %edi,%esi
9271         rorl    $5,%edx
9272         andl    %ecx,%esi
9273         movl    %ecx,8(%esp)
9274         xorl    %ecx,%edx
9275         addl    20(%esp),%ebx
9276         xorl    %esi,%edi
9277         rorl    $6,%edx
9278         movl    %eax,%ecx
9279         addl    %edi,%ebx
9280         rorl    $9,%ecx
9281         movl    %eax,%esi
9282         movl    28(%esp),%edi
9283         xorl    %eax,%ecx
9284         movl    %eax,24(%esp)
9285         xorl    %edi,%eax
9286         rorl    $11,%ecx
9287         andl    %eax,%ebp
9288         leal    659060556(%ebx,%edx,1),%edx
9289         xorl    %esi,%ecx
9290         xorl    %edi,%ebp
9291         movl    48(%esp),%esi
9292         rorl    $2,%ecx
9293         addl    %edx,%ebp
9294         addl    4(%esp),%edx
9295         addl    %ecx,%ebp
9296         movl    36(%esp),%ecx
9297         movl    %esi,%ebx
9298         rorl    $11,%esi
9299         movl    %ecx,%edi
9300         rorl    $2,%ecx
9301         xorl    %ebx,%esi
9302         shrl    $3,%ebx
9303         rorl    $7,%esi
9304         xorl    %edi,%ecx
9305         xorl    %esi,%ebx
9306         rorl    $17,%ecx
9307         addl    44(%esp),%ebx
9308         shrl    $10,%edi
9309         addl    80(%esp),%ebx
9310         movl    %edx,%esi
9311         xorl    %ecx,%edi
9312         movl    8(%esp),%ecx
9313         rorl    $14,%edx
9314         addl    %edi,%ebx
9315         movl    12(%esp),%edi
9316         xorl    %esi,%edx
9317         movl    %ebx,44(%esp)
9318         xorl    %edi,%ecx
9319         rorl    $5,%edx
9320         andl    %esi,%ecx
9321         movl    %esi,4(%esp)
9322         xorl    %esi,%edx
9323         addl    16(%esp),%ebx
9324         xorl    %ecx,%edi
9325         rorl    $6,%edx
9326         movl    %ebp,%esi
9327         addl    %edi,%ebx
9328         rorl    $9,%esi
9329         movl    %ebp,%ecx
9330         movl    24(%esp),%edi
9331         xorl    %ebp,%esi
9332         movl    %ebp,20(%esp)
9333         xorl    %edi,%ebp
9334         rorl    $11,%esi
9335         andl    %ebp,%eax
9336         leal    883997877(%ebx,%edx,1),%edx
9337         xorl    %ecx,%esi
9338         xorl    %edi,%eax
9339         movl    52(%esp),%ecx
9340         rorl    $2,%esi
9341         addl    %edx,%eax
9342         addl    (%esp),%edx
9343         addl    %esi,%eax
9344         movl    40(%esp),%esi
9345         movl    %ecx,%ebx
9346         rorl    $11,%ecx
9347         movl    %esi,%edi
9348         rorl    $2,%esi
9349         xorl    %ebx,%ecx
9350         shrl    $3,%ebx
9351         rorl    $7,%ecx
9352         xorl    %edi,%esi
9353         xorl    %ecx,%ebx
9354         rorl    $17,%esi
9355         addl    48(%esp),%ebx
9356         shrl    $10,%edi
9357         addl    84(%esp),%ebx
9358         movl    %edx,%ecx
9359         xorl    %esi,%edi
9360         movl    4(%esp),%esi
9361         rorl    $14,%edx
9362         addl    %edi,%ebx
9363         movl    8(%esp),%edi
9364         xorl    %ecx,%edx
9365         movl    %ebx,48(%esp)
9366         xorl    %edi,%esi
9367         rorl    $5,%edx
9368         andl    %ecx,%esi
9369         movl    %ecx,(%esp)
9370         xorl    %ecx,%edx
9371         addl    12(%esp),%ebx
9372         xorl    %esi,%edi
9373         rorl    $6,%edx
9374         movl    %eax,%ecx
9375         addl    %edi,%ebx
9376         rorl    $9,%ecx
9377         movl    %eax,%esi
9378         movl    20(%esp),%edi
9379         xorl    %eax,%ecx
9380         movl    %eax,16(%esp)
9381         xorl    %edi,%eax
9382         rorl    $11,%ecx
9383         andl    %eax,%ebp
9384         leal    958139571(%ebx,%edx,1),%edx
9385         xorl    %esi,%ecx
9386         xorl    %edi,%ebp
9387         movl    56(%esp),%esi
9388         rorl    $2,%ecx
9389         addl    %edx,%ebp
9390         addl    28(%esp),%edx
9391         addl    %ecx,%ebp
9392         movl    44(%esp),%ecx
9393         movl    %esi,%ebx
9394         rorl    $11,%esi
9395         movl    %ecx,%edi
9396         rorl    $2,%ecx
9397         xorl    %ebx,%esi
9398         shrl    $3,%ebx
9399         rorl    $7,%esi
9400         xorl    %edi,%ecx
9401         xorl    %esi,%ebx
9402         rorl    $17,%ecx
9403         addl    52(%esp),%ebx
9404         shrl    $10,%edi
9405         addl    88(%esp),%ebx
9406         movl    %edx,%esi
9407         xorl    %ecx,%edi
9408         movl    (%esp),%ecx
9409         rorl    $14,%edx
9410         addl    %edi,%ebx
9411         movl    4(%esp),%edi
9412         xorl    %esi,%edx
9413         movl    %ebx,52(%esp)
9414         xorl    %edi,%ecx
9415         rorl    $5,%edx
9416         andl    %esi,%ecx
9417         movl    %esi,28(%esp)
9418         xorl    %esi,%edx
9419         addl    8(%esp),%ebx
9420         xorl    %ecx,%edi
9421         rorl    $6,%edx
9422         movl    %ebp,%esi
9423         addl    %edi,%ebx
9424         rorl    $9,%esi
9425         movl    %ebp,%ecx
9426         movl    16(%esp),%edi
9427         xorl    %ebp,%esi
9428         movl    %ebp,12(%esp)
9429         xorl    %edi,%ebp
9430         rorl    $11,%esi
9431         andl    %ebp,%eax
9432         leal    1322822218(%ebx,%edx,1),%edx
9433         xorl    %ecx,%esi
9434         xorl    %edi,%eax
9435         movl    60(%esp),%ecx
9436         rorl    $2,%esi
9437         addl    %edx,%eax
9438         addl    24(%esp),%edx
9439         addl    %esi,%eax
9440         movl    48(%esp),%esi
9441         movl    %ecx,%ebx
9442         rorl    $11,%ecx
9443         movl    %esi,%edi
9444         rorl    $2,%esi
9445         xorl    %ebx,%ecx
9446         shrl    $3,%ebx
9447         rorl    $7,%ecx
9448         xorl    %edi,%esi
9449         xorl    %ecx,%ebx
9450         rorl    $17,%esi
9451         addl    56(%esp),%ebx
9452         shrl    $10,%edi
9453         addl    92(%esp),%ebx
9454         movl    %edx,%ecx
9455         xorl    %esi,%edi
9456         movl    28(%esp),%esi
9457         rorl    $14,%edx
9458         addl    %edi,%ebx
9459         movl    (%esp),%edi
9460         xorl    %ecx,%edx
9461         movl    %ebx,56(%esp)
9462         xorl    %edi,%esi
9463         rorl    $5,%edx
9464         andl    %ecx,%esi
9465         movl    %ecx,24(%esp)
9466         xorl    %ecx,%edx
9467         addl    4(%esp),%ebx
9468         xorl    %esi,%edi
9469         rorl    $6,%edx
9470         movl    %eax,%ecx
9471         addl    %edi,%ebx
9472         rorl    $9,%ecx
9473         movl    %eax,%esi
9474         movl    12(%esp),%edi
9475         xorl    %eax,%ecx
9476         movl    %eax,8(%esp)
9477         xorl    %edi,%eax
9478         rorl    $11,%ecx
9479         andl    %eax,%ebp
9480         leal    1537002063(%ebx,%edx,1),%edx
9481         xorl    %esi,%ecx
9482         xorl    %edi,%ebp
9483         movl    64(%esp),%esi
9484         rorl    $2,%ecx
9485         addl    %edx,%ebp
9486         addl    20(%esp),%edx
9487         addl    %ecx,%ebp
9488         movl    52(%esp),%ecx
9489         movl    %esi,%ebx
9490         rorl    $11,%esi
9491         movl    %ecx,%edi
9492         rorl    $2,%ecx
9493         xorl    %ebx,%esi
9494         shrl    $3,%ebx
9495         rorl    $7,%esi
9496         xorl    %edi,%ecx
9497         xorl    %esi,%ebx
9498         rorl    $17,%ecx
9499         addl    60(%esp),%ebx
9500         shrl    $10,%edi
9501         addl    32(%esp),%ebx
9502         movl    %edx,%esi
9503         xorl    %ecx,%edi
9504         movl    24(%esp),%ecx
9505         rorl    $14,%edx
9506         addl    %edi,%ebx
9507         movl    28(%esp),%edi
9508         xorl    %esi,%edx
9509         movl    %ebx,60(%esp)
9510         xorl    %edi,%ecx
9511         rorl    $5,%edx
9512         andl    %esi,%ecx
9513         movl    %esi,20(%esp)
9514         xorl    %esi,%edx
9515         addl    (%esp),%ebx
9516         xorl    %ecx,%edi
9517         rorl    $6,%edx
9518         movl    %ebp,%esi
9519         addl    %edi,%ebx
9520         rorl    $9,%esi
9521         movl    %ebp,%ecx
9522         movl    8(%esp),%edi
9523         xorl    %ebp,%esi
9524         movl    %ebp,4(%esp)
9525         xorl    %edi,%ebp
9526         rorl    $11,%esi
9527         andl    %ebp,%eax
9528         leal    1747873779(%ebx,%edx,1),%edx
9529         xorl    %ecx,%esi
9530         xorl    %edi,%eax
9531         movl    68(%esp),%ecx
9532         rorl    $2,%esi
9533         addl    %edx,%eax
9534         addl    16(%esp),%edx
9535         addl    %esi,%eax
9536         movl    56(%esp),%esi
9537         movl    %ecx,%ebx
9538         rorl    $11,%ecx
9539         movl    %esi,%edi
9540         rorl    $2,%esi
9541         xorl    %ebx,%ecx
9542         shrl    $3,%ebx
9543         rorl    $7,%ecx
9544         xorl    %edi,%esi
9545         xorl    %ecx,%ebx
9546         rorl    $17,%esi
9547         addl    64(%esp),%ebx
9548         shrl    $10,%edi
9549         addl    36(%esp),%ebx
9550         movl    %edx,%ecx
9551         xorl    %esi,%edi
9552         movl    20(%esp),%esi
9553         rorl    $14,%edx
9554         addl    %edi,%ebx
9555         movl    24(%esp),%edi
9556         xorl    %ecx,%edx
9557         movl    %ebx,64(%esp)
9558         xorl    %edi,%esi
9559         rorl    $5,%edx
9560         andl    %ecx,%esi
9561         movl    %ecx,16(%esp)
9562         xorl    %ecx,%edx
9563         addl    28(%esp),%ebx
9564         xorl    %esi,%edi
9565         rorl    $6,%edx
9566         movl    %eax,%ecx
9567         addl    %edi,%ebx
9568         rorl    $9,%ecx
9569         movl    %eax,%esi
9570         movl    4(%esp),%edi
9571         xorl    %eax,%ecx
9572         movl    %eax,(%esp)
9573         xorl    %edi,%eax
9574         rorl    $11,%ecx
9575         andl    %eax,%ebp
9576         leal    1955562222(%ebx,%edx,1),%edx
9577         xorl    %esi,%ecx
9578         xorl    %edi,%ebp
9579         movl    72(%esp),%esi
9580         rorl    $2,%ecx
9581         addl    %edx,%ebp
9582         addl    12(%esp),%edx
9583         addl    %ecx,%ebp
9584         movl    60(%esp),%ecx
9585         movl    %esi,%ebx
9586         rorl    $11,%esi
9587         movl    %ecx,%edi
9588         rorl    $2,%ecx
9589         xorl    %ebx,%esi
9590         shrl    $3,%ebx
9591         rorl    $7,%esi
9592         xorl    %edi,%ecx
9593         xorl    %esi,%ebx
9594         rorl    $17,%ecx
9595         addl    68(%esp),%ebx
9596         shrl    $10,%edi
9597         addl    40(%esp),%ebx
9598         movl    %edx,%esi
9599         xorl    %ecx,%edi
9600         movl    16(%esp),%ecx
9601         rorl    $14,%edx
9602         addl    %edi,%ebx
9603         movl    20(%esp),%edi
9604         xorl    %esi,%edx
9605         movl    %ebx,68(%esp)
9606         xorl    %edi,%ecx
9607         rorl    $5,%edx
9608         andl    %esi,%ecx
9609         movl    %esi,12(%esp)
9610         xorl    %esi,%edx
9611         addl    24(%esp),%ebx
9612         xorl    %ecx,%edi
9613         rorl    $6,%edx
9614         movl    %ebp,%esi
9615         addl    %edi,%ebx
9616         rorl    $9,%esi
9617         movl    %ebp,%ecx
9618         movl    (%esp),%edi
9619         xorl    %ebp,%esi
9620         movl    %ebp,28(%esp)
9621         xorl    %edi,%ebp
9622         rorl    $11,%esi
9623         andl    %ebp,%eax
9624         leal    2024104815(%ebx,%edx,1),%edx
9625         xorl    %ecx,%esi
9626         xorl    %edi,%eax
9627         movl    76(%esp),%ecx
9628         rorl    $2,%esi
9629         addl    %edx,%eax
9630         addl    8(%esp),%edx
9631         addl    %esi,%eax
9632         movl    64(%esp),%esi
9633         movl    %ecx,%ebx
9634         rorl    $11,%ecx
9635         movl    %esi,%edi
9636         rorl    $2,%esi
9637         xorl    %ebx,%ecx
9638         shrl    $3,%ebx
9639         rorl    $7,%ecx
9640         xorl    %edi,%esi
9641         xorl    %ecx,%ebx
9642         rorl    $17,%esi
9643         addl    72(%esp),%ebx
9644         shrl    $10,%edi
9645         addl    44(%esp),%ebx
9646         movl    %edx,%ecx
9647         xorl    %esi,%edi
9648         movl    12(%esp),%esi
9649         rorl    $14,%edx
9650         addl    %edi,%ebx
9651         movl    16(%esp),%edi
9652         xorl    %ecx,%edx
9653         movl    %ebx,72(%esp)
9654         xorl    %edi,%esi
9655         rorl    $5,%edx
9656         andl    %ecx,%esi
9657         movl    %ecx,8(%esp)
9658         xorl    %ecx,%edx
9659         addl    20(%esp),%ebx
9660         xorl    %esi,%edi
9661         rorl    $6,%edx
9662         movl    %eax,%ecx
9663         addl    %edi,%ebx
9664         rorl    $9,%ecx
9665         movl    %eax,%esi
9666         movl    28(%esp),%edi
9667         xorl    %eax,%ecx
9668         movl    %eax,24(%esp)
9669         xorl    %edi,%eax
9670         rorl    $11,%ecx
9671         andl    %eax,%ebp
9672         leal    2227730452(%ebx,%edx,1),%edx
9673         xorl    %esi,%ecx
9674         xorl    %edi,%ebp
9675         movl    80(%esp),%esi
9676         rorl    $2,%ecx
9677         addl    %edx,%ebp
9678         addl    4(%esp),%edx
9679         addl    %ecx,%ebp
9680         movl    68(%esp),%ecx
9681         movl    %esi,%ebx
9682         rorl    $11,%esi
9683         movl    %ecx,%edi
9684         rorl    $2,%ecx
9685         xorl    %ebx,%esi
9686         shrl    $3,%ebx
9687         rorl    $7,%esi
9688         xorl    %edi,%ecx
9689         xorl    %esi,%ebx
9690         rorl    $17,%ecx
9691         addl    76(%esp),%ebx
9692         shrl    $10,%edi
9693         addl    48(%esp),%ebx
9694         movl    %edx,%esi
9695         xorl    %ecx,%edi
9696         movl    8(%esp),%ecx
9697         rorl    $14,%edx
9698         addl    %edi,%ebx
9699         movl    12(%esp),%edi
9700         xorl    %esi,%edx
9701         movl    %ebx,76(%esp)
9702         xorl    %edi,%ecx
9703         rorl    $5,%edx
9704         andl    %esi,%ecx
9705         movl    %esi,4(%esp)
9706         xorl    %esi,%edx
9707         addl    16(%esp),%ebx
9708         xorl    %ecx,%edi
9709         rorl    $6,%edx
9710         movl    %ebp,%esi
9711         addl    %edi,%ebx
9712         rorl    $9,%esi
9713         movl    %ebp,%ecx
9714         movl    24(%esp),%edi
9715         xorl    %ebp,%esi
9716         movl    %ebp,20(%esp)
9717         xorl    %edi,%ebp
9718         rorl    $11,%esi
9719         andl    %ebp,%eax
9720         leal    2361852424(%ebx,%edx,1),%edx
9721         xorl    %ecx,%esi
9722         xorl    %edi,%eax
9723         movl    84(%esp),%ecx
9724         rorl    $2,%esi
9725         addl    %edx,%eax
9726         addl    (%esp),%edx
9727         addl    %esi,%eax
9728         movl    72(%esp),%esi
9729         movl    %ecx,%ebx
9730         rorl    $11,%ecx
9731         movl    %esi,%edi
9732         rorl    $2,%esi
9733         xorl    %ebx,%ecx
9734         shrl    $3,%ebx
9735         rorl    $7,%ecx
9736         xorl    %edi,%esi
9737         xorl    %ecx,%ebx
9738         rorl    $17,%esi
9739         addl    80(%esp),%ebx
9740         shrl    $10,%edi
9741         addl    52(%esp),%ebx
9742         movl    %edx,%ecx
9743         xorl    %esi,%edi
9744         movl    4(%esp),%esi
9745         rorl    $14,%edx
9746         addl    %edi,%ebx
9747         movl    8(%esp),%edi
9748         xorl    %ecx,%edx
9749         movl    %ebx,80(%esp)
9750         xorl    %edi,%esi
9751         rorl    $5,%edx
9752         andl    %ecx,%esi
9753         movl    %ecx,(%esp)
9754         xorl    %ecx,%edx
9755         addl    12(%esp),%ebx
9756         xorl    %esi,%edi
9757         rorl    $6,%edx
9758         movl    %eax,%ecx
9759         addl    %edi,%ebx
9760         rorl    $9,%ecx
9761         movl    %eax,%esi
9762         movl    20(%esp),%edi
9763         xorl    %eax,%ecx
9764         movl    %eax,16(%esp)
9765         xorl    %edi,%eax
9766         rorl    $11,%ecx
9767         andl    %eax,%ebp
9768         leal    2428436474(%ebx,%edx,1),%edx
9769         xorl    %esi,%ecx
9770         xorl    %edi,%ebp
9771         movl    88(%esp),%esi
9772         rorl    $2,%ecx
9773         addl    %edx,%ebp
9774         addl    28(%esp),%edx
9775         addl    %ecx,%ebp
9776         movl    76(%esp),%ecx
9777         movl    %esi,%ebx
9778         rorl    $11,%esi
9779         movl    %ecx,%edi
9780         rorl    $2,%ecx
9781         xorl    %ebx,%esi
9782         shrl    $3,%ebx
9783         rorl    $7,%esi
9784         xorl    %edi,%ecx
9785         xorl    %esi,%ebx
9786         rorl    $17,%ecx
9787         addl    84(%esp),%ebx
9788         shrl    $10,%edi
9789         addl    56(%esp),%ebx
9790         movl    %edx,%esi
9791         xorl    %ecx,%edi
9792         movl    (%esp),%ecx
9793         rorl    $14,%edx
9794         addl    %edi,%ebx
9795         movl    4(%esp),%edi
9796         xorl    %esi,%edx
9797         movl    %ebx,84(%esp)
9798         xorl    %edi,%ecx
9799         rorl    $5,%edx
9800         andl    %esi,%ecx
9801         movl    %esi,28(%esp)
9802         xorl    %esi,%edx
9803         addl    8(%esp),%ebx
9804         xorl    %ecx,%edi
9805         rorl    $6,%edx
9806         movl    %ebp,%esi
9807         addl    %edi,%ebx
9808         rorl    $9,%esi
9809         movl    %ebp,%ecx
9810         movl    16(%esp),%edi
9811         xorl    %ebp,%esi
9812         movl    %ebp,12(%esp)
9813         xorl    %edi,%ebp
9814         rorl    $11,%esi
9815         andl    %ebp,%eax
9816         leal    2756734187(%ebx,%edx,1),%edx
9817         xorl    %ecx,%esi
9818         xorl    %edi,%eax
9819         movl    92(%esp),%ecx
9820         rorl    $2,%esi
9821         addl    %edx,%eax
9822         addl    24(%esp),%edx
9823         addl    %esi,%eax
9824         movl    80(%esp),%esi
9825         movl    %ecx,%ebx
9826         rorl    $11,%ecx
9827         movl    %esi,%edi
9828         rorl    $2,%esi
9829         xorl    %ebx,%ecx
9830         shrl    $3,%ebx
9831         rorl    $7,%ecx
9832         xorl    %edi,%esi
9833         xorl    %ecx,%ebx
9834         rorl    $17,%esi
9835         addl    88(%esp),%ebx
9836         shrl    $10,%edi
9837         addl    60(%esp),%ebx
9838         movl    %edx,%ecx
9839         xorl    %esi,%edi
9840         movl    28(%esp),%esi
9841         rorl    $14,%edx
9842         addl    %edi,%ebx
9843         movl    (%esp),%edi
9844         xorl    %ecx,%edx
9845         xorl    %edi,%esi
9846         rorl    $5,%edx
9847         andl    %ecx,%esi
9848         movl    %ecx,24(%esp)
9849         xorl    %ecx,%edx
9850         addl    4(%esp),%ebx
9851         xorl    %esi,%edi
9852         rorl    $6,%edx
9853         movl    %eax,%ecx
9854         addl    %edi,%ebx
9855         rorl    $9,%ecx
9856         movl    %eax,%esi
9857         movl    12(%esp),%edi
9858         xorl    %eax,%ecx
9859         movl    %eax,8(%esp)
9860         xorl    %edi,%eax
9861         rorl    $11,%ecx
9862         andl    %eax,%ebp
9863         leal    3204031479(%ebx,%edx,1),%edx
9864         xorl    %esi,%ecx
9865         xorl    %edi,%ebp
9866         movl    32(%esp),%esi
9867         rorl    $2,%ecx
9868         addl    %edx,%ebp
9869         addl    20(%esp),%edx
9870         addl    %ecx,%ebp
9871         movl    84(%esp),%ecx
9872         movl    %esi,%ebx
9873         rorl    $11,%esi
9874         movl    %ecx,%edi
9875         rorl    $2,%ecx
9876         xorl    %ebx,%esi
9877         shrl    $3,%ebx
9878         rorl    $7,%esi
9879         xorl    %edi,%ecx
9880         xorl    %esi,%ebx
9881         rorl    $17,%ecx
9882         addl    92(%esp),%ebx
9883         shrl    $10,%edi
9884         addl    64(%esp),%ebx
9885         movl    %edx,%esi
9886         xorl    %ecx,%edi
9887         movl    24(%esp),%ecx
9888         rorl    $14,%edx
9889         addl    %edi,%ebx
9890         movl    28(%esp),%edi
9891         xorl    %esi,%edx
9892         xorl    %edi,%ecx
9893         rorl    $5,%edx
9894         andl    %esi,%ecx
9895         movl    %esi,20(%esp)
9896         xorl    %esi,%edx
9897         addl    (%esp),%ebx
9898         xorl    %ecx,%edi
9899         rorl    $6,%edx
9900         movl    %ebp,%esi
9901         addl    %edi,%ebx
9902         rorl    $9,%esi
9903         movl    %ebp,%ecx
9904         movl    8(%esp),%edi
9905         xorl    %ebp,%esi
9906         movl    %ebp,4(%esp)
9907         xorl    %edi,%ebp
9908         rorl    $11,%esi
9909         andl    %ebp,%eax
9910         leal    3329325298(%ebx,%edx,1),%edx
9911         xorl    %ecx,%esi
9912         xorl    %edi,%eax
9913         rorl    $2,%esi
9914         addl    %edx,%eax
9915         addl    16(%esp),%edx
9916         addl    %esi,%eax
9917         movl    96(%esp),%esi
9918         xorl    %edi,%ebp
9919         movl    12(%esp),%ecx
9920         addl    (%esi),%eax
9921         addl    4(%esi),%ebp
9922         addl    8(%esi),%edi
9923         addl    12(%esi),%ecx
9924         movl    %eax,(%esi)
9925         movl    %ebp,4(%esi)
9926         movl    %edi,8(%esi)
9927         movl    %ecx,12(%esi)
9928         movl    %ebp,4(%esp)
9929         xorl    %edi,%ebp
9930         movl    %edi,8(%esp)
9931         movl    %ecx,12(%esp)
9932         movl    20(%esp),%edi
9933         movl    24(%esp),%ebx
9934         movl    28(%esp),%ecx
9935         addl    16(%esi),%edx
9936         addl    20(%esi),%edi
9937         addl    24(%esi),%ebx
9938         addl    28(%esi),%ecx
9939         movl    %edx,16(%esi)
9940         movl    %edi,20(%esi)
9941         movl    %ebx,24(%esi)
9942         movl    %ecx,28(%esi)
9943         movl    %edi,20(%esp)
9944         movl    100(%esp),%edi
9945         movl    %ebx,24(%esp)
9946         movl    %ecx,28(%esp)
9947         cmpl    104(%esp),%edi
9948         jb      .L010grand_loop
9949         movl    108(%esp),%esp
9950         popl    %edi
9951         popl    %esi
9952         popl    %ebx
9953         popl    %ebp
9954         ret
9955 .align  32
9956 .L004shaext:
9957         subl    $32,%esp
9958         movdqu  (%esi),%xmm1
9959         leal    128(%ebp),%ebp
9960         movdqu  16(%esi),%xmm2
9961         movdqa  128(%ebp),%xmm7
9962         pshufd  $27,%xmm1,%xmm0
9963         pshufd  $177,%xmm1,%xmm1
9964         pshufd  $27,%xmm2,%xmm2
9965 .byte   102,15,58,15,202,8
9966         punpcklqdq      %xmm0,%xmm2
9967         jmp     .L011loop_shaext
9968 .align  16
9969 .L011loop_shaext:
9970         movdqu  (%edi),%xmm3
9971         movdqu  16(%edi),%xmm4
9972         movdqu  32(%edi),%xmm5
9973 .byte   102,15,56,0,223
9974         movdqu  48(%edi),%xmm6
9975         movdqa  %xmm2,16(%esp)
9976         movdqa  -128(%ebp),%xmm0
9977         paddd   %xmm3,%xmm0
9978 .byte   102,15,56,0,231
9979 .byte   15,56,203,209
9980         pshufd  $14,%xmm0,%xmm0
9981         nop
9982         movdqa  %xmm1,(%esp)
9983 .byte   15,56,203,202
9984         movdqa  -112(%ebp),%xmm0
9985         paddd   %xmm4,%xmm0
9986 .byte   102,15,56,0,239
9987 .byte   15,56,203,209
9988         pshufd  $14,%xmm0,%xmm0
9989         leal    64(%edi),%edi
9990 .byte   15,56,204,220
9991 .byte   15,56,203,202
9992         movdqa  -96(%ebp),%xmm0
9993         paddd   %xmm5,%xmm0
9994 .byte   102,15,56,0,247
9995 .byte   15,56,203,209
9996         pshufd  $14,%xmm0,%xmm0
9997         movdqa  %xmm6,%xmm7
9998 .byte   102,15,58,15,253,4
9999         nop
10000         paddd   %xmm7,%xmm3
10001 .byte   15,56,204,229
10002 .byte   15,56,203,202
10003         movdqa  -80(%ebp),%xmm0
10004         paddd   %xmm6,%xmm0
10005 .byte   15,56,205,222
10006 .byte   15,56,203,209
10007         pshufd  $14,%xmm0,%xmm0
10008         movdqa  %xmm3,%xmm7
10009 .byte   102,15,58,15,254,4
10010         nop
10011         paddd   %xmm7,%xmm4
10012 .byte   15,56,204,238
10013 .byte   15,56,203,202
10014         movdqa  -64(%ebp),%xmm0
10015         paddd   %xmm3,%xmm0
10016 .byte   15,56,205,227
10017 .byte   15,56,203,209
10018         pshufd  $14,%xmm0,%xmm0
10019         movdqa  %xmm4,%xmm7
10020 .byte   102,15,58,15,251,4
10021         nop
10022         paddd   %xmm7,%xmm5
10023 .byte   15,56,204,243
10024 .byte   15,56,203,202
10025         movdqa  -48(%ebp),%xmm0
10026         paddd   %xmm4,%xmm0
10027 .byte   15,56,205,236
10028 .byte   15,56,203,209
10029         pshufd  $14,%xmm0,%xmm0
10030         movdqa  %xmm5,%xmm7
10031 .byte   102,15,58,15,252,4
10032         nop
10033         paddd   %xmm7,%xmm6
10034 .byte   15,56,204,220
10035 .byte   15,56,203,202
10036         movdqa  -32(%ebp),%xmm0
10037         paddd   %xmm5,%xmm0
10038 .byte   15,56,205,245
10039 .byte   15,56,203,209
10040         pshufd  $14,%xmm0,%xmm0
10041         movdqa  %xmm6,%xmm7
10042 .byte   102,15,58,15,253,4
10043         nop
10044         paddd   %xmm7,%xmm3
10045 .byte   15,56,204,229
10046 .byte   15,56,203,202
10047         movdqa  -16(%ebp),%xmm0
10048         paddd   %xmm6,%xmm0
10049 .byte   15,56,205,222
10050 .byte   15,56,203,209
10051         pshufd  $14,%xmm0,%xmm0
10052         movdqa  %xmm3,%xmm7
10053 .byte   102,15,58,15,254,4
10054         nop
10055         paddd   %xmm7,%xmm4
10056 .byte   15,56,204,238
10057 .byte   15,56,203,202
10058         movdqa  (%ebp),%xmm0
10059         paddd   %xmm3,%xmm0
10060 .byte   15,56,205,227
10061 .byte   15,56,203,209
10062         pshufd  $14,%xmm0,%xmm0
10063         movdqa  %xmm4,%xmm7
10064 .byte   102,15,58,15,251,4
10065         nop
10066         paddd   %xmm7,%xmm5
10067 .byte   15,56,204,243
10068 .byte   15,56,203,202
10069         movdqa  16(%ebp),%xmm0
10070         paddd   %xmm4,%xmm0
10071 .byte   15,56,205,236
10072 .byte   15,56,203,209
10073         pshufd  $14,%xmm0,%xmm0
10074         movdqa  %xmm5,%xmm7
10075 .byte   102,15,58,15,252,4
10076         nop
10077         paddd   %xmm7,%xmm6
10078 .byte   15,56,204,220
10079 .byte   15,56,203,202
10080         movdqa  32(%ebp),%xmm0
10081         paddd   %xmm5,%xmm0
10082 .byte   15,56,205,245
10083 .byte   15,56,203,209
10084         pshufd  $14,%xmm0,%xmm0
10085         movdqa  %xmm6,%xmm7
10086 .byte   102,15,58,15,253,4
10087         nop
10088         paddd   %xmm7,%xmm3
10089 .byte   15,56,204,229
10090 .byte   15,56,203,202
10091         movdqa  48(%ebp),%xmm0
10092         paddd   %xmm6,%xmm0
10093 .byte   15,56,205,222
10094 .byte   15,56,203,209
10095         pshufd  $14,%xmm0,%xmm0
10096         movdqa  %xmm3,%xmm7
10097 .byte   102,15,58,15,254,4
10098         nop
10099         paddd   %xmm7,%xmm4
10100 .byte   15,56,204,238
10101 .byte   15,56,203,202
10102         movdqa  64(%ebp),%xmm0
10103         paddd   %xmm3,%xmm0
10104 .byte   15,56,205,227
10105 .byte   15,56,203,209
10106         pshufd  $14,%xmm0,%xmm0
10107         movdqa  %xmm4,%xmm7
10108 .byte   102,15,58,15,251,4
10109         nop
10110         paddd   %xmm7,%xmm5
10111 .byte   15,56,204,243
10112 .byte   15,56,203,202
10113         movdqa  80(%ebp),%xmm0
10114         paddd   %xmm4,%xmm0
10115 .byte   15,56,205,236
10116 .byte   15,56,203,209
10117         pshufd  $14,%xmm0,%xmm0
10118         movdqa  %xmm5,%xmm7
10119 .byte   102,15,58,15,252,4
10120 .byte   15,56,203,202
10121         paddd   %xmm7,%xmm6
10122         movdqa  96(%ebp),%xmm0
10123         paddd   %xmm5,%xmm0
10124 .byte   15,56,203,209
10125         pshufd  $14,%xmm0,%xmm0
10126 .byte   15,56,205,245
10127         movdqa  128(%ebp),%xmm7
10128 .byte   15,56,203,202
10129         movdqa  112(%ebp),%xmm0
10130         paddd   %xmm6,%xmm0
10131         nop
10132 .byte   15,56,203,209
10133         pshufd  $14,%xmm0,%xmm0
10134         cmpl    %edi,%eax
10135         nop
10136 .byte   15,56,203,202
10137         paddd   16(%esp),%xmm2
10138         paddd   (%esp),%xmm1
10139         jnz     .L011loop_shaext
10140         pshufd  $177,%xmm2,%xmm2
10141         pshufd  $27,%xmm1,%xmm7
10142         pshufd  $177,%xmm1,%xmm1
10143         punpckhqdq      %xmm2,%xmm1
10144 .byte   102,15,58,15,215,8
10145         movl    44(%esp),%esp
10146         movdqu  %xmm1,(%esi)
10147         movdqu  %xmm2,16(%esi)
10148         popl    %edi
10149         popl    %esi
10150         popl    %ebx
10151         popl    %ebp
10152         ret
10153 .align  32
10154 .L006SSSE3:
10155         leal    -96(%esp),%esp
10156         movl    (%esi),%eax
10157         movl    4(%esi),%ebx
10158         movl    8(%esi),%ecx
10159         movl    12(%esi),%edi
10160         movl    %ebx,4(%esp)
10161         xorl    %ecx,%ebx
10162         movl    %ecx,8(%esp)
10163         movl    %edi,12(%esp)
10164         movl    16(%esi),%edx
10165         movl    20(%esi),%edi
10166         movl    24(%esi),%ecx
10167         movl    28(%esi),%esi
10168         movl    %edi,20(%esp)
10169         movl    100(%esp),%edi
10170         movl    %ecx,24(%esp)
10171         movl    %esi,28(%esp)
10172         movdqa  256(%ebp),%xmm7
10173         jmp     .L012grand_ssse3
10174 .align  16
10175 .L012grand_ssse3:
10176         movdqu  (%edi),%xmm0
10177         movdqu  16(%edi),%xmm1
10178         movdqu  32(%edi),%xmm2
10179         movdqu  48(%edi),%xmm3
10180         addl    $64,%edi
10181 .byte   102,15,56,0,199
10182         movl    %edi,100(%esp)
10183 .byte   102,15,56,0,207
10184         movdqa  (%ebp),%xmm4
10185 .byte   102,15,56,0,215
10186         movdqa  16(%ebp),%xmm5
10187         paddd   %xmm0,%xmm4
10188 .byte   102,15,56,0,223
10189         movdqa  32(%ebp),%xmm6
10190         paddd   %xmm1,%xmm5
10191         movdqa  48(%ebp),%xmm7
10192         movdqa  %xmm4,32(%esp)
10193         paddd   %xmm2,%xmm6
10194         movdqa  %xmm5,48(%esp)
10195         paddd   %xmm3,%xmm7
10196         movdqa  %xmm6,64(%esp)
10197         movdqa  %xmm7,80(%esp)
10198         jmp     .L013ssse3_00_47
10199 .align  16
10200 .L013ssse3_00_47:
10201         addl    $64,%ebp
10202         movl    %edx,%ecx
10203         movdqa  %xmm1,%xmm4
10204         rorl    $14,%edx
10205         movl    20(%esp),%esi
10206         movdqa  %xmm3,%xmm7
10207         xorl    %ecx,%edx
10208         movl    24(%esp),%edi
10209 .byte   102,15,58,15,224,4
10210         xorl    %edi,%esi
10211         rorl    $5,%edx
10212         andl    %ecx,%esi
10213 .byte   102,15,58,15,250,4
10214         movl    %ecx,16(%esp)
10215         xorl    %ecx,%edx
10216         xorl    %esi,%edi
10217         movdqa  %xmm4,%xmm5
10218         rorl    $6,%edx
10219         movl    %eax,%ecx
10220         movdqa  %xmm4,%xmm6
10221         addl    %edi,%edx
10222         movl    4(%esp),%edi
10223         psrld   $3,%xmm4
10224         movl    %eax,%esi
10225         rorl    $9,%ecx
10226         paddd   %xmm7,%xmm0
10227         movl    %eax,(%esp)
10228         xorl    %eax,%ecx
10229         psrld   $7,%xmm6
10230         xorl    %edi,%eax
10231         addl    28(%esp),%edx
10232         rorl    $11,%ecx
10233         andl    %eax,%ebx
10234         pshufd  $250,%xmm3,%xmm7
10235         xorl    %esi,%ecx
10236         addl    32(%esp),%edx
10237         pslld   $14,%xmm5
10238         xorl    %edi,%ebx
10239         rorl    $2,%ecx
10240         pxor    %xmm6,%xmm4
10241         addl    %edx,%ebx
10242         addl    12(%esp),%edx
10243         psrld   $11,%xmm6
10244         addl    %ecx,%ebx
10245         movl    %edx,%ecx
10246         rorl    $14,%edx
10247         pxor    %xmm5,%xmm4
10248         movl    16(%esp),%esi
10249         xorl    %ecx,%edx
10250         pslld   $11,%xmm5
10251         movl    20(%esp),%edi
10252         xorl    %edi,%esi
10253         rorl    $5,%edx
10254         pxor    %xmm6,%xmm4
10255         andl    %ecx,%esi
10256         movl    %ecx,12(%esp)
10257         movdqa  %xmm7,%xmm6
10258         xorl    %ecx,%edx
10259         xorl    %esi,%edi
10260         rorl    $6,%edx
10261         pxor    %xmm5,%xmm4
10262         movl    %ebx,%ecx
10263         addl    %edi,%edx
10264         psrld   $10,%xmm7
10265         movl    (%esp),%edi
10266         movl    %ebx,%esi
10267         rorl    $9,%ecx
10268         paddd   %xmm4,%xmm0
10269         movl    %ebx,28(%esp)
10270         xorl    %ebx,%ecx
10271         psrlq   $17,%xmm6
10272         xorl    %edi,%ebx
10273         addl    24(%esp),%edx
10274         rorl    $11,%ecx
10275         pxor    %xmm6,%xmm7
10276         andl    %ebx,%eax
10277         xorl    %esi,%ecx
10278         psrlq   $2,%xmm6
10279         addl    36(%esp),%edx
10280         xorl    %edi,%eax
10281         rorl    $2,%ecx
10282         pxor    %xmm6,%xmm7
10283         addl    %edx,%eax
10284         addl    8(%esp),%edx
10285         pshufd  $128,%xmm7,%xmm7
10286         addl    %ecx,%eax
10287         movl    %edx,%ecx
10288         rorl    $14,%edx
10289         movl    12(%esp),%esi
10290         xorl    %ecx,%edx
10291         movl    16(%esp),%edi
10292         xorl    %edi,%esi
10293         rorl    $5,%edx
10294         andl    %ecx,%esi
10295         psrldq  $8,%xmm7
10296         movl    %ecx,8(%esp)
10297         xorl    %ecx,%edx
10298         xorl    %esi,%edi
10299         paddd   %xmm7,%xmm0
10300         rorl    $6,%edx
10301         movl    %eax,%ecx
10302         addl    %edi,%edx
10303         movl    28(%esp),%edi
10304         movl    %eax,%esi
10305         rorl    $9,%ecx
10306         movl    %eax,24(%esp)
10307         pshufd  $80,%xmm0,%xmm7
10308         xorl    %eax,%ecx
10309         xorl    %edi,%eax
10310         addl    20(%esp),%edx
10311         movdqa  %xmm7,%xmm6
10312         rorl    $11,%ecx
10313         psrld   $10,%xmm7
10314         andl    %eax,%ebx
10315         psrlq   $17,%xmm6
10316         xorl    %esi,%ecx
10317         addl    40(%esp),%edx
10318         xorl    %edi,%ebx
10319         rorl    $2,%ecx
10320         pxor    %xmm6,%xmm7
10321         addl    %edx,%ebx
10322         addl    4(%esp),%edx
10323         psrlq   $2,%xmm6
10324         addl    %ecx,%ebx
10325         movl    %edx,%ecx
10326         rorl    $14,%edx
10327         pxor    %xmm6,%xmm7
10328         movl    8(%esp),%esi
10329         xorl    %ecx,%edx
10330         movl    12(%esp),%edi
10331         pshufd  $8,%xmm7,%xmm7
10332         xorl    %edi,%esi
10333         rorl    $5,%edx
10334         movdqa  (%ebp),%xmm6
10335         andl    %ecx,%esi
10336         movl    %ecx,4(%esp)
10337         pslldq  $8,%xmm7
10338         xorl    %ecx,%edx
10339         xorl    %esi,%edi
10340         rorl    $6,%edx
10341         movl    %ebx,%ecx
10342         addl    %edi,%edx
10343         movl    24(%esp),%edi
10344         movl    %ebx,%esi
10345         rorl    $9,%ecx
10346         paddd   %xmm7,%xmm0
10347         movl    %ebx,20(%esp)
10348         xorl    %ebx,%ecx
10349         xorl    %edi,%ebx
10350         addl    16(%esp),%edx
10351         paddd   %xmm0,%xmm6
10352         rorl    $11,%ecx
10353         andl    %ebx,%eax
10354         xorl    %esi,%ecx
10355         addl    44(%esp),%edx
10356         xorl    %edi,%eax
10357         rorl    $2,%ecx
10358         addl    %edx,%eax
10359         addl    (%esp),%edx
10360         addl    %ecx,%eax
10361         movdqa  %xmm6,32(%esp)
10362         movl    %edx,%ecx
10363         movdqa  %xmm2,%xmm4
10364         rorl    $14,%edx
10365         movl    4(%esp),%esi
10366         movdqa  %xmm0,%xmm7
10367         xorl    %ecx,%edx
10368         movl    8(%esp),%edi
10369 .byte   102,15,58,15,225,4
10370         xorl    %edi,%esi
10371         rorl    $5,%edx
10372         andl    %ecx,%esi
10373 .byte   102,15,58,15,251,4
10374         movl    %ecx,(%esp)
10375         xorl    %ecx,%edx
10376         xorl    %esi,%edi
10377         movdqa  %xmm4,%xmm5
10378         rorl    $6,%edx
10379         movl    %eax,%ecx
10380         movdqa  %xmm4,%xmm6
10381         addl    %edi,%edx
10382         movl    20(%esp),%edi
10383         psrld   $3,%xmm4
10384         movl    %eax,%esi
10385         rorl    $9,%ecx
10386         paddd   %xmm7,%xmm1
10387         movl    %eax,16(%esp)
10388         xorl    %eax,%ecx
10389         psrld   $7,%xmm6
10390         xorl    %edi,%eax
10391         addl    12(%esp),%edx
10392         rorl    $11,%ecx
10393         andl    %eax,%ebx
10394         pshufd  $250,%xmm0,%xmm7
10395         xorl    %esi,%ecx
10396         addl    48(%esp),%edx
10397         pslld   $14,%xmm5
10398         xorl    %edi,%ebx
10399         rorl    $2,%ecx
10400         pxor    %xmm6,%xmm4
10401         addl    %edx,%ebx
10402         addl    28(%esp),%edx
10403         psrld   $11,%xmm6
10404         addl    %ecx,%ebx
10405         movl    %edx,%ecx
10406         rorl    $14,%edx
10407         pxor    %xmm5,%xmm4
10408         movl    (%esp),%esi
10409         xorl    %ecx,%edx
10410         pslld   $11,%xmm5
10411         movl    4(%esp),%edi
10412         xorl    %edi,%esi
10413         rorl    $5,%edx
10414         pxor    %xmm6,%xmm4
10415         andl    %ecx,%esi
10416         movl    %ecx,28(%esp)
10417         movdqa  %xmm7,%xmm6
10418         xorl    %ecx,%edx
10419         xorl    %esi,%edi
10420         rorl    $6,%edx
10421         pxor    %xmm5,%xmm4
10422         movl    %ebx,%ecx
10423         addl    %edi,%edx
10424         psrld   $10,%xmm7
10425         movl    16(%esp),%edi
10426         movl    %ebx,%esi
10427         rorl    $9,%ecx
10428         paddd   %xmm4,%xmm1
10429         movl    %ebx,12(%esp)
10430         xorl    %ebx,%ecx
10431         psrlq   $17,%xmm6
10432         xorl    %edi,%ebx
10433         addl    8(%esp),%edx
10434         rorl    $11,%ecx
10435         pxor    %xmm6,%xmm7
10436         andl    %ebx,%eax
10437         xorl    %esi,%ecx
10438         psrlq   $2,%xmm6
10439         addl    52(%esp),%edx
10440         xorl    %edi,%eax
10441         rorl    $2,%ecx
10442         pxor    %xmm6,%xmm7
10443         addl    %edx,%eax
10444         addl    24(%esp),%edx
10445         pshufd  $128,%xmm7,%xmm7
10446         addl    %ecx,%eax
10447         movl    %edx,%ecx
10448         rorl    $14,%edx
10449         movl    28(%esp),%esi
10450         xorl    %ecx,%edx
10451         movl    (%esp),%edi
10452         xorl    %edi,%esi
10453         rorl    $5,%edx
10454         andl    %ecx,%esi
10455         psrldq  $8,%xmm7
10456         movl    %ecx,24(%esp)
10457         xorl    %ecx,%edx
10458         xorl    %esi,%edi
10459         paddd   %xmm7,%xmm1
10460         rorl    $6,%edx
10461         movl    %eax,%ecx
10462         addl    %edi,%edx
10463         movl    12(%esp),%edi
10464         movl    %eax,%esi
10465         rorl    $9,%ecx
10466         movl    %eax,8(%esp)
10467         pshufd  $80,%xmm1,%xmm7
10468         xorl    %eax,%ecx
10469         xorl    %edi,%eax
10470         addl    4(%esp),%edx
10471         movdqa  %xmm7,%xmm6
10472         rorl    $11,%ecx
10473         psrld   $10,%xmm7
10474         andl    %eax,%ebx
10475         psrlq   $17,%xmm6
10476         xorl    %esi,%ecx
10477         addl    56(%esp),%edx
10478         xorl    %edi,%ebx
10479         rorl    $2,%ecx
10480         pxor    %xmm6,%xmm7
10481         addl    %edx,%ebx
10482         addl    20(%esp),%edx
10483         psrlq   $2,%xmm6
10484         addl    %ecx,%ebx
10485         movl    %edx,%ecx
10486         rorl    $14,%edx
10487         pxor    %xmm6,%xmm7
10488         movl    24(%esp),%esi
10489         xorl    %ecx,%edx
10490         movl    28(%esp),%edi
10491         pshufd  $8,%xmm7,%xmm7
10492         xorl    %edi,%esi
10493         rorl    $5,%edx
10494         movdqa  16(%ebp),%xmm6
10495         andl    %ecx,%esi
10496         movl    %ecx,20(%esp)
10497         pslldq  $8,%xmm7
10498         xorl    %ecx,%edx
10499         xorl    %esi,%edi
10500         rorl    $6,%edx
10501         movl    %ebx,%ecx
10502         addl    %edi,%edx
10503         movl    8(%esp),%edi
10504         movl    %ebx,%esi
10505         rorl    $9,%ecx
10506         paddd   %xmm7,%xmm1
10507         movl    %ebx,4(%esp)
10508         xorl    %ebx,%ecx
10509         xorl    %edi,%ebx
10510         addl    (%esp),%edx
10511         paddd   %xmm1,%xmm6
10512         rorl    $11,%ecx
10513         andl    %ebx,%eax
10514         xorl    %esi,%ecx
10515         addl    60(%esp),%edx
10516         xorl    %edi,%eax
10517         rorl    $2,%ecx
10518         addl    %edx,%eax
10519         addl    16(%esp),%edx
10520         addl    %ecx,%eax
10521         movdqa  %xmm6,48(%esp)
10522         movl    %edx,%ecx
10523         movdqa  %xmm3,%xmm4
10524         rorl    $14,%edx
10525         movl    20(%esp),%esi
10526         movdqa  %xmm1,%xmm7
10527         xorl    %ecx,%edx
10528         movl    24(%esp),%edi
10529 .byte   102,15,58,15,226,4
10530         xorl    %edi,%esi
10531         rorl    $5,%edx
10532         andl    %ecx,%esi
10533 .byte   102,15,58,15,248,4
10534         movl    %ecx,16(%esp)
10535         xorl    %ecx,%edx
10536         xorl    %esi,%edi
10537         movdqa  %xmm4,%xmm5
10538         rorl    $6,%edx
10539         movl    %eax,%ecx
10540         movdqa  %xmm4,%xmm6
10541         addl    %edi,%edx
10542         movl    4(%esp),%edi
10543         psrld   $3,%xmm4
10544         movl    %eax,%esi
10545         rorl    $9,%ecx
10546         paddd   %xmm7,%xmm2
10547         movl    %eax,(%esp)
10548         xorl    %eax,%ecx
10549         psrld   $7,%xmm6
10550         xorl    %edi,%eax
10551         addl    28(%esp),%edx
10552         rorl    $11,%ecx
10553         andl    %eax,%ebx
10554         pshufd  $250,%xmm1,%xmm7
10555         xorl    %esi,%ecx
10556         addl    64(%esp),%edx
10557         pslld   $14,%xmm5
10558         xorl    %edi,%ebx
10559         rorl    $2,%ecx
10560         pxor    %xmm6,%xmm4
10561         addl    %edx,%ebx
10562         addl    12(%esp),%edx
10563         psrld   $11,%xmm6
10564         addl    %ecx,%ebx
10565         movl    %edx,%ecx
10566         rorl    $14,%edx
10567         pxor    %xmm5,%xmm4
10568         movl    16(%esp),%esi
10569         xorl    %ecx,%edx
10570         pslld   $11,%xmm5
10571         movl    20(%esp),%edi
10572         xorl    %edi,%esi
10573         rorl    $5,%edx
10574         pxor    %xmm6,%xmm4
10575         andl    %ecx,%esi
10576         movl    %ecx,12(%esp)
10577         movdqa  %xmm7,%xmm6
10578         xorl    %ecx,%edx
10579         xorl    %esi,%edi
10580         rorl    $6,%edx
10581         pxor    %xmm5,%xmm4
10582         movl    %ebx,%ecx
10583         addl    %edi,%edx
10584         psrld   $10,%xmm7
10585         movl    (%esp),%edi
10586         movl    %ebx,%esi
10587         rorl    $9,%ecx
10588         paddd   %xmm4,%xmm2
10589         movl    %ebx,28(%esp)
10590         xorl    %ebx,%ecx
10591         psrlq   $17,%xmm6
10592         xorl    %edi,%ebx
10593         addl    24(%esp),%edx
10594         rorl    $11,%ecx
10595         pxor    %xmm6,%xmm7
10596         andl    %ebx,%eax
10597         xorl    %esi,%ecx
10598         psrlq   $2,%xmm6
10599         addl    68(%esp),%edx
10600         xorl    %edi,%eax
10601         rorl    $2,%ecx
10602         pxor    %xmm6,%xmm7
10603         addl    %edx,%eax
10604         addl    8(%esp),%edx
10605         pshufd  $128,%xmm7,%xmm7
10606         addl    %ecx,%eax
10607         movl    %edx,%ecx
10608         rorl    $14,%edx
10609         movl    12(%esp),%esi
10610         xorl    %ecx,%edx
10611         movl    16(%esp),%edi
10612         xorl    %edi,%esi
10613         rorl    $5,%edx
10614         andl    %ecx,%esi
10615         psrldq  $8,%xmm7
10616         movl    %ecx,8(%esp)
10617         xorl    %ecx,%edx
10618         xorl    %esi,%edi
10619         paddd   %xmm7,%xmm2
10620         rorl    $6,%edx
10621         movl    %eax,%ecx
10622         addl    %edi,%edx
10623         movl    28(%esp),%edi
10624         movl    %eax,%esi
10625         rorl    $9,%ecx
10626         movl    %eax,24(%esp)
10627         pshufd  $80,%xmm2,%xmm7
10628         xorl    %eax,%ecx
10629         xorl    %edi,%eax
10630         addl    20(%esp),%edx
10631         movdqa  %xmm7,%xmm6
10632         rorl    $11,%ecx
10633         psrld   $10,%xmm7
10634         andl    %eax,%ebx
10635         psrlq   $17,%xmm6
10636         xorl    %esi,%ecx
10637         addl    72(%esp),%edx
10638         xorl    %edi,%ebx
10639         rorl    $2,%ecx
10640         pxor    %xmm6,%xmm7
10641         addl    %edx,%ebx
10642         addl    4(%esp),%edx
10643         psrlq   $2,%xmm6
10644         addl    %ecx,%ebx
10645         movl    %edx,%ecx
10646         rorl    $14,%edx
10647         pxor    %xmm6,%xmm7
10648         movl    8(%esp),%esi
10649         xorl    %ecx,%edx
10650         movl    12(%esp),%edi
10651         pshufd  $8,%xmm7,%xmm7
10652         xorl    %edi,%esi
10653         rorl    $5,%edx
10654         movdqa  32(%ebp),%xmm6
10655         andl    %ecx,%esi
10656         movl    %ecx,4(%esp)
10657         pslldq  $8,%xmm7
10658         xorl    %ecx,%edx
10659         xorl    %esi,%edi
10660         rorl    $6,%edx
10661         movl    %ebx,%ecx
10662         addl    %edi,%edx
10663         movl    24(%esp),%edi
10664         movl    %ebx,%esi
10665         rorl    $9,%ecx
10666         paddd   %xmm7,%xmm2
10667         movl    %ebx,20(%esp)
10668         xorl    %ebx,%ecx
10669         xorl    %edi,%ebx
10670         addl    16(%esp),%edx
10671         paddd   %xmm2,%xmm6
10672         rorl    $11,%ecx
10673         andl    %ebx,%eax
10674         xorl    %esi,%ecx
10675         addl    76(%esp),%edx
10676         xorl    %edi,%eax
10677         rorl    $2,%ecx
10678         addl    %edx,%eax
10679         addl    (%esp),%edx
10680         addl    %ecx,%eax
10681         movdqa  %xmm6,64(%esp)
10682         movl    %edx,%ecx
10683         movdqa  %xmm0,%xmm4
10684         rorl    $14,%edx
10685         movl    4(%esp),%esi
10686         movdqa  %xmm2,%xmm7
10687         xorl    %ecx,%edx
10688         movl    8(%esp),%edi
10689 .byte   102,15,58,15,227,4
10690         xorl    %edi,%esi
10691         rorl    $5,%edx
10692         andl    %ecx,%esi
10693 .byte   102,15,58,15,249,4
10694         movl    %ecx,(%esp)
10695         xorl    %ecx,%edx
10696         xorl    %esi,%edi
10697         movdqa  %xmm4,%xmm5
10698         rorl    $6,%edx
10699         movl    %eax,%ecx
10700         movdqa  %xmm4,%xmm6
10701         addl    %edi,%edx
10702         movl    20(%esp),%edi
10703         psrld   $3,%xmm4
10704         movl    %eax,%esi
10705         rorl    $9,%ecx
10706         paddd   %xmm7,%xmm3
10707         movl    %eax,16(%esp)
10708         xorl    %eax,%ecx
10709         psrld   $7,%xmm6
10710         xorl    %edi,%eax
10711         addl    12(%esp),%edx
10712         rorl    $11,%ecx
10713         andl    %eax,%ebx
10714         pshufd  $250,%xmm2,%xmm7
10715         xorl    %esi,%ecx
10716         addl    80(%esp),%edx
10717         pslld   $14,%xmm5
10718         xorl    %edi,%ebx
10719         rorl    $2,%ecx
10720         pxor    %xmm6,%xmm4
10721         addl    %edx,%ebx
10722         addl    28(%esp),%edx
10723         psrld   $11,%xmm6
10724         addl    %ecx,%ebx
10725         movl    %edx,%ecx
10726         rorl    $14,%edx
10727         pxor    %xmm5,%xmm4
10728         movl    (%esp),%esi
10729         xorl    %ecx,%edx
10730         pslld   $11,%xmm5
10731         movl    4(%esp),%edi
10732         xorl    %edi,%esi
10733         rorl    $5,%edx
10734         pxor    %xmm6,%xmm4
10735         andl    %ecx,%esi
10736         movl    %ecx,28(%esp)
10737         movdqa  %xmm7,%xmm6
10738         xorl    %ecx,%edx
10739         xorl    %esi,%edi
10740         rorl    $6,%edx
10741         pxor    %xmm5,%xmm4
10742         movl    %ebx,%ecx
10743         addl    %edi,%edx
10744         psrld   $10,%xmm7
10745         movl    16(%esp),%edi
10746         movl    %ebx,%esi
10747         rorl    $9,%ecx
10748         paddd   %xmm4,%xmm3
10749         movl    %ebx,12(%esp)
10750         xorl    %ebx,%ecx
10751         psrlq   $17,%xmm6
10752         xorl    %edi,%ebx
10753         addl    8(%esp),%edx
10754         rorl    $11,%ecx
10755         pxor    %xmm6,%xmm7
10756         andl    %ebx,%eax
10757         xorl    %esi,%ecx
10758         psrlq   $2,%xmm6
10759         addl    84(%esp),%edx
10760         xorl    %edi,%eax
10761         rorl    $2,%ecx
10762         pxor    %xmm6,%xmm7
10763         addl    %edx,%eax
10764         addl    24(%esp),%edx
10765         pshufd  $128,%xmm7,%xmm7
10766         addl    %ecx,%eax
10767         movl    %edx,%ecx
10768         rorl    $14,%edx
10769         movl    28(%esp),%esi
10770         xorl    %ecx,%edx
10771         movl    (%esp),%edi
10772         xorl    %edi,%esi
10773         rorl    $5,%edx
10774         andl    %ecx,%esi
10775         psrldq  $8,%xmm7
10776         movl    %ecx,24(%esp)
10777         xorl    %ecx,%edx
10778         xorl    %esi,%edi
10779         paddd   %xmm7,%xmm3
10780         rorl    $6,%edx
10781         movl    %eax,%ecx
10782         addl    %edi,%edx
10783         movl    12(%esp),%edi
10784         movl    %eax,%esi
10785         rorl    $9,%ecx
10786         movl    %eax,8(%esp)
10787         pshufd  $80,%xmm3,%xmm7
10788         xorl    %eax,%ecx
10789         xorl    %edi,%eax
10790         addl    4(%esp),%edx
10791         movdqa  %xmm7,%xmm6
10792         rorl    $11,%ecx
10793         psrld   $10,%xmm7
10794         andl    %eax,%ebx
10795         psrlq   $17,%xmm6
10796         xorl    %esi,%ecx
10797         addl    88(%esp),%edx
10798         xorl    %edi,%ebx
10799         rorl    $2,%ecx
10800         pxor    %xmm6,%xmm7
10801         addl    %edx,%ebx
10802         addl    20(%esp),%edx
10803         psrlq   $2,%xmm6
10804         addl    %ecx,%ebx
10805         movl    %edx,%ecx
10806         rorl    $14,%edx
10807         pxor    %xmm6,%xmm7
10808         movl    24(%esp),%esi
10809         xorl    %ecx,%edx
10810         movl    28(%esp),%edi
10811         pshufd  $8,%xmm7,%xmm7
10812         xorl    %edi,%esi
10813         rorl    $5,%edx
10814         movdqa  48(%ebp),%xmm6
10815         andl    %ecx,%esi
10816         movl    %ecx,20(%esp)
10817         pslldq  $8,%xmm7
10818         xorl    %ecx,%edx
10819         xorl    %esi,%edi
10820         rorl    $6,%edx
10821         movl    %ebx,%ecx
10822         addl    %edi,%edx
10823         movl    8(%esp),%edi
10824         movl    %ebx,%esi
10825         rorl    $9,%ecx
10826         paddd   %xmm7,%xmm3
10827         movl    %ebx,4(%esp)
10828         xorl    %ebx,%ecx
10829         xorl    %edi,%ebx
10830         addl    (%esp),%edx
10831         paddd   %xmm3,%xmm6
10832         rorl    $11,%ecx
10833         andl    %ebx,%eax
10834         xorl    %esi,%ecx
10835         addl    92(%esp),%edx
10836         xorl    %edi,%eax
10837         rorl    $2,%ecx
10838         addl    %edx,%eax
10839         addl    16(%esp),%edx
10840         addl    %ecx,%eax
10841         movdqa  %xmm6,80(%esp)
10842         cmpl    $66051,64(%ebp)
10843         jne     .L013ssse3_00_47
10844         movl    %edx,%ecx
10845         rorl    $14,%edx
10846         movl    20(%esp),%esi
10847         xorl    %ecx,%edx
10848         movl    24(%esp),%edi
10849         xorl    %edi,%esi
10850         rorl    $5,%edx
10851         andl    %ecx,%esi
10852         movl    %ecx,16(%esp)
10853         xorl    %ecx,%edx
10854         xorl    %esi,%edi
10855         rorl    $6,%edx
10856         movl    %eax,%ecx
10857         addl    %edi,%edx
10858         movl    4(%esp),%edi
10859         movl    %eax,%esi
10860         rorl    $9,%ecx
10861         movl    %eax,(%esp)
10862         xorl    %eax,%ecx
10863         xorl    %edi,%eax
10864         addl    28(%esp),%edx
10865         rorl    $11,%ecx
10866         andl    %eax,%ebx
10867         xorl    %esi,%ecx
10868         addl    32(%esp),%edx
10869         xorl    %edi,%ebx
10870         rorl    $2,%ecx
10871         addl    %edx,%ebx
10872         addl    12(%esp),%edx
10873         addl    %ecx,%ebx
10874         movl    %edx,%ecx
10875         rorl    $14,%edx
10876         movl    16(%esp),%esi
10877         xorl    %ecx,%edx
10878         movl    20(%esp),%edi
10879         xorl    %edi,%esi
10880         rorl    $5,%edx
10881         andl    %ecx,%esi
10882         movl    %ecx,12(%esp)
10883         xorl    %ecx,%edx
10884         xorl    %esi,%edi
10885         rorl    $6,%edx
10886         movl    %ebx,%ecx
10887         addl    %edi,%edx
10888         movl    (%esp),%edi
10889         movl    %ebx,%esi
10890         rorl    $9,%ecx
10891         movl    %ebx,28(%esp)
10892         xorl    %ebx,%ecx
10893         xorl    %edi,%ebx
10894         addl    24(%esp),%edx
10895         rorl    $11,%ecx
10896         andl    %ebx,%eax
10897         xorl    %esi,%ecx
10898         addl    36(%esp),%edx
10899         xorl    %edi,%eax
10900         rorl    $2,%ecx
10901         addl    %edx,%eax
10902         addl    8(%esp),%edx
10903         addl    %ecx,%eax
10904         movl    %edx,%ecx
10905         rorl    $14,%edx
10906         movl    12(%esp),%esi
10907         xorl    %ecx,%edx
10908         movl    16(%esp),%edi
10909         xorl    %edi,%esi
10910         rorl    $5,%edx
10911         andl    %ecx,%esi
10912         movl    %ecx,8(%esp)
10913         xorl    %ecx,%edx
10914         xorl    %esi,%edi
10915         rorl    $6,%edx
10916         movl    %eax,%ecx
10917         addl    %edi,%edx
10918         movl    28(%esp),%edi
10919         movl    %eax,%esi
10920         rorl    $9,%ecx
10921         movl    %eax,24(%esp)
10922         xorl    %eax,%ecx
10923         xorl    %edi,%eax
10924         addl    20(%esp),%edx
10925         rorl    $11,%ecx
10926         andl    %eax,%ebx
10927         xorl    %esi,%ecx
10928         addl    40(%esp),%edx
10929         xorl    %edi,%ebx
10930         rorl    $2,%ecx
10931         addl    %edx,%ebx
10932         addl    4(%esp),%edx
10933         addl    %ecx,%ebx
10934         movl    %edx,%ecx
10935         rorl    $14,%edx
10936         movl    8(%esp),%esi
10937         xorl    %ecx,%edx
10938         movl    12(%esp),%edi
10939         xorl    %edi,%esi
10940         rorl    $5,%edx
10941         andl    %ecx,%esi
10942         movl    %ecx,4(%esp)
10943         xorl    %ecx,%edx
10944         xorl    %esi,%edi
10945         rorl    $6,%edx
10946         movl    %ebx,%ecx
10947         addl    %edi,%edx
10948         movl    24(%esp),%edi
10949         movl    %ebx,%esi
10950         rorl    $9,%ecx
10951         movl    %ebx,20(%esp)
10952         xorl    %ebx,%ecx
10953         xorl    %edi,%ebx
10954         addl    16(%esp),%edx
10955         rorl    $11,%ecx
10956         andl    %ebx,%eax
10957         xorl    %esi,%ecx
10958         addl    44(%esp),%edx
10959         xorl    %edi,%eax
10960         rorl    $2,%ecx
10961         addl    %edx,%eax
10962         addl    (%esp),%edx
10963         addl    %ecx,%eax
10964         movl    %edx,%ecx
10965         rorl    $14,%edx
10966         movl    4(%esp),%esi
10967         xorl    %ecx,%edx
10968         movl    8(%esp),%edi
10969         xorl    %edi,%esi
10970         rorl    $5,%edx
10971         andl    %ecx,%esi
10972         movl    %ecx,(%esp)
10973         xorl    %ecx,%edx
10974         xorl    %esi,%edi
10975         rorl    $6,%edx
10976         movl    %eax,%ecx
10977         addl    %edi,%edx
10978         movl    20(%esp),%edi
10979         movl    %eax,%esi
10980         rorl    $9,%ecx
10981         movl    %eax,16(%esp)
10982         xorl    %eax,%ecx
10983         xorl    %edi,%eax
10984         addl    12(%esp),%edx
10985         rorl    $11,%ecx
10986         andl    %eax,%ebx
10987         xorl    %esi,%ecx
10988         addl    48(%esp),%edx
10989         xorl    %edi,%ebx
10990         rorl    $2,%ecx
10991         addl    %edx,%ebx
10992         addl    28(%esp),%edx
10993         addl    %ecx,%ebx
10994         movl    %edx,%ecx
10995         rorl    $14,%edx
10996         movl    (%esp),%esi
10997         xorl    %ecx,%edx
10998         movl    4(%esp),%edi
10999         xorl    %edi,%esi
11000         rorl    $5,%edx
11001         andl    %ecx,%esi
11002         movl    %ecx,28(%esp)
11003         xorl    %ecx,%edx
11004         xorl    %esi,%edi
11005         rorl    $6,%edx
11006         movl    %ebx,%ecx
11007         addl    %edi,%edx
11008         movl    16(%esp),%edi
11009         movl    %ebx,%esi
11010         rorl    $9,%ecx
11011         movl    %ebx,12(%esp)
11012         xorl    %ebx,%ecx
11013         xorl    %edi,%ebx
11014         addl    8(%esp),%edx
11015         rorl    $11,%ecx
11016         andl    %ebx,%eax
11017         xorl    %esi,%ecx
11018         addl    52(%esp),%edx
11019         xorl    %edi,%eax
11020         rorl    $2,%ecx
11021         addl    %edx,%eax
11022         addl    24(%esp),%edx
11023         addl    %ecx,%eax
11024         movl    %edx,%ecx
11025         rorl    $14,%edx
11026         movl    28(%esp),%esi
11027         xorl    %ecx,%edx
11028         movl    (%esp),%edi
11029         xorl    %edi,%esi
11030         rorl    $5,%edx
11031         andl    %ecx,%esi
11032         movl    %ecx,24(%esp)
11033         xorl    %ecx,%edx
11034         xorl    %esi,%edi
11035         rorl    $6,%edx
11036         movl    %eax,%ecx
11037         addl    %edi,%edx
11038         movl    12(%esp),%edi
11039         movl    %eax,%esi
11040         rorl    $9,%ecx
11041         movl    %eax,8(%esp)
11042         xorl    %eax,%ecx
11043         xorl    %edi,%eax
11044         addl    4(%esp),%edx
11045         rorl    $11,%ecx
11046         andl    %eax,%ebx
11047         xorl    %esi,%ecx
11048         addl    56(%esp),%edx
11049         xorl    %edi,%ebx
11050         rorl    $2,%ecx
11051         addl    %edx,%ebx
11052         addl    20(%esp),%edx
11053         addl    %ecx,%ebx
11054         movl    %edx,%ecx
11055         rorl    $14,%edx
11056         movl    24(%esp),%esi
11057         xorl    %ecx,%edx
11058         movl    28(%esp),%edi
11059         xorl    %edi,%esi
11060         rorl    $5,%edx
11061         andl    %ecx,%esi
11062         movl    %ecx,20(%esp)
11063         xorl    %ecx,%edx
11064         xorl    %esi,%edi
11065         rorl    $6,%edx
11066         movl    %ebx,%ecx
11067         addl    %edi,%edx
11068         movl    8(%esp),%edi
11069         movl    %ebx,%esi
11070         rorl    $9,%ecx
11071         movl    %ebx,4(%esp)
11072         xorl    %ebx,%ecx
11073         xorl    %edi,%ebx
11074         addl    (%esp),%edx
11075         rorl    $11,%ecx
11076         andl    %ebx,%eax
11077         xorl    %esi,%ecx
11078         addl    60(%esp),%edx
11079         xorl    %edi,%eax
11080         rorl    $2,%ecx
11081         addl    %edx,%eax
11082         addl    16(%esp),%edx
11083         addl    %ecx,%eax
11084         movl    %edx,%ecx
11085         rorl    $14,%edx
11086         movl    20(%esp),%esi
11087         xorl    %ecx,%edx
11088         movl    24(%esp),%edi
11089         xorl    %edi,%esi
11090         rorl    $5,%edx
11091         andl    %ecx,%esi
11092         movl    %ecx,16(%esp)
11093         xorl    %ecx,%edx
11094         xorl    %esi,%edi
11095         rorl    $6,%edx
11096         movl    %eax,%ecx
11097         addl    %edi,%edx
11098         movl    4(%esp),%edi
11099         movl    %eax,%esi
11100         rorl    $9,%ecx
11101         movl    %eax,(%esp)
11102         xorl    %eax,%ecx
11103         xorl    %edi,%eax
11104         addl    28(%esp),%edx
11105         rorl    $11,%ecx
11106         andl    %eax,%ebx
11107         xorl    %esi,%ecx
11108         addl    64(%esp),%edx
11109         xorl    %edi,%ebx
11110         rorl    $2,%ecx
11111         addl    %edx,%ebx
11112         addl    12(%esp),%edx
11113         addl    %ecx,%ebx
11114         movl    %edx,%ecx
11115         rorl    $14,%edx
11116         movl    16(%esp),%esi
11117         xorl    %ecx,%edx
11118         movl    20(%esp),%edi
11119         xorl    %edi,%esi
11120         rorl    $5,%edx
11121         andl    %ecx,%esi
11122         movl    %ecx,12(%esp)
11123         xorl    %ecx,%edx
11124         xorl    %esi,%edi
11125         rorl    $6,%edx
11126         movl    %ebx,%ecx
11127         addl    %edi,%edx
11128         movl    (%esp),%edi
11129         movl    %ebx,%esi
11130         rorl    $9,%ecx
11131         movl    %ebx,28(%esp)
11132         xorl    %ebx,%ecx
11133         xorl    %edi,%ebx
11134         addl    24(%esp),%edx
11135         rorl    $11,%ecx
11136         andl    %ebx,%eax
11137         xorl    %esi,%ecx
11138         addl    68(%esp),%edx
11139         xorl    %edi,%eax
11140         rorl    $2,%ecx
11141         addl    %edx,%eax
11142         addl    8(%esp),%edx
11143         addl    %ecx,%eax
11144         movl    %edx,%ecx
11145         rorl    $14,%edx
11146         movl    12(%esp),%esi
11147         xorl    %ecx,%edx
11148         movl    16(%esp),%edi
11149         xorl    %edi,%esi
11150         rorl    $5,%edx
11151         andl    %ecx,%esi
11152         movl    %ecx,8(%esp)
11153         xorl    %ecx,%edx
11154         xorl    %esi,%edi
11155         rorl    $6,%edx
11156         movl    %eax,%ecx
11157         addl    %edi,%edx
11158         movl    28(%esp),%edi
11159         movl    %eax,%esi
11160         rorl    $9,%ecx
11161         movl    %eax,24(%esp)
11162         xorl    %eax,%ecx
11163         xorl    %edi,%eax
11164         addl    20(%esp),%edx
11165         rorl    $11,%ecx
11166         andl    %eax,%ebx
11167         xorl    %esi,%ecx
11168         addl    72(%esp),%edx
11169         xorl    %edi,%ebx
11170         rorl    $2,%ecx
11171         addl    %edx,%ebx
11172         addl    4(%esp),%edx
11173         addl    %ecx,%ebx
11174         movl    %edx,%ecx
11175         rorl    $14,%edx
11176         movl    8(%esp),%esi
11177         xorl    %ecx,%edx
11178         movl    12(%esp),%edi
11179         xorl    %edi,%esi
11180         rorl    $5,%edx
11181         andl    %ecx,%esi
11182         movl    %ecx,4(%esp)
11183         xorl    %ecx,%edx
11184         xorl    %esi,%edi
11185         rorl    $6,%edx
11186         movl    %ebx,%ecx
11187         addl    %edi,%edx
11188         movl    24(%esp),%edi
11189         movl    %ebx,%esi
11190         rorl    $9,%ecx
11191         movl    %ebx,20(%esp)
11192         xorl    %ebx,%ecx
11193         xorl    %edi,%ebx
11194         addl    16(%esp),%edx
11195         rorl    $11,%ecx
11196         andl    %ebx,%eax
11197         xorl    %esi,%ecx
11198         addl    76(%esp),%edx
11199         xorl    %edi,%eax
11200         rorl    $2,%ecx
11201         addl    %edx,%eax
11202         addl    (%esp),%edx
11203         addl    %ecx,%eax
11204         movl    %edx,%ecx
11205         rorl    $14,%edx
11206         movl    4(%esp),%esi
11207         xorl    %ecx,%edx
11208         movl    8(%esp),%edi
11209         xorl    %edi,%esi
11210         rorl    $5,%edx
11211         andl    %ecx,%esi
11212         movl    %ecx,(%esp)
11213         xorl    %ecx,%edx
11214         xorl    %esi,%edi
11215         rorl    $6,%edx
11216         movl    %eax,%ecx
11217         addl    %edi,%edx
11218         movl    20(%esp),%edi
11219         movl    %eax,%esi
11220         rorl    $9,%ecx
11221         movl    %eax,16(%esp)
11222         xorl    %eax,%ecx
11223         xorl    %edi,%eax
11224         addl    12(%esp),%edx
11225         rorl    $11,%ecx
11226         andl    %eax,%ebx
11227         xorl    %esi,%ecx
11228         addl    80(%esp),%edx
11229         xorl    %edi,%ebx
11230         rorl    $2,%ecx
11231         addl    %edx,%ebx
11232         addl    28(%esp),%edx
11233         addl    %ecx,%ebx
11234         movl    %edx,%ecx
11235         rorl    $14,%edx
11236         movl    (%esp),%esi
11237         xorl    %ecx,%edx
11238         movl    4(%esp),%edi
11239         xorl    %edi,%esi
11240         rorl    $5,%edx
11241         andl    %ecx,%esi
11242         movl    %ecx,28(%esp)
11243         xorl    %ecx,%edx
11244         xorl    %esi,%edi
11245         rorl    $6,%edx
11246         movl    %ebx,%ecx
11247         addl    %edi,%edx
11248         movl    16(%esp),%edi
11249         movl    %ebx,%esi
11250         rorl    $9,%ecx
11251         movl    %ebx,12(%esp)
11252         xorl    %ebx,%ecx
11253         xorl    %edi,%ebx
11254         addl    8(%esp),%edx
11255         rorl    $11,%ecx
11256         andl    %ebx,%eax
11257         xorl    %esi,%ecx
11258         addl    84(%esp),%edx
11259         xorl    %edi,%eax
11260         rorl    $2,%ecx
11261         addl    %edx,%eax
11262         addl    24(%esp),%edx
11263         addl    %ecx,%eax
11264         movl    %edx,%ecx
11265         rorl    $14,%edx
11266         movl    28(%esp),%esi
11267         xorl    %ecx,%edx
11268         movl    (%esp),%edi
11269         xorl    %edi,%esi
11270         rorl    $5,%edx
11271         andl    %ecx,%esi
11272         movl    %ecx,24(%esp)
11273         xorl    %ecx,%edx
11274         xorl    %esi,%edi
11275         rorl    $6,%edx
11276         movl    %eax,%ecx
11277         addl    %edi,%edx
11278         movl    12(%esp),%edi
11279         movl    %eax,%esi
11280         rorl    $9,%ecx
11281         movl    %eax,8(%esp)
11282         xorl    %eax,%ecx
11283         xorl    %edi,%eax
11284         addl    4(%esp),%edx
11285         rorl    $11,%ecx
11286         andl    %eax,%ebx
11287         xorl    %esi,%ecx
11288         addl    88(%esp),%edx
11289         xorl    %edi,%ebx
11290         rorl    $2,%ecx
11291         addl    %edx,%ebx
11292         addl    20(%esp),%edx
11293         addl    %ecx,%ebx
11294         movl    %edx,%ecx
11295         rorl    $14,%edx
11296         movl    24(%esp),%esi
11297         xorl    %ecx,%edx
11298         movl    28(%esp),%edi
11299         xorl    %edi,%esi
11300         rorl    $5,%edx
11301         andl    %ecx,%esi
11302         movl    %ecx,20(%esp)
11303         xorl    %ecx,%edx
11304         xorl    %esi,%edi
11305         rorl    $6,%edx
11306         movl    %ebx,%ecx
11307         addl    %edi,%edx
11308         movl    8(%esp),%edi
11309         movl    %ebx,%esi
11310         rorl    $9,%ecx
11311         movl    %ebx,4(%esp)
11312         xorl    %ebx,%ecx
11313         xorl    %edi,%ebx
11314         addl    (%esp),%edx
11315         rorl    $11,%ecx
11316         andl    %ebx,%eax
11317         xorl    %esi,%ecx
11318         addl    92(%esp),%edx
11319         xorl    %edi,%eax
11320         rorl    $2,%ecx
11321         addl    %edx,%eax
11322         addl    16(%esp),%edx
11323         addl    %ecx,%eax
11324         movl    96(%esp),%esi
11325         xorl    %edi,%ebx
11326         movl    12(%esp),%ecx
11327         addl    (%esi),%eax
11328         addl    4(%esi),%ebx
11329         addl    8(%esi),%edi
11330         addl    12(%esi),%ecx
11331         movl    %eax,(%esi)
11332         movl    %ebx,4(%esi)
11333         movl    %edi,8(%esi)
11334         movl    %ecx,12(%esi)
11335         movl    %ebx,4(%esp)
11336         xorl    %edi,%ebx
11337         movl    %edi,8(%esp)
11338         movl    %ecx,12(%esp)
11339         movl    20(%esp),%edi
11340         movl    24(%esp),%ecx
11341         addl    16(%esi),%edx
11342         addl    20(%esi),%edi
11343         addl    24(%esi),%ecx
11344         movl    %edx,16(%esi)
11345         movl    %edi,20(%esi)
11346         movl    %edi,20(%esp)
11347         movl    28(%esp),%edi
11348         movl    %ecx,24(%esi)
11349         addl    28(%esi),%edi
11350         movl    %ecx,24(%esp)
11351         movl    %edi,28(%esi)
11352         movl    %edi,28(%esp)
11353         movl    100(%esp),%edi
11354         movdqa  64(%ebp),%xmm7
11355         subl    $192,%ebp
11356         cmpl    104(%esp),%edi
11357         jb      .L012grand_ssse3
11358         movl    108(%esp),%esp
11359         popl    %edi
11360         popl    %esi
11361         popl    %ebx
11362         popl    %ebp
11363         ret
11364 .align  32
11365 .L005AVX:
11366         andl    $264,%edx
11367         cmpl    $264,%edx
11368         je      .L014AVX_BMI
11369         leal    -96(%esp),%esp
11370         vzeroall
11371         movl    (%esi),%eax
11372         movl    4(%esi),%ebx
11373         movl    8(%esi),%ecx
11374         movl    12(%esi),%edi
11375         movl    %ebx,4(%esp)
11376         xorl    %ecx,%ebx
11377         movl    %ecx,8(%esp)
11378         movl    %edi,12(%esp)
11379         movl    16(%esi),%edx
11380         movl    20(%esi),%edi
11381         movl    24(%esi),%ecx
11382         movl    28(%esi),%esi
11383         movl    %edi,20(%esp)
11384         movl    100(%esp),%edi
11385         movl    %ecx,24(%esp)
11386         movl    %esi,28(%esp)
11387         vmovdqa 256(%ebp),%xmm7
11388         jmp     .L015grand_avx
11389 .align  32
11390 .L015grand_avx:
11391         vmovdqu (%edi),%xmm0
11392         vmovdqu 16(%edi),%xmm1
11393         vmovdqu 32(%edi),%xmm2
11394         vmovdqu 48(%edi),%xmm3
11395         addl    $64,%edi
11396         vpshufb %xmm7,%xmm0,%xmm0
11397         movl    %edi,100(%esp)
11398         vpshufb %xmm7,%xmm1,%xmm1
11399         vpshufb %xmm7,%xmm2,%xmm2
11400         vpaddd  (%ebp),%xmm0,%xmm4
11401         vpshufb %xmm7,%xmm3,%xmm3
11402         vpaddd  16(%ebp),%xmm1,%xmm5
11403         vpaddd  32(%ebp),%xmm2,%xmm6
11404         vpaddd  48(%ebp),%xmm3,%xmm7
11405         vmovdqa %xmm4,32(%esp)
11406         vmovdqa %xmm5,48(%esp)
11407         vmovdqa %xmm6,64(%esp)
11408         vmovdqa %xmm7,80(%esp)
11409         jmp     .L016avx_00_47
11410 .align  16
11411 .L016avx_00_47:
11412         addl    $64,%ebp
11413         vpalignr        $4,%xmm0,%xmm1,%xmm4
11414         movl    %edx,%ecx
11415         shrdl   $14,%edx,%edx
11416         movl    20(%esp),%esi
11417         vpalignr        $4,%xmm2,%xmm3,%xmm7
11418         xorl    %ecx,%edx
11419         movl    24(%esp),%edi
11420         xorl    %edi,%esi
11421         vpsrld  $7,%xmm4,%xmm6
11422         shrdl   $5,%edx,%edx
11423         andl    %ecx,%esi
11424         movl    %ecx,16(%esp)
11425         vpaddd  %xmm7,%xmm0,%xmm0
11426         xorl    %ecx,%edx
11427         xorl    %esi,%edi
11428         shrdl   $6,%edx,%edx
11429         vpsrld  $3,%xmm4,%xmm7
11430         movl    %eax,%ecx
11431         addl    %edi,%edx
11432         movl    4(%esp),%edi
11433         vpslld  $14,%xmm4,%xmm5
11434         movl    %eax,%esi
11435         shrdl   $9,%ecx,%ecx
11436         movl    %eax,(%esp)
11437         vpxor   %xmm6,%xmm7,%xmm4
11438         xorl    %eax,%ecx
11439         xorl    %edi,%eax
11440         addl    28(%esp),%edx
11441         vpshufd $250,%xmm3,%xmm7
11442         shrdl   $11,%ecx,%ecx
11443         andl    %eax,%ebx
11444         xorl    %esi,%ecx
11445         vpsrld  $11,%xmm6,%xmm6
11446         addl    32(%esp),%edx
11447         xorl    %edi,%ebx
11448         shrdl   $2,%ecx,%ecx
11449         vpxor   %xmm5,%xmm4,%xmm4
11450         addl    %edx,%ebx
11451         addl    12(%esp),%edx
11452         addl    %ecx,%ebx
11453         vpslld  $11,%xmm5,%xmm5
11454         movl    %edx,%ecx
11455         shrdl   $14,%edx,%edx
11456         movl    16(%esp),%esi
11457         vpxor   %xmm6,%xmm4,%xmm4
11458         xorl    %ecx,%edx
11459         movl    20(%esp),%edi
11460         xorl    %edi,%esi
11461         vpsrld  $10,%xmm7,%xmm6
11462         shrdl   $5,%edx,%edx
11463         andl    %ecx,%esi
11464         movl    %ecx,12(%esp)
11465         vpxor   %xmm5,%xmm4,%xmm4
11466         xorl    %ecx,%edx
11467         xorl    %esi,%edi
11468         shrdl   $6,%edx,%edx
11469         vpsrlq  $17,%xmm7,%xmm5
11470         movl    %ebx,%ecx
11471         addl    %edi,%edx
11472         movl    (%esp),%edi
11473         vpaddd  %xmm4,%xmm0,%xmm0
11474         movl    %ebx,%esi
11475         shrdl   $9,%ecx,%ecx
11476         movl    %ebx,28(%esp)
11477         vpxor   %xmm5,%xmm6,%xmm6
11478         xorl    %ebx,%ecx
11479         xorl    %edi,%ebx
11480         addl    24(%esp),%edx
11481         vpsrlq  $19,%xmm7,%xmm7
11482         shrdl   $11,%ecx,%ecx
11483         andl    %ebx,%eax
11484         xorl    %esi,%ecx
11485         vpxor   %xmm7,%xmm6,%xmm6
11486         addl    36(%esp),%edx
11487         xorl    %edi,%eax
11488         shrdl   $2,%ecx,%ecx
11489         vpshufd $132,%xmm6,%xmm7
11490         addl    %edx,%eax
11491         addl    8(%esp),%edx
11492         addl    %ecx,%eax
11493         vpsrldq $8,%xmm7,%xmm7
11494         movl    %edx,%ecx
11495         shrdl   $14,%edx,%edx
11496         movl    12(%esp),%esi
11497         vpaddd  %xmm7,%xmm0,%xmm0
11498         xorl    %ecx,%edx
11499         movl    16(%esp),%edi
11500         xorl    %edi,%esi
11501         vpshufd $80,%xmm0,%xmm7
11502         shrdl   $5,%edx,%edx
11503         andl    %ecx,%esi
11504         movl    %ecx,8(%esp)
11505         vpsrld  $10,%xmm7,%xmm6
11506         xorl    %ecx,%edx
11507         xorl    %esi,%edi
11508         shrdl   $6,%edx,%edx
11509         vpsrlq  $17,%xmm7,%xmm5
11510         movl    %eax,%ecx
11511         addl    %edi,%edx
11512         movl    28(%esp),%edi
11513         vpxor   %xmm5,%xmm6,%xmm6
11514         movl    %eax,%esi
11515         shrdl   $9,%ecx,%ecx
11516         movl    %eax,24(%esp)
11517         vpsrlq  $19,%xmm7,%xmm7
11518         xorl    %eax,%ecx
11519         xorl    %edi,%eax
11520         addl    20(%esp),%edx
11521         vpxor   %xmm7,%xmm6,%xmm6
11522         shrdl   $11,%ecx,%ecx
11523         andl    %eax,%ebx
11524         xorl    %esi,%ecx
11525         vpshufd $232,%xmm6,%xmm7
11526         addl    40(%esp),%edx
11527         xorl    %edi,%ebx
11528         shrdl   $2,%ecx,%ecx
11529         vpslldq $8,%xmm7,%xmm7
11530         addl    %edx,%ebx
11531         addl    4(%esp),%edx
11532         addl    %ecx,%ebx
11533         vpaddd  %xmm7,%xmm0,%xmm0
11534         movl    %edx,%ecx
11535         shrdl   $14,%edx,%edx
11536         movl    8(%esp),%esi
11537         vpaddd  (%ebp),%xmm0,%xmm6
11538         xorl    %ecx,%edx
11539         movl    12(%esp),%edi
11540         xorl    %edi,%esi
11541         shrdl   $5,%edx,%edx
11542         andl    %ecx,%esi
11543         movl    %ecx,4(%esp)
11544         xorl    %ecx,%edx
11545         xorl    %esi,%edi
11546         shrdl   $6,%edx,%edx
11547         movl    %ebx,%ecx
11548         addl    %edi,%edx
11549         movl    24(%esp),%edi
11550         movl    %ebx,%esi
11551         shrdl   $9,%ecx,%ecx
11552         movl    %ebx,20(%esp)
11553         xorl    %ebx,%ecx
11554         xorl    %edi,%ebx
11555         addl    16(%esp),%edx
11556         shrdl   $11,%ecx,%ecx
11557         andl    %ebx,%eax
11558         xorl    %esi,%ecx
11559         addl    44(%esp),%edx
11560         xorl    %edi,%eax
11561         shrdl   $2,%ecx,%ecx
11562         addl    %edx,%eax
11563         addl    (%esp),%edx
11564         addl    %ecx,%eax
11565         vmovdqa %xmm6,32(%esp)
11566         vpalignr        $4,%xmm1,%xmm2,%xmm4
11567         movl    %edx,%ecx
11568         shrdl   $14,%edx,%edx
11569         movl    4(%esp),%esi
11570         vpalignr        $4,%xmm3,%xmm0,%xmm7
11571         xorl    %ecx,%edx
11572         movl    8(%esp),%edi
11573         xorl    %edi,%esi
11574         vpsrld  $7,%xmm4,%xmm6
11575         shrdl   $5,%edx,%edx
11576         andl    %ecx,%esi
11577         movl    %ecx,(%esp)
11578         vpaddd  %xmm7,%xmm1,%xmm1
11579         xorl    %ecx,%edx
11580         xorl    %esi,%edi
11581         shrdl   $6,%edx,%edx
11582         vpsrld  $3,%xmm4,%xmm7
11583         movl    %eax,%ecx
11584         addl    %edi,%edx
11585         movl    20(%esp),%edi
11586         vpslld  $14,%xmm4,%xmm5
11587         movl    %eax,%esi
11588         shrdl   $9,%ecx,%ecx
11589         movl    %eax,16(%esp)
11590         vpxor   %xmm6,%xmm7,%xmm4
11591         xorl    %eax,%ecx
11592         xorl    %edi,%eax
11593         addl    12(%esp),%edx
11594         vpshufd $250,%xmm0,%xmm7
11595         shrdl   $11,%ecx,%ecx
11596         andl    %eax,%ebx
11597         xorl    %esi,%ecx
11598         vpsrld  $11,%xmm6,%xmm6
11599         addl    48(%esp),%edx
11600         xorl    %edi,%ebx
11601         shrdl   $2,%ecx,%ecx
11602         vpxor   %xmm5,%xmm4,%xmm4
11603         addl    %edx,%ebx
11604         addl    28(%esp),%edx
11605         addl    %ecx,%ebx
11606         vpslld  $11,%xmm5,%xmm5
11607         movl    %edx,%ecx
11608         shrdl   $14,%edx,%edx
11609         movl    (%esp),%esi
11610         vpxor   %xmm6,%xmm4,%xmm4
11611         xorl    %ecx,%edx
11612         movl    4(%esp),%edi
11613         xorl    %edi,%esi
11614         vpsrld  $10,%xmm7,%xmm6
11615         shrdl   $5,%edx,%edx
11616         andl    %ecx,%esi
11617         movl    %ecx,28(%esp)
11618         vpxor   %xmm5,%xmm4,%xmm4
11619         xorl    %ecx,%edx
11620         xorl    %esi,%edi
11621         shrdl   $6,%edx,%edx
11622         vpsrlq  $17,%xmm7,%xmm5
11623         movl    %ebx,%ecx
11624         addl    %edi,%edx
11625         movl    16(%esp),%edi
11626         vpaddd  %xmm4,%xmm1,%xmm1
11627         movl    %ebx,%esi
11628         shrdl   $9,%ecx,%ecx
11629         movl    %ebx,12(%esp)
11630         vpxor   %xmm5,%xmm6,%xmm6
11631         xorl    %ebx,%ecx
11632         xorl    %edi,%ebx
11633         addl    8(%esp),%edx
11634         vpsrlq  $19,%xmm7,%xmm7
11635         shrdl   $11,%ecx,%ecx
11636         andl    %ebx,%eax
11637         xorl    %esi,%ecx
11638         vpxor   %xmm7,%xmm6,%xmm6
11639         addl    52(%esp),%edx
11640         xorl    %edi,%eax
11641         shrdl   $2,%ecx,%ecx
11642         vpshufd $132,%xmm6,%xmm7
11643         addl    %edx,%eax
11644         addl    24(%esp),%edx
11645         addl    %ecx,%eax
11646         vpsrldq $8,%xmm7,%xmm7
11647         movl    %edx,%ecx
11648         shrdl   $14,%edx,%edx
11649         movl    28(%esp),%esi
11650         vpaddd  %xmm7,%xmm1,%xmm1
11651         xorl    %ecx,%edx
11652         movl    (%esp),%edi
11653         xorl    %edi,%esi
11654         vpshufd $80,%xmm1,%xmm7
11655         shrdl   $5,%edx,%edx
11656         andl    %ecx,%esi
11657         movl    %ecx,24(%esp)
11658         vpsrld  $10,%xmm7,%xmm6
11659         xorl    %ecx,%edx
11660         xorl    %esi,%edi
11661         shrdl   $6,%edx,%edx
11662         vpsrlq  $17,%xmm7,%xmm5
11663         movl    %eax,%ecx
11664         addl    %edi,%edx
11665         movl    12(%esp),%edi
11666         vpxor   %xmm5,%xmm6,%xmm6
11667         movl    %eax,%esi
11668         shrdl   $9,%ecx,%ecx
11669         movl    %eax,8(%esp)
11670         vpsrlq  $19,%xmm7,%xmm7
11671         xorl    %eax,%ecx
11672         xorl    %edi,%eax
11673         addl    4(%esp),%edx
11674         vpxor   %xmm7,%xmm6,%xmm6
11675         shrdl   $11,%ecx,%ecx
11676         andl    %eax,%ebx
11677         xorl    %esi,%ecx
11678         vpshufd $232,%xmm6,%xmm7
11679         addl    56(%esp),%edx
11680         xorl    %edi,%ebx
11681         shrdl   $2,%ecx,%ecx
11682         vpslldq $8,%xmm7,%xmm7
11683         addl    %edx,%ebx
11684         addl    20(%esp),%edx
11685         addl    %ecx,%ebx
11686         vpaddd  %xmm7,%xmm1,%xmm1
11687         movl    %edx,%ecx
11688         shrdl   $14,%edx,%edx
11689         movl    24(%esp),%esi
11690         vpaddd  16(%ebp),%xmm1,%xmm6
11691         xorl    %ecx,%edx
11692         movl    28(%esp),%edi
11693         xorl    %edi,%esi
11694         shrdl   $5,%edx,%edx
11695         andl    %ecx,%esi
11696         movl    %ecx,20(%esp)
11697         xorl    %ecx,%edx
11698         xorl    %esi,%edi
11699         shrdl   $6,%edx,%edx
11700         movl    %ebx,%ecx
11701         addl    %edi,%edx
11702         movl    8(%esp),%edi
11703         movl    %ebx,%esi
11704         shrdl   $9,%ecx,%ecx
11705         movl    %ebx,4(%esp)
11706         xorl    %ebx,%ecx
11707         xorl    %edi,%ebx
11708         addl    (%esp),%edx
11709         shrdl   $11,%ecx,%ecx
11710         andl    %ebx,%eax
11711         xorl    %esi,%ecx
11712         addl    60(%esp),%edx
11713         xorl    %edi,%eax
11714         shrdl   $2,%ecx,%ecx
11715         addl    %edx,%eax
11716         addl    16(%esp),%edx
11717         addl    %ecx,%eax
11718         vmovdqa %xmm6,48(%esp)
11719         vpalignr        $4,%xmm2,%xmm3,%xmm4
11720         movl    %edx,%ecx
11721         shrdl   $14,%edx,%edx
11722         movl    20(%esp),%esi
11723         vpalignr        $4,%xmm0,%xmm1,%xmm7
11724         xorl    %ecx,%edx
11725         movl    24(%esp),%edi
11726         xorl    %edi,%esi
11727         vpsrld  $7,%xmm4,%xmm6
11728         shrdl   $5,%edx,%edx
11729         andl    %ecx,%esi
11730         movl    %ecx,16(%esp)
11731         vpaddd  %xmm7,%xmm2,%xmm2
11732         xorl    %ecx,%edx
11733         xorl    %esi,%edi
11734         shrdl   $6,%edx,%edx
11735         vpsrld  $3,%xmm4,%xmm7
11736         movl    %eax,%ecx
11737         addl    %edi,%edx
11738         movl    4(%esp),%edi
11739         vpslld  $14,%xmm4,%xmm5
11740         movl    %eax,%esi
11741         shrdl   $9,%ecx,%ecx
11742         movl    %eax,(%esp)
11743         vpxor   %xmm6,%xmm7,%xmm4
11744         xorl    %eax,%ecx
11745         xorl    %edi,%eax
11746         addl    28(%esp),%edx
11747         vpshufd $250,%xmm1,%xmm7
11748         shrdl   $11,%ecx,%ecx
11749         andl    %eax,%ebx
11750         xorl    %esi,%ecx
11751         vpsrld  $11,%xmm6,%xmm6
11752         addl    64(%esp),%edx
11753         xorl    %edi,%ebx
11754         shrdl   $2,%ecx,%ecx
11755         vpxor   %xmm5,%xmm4,%xmm4
11756         addl    %edx,%ebx
11757         addl    12(%esp),%edx
11758         addl    %ecx,%ebx
11759         vpslld  $11,%xmm5,%xmm5
11760         movl    %edx,%ecx
11761         shrdl   $14,%edx,%edx
11762         movl    16(%esp),%esi
11763         vpxor   %xmm6,%xmm4,%xmm4
11764         xorl    %ecx,%edx
11765         movl    20(%esp),%edi
11766         xorl    %edi,%esi
11767         vpsrld  $10,%xmm7,%xmm6
11768         shrdl   $5,%edx,%edx
11769         andl    %ecx,%esi
11770         movl    %ecx,12(%esp)
11771         vpxor   %xmm5,%xmm4,%xmm4
11772         xorl    %ecx,%edx
11773         xorl    %esi,%edi
11774         shrdl   $6,%edx,%edx
11775         vpsrlq  $17,%xmm7,%xmm5
11776         movl    %ebx,%ecx
11777         addl    %edi,%edx
11778         movl    (%esp),%edi
11779         vpaddd  %xmm4,%xmm2,%xmm2
11780         movl    %ebx,%esi
11781         shrdl   $9,%ecx,%ecx
11782         movl    %ebx,28(%esp)
11783         vpxor   %xmm5,%xmm6,%xmm6
11784         xorl    %ebx,%ecx
11785         xorl    %edi,%ebx
11786         addl    24(%esp),%edx
11787         vpsrlq  $19,%xmm7,%xmm7
11788         shrdl   $11,%ecx,%ecx
11789         andl    %ebx,%eax
11790         xorl    %esi,%ecx
11791         vpxor   %xmm7,%xmm6,%xmm6
11792         addl    68(%esp),%edx
11793         xorl    %edi,%eax
11794         shrdl   $2,%ecx,%ecx
11795         vpshufd $132,%xmm6,%xmm7
11796         addl    %edx,%eax
11797         addl    8(%esp),%edx
11798         addl    %ecx,%eax
11799         vpsrldq $8,%xmm7,%xmm7
11800         movl    %edx,%ecx
11801         shrdl   $14,%edx,%edx
11802         movl    12(%esp),%esi
11803         vpaddd  %xmm7,%xmm2,%xmm2
11804         xorl    %ecx,%edx
11805         movl    16(%esp),%edi
11806         xorl    %edi,%esi
11807         vpshufd $80,%xmm2,%xmm7
11808         shrdl   $5,%edx,%edx
11809         andl    %ecx,%esi
11810         movl    %ecx,8(%esp)
11811         vpsrld  $10,%xmm7,%xmm6
11812         xorl    %ecx,%edx
11813         xorl    %esi,%edi
11814         shrdl   $6,%edx,%edx
11815         vpsrlq  $17,%xmm7,%xmm5
11816         movl    %eax,%ecx
11817         addl    %edi,%edx
11818         movl    28(%esp),%edi
11819         vpxor   %xmm5,%xmm6,%xmm6
11820         movl    %eax,%esi
11821         shrdl   $9,%ecx,%ecx
11822         movl    %eax,24(%esp)
11823         vpsrlq  $19,%xmm7,%xmm7
11824         xorl    %eax,%ecx
11825         xorl    %edi,%eax
11826         addl    20(%esp),%edx
11827         vpxor   %xmm7,%xmm6,%xmm6
11828         shrdl   $11,%ecx,%ecx
11829         andl    %eax,%ebx
11830         xorl    %esi,%ecx
11831         vpshufd $232,%xmm6,%xmm7
11832         addl    72(%esp),%edx
11833         xorl    %edi,%ebx
11834         shrdl   $2,%ecx,%ecx
11835         vpslldq $8,%xmm7,%xmm7
11836         addl    %edx,%ebx
11837         addl    4(%esp),%edx
11838         addl    %ecx,%ebx
11839         vpaddd  %xmm7,%xmm2,%xmm2
11840         movl    %edx,%ecx
11841         shrdl   $14,%edx,%edx
11842         movl    8(%esp),%esi
11843         vpaddd  32(%ebp),%xmm2,%xmm6
11844         xorl    %ecx,%edx
11845         movl    12(%esp),%edi
11846         xorl    %edi,%esi
11847         shrdl   $5,%edx,%edx
11848         andl    %ecx,%esi
11849         movl    %ecx,4(%esp)
11850         xorl    %ecx,%edx
11851         xorl    %esi,%edi
11852         shrdl   $6,%edx,%edx
11853         movl    %ebx,%ecx
11854         addl    %edi,%edx
11855         movl    24(%esp),%edi
11856         movl    %ebx,%esi
11857         shrdl   $9,%ecx,%ecx
11858         movl    %ebx,20(%esp)
11859         xorl    %ebx,%ecx
11860         xorl    %edi,%ebx
11861         addl    16(%esp),%edx
11862         shrdl   $11,%ecx,%ecx
11863         andl    %ebx,%eax
11864         xorl    %esi,%ecx
11865         addl    76(%esp),%edx
11866         xorl    %edi,%eax
11867         shrdl   $2,%ecx,%ecx
11868         addl    %edx,%eax
11869         addl    (%esp),%edx
11870         addl    %ecx,%eax
11871         vmovdqa %xmm6,64(%esp)
11872         vpalignr        $4,%xmm3,%xmm0,%xmm4
11873         movl    %edx,%ecx
11874         shrdl   $14,%edx,%edx
11875         movl    4(%esp),%esi
11876         vpalignr        $4,%xmm1,%xmm2,%xmm7
11877         xorl    %ecx,%edx
11878         movl    8(%esp),%edi
11879         xorl    %edi,%esi
11880         vpsrld  $7,%xmm4,%xmm6
11881         shrdl   $5,%edx,%edx
11882         andl    %ecx,%esi
11883         movl    %ecx,(%esp)
11884         vpaddd  %xmm7,%xmm3,%xmm3
11885         xorl    %ecx,%edx
11886         xorl    %esi,%edi
11887         shrdl   $6,%edx,%edx
11888         vpsrld  $3,%xmm4,%xmm7
11889         movl    %eax,%ecx
11890         addl    %edi,%edx
11891         movl    20(%esp),%edi
11892         vpslld  $14,%xmm4,%xmm5
11893         movl    %eax,%esi
11894         shrdl   $9,%ecx,%ecx
11895         movl    %eax,16(%esp)
11896         vpxor   %xmm6,%xmm7,%xmm4
11897         xorl    %eax,%ecx
11898         xorl    %edi,%eax
11899         addl    12(%esp),%edx
11900         vpshufd $250,%xmm2,%xmm7
11901         shrdl   $11,%ecx,%ecx
11902         andl    %eax,%ebx
11903         xorl    %esi,%ecx
11904         vpsrld  $11,%xmm6,%xmm6
11905         addl    80(%esp),%edx
11906         xorl    %edi,%ebx
11907         shrdl   $2,%ecx,%ecx
11908         vpxor   %xmm5,%xmm4,%xmm4
11909         addl    %edx,%ebx
11910         addl    28(%esp),%edx
11911         addl    %ecx,%ebx
11912         vpslld  $11,%xmm5,%xmm5
11913         movl    %edx,%ecx
11914         shrdl   $14,%edx,%edx
11915         movl    (%esp),%esi
11916         vpxor   %xmm6,%xmm4,%xmm4
11917         xorl    %ecx,%edx
11918         movl    4(%esp),%edi
11919         xorl    %edi,%esi
11920         vpsrld  $10,%xmm7,%xmm6
11921         shrdl   $5,%edx,%edx
11922         andl    %ecx,%esi
11923         movl    %ecx,28(%esp)
11924         vpxor   %xmm5,%xmm4,%xmm4
11925         xorl    %ecx,%edx
11926         xorl    %esi,%edi
11927         shrdl   $6,%edx,%edx
11928         vpsrlq  $17,%xmm7,%xmm5
11929         movl    %ebx,%ecx
11930         addl    %edi,%edx
11931         movl    16(%esp),%edi
11932         vpaddd  %xmm4,%xmm3,%xmm3
11933         movl    %ebx,%esi
11934         shrdl   $9,%ecx,%ecx
11935         movl    %ebx,12(%esp)
11936         vpxor   %xmm5,%xmm6,%xmm6
11937         xorl    %ebx,%ecx
11938         xorl    %edi,%ebx
11939         addl    8(%esp),%edx
11940         vpsrlq  $19,%xmm7,%xmm7
11941         shrdl   $11,%ecx,%ecx
11942         andl    %ebx,%eax
11943         xorl    %esi,%ecx
11944         vpxor   %xmm7,%xmm6,%xmm6
11945         addl    84(%esp),%edx
11946         xorl    %edi,%eax
11947         shrdl   $2,%ecx,%ecx
11948         vpshufd $132,%xmm6,%xmm7
11949         addl    %edx,%eax
11950         addl    24(%esp),%edx
11951         addl    %ecx,%eax
11952         vpsrldq $8,%xmm7,%xmm7
11953         movl    %edx,%ecx
11954         shrdl   $14,%edx,%edx
11955         movl    28(%esp),%esi
11956         vpaddd  %xmm7,%xmm3,%xmm3
11957         xorl    %ecx,%edx
11958         movl    (%esp),%edi
11959         xorl    %edi,%esi
11960         vpshufd $80,%xmm3,%xmm7
11961         shrdl   $5,%edx,%edx
11962         andl    %ecx,%esi
11963         movl    %ecx,24(%esp)
11964         vpsrld  $10,%xmm7,%xmm6
11965         xorl    %ecx,%edx
11966         xorl    %esi,%edi
11967         shrdl   $6,%edx,%edx
11968         vpsrlq  $17,%xmm7,%xmm5
11969         movl    %eax,%ecx
11970         addl    %edi,%edx
11971         movl    12(%esp),%edi
11972         vpxor   %xmm5,%xmm6,%xmm6
11973         movl    %eax,%esi
11974         shrdl   $9,%ecx,%ecx
11975         movl    %eax,8(%esp)
11976         vpsrlq  $19,%xmm7,%xmm7
11977         xorl    %eax,%ecx
11978         xorl    %edi,%eax
11979         addl    4(%esp),%edx
11980         vpxor   %xmm7,%xmm6,%xmm6
11981         shrdl   $11,%ecx,%ecx
11982         andl    %eax,%ebx
11983         xorl    %esi,%ecx
11984         vpshufd $232,%xmm6,%xmm7
11985         addl    88(%esp),%edx
11986         xorl    %edi,%ebx
11987         shrdl   $2,%ecx,%ecx
11988         vpslldq $8,%xmm7,%xmm7
11989         addl    %edx,%ebx
11990         addl    20(%esp),%edx
11991         addl    %ecx,%ebx
11992         vpaddd  %xmm7,%xmm3,%xmm3
11993         movl    %edx,%ecx
11994         shrdl   $14,%edx,%edx
11995         movl    24(%esp),%esi
11996         vpaddd  48(%ebp),%xmm3,%xmm6
11997         xorl    %ecx,%edx
11998         movl    28(%esp),%edi
11999         xorl    %edi,%esi
12000         shrdl   $5,%edx,%edx
12001         andl    %ecx,%esi
12002         movl    %ecx,20(%esp)
12003         xorl    %ecx,%edx
12004         xorl    %esi,%edi
12005         shrdl   $6,%edx,%edx
12006         movl    %ebx,%ecx
12007         addl    %edi,%edx
12008         movl    8(%esp),%edi
12009         movl    %ebx,%esi
12010         shrdl   $9,%ecx,%ecx
12011         movl    %ebx,4(%esp)
12012         xorl    %ebx,%ecx
12013         xorl    %edi,%ebx
12014         addl    (%esp),%edx
12015         shrdl   $11,%ecx,%ecx
12016         andl    %ebx,%eax
12017         xorl    %esi,%ecx
12018         addl    92(%esp),%edx
12019         xorl    %edi,%eax
12020         shrdl   $2,%ecx,%ecx
12021         addl    %edx,%eax
12022         addl    16(%esp),%edx
12023         addl    %ecx,%eax
12024         vmovdqa %xmm6,80(%esp)
12025         cmpl    $66051,64(%ebp)
12026         jne     .L016avx_00_47
12027         movl    %edx,%ecx
12028         shrdl   $14,%edx,%edx
12029         movl    20(%esp),%esi
12030         xorl    %ecx,%edx
12031         movl    24(%esp),%edi
12032         xorl    %edi,%esi
12033         shrdl   $5,%edx,%edx
12034         andl    %ecx,%esi
12035         movl    %ecx,16(%esp)
12036         xorl    %ecx,%edx
12037         xorl    %esi,%edi
12038         shrdl   $6,%edx,%edx
12039         movl    %eax,%ecx
12040         addl    %edi,%edx
12041         movl    4(%esp),%edi
12042         movl    %eax,%esi
12043         shrdl   $9,%ecx,%ecx
12044         movl    %eax,(%esp)
12045         xorl    %eax,%ecx
12046         xorl    %edi,%eax
12047         addl    28(%esp),%edx
12048         shrdl   $11,%ecx,%ecx
12049         andl    %eax,%ebx
12050         xorl    %esi,%ecx
12051         addl    32(%esp),%edx
12052         xorl    %edi,%ebx
12053         shrdl   $2,%ecx,%ecx
12054         addl    %edx,%ebx
12055         addl    12(%esp),%edx
12056         addl    %ecx,%ebx
12057         movl    %edx,%ecx
12058         shrdl   $14,%edx,%edx
12059         movl    16(%esp),%esi
12060         xorl    %ecx,%edx
12061         movl    20(%esp),%edi
12062         xorl    %edi,%esi
12063         shrdl   $5,%edx,%edx
12064         andl    %ecx,%esi
12065         movl    %ecx,12(%esp)
12066         xorl    %ecx,%edx
12067         xorl    %esi,%edi
12068         shrdl   $6,%edx,%edx
12069         movl    %ebx,%ecx
12070         addl    %edi,%edx
12071         movl    (%esp),%edi
12072         movl    %ebx,%esi
12073         shrdl   $9,%ecx,%ecx
12074         movl    %ebx,28(%esp)
12075         xorl    %ebx,%ecx
12076         xorl    %edi,%ebx
12077         addl    24(%esp),%edx
12078         shrdl   $11,%ecx,%ecx
12079         andl    %ebx,%eax
12080         xorl    %esi,%ecx
12081         addl    36(%esp),%edx
12082         xorl    %edi,%eax
12083         shrdl   $2,%ecx,%ecx
12084         addl    %edx,%eax
12085         addl    8(%esp),%edx
12086         addl    %ecx,%eax
12087         movl    %edx,%ecx
12088         shrdl   $14,%edx,%edx
12089         movl    12(%esp),%esi
12090         xorl    %ecx,%edx
12091         movl    16(%esp),%edi
12092         xorl    %edi,%esi
12093         shrdl   $5,%edx,%edx
12094         andl    %ecx,%esi
12095         movl    %ecx,8(%esp)
12096         xorl    %ecx,%edx
12097         xorl    %esi,%edi
12098         shrdl   $6,%edx,%edx
12099         movl    %eax,%ecx
12100         addl    %edi,%edx
12101         movl    28(%esp),%edi
12102         movl    %eax,%esi
12103         shrdl   $9,%ecx,%ecx
12104         movl    %eax,24(%esp)
12105         xorl    %eax,%ecx
12106         xorl    %edi,%eax
12107         addl    20(%esp),%edx
12108         shrdl   $11,%ecx,%ecx
12109         andl    %eax,%ebx
12110         xorl    %esi,%ecx
12111         addl    40(%esp),%edx
12112         xorl    %edi,%ebx
12113         shrdl   $2,%ecx,%ecx
12114         addl    %edx,%ebx
12115         addl    4(%esp),%edx
12116         addl    %ecx,%ebx
12117         movl    %edx,%ecx
12118         shrdl   $14,%edx,%edx
12119         movl    8(%esp),%esi
12120         xorl    %ecx,%edx
12121         movl    12(%esp),%edi
12122         xorl    %edi,%esi
12123         shrdl   $5,%edx,%edx
12124         andl    %ecx,%esi
12125         movl    %ecx,4(%esp)
12126         xorl    %ecx,%edx
12127         xorl    %esi,%edi
12128         shrdl   $6,%edx,%edx
12129         movl    %ebx,%ecx
12130         addl    %edi,%edx
12131         movl    24(%esp),%edi
12132         movl    %ebx,%esi
12133         shrdl   $9,%ecx,%ecx
12134         movl    %ebx,20(%esp)
12135         xorl    %ebx,%ecx
12136         xorl    %edi,%ebx
12137         addl    16(%esp),%edx
12138         shrdl   $11,%ecx,%ecx
12139         andl    %ebx,%eax
12140         xorl    %esi,%ecx
12141         addl    44(%esp),%edx
12142         xorl    %edi,%eax
12143         shrdl   $2,%ecx,%ecx
12144         addl    %edx,%eax
12145         addl    (%esp),%edx
12146         addl    %ecx,%eax
12147         movl    %edx,%ecx
12148         shrdl   $14,%edx,%edx
12149         movl    4(%esp),%esi
12150         xorl    %ecx,%edx
12151         movl    8(%esp),%edi
12152         xorl    %edi,%esi
12153         shrdl   $5,%edx,%edx
12154         andl    %ecx,%esi
12155         movl    %ecx,(%esp)
12156         xorl    %ecx,%edx
12157         xorl    %esi,%edi
12158         shrdl   $6,%edx,%edx
12159         movl    %eax,%ecx
12160         addl    %edi,%edx
12161         movl    20(%esp),%edi
12162         movl    %eax,%esi
12163         shrdl   $9,%ecx,%ecx
12164         movl    %eax,16(%esp)
12165         xorl    %eax,%ecx
12166         xorl    %edi,%eax
12167         addl    12(%esp),%edx
12168         shrdl   $11,%ecx,%ecx
12169         andl    %eax,%ebx
12170         xorl    %esi,%ecx
12171         addl    48(%esp),%edx
12172         xorl    %edi,%ebx
12173         shrdl   $2,%ecx,%ecx
12174         addl    %edx,%ebx
12175         addl    28(%esp),%edx
12176         addl    %ecx,%ebx
12177         movl    %edx,%ecx
12178         shrdl   $14,%edx,%edx
12179         movl    (%esp),%esi
12180         xorl    %ecx,%edx
12181         movl    4(%esp),%edi
12182         xorl    %edi,%esi
12183         shrdl   $5,%edx,%edx
12184         andl    %ecx,%esi
12185         movl    %ecx,28(%esp)
12186         xorl    %ecx,%edx
12187         xorl    %esi,%edi
12188         shrdl   $6,%edx,%edx
12189         movl    %ebx,%ecx
12190         addl    %edi,%edx
12191         movl    16(%esp),%edi
12192         movl    %ebx,%esi
12193         shrdl   $9,%ecx,%ecx
12194         movl    %ebx,12(%esp)
12195         xorl    %ebx,%ecx
12196         xorl    %edi,%ebx
12197         addl    8(%esp),%edx
12198         shrdl   $11,%ecx,%ecx
12199         andl    %ebx,%eax
12200         xorl    %esi,%ecx
12201         addl    52(%esp),%edx
12202         xorl    %edi,%eax
12203         shrdl   $2,%ecx,%ecx
12204         addl    %edx,%eax
12205         addl    24(%esp),%edx
12206         addl    %ecx,%eax
12207         movl    %edx,%ecx
12208         shrdl   $14,%edx,%edx
12209         movl    28(%esp),%esi
12210         xorl    %ecx,%edx
12211         movl    (%esp),%edi
12212         xorl    %edi,%esi
12213         shrdl   $5,%edx,%edx
12214         andl    %ecx,%esi
12215         movl    %ecx,24(%esp)
12216         xorl    %ecx,%edx
12217         xorl    %esi,%edi
12218         shrdl   $6,%edx,%edx
12219         movl    %eax,%ecx
12220         addl    %edi,%edx
12221         movl    12(%esp),%edi
12222         movl    %eax,%esi
12223         shrdl   $9,%ecx,%ecx
12224         movl    %eax,8(%esp)
12225         xorl    %eax,%ecx
12226         xorl    %edi,%eax
12227         addl    4(%esp),%edx
12228         shrdl   $11,%ecx,%ecx
12229         andl    %eax,%ebx
12230         xorl    %esi,%ecx
12231         addl    56(%esp),%edx
12232         xorl    %edi,%ebx
12233         shrdl   $2,%ecx,%ecx
12234         addl    %edx,%ebx
12235         addl    20(%esp),%edx
12236         addl    %ecx,%ebx
12237         movl    %edx,%ecx
12238         shrdl   $14,%edx,%edx
12239         movl    24(%esp),%esi
12240         xorl    %ecx,%edx
12241         movl    28(%esp),%edi
12242         xorl    %edi,%esi
12243         shrdl   $5,%edx,%edx
12244         andl    %ecx,%esi
12245         movl    %ecx,20(%esp)
12246         xorl    %ecx,%edx
12247         xorl    %esi,%edi
12248         shrdl   $6,%edx,%edx
12249         movl    %ebx,%ecx
12250         addl    %edi,%edx
12251         movl    8(%esp),%edi
12252         movl    %ebx,%esi
12253         shrdl   $9,%ecx,%ecx
12254         movl    %ebx,4(%esp)
12255         xorl    %ebx,%ecx
12256         xorl    %edi,%ebx
12257         addl    (%esp),%edx
12258         shrdl   $11,%ecx,%ecx
12259         andl    %ebx,%eax
12260         xorl    %esi,%ecx
12261         addl    60(%esp),%edx
12262         xorl    %edi,%eax
12263         shrdl   $2,%ecx,%ecx
12264         addl    %edx,%eax
12265         addl    16(%esp),%edx
12266         addl    %ecx,%eax
12267         movl    %edx,%ecx
12268         shrdl   $14,%edx,%edx
12269         movl    20(%esp),%esi
12270         xorl    %ecx,%edx
12271         movl    24(%esp),%edi
12272         xorl    %edi,%esi
12273         shrdl   $5,%edx,%edx
12274         andl    %ecx,%esi
12275         movl    %ecx,16(%esp)
12276         xorl    %ecx,%edx
12277         xorl    %esi,%edi
12278         shrdl   $6,%edx,%edx
12279         movl    %eax,%ecx
12280         addl    %edi,%edx
12281         movl    4(%esp),%edi
12282         movl    %eax,%esi
12283         shrdl   $9,%ecx,%ecx
12284         movl    %eax,(%esp)
12285         xorl    %eax,%ecx
12286         xorl    %edi,%eax
12287         addl    28(%esp),%edx
12288         shrdl   $11,%ecx,%ecx
12289         andl    %eax,%ebx
12290         xorl    %esi,%ecx
12291         addl    64(%esp),%edx
12292         xorl    %edi,%ebx
12293         shrdl   $2,%ecx,%ecx
12294         addl    %edx,%ebx
12295         addl    12(%esp),%edx
12296         addl    %ecx,%ebx
12297         movl    %edx,%ecx
12298         shrdl   $14,%edx,%edx
12299         movl    16(%esp),%esi
12300         xorl    %ecx,%edx
12301         movl    20(%esp),%edi
12302         xorl    %edi,%esi
12303         shrdl   $5,%edx,%edx
12304         andl    %ecx,%esi
12305         movl    %ecx,12(%esp)
12306         xorl    %ecx,%edx
12307         xorl    %esi,%edi
12308         shrdl   $6,%edx,%edx
12309         movl    %ebx,%ecx
12310         addl    %edi,%edx
12311         movl    (%esp),%edi
12312         movl    %ebx,%esi
12313         shrdl   $9,%ecx,%ecx
12314         movl    %ebx,28(%esp)
12315         xorl    %ebx,%ecx
12316         xorl    %edi,%ebx
12317         addl    24(%esp),%edx
12318         shrdl   $11,%ecx,%ecx
12319         andl    %ebx,%eax
12320         xorl    %esi,%ecx
12321         addl    68(%esp),%edx
12322         xorl    %edi,%eax
12323         shrdl   $2,%ecx,%ecx
12324         addl    %edx,%eax
12325         addl    8(%esp),%edx
12326         addl    %ecx,%eax
12327         movl    %edx,%ecx
12328         shrdl   $14,%edx,%edx
12329         movl    12(%esp),%esi
12330         xorl    %ecx,%edx
12331         movl    16(%esp),%edi
12332         xorl    %edi,%esi
12333         shrdl   $5,%edx,%edx
12334         andl    %ecx,%esi
12335         movl    %ecx,8(%esp)
12336         xorl    %ecx,%edx
12337         xorl    %esi,%edi
12338         shrdl   $6,%edx,%edx
12339         movl    %eax,%ecx
12340         addl    %edi,%edx
12341         movl    28(%esp),%edi
12342         movl    %eax,%esi
12343         shrdl   $9,%ecx,%ecx
12344         movl    %eax,24(%esp)
12345         xorl    %eax,%ecx
12346         xorl    %edi,%eax
12347         addl    20(%esp),%edx
12348         shrdl   $11,%ecx,%ecx
12349         andl    %eax,%ebx
12350         xorl    %esi,%ecx
12351         addl    72(%esp),%edx
12352         xorl    %edi,%ebx
12353         shrdl   $2,%ecx,%ecx
12354         addl    %edx,%ebx
12355         addl    4(%esp),%edx
12356         addl    %ecx,%ebx
12357         movl    %edx,%ecx
12358         shrdl   $14,%edx,%edx
12359         movl    8(%esp),%esi
12360         xorl    %ecx,%edx
12361         movl    12(%esp),%edi
12362         xorl    %edi,%esi
12363         shrdl   $5,%edx,%edx
12364         andl    %ecx,%esi
12365         movl    %ecx,4(%esp)
12366         xorl    %ecx,%edx
12367         xorl    %esi,%edi
12368         shrdl   $6,%edx,%edx
12369         movl    %ebx,%ecx
12370         addl    %edi,%edx
12371         movl    24(%esp),%edi
12372         movl    %ebx,%esi
12373         shrdl   $9,%ecx,%ecx
12374         movl    %ebx,20(%esp)
12375         xorl    %ebx,%ecx
12376         xorl    %edi,%ebx
12377         addl    16(%esp),%edx
12378         shrdl   $11,%ecx,%ecx
12379         andl    %ebx,%eax
12380         xorl    %esi,%ecx
12381         addl    76(%esp),%edx
12382         xorl    %edi,%eax
12383         shrdl   $2,%ecx,%ecx
12384         addl    %edx,%eax
12385         addl    (%esp),%edx
12386         addl    %ecx,%eax
12387         movl    %edx,%ecx
12388         shrdl   $14,%edx,%edx
12389         movl    4(%esp),%esi
12390         xorl    %ecx,%edx
12391         movl    8(%esp),%edi
12392         xorl    %edi,%esi
12393         shrdl   $5,%edx,%edx
12394         andl    %ecx,%esi
12395         movl    %ecx,(%esp)
12396         xorl    %ecx,%edx
12397         xorl    %esi,%edi
12398         shrdl   $6,%edx,%edx
12399         movl    %eax,%ecx
12400         addl    %edi,%edx
12401         movl    20(%esp),%edi
12402         movl    %eax,%esi
12403         shrdl   $9,%ecx,%ecx
12404         movl    %eax,16(%esp)
12405         xorl    %eax,%ecx
12406         xorl    %edi,%eax
12407         addl    12(%esp),%edx
12408         shrdl   $11,%ecx,%ecx
12409         andl    %eax,%ebx
12410         xorl    %esi,%ecx
12411         addl    80(%esp),%edx
12412         xorl    %edi,%ebx
12413         shrdl   $2,%ecx,%ecx
12414         addl    %edx,%ebx
12415         addl    28(%esp),%edx
12416         addl    %ecx,%ebx
12417         movl    %edx,%ecx
12418         shrdl   $14,%edx,%edx
12419         movl    (%esp),%esi
12420         xorl    %ecx,%edx
12421         movl    4(%esp),%edi
12422         xorl    %edi,%esi
12423         shrdl   $5,%edx,%edx
12424         andl    %ecx,%esi
12425         movl    %ecx,28(%esp)
12426         xorl    %ecx,%edx
12427         xorl    %esi,%edi
12428         shrdl   $6,%edx,%edx
12429         movl    %ebx,%ecx
12430         addl    %edi,%edx
12431         movl    16(%esp),%edi
12432         movl    %ebx,%esi
12433         shrdl   $9,%ecx,%ecx
12434         movl    %ebx,12(%esp)
12435         xorl    %ebx,%ecx
12436         xorl    %edi,%ebx
12437         addl    8(%esp),%edx
12438         shrdl   $11,%ecx,%ecx
12439         andl    %ebx,%eax
12440         xorl    %esi,%ecx
12441         addl    84(%esp),%edx
12442         xorl    %edi,%eax
12443         shrdl   $2,%ecx,%ecx
12444         addl    %edx,%eax
12445         addl    24(%esp),%edx
12446         addl    %ecx,%eax
12447         movl    %edx,%ecx
12448         shrdl   $14,%edx,%edx
12449         movl    28(%esp),%esi
12450         xorl    %ecx,%edx
12451         movl    (%esp),%edi
12452         xorl    %edi,%esi
12453         shrdl   $5,%edx,%edx
12454         andl    %ecx,%esi
12455         movl    %ecx,24(%esp)
12456         xorl    %ecx,%edx
12457         xorl    %esi,%edi
12458         shrdl   $6,%edx,%edx
12459         movl    %eax,%ecx
12460         addl    %edi,%edx
12461         movl    12(%esp),%edi
12462         movl    %eax,%esi
12463         shrdl   $9,%ecx,%ecx
12464         movl    %eax,8(%esp)
12465         xorl    %eax,%ecx
12466         xorl    %edi,%eax
12467         addl    4(%esp),%edx
12468         shrdl   $11,%ecx,%ecx
12469         andl    %eax,%ebx
12470         xorl    %esi,%ecx
12471         addl    88(%esp),%edx
12472         xorl    %edi,%ebx
12473         shrdl   $2,%ecx,%ecx
12474         addl    %edx,%ebx
12475         addl    20(%esp),%edx
12476         addl    %ecx,%ebx
12477         movl    %edx,%ecx
12478         shrdl   $14,%edx,%edx
12479         movl    24(%esp),%esi
12480         xorl    %ecx,%edx
12481         movl    28(%esp),%edi
12482         xorl    %edi,%esi
12483         shrdl   $5,%edx,%edx
12484         andl    %ecx,%esi
12485         movl    %ecx,20(%esp)
12486         xorl    %ecx,%edx
12487         xorl    %esi,%edi
12488         shrdl   $6,%edx,%edx
12489         movl    %ebx,%ecx
12490         addl    %edi,%edx
12491         movl    8(%esp),%edi
12492         movl    %ebx,%esi
12493         shrdl   $9,%ecx,%ecx
12494         movl    %ebx,4(%esp)
12495         xorl    %ebx,%ecx
12496         xorl    %edi,%ebx
12497         addl    (%esp),%edx
12498         shrdl   $11,%ecx,%ecx
12499         andl    %ebx,%eax
12500         xorl    %esi,%ecx
12501         addl    92(%esp),%edx
12502         xorl    %edi,%eax
12503         shrdl   $2,%ecx,%ecx
12504         addl    %edx,%eax
12505         addl    16(%esp),%edx
12506         addl    %ecx,%eax
12507         movl    96(%esp),%esi
12508         xorl    %edi,%ebx
12509         movl    12(%esp),%ecx
12510         addl    (%esi),%eax
12511         addl    4(%esi),%ebx
12512         addl    8(%esi),%edi
12513         addl    12(%esi),%ecx
12514         movl    %eax,(%esi)
12515         movl    %ebx,4(%esi)
12516         movl    %edi,8(%esi)
12517         movl    %ecx,12(%esi)
12518         movl    %ebx,4(%esp)
12519         xorl    %edi,%ebx
12520         movl    %edi,8(%esp)
12521         movl    %ecx,12(%esp)
12522         movl    20(%esp),%edi
12523         movl    24(%esp),%ecx
12524         addl    16(%esi),%edx
12525         addl    20(%esi),%edi
12526         addl    24(%esi),%ecx
12527         movl    %edx,16(%esi)
12528         movl    %edi,20(%esi)
12529         movl    %edi,20(%esp)
12530         movl    28(%esp),%edi
12531         movl    %ecx,24(%esi)
12532         addl    28(%esi),%edi
12533         movl    %ecx,24(%esp)
12534         movl    %edi,28(%esi)
12535         movl    %edi,28(%esp)
12536         movl    100(%esp),%edi
12537         vmovdqa 64(%ebp),%xmm7
12538         subl    $192,%ebp
12539         cmpl    104(%esp),%edi
12540         jb      .L015grand_avx
12541         movl    108(%esp),%esp
12542         vzeroall
12543         popl    %edi
12544         popl    %esi
12545         popl    %ebx
12546         popl    %ebp
12547         ret
12548 .align  32
12549 .L014AVX_BMI:
12550         leal    -96(%esp),%esp
12551         vzeroall
12552         movl    (%esi),%eax
12553         movl    4(%esi),%ebx
12554         movl    8(%esi),%ecx
12555         movl    12(%esi),%edi
12556         movl    %ebx,4(%esp)
12557         xorl    %ecx,%ebx
12558         movl    %ecx,8(%esp)
12559         movl    %edi,12(%esp)
12560         movl    16(%esi),%edx
12561         movl    20(%esi),%edi
12562         movl    24(%esi),%ecx
12563         movl    28(%esi),%esi
12564         movl    %edi,20(%esp)
12565         movl    100(%esp),%edi
12566         movl    %ecx,24(%esp)
12567         movl    %esi,28(%esp)
12568         vmovdqa 256(%ebp),%xmm7
12569         jmp     .L017grand_avx_bmi
12570 .align  32
12571 .L017grand_avx_bmi:
12572         vmovdqu (%edi),%xmm0
12573         vmovdqu 16(%edi),%xmm1
12574         vmovdqu 32(%edi),%xmm2
12575         vmovdqu 48(%edi),%xmm3
12576         addl    $64,%edi
12577         vpshufb %xmm7,%xmm0,%xmm0
12578         movl    %edi,100(%esp)
12579         vpshufb %xmm7,%xmm1,%xmm1
12580         vpshufb %xmm7,%xmm2,%xmm2
12581         vpaddd  (%ebp),%xmm0,%xmm4
12582         vpshufb %xmm7,%xmm3,%xmm3
12583         vpaddd  16(%ebp),%xmm1,%xmm5
12584         vpaddd  32(%ebp),%xmm2,%xmm6
12585         vpaddd  48(%ebp),%xmm3,%xmm7
12586         vmovdqa %xmm4,32(%esp)
12587         vmovdqa %xmm5,48(%esp)
12588         vmovdqa %xmm6,64(%esp)
12589         vmovdqa %xmm7,80(%esp)
12590         jmp     .L018avx_bmi_00_47
12591 .align  16
12592 .L018avx_bmi_00_47:
12593         addl    $64,%ebp
12594         vpalignr        $4,%xmm0,%xmm1,%xmm4
12595         rorxl   $6,%edx,%ecx
12596         rorxl   $11,%edx,%esi
12597         movl    %edx,16(%esp)
12598         vpalignr        $4,%xmm2,%xmm3,%xmm7
12599         rorxl   $25,%edx,%edi
12600         xorl    %esi,%ecx
12601         andnl   24(%esp),%edx,%esi
12602         vpsrld  $7,%xmm4,%xmm6
12603         xorl    %edi,%ecx
12604         andl    20(%esp),%edx
12605         movl    %eax,(%esp)
12606         vpaddd  %xmm7,%xmm0,%xmm0
12607         orl     %esi,%edx
12608         rorxl   $2,%eax,%edi
12609         rorxl   $13,%eax,%esi
12610         vpsrld  $3,%xmm4,%xmm7
12611         leal    (%edx,%ecx,1),%edx
12612         rorxl   $22,%eax,%ecx
12613         xorl    %edi,%esi
12614         vpslld  $14,%xmm4,%xmm5
12615         movl    4(%esp),%edi
12616         xorl    %esi,%ecx
12617         xorl    %edi,%eax
12618         vpxor   %xmm6,%xmm7,%xmm4
12619         addl    28(%esp),%edx
12620         andl    %eax,%ebx
12621         addl    32(%esp),%edx
12622         vpshufd $250,%xmm3,%xmm7
12623         xorl    %edi,%ebx
12624         addl    %edx,%ecx
12625         addl    12(%esp),%edx
12626         vpsrld  $11,%xmm6,%xmm6
12627         leal    (%ebx,%ecx,1),%ebx
12628         rorxl   $6,%edx,%ecx
12629         rorxl   $11,%edx,%esi
12630         vpxor   %xmm5,%xmm4,%xmm4
12631         movl    %edx,12(%esp)
12632         rorxl   $25,%edx,%edi
12633         xorl    %esi,%ecx
12634         vpslld  $11,%xmm5,%xmm5
12635         andnl   20(%esp),%edx,%esi
12636         xorl    %edi,%ecx
12637         andl    16(%esp),%edx
12638         vpxor   %xmm6,%xmm4,%xmm4
12639         movl    %ebx,28(%esp)
12640         orl     %esi,%edx
12641         rorxl   $2,%ebx,%edi
12642         rorxl   $13,%ebx,%esi
12643         vpsrld  $10,%xmm7,%xmm6
12644         leal    (%edx,%ecx,1),%edx
12645         rorxl   $22,%ebx,%ecx
12646         xorl    %edi,%esi
12647         vpxor   %xmm5,%xmm4,%xmm4
12648         movl    (%esp),%edi
12649         xorl    %esi,%ecx
12650         xorl    %edi,%ebx
12651         vpsrlq  $17,%xmm7,%xmm5
12652         addl    24(%esp),%edx
12653         andl    %ebx,%eax
12654         addl    36(%esp),%edx
12655         vpaddd  %xmm4,%xmm0,%xmm0
12656         xorl    %edi,%eax
12657         addl    %edx,%ecx
12658         addl    8(%esp),%edx
12659         vpxor   %xmm5,%xmm6,%xmm6
12660         leal    (%eax,%ecx,1),%eax
12661         rorxl   $6,%edx,%ecx
12662         rorxl   $11,%edx,%esi
12663         vpsrlq  $19,%xmm7,%xmm7
12664         movl    %edx,8(%esp)
12665         rorxl   $25,%edx,%edi
12666         xorl    %esi,%ecx
12667         vpxor   %xmm7,%xmm6,%xmm6
12668         andnl   16(%esp),%edx,%esi
12669         xorl    %edi,%ecx
12670         andl    12(%esp),%edx
12671         vpshufd $132,%xmm6,%xmm7
12672         movl    %eax,24(%esp)
12673         orl     %esi,%edx
12674         rorxl   $2,%eax,%edi
12675         rorxl   $13,%eax,%esi
12676         vpsrldq $8,%xmm7,%xmm7
12677         leal    (%edx,%ecx,1),%edx
12678         rorxl   $22,%eax,%ecx
12679         xorl    %edi,%esi
12680         vpaddd  %xmm7,%xmm0,%xmm0
12681         movl    28(%esp),%edi
12682         xorl    %esi,%ecx
12683         xorl    %edi,%eax
12684         vpshufd $80,%xmm0,%xmm7
12685         addl    20(%esp),%edx
12686         andl    %eax,%ebx
12687         addl    40(%esp),%edx
12688         vpsrld  $10,%xmm7,%xmm6
12689         xorl    %edi,%ebx
12690         addl    %edx,%ecx
12691         addl    4(%esp),%edx
12692         vpsrlq  $17,%xmm7,%xmm5
12693         leal    (%ebx,%ecx,1),%ebx
12694         rorxl   $6,%edx,%ecx
12695         rorxl   $11,%edx,%esi
12696         vpxor   %xmm5,%xmm6,%xmm6
12697         movl    %edx,4(%esp)
12698         rorxl   $25,%edx,%edi
12699         xorl    %esi,%ecx
12700         vpsrlq  $19,%xmm7,%xmm7
12701         andnl   12(%esp),%edx,%esi
12702         xorl    %edi,%ecx
12703         andl    8(%esp),%edx
12704         vpxor   %xmm7,%xmm6,%xmm6
12705         movl    %ebx,20(%esp)
12706         orl     %esi,%edx
12707         rorxl   $2,%ebx,%edi
12708         rorxl   $13,%ebx,%esi
12709         vpshufd $232,%xmm6,%xmm7
12710         leal    (%edx,%ecx,1),%edx
12711         rorxl   $22,%ebx,%ecx
12712         xorl    %edi,%esi
12713         vpslldq $8,%xmm7,%xmm7
12714         movl    24(%esp),%edi
12715         xorl    %esi,%ecx
12716         xorl    %edi,%ebx
12717         vpaddd  %xmm7,%xmm0,%xmm0
12718         addl    16(%esp),%edx
12719         andl    %ebx,%eax
12720         addl    44(%esp),%edx
12721         vpaddd  (%ebp),%xmm0,%xmm6
12722         xorl    %edi,%eax
12723         addl    %edx,%ecx
12724         addl    (%esp),%edx
12725         leal    (%eax,%ecx,1),%eax
12726         vmovdqa %xmm6,32(%esp)
12727         vpalignr        $4,%xmm1,%xmm2,%xmm4
12728         rorxl   $6,%edx,%ecx
12729         rorxl   $11,%edx,%esi
12730         movl    %edx,(%esp)
12731         vpalignr        $4,%xmm3,%xmm0,%xmm7
12732         rorxl   $25,%edx,%edi
12733         xorl    %esi,%ecx
12734         andnl   8(%esp),%edx,%esi
12735         vpsrld  $7,%xmm4,%xmm6
12736         xorl    %edi,%ecx
12737         andl    4(%esp),%edx
12738         movl    %eax,16(%esp)
12739         vpaddd  %xmm7,%xmm1,%xmm1
12740         orl     %esi,%edx
12741         rorxl   $2,%eax,%edi
12742         rorxl   $13,%eax,%esi
12743         vpsrld  $3,%xmm4,%xmm7
12744         leal    (%edx,%ecx,1),%edx
12745         rorxl   $22,%eax,%ecx
12746         xorl    %edi,%esi
12747         vpslld  $14,%xmm4,%xmm5
12748         movl    20(%esp),%edi
12749         xorl    %esi,%ecx
12750         xorl    %edi,%eax
12751         vpxor   %xmm6,%xmm7,%xmm4
12752         addl    12(%esp),%edx
12753         andl    %eax,%ebx
12754         addl    48(%esp),%edx
12755         vpshufd $250,%xmm0,%xmm7
12756         xorl    %edi,%ebx
12757         addl    %edx,%ecx
12758         addl    28(%esp),%edx
12759         vpsrld  $11,%xmm6,%xmm6
12760         leal    (%ebx,%ecx,1),%ebx
12761         rorxl   $6,%edx,%ecx
12762         rorxl   $11,%edx,%esi
12763         vpxor   %xmm5,%xmm4,%xmm4
12764         movl    %edx,28(%esp)
12765         rorxl   $25,%edx,%edi
12766         xorl    %esi,%ecx
12767         vpslld  $11,%xmm5,%xmm5
12768         andnl   4(%esp),%edx,%esi
12769         xorl    %edi,%ecx
12770         andl    (%esp),%edx
12771         vpxor   %xmm6,%xmm4,%xmm4
12772         movl    %ebx,12(%esp)
12773         orl     %esi,%edx
12774         rorxl   $2,%ebx,%edi
12775         rorxl   $13,%ebx,%esi
12776         vpsrld  $10,%xmm7,%xmm6
12777         leal    (%edx,%ecx,1),%edx
12778         rorxl   $22,%ebx,%ecx
12779         xorl    %edi,%esi
12780         vpxor   %xmm5,%xmm4,%xmm4
12781         movl    16(%esp),%edi
12782         xorl    %esi,%ecx
12783         xorl    %edi,%ebx
12784         vpsrlq  $17,%xmm7,%xmm5
12785         addl    8(%esp),%edx
12786         andl    %ebx,%eax
12787         addl    52(%esp),%edx
12788         vpaddd  %xmm4,%xmm1,%xmm1
12789         xorl    %edi,%eax
12790         addl    %edx,%ecx
12791         addl    24(%esp),%edx
12792         vpxor   %xmm5,%xmm6,%xmm6
12793         leal    (%eax,%ecx,1),%eax
12794         rorxl   $6,%edx,%ecx
12795         rorxl   $11,%edx,%esi
12796         vpsrlq  $19,%xmm7,%xmm7
12797         movl    %edx,24(%esp)
12798         rorxl   $25,%edx,%edi
12799         xorl    %esi,%ecx
12800         vpxor   %xmm7,%xmm6,%xmm6
12801         andnl   (%esp),%edx,%esi
12802         xorl    %edi,%ecx
12803         andl    28(%esp),%edx
12804         vpshufd $132,%xmm6,%xmm7
12805         movl    %eax,8(%esp)
12806         orl     %esi,%edx
12807         rorxl   $2,%eax,%edi
12808         rorxl   $13,%eax,%esi
12809         vpsrldq $8,%xmm7,%xmm7
12810         leal    (%edx,%ecx,1),%edx
12811         rorxl   $22,%eax,%ecx
12812         xorl    %edi,%esi
12813         vpaddd  %xmm7,%xmm1,%xmm1
12814         movl    12(%esp),%edi
12815         xorl    %esi,%ecx
12816         xorl    %edi,%eax
12817         vpshufd $80,%xmm1,%xmm7
12818         addl    4(%esp),%edx
12819         andl    %eax,%ebx
12820         addl    56(%esp),%edx
12821         vpsrld  $10,%xmm7,%xmm6
12822         xorl    %edi,%ebx
12823         addl    %edx,%ecx
12824         addl    20(%esp),%edx
12825         vpsrlq  $17,%xmm7,%xmm5
12826         leal    (%ebx,%ecx,1),%ebx
12827         rorxl   $6,%edx,%ecx
12828         rorxl   $11,%edx,%esi
12829         vpxor   %xmm5,%xmm6,%xmm6
12830         movl    %edx,20(%esp)
12831         rorxl   $25,%edx,%edi
12832         xorl    %esi,%ecx
12833         vpsrlq  $19,%xmm7,%xmm7
12834         andnl   28(%esp),%edx,%esi
12835         xorl    %edi,%ecx
12836         andl    24(%esp),%edx
12837         vpxor   %xmm7,%xmm6,%xmm6
12838         movl    %ebx,4(%esp)
12839         orl     %esi,%edx
12840         rorxl   $2,%ebx,%edi
12841         rorxl   $13,%ebx,%esi
12842         vpshufd $232,%xmm6,%xmm7
12843         leal    (%edx,%ecx,1),%edx
12844         rorxl   $22,%ebx,%ecx
12845         xorl    %edi,%esi
12846         vpslldq $8,%xmm7,%xmm7
12847         movl    8(%esp),%edi
12848         xorl    %esi,%ecx
12849         xorl    %edi,%ebx
12850         vpaddd  %xmm7,%xmm1,%xmm1
12851         addl    (%esp),%edx
12852         andl    %ebx,%eax
12853         addl    60(%esp),%edx
12854         vpaddd  16(%ebp),%xmm1,%xmm6
12855         xorl    %edi,%eax
12856         addl    %edx,%ecx
12857         addl    16(%esp),%edx
12858         leal    (%eax,%ecx,1),%eax
12859         vmovdqa %xmm6,48(%esp)
12860         vpalignr        $4,%xmm2,%xmm3,%xmm4
12861         rorxl   $6,%edx,%ecx
12862         rorxl   $11,%edx,%esi
12863         movl    %edx,16(%esp)
12864         vpalignr        $4,%xmm0,%xmm1,%xmm7
12865         rorxl   $25,%edx,%edi
12866         xorl    %esi,%ecx
12867         andnl   24(%esp),%edx,%esi
12868         vpsrld  $7,%xmm4,%xmm6
12869         xorl    %edi,%ecx
12870         andl    20(%esp),%edx
12871         movl    %eax,(%esp)
12872         vpaddd  %xmm7,%xmm2,%xmm2
12873         orl     %esi,%edx
12874         rorxl   $2,%eax,%edi
12875         rorxl   $13,%eax,%esi
12876         vpsrld  $3,%xmm4,%xmm7
12877         leal    (%edx,%ecx,1),%edx
12878         rorxl   $22,%eax,%ecx
12879         xorl    %edi,%esi
12880         vpslld  $14,%xmm4,%xmm5
12881         movl    4(%esp),%edi
12882         xorl    %esi,%ecx
12883         xorl    %edi,%eax
12884         vpxor   %xmm6,%xmm7,%xmm4
12885         addl    28(%esp),%edx
12886         andl    %eax,%ebx
12887         addl    64(%esp),%edx
12888         vpshufd $250,%xmm1,%xmm7
12889         xorl    %edi,%ebx
12890         addl    %edx,%ecx
12891         addl    12(%esp),%edx
12892         vpsrld  $11,%xmm6,%xmm6
12893         leal    (%ebx,%ecx,1),%ebx
12894         rorxl   $6,%edx,%ecx
12895         rorxl   $11,%edx,%esi
12896         vpxor   %xmm5,%xmm4,%xmm4
12897         movl    %edx,12(%esp)
12898         rorxl   $25,%edx,%edi
12899         xorl    %esi,%ecx
12900         vpslld  $11,%xmm5,%xmm5
12901         andnl   20(%esp),%edx,%esi
12902         xorl    %edi,%ecx
12903         andl    16(%esp),%edx
12904         vpxor   %xmm6,%xmm4,%xmm4
12905         movl    %ebx,28(%esp)
12906         orl     %esi,%edx
12907         rorxl   $2,%ebx,%edi
12908         rorxl   $13,%ebx,%esi
12909         vpsrld  $10,%xmm7,%xmm6
12910         leal    (%edx,%ecx,1),%edx
12911         rorxl   $22,%ebx,%ecx
12912         xorl    %edi,%esi
12913         vpxor   %xmm5,%xmm4,%xmm4
12914         movl    (%esp),%edi
12915         xorl    %esi,%ecx
12916         xorl    %edi,%ebx
12917         vpsrlq  $17,%xmm7,%xmm5
12918         addl    24(%esp),%edx
12919         andl    %ebx,%eax
12920         addl    68(%esp),%edx
12921         vpaddd  %xmm4,%xmm2,%xmm2
12922         xorl    %edi,%eax
12923         addl    %edx,%ecx
12924         addl    8(%esp),%edx
12925         vpxor   %xmm5,%xmm6,%xmm6
12926         leal    (%eax,%ecx,1),%eax
12927         rorxl   $6,%edx,%ecx
12928         rorxl   $11,%edx,%esi
12929         vpsrlq  $19,%xmm7,%xmm7
12930         movl    %edx,8(%esp)
12931         rorxl   $25,%edx,%edi
12932         xorl    %esi,%ecx
12933         vpxor   %xmm7,%xmm6,%xmm6
12934         andnl   16(%esp),%edx,%esi
12935         xorl    %edi,%ecx
12936         andl    12(%esp),%edx
12937         vpshufd $132,%xmm6,%xmm7
12938         movl    %eax,24(%esp)
12939         orl     %esi,%edx
12940         rorxl   $2,%eax,%edi
12941         rorxl   $13,%eax,%esi
12942         vpsrldq $8,%xmm7,%xmm7
12943         leal    (%edx,%ecx,1),%edx
12944         rorxl   $22,%eax,%ecx
12945         xorl    %edi,%esi
12946         vpaddd  %xmm7,%xmm2,%xmm2
12947         movl    28(%esp),%edi
12948         xorl    %esi,%ecx
12949         xorl    %edi,%eax
12950         vpshufd $80,%xmm2,%xmm7
12951         addl    20(%esp),%edx
12952         andl    %eax,%ebx
12953         addl    72(%esp),%edx
12954         vpsrld  $10,%xmm7,%xmm6
12955         xorl    %edi,%ebx
12956         addl    %edx,%ecx
12957         addl    4(%esp),%edx
12958         vpsrlq  $17,%xmm7,%xmm5
12959         leal    (%ebx,%ecx,1),%ebx
12960         rorxl   $6,%edx,%ecx
12961         rorxl   $11,%edx,%esi
12962         vpxor   %xmm5,%xmm6,%xmm6
12963         movl    %edx,4(%esp)
12964         rorxl   $25,%edx,%edi
12965         xorl    %esi,%ecx
12966         vpsrlq  $19,%xmm7,%xmm7
12967         andnl   12(%esp),%edx,%esi
12968         xorl    %edi,%ecx
12969         andl    8(%esp),%edx
12970         vpxor   %xmm7,%xmm6,%xmm6
12971         movl    %ebx,20(%esp)
12972         orl     %esi,%edx
12973         rorxl   $2,%ebx,%edi
12974         rorxl   $13,%ebx,%esi
12975         vpshufd $232,%xmm6,%xmm7
12976         leal    (%edx,%ecx,1),%edx
12977         rorxl   $22,%ebx,%ecx
12978         xorl    %edi,%esi
12979         vpslldq $8,%xmm7,%xmm7
12980         movl    24(%esp),%edi
12981         xorl    %esi,%ecx
12982         xorl    %edi,%ebx
12983         vpaddd  %xmm7,%xmm2,%xmm2
12984         addl    16(%esp),%edx
12985         andl    %ebx,%eax
12986         addl    76(%esp),%edx
12987         vpaddd  32(%ebp),%xmm2,%xmm6
12988         xorl    %edi,%eax
12989         addl    %edx,%ecx
12990         addl    (%esp),%edx
12991         leal    (%eax,%ecx,1),%eax
12992         vmovdqa %xmm6,64(%esp)
12993         vpalignr        $4,%xmm3,%xmm0,%xmm4
12994         rorxl   $6,%edx,%ecx
12995         rorxl   $11,%edx,%esi
12996         movl    %edx,(%esp)
12997         vpalignr        $4,%xmm1,%xmm2,%xmm7
12998         rorxl   $25,%edx,%edi
12999         xorl    %esi,%ecx
13000         andnl   8(%esp),%edx,%esi
13001         vpsrld  $7,%xmm4,%xmm6
13002         xorl    %edi,%ecx
13003         andl    4(%esp),%edx
13004         movl    %eax,16(%esp)
13005         vpaddd  %xmm7,%xmm3,%xmm3
13006         orl     %esi,%edx
13007         rorxl   $2,%eax,%edi
13008         rorxl   $13,%eax,%esi
13009         vpsrld  $3,%xmm4,%xmm7
13010         leal    (%edx,%ecx,1),%edx
13011         rorxl   $22,%eax,%ecx
13012         xorl    %edi,%esi
13013         vpslld  $14,%xmm4,%xmm5
13014         movl    20(%esp),%edi
13015         xorl    %esi,%ecx
13016         xorl    %edi,%eax
13017         vpxor   %xmm6,%xmm7,%xmm4
13018         addl    12(%esp),%edx
13019         andl    %eax,%ebx
13020         addl    80(%esp),%edx
13021         vpshufd $250,%xmm2,%xmm7
13022         xorl    %edi,%ebx
13023         addl    %edx,%ecx
13024         addl    28(%esp),%edx
13025         vpsrld  $11,%xmm6,%xmm6
13026         leal    (%ebx,%ecx,1),%ebx
13027         rorxl   $6,%edx,%ecx
13028         rorxl   $11,%edx,%esi
13029         vpxor   %xmm5,%xmm4,%xmm4
13030         movl    %edx,28(%esp)
13031         rorxl   $25,%edx,%edi
13032         xorl    %esi,%ecx
13033         vpslld  $11,%xmm5,%xmm5
13034         andnl   4(%esp),%edx,%esi
13035         xorl    %edi,%ecx
13036         andl    (%esp),%edx
13037         vpxor   %xmm6,%xmm4,%xmm4
13038         movl    %ebx,12(%esp)
13039         orl     %esi,%edx
13040         rorxl   $2,%ebx,%edi
13041         rorxl   $13,%ebx,%esi
13042         vpsrld  $10,%xmm7,%xmm6
13043         leal    (%edx,%ecx,1),%edx
13044         rorxl   $22,%ebx,%ecx
13045         xorl    %edi,%esi
13046         vpxor   %xmm5,%xmm4,%xmm4
13047         movl    16(%esp),%edi
13048         xorl    %esi,%ecx
13049         xorl    %edi,%ebx
13050         vpsrlq  $17,%xmm7,%xmm5
13051         addl    8(%esp),%edx
13052         andl    %ebx,%eax
13053         addl    84(%esp),%edx
13054         vpaddd  %xmm4,%xmm3,%xmm3
13055         xorl    %edi,%eax
13056         addl    %edx,%ecx
13057         addl    24(%esp),%edx
13058         vpxor   %xmm5,%xmm6,%xmm6
13059         leal    (%eax,%ecx,1),%eax
13060         rorxl   $6,%edx,%ecx
13061         rorxl   $11,%edx,%esi
13062         vpsrlq  $19,%xmm7,%xmm7
13063         movl    %edx,24(%esp)
13064         rorxl   $25,%edx,%edi
13065         xorl    %esi,%ecx
13066         vpxor   %xmm7,%xmm6,%xmm6
13067         andnl   (%esp),%edx,%esi
13068         xorl    %edi,%ecx
13069         andl    28(%esp),%edx
13070         vpshufd $132,%xmm6,%xmm7
13071         movl    %eax,8(%esp)
13072         orl     %esi,%edx
13073         rorxl   $2,%eax,%edi
13074         rorxl   $13,%eax,%esi
13075         vpsrldq $8,%xmm7,%xmm7
13076         leal    (%edx,%ecx,1),%edx
13077         rorxl   $22,%eax,%ecx
13078         xorl    %edi,%esi
13079         vpaddd  %xmm7,%xmm3,%xmm3
13080         movl    12(%esp),%edi
13081         xorl    %esi,%ecx
13082         xorl    %edi,%eax
13083         vpshufd $80,%xmm3,%xmm7
13084         addl    4(%esp),%edx
13085         andl    %eax,%ebx
13086         addl    88(%esp),%edx
13087         vpsrld  $10,%xmm7,%xmm6
13088         xorl    %edi,%ebx
13089         addl    %edx,%ecx
13090         addl    20(%esp),%edx
13091         vpsrlq  $17,%xmm7,%xmm5
13092         leal    (%ebx,%ecx,1),%ebx
13093         rorxl   $6,%edx,%ecx
13094         rorxl   $11,%edx,%esi
13095         vpxor   %xmm5,%xmm6,%xmm6
13096         movl    %edx,20(%esp)
13097         rorxl   $25,%edx,%edi
13098         xorl    %esi,%ecx
13099         vpsrlq  $19,%xmm7,%xmm7
13100         andnl   28(%esp),%edx,%esi
13101         xorl    %edi,%ecx
13102         andl    24(%esp),%edx
13103         vpxor   %xmm7,%xmm6,%xmm6
13104         movl    %ebx,4(%esp)
13105         orl     %esi,%edx
13106         rorxl   $2,%ebx,%edi
13107         rorxl   $13,%ebx,%esi
13108         vpshufd $232,%xmm6,%xmm7
13109         leal    (%edx,%ecx,1),%edx
13110         rorxl   $22,%ebx,%ecx
13111         xorl    %edi,%esi
13112         vpslldq $8,%xmm7,%xmm7
13113         movl    8(%esp),%edi
13114         xorl    %esi,%ecx
13115         xorl    %edi,%ebx
13116         vpaddd  %xmm7,%xmm3,%xmm3
13117         addl    (%esp),%edx
13118         andl    %ebx,%eax
13119         addl    92(%esp),%edx
13120         vpaddd  48(%ebp),%xmm3,%xmm6
13121         xorl    %edi,%eax
13122         addl    %edx,%ecx
13123         addl    16(%esp),%edx
13124         leal    (%eax,%ecx,1),%eax
13125         vmovdqa %xmm6,80(%esp)
13126         cmpl    $66051,64(%ebp)
13127         jne     .L018avx_bmi_00_47
13128         rorxl   $6,%edx,%ecx
13129         rorxl   $11,%edx,%esi
13130         movl    %edx,16(%esp)
13131         rorxl   $25,%edx,%edi
13132         xorl    %esi,%ecx
13133         andnl   24(%esp),%edx,%esi
13134         xorl    %edi,%ecx
13135         andl    20(%esp),%edx
13136         movl    %eax,(%esp)
13137         orl     %esi,%edx
13138         rorxl   $2,%eax,%edi
13139         rorxl   $13,%eax,%esi
13140         leal    (%edx,%ecx,1),%edx
13141         rorxl   $22,%eax,%ecx
13142         xorl    %edi,%esi
13143         movl    4(%esp),%edi
13144         xorl    %esi,%ecx
13145         xorl    %edi,%eax
13146         addl    28(%esp),%edx
13147         andl    %eax,%ebx
13148         addl    32(%esp),%edx
13149         xorl    %edi,%ebx
13150         addl    %edx,%ecx
13151         addl    12(%esp),%edx
13152         leal    (%ebx,%ecx,1),%ebx
13153         rorxl   $6,%edx,%ecx
13154         rorxl   $11,%edx,%esi
13155         movl    %edx,12(%esp)
13156         rorxl   $25,%edx,%edi
13157         xorl    %esi,%ecx
13158         andnl   20(%esp),%edx,%esi
13159         xorl    %edi,%ecx
13160         andl    16(%esp),%edx
13161         movl    %ebx,28(%esp)
13162         orl     %esi,%edx
13163         rorxl   $2,%ebx,%edi
13164         rorxl   $13,%ebx,%esi
13165         leal    (%edx,%ecx,1),%edx
13166         rorxl   $22,%ebx,%ecx
13167         xorl    %edi,%esi
13168         movl    (%esp),%edi
13169         xorl    %esi,%ecx
13170         xorl    %edi,%ebx
13171         addl    24(%esp),%edx
13172         andl    %ebx,%eax
13173         addl    36(%esp),%edx
13174         xorl    %edi,%eax
13175         addl    %edx,%ecx
13176         addl    8(%esp),%edx
13177         leal    (%eax,%ecx,1),%eax
13178         rorxl   $6,%edx,%ecx
13179         rorxl   $11,%edx,%esi
13180         movl    %edx,8(%esp)
13181         rorxl   $25,%edx,%edi
13182         xorl    %esi,%ecx
13183         andnl   16(%esp),%edx,%esi
13184         xorl    %edi,%ecx
13185         andl    12(%esp),%edx
13186         movl    %eax,24(%esp)
13187         orl     %esi,%edx
13188         rorxl   $2,%eax,%edi
13189         rorxl   $13,%eax,%esi
13190         leal    (%edx,%ecx,1),%edx
13191         rorxl   $22,%eax,%ecx
13192         xorl    %edi,%esi
13193         movl    28(%esp),%edi
13194         xorl    %esi,%ecx
13195         xorl    %edi,%eax
13196         addl    20(%esp),%edx
13197         andl    %eax,%ebx
13198         addl    40(%esp),%edx
13199         xorl    %edi,%ebx
13200         addl    %edx,%ecx
13201         addl    4(%esp),%edx
13202         leal    (%ebx,%ecx,1),%ebx
13203         rorxl   $6,%edx,%ecx
13204         rorxl   $11,%edx,%esi
13205         movl    %edx,4(%esp)
13206         rorxl   $25,%edx,%edi
13207         xorl    %esi,%ecx
13208         andnl   12(%esp),%edx,%esi
13209         xorl    %edi,%ecx
13210         andl    8(%esp),%edx
13211         movl    %ebx,20(%esp)
13212         orl     %esi,%edx
13213         rorxl   $2,%ebx,%edi
13214         rorxl   $13,%ebx,%esi
13215         leal    (%edx,%ecx,1),%edx
13216         rorxl   $22,%ebx,%ecx
13217         xorl    %edi,%esi
13218         movl    24(%esp),%edi
13219         xorl    %esi,%ecx
13220         xorl    %edi,%ebx
13221         addl    16(%esp),%edx
13222         andl    %ebx,%eax
13223         addl    44(%esp),%edx
13224         xorl    %edi,%eax
13225         addl    %edx,%ecx
13226         addl    (%esp),%edx
13227         leal    (%eax,%ecx,1),%eax
13228         rorxl   $6,%edx,%ecx
13229         rorxl   $11,%edx,%esi
13230         movl    %edx,(%esp)
13231         rorxl   $25,%edx,%edi
13232         xorl    %esi,%ecx
13233         andnl   8(%esp),%edx,%esi
13234         xorl    %edi,%ecx
13235         andl    4(%esp),%edx
13236         movl    %eax,16(%esp)
13237         orl     %esi,%edx
13238         rorxl   $2,%eax,%edi
13239         rorxl   $13,%eax,%esi
13240         leal    (%edx,%ecx,1),%edx
13241         rorxl   $22,%eax,%ecx
13242         xorl    %edi,%esi
13243         movl    20(%esp),%edi
13244         xorl    %esi,%ecx
13245         xorl    %edi,%eax
13246         addl    12(%esp),%edx
13247         andl    %eax,%ebx
13248         addl    48(%esp),%edx
13249         xorl    %edi,%ebx
13250         addl    %edx,%ecx
13251         addl    28(%esp),%edx
13252         leal    (%ebx,%ecx,1),%ebx
13253         rorxl   $6,%edx,%ecx
13254         rorxl   $11,%edx,%esi
13255         movl    %edx,28(%esp)
13256         rorxl   $25,%edx,%edi
13257         xorl    %esi,%ecx
13258         andnl   4(%esp),%edx,%esi
13259         xorl    %edi,%ecx
13260         andl    (%esp),%edx
13261         movl    %ebx,12(%esp)
13262         orl     %esi,%edx
13263         rorxl   $2,%ebx,%edi
13264         rorxl   $13,%ebx,%esi
13265         leal    (%edx,%ecx,1),%edx
13266         rorxl   $22,%ebx,%ecx
13267         xorl    %edi,%esi
13268         movl    16(%esp),%edi
13269         xorl    %esi,%ecx
13270         xorl    %edi,%ebx
13271         addl    8(%esp),%edx
13272         andl    %ebx,%eax
13273         addl    52(%esp),%edx
13274         xorl    %edi,%eax
13275         addl    %edx,%ecx
13276         addl    24(%esp),%edx
13277         leal    (%eax,%ecx,1),%eax
13278         rorxl   $6,%edx,%ecx
13279         rorxl   $11,%edx,%esi
13280         movl    %edx,24(%esp)
13281         rorxl   $25,%edx,%edi
13282         xorl    %esi,%ecx
13283         andnl   (%esp),%edx,%esi
13284         xorl    %edi,%ecx
13285         andl    28(%esp),%edx
13286         movl    %eax,8(%esp)
13287         orl     %esi,%edx
13288         rorxl   $2,%eax,%edi
13289         rorxl   $13,%eax,%esi
13290         leal    (%edx,%ecx,1),%edx
13291         rorxl   $22,%eax,%ecx
13292         xorl    %edi,%esi
13293         movl    12(%esp),%edi
13294         xorl    %esi,%ecx
13295         xorl    %edi,%eax
13296         addl    4(%esp),%edx
13297         andl    %eax,%ebx
13298         addl    56(%esp),%edx
13299         xorl    %edi,%ebx
13300         addl    %edx,%ecx
13301         addl    20(%esp),%edx
13302         leal    (%ebx,%ecx,1),%ebx
13303         rorxl   $6,%edx,%ecx
13304         rorxl   $11,%edx,%esi
13305         movl    %edx,20(%esp)
13306         rorxl   $25,%edx,%edi
13307         xorl    %esi,%ecx
13308         andnl   28(%esp),%edx,%esi
13309         xorl    %edi,%ecx
13310         andl    24(%esp),%edx
13311         movl    %ebx,4(%esp)
13312         orl     %esi,%edx
13313         rorxl   $2,%ebx,%edi
13314         rorxl   $13,%ebx,%esi
13315         leal    (%edx,%ecx,1),%edx
13316         rorxl   $22,%ebx,%ecx
13317         xorl    %edi,%esi
13318         movl    8(%esp),%edi
13319         xorl    %esi,%ecx
13320         xorl    %edi,%ebx
13321         addl    (%esp),%edx
13322         andl    %ebx,%eax
13323         addl    60(%esp),%edx
13324         xorl    %edi,%eax
13325         addl    %edx,%ecx
13326         addl    16(%esp),%edx
13327         leal    (%eax,%ecx,1),%eax
13328         rorxl   $6,%edx,%ecx
13329         rorxl   $11,%edx,%esi
13330         movl    %edx,16(%esp)
13331         rorxl   $25,%edx,%edi
13332         xorl    %esi,%ecx
13333         andnl   24(%esp),%edx,%esi
13334         xorl    %edi,%ecx
13335         andl    20(%esp),%edx
13336         movl    %eax,(%esp)
13337         orl     %esi,%edx
13338         rorxl   $2,%eax,%edi
13339         rorxl   $13,%eax,%esi
13340         leal    (%edx,%ecx,1),%edx
13341         rorxl   $22,%eax,%ecx
13342         xorl    %edi,%esi
13343         movl    4(%esp),%edi
13344         xorl    %esi,%ecx
13345         xorl    %edi,%eax
13346         addl    28(%esp),%edx
13347         andl    %eax,%ebx
13348         addl    64(%esp),%edx
13349         xorl    %edi,%ebx
13350         addl    %edx,%ecx
13351         addl    12(%esp),%edx
13352         leal    (%ebx,%ecx,1),%ebx
13353         rorxl   $6,%edx,%ecx
13354         rorxl   $11,%edx,%esi
13355         movl    %edx,12(%esp)
13356         rorxl   $25,%edx,%edi
13357         xorl    %esi,%ecx
13358         andnl   20(%esp),%edx,%esi
13359         xorl    %edi,%ecx
13360         andl    16(%esp),%edx
13361         movl    %ebx,28(%esp)
13362         orl     %esi,%edx
13363         rorxl   $2,%ebx,%edi
13364         rorxl   $13,%ebx,%esi
13365         leal    (%edx,%ecx,1),%edx
13366         rorxl   $22,%ebx,%ecx
13367         xorl    %edi,%esi
13368         movl    (%esp),%edi
13369         xorl    %esi,%ecx
13370         xorl    %edi,%ebx
13371         addl    24(%esp),%edx
13372         andl    %ebx,%eax
13373         addl    68(%esp),%edx
13374         xorl    %edi,%eax
13375         addl    %edx,%ecx
13376         addl    8(%esp),%edx
13377         leal    (%eax,%ecx,1),%eax
13378         rorxl   $6,%edx,%ecx
13379         rorxl   $11,%edx,%esi
13380         movl    %edx,8(%esp)
13381         rorxl   $25,%edx,%edi
13382         xorl    %esi,%ecx
13383         andnl   16(%esp),%edx,%esi
13384         xorl    %edi,%ecx
13385         andl    12(%esp),%edx
13386         movl    %eax,24(%esp)
13387         orl     %esi,%edx
13388         rorxl   $2,%eax,%edi
13389         rorxl   $13,%eax,%esi
13390         leal    (%edx,%ecx,1),%edx
13391         rorxl   $22,%eax,%ecx
13392         xorl    %edi,%esi
13393         movl    28(%esp),%edi
13394         xorl    %esi,%ecx
13395         xorl    %edi,%eax
13396         addl    20(%esp),%edx
13397         andl    %eax,%ebx
13398         addl    72(%esp),%edx
13399         xorl    %edi,%ebx
13400         addl    %edx,%ecx
13401         addl    4(%esp),%edx
13402         leal    (%ebx,%ecx,1),%ebx
13403         rorxl   $6,%edx,%ecx
13404         rorxl   $11,%edx,%esi
13405         movl    %edx,4(%esp)
13406         rorxl   $25,%edx,%edi
13407         xorl    %esi,%ecx
13408         andnl   12(%esp),%edx,%esi
13409         xorl    %edi,%ecx
13410         andl    8(%esp),%edx
13411         movl    %ebx,20(%esp)
13412         orl     %esi,%edx
13413         rorxl   $2,%ebx,%edi
13414         rorxl   $13,%ebx,%esi
13415         leal    (%edx,%ecx,1),%edx
13416         rorxl   $22,%ebx,%ecx
13417         xorl    %edi,%esi
13418         movl    24(%esp),%edi
13419         xorl    %esi,%ecx
13420         xorl    %edi,%ebx
13421         addl    16(%esp),%edx
13422         andl    %ebx,%eax
13423         addl    76(%esp),%edx
13424         xorl    %edi,%eax
13425         addl    %edx,%ecx
13426         addl    (%esp),%edx
13427         leal    (%eax,%ecx,1),%eax
13428         rorxl   $6,%edx,%ecx
13429         rorxl   $11,%edx,%esi
13430         movl    %edx,(%esp)
13431         rorxl   $25,%edx,%edi
13432         xorl    %esi,%ecx
13433         andnl   8(%esp),%edx,%esi
13434         xorl    %edi,%ecx
13435         andl    4(%esp),%edx
13436         movl    %eax,16(%esp)
13437         orl     %esi,%edx
13438         rorxl   $2,%eax,%edi
13439         rorxl   $13,%eax,%esi
13440         leal    (%edx,%ecx,1),%edx
13441         rorxl   $22,%eax,%ecx
13442         xorl    %edi,%esi
13443         movl    20(%esp),%edi
13444         xorl    %esi,%ecx
13445         xorl    %edi,%eax
13446         addl    12(%esp),%edx
13447         andl    %eax,%ebx
13448         addl    80(%esp),%edx
13449         xorl    %edi,%ebx
13450         addl    %edx,%ecx
13451         addl    28(%esp),%edx
13452         leal    (%ebx,%ecx,1),%ebx
13453         rorxl   $6,%edx,%ecx
13454         rorxl   $11,%edx,%esi
13455         movl    %edx,28(%esp)
13456         rorxl   $25,%edx,%edi
13457         xorl    %esi,%ecx
13458         andnl   4(%esp),%edx,%esi
13459         xorl    %edi,%ecx
13460         andl    (%esp),%edx
13461         movl    %ebx,12(%esp)
13462         orl     %esi,%edx
13463         rorxl   $2,%ebx,%edi
13464         rorxl   $13,%ebx,%esi
13465         leal    (%edx,%ecx,1),%edx
13466         rorxl   $22,%ebx,%ecx
13467         xorl    %edi,%esi
13468         movl    16(%esp),%edi
13469         xorl    %esi,%ecx
13470         xorl    %edi,%ebx
13471         addl    8(%esp),%edx
13472         andl    %ebx,%eax
13473         addl    84(%esp),%edx
13474         xorl    %edi,%eax
13475         addl    %edx,%ecx
13476         addl    24(%esp),%edx
13477         leal    (%eax,%ecx,1),%eax
13478         rorxl   $6,%edx,%ecx
13479         rorxl   $11,%edx,%esi
13480         movl    %edx,24(%esp)
13481         rorxl   $25,%edx,%edi
13482         xorl    %esi,%ecx
13483         andnl   (%esp),%edx,%esi
13484         xorl    %edi,%ecx
13485         andl    28(%esp),%edx
13486         movl    %eax,8(%esp)
13487         orl     %esi,%edx
13488         rorxl   $2,%eax,%edi
13489         rorxl   $13,%eax,%esi
13490         leal    (%edx,%ecx,1),%edx
13491         rorxl   $22,%eax,%ecx
13492         xorl    %edi,%esi
13493         movl    12(%esp),%edi
13494         xorl    %esi,%ecx
13495         xorl    %edi,%eax
13496         addl    4(%esp),%edx
13497         andl    %eax,%ebx
13498         addl    88(%esp),%edx
13499         xorl    %edi,%ebx
13500         addl    %edx,%ecx
13501         addl    20(%esp),%edx
13502         leal    (%ebx,%ecx,1),%ebx
13503         rorxl   $6,%edx,%ecx
13504         rorxl   $11,%edx,%esi
13505         movl    %edx,20(%esp)
13506         rorxl   $25,%edx,%edi
13507         xorl    %esi,%ecx
13508         andnl   28(%esp),%edx,%esi
13509         xorl    %edi,%ecx
13510         andl    24(%esp),%edx
13511         movl    %ebx,4(%esp)
13512         orl     %esi,%edx
13513         rorxl   $2,%ebx,%edi
13514         rorxl   $13,%ebx,%esi
13515         leal    (%edx,%ecx,1),%edx
13516         rorxl   $22,%ebx,%ecx
13517         xorl    %edi,%esi
13518         movl    8(%esp),%edi
13519         xorl    %esi,%ecx
13520         xorl    %edi,%ebx
13521         addl    (%esp),%edx
13522         andl    %ebx,%eax
13523         addl    92(%esp),%edx
13524         xorl    %edi,%eax
13525         addl    %edx,%ecx
13526         addl    16(%esp),%edx
13527         leal    (%eax,%ecx,1),%eax
13528         movl    96(%esp),%esi
13529         xorl    %edi,%ebx
13530         movl    12(%esp),%ecx
13531         addl    (%esi),%eax
13532         addl    4(%esi),%ebx
13533         addl    8(%esi),%edi
13534         addl    12(%esi),%ecx
13535         movl    %eax,(%esi)
13536         movl    %ebx,4(%esi)
13537         movl    %edi,8(%esi)
13538         movl    %ecx,12(%esi)
13539         movl    %ebx,4(%esp)
13540         xorl    %edi,%ebx
13541         movl    %edi,8(%esp)
13542         movl    %ecx,12(%esp)
13543         movl    20(%esp),%edi
13544         movl    24(%esp),%ecx
13545         addl    16(%esi),%edx
13546         addl    20(%esi),%edi
13547         addl    24(%esi),%ecx
13548         movl    %edx,16(%esi)
13549         movl    %edi,20(%esi)
13550         movl    %edi,20(%esp)
13551         movl    28(%esp),%edi
13552         movl    %ecx,24(%esi)
13553         addl    28(%esi),%edi
13554         movl    %ecx,24(%esp)
13555         movl    %edi,28(%esi)
13556         movl    %edi,28(%esp)
13557         movl    100(%esp),%edi
13558         vmovdqa 64(%ebp),%xmm7
13559         subl    $192,%ebp
13560         cmpl    104(%esp),%edi
13561         jb      .L017grand_avx_bmi
13562         movl    108(%esp),%esp
13563         vzeroall
13564         popl    %edi
13565         popl    %esi
13566         popl    %ebx
13567         popl    %ebp
13568         ret
13569 .size   sha256_block_data_order,.-.L_sha256_block_data_order_begin
13570 .comm   OPENSSL_ia32cap_P,16,4
13571 #endif