]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - secure/lib/libcrypto/i386/sha256-586.S
MFC: r364822, r364823
[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 .text
5 .globl  sha256_block_data_order
6 .type   sha256_block_data_order,@function
7 .align  16
8 sha256_block_data_order:
9 .L_sha256_block_data_order_begin:
10         pushl   %ebp
11         pushl   %ebx
12         pushl   %esi
13         pushl   %edi
14         movl    20(%esp),%esi
15         movl    24(%esp),%edi
16         movl    28(%esp),%eax
17         movl    %esp,%ebx
18         call    .L000pic_point
19 .L000pic_point:
20         popl    %ebp
21         leal    .L001K256-.L000pic_point(%ebp),%ebp
22         subl    $16,%esp
23         andl    $-64,%esp
24         shll    $6,%eax
25         addl    %edi,%eax
26         movl    %esi,(%esp)
27         movl    %edi,4(%esp)
28         movl    %eax,8(%esp)
29         movl    %ebx,12(%esp)
30         leal    OPENSSL_ia32cap_P-.L001K256(%ebp),%edx
31         movl    (%edx),%ecx
32         movl    4(%edx),%ebx
33         testl   $1048576,%ecx
34         jnz     .L002loop
35         movl    8(%edx),%edx
36         testl   $16777216,%ecx
37         jz      .L003no_xmm
38         andl    $1073741824,%ecx
39         andl    $268435968,%ebx
40         testl   $536870912,%edx
41         jnz     .L004shaext
42         orl     %ebx,%ecx
43         andl    $1342177280,%ecx
44         cmpl    $1342177280,%ecx
45         je      .L005AVX
46         testl   $512,%ebx
47         jnz     .L006SSSE3
48 .L003no_xmm:
49         subl    %edi,%eax
50         cmpl    $256,%eax
51         jae     .L007unrolled
52         jmp     .L002loop
53 .align  16
54 .L002loop:
55         movl    (%edi),%eax
56         movl    4(%edi),%ebx
57         movl    8(%edi),%ecx
58         bswap   %eax
59         movl    12(%edi),%edx
60         bswap   %ebx
61         pushl   %eax
62         bswap   %ecx
63         pushl   %ebx
64         bswap   %edx
65         pushl   %ecx
66         pushl   %edx
67         movl    16(%edi),%eax
68         movl    20(%edi),%ebx
69         movl    24(%edi),%ecx
70         bswap   %eax
71         movl    28(%edi),%edx
72         bswap   %ebx
73         pushl   %eax
74         bswap   %ecx
75         pushl   %ebx
76         bswap   %edx
77         pushl   %ecx
78         pushl   %edx
79         movl    32(%edi),%eax
80         movl    36(%edi),%ebx
81         movl    40(%edi),%ecx
82         bswap   %eax
83         movl    44(%edi),%edx
84         bswap   %ebx
85         pushl   %eax
86         bswap   %ecx
87         pushl   %ebx
88         bswap   %edx
89         pushl   %ecx
90         pushl   %edx
91         movl    48(%edi),%eax
92         movl    52(%edi),%ebx
93         movl    56(%edi),%ecx
94         bswap   %eax
95         movl    60(%edi),%edx
96         bswap   %ebx
97         pushl   %eax
98         bswap   %ecx
99         pushl   %ebx
100         bswap   %edx
101         pushl   %ecx
102         pushl   %edx
103         addl    $64,%edi
104         leal    -36(%esp),%esp
105         movl    %edi,104(%esp)
106         movl    (%esi),%eax
107         movl    4(%esi),%ebx
108         movl    8(%esi),%ecx
109         movl    12(%esi),%edi
110         movl    %ebx,8(%esp)
111         xorl    %ecx,%ebx
112         movl    %ecx,12(%esp)
113         movl    %edi,16(%esp)
114         movl    %ebx,(%esp)
115         movl    16(%esi),%edx
116         movl    20(%esi),%ebx
117         movl    24(%esi),%ecx
118         movl    28(%esi),%edi
119         movl    %ebx,24(%esp)
120         movl    %ecx,28(%esp)
121         movl    %edi,32(%esp)
122 .align  16
123 .L00800_15:
124         movl    %edx,%ecx
125         movl    24(%esp),%esi
126         rorl    $14,%ecx
127         movl    28(%esp),%edi
128         xorl    %edx,%ecx
129         xorl    %edi,%esi
130         movl    96(%esp),%ebx
131         rorl    $5,%ecx
132         andl    %edx,%esi
133         movl    %edx,20(%esp)
134         xorl    %ecx,%edx
135         addl    32(%esp),%ebx
136         xorl    %edi,%esi
137         rorl    $6,%edx
138         movl    %eax,%ecx
139         addl    %esi,%ebx
140         rorl    $9,%ecx
141         addl    %edx,%ebx
142         movl    8(%esp),%edi
143         xorl    %eax,%ecx
144         movl    %eax,4(%esp)
145         leal    -4(%esp),%esp
146         rorl    $11,%ecx
147         movl    (%ebp),%esi
148         xorl    %eax,%ecx
149         movl    20(%esp),%edx
150         xorl    %edi,%eax
151         rorl    $2,%ecx
152         addl    %esi,%ebx
153         movl    %eax,(%esp)
154         addl    %ebx,%edx
155         andl    4(%esp),%eax
156         addl    %ecx,%ebx
157         xorl    %edi,%eax
158         addl    $4,%ebp
159         addl    %ebx,%eax
160         cmpl    $3248222580,%esi
161         jne     .L00800_15
162         movl    156(%esp),%ecx
163         jmp     .L00916_63
164 .align  16
165 .L00916_63:
166         movl    %ecx,%ebx
167         movl    104(%esp),%esi
168         rorl    $11,%ecx
169         movl    %esi,%edi
170         rorl    $2,%esi
171         xorl    %ebx,%ecx
172         shrl    $3,%ebx
173         rorl    $7,%ecx
174         xorl    %edi,%esi
175         xorl    %ecx,%ebx
176         rorl    $17,%esi
177         addl    160(%esp),%ebx
178         shrl    $10,%edi
179         addl    124(%esp),%ebx
180         movl    %edx,%ecx
181         xorl    %esi,%edi
182         movl    24(%esp),%esi
183         rorl    $14,%ecx
184         addl    %edi,%ebx
185         movl    28(%esp),%edi
186         xorl    %edx,%ecx
187         xorl    %edi,%esi
188         movl    %ebx,96(%esp)
189         rorl    $5,%ecx
190         andl    %edx,%esi
191         movl    %edx,20(%esp)
192         xorl    %ecx,%edx
193         addl    32(%esp),%ebx
194         xorl    %edi,%esi
195         rorl    $6,%edx
196         movl    %eax,%ecx
197         addl    %esi,%ebx
198         rorl    $9,%ecx
199         addl    %edx,%ebx
200         movl    8(%esp),%edi
201         xorl    %eax,%ecx
202         movl    %eax,4(%esp)
203         leal    -4(%esp),%esp
204         rorl    $11,%ecx
205         movl    (%ebp),%esi
206         xorl    %eax,%ecx
207         movl    20(%esp),%edx
208         xorl    %edi,%eax
209         rorl    $2,%ecx
210         addl    %esi,%ebx
211         movl    %eax,(%esp)
212         addl    %ebx,%edx
213         andl    4(%esp),%eax
214         addl    %ecx,%ebx
215         xorl    %edi,%eax
216         movl    156(%esp),%ecx
217         addl    $4,%ebp
218         addl    %ebx,%eax
219         cmpl    $3329325298,%esi
220         jne     .L00916_63
221         movl    356(%esp),%esi
222         movl    8(%esp),%ebx
223         movl    16(%esp),%ecx
224         addl    (%esi),%eax
225         addl    4(%esi),%ebx
226         addl    8(%esi),%edi
227         addl    12(%esi),%ecx
228         movl    %eax,(%esi)
229         movl    %ebx,4(%esi)
230         movl    %edi,8(%esi)
231         movl    %ecx,12(%esi)
232         movl    24(%esp),%eax
233         movl    28(%esp),%ebx
234         movl    32(%esp),%ecx
235         movl    360(%esp),%edi
236         addl    16(%esi),%edx
237         addl    20(%esi),%eax
238         addl    24(%esi),%ebx
239         addl    28(%esi),%ecx
240         movl    %edx,16(%esi)
241         movl    %eax,20(%esi)
242         movl    %ebx,24(%esi)
243         movl    %ecx,28(%esi)
244         leal    356(%esp),%esp
245         subl    $256,%ebp
246         cmpl    8(%esp),%edi
247         jb      .L002loop
248         movl    12(%esp),%esp
249         popl    %edi
250         popl    %esi
251         popl    %ebx
252         popl    %ebp
253         ret
254 .align  64
255 .L001K256:
256 .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
257 .long   66051,67438087,134810123,202182159
258 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
259 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
260 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
261 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
262 .byte   62,0
263 .align  16
264 .L007unrolled:
265         leal    -96(%esp),%esp
266         movl    (%esi),%eax
267         movl    4(%esi),%ebp
268         movl    8(%esi),%ecx
269         movl    12(%esi),%ebx
270         movl    %ebp,4(%esp)
271         xorl    %ecx,%ebp
272         movl    %ecx,8(%esp)
273         movl    %ebx,12(%esp)
274         movl    16(%esi),%edx
275         movl    20(%esi),%ebx
276         movl    24(%esi),%ecx
277         movl    28(%esi),%esi
278         movl    %ebx,20(%esp)
279         movl    %ecx,24(%esp)
280         movl    %esi,28(%esp)
281         jmp     .L010grand_loop
282 .align  16
283 .L010grand_loop:
284         movl    (%edi),%ebx
285         movl    4(%edi),%ecx
286         bswap   %ebx
287         movl    8(%edi),%esi
288         bswap   %ecx
289         movl    %ebx,32(%esp)
290         bswap   %esi
291         movl    %ecx,36(%esp)
292         movl    %esi,40(%esp)
293         movl    12(%edi),%ebx
294         movl    16(%edi),%ecx
295         bswap   %ebx
296         movl    20(%edi),%esi
297         bswap   %ecx
298         movl    %ebx,44(%esp)
299         bswap   %esi
300         movl    %ecx,48(%esp)
301         movl    %esi,52(%esp)
302         movl    24(%edi),%ebx
303         movl    28(%edi),%ecx
304         bswap   %ebx
305         movl    32(%edi),%esi
306         bswap   %ecx
307         movl    %ebx,56(%esp)
308         bswap   %esi
309         movl    %ecx,60(%esp)
310         movl    %esi,64(%esp)
311         movl    36(%edi),%ebx
312         movl    40(%edi),%ecx
313         bswap   %ebx
314         movl    44(%edi),%esi
315         bswap   %ecx
316         movl    %ebx,68(%esp)
317         bswap   %esi
318         movl    %ecx,72(%esp)
319         movl    %esi,76(%esp)
320         movl    48(%edi),%ebx
321         movl    52(%edi),%ecx
322         bswap   %ebx
323         movl    56(%edi),%esi
324         bswap   %ecx
325         movl    %ebx,80(%esp)
326         bswap   %esi
327         movl    %ecx,84(%esp)
328         movl    %esi,88(%esp)
329         movl    60(%edi),%ebx
330         addl    $64,%edi
331         bswap   %ebx
332         movl    %edi,100(%esp)
333         movl    %ebx,92(%esp)
334         movl    %edx,%ecx
335         movl    20(%esp),%esi
336         rorl    $14,%edx
337         movl    24(%esp),%edi
338         xorl    %ecx,%edx
339         movl    32(%esp),%ebx
340         xorl    %edi,%esi
341         rorl    $5,%edx
342         andl    %ecx,%esi
343         movl    %ecx,16(%esp)
344         xorl    %ecx,%edx
345         addl    28(%esp),%ebx
346         xorl    %esi,%edi
347         rorl    $6,%edx
348         movl    %eax,%ecx
349         addl    %edi,%ebx
350         rorl    $9,%ecx
351         movl    %eax,%esi
352         movl    4(%esp),%edi
353         xorl    %eax,%ecx
354         movl    %eax,(%esp)
355         xorl    %edi,%eax
356         rorl    $11,%ecx
357         andl    %eax,%ebp
358         leal    1116352408(%ebx,%edx,1),%edx
359         xorl    %esi,%ecx
360         xorl    %edi,%ebp
361         rorl    $2,%ecx
362         addl    %edx,%ebp
363         addl    12(%esp),%edx
364         addl    %ecx,%ebp
365         movl    %edx,%esi
366         movl    16(%esp),%ecx
367         rorl    $14,%edx
368         movl    20(%esp),%edi
369         xorl    %esi,%edx
370         movl    36(%esp),%ebx
371         xorl    %edi,%ecx
372         rorl    $5,%edx
373         andl    %esi,%ecx
374         movl    %esi,12(%esp)
375         xorl    %esi,%edx
376         addl    24(%esp),%ebx
377         xorl    %ecx,%edi
378         rorl    $6,%edx
379         movl    %ebp,%esi
380         addl    %edi,%ebx
381         rorl    $9,%esi
382         movl    %ebp,%ecx
383         movl    (%esp),%edi
384         xorl    %ebp,%esi
385         movl    %ebp,28(%esp)
386         xorl    %edi,%ebp
387         rorl    $11,%esi
388         andl    %ebp,%eax
389         leal    1899447441(%ebx,%edx,1),%edx
390         xorl    %ecx,%esi
391         xorl    %edi,%eax
392         rorl    $2,%esi
393         addl    %edx,%eax
394         addl    8(%esp),%edx
395         addl    %esi,%eax
396         movl    %edx,%ecx
397         movl    12(%esp),%esi
398         rorl    $14,%edx
399         movl    16(%esp),%edi
400         xorl    %ecx,%edx
401         movl    40(%esp),%ebx
402         xorl    %edi,%esi
403         rorl    $5,%edx
404         andl    %ecx,%esi
405         movl    %ecx,8(%esp)
406         xorl    %ecx,%edx
407         addl    20(%esp),%ebx
408         xorl    %esi,%edi
409         rorl    $6,%edx
410         movl    %eax,%ecx
411         addl    %edi,%ebx
412         rorl    $9,%ecx
413         movl    %eax,%esi
414         movl    28(%esp),%edi
415         xorl    %eax,%ecx
416         movl    %eax,24(%esp)
417         xorl    %edi,%eax
418         rorl    $11,%ecx
419         andl    %eax,%ebp
420         leal    3049323471(%ebx,%edx,1),%edx
421         xorl    %esi,%ecx
422         xorl    %edi,%ebp
423         rorl    $2,%ecx
424         addl    %edx,%ebp
425         addl    4(%esp),%edx
426         addl    %ecx,%ebp
427         movl    %edx,%esi
428         movl    8(%esp),%ecx
429         rorl    $14,%edx
430         movl    12(%esp),%edi
431         xorl    %esi,%edx
432         movl    44(%esp),%ebx
433         xorl    %edi,%ecx
434         rorl    $5,%edx
435         andl    %esi,%ecx
436         movl    %esi,4(%esp)
437         xorl    %esi,%edx
438         addl    16(%esp),%ebx
439         xorl    %ecx,%edi
440         rorl    $6,%edx
441         movl    %ebp,%esi
442         addl    %edi,%ebx
443         rorl    $9,%esi
444         movl    %ebp,%ecx
445         movl    24(%esp),%edi
446         xorl    %ebp,%esi
447         movl    %ebp,20(%esp)
448         xorl    %edi,%ebp
449         rorl    $11,%esi
450         andl    %ebp,%eax
451         leal    3921009573(%ebx,%edx,1),%edx
452         xorl    %ecx,%esi
453         xorl    %edi,%eax
454         rorl    $2,%esi
455         addl    %edx,%eax
456         addl    (%esp),%edx
457         addl    %esi,%eax
458         movl    %edx,%ecx
459         movl    4(%esp),%esi
460         rorl    $14,%edx
461         movl    8(%esp),%edi
462         xorl    %ecx,%edx
463         movl    48(%esp),%ebx
464         xorl    %edi,%esi
465         rorl    $5,%edx
466         andl    %ecx,%esi
467         movl    %ecx,(%esp)
468         xorl    %ecx,%edx
469         addl    12(%esp),%ebx
470         xorl    %esi,%edi
471         rorl    $6,%edx
472         movl    %eax,%ecx
473         addl    %edi,%ebx
474         rorl    $9,%ecx
475         movl    %eax,%esi
476         movl    20(%esp),%edi
477         xorl    %eax,%ecx
478         movl    %eax,16(%esp)
479         xorl    %edi,%eax
480         rorl    $11,%ecx
481         andl    %eax,%ebp
482         leal    961987163(%ebx,%edx,1),%edx
483         xorl    %esi,%ecx
484         xorl    %edi,%ebp
485         rorl    $2,%ecx
486         addl    %edx,%ebp
487         addl    28(%esp),%edx
488         addl    %ecx,%ebp
489         movl    %edx,%esi
490         movl    (%esp),%ecx
491         rorl    $14,%edx
492         movl    4(%esp),%edi
493         xorl    %esi,%edx
494         movl    52(%esp),%ebx
495         xorl    %edi,%ecx
496         rorl    $5,%edx
497         andl    %esi,%ecx
498         movl    %esi,28(%esp)
499         xorl    %esi,%edx
500         addl    8(%esp),%ebx
501         xorl    %ecx,%edi
502         rorl    $6,%edx
503         movl    %ebp,%esi
504         addl    %edi,%ebx
505         rorl    $9,%esi
506         movl    %ebp,%ecx
507         movl    16(%esp),%edi
508         xorl    %ebp,%esi
509         movl    %ebp,12(%esp)
510         xorl    %edi,%ebp
511         rorl    $11,%esi
512         andl    %ebp,%eax
513         leal    1508970993(%ebx,%edx,1),%edx
514         xorl    %ecx,%esi
515         xorl    %edi,%eax
516         rorl    $2,%esi
517         addl    %edx,%eax
518         addl    24(%esp),%edx
519         addl    %esi,%eax
520         movl    %edx,%ecx
521         movl    28(%esp),%esi
522         rorl    $14,%edx
523         movl    (%esp),%edi
524         xorl    %ecx,%edx
525         movl    56(%esp),%ebx
526         xorl    %edi,%esi
527         rorl    $5,%edx
528         andl    %ecx,%esi
529         movl    %ecx,24(%esp)
530         xorl    %ecx,%edx
531         addl    4(%esp),%ebx
532         xorl    %esi,%edi
533         rorl    $6,%edx
534         movl    %eax,%ecx
535         addl    %edi,%ebx
536         rorl    $9,%ecx
537         movl    %eax,%esi
538         movl    12(%esp),%edi
539         xorl    %eax,%ecx
540         movl    %eax,8(%esp)
541         xorl    %edi,%eax
542         rorl    $11,%ecx
543         andl    %eax,%ebp
544         leal    2453635748(%ebx,%edx,1),%edx
545         xorl    %esi,%ecx
546         xorl    %edi,%ebp
547         rorl    $2,%ecx
548         addl    %edx,%ebp
549         addl    20(%esp),%edx
550         addl    %ecx,%ebp
551         movl    %edx,%esi
552         movl    24(%esp),%ecx
553         rorl    $14,%edx
554         movl    28(%esp),%edi
555         xorl    %esi,%edx
556         movl    60(%esp),%ebx
557         xorl    %edi,%ecx
558         rorl    $5,%edx
559         andl    %esi,%ecx
560         movl    %esi,20(%esp)
561         xorl    %esi,%edx
562         addl    (%esp),%ebx
563         xorl    %ecx,%edi
564         rorl    $6,%edx
565         movl    %ebp,%esi
566         addl    %edi,%ebx
567         rorl    $9,%esi
568         movl    %ebp,%ecx
569         movl    8(%esp),%edi
570         xorl    %ebp,%esi
571         movl    %ebp,4(%esp)
572         xorl    %edi,%ebp
573         rorl    $11,%esi
574         andl    %ebp,%eax
575         leal    2870763221(%ebx,%edx,1),%edx
576         xorl    %ecx,%esi
577         xorl    %edi,%eax
578         rorl    $2,%esi
579         addl    %edx,%eax
580         addl    16(%esp),%edx
581         addl    %esi,%eax
582         movl    %edx,%ecx
583         movl    20(%esp),%esi
584         rorl    $14,%edx
585         movl    24(%esp),%edi
586         xorl    %ecx,%edx
587         movl    64(%esp),%ebx
588         xorl    %edi,%esi
589         rorl    $5,%edx
590         andl    %ecx,%esi
591         movl    %ecx,16(%esp)
592         xorl    %ecx,%edx
593         addl    28(%esp),%ebx
594         xorl    %esi,%edi
595         rorl    $6,%edx
596         movl    %eax,%ecx
597         addl    %edi,%ebx
598         rorl    $9,%ecx
599         movl    %eax,%esi
600         movl    4(%esp),%edi
601         xorl    %eax,%ecx
602         movl    %eax,(%esp)
603         xorl    %edi,%eax
604         rorl    $11,%ecx
605         andl    %eax,%ebp
606         leal    3624381080(%ebx,%edx,1),%edx
607         xorl    %esi,%ecx
608         xorl    %edi,%ebp
609         rorl    $2,%ecx
610         addl    %edx,%ebp
611         addl    12(%esp),%edx
612         addl    %ecx,%ebp
613         movl    %edx,%esi
614         movl    16(%esp),%ecx
615         rorl    $14,%edx
616         movl    20(%esp),%edi
617         xorl    %esi,%edx
618         movl    68(%esp),%ebx
619         xorl    %edi,%ecx
620         rorl    $5,%edx
621         andl    %esi,%ecx
622         movl    %esi,12(%esp)
623         xorl    %esi,%edx
624         addl    24(%esp),%ebx
625         xorl    %ecx,%edi
626         rorl    $6,%edx
627         movl    %ebp,%esi
628         addl    %edi,%ebx
629         rorl    $9,%esi
630         movl    %ebp,%ecx
631         movl    (%esp),%edi
632         xorl    %ebp,%esi
633         movl    %ebp,28(%esp)
634         xorl    %edi,%ebp
635         rorl    $11,%esi
636         andl    %ebp,%eax
637         leal    310598401(%ebx,%edx,1),%edx
638         xorl    %ecx,%esi
639         xorl    %edi,%eax
640         rorl    $2,%esi
641         addl    %edx,%eax
642         addl    8(%esp),%edx
643         addl    %esi,%eax
644         movl    %edx,%ecx
645         movl    12(%esp),%esi
646         rorl    $14,%edx
647         movl    16(%esp),%edi
648         xorl    %ecx,%edx
649         movl    72(%esp),%ebx
650         xorl    %edi,%esi
651         rorl    $5,%edx
652         andl    %ecx,%esi
653         movl    %ecx,8(%esp)
654         xorl    %ecx,%edx
655         addl    20(%esp),%ebx
656         xorl    %esi,%edi
657         rorl    $6,%edx
658         movl    %eax,%ecx
659         addl    %edi,%ebx
660         rorl    $9,%ecx
661         movl    %eax,%esi
662         movl    28(%esp),%edi
663         xorl    %eax,%ecx
664         movl    %eax,24(%esp)
665         xorl    %edi,%eax
666         rorl    $11,%ecx
667         andl    %eax,%ebp
668         leal    607225278(%ebx,%edx,1),%edx
669         xorl    %esi,%ecx
670         xorl    %edi,%ebp
671         rorl    $2,%ecx
672         addl    %edx,%ebp
673         addl    4(%esp),%edx
674         addl    %ecx,%ebp
675         movl    %edx,%esi
676         movl    8(%esp),%ecx
677         rorl    $14,%edx
678         movl    12(%esp),%edi
679         xorl    %esi,%edx
680         movl    76(%esp),%ebx
681         xorl    %edi,%ecx
682         rorl    $5,%edx
683         andl    %esi,%ecx
684         movl    %esi,4(%esp)
685         xorl    %esi,%edx
686         addl    16(%esp),%ebx
687         xorl    %ecx,%edi
688         rorl    $6,%edx
689         movl    %ebp,%esi
690         addl    %edi,%ebx
691         rorl    $9,%esi
692         movl    %ebp,%ecx
693         movl    24(%esp),%edi
694         xorl    %ebp,%esi
695         movl    %ebp,20(%esp)
696         xorl    %edi,%ebp
697         rorl    $11,%esi
698         andl    %ebp,%eax
699         leal    1426881987(%ebx,%edx,1),%edx
700         xorl    %ecx,%esi
701         xorl    %edi,%eax
702         rorl    $2,%esi
703         addl    %edx,%eax
704         addl    (%esp),%edx
705         addl    %esi,%eax
706         movl    %edx,%ecx
707         movl    4(%esp),%esi
708         rorl    $14,%edx
709         movl    8(%esp),%edi
710         xorl    %ecx,%edx
711         movl    80(%esp),%ebx
712         xorl    %edi,%esi
713         rorl    $5,%edx
714         andl    %ecx,%esi
715         movl    %ecx,(%esp)
716         xorl    %ecx,%edx
717         addl    12(%esp),%ebx
718         xorl    %esi,%edi
719         rorl    $6,%edx
720         movl    %eax,%ecx
721         addl    %edi,%ebx
722         rorl    $9,%ecx
723         movl    %eax,%esi
724         movl    20(%esp),%edi
725         xorl    %eax,%ecx
726         movl    %eax,16(%esp)
727         xorl    %edi,%eax
728         rorl    $11,%ecx
729         andl    %eax,%ebp
730         leal    1925078388(%ebx,%edx,1),%edx
731         xorl    %esi,%ecx
732         xorl    %edi,%ebp
733         rorl    $2,%ecx
734         addl    %edx,%ebp
735         addl    28(%esp),%edx
736         addl    %ecx,%ebp
737         movl    %edx,%esi
738         movl    (%esp),%ecx
739         rorl    $14,%edx
740         movl    4(%esp),%edi
741         xorl    %esi,%edx
742         movl    84(%esp),%ebx
743         xorl    %edi,%ecx
744         rorl    $5,%edx
745         andl    %esi,%ecx
746         movl    %esi,28(%esp)
747         xorl    %esi,%edx
748         addl    8(%esp),%ebx
749         xorl    %ecx,%edi
750         rorl    $6,%edx
751         movl    %ebp,%esi
752         addl    %edi,%ebx
753         rorl    $9,%esi
754         movl    %ebp,%ecx
755         movl    16(%esp),%edi
756         xorl    %ebp,%esi
757         movl    %ebp,12(%esp)
758         xorl    %edi,%ebp
759         rorl    $11,%esi
760         andl    %ebp,%eax
761         leal    2162078206(%ebx,%edx,1),%edx
762         xorl    %ecx,%esi
763         xorl    %edi,%eax
764         rorl    $2,%esi
765         addl    %edx,%eax
766         addl    24(%esp),%edx
767         addl    %esi,%eax
768         movl    %edx,%ecx
769         movl    28(%esp),%esi
770         rorl    $14,%edx
771         movl    (%esp),%edi
772         xorl    %ecx,%edx
773         movl    88(%esp),%ebx
774         xorl    %edi,%esi
775         rorl    $5,%edx
776         andl    %ecx,%esi
777         movl    %ecx,24(%esp)
778         xorl    %ecx,%edx
779         addl    4(%esp),%ebx
780         xorl    %esi,%edi
781         rorl    $6,%edx
782         movl    %eax,%ecx
783         addl    %edi,%ebx
784         rorl    $9,%ecx
785         movl    %eax,%esi
786         movl    12(%esp),%edi
787         xorl    %eax,%ecx
788         movl    %eax,8(%esp)
789         xorl    %edi,%eax
790         rorl    $11,%ecx
791         andl    %eax,%ebp
792         leal    2614888103(%ebx,%edx,1),%edx
793         xorl    %esi,%ecx
794         xorl    %edi,%ebp
795         rorl    $2,%ecx
796         addl    %edx,%ebp
797         addl    20(%esp),%edx
798         addl    %ecx,%ebp
799         movl    %edx,%esi
800         movl    24(%esp),%ecx
801         rorl    $14,%edx
802         movl    28(%esp),%edi
803         xorl    %esi,%edx
804         movl    92(%esp),%ebx
805         xorl    %edi,%ecx
806         rorl    $5,%edx
807         andl    %esi,%ecx
808         movl    %esi,20(%esp)
809         xorl    %esi,%edx
810         addl    (%esp),%ebx
811         xorl    %ecx,%edi
812         rorl    $6,%edx
813         movl    %ebp,%esi
814         addl    %edi,%ebx
815         rorl    $9,%esi
816         movl    %ebp,%ecx
817         movl    8(%esp),%edi
818         xorl    %ebp,%esi
819         movl    %ebp,4(%esp)
820         xorl    %edi,%ebp
821         rorl    $11,%esi
822         andl    %ebp,%eax
823         leal    3248222580(%ebx,%edx,1),%edx
824         xorl    %ecx,%esi
825         xorl    %edi,%eax
826         movl    36(%esp),%ecx
827         rorl    $2,%esi
828         addl    %edx,%eax
829         addl    16(%esp),%edx
830         addl    %esi,%eax
831         movl    88(%esp),%esi
832         movl    %ecx,%ebx
833         rorl    $11,%ecx
834         movl    %esi,%edi
835         rorl    $2,%esi
836         xorl    %ebx,%ecx
837         shrl    $3,%ebx
838         rorl    $7,%ecx
839         xorl    %edi,%esi
840         xorl    %ecx,%ebx
841         rorl    $17,%esi
842         addl    32(%esp),%ebx
843         shrl    $10,%edi
844         addl    68(%esp),%ebx
845         movl    %edx,%ecx
846         xorl    %esi,%edi
847         movl    20(%esp),%esi
848         rorl    $14,%edx
849         addl    %edi,%ebx
850         movl    24(%esp),%edi
851         xorl    %ecx,%edx
852         movl    %ebx,32(%esp)
853         xorl    %edi,%esi
854         rorl    $5,%edx
855         andl    %ecx,%esi
856         movl    %ecx,16(%esp)
857         xorl    %ecx,%edx
858         addl    28(%esp),%ebx
859         xorl    %esi,%edi
860         rorl    $6,%edx
861         movl    %eax,%ecx
862         addl    %edi,%ebx
863         rorl    $9,%ecx
864         movl    %eax,%esi
865         movl    4(%esp),%edi
866         xorl    %eax,%ecx
867         movl    %eax,(%esp)
868         xorl    %edi,%eax
869         rorl    $11,%ecx
870         andl    %eax,%ebp
871         leal    3835390401(%ebx,%edx,1),%edx
872         xorl    %esi,%ecx
873         xorl    %edi,%ebp
874         movl    40(%esp),%esi
875         rorl    $2,%ecx
876         addl    %edx,%ebp
877         addl    12(%esp),%edx
878         addl    %ecx,%ebp
879         movl    92(%esp),%ecx
880         movl    %esi,%ebx
881         rorl    $11,%esi
882         movl    %ecx,%edi
883         rorl    $2,%ecx
884         xorl    %ebx,%esi
885         shrl    $3,%ebx
886         rorl    $7,%esi
887         xorl    %edi,%ecx
888         xorl    %esi,%ebx
889         rorl    $17,%ecx
890         addl    36(%esp),%ebx
891         shrl    $10,%edi
892         addl    72(%esp),%ebx
893         movl    %edx,%esi
894         xorl    %ecx,%edi
895         movl    16(%esp),%ecx
896         rorl    $14,%edx
897         addl    %edi,%ebx
898         movl    20(%esp),%edi
899         xorl    %esi,%edx
900         movl    %ebx,36(%esp)
901         xorl    %edi,%ecx
902         rorl    $5,%edx
903         andl    %esi,%ecx
904         movl    %esi,12(%esp)
905         xorl    %esi,%edx
906         addl    24(%esp),%ebx
907         xorl    %ecx,%edi
908         rorl    $6,%edx
909         movl    %ebp,%esi
910         addl    %edi,%ebx
911         rorl    $9,%esi
912         movl    %ebp,%ecx
913         movl    (%esp),%edi
914         xorl    %ebp,%esi
915         movl    %ebp,28(%esp)
916         xorl    %edi,%ebp
917         rorl    $11,%esi
918         andl    %ebp,%eax
919         leal    4022224774(%ebx,%edx,1),%edx
920         xorl    %ecx,%esi
921         xorl    %edi,%eax
922         movl    44(%esp),%ecx
923         rorl    $2,%esi
924         addl    %edx,%eax
925         addl    8(%esp),%edx
926         addl    %esi,%eax
927         movl    32(%esp),%esi
928         movl    %ecx,%ebx
929         rorl    $11,%ecx
930         movl    %esi,%edi
931         rorl    $2,%esi
932         xorl    %ebx,%ecx
933         shrl    $3,%ebx
934         rorl    $7,%ecx
935         xorl    %edi,%esi
936         xorl    %ecx,%ebx
937         rorl    $17,%esi
938         addl    40(%esp),%ebx
939         shrl    $10,%edi
940         addl    76(%esp),%ebx
941         movl    %edx,%ecx
942         xorl    %esi,%edi
943         movl    12(%esp),%esi
944         rorl    $14,%edx
945         addl    %edi,%ebx
946         movl    16(%esp),%edi
947         xorl    %ecx,%edx
948         movl    %ebx,40(%esp)
949         xorl    %edi,%esi
950         rorl    $5,%edx
951         andl    %ecx,%esi
952         movl    %ecx,8(%esp)
953         xorl    %ecx,%edx
954         addl    20(%esp),%ebx
955         xorl    %esi,%edi
956         rorl    $6,%edx
957         movl    %eax,%ecx
958         addl    %edi,%ebx
959         rorl    $9,%ecx
960         movl    %eax,%esi
961         movl    28(%esp),%edi
962         xorl    %eax,%ecx
963         movl    %eax,24(%esp)
964         xorl    %edi,%eax
965         rorl    $11,%ecx
966         andl    %eax,%ebp
967         leal    264347078(%ebx,%edx,1),%edx
968         xorl    %esi,%ecx
969         xorl    %edi,%ebp
970         movl    48(%esp),%esi
971         rorl    $2,%ecx
972         addl    %edx,%ebp
973         addl    4(%esp),%edx
974         addl    %ecx,%ebp
975         movl    36(%esp),%ecx
976         movl    %esi,%ebx
977         rorl    $11,%esi
978         movl    %ecx,%edi
979         rorl    $2,%ecx
980         xorl    %ebx,%esi
981         shrl    $3,%ebx
982         rorl    $7,%esi
983         xorl    %edi,%ecx
984         xorl    %esi,%ebx
985         rorl    $17,%ecx
986         addl    44(%esp),%ebx
987         shrl    $10,%edi
988         addl    80(%esp),%ebx
989         movl    %edx,%esi
990         xorl    %ecx,%edi
991         movl    8(%esp),%ecx
992         rorl    $14,%edx
993         addl    %edi,%ebx
994         movl    12(%esp),%edi
995         xorl    %esi,%edx
996         movl    %ebx,44(%esp)
997         xorl    %edi,%ecx
998         rorl    $5,%edx
999         andl    %esi,%ecx
1000         movl    %esi,4(%esp)
1001         xorl    %esi,%edx
1002         addl    16(%esp),%ebx
1003         xorl    %ecx,%edi
1004         rorl    $6,%edx
1005         movl    %ebp,%esi
1006         addl    %edi,%ebx
1007         rorl    $9,%esi
1008         movl    %ebp,%ecx
1009         movl    24(%esp),%edi
1010         xorl    %ebp,%esi
1011         movl    %ebp,20(%esp)
1012         xorl    %edi,%ebp
1013         rorl    $11,%esi
1014         andl    %ebp,%eax
1015         leal    604807628(%ebx,%edx,1),%edx
1016         xorl    %ecx,%esi
1017         xorl    %edi,%eax
1018         movl    52(%esp),%ecx
1019         rorl    $2,%esi
1020         addl    %edx,%eax
1021         addl    (%esp),%edx
1022         addl    %esi,%eax
1023         movl    40(%esp),%esi
1024         movl    %ecx,%ebx
1025         rorl    $11,%ecx
1026         movl    %esi,%edi
1027         rorl    $2,%esi
1028         xorl    %ebx,%ecx
1029         shrl    $3,%ebx
1030         rorl    $7,%ecx
1031         xorl    %edi,%esi
1032         xorl    %ecx,%ebx
1033         rorl    $17,%esi
1034         addl    48(%esp),%ebx
1035         shrl    $10,%edi
1036         addl    84(%esp),%ebx
1037         movl    %edx,%ecx
1038         xorl    %esi,%edi
1039         movl    4(%esp),%esi
1040         rorl    $14,%edx
1041         addl    %edi,%ebx
1042         movl    8(%esp),%edi
1043         xorl    %ecx,%edx
1044         movl    %ebx,48(%esp)
1045         xorl    %edi,%esi
1046         rorl    $5,%edx
1047         andl    %ecx,%esi
1048         movl    %ecx,(%esp)
1049         xorl    %ecx,%edx
1050         addl    12(%esp),%ebx
1051         xorl    %esi,%edi
1052         rorl    $6,%edx
1053         movl    %eax,%ecx
1054         addl    %edi,%ebx
1055         rorl    $9,%ecx
1056         movl    %eax,%esi
1057         movl    20(%esp),%edi
1058         xorl    %eax,%ecx
1059         movl    %eax,16(%esp)
1060         xorl    %edi,%eax
1061         rorl    $11,%ecx
1062         andl    %eax,%ebp
1063         leal    770255983(%ebx,%edx,1),%edx
1064         xorl    %esi,%ecx
1065         xorl    %edi,%ebp
1066         movl    56(%esp),%esi
1067         rorl    $2,%ecx
1068         addl    %edx,%ebp
1069         addl    28(%esp),%edx
1070         addl    %ecx,%ebp
1071         movl    44(%esp),%ecx
1072         movl    %esi,%ebx
1073         rorl    $11,%esi
1074         movl    %ecx,%edi
1075         rorl    $2,%ecx
1076         xorl    %ebx,%esi
1077         shrl    $3,%ebx
1078         rorl    $7,%esi
1079         xorl    %edi,%ecx
1080         xorl    %esi,%ebx
1081         rorl    $17,%ecx
1082         addl    52(%esp),%ebx
1083         shrl    $10,%edi
1084         addl    88(%esp),%ebx
1085         movl    %edx,%esi
1086         xorl    %ecx,%edi
1087         movl    (%esp),%ecx
1088         rorl    $14,%edx
1089         addl    %edi,%ebx
1090         movl    4(%esp),%edi
1091         xorl    %esi,%edx
1092         movl    %ebx,52(%esp)
1093         xorl    %edi,%ecx
1094         rorl    $5,%edx
1095         andl    %esi,%ecx
1096         movl    %esi,28(%esp)
1097         xorl    %esi,%edx
1098         addl    8(%esp),%ebx
1099         xorl    %ecx,%edi
1100         rorl    $6,%edx
1101         movl    %ebp,%esi
1102         addl    %edi,%ebx
1103         rorl    $9,%esi
1104         movl    %ebp,%ecx
1105         movl    16(%esp),%edi
1106         xorl    %ebp,%esi
1107         movl    %ebp,12(%esp)
1108         xorl    %edi,%ebp
1109         rorl    $11,%esi
1110         andl    %ebp,%eax
1111         leal    1249150122(%ebx,%edx,1),%edx
1112         xorl    %ecx,%esi
1113         xorl    %edi,%eax
1114         movl    60(%esp),%ecx
1115         rorl    $2,%esi
1116         addl    %edx,%eax
1117         addl    24(%esp),%edx
1118         addl    %esi,%eax
1119         movl    48(%esp),%esi
1120         movl    %ecx,%ebx
1121         rorl    $11,%ecx
1122         movl    %esi,%edi
1123         rorl    $2,%esi
1124         xorl    %ebx,%ecx
1125         shrl    $3,%ebx
1126         rorl    $7,%ecx
1127         xorl    %edi,%esi
1128         xorl    %ecx,%ebx
1129         rorl    $17,%esi
1130         addl    56(%esp),%ebx
1131         shrl    $10,%edi
1132         addl    92(%esp),%ebx
1133         movl    %edx,%ecx
1134         xorl    %esi,%edi
1135         movl    28(%esp),%esi
1136         rorl    $14,%edx
1137         addl    %edi,%ebx
1138         movl    (%esp),%edi
1139         xorl    %ecx,%edx
1140         movl    %ebx,56(%esp)
1141         xorl    %edi,%esi
1142         rorl    $5,%edx
1143         andl    %ecx,%esi
1144         movl    %ecx,24(%esp)
1145         xorl    %ecx,%edx
1146         addl    4(%esp),%ebx
1147         xorl    %esi,%edi
1148         rorl    $6,%edx
1149         movl    %eax,%ecx
1150         addl    %edi,%ebx
1151         rorl    $9,%ecx
1152         movl    %eax,%esi
1153         movl    12(%esp),%edi
1154         xorl    %eax,%ecx
1155         movl    %eax,8(%esp)
1156         xorl    %edi,%eax
1157         rorl    $11,%ecx
1158         andl    %eax,%ebp
1159         leal    1555081692(%ebx,%edx,1),%edx
1160         xorl    %esi,%ecx
1161         xorl    %edi,%ebp
1162         movl    64(%esp),%esi
1163         rorl    $2,%ecx
1164         addl    %edx,%ebp
1165         addl    20(%esp),%edx
1166         addl    %ecx,%ebp
1167         movl    52(%esp),%ecx
1168         movl    %esi,%ebx
1169         rorl    $11,%esi
1170         movl    %ecx,%edi
1171         rorl    $2,%ecx
1172         xorl    %ebx,%esi
1173         shrl    $3,%ebx
1174         rorl    $7,%esi
1175         xorl    %edi,%ecx
1176         xorl    %esi,%ebx
1177         rorl    $17,%ecx
1178         addl    60(%esp),%ebx
1179         shrl    $10,%edi
1180         addl    32(%esp),%ebx
1181         movl    %edx,%esi
1182         xorl    %ecx,%edi
1183         movl    24(%esp),%ecx
1184         rorl    $14,%edx
1185         addl    %edi,%ebx
1186         movl    28(%esp),%edi
1187         xorl    %esi,%edx
1188         movl    %ebx,60(%esp)
1189         xorl    %edi,%ecx
1190         rorl    $5,%edx
1191         andl    %esi,%ecx
1192         movl    %esi,20(%esp)
1193         xorl    %esi,%edx
1194         addl    (%esp),%ebx
1195         xorl    %ecx,%edi
1196         rorl    $6,%edx
1197         movl    %ebp,%esi
1198         addl    %edi,%ebx
1199         rorl    $9,%esi
1200         movl    %ebp,%ecx
1201         movl    8(%esp),%edi
1202         xorl    %ebp,%esi
1203         movl    %ebp,4(%esp)
1204         xorl    %edi,%ebp
1205         rorl    $11,%esi
1206         andl    %ebp,%eax
1207         leal    1996064986(%ebx,%edx,1),%edx
1208         xorl    %ecx,%esi
1209         xorl    %edi,%eax
1210         movl    68(%esp),%ecx
1211         rorl    $2,%esi
1212         addl    %edx,%eax
1213         addl    16(%esp),%edx
1214         addl    %esi,%eax
1215         movl    56(%esp),%esi
1216         movl    %ecx,%ebx
1217         rorl    $11,%ecx
1218         movl    %esi,%edi
1219         rorl    $2,%esi
1220         xorl    %ebx,%ecx
1221         shrl    $3,%ebx
1222         rorl    $7,%ecx
1223         xorl    %edi,%esi
1224         xorl    %ecx,%ebx
1225         rorl    $17,%esi
1226         addl    64(%esp),%ebx
1227         shrl    $10,%edi
1228         addl    36(%esp),%ebx
1229         movl    %edx,%ecx
1230         xorl    %esi,%edi
1231         movl    20(%esp),%esi
1232         rorl    $14,%edx
1233         addl    %edi,%ebx
1234         movl    24(%esp),%edi
1235         xorl    %ecx,%edx
1236         movl    %ebx,64(%esp)
1237         xorl    %edi,%esi
1238         rorl    $5,%edx
1239         andl    %ecx,%esi
1240         movl    %ecx,16(%esp)
1241         xorl    %ecx,%edx
1242         addl    28(%esp),%ebx
1243         xorl    %esi,%edi
1244         rorl    $6,%edx
1245         movl    %eax,%ecx
1246         addl    %edi,%ebx
1247         rorl    $9,%ecx
1248         movl    %eax,%esi
1249         movl    4(%esp),%edi
1250         xorl    %eax,%ecx
1251         movl    %eax,(%esp)
1252         xorl    %edi,%eax
1253         rorl    $11,%ecx
1254         andl    %eax,%ebp
1255         leal    2554220882(%ebx,%edx,1),%edx
1256         xorl    %esi,%ecx
1257         xorl    %edi,%ebp
1258         movl    72(%esp),%esi
1259         rorl    $2,%ecx
1260         addl    %edx,%ebp
1261         addl    12(%esp),%edx
1262         addl    %ecx,%ebp
1263         movl    60(%esp),%ecx
1264         movl    %esi,%ebx
1265         rorl    $11,%esi
1266         movl    %ecx,%edi
1267         rorl    $2,%ecx
1268         xorl    %ebx,%esi
1269         shrl    $3,%ebx
1270         rorl    $7,%esi
1271         xorl    %edi,%ecx
1272         xorl    %esi,%ebx
1273         rorl    $17,%ecx
1274         addl    68(%esp),%ebx
1275         shrl    $10,%edi
1276         addl    40(%esp),%ebx
1277         movl    %edx,%esi
1278         xorl    %ecx,%edi
1279         movl    16(%esp),%ecx
1280         rorl    $14,%edx
1281         addl    %edi,%ebx
1282         movl    20(%esp),%edi
1283         xorl    %esi,%edx
1284         movl    %ebx,68(%esp)
1285         xorl    %edi,%ecx
1286         rorl    $5,%edx
1287         andl    %esi,%ecx
1288         movl    %esi,12(%esp)
1289         xorl    %esi,%edx
1290         addl    24(%esp),%ebx
1291         xorl    %ecx,%edi
1292         rorl    $6,%edx
1293         movl    %ebp,%esi
1294         addl    %edi,%ebx
1295         rorl    $9,%esi
1296         movl    %ebp,%ecx
1297         movl    (%esp),%edi
1298         xorl    %ebp,%esi
1299         movl    %ebp,28(%esp)
1300         xorl    %edi,%ebp
1301         rorl    $11,%esi
1302         andl    %ebp,%eax
1303         leal    2821834349(%ebx,%edx,1),%edx
1304         xorl    %ecx,%esi
1305         xorl    %edi,%eax
1306         movl    76(%esp),%ecx
1307         rorl    $2,%esi
1308         addl    %edx,%eax
1309         addl    8(%esp),%edx
1310         addl    %esi,%eax
1311         movl    64(%esp),%esi
1312         movl    %ecx,%ebx
1313         rorl    $11,%ecx
1314         movl    %esi,%edi
1315         rorl    $2,%esi
1316         xorl    %ebx,%ecx
1317         shrl    $3,%ebx
1318         rorl    $7,%ecx
1319         xorl    %edi,%esi
1320         xorl    %ecx,%ebx
1321         rorl    $17,%esi
1322         addl    72(%esp),%ebx
1323         shrl    $10,%edi
1324         addl    44(%esp),%ebx
1325         movl    %edx,%ecx
1326         xorl    %esi,%edi
1327         movl    12(%esp),%esi
1328         rorl    $14,%edx
1329         addl    %edi,%ebx
1330         movl    16(%esp),%edi
1331         xorl    %ecx,%edx
1332         movl    %ebx,72(%esp)
1333         xorl    %edi,%esi
1334         rorl    $5,%edx
1335         andl    %ecx,%esi
1336         movl    %ecx,8(%esp)
1337         xorl    %ecx,%edx
1338         addl    20(%esp),%ebx
1339         xorl    %esi,%edi
1340         rorl    $6,%edx
1341         movl    %eax,%ecx
1342         addl    %edi,%ebx
1343         rorl    $9,%ecx
1344         movl    %eax,%esi
1345         movl    28(%esp),%edi
1346         xorl    %eax,%ecx
1347         movl    %eax,24(%esp)
1348         xorl    %edi,%eax
1349         rorl    $11,%ecx
1350         andl    %eax,%ebp
1351         leal    2952996808(%ebx,%edx,1),%edx
1352         xorl    %esi,%ecx
1353         xorl    %edi,%ebp
1354         movl    80(%esp),%esi
1355         rorl    $2,%ecx
1356         addl    %edx,%ebp
1357         addl    4(%esp),%edx
1358         addl    %ecx,%ebp
1359         movl    68(%esp),%ecx
1360         movl    %esi,%ebx
1361         rorl    $11,%esi
1362         movl    %ecx,%edi
1363         rorl    $2,%ecx
1364         xorl    %ebx,%esi
1365         shrl    $3,%ebx
1366         rorl    $7,%esi
1367         xorl    %edi,%ecx
1368         xorl    %esi,%ebx
1369         rorl    $17,%ecx
1370         addl    76(%esp),%ebx
1371         shrl    $10,%edi
1372         addl    48(%esp),%ebx
1373         movl    %edx,%esi
1374         xorl    %ecx,%edi
1375         movl    8(%esp),%ecx
1376         rorl    $14,%edx
1377         addl    %edi,%ebx
1378         movl    12(%esp),%edi
1379         xorl    %esi,%edx
1380         movl    %ebx,76(%esp)
1381         xorl    %edi,%ecx
1382         rorl    $5,%edx
1383         andl    %esi,%ecx
1384         movl    %esi,4(%esp)
1385         xorl    %esi,%edx
1386         addl    16(%esp),%ebx
1387         xorl    %ecx,%edi
1388         rorl    $6,%edx
1389         movl    %ebp,%esi
1390         addl    %edi,%ebx
1391         rorl    $9,%esi
1392         movl    %ebp,%ecx
1393         movl    24(%esp),%edi
1394         xorl    %ebp,%esi
1395         movl    %ebp,20(%esp)
1396         xorl    %edi,%ebp
1397         rorl    $11,%esi
1398         andl    %ebp,%eax
1399         leal    3210313671(%ebx,%edx,1),%edx
1400         xorl    %ecx,%esi
1401         xorl    %edi,%eax
1402         movl    84(%esp),%ecx
1403         rorl    $2,%esi
1404         addl    %edx,%eax
1405         addl    (%esp),%edx
1406         addl    %esi,%eax
1407         movl    72(%esp),%esi
1408         movl    %ecx,%ebx
1409         rorl    $11,%ecx
1410         movl    %esi,%edi
1411         rorl    $2,%esi
1412         xorl    %ebx,%ecx
1413         shrl    $3,%ebx
1414         rorl    $7,%ecx
1415         xorl    %edi,%esi
1416         xorl    %ecx,%ebx
1417         rorl    $17,%esi
1418         addl    80(%esp),%ebx
1419         shrl    $10,%edi
1420         addl    52(%esp),%ebx
1421         movl    %edx,%ecx
1422         xorl    %esi,%edi
1423         movl    4(%esp),%esi
1424         rorl    $14,%edx
1425         addl    %edi,%ebx
1426         movl    8(%esp),%edi
1427         xorl    %ecx,%edx
1428         movl    %ebx,80(%esp)
1429         xorl    %edi,%esi
1430         rorl    $5,%edx
1431         andl    %ecx,%esi
1432         movl    %ecx,(%esp)
1433         xorl    %ecx,%edx
1434         addl    12(%esp),%ebx
1435         xorl    %esi,%edi
1436         rorl    $6,%edx
1437         movl    %eax,%ecx
1438         addl    %edi,%ebx
1439         rorl    $9,%ecx
1440         movl    %eax,%esi
1441         movl    20(%esp),%edi
1442         xorl    %eax,%ecx
1443         movl    %eax,16(%esp)
1444         xorl    %edi,%eax
1445         rorl    $11,%ecx
1446         andl    %eax,%ebp
1447         leal    3336571891(%ebx,%edx,1),%edx
1448         xorl    %esi,%ecx
1449         xorl    %edi,%ebp
1450         movl    88(%esp),%esi
1451         rorl    $2,%ecx
1452         addl    %edx,%ebp
1453         addl    28(%esp),%edx
1454         addl    %ecx,%ebp
1455         movl    76(%esp),%ecx
1456         movl    %esi,%ebx
1457         rorl    $11,%esi
1458         movl    %ecx,%edi
1459         rorl    $2,%ecx
1460         xorl    %ebx,%esi
1461         shrl    $3,%ebx
1462         rorl    $7,%esi
1463         xorl    %edi,%ecx
1464         xorl    %esi,%ebx
1465         rorl    $17,%ecx
1466         addl    84(%esp),%ebx
1467         shrl    $10,%edi
1468         addl    56(%esp),%ebx
1469         movl    %edx,%esi
1470         xorl    %ecx,%edi
1471         movl    (%esp),%ecx
1472         rorl    $14,%edx
1473         addl    %edi,%ebx
1474         movl    4(%esp),%edi
1475         xorl    %esi,%edx
1476         movl    %ebx,84(%esp)
1477         xorl    %edi,%ecx
1478         rorl    $5,%edx
1479         andl    %esi,%ecx
1480         movl    %esi,28(%esp)
1481         xorl    %esi,%edx
1482         addl    8(%esp),%ebx
1483         xorl    %ecx,%edi
1484         rorl    $6,%edx
1485         movl    %ebp,%esi
1486         addl    %edi,%ebx
1487         rorl    $9,%esi
1488         movl    %ebp,%ecx
1489         movl    16(%esp),%edi
1490         xorl    %ebp,%esi
1491         movl    %ebp,12(%esp)
1492         xorl    %edi,%ebp
1493         rorl    $11,%esi
1494         andl    %ebp,%eax
1495         leal    3584528711(%ebx,%edx,1),%edx
1496         xorl    %ecx,%esi
1497         xorl    %edi,%eax
1498         movl    92(%esp),%ecx
1499         rorl    $2,%esi
1500         addl    %edx,%eax
1501         addl    24(%esp),%edx
1502         addl    %esi,%eax
1503         movl    80(%esp),%esi
1504         movl    %ecx,%ebx
1505         rorl    $11,%ecx
1506         movl    %esi,%edi
1507         rorl    $2,%esi
1508         xorl    %ebx,%ecx
1509         shrl    $3,%ebx
1510         rorl    $7,%ecx
1511         xorl    %edi,%esi
1512         xorl    %ecx,%ebx
1513         rorl    $17,%esi
1514         addl    88(%esp),%ebx
1515         shrl    $10,%edi
1516         addl    60(%esp),%ebx
1517         movl    %edx,%ecx
1518         xorl    %esi,%edi
1519         movl    28(%esp),%esi
1520         rorl    $14,%edx
1521         addl    %edi,%ebx
1522         movl    (%esp),%edi
1523         xorl    %ecx,%edx
1524         movl    %ebx,88(%esp)
1525         xorl    %edi,%esi
1526         rorl    $5,%edx
1527         andl    %ecx,%esi
1528         movl    %ecx,24(%esp)
1529         xorl    %ecx,%edx
1530         addl    4(%esp),%ebx
1531         xorl    %esi,%edi
1532         rorl    $6,%edx
1533         movl    %eax,%ecx
1534         addl    %edi,%ebx
1535         rorl    $9,%ecx
1536         movl    %eax,%esi
1537         movl    12(%esp),%edi
1538         xorl    %eax,%ecx
1539         movl    %eax,8(%esp)
1540         xorl    %edi,%eax
1541         rorl    $11,%ecx
1542         andl    %eax,%ebp
1543         leal    113926993(%ebx,%edx,1),%edx
1544         xorl    %esi,%ecx
1545         xorl    %edi,%ebp
1546         movl    32(%esp),%esi
1547         rorl    $2,%ecx
1548         addl    %edx,%ebp
1549         addl    20(%esp),%edx
1550         addl    %ecx,%ebp
1551         movl    84(%esp),%ecx
1552         movl    %esi,%ebx
1553         rorl    $11,%esi
1554         movl    %ecx,%edi
1555         rorl    $2,%ecx
1556         xorl    %ebx,%esi
1557         shrl    $3,%ebx
1558         rorl    $7,%esi
1559         xorl    %edi,%ecx
1560         xorl    %esi,%ebx
1561         rorl    $17,%ecx
1562         addl    92(%esp),%ebx
1563         shrl    $10,%edi
1564         addl    64(%esp),%ebx
1565         movl    %edx,%esi
1566         xorl    %ecx,%edi
1567         movl    24(%esp),%ecx
1568         rorl    $14,%edx
1569         addl    %edi,%ebx
1570         movl    28(%esp),%edi
1571         xorl    %esi,%edx
1572         movl    %ebx,92(%esp)
1573         xorl    %edi,%ecx
1574         rorl    $5,%edx
1575         andl    %esi,%ecx
1576         movl    %esi,20(%esp)
1577         xorl    %esi,%edx
1578         addl    (%esp),%ebx
1579         xorl    %ecx,%edi
1580         rorl    $6,%edx
1581         movl    %ebp,%esi
1582         addl    %edi,%ebx
1583         rorl    $9,%esi
1584         movl    %ebp,%ecx
1585         movl    8(%esp),%edi
1586         xorl    %ebp,%esi
1587         movl    %ebp,4(%esp)
1588         xorl    %edi,%ebp
1589         rorl    $11,%esi
1590         andl    %ebp,%eax
1591         leal    338241895(%ebx,%edx,1),%edx
1592         xorl    %ecx,%esi
1593         xorl    %edi,%eax
1594         movl    36(%esp),%ecx
1595         rorl    $2,%esi
1596         addl    %edx,%eax
1597         addl    16(%esp),%edx
1598         addl    %esi,%eax
1599         movl    88(%esp),%esi
1600         movl    %ecx,%ebx
1601         rorl    $11,%ecx
1602         movl    %esi,%edi
1603         rorl    $2,%esi
1604         xorl    %ebx,%ecx
1605         shrl    $3,%ebx
1606         rorl    $7,%ecx
1607         xorl    %edi,%esi
1608         xorl    %ecx,%ebx
1609         rorl    $17,%esi
1610         addl    32(%esp),%ebx
1611         shrl    $10,%edi
1612         addl    68(%esp),%ebx
1613         movl    %edx,%ecx
1614         xorl    %esi,%edi
1615         movl    20(%esp),%esi
1616         rorl    $14,%edx
1617         addl    %edi,%ebx
1618         movl    24(%esp),%edi
1619         xorl    %ecx,%edx
1620         movl    %ebx,32(%esp)
1621         xorl    %edi,%esi
1622         rorl    $5,%edx
1623         andl    %ecx,%esi
1624         movl    %ecx,16(%esp)
1625         xorl    %ecx,%edx
1626         addl    28(%esp),%ebx
1627         xorl    %esi,%edi
1628         rorl    $6,%edx
1629         movl    %eax,%ecx
1630         addl    %edi,%ebx
1631         rorl    $9,%ecx
1632         movl    %eax,%esi
1633         movl    4(%esp),%edi
1634         xorl    %eax,%ecx
1635         movl    %eax,(%esp)
1636         xorl    %edi,%eax
1637         rorl    $11,%ecx
1638         andl    %eax,%ebp
1639         leal    666307205(%ebx,%edx,1),%edx
1640         xorl    %esi,%ecx
1641         xorl    %edi,%ebp
1642         movl    40(%esp),%esi
1643         rorl    $2,%ecx
1644         addl    %edx,%ebp
1645         addl    12(%esp),%edx
1646         addl    %ecx,%ebp
1647         movl    92(%esp),%ecx
1648         movl    %esi,%ebx
1649         rorl    $11,%esi
1650         movl    %ecx,%edi
1651         rorl    $2,%ecx
1652         xorl    %ebx,%esi
1653         shrl    $3,%ebx
1654         rorl    $7,%esi
1655         xorl    %edi,%ecx
1656         xorl    %esi,%ebx
1657         rorl    $17,%ecx
1658         addl    36(%esp),%ebx
1659         shrl    $10,%edi
1660         addl    72(%esp),%ebx
1661         movl    %edx,%esi
1662         xorl    %ecx,%edi
1663         movl    16(%esp),%ecx
1664         rorl    $14,%edx
1665         addl    %edi,%ebx
1666         movl    20(%esp),%edi
1667         xorl    %esi,%edx
1668         movl    %ebx,36(%esp)
1669         xorl    %edi,%ecx
1670         rorl    $5,%edx
1671         andl    %esi,%ecx
1672         movl    %esi,12(%esp)
1673         xorl    %esi,%edx
1674         addl    24(%esp),%ebx
1675         xorl    %ecx,%edi
1676         rorl    $6,%edx
1677         movl    %ebp,%esi
1678         addl    %edi,%ebx
1679         rorl    $9,%esi
1680         movl    %ebp,%ecx
1681         movl    (%esp),%edi
1682         xorl    %ebp,%esi
1683         movl    %ebp,28(%esp)
1684         xorl    %edi,%ebp
1685         rorl    $11,%esi
1686         andl    %ebp,%eax
1687         leal    773529912(%ebx,%edx,1),%edx
1688         xorl    %ecx,%esi
1689         xorl    %edi,%eax
1690         movl    44(%esp),%ecx
1691         rorl    $2,%esi
1692         addl    %edx,%eax
1693         addl    8(%esp),%edx
1694         addl    %esi,%eax
1695         movl    32(%esp),%esi
1696         movl    %ecx,%ebx
1697         rorl    $11,%ecx
1698         movl    %esi,%edi
1699         rorl    $2,%esi
1700         xorl    %ebx,%ecx
1701         shrl    $3,%ebx
1702         rorl    $7,%ecx
1703         xorl    %edi,%esi
1704         xorl    %ecx,%ebx
1705         rorl    $17,%esi
1706         addl    40(%esp),%ebx
1707         shrl    $10,%edi
1708         addl    76(%esp),%ebx
1709         movl    %edx,%ecx
1710         xorl    %esi,%edi
1711         movl    12(%esp),%esi
1712         rorl    $14,%edx
1713         addl    %edi,%ebx
1714         movl    16(%esp),%edi
1715         xorl    %ecx,%edx
1716         movl    %ebx,40(%esp)
1717         xorl    %edi,%esi
1718         rorl    $5,%edx
1719         andl    %ecx,%esi
1720         movl    %ecx,8(%esp)
1721         xorl    %ecx,%edx
1722         addl    20(%esp),%ebx
1723         xorl    %esi,%edi
1724         rorl    $6,%edx
1725         movl    %eax,%ecx
1726         addl    %edi,%ebx
1727         rorl    $9,%ecx
1728         movl    %eax,%esi
1729         movl    28(%esp),%edi
1730         xorl    %eax,%ecx
1731         movl    %eax,24(%esp)
1732         xorl    %edi,%eax
1733         rorl    $11,%ecx
1734         andl    %eax,%ebp
1735         leal    1294757372(%ebx,%edx,1),%edx
1736         xorl    %esi,%ecx
1737         xorl    %edi,%ebp
1738         movl    48(%esp),%esi
1739         rorl    $2,%ecx
1740         addl    %edx,%ebp
1741         addl    4(%esp),%edx
1742         addl    %ecx,%ebp
1743         movl    36(%esp),%ecx
1744         movl    %esi,%ebx
1745         rorl    $11,%esi
1746         movl    %ecx,%edi
1747         rorl    $2,%ecx
1748         xorl    %ebx,%esi
1749         shrl    $3,%ebx
1750         rorl    $7,%esi
1751         xorl    %edi,%ecx
1752         xorl    %esi,%ebx
1753         rorl    $17,%ecx
1754         addl    44(%esp),%ebx
1755         shrl    $10,%edi
1756         addl    80(%esp),%ebx
1757         movl    %edx,%esi
1758         xorl    %ecx,%edi
1759         movl    8(%esp),%ecx
1760         rorl    $14,%edx
1761         addl    %edi,%ebx
1762         movl    12(%esp),%edi
1763         xorl    %esi,%edx
1764         movl    %ebx,44(%esp)
1765         xorl    %edi,%ecx
1766         rorl    $5,%edx
1767         andl    %esi,%ecx
1768         movl    %esi,4(%esp)
1769         xorl    %esi,%edx
1770         addl    16(%esp),%ebx
1771         xorl    %ecx,%edi
1772         rorl    $6,%edx
1773         movl    %ebp,%esi
1774         addl    %edi,%ebx
1775         rorl    $9,%esi
1776         movl    %ebp,%ecx
1777         movl    24(%esp),%edi
1778         xorl    %ebp,%esi
1779         movl    %ebp,20(%esp)
1780         xorl    %edi,%ebp
1781         rorl    $11,%esi
1782         andl    %ebp,%eax
1783         leal    1396182291(%ebx,%edx,1),%edx
1784         xorl    %ecx,%esi
1785         xorl    %edi,%eax
1786         movl    52(%esp),%ecx
1787         rorl    $2,%esi
1788         addl    %edx,%eax
1789         addl    (%esp),%edx
1790         addl    %esi,%eax
1791         movl    40(%esp),%esi
1792         movl    %ecx,%ebx
1793         rorl    $11,%ecx
1794         movl    %esi,%edi
1795         rorl    $2,%esi
1796         xorl    %ebx,%ecx
1797         shrl    $3,%ebx
1798         rorl    $7,%ecx
1799         xorl    %edi,%esi
1800         xorl    %ecx,%ebx
1801         rorl    $17,%esi
1802         addl    48(%esp),%ebx
1803         shrl    $10,%edi
1804         addl    84(%esp),%ebx
1805         movl    %edx,%ecx
1806         xorl    %esi,%edi
1807         movl    4(%esp),%esi
1808         rorl    $14,%edx
1809         addl    %edi,%ebx
1810         movl    8(%esp),%edi
1811         xorl    %ecx,%edx
1812         movl    %ebx,48(%esp)
1813         xorl    %edi,%esi
1814         rorl    $5,%edx
1815         andl    %ecx,%esi
1816         movl    %ecx,(%esp)
1817         xorl    %ecx,%edx
1818         addl    12(%esp),%ebx
1819         xorl    %esi,%edi
1820         rorl    $6,%edx
1821         movl    %eax,%ecx
1822         addl    %edi,%ebx
1823         rorl    $9,%ecx
1824         movl    %eax,%esi
1825         movl    20(%esp),%edi
1826         xorl    %eax,%ecx
1827         movl    %eax,16(%esp)
1828         xorl    %edi,%eax
1829         rorl    $11,%ecx
1830         andl    %eax,%ebp
1831         leal    1695183700(%ebx,%edx,1),%edx
1832         xorl    %esi,%ecx
1833         xorl    %edi,%ebp
1834         movl    56(%esp),%esi
1835         rorl    $2,%ecx
1836         addl    %edx,%ebp
1837         addl    28(%esp),%edx
1838         addl    %ecx,%ebp
1839         movl    44(%esp),%ecx
1840         movl    %esi,%ebx
1841         rorl    $11,%esi
1842         movl    %ecx,%edi
1843         rorl    $2,%ecx
1844         xorl    %ebx,%esi
1845         shrl    $3,%ebx
1846         rorl    $7,%esi
1847         xorl    %edi,%ecx
1848         xorl    %esi,%ebx
1849         rorl    $17,%ecx
1850         addl    52(%esp),%ebx
1851         shrl    $10,%edi
1852         addl    88(%esp),%ebx
1853         movl    %edx,%esi
1854         xorl    %ecx,%edi
1855         movl    (%esp),%ecx
1856         rorl    $14,%edx
1857         addl    %edi,%ebx
1858         movl    4(%esp),%edi
1859         xorl    %esi,%edx
1860         movl    %ebx,52(%esp)
1861         xorl    %edi,%ecx
1862         rorl    $5,%edx
1863         andl    %esi,%ecx
1864         movl    %esi,28(%esp)
1865         xorl    %esi,%edx
1866         addl    8(%esp),%ebx
1867         xorl    %ecx,%edi
1868         rorl    $6,%edx
1869         movl    %ebp,%esi
1870         addl    %edi,%ebx
1871         rorl    $9,%esi
1872         movl    %ebp,%ecx
1873         movl    16(%esp),%edi
1874         xorl    %ebp,%esi
1875         movl    %ebp,12(%esp)
1876         xorl    %edi,%ebp
1877         rorl    $11,%esi
1878         andl    %ebp,%eax
1879         leal    1986661051(%ebx,%edx,1),%edx
1880         xorl    %ecx,%esi
1881         xorl    %edi,%eax
1882         movl    60(%esp),%ecx
1883         rorl    $2,%esi
1884         addl    %edx,%eax
1885         addl    24(%esp),%edx
1886         addl    %esi,%eax
1887         movl    48(%esp),%esi
1888         movl    %ecx,%ebx
1889         rorl    $11,%ecx
1890         movl    %esi,%edi
1891         rorl    $2,%esi
1892         xorl    %ebx,%ecx
1893         shrl    $3,%ebx
1894         rorl    $7,%ecx
1895         xorl    %edi,%esi
1896         xorl    %ecx,%ebx
1897         rorl    $17,%esi
1898         addl    56(%esp),%ebx
1899         shrl    $10,%edi
1900         addl    92(%esp),%ebx
1901         movl    %edx,%ecx
1902         xorl    %esi,%edi
1903         movl    28(%esp),%esi
1904         rorl    $14,%edx
1905         addl    %edi,%ebx
1906         movl    (%esp),%edi
1907         xorl    %ecx,%edx
1908         movl    %ebx,56(%esp)
1909         xorl    %edi,%esi
1910         rorl    $5,%edx
1911         andl    %ecx,%esi
1912         movl    %ecx,24(%esp)
1913         xorl    %ecx,%edx
1914         addl    4(%esp),%ebx
1915         xorl    %esi,%edi
1916         rorl    $6,%edx
1917         movl    %eax,%ecx
1918         addl    %edi,%ebx
1919         rorl    $9,%ecx
1920         movl    %eax,%esi
1921         movl    12(%esp),%edi
1922         xorl    %eax,%ecx
1923         movl    %eax,8(%esp)
1924         xorl    %edi,%eax
1925         rorl    $11,%ecx
1926         andl    %eax,%ebp
1927         leal    2177026350(%ebx,%edx,1),%edx
1928         xorl    %esi,%ecx
1929         xorl    %edi,%ebp
1930         movl    64(%esp),%esi
1931         rorl    $2,%ecx
1932         addl    %edx,%ebp
1933         addl    20(%esp),%edx
1934         addl    %ecx,%ebp
1935         movl    52(%esp),%ecx
1936         movl    %esi,%ebx
1937         rorl    $11,%esi
1938         movl    %ecx,%edi
1939         rorl    $2,%ecx
1940         xorl    %ebx,%esi
1941         shrl    $3,%ebx
1942         rorl    $7,%esi
1943         xorl    %edi,%ecx
1944         xorl    %esi,%ebx
1945         rorl    $17,%ecx
1946         addl    60(%esp),%ebx
1947         shrl    $10,%edi
1948         addl    32(%esp),%ebx
1949         movl    %edx,%esi
1950         xorl    %ecx,%edi
1951         movl    24(%esp),%ecx
1952         rorl    $14,%edx
1953         addl    %edi,%ebx
1954         movl    28(%esp),%edi
1955         xorl    %esi,%edx
1956         movl    %ebx,60(%esp)
1957         xorl    %edi,%ecx
1958         rorl    $5,%edx
1959         andl    %esi,%ecx
1960         movl    %esi,20(%esp)
1961         xorl    %esi,%edx
1962         addl    (%esp),%ebx
1963         xorl    %ecx,%edi
1964         rorl    $6,%edx
1965         movl    %ebp,%esi
1966         addl    %edi,%ebx
1967         rorl    $9,%esi
1968         movl    %ebp,%ecx
1969         movl    8(%esp),%edi
1970         xorl    %ebp,%esi
1971         movl    %ebp,4(%esp)
1972         xorl    %edi,%ebp
1973         rorl    $11,%esi
1974         andl    %ebp,%eax
1975         leal    2456956037(%ebx,%edx,1),%edx
1976         xorl    %ecx,%esi
1977         xorl    %edi,%eax
1978         movl    68(%esp),%ecx
1979         rorl    $2,%esi
1980         addl    %edx,%eax
1981         addl    16(%esp),%edx
1982         addl    %esi,%eax
1983         movl    56(%esp),%esi
1984         movl    %ecx,%ebx
1985         rorl    $11,%ecx
1986         movl    %esi,%edi
1987         rorl    $2,%esi
1988         xorl    %ebx,%ecx
1989         shrl    $3,%ebx
1990         rorl    $7,%ecx
1991         xorl    %edi,%esi
1992         xorl    %ecx,%ebx
1993         rorl    $17,%esi
1994         addl    64(%esp),%ebx
1995         shrl    $10,%edi
1996         addl    36(%esp),%ebx
1997         movl    %edx,%ecx
1998         xorl    %esi,%edi
1999         movl    20(%esp),%esi
2000         rorl    $14,%edx
2001         addl    %edi,%ebx
2002         movl    24(%esp),%edi
2003         xorl    %ecx,%edx
2004         movl    %ebx,64(%esp)
2005         xorl    %edi,%esi
2006         rorl    $5,%edx
2007         andl    %ecx,%esi
2008         movl    %ecx,16(%esp)
2009         xorl    %ecx,%edx
2010         addl    28(%esp),%ebx
2011         xorl    %esi,%edi
2012         rorl    $6,%edx
2013         movl    %eax,%ecx
2014         addl    %edi,%ebx
2015         rorl    $9,%ecx
2016         movl    %eax,%esi
2017         movl    4(%esp),%edi
2018         xorl    %eax,%ecx
2019         movl    %eax,(%esp)
2020         xorl    %edi,%eax
2021         rorl    $11,%ecx
2022         andl    %eax,%ebp
2023         leal    2730485921(%ebx,%edx,1),%edx
2024         xorl    %esi,%ecx
2025         xorl    %edi,%ebp
2026         movl    72(%esp),%esi
2027         rorl    $2,%ecx
2028         addl    %edx,%ebp
2029         addl    12(%esp),%edx
2030         addl    %ecx,%ebp
2031         movl    60(%esp),%ecx
2032         movl    %esi,%ebx
2033         rorl    $11,%esi
2034         movl    %ecx,%edi
2035         rorl    $2,%ecx
2036         xorl    %ebx,%esi
2037         shrl    $3,%ebx
2038         rorl    $7,%esi
2039         xorl    %edi,%ecx
2040         xorl    %esi,%ebx
2041         rorl    $17,%ecx
2042         addl    68(%esp),%ebx
2043         shrl    $10,%edi
2044         addl    40(%esp),%ebx
2045         movl    %edx,%esi
2046         xorl    %ecx,%edi
2047         movl    16(%esp),%ecx
2048         rorl    $14,%edx
2049         addl    %edi,%ebx
2050         movl    20(%esp),%edi
2051         xorl    %esi,%edx
2052         movl    %ebx,68(%esp)
2053         xorl    %edi,%ecx
2054         rorl    $5,%edx
2055         andl    %esi,%ecx
2056         movl    %esi,12(%esp)
2057         xorl    %esi,%edx
2058         addl    24(%esp),%ebx
2059         xorl    %ecx,%edi
2060         rorl    $6,%edx
2061         movl    %ebp,%esi
2062         addl    %edi,%ebx
2063         rorl    $9,%esi
2064         movl    %ebp,%ecx
2065         movl    (%esp),%edi
2066         xorl    %ebp,%esi
2067         movl    %ebp,28(%esp)
2068         xorl    %edi,%ebp
2069         rorl    $11,%esi
2070         andl    %ebp,%eax
2071         leal    2820302411(%ebx,%edx,1),%edx
2072         xorl    %ecx,%esi
2073         xorl    %edi,%eax
2074         movl    76(%esp),%ecx
2075         rorl    $2,%esi
2076         addl    %edx,%eax
2077         addl    8(%esp),%edx
2078         addl    %esi,%eax
2079         movl    64(%esp),%esi
2080         movl    %ecx,%ebx
2081         rorl    $11,%ecx
2082         movl    %esi,%edi
2083         rorl    $2,%esi
2084         xorl    %ebx,%ecx
2085         shrl    $3,%ebx
2086         rorl    $7,%ecx
2087         xorl    %edi,%esi
2088         xorl    %ecx,%ebx
2089         rorl    $17,%esi
2090         addl    72(%esp),%ebx
2091         shrl    $10,%edi
2092         addl    44(%esp),%ebx
2093         movl    %edx,%ecx
2094         xorl    %esi,%edi
2095         movl    12(%esp),%esi
2096         rorl    $14,%edx
2097         addl    %edi,%ebx
2098         movl    16(%esp),%edi
2099         xorl    %ecx,%edx
2100         movl    %ebx,72(%esp)
2101         xorl    %edi,%esi
2102         rorl    $5,%edx
2103         andl    %ecx,%esi
2104         movl    %ecx,8(%esp)
2105         xorl    %ecx,%edx
2106         addl    20(%esp),%ebx
2107         xorl    %esi,%edi
2108         rorl    $6,%edx
2109         movl    %eax,%ecx
2110         addl    %edi,%ebx
2111         rorl    $9,%ecx
2112         movl    %eax,%esi
2113         movl    28(%esp),%edi
2114         xorl    %eax,%ecx
2115         movl    %eax,24(%esp)
2116         xorl    %edi,%eax
2117         rorl    $11,%ecx
2118         andl    %eax,%ebp
2119         leal    3259730800(%ebx,%edx,1),%edx
2120         xorl    %esi,%ecx
2121         xorl    %edi,%ebp
2122         movl    80(%esp),%esi
2123         rorl    $2,%ecx
2124         addl    %edx,%ebp
2125         addl    4(%esp),%edx
2126         addl    %ecx,%ebp
2127         movl    68(%esp),%ecx
2128         movl    %esi,%ebx
2129         rorl    $11,%esi
2130         movl    %ecx,%edi
2131         rorl    $2,%ecx
2132         xorl    %ebx,%esi
2133         shrl    $3,%ebx
2134         rorl    $7,%esi
2135         xorl    %edi,%ecx
2136         xorl    %esi,%ebx
2137         rorl    $17,%ecx
2138         addl    76(%esp),%ebx
2139         shrl    $10,%edi
2140         addl    48(%esp),%ebx
2141         movl    %edx,%esi
2142         xorl    %ecx,%edi
2143         movl    8(%esp),%ecx
2144         rorl    $14,%edx
2145         addl    %edi,%ebx
2146         movl    12(%esp),%edi
2147         xorl    %esi,%edx
2148         movl    %ebx,76(%esp)
2149         xorl    %edi,%ecx
2150         rorl    $5,%edx
2151         andl    %esi,%ecx
2152         movl    %esi,4(%esp)
2153         xorl    %esi,%edx
2154         addl    16(%esp),%ebx
2155         xorl    %ecx,%edi
2156         rorl    $6,%edx
2157         movl    %ebp,%esi
2158         addl    %edi,%ebx
2159         rorl    $9,%esi
2160         movl    %ebp,%ecx
2161         movl    24(%esp),%edi
2162         xorl    %ebp,%esi
2163         movl    %ebp,20(%esp)
2164         xorl    %edi,%ebp
2165         rorl    $11,%esi
2166         andl    %ebp,%eax
2167         leal    3345764771(%ebx,%edx,1),%edx
2168         xorl    %ecx,%esi
2169         xorl    %edi,%eax
2170         movl    84(%esp),%ecx
2171         rorl    $2,%esi
2172         addl    %edx,%eax
2173         addl    (%esp),%edx
2174         addl    %esi,%eax
2175         movl    72(%esp),%esi
2176         movl    %ecx,%ebx
2177         rorl    $11,%ecx
2178         movl    %esi,%edi
2179         rorl    $2,%esi
2180         xorl    %ebx,%ecx
2181         shrl    $3,%ebx
2182         rorl    $7,%ecx
2183         xorl    %edi,%esi
2184         xorl    %ecx,%ebx
2185         rorl    $17,%esi
2186         addl    80(%esp),%ebx
2187         shrl    $10,%edi
2188         addl    52(%esp),%ebx
2189         movl    %edx,%ecx
2190         xorl    %esi,%edi
2191         movl    4(%esp),%esi
2192         rorl    $14,%edx
2193         addl    %edi,%ebx
2194         movl    8(%esp),%edi
2195         xorl    %ecx,%edx
2196         movl    %ebx,80(%esp)
2197         xorl    %edi,%esi
2198         rorl    $5,%edx
2199         andl    %ecx,%esi
2200         movl    %ecx,(%esp)
2201         xorl    %ecx,%edx
2202         addl    12(%esp),%ebx
2203         xorl    %esi,%edi
2204         rorl    $6,%edx
2205         movl    %eax,%ecx
2206         addl    %edi,%ebx
2207         rorl    $9,%ecx
2208         movl    %eax,%esi
2209         movl    20(%esp),%edi
2210         xorl    %eax,%ecx
2211         movl    %eax,16(%esp)
2212         xorl    %edi,%eax
2213         rorl    $11,%ecx
2214         andl    %eax,%ebp
2215         leal    3516065817(%ebx,%edx,1),%edx
2216         xorl    %esi,%ecx
2217         xorl    %edi,%ebp
2218         movl    88(%esp),%esi
2219         rorl    $2,%ecx
2220         addl    %edx,%ebp
2221         addl    28(%esp),%edx
2222         addl    %ecx,%ebp
2223         movl    76(%esp),%ecx
2224         movl    %esi,%ebx
2225         rorl    $11,%esi
2226         movl    %ecx,%edi
2227         rorl    $2,%ecx
2228         xorl    %ebx,%esi
2229         shrl    $3,%ebx
2230         rorl    $7,%esi
2231         xorl    %edi,%ecx
2232         xorl    %esi,%ebx
2233         rorl    $17,%ecx
2234         addl    84(%esp),%ebx
2235         shrl    $10,%edi
2236         addl    56(%esp),%ebx
2237         movl    %edx,%esi
2238         xorl    %ecx,%edi
2239         movl    (%esp),%ecx
2240         rorl    $14,%edx
2241         addl    %edi,%ebx
2242         movl    4(%esp),%edi
2243         xorl    %esi,%edx
2244         movl    %ebx,84(%esp)
2245         xorl    %edi,%ecx
2246         rorl    $5,%edx
2247         andl    %esi,%ecx
2248         movl    %esi,28(%esp)
2249         xorl    %esi,%edx
2250         addl    8(%esp),%ebx
2251         xorl    %ecx,%edi
2252         rorl    $6,%edx
2253         movl    %ebp,%esi
2254         addl    %edi,%ebx
2255         rorl    $9,%esi
2256         movl    %ebp,%ecx
2257         movl    16(%esp),%edi
2258         xorl    %ebp,%esi
2259         movl    %ebp,12(%esp)
2260         xorl    %edi,%ebp
2261         rorl    $11,%esi
2262         andl    %ebp,%eax
2263         leal    3600352804(%ebx,%edx,1),%edx
2264         xorl    %ecx,%esi
2265         xorl    %edi,%eax
2266         movl    92(%esp),%ecx
2267         rorl    $2,%esi
2268         addl    %edx,%eax
2269         addl    24(%esp),%edx
2270         addl    %esi,%eax
2271         movl    80(%esp),%esi
2272         movl    %ecx,%ebx
2273         rorl    $11,%ecx
2274         movl    %esi,%edi
2275         rorl    $2,%esi
2276         xorl    %ebx,%ecx
2277         shrl    $3,%ebx
2278         rorl    $7,%ecx
2279         xorl    %edi,%esi
2280         xorl    %ecx,%ebx
2281         rorl    $17,%esi
2282         addl    88(%esp),%ebx
2283         shrl    $10,%edi
2284         addl    60(%esp),%ebx
2285         movl    %edx,%ecx
2286         xorl    %esi,%edi
2287         movl    28(%esp),%esi
2288         rorl    $14,%edx
2289         addl    %edi,%ebx
2290         movl    (%esp),%edi
2291         xorl    %ecx,%edx
2292         movl    %ebx,88(%esp)
2293         xorl    %edi,%esi
2294         rorl    $5,%edx
2295         andl    %ecx,%esi
2296         movl    %ecx,24(%esp)
2297         xorl    %ecx,%edx
2298         addl    4(%esp),%ebx
2299         xorl    %esi,%edi
2300         rorl    $6,%edx
2301         movl    %eax,%ecx
2302         addl    %edi,%ebx
2303         rorl    $9,%ecx
2304         movl    %eax,%esi
2305         movl    12(%esp),%edi
2306         xorl    %eax,%ecx
2307         movl    %eax,8(%esp)
2308         xorl    %edi,%eax
2309         rorl    $11,%ecx
2310         andl    %eax,%ebp
2311         leal    4094571909(%ebx,%edx,1),%edx
2312         xorl    %esi,%ecx
2313         xorl    %edi,%ebp
2314         movl    32(%esp),%esi
2315         rorl    $2,%ecx
2316         addl    %edx,%ebp
2317         addl    20(%esp),%edx
2318         addl    %ecx,%ebp
2319         movl    84(%esp),%ecx
2320         movl    %esi,%ebx
2321         rorl    $11,%esi
2322         movl    %ecx,%edi
2323         rorl    $2,%ecx
2324         xorl    %ebx,%esi
2325         shrl    $3,%ebx
2326         rorl    $7,%esi
2327         xorl    %edi,%ecx
2328         xorl    %esi,%ebx
2329         rorl    $17,%ecx
2330         addl    92(%esp),%ebx
2331         shrl    $10,%edi
2332         addl    64(%esp),%ebx
2333         movl    %edx,%esi
2334         xorl    %ecx,%edi
2335         movl    24(%esp),%ecx
2336         rorl    $14,%edx
2337         addl    %edi,%ebx
2338         movl    28(%esp),%edi
2339         xorl    %esi,%edx
2340         movl    %ebx,92(%esp)
2341         xorl    %edi,%ecx
2342         rorl    $5,%edx
2343         andl    %esi,%ecx
2344         movl    %esi,20(%esp)
2345         xorl    %esi,%edx
2346         addl    (%esp),%ebx
2347         xorl    %ecx,%edi
2348         rorl    $6,%edx
2349         movl    %ebp,%esi
2350         addl    %edi,%ebx
2351         rorl    $9,%esi
2352         movl    %ebp,%ecx
2353         movl    8(%esp),%edi
2354         xorl    %ebp,%esi
2355         movl    %ebp,4(%esp)
2356         xorl    %edi,%ebp
2357         rorl    $11,%esi
2358         andl    %ebp,%eax
2359         leal    275423344(%ebx,%edx,1),%edx
2360         xorl    %ecx,%esi
2361         xorl    %edi,%eax
2362         movl    36(%esp),%ecx
2363         rorl    $2,%esi
2364         addl    %edx,%eax
2365         addl    16(%esp),%edx
2366         addl    %esi,%eax
2367         movl    88(%esp),%esi
2368         movl    %ecx,%ebx
2369         rorl    $11,%ecx
2370         movl    %esi,%edi
2371         rorl    $2,%esi
2372         xorl    %ebx,%ecx
2373         shrl    $3,%ebx
2374         rorl    $7,%ecx
2375         xorl    %edi,%esi
2376         xorl    %ecx,%ebx
2377         rorl    $17,%esi
2378         addl    32(%esp),%ebx
2379         shrl    $10,%edi
2380         addl    68(%esp),%ebx
2381         movl    %edx,%ecx
2382         xorl    %esi,%edi
2383         movl    20(%esp),%esi
2384         rorl    $14,%edx
2385         addl    %edi,%ebx
2386         movl    24(%esp),%edi
2387         xorl    %ecx,%edx
2388         movl    %ebx,32(%esp)
2389         xorl    %edi,%esi
2390         rorl    $5,%edx
2391         andl    %ecx,%esi
2392         movl    %ecx,16(%esp)
2393         xorl    %ecx,%edx
2394         addl    28(%esp),%ebx
2395         xorl    %esi,%edi
2396         rorl    $6,%edx
2397         movl    %eax,%ecx
2398         addl    %edi,%ebx
2399         rorl    $9,%ecx
2400         movl    %eax,%esi
2401         movl    4(%esp),%edi
2402         xorl    %eax,%ecx
2403         movl    %eax,(%esp)
2404         xorl    %edi,%eax
2405         rorl    $11,%ecx
2406         andl    %eax,%ebp
2407         leal    430227734(%ebx,%edx,1),%edx
2408         xorl    %esi,%ecx
2409         xorl    %edi,%ebp
2410         movl    40(%esp),%esi
2411         rorl    $2,%ecx
2412         addl    %edx,%ebp
2413         addl    12(%esp),%edx
2414         addl    %ecx,%ebp
2415         movl    92(%esp),%ecx
2416         movl    %esi,%ebx
2417         rorl    $11,%esi
2418         movl    %ecx,%edi
2419         rorl    $2,%ecx
2420         xorl    %ebx,%esi
2421         shrl    $3,%ebx
2422         rorl    $7,%esi
2423         xorl    %edi,%ecx
2424         xorl    %esi,%ebx
2425         rorl    $17,%ecx
2426         addl    36(%esp),%ebx
2427         shrl    $10,%edi
2428         addl    72(%esp),%ebx
2429         movl    %edx,%esi
2430         xorl    %ecx,%edi
2431         movl    16(%esp),%ecx
2432         rorl    $14,%edx
2433         addl    %edi,%ebx
2434         movl    20(%esp),%edi
2435         xorl    %esi,%edx
2436         movl    %ebx,36(%esp)
2437         xorl    %edi,%ecx
2438         rorl    $5,%edx
2439         andl    %esi,%ecx
2440         movl    %esi,12(%esp)
2441         xorl    %esi,%edx
2442         addl    24(%esp),%ebx
2443         xorl    %ecx,%edi
2444         rorl    $6,%edx
2445         movl    %ebp,%esi
2446         addl    %edi,%ebx
2447         rorl    $9,%esi
2448         movl    %ebp,%ecx
2449         movl    (%esp),%edi
2450         xorl    %ebp,%esi
2451         movl    %ebp,28(%esp)
2452         xorl    %edi,%ebp
2453         rorl    $11,%esi
2454         andl    %ebp,%eax
2455         leal    506948616(%ebx,%edx,1),%edx
2456         xorl    %ecx,%esi
2457         xorl    %edi,%eax
2458         movl    44(%esp),%ecx
2459         rorl    $2,%esi
2460         addl    %edx,%eax
2461         addl    8(%esp),%edx
2462         addl    %esi,%eax
2463         movl    32(%esp),%esi
2464         movl    %ecx,%ebx
2465         rorl    $11,%ecx
2466         movl    %esi,%edi
2467         rorl    $2,%esi
2468         xorl    %ebx,%ecx
2469         shrl    $3,%ebx
2470         rorl    $7,%ecx
2471         xorl    %edi,%esi
2472         xorl    %ecx,%ebx
2473         rorl    $17,%esi
2474         addl    40(%esp),%ebx
2475         shrl    $10,%edi
2476         addl    76(%esp),%ebx
2477         movl    %edx,%ecx
2478         xorl    %esi,%edi
2479         movl    12(%esp),%esi
2480         rorl    $14,%edx
2481         addl    %edi,%ebx
2482         movl    16(%esp),%edi
2483         xorl    %ecx,%edx
2484         movl    %ebx,40(%esp)
2485         xorl    %edi,%esi
2486         rorl    $5,%edx
2487         andl    %ecx,%esi
2488         movl    %ecx,8(%esp)
2489         xorl    %ecx,%edx
2490         addl    20(%esp),%ebx
2491         xorl    %esi,%edi
2492         rorl    $6,%edx
2493         movl    %eax,%ecx
2494         addl    %edi,%ebx
2495         rorl    $9,%ecx
2496         movl    %eax,%esi
2497         movl    28(%esp),%edi
2498         xorl    %eax,%ecx
2499         movl    %eax,24(%esp)
2500         xorl    %edi,%eax
2501         rorl    $11,%ecx
2502         andl    %eax,%ebp
2503         leal    659060556(%ebx,%edx,1),%edx
2504         xorl    %esi,%ecx
2505         xorl    %edi,%ebp
2506         movl    48(%esp),%esi
2507         rorl    $2,%ecx
2508         addl    %edx,%ebp
2509         addl    4(%esp),%edx
2510         addl    %ecx,%ebp
2511         movl    36(%esp),%ecx
2512         movl    %esi,%ebx
2513         rorl    $11,%esi
2514         movl    %ecx,%edi
2515         rorl    $2,%ecx
2516         xorl    %ebx,%esi
2517         shrl    $3,%ebx
2518         rorl    $7,%esi
2519         xorl    %edi,%ecx
2520         xorl    %esi,%ebx
2521         rorl    $17,%ecx
2522         addl    44(%esp),%ebx
2523         shrl    $10,%edi
2524         addl    80(%esp),%ebx
2525         movl    %edx,%esi
2526         xorl    %ecx,%edi
2527         movl    8(%esp),%ecx
2528         rorl    $14,%edx
2529         addl    %edi,%ebx
2530         movl    12(%esp),%edi
2531         xorl    %esi,%edx
2532         movl    %ebx,44(%esp)
2533         xorl    %edi,%ecx
2534         rorl    $5,%edx
2535         andl    %esi,%ecx
2536         movl    %esi,4(%esp)
2537         xorl    %esi,%edx
2538         addl    16(%esp),%ebx
2539         xorl    %ecx,%edi
2540         rorl    $6,%edx
2541         movl    %ebp,%esi
2542         addl    %edi,%ebx
2543         rorl    $9,%esi
2544         movl    %ebp,%ecx
2545         movl    24(%esp),%edi
2546         xorl    %ebp,%esi
2547         movl    %ebp,20(%esp)
2548         xorl    %edi,%ebp
2549         rorl    $11,%esi
2550         andl    %ebp,%eax
2551         leal    883997877(%ebx,%edx,1),%edx
2552         xorl    %ecx,%esi
2553         xorl    %edi,%eax
2554         movl    52(%esp),%ecx
2555         rorl    $2,%esi
2556         addl    %edx,%eax
2557         addl    (%esp),%edx
2558         addl    %esi,%eax
2559         movl    40(%esp),%esi
2560         movl    %ecx,%ebx
2561         rorl    $11,%ecx
2562         movl    %esi,%edi
2563         rorl    $2,%esi
2564         xorl    %ebx,%ecx
2565         shrl    $3,%ebx
2566         rorl    $7,%ecx
2567         xorl    %edi,%esi
2568         xorl    %ecx,%ebx
2569         rorl    $17,%esi
2570         addl    48(%esp),%ebx
2571         shrl    $10,%edi
2572         addl    84(%esp),%ebx
2573         movl    %edx,%ecx
2574         xorl    %esi,%edi
2575         movl    4(%esp),%esi
2576         rorl    $14,%edx
2577         addl    %edi,%ebx
2578         movl    8(%esp),%edi
2579         xorl    %ecx,%edx
2580         movl    %ebx,48(%esp)
2581         xorl    %edi,%esi
2582         rorl    $5,%edx
2583         andl    %ecx,%esi
2584         movl    %ecx,(%esp)
2585         xorl    %ecx,%edx
2586         addl    12(%esp),%ebx
2587         xorl    %esi,%edi
2588         rorl    $6,%edx
2589         movl    %eax,%ecx
2590         addl    %edi,%ebx
2591         rorl    $9,%ecx
2592         movl    %eax,%esi
2593         movl    20(%esp),%edi
2594         xorl    %eax,%ecx
2595         movl    %eax,16(%esp)
2596         xorl    %edi,%eax
2597         rorl    $11,%ecx
2598         andl    %eax,%ebp
2599         leal    958139571(%ebx,%edx,1),%edx
2600         xorl    %esi,%ecx
2601         xorl    %edi,%ebp
2602         movl    56(%esp),%esi
2603         rorl    $2,%ecx
2604         addl    %edx,%ebp
2605         addl    28(%esp),%edx
2606         addl    %ecx,%ebp
2607         movl    44(%esp),%ecx
2608         movl    %esi,%ebx
2609         rorl    $11,%esi
2610         movl    %ecx,%edi
2611         rorl    $2,%ecx
2612         xorl    %ebx,%esi
2613         shrl    $3,%ebx
2614         rorl    $7,%esi
2615         xorl    %edi,%ecx
2616         xorl    %esi,%ebx
2617         rorl    $17,%ecx
2618         addl    52(%esp),%ebx
2619         shrl    $10,%edi
2620         addl    88(%esp),%ebx
2621         movl    %edx,%esi
2622         xorl    %ecx,%edi
2623         movl    (%esp),%ecx
2624         rorl    $14,%edx
2625         addl    %edi,%ebx
2626         movl    4(%esp),%edi
2627         xorl    %esi,%edx
2628         movl    %ebx,52(%esp)
2629         xorl    %edi,%ecx
2630         rorl    $5,%edx
2631         andl    %esi,%ecx
2632         movl    %esi,28(%esp)
2633         xorl    %esi,%edx
2634         addl    8(%esp),%ebx
2635         xorl    %ecx,%edi
2636         rorl    $6,%edx
2637         movl    %ebp,%esi
2638         addl    %edi,%ebx
2639         rorl    $9,%esi
2640         movl    %ebp,%ecx
2641         movl    16(%esp),%edi
2642         xorl    %ebp,%esi
2643         movl    %ebp,12(%esp)
2644         xorl    %edi,%ebp
2645         rorl    $11,%esi
2646         andl    %ebp,%eax
2647         leal    1322822218(%ebx,%edx,1),%edx
2648         xorl    %ecx,%esi
2649         xorl    %edi,%eax
2650         movl    60(%esp),%ecx
2651         rorl    $2,%esi
2652         addl    %edx,%eax
2653         addl    24(%esp),%edx
2654         addl    %esi,%eax
2655         movl    48(%esp),%esi
2656         movl    %ecx,%ebx
2657         rorl    $11,%ecx
2658         movl    %esi,%edi
2659         rorl    $2,%esi
2660         xorl    %ebx,%ecx
2661         shrl    $3,%ebx
2662         rorl    $7,%ecx
2663         xorl    %edi,%esi
2664         xorl    %ecx,%ebx
2665         rorl    $17,%esi
2666         addl    56(%esp),%ebx
2667         shrl    $10,%edi
2668         addl    92(%esp),%ebx
2669         movl    %edx,%ecx
2670         xorl    %esi,%edi
2671         movl    28(%esp),%esi
2672         rorl    $14,%edx
2673         addl    %edi,%ebx
2674         movl    (%esp),%edi
2675         xorl    %ecx,%edx
2676         movl    %ebx,56(%esp)
2677         xorl    %edi,%esi
2678         rorl    $5,%edx
2679         andl    %ecx,%esi
2680         movl    %ecx,24(%esp)
2681         xorl    %ecx,%edx
2682         addl    4(%esp),%ebx
2683         xorl    %esi,%edi
2684         rorl    $6,%edx
2685         movl    %eax,%ecx
2686         addl    %edi,%ebx
2687         rorl    $9,%ecx
2688         movl    %eax,%esi
2689         movl    12(%esp),%edi
2690         xorl    %eax,%ecx
2691         movl    %eax,8(%esp)
2692         xorl    %edi,%eax
2693         rorl    $11,%ecx
2694         andl    %eax,%ebp
2695         leal    1537002063(%ebx,%edx,1),%edx
2696         xorl    %esi,%ecx
2697         xorl    %edi,%ebp
2698         movl    64(%esp),%esi
2699         rorl    $2,%ecx
2700         addl    %edx,%ebp
2701         addl    20(%esp),%edx
2702         addl    %ecx,%ebp
2703         movl    52(%esp),%ecx
2704         movl    %esi,%ebx
2705         rorl    $11,%esi
2706         movl    %ecx,%edi
2707         rorl    $2,%ecx
2708         xorl    %ebx,%esi
2709         shrl    $3,%ebx
2710         rorl    $7,%esi
2711         xorl    %edi,%ecx
2712         xorl    %esi,%ebx
2713         rorl    $17,%ecx
2714         addl    60(%esp),%ebx
2715         shrl    $10,%edi
2716         addl    32(%esp),%ebx
2717         movl    %edx,%esi
2718         xorl    %ecx,%edi
2719         movl    24(%esp),%ecx
2720         rorl    $14,%edx
2721         addl    %edi,%ebx
2722         movl    28(%esp),%edi
2723         xorl    %esi,%edx
2724         movl    %ebx,60(%esp)
2725         xorl    %edi,%ecx
2726         rorl    $5,%edx
2727         andl    %esi,%ecx
2728         movl    %esi,20(%esp)
2729         xorl    %esi,%edx
2730         addl    (%esp),%ebx
2731         xorl    %ecx,%edi
2732         rorl    $6,%edx
2733         movl    %ebp,%esi
2734         addl    %edi,%ebx
2735         rorl    $9,%esi
2736         movl    %ebp,%ecx
2737         movl    8(%esp),%edi
2738         xorl    %ebp,%esi
2739         movl    %ebp,4(%esp)
2740         xorl    %edi,%ebp
2741         rorl    $11,%esi
2742         andl    %ebp,%eax
2743         leal    1747873779(%ebx,%edx,1),%edx
2744         xorl    %ecx,%esi
2745         xorl    %edi,%eax
2746         movl    68(%esp),%ecx
2747         rorl    $2,%esi
2748         addl    %edx,%eax
2749         addl    16(%esp),%edx
2750         addl    %esi,%eax
2751         movl    56(%esp),%esi
2752         movl    %ecx,%ebx
2753         rorl    $11,%ecx
2754         movl    %esi,%edi
2755         rorl    $2,%esi
2756         xorl    %ebx,%ecx
2757         shrl    $3,%ebx
2758         rorl    $7,%ecx
2759         xorl    %edi,%esi
2760         xorl    %ecx,%ebx
2761         rorl    $17,%esi
2762         addl    64(%esp),%ebx
2763         shrl    $10,%edi
2764         addl    36(%esp),%ebx
2765         movl    %edx,%ecx
2766         xorl    %esi,%edi
2767         movl    20(%esp),%esi
2768         rorl    $14,%edx
2769         addl    %edi,%ebx
2770         movl    24(%esp),%edi
2771         xorl    %ecx,%edx
2772         movl    %ebx,64(%esp)
2773         xorl    %edi,%esi
2774         rorl    $5,%edx
2775         andl    %ecx,%esi
2776         movl    %ecx,16(%esp)
2777         xorl    %ecx,%edx
2778         addl    28(%esp),%ebx
2779         xorl    %esi,%edi
2780         rorl    $6,%edx
2781         movl    %eax,%ecx
2782         addl    %edi,%ebx
2783         rorl    $9,%ecx
2784         movl    %eax,%esi
2785         movl    4(%esp),%edi
2786         xorl    %eax,%ecx
2787         movl    %eax,(%esp)
2788         xorl    %edi,%eax
2789         rorl    $11,%ecx
2790         andl    %eax,%ebp
2791         leal    1955562222(%ebx,%edx,1),%edx
2792         xorl    %esi,%ecx
2793         xorl    %edi,%ebp
2794         movl    72(%esp),%esi
2795         rorl    $2,%ecx
2796         addl    %edx,%ebp
2797         addl    12(%esp),%edx
2798         addl    %ecx,%ebp
2799         movl    60(%esp),%ecx
2800         movl    %esi,%ebx
2801         rorl    $11,%esi
2802         movl    %ecx,%edi
2803         rorl    $2,%ecx
2804         xorl    %ebx,%esi
2805         shrl    $3,%ebx
2806         rorl    $7,%esi
2807         xorl    %edi,%ecx
2808         xorl    %esi,%ebx
2809         rorl    $17,%ecx
2810         addl    68(%esp),%ebx
2811         shrl    $10,%edi
2812         addl    40(%esp),%ebx
2813         movl    %edx,%esi
2814         xorl    %ecx,%edi
2815         movl    16(%esp),%ecx
2816         rorl    $14,%edx
2817         addl    %edi,%ebx
2818         movl    20(%esp),%edi
2819         xorl    %esi,%edx
2820         movl    %ebx,68(%esp)
2821         xorl    %edi,%ecx
2822         rorl    $5,%edx
2823         andl    %esi,%ecx
2824         movl    %esi,12(%esp)
2825         xorl    %esi,%edx
2826         addl    24(%esp),%ebx
2827         xorl    %ecx,%edi
2828         rorl    $6,%edx
2829         movl    %ebp,%esi
2830         addl    %edi,%ebx
2831         rorl    $9,%esi
2832         movl    %ebp,%ecx
2833         movl    (%esp),%edi
2834         xorl    %ebp,%esi
2835         movl    %ebp,28(%esp)
2836         xorl    %edi,%ebp
2837         rorl    $11,%esi
2838         andl    %ebp,%eax
2839         leal    2024104815(%ebx,%edx,1),%edx
2840         xorl    %ecx,%esi
2841         xorl    %edi,%eax
2842         movl    76(%esp),%ecx
2843         rorl    $2,%esi
2844         addl    %edx,%eax
2845         addl    8(%esp),%edx
2846         addl    %esi,%eax
2847         movl    64(%esp),%esi
2848         movl    %ecx,%ebx
2849         rorl    $11,%ecx
2850         movl    %esi,%edi
2851         rorl    $2,%esi
2852         xorl    %ebx,%ecx
2853         shrl    $3,%ebx
2854         rorl    $7,%ecx
2855         xorl    %edi,%esi
2856         xorl    %ecx,%ebx
2857         rorl    $17,%esi
2858         addl    72(%esp),%ebx
2859         shrl    $10,%edi
2860         addl    44(%esp),%ebx
2861         movl    %edx,%ecx
2862         xorl    %esi,%edi
2863         movl    12(%esp),%esi
2864         rorl    $14,%edx
2865         addl    %edi,%ebx
2866         movl    16(%esp),%edi
2867         xorl    %ecx,%edx
2868         movl    %ebx,72(%esp)
2869         xorl    %edi,%esi
2870         rorl    $5,%edx
2871         andl    %ecx,%esi
2872         movl    %ecx,8(%esp)
2873         xorl    %ecx,%edx
2874         addl    20(%esp),%ebx
2875         xorl    %esi,%edi
2876         rorl    $6,%edx
2877         movl    %eax,%ecx
2878         addl    %edi,%ebx
2879         rorl    $9,%ecx
2880         movl    %eax,%esi
2881         movl    28(%esp),%edi
2882         xorl    %eax,%ecx
2883         movl    %eax,24(%esp)
2884         xorl    %edi,%eax
2885         rorl    $11,%ecx
2886         andl    %eax,%ebp
2887         leal    2227730452(%ebx,%edx,1),%edx
2888         xorl    %esi,%ecx
2889         xorl    %edi,%ebp
2890         movl    80(%esp),%esi
2891         rorl    $2,%ecx
2892         addl    %edx,%ebp
2893         addl    4(%esp),%edx
2894         addl    %ecx,%ebp
2895         movl    68(%esp),%ecx
2896         movl    %esi,%ebx
2897         rorl    $11,%esi
2898         movl    %ecx,%edi
2899         rorl    $2,%ecx
2900         xorl    %ebx,%esi
2901         shrl    $3,%ebx
2902         rorl    $7,%esi
2903         xorl    %edi,%ecx
2904         xorl    %esi,%ebx
2905         rorl    $17,%ecx
2906         addl    76(%esp),%ebx
2907         shrl    $10,%edi
2908         addl    48(%esp),%ebx
2909         movl    %edx,%esi
2910         xorl    %ecx,%edi
2911         movl    8(%esp),%ecx
2912         rorl    $14,%edx
2913         addl    %edi,%ebx
2914         movl    12(%esp),%edi
2915         xorl    %esi,%edx
2916         movl    %ebx,76(%esp)
2917         xorl    %edi,%ecx
2918         rorl    $5,%edx
2919         andl    %esi,%ecx
2920         movl    %esi,4(%esp)
2921         xorl    %esi,%edx
2922         addl    16(%esp),%ebx
2923         xorl    %ecx,%edi
2924         rorl    $6,%edx
2925         movl    %ebp,%esi
2926         addl    %edi,%ebx
2927         rorl    $9,%esi
2928         movl    %ebp,%ecx
2929         movl    24(%esp),%edi
2930         xorl    %ebp,%esi
2931         movl    %ebp,20(%esp)
2932         xorl    %edi,%ebp
2933         rorl    $11,%esi
2934         andl    %ebp,%eax
2935         leal    2361852424(%ebx,%edx,1),%edx
2936         xorl    %ecx,%esi
2937         xorl    %edi,%eax
2938         movl    84(%esp),%ecx
2939         rorl    $2,%esi
2940         addl    %edx,%eax
2941         addl    (%esp),%edx
2942         addl    %esi,%eax
2943         movl    72(%esp),%esi
2944         movl    %ecx,%ebx
2945         rorl    $11,%ecx
2946         movl    %esi,%edi
2947         rorl    $2,%esi
2948         xorl    %ebx,%ecx
2949         shrl    $3,%ebx
2950         rorl    $7,%ecx
2951         xorl    %edi,%esi
2952         xorl    %ecx,%ebx
2953         rorl    $17,%esi
2954         addl    80(%esp),%ebx
2955         shrl    $10,%edi
2956         addl    52(%esp),%ebx
2957         movl    %edx,%ecx
2958         xorl    %esi,%edi
2959         movl    4(%esp),%esi
2960         rorl    $14,%edx
2961         addl    %edi,%ebx
2962         movl    8(%esp),%edi
2963         xorl    %ecx,%edx
2964         movl    %ebx,80(%esp)
2965         xorl    %edi,%esi
2966         rorl    $5,%edx
2967         andl    %ecx,%esi
2968         movl    %ecx,(%esp)
2969         xorl    %ecx,%edx
2970         addl    12(%esp),%ebx
2971         xorl    %esi,%edi
2972         rorl    $6,%edx
2973         movl    %eax,%ecx
2974         addl    %edi,%ebx
2975         rorl    $9,%ecx
2976         movl    %eax,%esi
2977         movl    20(%esp),%edi
2978         xorl    %eax,%ecx
2979         movl    %eax,16(%esp)
2980         xorl    %edi,%eax
2981         rorl    $11,%ecx
2982         andl    %eax,%ebp
2983         leal    2428436474(%ebx,%edx,1),%edx
2984         xorl    %esi,%ecx
2985         xorl    %edi,%ebp
2986         movl    88(%esp),%esi
2987         rorl    $2,%ecx
2988         addl    %edx,%ebp
2989         addl    28(%esp),%edx
2990         addl    %ecx,%ebp
2991         movl    76(%esp),%ecx
2992         movl    %esi,%ebx
2993         rorl    $11,%esi
2994         movl    %ecx,%edi
2995         rorl    $2,%ecx
2996         xorl    %ebx,%esi
2997         shrl    $3,%ebx
2998         rorl    $7,%esi
2999         xorl    %edi,%ecx
3000         xorl    %esi,%ebx
3001         rorl    $17,%ecx
3002         addl    84(%esp),%ebx
3003         shrl    $10,%edi
3004         addl    56(%esp),%ebx
3005         movl    %edx,%esi
3006         xorl    %ecx,%edi
3007         movl    (%esp),%ecx
3008         rorl    $14,%edx
3009         addl    %edi,%ebx
3010         movl    4(%esp),%edi
3011         xorl    %esi,%edx
3012         movl    %ebx,84(%esp)
3013         xorl    %edi,%ecx
3014         rorl    $5,%edx
3015         andl    %esi,%ecx
3016         movl    %esi,28(%esp)
3017         xorl    %esi,%edx
3018         addl    8(%esp),%ebx
3019         xorl    %ecx,%edi
3020         rorl    $6,%edx
3021         movl    %ebp,%esi
3022         addl    %edi,%ebx
3023         rorl    $9,%esi
3024         movl    %ebp,%ecx
3025         movl    16(%esp),%edi
3026         xorl    %ebp,%esi
3027         movl    %ebp,12(%esp)
3028         xorl    %edi,%ebp
3029         rorl    $11,%esi
3030         andl    %ebp,%eax
3031         leal    2756734187(%ebx,%edx,1),%edx
3032         xorl    %ecx,%esi
3033         xorl    %edi,%eax
3034         movl    92(%esp),%ecx
3035         rorl    $2,%esi
3036         addl    %edx,%eax
3037         addl    24(%esp),%edx
3038         addl    %esi,%eax
3039         movl    80(%esp),%esi
3040         movl    %ecx,%ebx
3041         rorl    $11,%ecx
3042         movl    %esi,%edi
3043         rorl    $2,%esi
3044         xorl    %ebx,%ecx
3045         shrl    $3,%ebx
3046         rorl    $7,%ecx
3047         xorl    %edi,%esi
3048         xorl    %ecx,%ebx
3049         rorl    $17,%esi
3050         addl    88(%esp),%ebx
3051         shrl    $10,%edi
3052         addl    60(%esp),%ebx
3053         movl    %edx,%ecx
3054         xorl    %esi,%edi
3055         movl    28(%esp),%esi
3056         rorl    $14,%edx
3057         addl    %edi,%ebx
3058         movl    (%esp),%edi
3059         xorl    %ecx,%edx
3060         xorl    %edi,%esi
3061         rorl    $5,%edx
3062         andl    %ecx,%esi
3063         movl    %ecx,24(%esp)
3064         xorl    %ecx,%edx
3065         addl    4(%esp),%ebx
3066         xorl    %esi,%edi
3067         rorl    $6,%edx
3068         movl    %eax,%ecx
3069         addl    %edi,%ebx
3070         rorl    $9,%ecx
3071         movl    %eax,%esi
3072         movl    12(%esp),%edi
3073         xorl    %eax,%ecx
3074         movl    %eax,8(%esp)
3075         xorl    %edi,%eax
3076         rorl    $11,%ecx
3077         andl    %eax,%ebp
3078         leal    3204031479(%ebx,%edx,1),%edx
3079         xorl    %esi,%ecx
3080         xorl    %edi,%ebp
3081         movl    32(%esp),%esi
3082         rorl    $2,%ecx
3083         addl    %edx,%ebp
3084         addl    20(%esp),%edx
3085         addl    %ecx,%ebp
3086         movl    84(%esp),%ecx
3087         movl    %esi,%ebx
3088         rorl    $11,%esi
3089         movl    %ecx,%edi
3090         rorl    $2,%ecx
3091         xorl    %ebx,%esi
3092         shrl    $3,%ebx
3093         rorl    $7,%esi
3094         xorl    %edi,%ecx
3095         xorl    %esi,%ebx
3096         rorl    $17,%ecx
3097         addl    92(%esp),%ebx
3098         shrl    $10,%edi
3099         addl    64(%esp),%ebx
3100         movl    %edx,%esi
3101         xorl    %ecx,%edi
3102         movl    24(%esp),%ecx
3103         rorl    $14,%edx
3104         addl    %edi,%ebx
3105         movl    28(%esp),%edi
3106         xorl    %esi,%edx
3107         xorl    %edi,%ecx
3108         rorl    $5,%edx
3109         andl    %esi,%ecx
3110         movl    %esi,20(%esp)
3111         xorl    %esi,%edx
3112         addl    (%esp),%ebx
3113         xorl    %ecx,%edi
3114         rorl    $6,%edx
3115         movl    %ebp,%esi
3116         addl    %edi,%ebx
3117         rorl    $9,%esi
3118         movl    %ebp,%ecx
3119         movl    8(%esp),%edi
3120         xorl    %ebp,%esi
3121         movl    %ebp,4(%esp)
3122         xorl    %edi,%ebp
3123         rorl    $11,%esi
3124         andl    %ebp,%eax
3125         leal    3329325298(%ebx,%edx,1),%edx
3126         xorl    %ecx,%esi
3127         xorl    %edi,%eax
3128         rorl    $2,%esi
3129         addl    %edx,%eax
3130         addl    16(%esp),%edx
3131         addl    %esi,%eax
3132         movl    96(%esp),%esi
3133         xorl    %edi,%ebp
3134         movl    12(%esp),%ecx
3135         addl    (%esi),%eax
3136         addl    4(%esi),%ebp
3137         addl    8(%esi),%edi
3138         addl    12(%esi),%ecx
3139         movl    %eax,(%esi)
3140         movl    %ebp,4(%esi)
3141         movl    %edi,8(%esi)
3142         movl    %ecx,12(%esi)
3143         movl    %ebp,4(%esp)
3144         xorl    %edi,%ebp
3145         movl    %edi,8(%esp)
3146         movl    %ecx,12(%esp)
3147         movl    20(%esp),%edi
3148         movl    24(%esp),%ebx
3149         movl    28(%esp),%ecx
3150         addl    16(%esi),%edx
3151         addl    20(%esi),%edi
3152         addl    24(%esi),%ebx
3153         addl    28(%esi),%ecx
3154         movl    %edx,16(%esi)
3155         movl    %edi,20(%esi)
3156         movl    %ebx,24(%esi)
3157         movl    %ecx,28(%esi)
3158         movl    %edi,20(%esp)
3159         movl    100(%esp),%edi
3160         movl    %ebx,24(%esp)
3161         movl    %ecx,28(%esp)
3162         cmpl    104(%esp),%edi
3163         jb      .L010grand_loop
3164         movl    108(%esp),%esp
3165         popl    %edi
3166         popl    %esi
3167         popl    %ebx
3168         popl    %ebp
3169         ret
3170 .align  32
3171 .L004shaext:
3172         subl    $32,%esp
3173         movdqu  (%esi),%xmm1
3174         leal    128(%ebp),%ebp
3175         movdqu  16(%esi),%xmm2
3176         movdqa  128(%ebp),%xmm7
3177         pshufd  $27,%xmm1,%xmm0
3178         pshufd  $177,%xmm1,%xmm1
3179         pshufd  $27,%xmm2,%xmm2
3180 .byte   102,15,58,15,202,8
3181         punpcklqdq      %xmm0,%xmm2
3182         jmp     .L011loop_shaext
3183 .align  16
3184 .L011loop_shaext:
3185         movdqu  (%edi),%xmm3
3186         movdqu  16(%edi),%xmm4
3187         movdqu  32(%edi),%xmm5
3188 .byte   102,15,56,0,223
3189         movdqu  48(%edi),%xmm6
3190         movdqa  %xmm2,16(%esp)
3191         movdqa  -128(%ebp),%xmm0
3192         paddd   %xmm3,%xmm0
3193 .byte   102,15,56,0,231
3194 .byte   15,56,203,209
3195         pshufd  $14,%xmm0,%xmm0
3196         nop
3197         movdqa  %xmm1,(%esp)
3198 .byte   15,56,203,202
3199         movdqa  -112(%ebp),%xmm0
3200         paddd   %xmm4,%xmm0
3201 .byte   102,15,56,0,239
3202 .byte   15,56,203,209
3203         pshufd  $14,%xmm0,%xmm0
3204         leal    64(%edi),%edi
3205 .byte   15,56,204,220
3206 .byte   15,56,203,202
3207         movdqa  -96(%ebp),%xmm0
3208         paddd   %xmm5,%xmm0
3209 .byte   102,15,56,0,247
3210 .byte   15,56,203,209
3211         pshufd  $14,%xmm0,%xmm0
3212         movdqa  %xmm6,%xmm7
3213 .byte   102,15,58,15,253,4
3214         nop
3215         paddd   %xmm7,%xmm3
3216 .byte   15,56,204,229
3217 .byte   15,56,203,202
3218         movdqa  -80(%ebp),%xmm0
3219         paddd   %xmm6,%xmm0
3220 .byte   15,56,205,222
3221 .byte   15,56,203,209
3222         pshufd  $14,%xmm0,%xmm0
3223         movdqa  %xmm3,%xmm7
3224 .byte   102,15,58,15,254,4
3225         nop
3226         paddd   %xmm7,%xmm4
3227 .byte   15,56,204,238
3228 .byte   15,56,203,202
3229         movdqa  -64(%ebp),%xmm0
3230         paddd   %xmm3,%xmm0
3231 .byte   15,56,205,227
3232 .byte   15,56,203,209
3233         pshufd  $14,%xmm0,%xmm0
3234         movdqa  %xmm4,%xmm7
3235 .byte   102,15,58,15,251,4
3236         nop
3237         paddd   %xmm7,%xmm5
3238 .byte   15,56,204,243
3239 .byte   15,56,203,202
3240         movdqa  -48(%ebp),%xmm0
3241         paddd   %xmm4,%xmm0
3242 .byte   15,56,205,236
3243 .byte   15,56,203,209
3244         pshufd  $14,%xmm0,%xmm0
3245         movdqa  %xmm5,%xmm7
3246 .byte   102,15,58,15,252,4
3247         nop
3248         paddd   %xmm7,%xmm6
3249 .byte   15,56,204,220
3250 .byte   15,56,203,202
3251         movdqa  -32(%ebp),%xmm0
3252         paddd   %xmm5,%xmm0
3253 .byte   15,56,205,245
3254 .byte   15,56,203,209
3255         pshufd  $14,%xmm0,%xmm0
3256         movdqa  %xmm6,%xmm7
3257 .byte   102,15,58,15,253,4
3258         nop
3259         paddd   %xmm7,%xmm3
3260 .byte   15,56,204,229
3261 .byte   15,56,203,202
3262         movdqa  -16(%ebp),%xmm0
3263         paddd   %xmm6,%xmm0
3264 .byte   15,56,205,222
3265 .byte   15,56,203,209
3266         pshufd  $14,%xmm0,%xmm0
3267         movdqa  %xmm3,%xmm7
3268 .byte   102,15,58,15,254,4
3269         nop
3270         paddd   %xmm7,%xmm4
3271 .byte   15,56,204,238
3272 .byte   15,56,203,202
3273         movdqa  (%ebp),%xmm0
3274         paddd   %xmm3,%xmm0
3275 .byte   15,56,205,227
3276 .byte   15,56,203,209
3277         pshufd  $14,%xmm0,%xmm0
3278         movdqa  %xmm4,%xmm7
3279 .byte   102,15,58,15,251,4
3280         nop
3281         paddd   %xmm7,%xmm5
3282 .byte   15,56,204,243
3283 .byte   15,56,203,202
3284         movdqa  16(%ebp),%xmm0
3285         paddd   %xmm4,%xmm0
3286 .byte   15,56,205,236
3287 .byte   15,56,203,209
3288         pshufd  $14,%xmm0,%xmm0
3289         movdqa  %xmm5,%xmm7
3290 .byte   102,15,58,15,252,4
3291         nop
3292         paddd   %xmm7,%xmm6
3293 .byte   15,56,204,220
3294 .byte   15,56,203,202
3295         movdqa  32(%ebp),%xmm0
3296         paddd   %xmm5,%xmm0
3297 .byte   15,56,205,245
3298 .byte   15,56,203,209
3299         pshufd  $14,%xmm0,%xmm0
3300         movdqa  %xmm6,%xmm7
3301 .byte   102,15,58,15,253,4
3302         nop
3303         paddd   %xmm7,%xmm3
3304 .byte   15,56,204,229
3305 .byte   15,56,203,202
3306         movdqa  48(%ebp),%xmm0
3307         paddd   %xmm6,%xmm0
3308 .byte   15,56,205,222
3309 .byte   15,56,203,209
3310         pshufd  $14,%xmm0,%xmm0
3311         movdqa  %xmm3,%xmm7
3312 .byte   102,15,58,15,254,4
3313         nop
3314         paddd   %xmm7,%xmm4
3315 .byte   15,56,204,238
3316 .byte   15,56,203,202
3317         movdqa  64(%ebp),%xmm0
3318         paddd   %xmm3,%xmm0
3319 .byte   15,56,205,227
3320 .byte   15,56,203,209
3321         pshufd  $14,%xmm0,%xmm0
3322         movdqa  %xmm4,%xmm7
3323 .byte   102,15,58,15,251,4
3324         nop
3325         paddd   %xmm7,%xmm5
3326 .byte   15,56,204,243
3327 .byte   15,56,203,202
3328         movdqa  80(%ebp),%xmm0
3329         paddd   %xmm4,%xmm0
3330 .byte   15,56,205,236
3331 .byte   15,56,203,209
3332         pshufd  $14,%xmm0,%xmm0
3333         movdqa  %xmm5,%xmm7
3334 .byte   102,15,58,15,252,4
3335 .byte   15,56,203,202
3336         paddd   %xmm7,%xmm6
3337         movdqa  96(%ebp),%xmm0
3338         paddd   %xmm5,%xmm0
3339 .byte   15,56,203,209
3340         pshufd  $14,%xmm0,%xmm0
3341 .byte   15,56,205,245
3342         movdqa  128(%ebp),%xmm7
3343 .byte   15,56,203,202
3344         movdqa  112(%ebp),%xmm0
3345         paddd   %xmm6,%xmm0
3346         nop
3347 .byte   15,56,203,209
3348         pshufd  $14,%xmm0,%xmm0
3349         cmpl    %edi,%eax
3350         nop
3351 .byte   15,56,203,202
3352         paddd   16(%esp),%xmm2
3353         paddd   (%esp),%xmm1
3354         jnz     .L011loop_shaext
3355         pshufd  $177,%xmm2,%xmm2
3356         pshufd  $27,%xmm1,%xmm7
3357         pshufd  $177,%xmm1,%xmm1
3358         punpckhqdq      %xmm2,%xmm1
3359 .byte   102,15,58,15,215,8
3360         movl    44(%esp),%esp
3361         movdqu  %xmm1,(%esi)
3362         movdqu  %xmm2,16(%esi)
3363         popl    %edi
3364         popl    %esi
3365         popl    %ebx
3366         popl    %ebp
3367         ret
3368 .align  32
3369 .L006SSSE3:
3370         leal    -96(%esp),%esp
3371         movl    (%esi),%eax
3372         movl    4(%esi),%ebx
3373         movl    8(%esi),%ecx
3374         movl    12(%esi),%edi
3375         movl    %ebx,4(%esp)
3376         xorl    %ecx,%ebx
3377         movl    %ecx,8(%esp)
3378         movl    %edi,12(%esp)
3379         movl    16(%esi),%edx
3380         movl    20(%esi),%edi
3381         movl    24(%esi),%ecx
3382         movl    28(%esi),%esi
3383         movl    %edi,20(%esp)
3384         movl    100(%esp),%edi
3385         movl    %ecx,24(%esp)
3386         movl    %esi,28(%esp)
3387         movdqa  256(%ebp),%xmm7
3388         jmp     .L012grand_ssse3
3389 .align  16
3390 .L012grand_ssse3:
3391         movdqu  (%edi),%xmm0
3392         movdqu  16(%edi),%xmm1
3393         movdqu  32(%edi),%xmm2
3394         movdqu  48(%edi),%xmm3
3395         addl    $64,%edi
3396 .byte   102,15,56,0,199
3397         movl    %edi,100(%esp)
3398 .byte   102,15,56,0,207
3399         movdqa  (%ebp),%xmm4
3400 .byte   102,15,56,0,215
3401         movdqa  16(%ebp),%xmm5
3402         paddd   %xmm0,%xmm4
3403 .byte   102,15,56,0,223
3404         movdqa  32(%ebp),%xmm6
3405         paddd   %xmm1,%xmm5
3406         movdqa  48(%ebp),%xmm7
3407         movdqa  %xmm4,32(%esp)
3408         paddd   %xmm2,%xmm6
3409         movdqa  %xmm5,48(%esp)
3410         paddd   %xmm3,%xmm7
3411         movdqa  %xmm6,64(%esp)
3412         movdqa  %xmm7,80(%esp)
3413         jmp     .L013ssse3_00_47
3414 .align  16
3415 .L013ssse3_00_47:
3416         addl    $64,%ebp
3417         movl    %edx,%ecx
3418         movdqa  %xmm1,%xmm4
3419         rorl    $14,%edx
3420         movl    20(%esp),%esi
3421         movdqa  %xmm3,%xmm7
3422         xorl    %ecx,%edx
3423         movl    24(%esp),%edi
3424 .byte   102,15,58,15,224,4
3425         xorl    %edi,%esi
3426         rorl    $5,%edx
3427         andl    %ecx,%esi
3428 .byte   102,15,58,15,250,4
3429         movl    %ecx,16(%esp)
3430         xorl    %ecx,%edx
3431         xorl    %esi,%edi
3432         movdqa  %xmm4,%xmm5
3433         rorl    $6,%edx
3434         movl    %eax,%ecx
3435         movdqa  %xmm4,%xmm6
3436         addl    %edi,%edx
3437         movl    4(%esp),%edi
3438         psrld   $3,%xmm4
3439         movl    %eax,%esi
3440         rorl    $9,%ecx
3441         paddd   %xmm7,%xmm0
3442         movl    %eax,(%esp)
3443         xorl    %eax,%ecx
3444         psrld   $7,%xmm6
3445         xorl    %edi,%eax
3446         addl    28(%esp),%edx
3447         rorl    $11,%ecx
3448         andl    %eax,%ebx
3449         pshufd  $250,%xmm3,%xmm7
3450         xorl    %esi,%ecx
3451         addl    32(%esp),%edx
3452         pslld   $14,%xmm5
3453         xorl    %edi,%ebx
3454         rorl    $2,%ecx
3455         pxor    %xmm6,%xmm4
3456         addl    %edx,%ebx
3457         addl    12(%esp),%edx
3458         psrld   $11,%xmm6
3459         addl    %ecx,%ebx
3460         movl    %edx,%ecx
3461         rorl    $14,%edx
3462         pxor    %xmm5,%xmm4
3463         movl    16(%esp),%esi
3464         xorl    %ecx,%edx
3465         pslld   $11,%xmm5
3466         movl    20(%esp),%edi
3467         xorl    %edi,%esi
3468         rorl    $5,%edx
3469         pxor    %xmm6,%xmm4
3470         andl    %ecx,%esi
3471         movl    %ecx,12(%esp)
3472         movdqa  %xmm7,%xmm6
3473         xorl    %ecx,%edx
3474         xorl    %esi,%edi
3475         rorl    $6,%edx
3476         pxor    %xmm5,%xmm4
3477         movl    %ebx,%ecx
3478         addl    %edi,%edx
3479         psrld   $10,%xmm7
3480         movl    (%esp),%edi
3481         movl    %ebx,%esi
3482         rorl    $9,%ecx
3483         paddd   %xmm4,%xmm0
3484         movl    %ebx,28(%esp)
3485         xorl    %ebx,%ecx
3486         psrlq   $17,%xmm6
3487         xorl    %edi,%ebx
3488         addl    24(%esp),%edx
3489         rorl    $11,%ecx
3490         pxor    %xmm6,%xmm7
3491         andl    %ebx,%eax
3492         xorl    %esi,%ecx
3493         psrlq   $2,%xmm6
3494         addl    36(%esp),%edx
3495         xorl    %edi,%eax
3496         rorl    $2,%ecx
3497         pxor    %xmm6,%xmm7
3498         addl    %edx,%eax
3499         addl    8(%esp),%edx
3500         pshufd  $128,%xmm7,%xmm7
3501         addl    %ecx,%eax
3502         movl    %edx,%ecx
3503         rorl    $14,%edx
3504         movl    12(%esp),%esi
3505         xorl    %ecx,%edx
3506         movl    16(%esp),%edi
3507         xorl    %edi,%esi
3508         rorl    $5,%edx
3509         andl    %ecx,%esi
3510         psrldq  $8,%xmm7
3511         movl    %ecx,8(%esp)
3512         xorl    %ecx,%edx
3513         xorl    %esi,%edi
3514         paddd   %xmm7,%xmm0
3515         rorl    $6,%edx
3516         movl    %eax,%ecx
3517         addl    %edi,%edx
3518         movl    28(%esp),%edi
3519         movl    %eax,%esi
3520         rorl    $9,%ecx
3521         movl    %eax,24(%esp)
3522         pshufd  $80,%xmm0,%xmm7
3523         xorl    %eax,%ecx
3524         xorl    %edi,%eax
3525         addl    20(%esp),%edx
3526         movdqa  %xmm7,%xmm6
3527         rorl    $11,%ecx
3528         psrld   $10,%xmm7
3529         andl    %eax,%ebx
3530         psrlq   $17,%xmm6
3531         xorl    %esi,%ecx
3532         addl    40(%esp),%edx
3533         xorl    %edi,%ebx
3534         rorl    $2,%ecx
3535         pxor    %xmm6,%xmm7
3536         addl    %edx,%ebx
3537         addl    4(%esp),%edx
3538         psrlq   $2,%xmm6
3539         addl    %ecx,%ebx
3540         movl    %edx,%ecx
3541         rorl    $14,%edx
3542         pxor    %xmm6,%xmm7
3543         movl    8(%esp),%esi
3544         xorl    %ecx,%edx
3545         movl    12(%esp),%edi
3546         pshufd  $8,%xmm7,%xmm7
3547         xorl    %edi,%esi
3548         rorl    $5,%edx
3549         movdqa  (%ebp),%xmm6
3550         andl    %ecx,%esi
3551         movl    %ecx,4(%esp)
3552         pslldq  $8,%xmm7
3553         xorl    %ecx,%edx
3554         xorl    %esi,%edi
3555         rorl    $6,%edx
3556         movl    %ebx,%ecx
3557         addl    %edi,%edx
3558         movl    24(%esp),%edi
3559         movl    %ebx,%esi
3560         rorl    $9,%ecx
3561         paddd   %xmm7,%xmm0
3562         movl    %ebx,20(%esp)
3563         xorl    %ebx,%ecx
3564         xorl    %edi,%ebx
3565         addl    16(%esp),%edx
3566         paddd   %xmm0,%xmm6
3567         rorl    $11,%ecx
3568         andl    %ebx,%eax
3569         xorl    %esi,%ecx
3570         addl    44(%esp),%edx
3571         xorl    %edi,%eax
3572         rorl    $2,%ecx
3573         addl    %edx,%eax
3574         addl    (%esp),%edx
3575         addl    %ecx,%eax
3576         movdqa  %xmm6,32(%esp)
3577         movl    %edx,%ecx
3578         movdqa  %xmm2,%xmm4
3579         rorl    $14,%edx
3580         movl    4(%esp),%esi
3581         movdqa  %xmm0,%xmm7
3582         xorl    %ecx,%edx
3583         movl    8(%esp),%edi
3584 .byte   102,15,58,15,225,4
3585         xorl    %edi,%esi
3586         rorl    $5,%edx
3587         andl    %ecx,%esi
3588 .byte   102,15,58,15,251,4
3589         movl    %ecx,(%esp)
3590         xorl    %ecx,%edx
3591         xorl    %esi,%edi
3592         movdqa  %xmm4,%xmm5
3593         rorl    $6,%edx
3594         movl    %eax,%ecx
3595         movdqa  %xmm4,%xmm6
3596         addl    %edi,%edx
3597         movl    20(%esp),%edi
3598         psrld   $3,%xmm4
3599         movl    %eax,%esi
3600         rorl    $9,%ecx
3601         paddd   %xmm7,%xmm1
3602         movl    %eax,16(%esp)
3603         xorl    %eax,%ecx
3604         psrld   $7,%xmm6
3605         xorl    %edi,%eax
3606         addl    12(%esp),%edx
3607         rorl    $11,%ecx
3608         andl    %eax,%ebx
3609         pshufd  $250,%xmm0,%xmm7
3610         xorl    %esi,%ecx
3611         addl    48(%esp),%edx
3612         pslld   $14,%xmm5
3613         xorl    %edi,%ebx
3614         rorl    $2,%ecx
3615         pxor    %xmm6,%xmm4
3616         addl    %edx,%ebx
3617         addl    28(%esp),%edx
3618         psrld   $11,%xmm6
3619         addl    %ecx,%ebx
3620         movl    %edx,%ecx
3621         rorl    $14,%edx
3622         pxor    %xmm5,%xmm4
3623         movl    (%esp),%esi
3624         xorl    %ecx,%edx
3625         pslld   $11,%xmm5
3626         movl    4(%esp),%edi
3627         xorl    %edi,%esi
3628         rorl    $5,%edx
3629         pxor    %xmm6,%xmm4
3630         andl    %ecx,%esi
3631         movl    %ecx,28(%esp)
3632         movdqa  %xmm7,%xmm6
3633         xorl    %ecx,%edx
3634         xorl    %esi,%edi
3635         rorl    $6,%edx
3636         pxor    %xmm5,%xmm4
3637         movl    %ebx,%ecx
3638         addl    %edi,%edx
3639         psrld   $10,%xmm7
3640         movl    16(%esp),%edi
3641         movl    %ebx,%esi
3642         rorl    $9,%ecx
3643         paddd   %xmm4,%xmm1
3644         movl    %ebx,12(%esp)
3645         xorl    %ebx,%ecx
3646         psrlq   $17,%xmm6
3647         xorl    %edi,%ebx
3648         addl    8(%esp),%edx
3649         rorl    $11,%ecx
3650         pxor    %xmm6,%xmm7
3651         andl    %ebx,%eax
3652         xorl    %esi,%ecx
3653         psrlq   $2,%xmm6
3654         addl    52(%esp),%edx
3655         xorl    %edi,%eax
3656         rorl    $2,%ecx
3657         pxor    %xmm6,%xmm7
3658         addl    %edx,%eax
3659         addl    24(%esp),%edx
3660         pshufd  $128,%xmm7,%xmm7
3661         addl    %ecx,%eax
3662         movl    %edx,%ecx
3663         rorl    $14,%edx
3664         movl    28(%esp),%esi
3665         xorl    %ecx,%edx
3666         movl    (%esp),%edi
3667         xorl    %edi,%esi
3668         rorl    $5,%edx
3669         andl    %ecx,%esi
3670         psrldq  $8,%xmm7
3671         movl    %ecx,24(%esp)
3672         xorl    %ecx,%edx
3673         xorl    %esi,%edi
3674         paddd   %xmm7,%xmm1
3675         rorl    $6,%edx
3676         movl    %eax,%ecx
3677         addl    %edi,%edx
3678         movl    12(%esp),%edi
3679         movl    %eax,%esi
3680         rorl    $9,%ecx
3681         movl    %eax,8(%esp)
3682         pshufd  $80,%xmm1,%xmm7
3683         xorl    %eax,%ecx
3684         xorl    %edi,%eax
3685         addl    4(%esp),%edx
3686         movdqa  %xmm7,%xmm6
3687         rorl    $11,%ecx
3688         psrld   $10,%xmm7
3689         andl    %eax,%ebx
3690         psrlq   $17,%xmm6
3691         xorl    %esi,%ecx
3692         addl    56(%esp),%edx
3693         xorl    %edi,%ebx
3694         rorl    $2,%ecx
3695         pxor    %xmm6,%xmm7
3696         addl    %edx,%ebx
3697         addl    20(%esp),%edx
3698         psrlq   $2,%xmm6
3699         addl    %ecx,%ebx
3700         movl    %edx,%ecx
3701         rorl    $14,%edx
3702         pxor    %xmm6,%xmm7
3703         movl    24(%esp),%esi
3704         xorl    %ecx,%edx
3705         movl    28(%esp),%edi
3706         pshufd  $8,%xmm7,%xmm7
3707         xorl    %edi,%esi
3708         rorl    $5,%edx
3709         movdqa  16(%ebp),%xmm6
3710         andl    %ecx,%esi
3711         movl    %ecx,20(%esp)
3712         pslldq  $8,%xmm7
3713         xorl    %ecx,%edx
3714         xorl    %esi,%edi
3715         rorl    $6,%edx
3716         movl    %ebx,%ecx
3717         addl    %edi,%edx
3718         movl    8(%esp),%edi
3719         movl    %ebx,%esi
3720         rorl    $9,%ecx
3721         paddd   %xmm7,%xmm1
3722         movl    %ebx,4(%esp)
3723         xorl    %ebx,%ecx
3724         xorl    %edi,%ebx
3725         addl    (%esp),%edx
3726         paddd   %xmm1,%xmm6
3727         rorl    $11,%ecx
3728         andl    %ebx,%eax
3729         xorl    %esi,%ecx
3730         addl    60(%esp),%edx
3731         xorl    %edi,%eax
3732         rorl    $2,%ecx
3733         addl    %edx,%eax
3734         addl    16(%esp),%edx
3735         addl    %ecx,%eax
3736         movdqa  %xmm6,48(%esp)
3737         movl    %edx,%ecx
3738         movdqa  %xmm3,%xmm4
3739         rorl    $14,%edx
3740         movl    20(%esp),%esi
3741         movdqa  %xmm1,%xmm7
3742         xorl    %ecx,%edx
3743         movl    24(%esp),%edi
3744 .byte   102,15,58,15,226,4
3745         xorl    %edi,%esi
3746         rorl    $5,%edx
3747         andl    %ecx,%esi
3748 .byte   102,15,58,15,248,4
3749         movl    %ecx,16(%esp)
3750         xorl    %ecx,%edx
3751         xorl    %esi,%edi
3752         movdqa  %xmm4,%xmm5
3753         rorl    $6,%edx
3754         movl    %eax,%ecx
3755         movdqa  %xmm4,%xmm6
3756         addl    %edi,%edx
3757         movl    4(%esp),%edi
3758         psrld   $3,%xmm4
3759         movl    %eax,%esi
3760         rorl    $9,%ecx
3761         paddd   %xmm7,%xmm2
3762         movl    %eax,(%esp)
3763         xorl    %eax,%ecx
3764         psrld   $7,%xmm6
3765         xorl    %edi,%eax
3766         addl    28(%esp),%edx
3767         rorl    $11,%ecx
3768         andl    %eax,%ebx
3769         pshufd  $250,%xmm1,%xmm7
3770         xorl    %esi,%ecx
3771         addl    64(%esp),%edx
3772         pslld   $14,%xmm5
3773         xorl    %edi,%ebx
3774         rorl    $2,%ecx
3775         pxor    %xmm6,%xmm4
3776         addl    %edx,%ebx
3777         addl    12(%esp),%edx
3778         psrld   $11,%xmm6
3779         addl    %ecx,%ebx
3780         movl    %edx,%ecx
3781         rorl    $14,%edx
3782         pxor    %xmm5,%xmm4
3783         movl    16(%esp),%esi
3784         xorl    %ecx,%edx
3785         pslld   $11,%xmm5
3786         movl    20(%esp),%edi
3787         xorl    %edi,%esi
3788         rorl    $5,%edx
3789         pxor    %xmm6,%xmm4
3790         andl    %ecx,%esi
3791         movl    %ecx,12(%esp)
3792         movdqa  %xmm7,%xmm6
3793         xorl    %ecx,%edx
3794         xorl    %esi,%edi
3795         rorl    $6,%edx
3796         pxor    %xmm5,%xmm4
3797         movl    %ebx,%ecx
3798         addl    %edi,%edx
3799         psrld   $10,%xmm7
3800         movl    (%esp),%edi
3801         movl    %ebx,%esi
3802         rorl    $9,%ecx
3803         paddd   %xmm4,%xmm2
3804         movl    %ebx,28(%esp)
3805         xorl    %ebx,%ecx
3806         psrlq   $17,%xmm6
3807         xorl    %edi,%ebx
3808         addl    24(%esp),%edx
3809         rorl    $11,%ecx
3810         pxor    %xmm6,%xmm7
3811         andl    %ebx,%eax
3812         xorl    %esi,%ecx
3813         psrlq   $2,%xmm6
3814         addl    68(%esp),%edx
3815         xorl    %edi,%eax
3816         rorl    $2,%ecx
3817         pxor    %xmm6,%xmm7
3818         addl    %edx,%eax
3819         addl    8(%esp),%edx
3820         pshufd  $128,%xmm7,%xmm7
3821         addl    %ecx,%eax
3822         movl    %edx,%ecx
3823         rorl    $14,%edx
3824         movl    12(%esp),%esi
3825         xorl    %ecx,%edx
3826         movl    16(%esp),%edi
3827         xorl    %edi,%esi
3828         rorl    $5,%edx
3829         andl    %ecx,%esi
3830         psrldq  $8,%xmm7
3831         movl    %ecx,8(%esp)
3832         xorl    %ecx,%edx
3833         xorl    %esi,%edi
3834         paddd   %xmm7,%xmm2
3835         rorl    $6,%edx
3836         movl    %eax,%ecx
3837         addl    %edi,%edx
3838         movl    28(%esp),%edi
3839         movl    %eax,%esi
3840         rorl    $9,%ecx
3841         movl    %eax,24(%esp)
3842         pshufd  $80,%xmm2,%xmm7
3843         xorl    %eax,%ecx
3844         xorl    %edi,%eax
3845         addl    20(%esp),%edx
3846         movdqa  %xmm7,%xmm6
3847         rorl    $11,%ecx
3848         psrld   $10,%xmm7
3849         andl    %eax,%ebx
3850         psrlq   $17,%xmm6
3851         xorl    %esi,%ecx
3852         addl    72(%esp),%edx
3853         xorl    %edi,%ebx
3854         rorl    $2,%ecx
3855         pxor    %xmm6,%xmm7
3856         addl    %edx,%ebx
3857         addl    4(%esp),%edx
3858         psrlq   $2,%xmm6
3859         addl    %ecx,%ebx
3860         movl    %edx,%ecx
3861         rorl    $14,%edx
3862         pxor    %xmm6,%xmm7
3863         movl    8(%esp),%esi
3864         xorl    %ecx,%edx
3865         movl    12(%esp),%edi
3866         pshufd  $8,%xmm7,%xmm7
3867         xorl    %edi,%esi
3868         rorl    $5,%edx
3869         movdqa  32(%ebp),%xmm6
3870         andl    %ecx,%esi
3871         movl    %ecx,4(%esp)
3872         pslldq  $8,%xmm7
3873         xorl    %ecx,%edx
3874         xorl    %esi,%edi
3875         rorl    $6,%edx
3876         movl    %ebx,%ecx
3877         addl    %edi,%edx
3878         movl    24(%esp),%edi
3879         movl    %ebx,%esi
3880         rorl    $9,%ecx
3881         paddd   %xmm7,%xmm2
3882         movl    %ebx,20(%esp)
3883         xorl    %ebx,%ecx
3884         xorl    %edi,%ebx
3885         addl    16(%esp),%edx
3886         paddd   %xmm2,%xmm6
3887         rorl    $11,%ecx
3888         andl    %ebx,%eax
3889         xorl    %esi,%ecx
3890         addl    76(%esp),%edx
3891         xorl    %edi,%eax
3892         rorl    $2,%ecx
3893         addl    %edx,%eax
3894         addl    (%esp),%edx
3895         addl    %ecx,%eax
3896         movdqa  %xmm6,64(%esp)
3897         movl    %edx,%ecx
3898         movdqa  %xmm0,%xmm4
3899         rorl    $14,%edx
3900         movl    4(%esp),%esi
3901         movdqa  %xmm2,%xmm7
3902         xorl    %ecx,%edx
3903         movl    8(%esp),%edi
3904 .byte   102,15,58,15,227,4
3905         xorl    %edi,%esi
3906         rorl    $5,%edx
3907         andl    %ecx,%esi
3908 .byte   102,15,58,15,249,4
3909         movl    %ecx,(%esp)
3910         xorl    %ecx,%edx
3911         xorl    %esi,%edi
3912         movdqa  %xmm4,%xmm5
3913         rorl    $6,%edx
3914         movl    %eax,%ecx
3915         movdqa  %xmm4,%xmm6
3916         addl    %edi,%edx
3917         movl    20(%esp),%edi
3918         psrld   $3,%xmm4
3919         movl    %eax,%esi
3920         rorl    $9,%ecx
3921         paddd   %xmm7,%xmm3
3922         movl    %eax,16(%esp)
3923         xorl    %eax,%ecx
3924         psrld   $7,%xmm6
3925         xorl    %edi,%eax
3926         addl    12(%esp),%edx
3927         rorl    $11,%ecx
3928         andl    %eax,%ebx
3929         pshufd  $250,%xmm2,%xmm7
3930         xorl    %esi,%ecx
3931         addl    80(%esp),%edx
3932         pslld   $14,%xmm5
3933         xorl    %edi,%ebx
3934         rorl    $2,%ecx
3935         pxor    %xmm6,%xmm4
3936         addl    %edx,%ebx
3937         addl    28(%esp),%edx
3938         psrld   $11,%xmm6
3939         addl    %ecx,%ebx
3940         movl    %edx,%ecx
3941         rorl    $14,%edx
3942         pxor    %xmm5,%xmm4
3943         movl    (%esp),%esi
3944         xorl    %ecx,%edx
3945         pslld   $11,%xmm5
3946         movl    4(%esp),%edi
3947         xorl    %edi,%esi
3948         rorl    $5,%edx
3949         pxor    %xmm6,%xmm4
3950         andl    %ecx,%esi
3951         movl    %ecx,28(%esp)
3952         movdqa  %xmm7,%xmm6
3953         xorl    %ecx,%edx
3954         xorl    %esi,%edi
3955         rorl    $6,%edx
3956         pxor    %xmm5,%xmm4
3957         movl    %ebx,%ecx
3958         addl    %edi,%edx
3959         psrld   $10,%xmm7
3960         movl    16(%esp),%edi
3961         movl    %ebx,%esi
3962         rorl    $9,%ecx
3963         paddd   %xmm4,%xmm3
3964         movl    %ebx,12(%esp)
3965         xorl    %ebx,%ecx
3966         psrlq   $17,%xmm6
3967         xorl    %edi,%ebx
3968         addl    8(%esp),%edx
3969         rorl    $11,%ecx
3970         pxor    %xmm6,%xmm7
3971         andl    %ebx,%eax
3972         xorl    %esi,%ecx
3973         psrlq   $2,%xmm6
3974         addl    84(%esp),%edx
3975         xorl    %edi,%eax
3976         rorl    $2,%ecx
3977         pxor    %xmm6,%xmm7
3978         addl    %edx,%eax
3979         addl    24(%esp),%edx
3980         pshufd  $128,%xmm7,%xmm7
3981         addl    %ecx,%eax
3982         movl    %edx,%ecx
3983         rorl    $14,%edx
3984         movl    28(%esp),%esi
3985         xorl    %ecx,%edx
3986         movl    (%esp),%edi
3987         xorl    %edi,%esi
3988         rorl    $5,%edx
3989         andl    %ecx,%esi
3990         psrldq  $8,%xmm7
3991         movl    %ecx,24(%esp)
3992         xorl    %ecx,%edx
3993         xorl    %esi,%edi
3994         paddd   %xmm7,%xmm3
3995         rorl    $6,%edx
3996         movl    %eax,%ecx
3997         addl    %edi,%edx
3998         movl    12(%esp),%edi
3999         movl    %eax,%esi
4000         rorl    $9,%ecx
4001         movl    %eax,8(%esp)
4002         pshufd  $80,%xmm3,%xmm7
4003         xorl    %eax,%ecx
4004         xorl    %edi,%eax
4005         addl    4(%esp),%edx
4006         movdqa  %xmm7,%xmm6
4007         rorl    $11,%ecx
4008         psrld   $10,%xmm7
4009         andl    %eax,%ebx
4010         psrlq   $17,%xmm6
4011         xorl    %esi,%ecx
4012         addl    88(%esp),%edx
4013         xorl    %edi,%ebx
4014         rorl    $2,%ecx
4015         pxor    %xmm6,%xmm7
4016         addl    %edx,%ebx
4017         addl    20(%esp),%edx
4018         psrlq   $2,%xmm6
4019         addl    %ecx,%ebx
4020         movl    %edx,%ecx
4021         rorl    $14,%edx
4022         pxor    %xmm6,%xmm7
4023         movl    24(%esp),%esi
4024         xorl    %ecx,%edx
4025         movl    28(%esp),%edi
4026         pshufd  $8,%xmm7,%xmm7
4027         xorl    %edi,%esi
4028         rorl    $5,%edx
4029         movdqa  48(%ebp),%xmm6
4030         andl    %ecx,%esi
4031         movl    %ecx,20(%esp)
4032         pslldq  $8,%xmm7
4033         xorl    %ecx,%edx
4034         xorl    %esi,%edi
4035         rorl    $6,%edx
4036         movl    %ebx,%ecx
4037         addl    %edi,%edx
4038         movl    8(%esp),%edi
4039         movl    %ebx,%esi
4040         rorl    $9,%ecx
4041         paddd   %xmm7,%xmm3
4042         movl    %ebx,4(%esp)
4043         xorl    %ebx,%ecx
4044         xorl    %edi,%ebx
4045         addl    (%esp),%edx
4046         paddd   %xmm3,%xmm6
4047         rorl    $11,%ecx
4048         andl    %ebx,%eax
4049         xorl    %esi,%ecx
4050         addl    92(%esp),%edx
4051         xorl    %edi,%eax
4052         rorl    $2,%ecx
4053         addl    %edx,%eax
4054         addl    16(%esp),%edx
4055         addl    %ecx,%eax
4056         movdqa  %xmm6,80(%esp)
4057         cmpl    $66051,64(%ebp)
4058         jne     .L013ssse3_00_47
4059         movl    %edx,%ecx
4060         rorl    $14,%edx
4061         movl    20(%esp),%esi
4062         xorl    %ecx,%edx
4063         movl    24(%esp),%edi
4064         xorl    %edi,%esi
4065         rorl    $5,%edx
4066         andl    %ecx,%esi
4067         movl    %ecx,16(%esp)
4068         xorl    %ecx,%edx
4069         xorl    %esi,%edi
4070         rorl    $6,%edx
4071         movl    %eax,%ecx
4072         addl    %edi,%edx
4073         movl    4(%esp),%edi
4074         movl    %eax,%esi
4075         rorl    $9,%ecx
4076         movl    %eax,(%esp)
4077         xorl    %eax,%ecx
4078         xorl    %edi,%eax
4079         addl    28(%esp),%edx
4080         rorl    $11,%ecx
4081         andl    %eax,%ebx
4082         xorl    %esi,%ecx
4083         addl    32(%esp),%edx
4084         xorl    %edi,%ebx
4085         rorl    $2,%ecx
4086         addl    %edx,%ebx
4087         addl    12(%esp),%edx
4088         addl    %ecx,%ebx
4089         movl    %edx,%ecx
4090         rorl    $14,%edx
4091         movl    16(%esp),%esi
4092         xorl    %ecx,%edx
4093         movl    20(%esp),%edi
4094         xorl    %edi,%esi
4095         rorl    $5,%edx
4096         andl    %ecx,%esi
4097         movl    %ecx,12(%esp)
4098         xorl    %ecx,%edx
4099         xorl    %esi,%edi
4100         rorl    $6,%edx
4101         movl    %ebx,%ecx
4102         addl    %edi,%edx
4103         movl    (%esp),%edi
4104         movl    %ebx,%esi
4105         rorl    $9,%ecx
4106         movl    %ebx,28(%esp)
4107         xorl    %ebx,%ecx
4108         xorl    %edi,%ebx
4109         addl    24(%esp),%edx
4110         rorl    $11,%ecx
4111         andl    %ebx,%eax
4112         xorl    %esi,%ecx
4113         addl    36(%esp),%edx
4114         xorl    %edi,%eax
4115         rorl    $2,%ecx
4116         addl    %edx,%eax
4117         addl    8(%esp),%edx
4118         addl    %ecx,%eax
4119         movl    %edx,%ecx
4120         rorl    $14,%edx
4121         movl    12(%esp),%esi
4122         xorl    %ecx,%edx
4123         movl    16(%esp),%edi
4124         xorl    %edi,%esi
4125         rorl    $5,%edx
4126         andl    %ecx,%esi
4127         movl    %ecx,8(%esp)
4128         xorl    %ecx,%edx
4129         xorl    %esi,%edi
4130         rorl    $6,%edx
4131         movl    %eax,%ecx
4132         addl    %edi,%edx
4133         movl    28(%esp),%edi
4134         movl    %eax,%esi
4135         rorl    $9,%ecx
4136         movl    %eax,24(%esp)
4137         xorl    %eax,%ecx
4138         xorl    %edi,%eax
4139         addl    20(%esp),%edx
4140         rorl    $11,%ecx
4141         andl    %eax,%ebx
4142         xorl    %esi,%ecx
4143         addl    40(%esp),%edx
4144         xorl    %edi,%ebx
4145         rorl    $2,%ecx
4146         addl    %edx,%ebx
4147         addl    4(%esp),%edx
4148         addl    %ecx,%ebx
4149         movl    %edx,%ecx
4150         rorl    $14,%edx
4151         movl    8(%esp),%esi
4152         xorl    %ecx,%edx
4153         movl    12(%esp),%edi
4154         xorl    %edi,%esi
4155         rorl    $5,%edx
4156         andl    %ecx,%esi
4157         movl    %ecx,4(%esp)
4158         xorl    %ecx,%edx
4159         xorl    %esi,%edi
4160         rorl    $6,%edx
4161         movl    %ebx,%ecx
4162         addl    %edi,%edx
4163         movl    24(%esp),%edi
4164         movl    %ebx,%esi
4165         rorl    $9,%ecx
4166         movl    %ebx,20(%esp)
4167         xorl    %ebx,%ecx
4168         xorl    %edi,%ebx
4169         addl    16(%esp),%edx
4170         rorl    $11,%ecx
4171         andl    %ebx,%eax
4172         xorl    %esi,%ecx
4173         addl    44(%esp),%edx
4174         xorl    %edi,%eax
4175         rorl    $2,%ecx
4176         addl    %edx,%eax
4177         addl    (%esp),%edx
4178         addl    %ecx,%eax
4179         movl    %edx,%ecx
4180         rorl    $14,%edx
4181         movl    4(%esp),%esi
4182         xorl    %ecx,%edx
4183         movl    8(%esp),%edi
4184         xorl    %edi,%esi
4185         rorl    $5,%edx
4186         andl    %ecx,%esi
4187         movl    %ecx,(%esp)
4188         xorl    %ecx,%edx
4189         xorl    %esi,%edi
4190         rorl    $6,%edx
4191         movl    %eax,%ecx
4192         addl    %edi,%edx
4193         movl    20(%esp),%edi
4194         movl    %eax,%esi
4195         rorl    $9,%ecx
4196         movl    %eax,16(%esp)
4197         xorl    %eax,%ecx
4198         xorl    %edi,%eax
4199         addl    12(%esp),%edx
4200         rorl    $11,%ecx
4201         andl    %eax,%ebx
4202         xorl    %esi,%ecx
4203         addl    48(%esp),%edx
4204         xorl    %edi,%ebx
4205         rorl    $2,%ecx
4206         addl    %edx,%ebx
4207         addl    28(%esp),%edx
4208         addl    %ecx,%ebx
4209         movl    %edx,%ecx
4210         rorl    $14,%edx
4211         movl    (%esp),%esi
4212         xorl    %ecx,%edx
4213         movl    4(%esp),%edi
4214         xorl    %edi,%esi
4215         rorl    $5,%edx
4216         andl    %ecx,%esi
4217         movl    %ecx,28(%esp)
4218         xorl    %ecx,%edx
4219         xorl    %esi,%edi
4220         rorl    $6,%edx
4221         movl    %ebx,%ecx
4222         addl    %edi,%edx
4223         movl    16(%esp),%edi
4224         movl    %ebx,%esi
4225         rorl    $9,%ecx
4226         movl    %ebx,12(%esp)
4227         xorl    %ebx,%ecx
4228         xorl    %edi,%ebx
4229         addl    8(%esp),%edx
4230         rorl    $11,%ecx
4231         andl    %ebx,%eax
4232         xorl    %esi,%ecx
4233         addl    52(%esp),%edx
4234         xorl    %edi,%eax
4235         rorl    $2,%ecx
4236         addl    %edx,%eax
4237         addl    24(%esp),%edx
4238         addl    %ecx,%eax
4239         movl    %edx,%ecx
4240         rorl    $14,%edx
4241         movl    28(%esp),%esi
4242         xorl    %ecx,%edx
4243         movl    (%esp),%edi
4244         xorl    %edi,%esi
4245         rorl    $5,%edx
4246         andl    %ecx,%esi
4247         movl    %ecx,24(%esp)
4248         xorl    %ecx,%edx
4249         xorl    %esi,%edi
4250         rorl    $6,%edx
4251         movl    %eax,%ecx
4252         addl    %edi,%edx
4253         movl    12(%esp),%edi
4254         movl    %eax,%esi
4255         rorl    $9,%ecx
4256         movl    %eax,8(%esp)
4257         xorl    %eax,%ecx
4258         xorl    %edi,%eax
4259         addl    4(%esp),%edx
4260         rorl    $11,%ecx
4261         andl    %eax,%ebx
4262         xorl    %esi,%ecx
4263         addl    56(%esp),%edx
4264         xorl    %edi,%ebx
4265         rorl    $2,%ecx
4266         addl    %edx,%ebx
4267         addl    20(%esp),%edx
4268         addl    %ecx,%ebx
4269         movl    %edx,%ecx
4270         rorl    $14,%edx
4271         movl    24(%esp),%esi
4272         xorl    %ecx,%edx
4273         movl    28(%esp),%edi
4274         xorl    %edi,%esi
4275         rorl    $5,%edx
4276         andl    %ecx,%esi
4277         movl    %ecx,20(%esp)
4278         xorl    %ecx,%edx
4279         xorl    %esi,%edi
4280         rorl    $6,%edx
4281         movl    %ebx,%ecx
4282         addl    %edi,%edx
4283         movl    8(%esp),%edi
4284         movl    %ebx,%esi
4285         rorl    $9,%ecx
4286         movl    %ebx,4(%esp)
4287         xorl    %ebx,%ecx
4288         xorl    %edi,%ebx
4289         addl    (%esp),%edx
4290         rorl    $11,%ecx
4291         andl    %ebx,%eax
4292         xorl    %esi,%ecx
4293         addl    60(%esp),%edx
4294         xorl    %edi,%eax
4295         rorl    $2,%ecx
4296         addl    %edx,%eax
4297         addl    16(%esp),%edx
4298         addl    %ecx,%eax
4299         movl    %edx,%ecx
4300         rorl    $14,%edx
4301         movl    20(%esp),%esi
4302         xorl    %ecx,%edx
4303         movl    24(%esp),%edi
4304         xorl    %edi,%esi
4305         rorl    $5,%edx
4306         andl    %ecx,%esi
4307         movl    %ecx,16(%esp)
4308         xorl    %ecx,%edx
4309         xorl    %esi,%edi
4310         rorl    $6,%edx
4311         movl    %eax,%ecx
4312         addl    %edi,%edx
4313         movl    4(%esp),%edi
4314         movl    %eax,%esi
4315         rorl    $9,%ecx
4316         movl    %eax,(%esp)
4317         xorl    %eax,%ecx
4318         xorl    %edi,%eax
4319         addl    28(%esp),%edx
4320         rorl    $11,%ecx
4321         andl    %eax,%ebx
4322         xorl    %esi,%ecx
4323         addl    64(%esp),%edx
4324         xorl    %edi,%ebx
4325         rorl    $2,%ecx
4326         addl    %edx,%ebx
4327         addl    12(%esp),%edx
4328         addl    %ecx,%ebx
4329         movl    %edx,%ecx
4330         rorl    $14,%edx
4331         movl    16(%esp),%esi
4332         xorl    %ecx,%edx
4333         movl    20(%esp),%edi
4334         xorl    %edi,%esi
4335         rorl    $5,%edx
4336         andl    %ecx,%esi
4337         movl    %ecx,12(%esp)
4338         xorl    %ecx,%edx
4339         xorl    %esi,%edi
4340         rorl    $6,%edx
4341         movl    %ebx,%ecx
4342         addl    %edi,%edx
4343         movl    (%esp),%edi
4344         movl    %ebx,%esi
4345         rorl    $9,%ecx
4346         movl    %ebx,28(%esp)
4347         xorl    %ebx,%ecx
4348         xorl    %edi,%ebx
4349         addl    24(%esp),%edx
4350         rorl    $11,%ecx
4351         andl    %ebx,%eax
4352         xorl    %esi,%ecx
4353         addl    68(%esp),%edx
4354         xorl    %edi,%eax
4355         rorl    $2,%ecx
4356         addl    %edx,%eax
4357         addl    8(%esp),%edx
4358         addl    %ecx,%eax
4359         movl    %edx,%ecx
4360         rorl    $14,%edx
4361         movl    12(%esp),%esi
4362         xorl    %ecx,%edx
4363         movl    16(%esp),%edi
4364         xorl    %edi,%esi
4365         rorl    $5,%edx
4366         andl    %ecx,%esi
4367         movl    %ecx,8(%esp)
4368         xorl    %ecx,%edx
4369         xorl    %esi,%edi
4370         rorl    $6,%edx
4371         movl    %eax,%ecx
4372         addl    %edi,%edx
4373         movl    28(%esp),%edi
4374         movl    %eax,%esi
4375         rorl    $9,%ecx
4376         movl    %eax,24(%esp)
4377         xorl    %eax,%ecx
4378         xorl    %edi,%eax
4379         addl    20(%esp),%edx
4380         rorl    $11,%ecx
4381         andl    %eax,%ebx
4382         xorl    %esi,%ecx
4383         addl    72(%esp),%edx
4384         xorl    %edi,%ebx
4385         rorl    $2,%ecx
4386         addl    %edx,%ebx
4387         addl    4(%esp),%edx
4388         addl    %ecx,%ebx
4389         movl    %edx,%ecx
4390         rorl    $14,%edx
4391         movl    8(%esp),%esi
4392         xorl    %ecx,%edx
4393         movl    12(%esp),%edi
4394         xorl    %edi,%esi
4395         rorl    $5,%edx
4396         andl    %ecx,%esi
4397         movl    %ecx,4(%esp)
4398         xorl    %ecx,%edx
4399         xorl    %esi,%edi
4400         rorl    $6,%edx
4401         movl    %ebx,%ecx
4402         addl    %edi,%edx
4403         movl    24(%esp),%edi
4404         movl    %ebx,%esi
4405         rorl    $9,%ecx
4406         movl    %ebx,20(%esp)
4407         xorl    %ebx,%ecx
4408         xorl    %edi,%ebx
4409         addl    16(%esp),%edx
4410         rorl    $11,%ecx
4411         andl    %ebx,%eax
4412         xorl    %esi,%ecx
4413         addl    76(%esp),%edx
4414         xorl    %edi,%eax
4415         rorl    $2,%ecx
4416         addl    %edx,%eax
4417         addl    (%esp),%edx
4418         addl    %ecx,%eax
4419         movl    %edx,%ecx
4420         rorl    $14,%edx
4421         movl    4(%esp),%esi
4422         xorl    %ecx,%edx
4423         movl    8(%esp),%edi
4424         xorl    %edi,%esi
4425         rorl    $5,%edx
4426         andl    %ecx,%esi
4427         movl    %ecx,(%esp)
4428         xorl    %ecx,%edx
4429         xorl    %esi,%edi
4430         rorl    $6,%edx
4431         movl    %eax,%ecx
4432         addl    %edi,%edx
4433         movl    20(%esp),%edi
4434         movl    %eax,%esi
4435         rorl    $9,%ecx
4436         movl    %eax,16(%esp)
4437         xorl    %eax,%ecx
4438         xorl    %edi,%eax
4439         addl    12(%esp),%edx
4440         rorl    $11,%ecx
4441         andl    %eax,%ebx
4442         xorl    %esi,%ecx
4443         addl    80(%esp),%edx
4444         xorl    %edi,%ebx
4445         rorl    $2,%ecx
4446         addl    %edx,%ebx
4447         addl    28(%esp),%edx
4448         addl    %ecx,%ebx
4449         movl    %edx,%ecx
4450         rorl    $14,%edx
4451         movl    (%esp),%esi
4452         xorl    %ecx,%edx
4453         movl    4(%esp),%edi
4454         xorl    %edi,%esi
4455         rorl    $5,%edx
4456         andl    %ecx,%esi
4457         movl    %ecx,28(%esp)
4458         xorl    %ecx,%edx
4459         xorl    %esi,%edi
4460         rorl    $6,%edx
4461         movl    %ebx,%ecx
4462         addl    %edi,%edx
4463         movl    16(%esp),%edi
4464         movl    %ebx,%esi
4465         rorl    $9,%ecx
4466         movl    %ebx,12(%esp)
4467         xorl    %ebx,%ecx
4468         xorl    %edi,%ebx
4469         addl    8(%esp),%edx
4470         rorl    $11,%ecx
4471         andl    %ebx,%eax
4472         xorl    %esi,%ecx
4473         addl    84(%esp),%edx
4474         xorl    %edi,%eax
4475         rorl    $2,%ecx
4476         addl    %edx,%eax
4477         addl    24(%esp),%edx
4478         addl    %ecx,%eax
4479         movl    %edx,%ecx
4480         rorl    $14,%edx
4481         movl    28(%esp),%esi
4482         xorl    %ecx,%edx
4483         movl    (%esp),%edi
4484         xorl    %edi,%esi
4485         rorl    $5,%edx
4486         andl    %ecx,%esi
4487         movl    %ecx,24(%esp)
4488         xorl    %ecx,%edx
4489         xorl    %esi,%edi
4490         rorl    $6,%edx
4491         movl    %eax,%ecx
4492         addl    %edi,%edx
4493         movl    12(%esp),%edi
4494         movl    %eax,%esi
4495         rorl    $9,%ecx
4496         movl    %eax,8(%esp)
4497         xorl    %eax,%ecx
4498         xorl    %edi,%eax
4499         addl    4(%esp),%edx
4500         rorl    $11,%ecx
4501         andl    %eax,%ebx
4502         xorl    %esi,%ecx
4503         addl    88(%esp),%edx
4504         xorl    %edi,%ebx
4505         rorl    $2,%ecx
4506         addl    %edx,%ebx
4507         addl    20(%esp),%edx
4508         addl    %ecx,%ebx
4509         movl    %edx,%ecx
4510         rorl    $14,%edx
4511         movl    24(%esp),%esi
4512         xorl    %ecx,%edx
4513         movl    28(%esp),%edi
4514         xorl    %edi,%esi
4515         rorl    $5,%edx
4516         andl    %ecx,%esi
4517         movl    %ecx,20(%esp)
4518         xorl    %ecx,%edx
4519         xorl    %esi,%edi
4520         rorl    $6,%edx
4521         movl    %ebx,%ecx
4522         addl    %edi,%edx
4523         movl    8(%esp),%edi
4524         movl    %ebx,%esi
4525         rorl    $9,%ecx
4526         movl    %ebx,4(%esp)
4527         xorl    %ebx,%ecx
4528         xorl    %edi,%ebx
4529         addl    (%esp),%edx
4530         rorl    $11,%ecx
4531         andl    %ebx,%eax
4532         xorl    %esi,%ecx
4533         addl    92(%esp),%edx
4534         xorl    %edi,%eax
4535         rorl    $2,%ecx
4536         addl    %edx,%eax
4537         addl    16(%esp),%edx
4538         addl    %ecx,%eax
4539         movl    96(%esp),%esi
4540         xorl    %edi,%ebx
4541         movl    12(%esp),%ecx
4542         addl    (%esi),%eax
4543         addl    4(%esi),%ebx
4544         addl    8(%esi),%edi
4545         addl    12(%esi),%ecx
4546         movl    %eax,(%esi)
4547         movl    %ebx,4(%esi)
4548         movl    %edi,8(%esi)
4549         movl    %ecx,12(%esi)
4550         movl    %ebx,4(%esp)
4551         xorl    %edi,%ebx
4552         movl    %edi,8(%esp)
4553         movl    %ecx,12(%esp)
4554         movl    20(%esp),%edi
4555         movl    24(%esp),%ecx
4556         addl    16(%esi),%edx
4557         addl    20(%esi),%edi
4558         addl    24(%esi),%ecx
4559         movl    %edx,16(%esi)
4560         movl    %edi,20(%esi)
4561         movl    %edi,20(%esp)
4562         movl    28(%esp),%edi
4563         movl    %ecx,24(%esi)
4564         addl    28(%esi),%edi
4565         movl    %ecx,24(%esp)
4566         movl    %edi,28(%esi)
4567         movl    %edi,28(%esp)
4568         movl    100(%esp),%edi
4569         movdqa  64(%ebp),%xmm7
4570         subl    $192,%ebp
4571         cmpl    104(%esp),%edi
4572         jb      .L012grand_ssse3
4573         movl    108(%esp),%esp
4574         popl    %edi
4575         popl    %esi
4576         popl    %ebx
4577         popl    %ebp
4578         ret
4579 .align  32
4580 .L005AVX:
4581         andl    $264,%edx
4582         cmpl    $264,%edx
4583         je      .L014AVX_BMI
4584         leal    -96(%esp),%esp
4585         vzeroall
4586         movl    (%esi),%eax
4587         movl    4(%esi),%ebx
4588         movl    8(%esi),%ecx
4589         movl    12(%esi),%edi
4590         movl    %ebx,4(%esp)
4591         xorl    %ecx,%ebx
4592         movl    %ecx,8(%esp)
4593         movl    %edi,12(%esp)
4594         movl    16(%esi),%edx
4595         movl    20(%esi),%edi
4596         movl    24(%esi),%ecx
4597         movl    28(%esi),%esi
4598         movl    %edi,20(%esp)
4599         movl    100(%esp),%edi
4600         movl    %ecx,24(%esp)
4601         movl    %esi,28(%esp)
4602         vmovdqa 256(%ebp),%xmm7
4603         jmp     .L015grand_avx
4604 .align  32
4605 .L015grand_avx:
4606         vmovdqu (%edi),%xmm0
4607         vmovdqu 16(%edi),%xmm1
4608         vmovdqu 32(%edi),%xmm2
4609         vmovdqu 48(%edi),%xmm3
4610         addl    $64,%edi
4611         vpshufb %xmm7,%xmm0,%xmm0
4612         movl    %edi,100(%esp)
4613         vpshufb %xmm7,%xmm1,%xmm1
4614         vpshufb %xmm7,%xmm2,%xmm2
4615         vpaddd  (%ebp),%xmm0,%xmm4
4616         vpshufb %xmm7,%xmm3,%xmm3
4617         vpaddd  16(%ebp),%xmm1,%xmm5
4618         vpaddd  32(%ebp),%xmm2,%xmm6
4619         vpaddd  48(%ebp),%xmm3,%xmm7
4620         vmovdqa %xmm4,32(%esp)
4621         vmovdqa %xmm5,48(%esp)
4622         vmovdqa %xmm6,64(%esp)
4623         vmovdqa %xmm7,80(%esp)
4624         jmp     .L016avx_00_47
4625 .align  16
4626 .L016avx_00_47:
4627         addl    $64,%ebp
4628         vpalignr        $4,%xmm0,%xmm1,%xmm4
4629         movl    %edx,%ecx
4630         shrdl   $14,%edx,%edx
4631         movl    20(%esp),%esi
4632         vpalignr        $4,%xmm2,%xmm3,%xmm7
4633         xorl    %ecx,%edx
4634         movl    24(%esp),%edi
4635         xorl    %edi,%esi
4636         vpsrld  $7,%xmm4,%xmm6
4637         shrdl   $5,%edx,%edx
4638         andl    %ecx,%esi
4639         movl    %ecx,16(%esp)
4640         vpaddd  %xmm7,%xmm0,%xmm0
4641         xorl    %ecx,%edx
4642         xorl    %esi,%edi
4643         shrdl   $6,%edx,%edx
4644         vpsrld  $3,%xmm4,%xmm7
4645         movl    %eax,%ecx
4646         addl    %edi,%edx
4647         movl    4(%esp),%edi
4648         vpslld  $14,%xmm4,%xmm5
4649         movl    %eax,%esi
4650         shrdl   $9,%ecx,%ecx
4651         movl    %eax,(%esp)
4652         vpxor   %xmm6,%xmm7,%xmm4
4653         xorl    %eax,%ecx
4654         xorl    %edi,%eax
4655         addl    28(%esp),%edx
4656         vpshufd $250,%xmm3,%xmm7
4657         shrdl   $11,%ecx,%ecx
4658         andl    %eax,%ebx
4659         xorl    %esi,%ecx
4660         vpsrld  $11,%xmm6,%xmm6
4661         addl    32(%esp),%edx
4662         xorl    %edi,%ebx
4663         shrdl   $2,%ecx,%ecx
4664         vpxor   %xmm5,%xmm4,%xmm4
4665         addl    %edx,%ebx
4666         addl    12(%esp),%edx
4667         addl    %ecx,%ebx
4668         vpslld  $11,%xmm5,%xmm5
4669         movl    %edx,%ecx
4670         shrdl   $14,%edx,%edx
4671         movl    16(%esp),%esi
4672         vpxor   %xmm6,%xmm4,%xmm4
4673         xorl    %ecx,%edx
4674         movl    20(%esp),%edi
4675         xorl    %edi,%esi
4676         vpsrld  $10,%xmm7,%xmm6
4677         shrdl   $5,%edx,%edx
4678         andl    %ecx,%esi
4679         movl    %ecx,12(%esp)
4680         vpxor   %xmm5,%xmm4,%xmm4
4681         xorl    %ecx,%edx
4682         xorl    %esi,%edi
4683         shrdl   $6,%edx,%edx
4684         vpsrlq  $17,%xmm7,%xmm5
4685         movl    %ebx,%ecx
4686         addl    %edi,%edx
4687         movl    (%esp),%edi
4688         vpaddd  %xmm4,%xmm0,%xmm0
4689         movl    %ebx,%esi
4690         shrdl   $9,%ecx,%ecx
4691         movl    %ebx,28(%esp)
4692         vpxor   %xmm5,%xmm6,%xmm6
4693         xorl    %ebx,%ecx
4694         xorl    %edi,%ebx
4695         addl    24(%esp),%edx
4696         vpsrlq  $19,%xmm7,%xmm7
4697         shrdl   $11,%ecx,%ecx
4698         andl    %ebx,%eax
4699         xorl    %esi,%ecx
4700         vpxor   %xmm7,%xmm6,%xmm6
4701         addl    36(%esp),%edx
4702         xorl    %edi,%eax
4703         shrdl   $2,%ecx,%ecx
4704         vpshufd $132,%xmm6,%xmm7
4705         addl    %edx,%eax
4706         addl    8(%esp),%edx
4707         addl    %ecx,%eax
4708         vpsrldq $8,%xmm7,%xmm7
4709         movl    %edx,%ecx
4710         shrdl   $14,%edx,%edx
4711         movl    12(%esp),%esi
4712         vpaddd  %xmm7,%xmm0,%xmm0
4713         xorl    %ecx,%edx
4714         movl    16(%esp),%edi
4715         xorl    %edi,%esi
4716         vpshufd $80,%xmm0,%xmm7
4717         shrdl   $5,%edx,%edx
4718         andl    %ecx,%esi
4719         movl    %ecx,8(%esp)
4720         vpsrld  $10,%xmm7,%xmm6
4721         xorl    %ecx,%edx
4722         xorl    %esi,%edi
4723         shrdl   $6,%edx,%edx
4724         vpsrlq  $17,%xmm7,%xmm5
4725         movl    %eax,%ecx
4726         addl    %edi,%edx
4727         movl    28(%esp),%edi
4728         vpxor   %xmm5,%xmm6,%xmm6
4729         movl    %eax,%esi
4730         shrdl   $9,%ecx,%ecx
4731         movl    %eax,24(%esp)
4732         vpsrlq  $19,%xmm7,%xmm7
4733         xorl    %eax,%ecx
4734         xorl    %edi,%eax
4735         addl    20(%esp),%edx
4736         vpxor   %xmm7,%xmm6,%xmm6
4737         shrdl   $11,%ecx,%ecx
4738         andl    %eax,%ebx
4739         xorl    %esi,%ecx
4740         vpshufd $232,%xmm6,%xmm7
4741         addl    40(%esp),%edx
4742         xorl    %edi,%ebx
4743         shrdl   $2,%ecx,%ecx
4744         vpslldq $8,%xmm7,%xmm7
4745         addl    %edx,%ebx
4746         addl    4(%esp),%edx
4747         addl    %ecx,%ebx
4748         vpaddd  %xmm7,%xmm0,%xmm0
4749         movl    %edx,%ecx
4750         shrdl   $14,%edx,%edx
4751         movl    8(%esp),%esi
4752         vpaddd  (%ebp),%xmm0,%xmm6
4753         xorl    %ecx,%edx
4754         movl    12(%esp),%edi
4755         xorl    %edi,%esi
4756         shrdl   $5,%edx,%edx
4757         andl    %ecx,%esi
4758         movl    %ecx,4(%esp)
4759         xorl    %ecx,%edx
4760         xorl    %esi,%edi
4761         shrdl   $6,%edx,%edx
4762         movl    %ebx,%ecx
4763         addl    %edi,%edx
4764         movl    24(%esp),%edi
4765         movl    %ebx,%esi
4766         shrdl   $9,%ecx,%ecx
4767         movl    %ebx,20(%esp)
4768         xorl    %ebx,%ecx
4769         xorl    %edi,%ebx
4770         addl    16(%esp),%edx
4771         shrdl   $11,%ecx,%ecx
4772         andl    %ebx,%eax
4773         xorl    %esi,%ecx
4774         addl    44(%esp),%edx
4775         xorl    %edi,%eax
4776         shrdl   $2,%ecx,%ecx
4777         addl    %edx,%eax
4778         addl    (%esp),%edx
4779         addl    %ecx,%eax
4780         vmovdqa %xmm6,32(%esp)
4781         vpalignr        $4,%xmm1,%xmm2,%xmm4
4782         movl    %edx,%ecx
4783         shrdl   $14,%edx,%edx
4784         movl    4(%esp),%esi
4785         vpalignr        $4,%xmm3,%xmm0,%xmm7
4786         xorl    %ecx,%edx
4787         movl    8(%esp),%edi
4788         xorl    %edi,%esi
4789         vpsrld  $7,%xmm4,%xmm6
4790         shrdl   $5,%edx,%edx
4791         andl    %ecx,%esi
4792         movl    %ecx,(%esp)
4793         vpaddd  %xmm7,%xmm1,%xmm1
4794         xorl    %ecx,%edx
4795         xorl    %esi,%edi
4796         shrdl   $6,%edx,%edx
4797         vpsrld  $3,%xmm4,%xmm7
4798         movl    %eax,%ecx
4799         addl    %edi,%edx
4800         movl    20(%esp),%edi
4801         vpslld  $14,%xmm4,%xmm5
4802         movl    %eax,%esi
4803         shrdl   $9,%ecx,%ecx
4804         movl    %eax,16(%esp)
4805         vpxor   %xmm6,%xmm7,%xmm4
4806         xorl    %eax,%ecx
4807         xorl    %edi,%eax
4808         addl    12(%esp),%edx
4809         vpshufd $250,%xmm0,%xmm7
4810         shrdl   $11,%ecx,%ecx
4811         andl    %eax,%ebx
4812         xorl    %esi,%ecx
4813         vpsrld  $11,%xmm6,%xmm6
4814         addl    48(%esp),%edx
4815         xorl    %edi,%ebx
4816         shrdl   $2,%ecx,%ecx
4817         vpxor   %xmm5,%xmm4,%xmm4
4818         addl    %edx,%ebx
4819         addl    28(%esp),%edx
4820         addl    %ecx,%ebx
4821         vpslld  $11,%xmm5,%xmm5
4822         movl    %edx,%ecx
4823         shrdl   $14,%edx,%edx
4824         movl    (%esp),%esi
4825         vpxor   %xmm6,%xmm4,%xmm4
4826         xorl    %ecx,%edx
4827         movl    4(%esp),%edi
4828         xorl    %edi,%esi
4829         vpsrld  $10,%xmm7,%xmm6
4830         shrdl   $5,%edx,%edx
4831         andl    %ecx,%esi
4832         movl    %ecx,28(%esp)
4833         vpxor   %xmm5,%xmm4,%xmm4
4834         xorl    %ecx,%edx
4835         xorl    %esi,%edi
4836         shrdl   $6,%edx,%edx
4837         vpsrlq  $17,%xmm7,%xmm5
4838         movl    %ebx,%ecx
4839         addl    %edi,%edx
4840         movl    16(%esp),%edi
4841         vpaddd  %xmm4,%xmm1,%xmm1
4842         movl    %ebx,%esi
4843         shrdl   $9,%ecx,%ecx
4844         movl    %ebx,12(%esp)
4845         vpxor   %xmm5,%xmm6,%xmm6
4846         xorl    %ebx,%ecx
4847         xorl    %edi,%ebx
4848         addl    8(%esp),%edx
4849         vpsrlq  $19,%xmm7,%xmm7
4850         shrdl   $11,%ecx,%ecx
4851         andl    %ebx,%eax
4852         xorl    %esi,%ecx
4853         vpxor   %xmm7,%xmm6,%xmm6
4854         addl    52(%esp),%edx
4855         xorl    %edi,%eax
4856         shrdl   $2,%ecx,%ecx
4857         vpshufd $132,%xmm6,%xmm7
4858         addl    %edx,%eax
4859         addl    24(%esp),%edx
4860         addl    %ecx,%eax
4861         vpsrldq $8,%xmm7,%xmm7
4862         movl    %edx,%ecx
4863         shrdl   $14,%edx,%edx
4864         movl    28(%esp),%esi
4865         vpaddd  %xmm7,%xmm1,%xmm1
4866         xorl    %ecx,%edx
4867         movl    (%esp),%edi
4868         xorl    %edi,%esi
4869         vpshufd $80,%xmm1,%xmm7
4870         shrdl   $5,%edx,%edx
4871         andl    %ecx,%esi
4872         movl    %ecx,24(%esp)
4873         vpsrld  $10,%xmm7,%xmm6
4874         xorl    %ecx,%edx
4875         xorl    %esi,%edi
4876         shrdl   $6,%edx,%edx
4877         vpsrlq  $17,%xmm7,%xmm5
4878         movl    %eax,%ecx
4879         addl    %edi,%edx
4880         movl    12(%esp),%edi
4881         vpxor   %xmm5,%xmm6,%xmm6
4882         movl    %eax,%esi
4883         shrdl   $9,%ecx,%ecx
4884         movl    %eax,8(%esp)
4885         vpsrlq  $19,%xmm7,%xmm7
4886         xorl    %eax,%ecx
4887         xorl    %edi,%eax
4888         addl    4(%esp),%edx
4889         vpxor   %xmm7,%xmm6,%xmm6
4890         shrdl   $11,%ecx,%ecx
4891         andl    %eax,%ebx
4892         xorl    %esi,%ecx
4893         vpshufd $232,%xmm6,%xmm7
4894         addl    56(%esp),%edx
4895         xorl    %edi,%ebx
4896         shrdl   $2,%ecx,%ecx
4897         vpslldq $8,%xmm7,%xmm7
4898         addl    %edx,%ebx
4899         addl    20(%esp),%edx
4900         addl    %ecx,%ebx
4901         vpaddd  %xmm7,%xmm1,%xmm1
4902         movl    %edx,%ecx
4903         shrdl   $14,%edx,%edx
4904         movl    24(%esp),%esi
4905         vpaddd  16(%ebp),%xmm1,%xmm6
4906         xorl    %ecx,%edx
4907         movl    28(%esp),%edi
4908         xorl    %edi,%esi
4909         shrdl   $5,%edx,%edx
4910         andl    %ecx,%esi
4911         movl    %ecx,20(%esp)
4912         xorl    %ecx,%edx
4913         xorl    %esi,%edi
4914         shrdl   $6,%edx,%edx
4915         movl    %ebx,%ecx
4916         addl    %edi,%edx
4917         movl    8(%esp),%edi
4918         movl    %ebx,%esi
4919         shrdl   $9,%ecx,%ecx
4920         movl    %ebx,4(%esp)
4921         xorl    %ebx,%ecx
4922         xorl    %edi,%ebx
4923         addl    (%esp),%edx
4924         shrdl   $11,%ecx,%ecx
4925         andl    %ebx,%eax
4926         xorl    %esi,%ecx
4927         addl    60(%esp),%edx
4928         xorl    %edi,%eax
4929         shrdl   $2,%ecx,%ecx
4930         addl    %edx,%eax
4931         addl    16(%esp),%edx
4932         addl    %ecx,%eax
4933         vmovdqa %xmm6,48(%esp)
4934         vpalignr        $4,%xmm2,%xmm3,%xmm4
4935         movl    %edx,%ecx
4936         shrdl   $14,%edx,%edx
4937         movl    20(%esp),%esi
4938         vpalignr        $4,%xmm0,%xmm1,%xmm7
4939         xorl    %ecx,%edx
4940         movl    24(%esp),%edi
4941         xorl    %edi,%esi
4942         vpsrld  $7,%xmm4,%xmm6
4943         shrdl   $5,%edx,%edx
4944         andl    %ecx,%esi
4945         movl    %ecx,16(%esp)
4946         vpaddd  %xmm7,%xmm2,%xmm2
4947         xorl    %ecx,%edx
4948         xorl    %esi,%edi
4949         shrdl   $6,%edx,%edx
4950         vpsrld  $3,%xmm4,%xmm7
4951         movl    %eax,%ecx
4952         addl    %edi,%edx
4953         movl    4(%esp),%edi
4954         vpslld  $14,%xmm4,%xmm5
4955         movl    %eax,%esi
4956         shrdl   $9,%ecx,%ecx
4957         movl    %eax,(%esp)
4958         vpxor   %xmm6,%xmm7,%xmm4
4959         xorl    %eax,%ecx
4960         xorl    %edi,%eax
4961         addl    28(%esp),%edx
4962         vpshufd $250,%xmm1,%xmm7
4963         shrdl   $11,%ecx,%ecx
4964         andl    %eax,%ebx
4965         xorl    %esi,%ecx
4966         vpsrld  $11,%xmm6,%xmm6
4967         addl    64(%esp),%edx
4968         xorl    %edi,%ebx
4969         shrdl   $2,%ecx,%ecx
4970         vpxor   %xmm5,%xmm4,%xmm4
4971         addl    %edx,%ebx
4972         addl    12(%esp),%edx
4973         addl    %ecx,%ebx
4974         vpslld  $11,%xmm5,%xmm5
4975         movl    %edx,%ecx
4976         shrdl   $14,%edx,%edx
4977         movl    16(%esp),%esi
4978         vpxor   %xmm6,%xmm4,%xmm4
4979         xorl    %ecx,%edx
4980         movl    20(%esp),%edi
4981         xorl    %edi,%esi
4982         vpsrld  $10,%xmm7,%xmm6
4983         shrdl   $5,%edx,%edx
4984         andl    %ecx,%esi
4985         movl    %ecx,12(%esp)
4986         vpxor   %xmm5,%xmm4,%xmm4
4987         xorl    %ecx,%edx
4988         xorl    %esi,%edi
4989         shrdl   $6,%edx,%edx
4990         vpsrlq  $17,%xmm7,%xmm5
4991         movl    %ebx,%ecx
4992         addl    %edi,%edx
4993         movl    (%esp),%edi
4994         vpaddd  %xmm4,%xmm2,%xmm2
4995         movl    %ebx,%esi
4996         shrdl   $9,%ecx,%ecx
4997         movl    %ebx,28(%esp)
4998         vpxor   %xmm5,%xmm6,%xmm6
4999         xorl    %ebx,%ecx
5000         xorl    %edi,%ebx
5001         addl    24(%esp),%edx
5002         vpsrlq  $19,%xmm7,%xmm7
5003         shrdl   $11,%ecx,%ecx
5004         andl    %ebx,%eax
5005         xorl    %esi,%ecx
5006         vpxor   %xmm7,%xmm6,%xmm6
5007         addl    68(%esp),%edx
5008         xorl    %edi,%eax
5009         shrdl   $2,%ecx,%ecx
5010         vpshufd $132,%xmm6,%xmm7
5011         addl    %edx,%eax
5012         addl    8(%esp),%edx
5013         addl    %ecx,%eax
5014         vpsrldq $8,%xmm7,%xmm7
5015         movl    %edx,%ecx
5016         shrdl   $14,%edx,%edx
5017         movl    12(%esp),%esi
5018         vpaddd  %xmm7,%xmm2,%xmm2
5019         xorl    %ecx,%edx
5020         movl    16(%esp),%edi
5021         xorl    %edi,%esi
5022         vpshufd $80,%xmm2,%xmm7
5023         shrdl   $5,%edx,%edx
5024         andl    %ecx,%esi
5025         movl    %ecx,8(%esp)
5026         vpsrld  $10,%xmm7,%xmm6
5027         xorl    %ecx,%edx
5028         xorl    %esi,%edi
5029         shrdl   $6,%edx,%edx
5030         vpsrlq  $17,%xmm7,%xmm5
5031         movl    %eax,%ecx
5032         addl    %edi,%edx
5033         movl    28(%esp),%edi
5034         vpxor   %xmm5,%xmm6,%xmm6
5035         movl    %eax,%esi
5036         shrdl   $9,%ecx,%ecx
5037         movl    %eax,24(%esp)
5038         vpsrlq  $19,%xmm7,%xmm7
5039         xorl    %eax,%ecx
5040         xorl    %edi,%eax
5041         addl    20(%esp),%edx
5042         vpxor   %xmm7,%xmm6,%xmm6
5043         shrdl   $11,%ecx,%ecx
5044         andl    %eax,%ebx
5045         xorl    %esi,%ecx
5046         vpshufd $232,%xmm6,%xmm7
5047         addl    72(%esp),%edx
5048         xorl    %edi,%ebx
5049         shrdl   $2,%ecx,%ecx
5050         vpslldq $8,%xmm7,%xmm7
5051         addl    %edx,%ebx
5052         addl    4(%esp),%edx
5053         addl    %ecx,%ebx
5054         vpaddd  %xmm7,%xmm2,%xmm2
5055         movl    %edx,%ecx
5056         shrdl   $14,%edx,%edx
5057         movl    8(%esp),%esi
5058         vpaddd  32(%ebp),%xmm2,%xmm6
5059         xorl    %ecx,%edx
5060         movl    12(%esp),%edi
5061         xorl    %edi,%esi
5062         shrdl   $5,%edx,%edx
5063         andl    %ecx,%esi
5064         movl    %ecx,4(%esp)
5065         xorl    %ecx,%edx
5066         xorl    %esi,%edi
5067         shrdl   $6,%edx,%edx
5068         movl    %ebx,%ecx
5069         addl    %edi,%edx
5070         movl    24(%esp),%edi
5071         movl    %ebx,%esi
5072         shrdl   $9,%ecx,%ecx
5073         movl    %ebx,20(%esp)
5074         xorl    %ebx,%ecx
5075         xorl    %edi,%ebx
5076         addl    16(%esp),%edx
5077         shrdl   $11,%ecx,%ecx
5078         andl    %ebx,%eax
5079         xorl    %esi,%ecx
5080         addl    76(%esp),%edx
5081         xorl    %edi,%eax
5082         shrdl   $2,%ecx,%ecx
5083         addl    %edx,%eax
5084         addl    (%esp),%edx
5085         addl    %ecx,%eax
5086         vmovdqa %xmm6,64(%esp)
5087         vpalignr        $4,%xmm3,%xmm0,%xmm4
5088         movl    %edx,%ecx
5089         shrdl   $14,%edx,%edx
5090         movl    4(%esp),%esi
5091         vpalignr        $4,%xmm1,%xmm2,%xmm7
5092         xorl    %ecx,%edx
5093         movl    8(%esp),%edi
5094         xorl    %edi,%esi
5095         vpsrld  $7,%xmm4,%xmm6
5096         shrdl   $5,%edx,%edx
5097         andl    %ecx,%esi
5098         movl    %ecx,(%esp)
5099         vpaddd  %xmm7,%xmm3,%xmm3
5100         xorl    %ecx,%edx
5101         xorl    %esi,%edi
5102         shrdl   $6,%edx,%edx
5103         vpsrld  $3,%xmm4,%xmm7
5104         movl    %eax,%ecx
5105         addl    %edi,%edx
5106         movl    20(%esp),%edi
5107         vpslld  $14,%xmm4,%xmm5
5108         movl    %eax,%esi
5109         shrdl   $9,%ecx,%ecx
5110         movl    %eax,16(%esp)
5111         vpxor   %xmm6,%xmm7,%xmm4
5112         xorl    %eax,%ecx
5113         xorl    %edi,%eax
5114         addl    12(%esp),%edx
5115         vpshufd $250,%xmm2,%xmm7
5116         shrdl   $11,%ecx,%ecx
5117         andl    %eax,%ebx
5118         xorl    %esi,%ecx
5119         vpsrld  $11,%xmm6,%xmm6
5120         addl    80(%esp),%edx
5121         xorl    %edi,%ebx
5122         shrdl   $2,%ecx,%ecx
5123         vpxor   %xmm5,%xmm4,%xmm4
5124         addl    %edx,%ebx
5125         addl    28(%esp),%edx
5126         addl    %ecx,%ebx
5127         vpslld  $11,%xmm5,%xmm5
5128         movl    %edx,%ecx
5129         shrdl   $14,%edx,%edx
5130         movl    (%esp),%esi
5131         vpxor   %xmm6,%xmm4,%xmm4
5132         xorl    %ecx,%edx
5133         movl    4(%esp),%edi
5134         xorl    %edi,%esi
5135         vpsrld  $10,%xmm7,%xmm6
5136         shrdl   $5,%edx,%edx
5137         andl    %ecx,%esi
5138         movl    %ecx,28(%esp)
5139         vpxor   %xmm5,%xmm4,%xmm4
5140         xorl    %ecx,%edx
5141         xorl    %esi,%edi
5142         shrdl   $6,%edx,%edx
5143         vpsrlq  $17,%xmm7,%xmm5
5144         movl    %ebx,%ecx
5145         addl    %edi,%edx
5146         movl    16(%esp),%edi
5147         vpaddd  %xmm4,%xmm3,%xmm3
5148         movl    %ebx,%esi
5149         shrdl   $9,%ecx,%ecx
5150         movl    %ebx,12(%esp)
5151         vpxor   %xmm5,%xmm6,%xmm6
5152         xorl    %ebx,%ecx
5153         xorl    %edi,%ebx
5154         addl    8(%esp),%edx
5155         vpsrlq  $19,%xmm7,%xmm7
5156         shrdl   $11,%ecx,%ecx
5157         andl    %ebx,%eax
5158         xorl    %esi,%ecx
5159         vpxor   %xmm7,%xmm6,%xmm6
5160         addl    84(%esp),%edx
5161         xorl    %edi,%eax
5162         shrdl   $2,%ecx,%ecx
5163         vpshufd $132,%xmm6,%xmm7
5164         addl    %edx,%eax
5165         addl    24(%esp),%edx
5166         addl    %ecx,%eax
5167         vpsrldq $8,%xmm7,%xmm7
5168         movl    %edx,%ecx
5169         shrdl   $14,%edx,%edx
5170         movl    28(%esp),%esi
5171         vpaddd  %xmm7,%xmm3,%xmm3
5172         xorl    %ecx,%edx
5173         movl    (%esp),%edi
5174         xorl    %edi,%esi
5175         vpshufd $80,%xmm3,%xmm7
5176         shrdl   $5,%edx,%edx
5177         andl    %ecx,%esi
5178         movl    %ecx,24(%esp)
5179         vpsrld  $10,%xmm7,%xmm6
5180         xorl    %ecx,%edx
5181         xorl    %esi,%edi
5182         shrdl   $6,%edx,%edx
5183         vpsrlq  $17,%xmm7,%xmm5
5184         movl    %eax,%ecx
5185         addl    %edi,%edx
5186         movl    12(%esp),%edi
5187         vpxor   %xmm5,%xmm6,%xmm6
5188         movl    %eax,%esi
5189         shrdl   $9,%ecx,%ecx
5190         movl    %eax,8(%esp)
5191         vpsrlq  $19,%xmm7,%xmm7
5192         xorl    %eax,%ecx
5193         xorl    %edi,%eax
5194         addl    4(%esp),%edx
5195         vpxor   %xmm7,%xmm6,%xmm6
5196         shrdl   $11,%ecx,%ecx
5197         andl    %eax,%ebx
5198         xorl    %esi,%ecx
5199         vpshufd $232,%xmm6,%xmm7
5200         addl    88(%esp),%edx
5201         xorl    %edi,%ebx
5202         shrdl   $2,%ecx,%ecx
5203         vpslldq $8,%xmm7,%xmm7
5204         addl    %edx,%ebx
5205         addl    20(%esp),%edx
5206         addl    %ecx,%ebx
5207         vpaddd  %xmm7,%xmm3,%xmm3
5208         movl    %edx,%ecx
5209         shrdl   $14,%edx,%edx
5210         movl    24(%esp),%esi
5211         vpaddd  48(%ebp),%xmm3,%xmm6
5212         xorl    %ecx,%edx
5213         movl    28(%esp),%edi
5214         xorl    %edi,%esi
5215         shrdl   $5,%edx,%edx
5216         andl    %ecx,%esi
5217         movl    %ecx,20(%esp)
5218         xorl    %ecx,%edx
5219         xorl    %esi,%edi
5220         shrdl   $6,%edx,%edx
5221         movl    %ebx,%ecx
5222         addl    %edi,%edx
5223         movl    8(%esp),%edi
5224         movl    %ebx,%esi
5225         shrdl   $9,%ecx,%ecx
5226         movl    %ebx,4(%esp)
5227         xorl    %ebx,%ecx
5228         xorl    %edi,%ebx
5229         addl    (%esp),%edx
5230         shrdl   $11,%ecx,%ecx
5231         andl    %ebx,%eax
5232         xorl    %esi,%ecx
5233         addl    92(%esp),%edx
5234         xorl    %edi,%eax
5235         shrdl   $2,%ecx,%ecx
5236         addl    %edx,%eax
5237         addl    16(%esp),%edx
5238         addl    %ecx,%eax
5239         vmovdqa %xmm6,80(%esp)
5240         cmpl    $66051,64(%ebp)
5241         jne     .L016avx_00_47
5242         movl    %edx,%ecx
5243         shrdl   $14,%edx,%edx
5244         movl    20(%esp),%esi
5245         xorl    %ecx,%edx
5246         movl    24(%esp),%edi
5247         xorl    %edi,%esi
5248         shrdl   $5,%edx,%edx
5249         andl    %ecx,%esi
5250         movl    %ecx,16(%esp)
5251         xorl    %ecx,%edx
5252         xorl    %esi,%edi
5253         shrdl   $6,%edx,%edx
5254         movl    %eax,%ecx
5255         addl    %edi,%edx
5256         movl    4(%esp),%edi
5257         movl    %eax,%esi
5258         shrdl   $9,%ecx,%ecx
5259         movl    %eax,(%esp)
5260         xorl    %eax,%ecx
5261         xorl    %edi,%eax
5262         addl    28(%esp),%edx
5263         shrdl   $11,%ecx,%ecx
5264         andl    %eax,%ebx
5265         xorl    %esi,%ecx
5266         addl    32(%esp),%edx
5267         xorl    %edi,%ebx
5268         shrdl   $2,%ecx,%ecx
5269         addl    %edx,%ebx
5270         addl    12(%esp),%edx
5271         addl    %ecx,%ebx
5272         movl    %edx,%ecx
5273         shrdl   $14,%edx,%edx
5274         movl    16(%esp),%esi
5275         xorl    %ecx,%edx
5276         movl    20(%esp),%edi
5277         xorl    %edi,%esi
5278         shrdl   $5,%edx,%edx
5279         andl    %ecx,%esi
5280         movl    %ecx,12(%esp)
5281         xorl    %ecx,%edx
5282         xorl    %esi,%edi
5283         shrdl   $6,%edx,%edx
5284         movl    %ebx,%ecx
5285         addl    %edi,%edx
5286         movl    (%esp),%edi
5287         movl    %ebx,%esi
5288         shrdl   $9,%ecx,%ecx
5289         movl    %ebx,28(%esp)
5290         xorl    %ebx,%ecx
5291         xorl    %edi,%ebx
5292         addl    24(%esp),%edx
5293         shrdl   $11,%ecx,%ecx
5294         andl    %ebx,%eax
5295         xorl    %esi,%ecx
5296         addl    36(%esp),%edx
5297         xorl    %edi,%eax
5298         shrdl   $2,%ecx,%ecx
5299         addl    %edx,%eax
5300         addl    8(%esp),%edx
5301         addl    %ecx,%eax
5302         movl    %edx,%ecx
5303         shrdl   $14,%edx,%edx
5304         movl    12(%esp),%esi
5305         xorl    %ecx,%edx
5306         movl    16(%esp),%edi
5307         xorl    %edi,%esi
5308         shrdl   $5,%edx,%edx
5309         andl    %ecx,%esi
5310         movl    %ecx,8(%esp)
5311         xorl    %ecx,%edx
5312         xorl    %esi,%edi
5313         shrdl   $6,%edx,%edx
5314         movl    %eax,%ecx
5315         addl    %edi,%edx
5316         movl    28(%esp),%edi
5317         movl    %eax,%esi
5318         shrdl   $9,%ecx,%ecx
5319         movl    %eax,24(%esp)
5320         xorl    %eax,%ecx
5321         xorl    %edi,%eax
5322         addl    20(%esp),%edx
5323         shrdl   $11,%ecx,%ecx
5324         andl    %eax,%ebx
5325         xorl    %esi,%ecx
5326         addl    40(%esp),%edx
5327         xorl    %edi,%ebx
5328         shrdl   $2,%ecx,%ecx
5329         addl    %edx,%ebx
5330         addl    4(%esp),%edx
5331         addl    %ecx,%ebx
5332         movl    %edx,%ecx
5333         shrdl   $14,%edx,%edx
5334         movl    8(%esp),%esi
5335         xorl    %ecx,%edx
5336         movl    12(%esp),%edi
5337         xorl    %edi,%esi
5338         shrdl   $5,%edx,%edx
5339         andl    %ecx,%esi
5340         movl    %ecx,4(%esp)
5341         xorl    %ecx,%edx
5342         xorl    %esi,%edi
5343         shrdl   $6,%edx,%edx
5344         movl    %ebx,%ecx
5345         addl    %edi,%edx
5346         movl    24(%esp),%edi
5347         movl    %ebx,%esi
5348         shrdl   $9,%ecx,%ecx
5349         movl    %ebx,20(%esp)
5350         xorl    %ebx,%ecx
5351         xorl    %edi,%ebx
5352         addl    16(%esp),%edx
5353         shrdl   $11,%ecx,%ecx
5354         andl    %ebx,%eax
5355         xorl    %esi,%ecx
5356         addl    44(%esp),%edx
5357         xorl    %edi,%eax
5358         shrdl   $2,%ecx,%ecx
5359         addl    %edx,%eax
5360         addl    (%esp),%edx
5361         addl    %ecx,%eax
5362         movl    %edx,%ecx
5363         shrdl   $14,%edx,%edx
5364         movl    4(%esp),%esi
5365         xorl    %ecx,%edx
5366         movl    8(%esp),%edi
5367         xorl    %edi,%esi
5368         shrdl   $5,%edx,%edx
5369         andl    %ecx,%esi
5370         movl    %ecx,(%esp)
5371         xorl    %ecx,%edx
5372         xorl    %esi,%edi
5373         shrdl   $6,%edx,%edx
5374         movl    %eax,%ecx
5375         addl    %edi,%edx
5376         movl    20(%esp),%edi
5377         movl    %eax,%esi
5378         shrdl   $9,%ecx,%ecx
5379         movl    %eax,16(%esp)
5380         xorl    %eax,%ecx
5381         xorl    %edi,%eax
5382         addl    12(%esp),%edx
5383         shrdl   $11,%ecx,%ecx
5384         andl    %eax,%ebx
5385         xorl    %esi,%ecx
5386         addl    48(%esp),%edx
5387         xorl    %edi,%ebx
5388         shrdl   $2,%ecx,%ecx
5389         addl    %edx,%ebx
5390         addl    28(%esp),%edx
5391         addl    %ecx,%ebx
5392         movl    %edx,%ecx
5393         shrdl   $14,%edx,%edx
5394         movl    (%esp),%esi
5395         xorl    %ecx,%edx
5396         movl    4(%esp),%edi
5397         xorl    %edi,%esi
5398         shrdl   $5,%edx,%edx
5399         andl    %ecx,%esi
5400         movl    %ecx,28(%esp)
5401         xorl    %ecx,%edx
5402         xorl    %esi,%edi
5403         shrdl   $6,%edx,%edx
5404         movl    %ebx,%ecx
5405         addl    %edi,%edx
5406         movl    16(%esp),%edi
5407         movl    %ebx,%esi
5408         shrdl   $9,%ecx,%ecx
5409         movl    %ebx,12(%esp)
5410         xorl    %ebx,%ecx
5411         xorl    %edi,%ebx
5412         addl    8(%esp),%edx
5413         shrdl   $11,%ecx,%ecx
5414         andl    %ebx,%eax
5415         xorl    %esi,%ecx
5416         addl    52(%esp),%edx
5417         xorl    %edi,%eax
5418         shrdl   $2,%ecx,%ecx
5419         addl    %edx,%eax
5420         addl    24(%esp),%edx
5421         addl    %ecx,%eax
5422         movl    %edx,%ecx
5423         shrdl   $14,%edx,%edx
5424         movl    28(%esp),%esi
5425         xorl    %ecx,%edx
5426         movl    (%esp),%edi
5427         xorl    %edi,%esi
5428         shrdl   $5,%edx,%edx
5429         andl    %ecx,%esi
5430         movl    %ecx,24(%esp)
5431         xorl    %ecx,%edx
5432         xorl    %esi,%edi
5433         shrdl   $6,%edx,%edx
5434         movl    %eax,%ecx
5435         addl    %edi,%edx
5436         movl    12(%esp),%edi
5437         movl    %eax,%esi
5438         shrdl   $9,%ecx,%ecx
5439         movl    %eax,8(%esp)
5440         xorl    %eax,%ecx
5441         xorl    %edi,%eax
5442         addl    4(%esp),%edx
5443         shrdl   $11,%ecx,%ecx
5444         andl    %eax,%ebx
5445         xorl    %esi,%ecx
5446         addl    56(%esp),%edx
5447         xorl    %edi,%ebx
5448         shrdl   $2,%ecx,%ecx
5449         addl    %edx,%ebx
5450         addl    20(%esp),%edx
5451         addl    %ecx,%ebx
5452         movl    %edx,%ecx
5453         shrdl   $14,%edx,%edx
5454         movl    24(%esp),%esi
5455         xorl    %ecx,%edx
5456         movl    28(%esp),%edi
5457         xorl    %edi,%esi
5458         shrdl   $5,%edx,%edx
5459         andl    %ecx,%esi
5460         movl    %ecx,20(%esp)
5461         xorl    %ecx,%edx
5462         xorl    %esi,%edi
5463         shrdl   $6,%edx,%edx
5464         movl    %ebx,%ecx
5465         addl    %edi,%edx
5466         movl    8(%esp),%edi
5467         movl    %ebx,%esi
5468         shrdl   $9,%ecx,%ecx
5469         movl    %ebx,4(%esp)
5470         xorl    %ebx,%ecx
5471         xorl    %edi,%ebx
5472         addl    (%esp),%edx
5473         shrdl   $11,%ecx,%ecx
5474         andl    %ebx,%eax
5475         xorl    %esi,%ecx
5476         addl    60(%esp),%edx
5477         xorl    %edi,%eax
5478         shrdl   $2,%ecx,%ecx
5479         addl    %edx,%eax
5480         addl    16(%esp),%edx
5481         addl    %ecx,%eax
5482         movl    %edx,%ecx
5483         shrdl   $14,%edx,%edx
5484         movl    20(%esp),%esi
5485         xorl    %ecx,%edx
5486         movl    24(%esp),%edi
5487         xorl    %edi,%esi
5488         shrdl   $5,%edx,%edx
5489         andl    %ecx,%esi
5490         movl    %ecx,16(%esp)
5491         xorl    %ecx,%edx
5492         xorl    %esi,%edi
5493         shrdl   $6,%edx,%edx
5494         movl    %eax,%ecx
5495         addl    %edi,%edx
5496         movl    4(%esp),%edi
5497         movl    %eax,%esi
5498         shrdl   $9,%ecx,%ecx
5499         movl    %eax,(%esp)
5500         xorl    %eax,%ecx
5501         xorl    %edi,%eax
5502         addl    28(%esp),%edx
5503         shrdl   $11,%ecx,%ecx
5504         andl    %eax,%ebx
5505         xorl    %esi,%ecx
5506         addl    64(%esp),%edx
5507         xorl    %edi,%ebx
5508         shrdl   $2,%ecx,%ecx
5509         addl    %edx,%ebx
5510         addl    12(%esp),%edx
5511         addl    %ecx,%ebx
5512         movl    %edx,%ecx
5513         shrdl   $14,%edx,%edx
5514         movl    16(%esp),%esi
5515         xorl    %ecx,%edx
5516         movl    20(%esp),%edi
5517         xorl    %edi,%esi
5518         shrdl   $5,%edx,%edx
5519         andl    %ecx,%esi
5520         movl    %ecx,12(%esp)
5521         xorl    %ecx,%edx
5522         xorl    %esi,%edi
5523         shrdl   $6,%edx,%edx
5524         movl    %ebx,%ecx
5525         addl    %edi,%edx
5526         movl    (%esp),%edi
5527         movl    %ebx,%esi
5528         shrdl   $9,%ecx,%ecx
5529         movl    %ebx,28(%esp)
5530         xorl    %ebx,%ecx
5531         xorl    %edi,%ebx
5532         addl    24(%esp),%edx
5533         shrdl   $11,%ecx,%ecx
5534         andl    %ebx,%eax
5535         xorl    %esi,%ecx
5536         addl    68(%esp),%edx
5537         xorl    %edi,%eax
5538         shrdl   $2,%ecx,%ecx
5539         addl    %edx,%eax
5540         addl    8(%esp),%edx
5541         addl    %ecx,%eax
5542         movl    %edx,%ecx
5543         shrdl   $14,%edx,%edx
5544         movl    12(%esp),%esi
5545         xorl    %ecx,%edx
5546         movl    16(%esp),%edi
5547         xorl    %edi,%esi
5548         shrdl   $5,%edx,%edx
5549         andl    %ecx,%esi
5550         movl    %ecx,8(%esp)
5551         xorl    %ecx,%edx
5552         xorl    %esi,%edi
5553         shrdl   $6,%edx,%edx
5554         movl    %eax,%ecx
5555         addl    %edi,%edx
5556         movl    28(%esp),%edi
5557         movl    %eax,%esi
5558         shrdl   $9,%ecx,%ecx
5559         movl    %eax,24(%esp)
5560         xorl    %eax,%ecx
5561         xorl    %edi,%eax
5562         addl    20(%esp),%edx
5563         shrdl   $11,%ecx,%ecx
5564         andl    %eax,%ebx
5565         xorl    %esi,%ecx
5566         addl    72(%esp),%edx
5567         xorl    %edi,%ebx
5568         shrdl   $2,%ecx,%ecx
5569         addl    %edx,%ebx
5570         addl    4(%esp),%edx
5571         addl    %ecx,%ebx
5572         movl    %edx,%ecx
5573         shrdl   $14,%edx,%edx
5574         movl    8(%esp),%esi
5575         xorl    %ecx,%edx
5576         movl    12(%esp),%edi
5577         xorl    %edi,%esi
5578         shrdl   $5,%edx,%edx
5579         andl    %ecx,%esi
5580         movl    %ecx,4(%esp)
5581         xorl    %ecx,%edx
5582         xorl    %esi,%edi
5583         shrdl   $6,%edx,%edx
5584         movl    %ebx,%ecx
5585         addl    %edi,%edx
5586         movl    24(%esp),%edi
5587         movl    %ebx,%esi
5588         shrdl   $9,%ecx,%ecx
5589         movl    %ebx,20(%esp)
5590         xorl    %ebx,%ecx
5591         xorl    %edi,%ebx
5592         addl    16(%esp),%edx
5593         shrdl   $11,%ecx,%ecx
5594         andl    %ebx,%eax
5595         xorl    %esi,%ecx
5596         addl    76(%esp),%edx
5597         xorl    %edi,%eax
5598         shrdl   $2,%ecx,%ecx
5599         addl    %edx,%eax
5600         addl    (%esp),%edx
5601         addl    %ecx,%eax
5602         movl    %edx,%ecx
5603         shrdl   $14,%edx,%edx
5604         movl    4(%esp),%esi
5605         xorl    %ecx,%edx
5606         movl    8(%esp),%edi
5607         xorl    %edi,%esi
5608         shrdl   $5,%edx,%edx
5609         andl    %ecx,%esi
5610         movl    %ecx,(%esp)
5611         xorl    %ecx,%edx
5612         xorl    %esi,%edi
5613         shrdl   $6,%edx,%edx
5614         movl    %eax,%ecx
5615         addl    %edi,%edx
5616         movl    20(%esp),%edi
5617         movl    %eax,%esi
5618         shrdl   $9,%ecx,%ecx
5619         movl    %eax,16(%esp)
5620         xorl    %eax,%ecx
5621         xorl    %edi,%eax
5622         addl    12(%esp),%edx
5623         shrdl   $11,%ecx,%ecx
5624         andl    %eax,%ebx
5625         xorl    %esi,%ecx
5626         addl    80(%esp),%edx
5627         xorl    %edi,%ebx
5628         shrdl   $2,%ecx,%ecx
5629         addl    %edx,%ebx
5630         addl    28(%esp),%edx
5631         addl    %ecx,%ebx
5632         movl    %edx,%ecx
5633         shrdl   $14,%edx,%edx
5634         movl    (%esp),%esi
5635         xorl    %ecx,%edx
5636         movl    4(%esp),%edi
5637         xorl    %edi,%esi
5638         shrdl   $5,%edx,%edx
5639         andl    %ecx,%esi
5640         movl    %ecx,28(%esp)
5641         xorl    %ecx,%edx
5642         xorl    %esi,%edi
5643         shrdl   $6,%edx,%edx
5644         movl    %ebx,%ecx
5645         addl    %edi,%edx
5646         movl    16(%esp),%edi
5647         movl    %ebx,%esi
5648         shrdl   $9,%ecx,%ecx
5649         movl    %ebx,12(%esp)
5650         xorl    %ebx,%ecx
5651         xorl    %edi,%ebx
5652         addl    8(%esp),%edx
5653         shrdl   $11,%ecx,%ecx
5654         andl    %ebx,%eax
5655         xorl    %esi,%ecx
5656         addl    84(%esp),%edx
5657         xorl    %edi,%eax
5658         shrdl   $2,%ecx,%ecx
5659         addl    %edx,%eax
5660         addl    24(%esp),%edx
5661         addl    %ecx,%eax
5662         movl    %edx,%ecx
5663         shrdl   $14,%edx,%edx
5664         movl    28(%esp),%esi
5665         xorl    %ecx,%edx
5666         movl    (%esp),%edi
5667         xorl    %edi,%esi
5668         shrdl   $5,%edx,%edx
5669         andl    %ecx,%esi
5670         movl    %ecx,24(%esp)
5671         xorl    %ecx,%edx
5672         xorl    %esi,%edi
5673         shrdl   $6,%edx,%edx
5674         movl    %eax,%ecx
5675         addl    %edi,%edx
5676         movl    12(%esp),%edi
5677         movl    %eax,%esi
5678         shrdl   $9,%ecx,%ecx
5679         movl    %eax,8(%esp)
5680         xorl    %eax,%ecx
5681         xorl    %edi,%eax
5682         addl    4(%esp),%edx
5683         shrdl   $11,%ecx,%ecx
5684         andl    %eax,%ebx
5685         xorl    %esi,%ecx
5686         addl    88(%esp),%edx
5687         xorl    %edi,%ebx
5688         shrdl   $2,%ecx,%ecx
5689         addl    %edx,%ebx
5690         addl    20(%esp),%edx
5691         addl    %ecx,%ebx
5692         movl    %edx,%ecx
5693         shrdl   $14,%edx,%edx
5694         movl    24(%esp),%esi
5695         xorl    %ecx,%edx
5696         movl    28(%esp),%edi
5697         xorl    %edi,%esi
5698         shrdl   $5,%edx,%edx
5699         andl    %ecx,%esi
5700         movl    %ecx,20(%esp)
5701         xorl    %ecx,%edx
5702         xorl    %esi,%edi
5703         shrdl   $6,%edx,%edx
5704         movl    %ebx,%ecx
5705         addl    %edi,%edx
5706         movl    8(%esp),%edi
5707         movl    %ebx,%esi
5708         shrdl   $9,%ecx,%ecx
5709         movl    %ebx,4(%esp)
5710         xorl    %ebx,%ecx
5711         xorl    %edi,%ebx
5712         addl    (%esp),%edx
5713         shrdl   $11,%ecx,%ecx
5714         andl    %ebx,%eax
5715         xorl    %esi,%ecx
5716         addl    92(%esp),%edx
5717         xorl    %edi,%eax
5718         shrdl   $2,%ecx,%ecx
5719         addl    %edx,%eax
5720         addl    16(%esp),%edx
5721         addl    %ecx,%eax
5722         movl    96(%esp),%esi
5723         xorl    %edi,%ebx
5724         movl    12(%esp),%ecx
5725         addl    (%esi),%eax
5726         addl    4(%esi),%ebx
5727         addl    8(%esi),%edi
5728         addl    12(%esi),%ecx
5729         movl    %eax,(%esi)
5730         movl    %ebx,4(%esi)
5731         movl    %edi,8(%esi)
5732         movl    %ecx,12(%esi)
5733         movl    %ebx,4(%esp)
5734         xorl    %edi,%ebx
5735         movl    %edi,8(%esp)
5736         movl    %ecx,12(%esp)
5737         movl    20(%esp),%edi
5738         movl    24(%esp),%ecx
5739         addl    16(%esi),%edx
5740         addl    20(%esi),%edi
5741         addl    24(%esi),%ecx
5742         movl    %edx,16(%esi)
5743         movl    %edi,20(%esi)
5744         movl    %edi,20(%esp)
5745         movl    28(%esp),%edi
5746         movl    %ecx,24(%esi)
5747         addl    28(%esi),%edi
5748         movl    %ecx,24(%esp)
5749         movl    %edi,28(%esi)
5750         movl    %edi,28(%esp)
5751         movl    100(%esp),%edi
5752         vmovdqa 64(%ebp),%xmm7
5753         subl    $192,%ebp
5754         cmpl    104(%esp),%edi
5755         jb      .L015grand_avx
5756         movl    108(%esp),%esp
5757         vzeroall
5758         popl    %edi
5759         popl    %esi
5760         popl    %ebx
5761         popl    %ebp
5762         ret
5763 .align  32
5764 .L014AVX_BMI:
5765         leal    -96(%esp),%esp
5766         vzeroall
5767         movl    (%esi),%eax
5768         movl    4(%esi),%ebx
5769         movl    8(%esi),%ecx
5770         movl    12(%esi),%edi
5771         movl    %ebx,4(%esp)
5772         xorl    %ecx,%ebx
5773         movl    %ecx,8(%esp)
5774         movl    %edi,12(%esp)
5775         movl    16(%esi),%edx
5776         movl    20(%esi),%edi
5777         movl    24(%esi),%ecx
5778         movl    28(%esi),%esi
5779         movl    %edi,20(%esp)
5780         movl    100(%esp),%edi
5781         movl    %ecx,24(%esp)
5782         movl    %esi,28(%esp)
5783         vmovdqa 256(%ebp),%xmm7
5784         jmp     .L017grand_avx_bmi
5785 .align  32
5786 .L017grand_avx_bmi:
5787         vmovdqu (%edi),%xmm0
5788         vmovdqu 16(%edi),%xmm1
5789         vmovdqu 32(%edi),%xmm2
5790         vmovdqu 48(%edi),%xmm3
5791         addl    $64,%edi
5792         vpshufb %xmm7,%xmm0,%xmm0
5793         movl    %edi,100(%esp)
5794         vpshufb %xmm7,%xmm1,%xmm1
5795         vpshufb %xmm7,%xmm2,%xmm2
5796         vpaddd  (%ebp),%xmm0,%xmm4
5797         vpshufb %xmm7,%xmm3,%xmm3
5798         vpaddd  16(%ebp),%xmm1,%xmm5
5799         vpaddd  32(%ebp),%xmm2,%xmm6
5800         vpaddd  48(%ebp),%xmm3,%xmm7
5801         vmovdqa %xmm4,32(%esp)
5802         vmovdqa %xmm5,48(%esp)
5803         vmovdqa %xmm6,64(%esp)
5804         vmovdqa %xmm7,80(%esp)
5805         jmp     .L018avx_bmi_00_47
5806 .align  16
5807 .L018avx_bmi_00_47:
5808         addl    $64,%ebp
5809         vpalignr        $4,%xmm0,%xmm1,%xmm4
5810         rorxl   $6,%edx,%ecx
5811         rorxl   $11,%edx,%esi
5812         movl    %edx,16(%esp)
5813         vpalignr        $4,%xmm2,%xmm3,%xmm7
5814         rorxl   $25,%edx,%edi
5815         xorl    %esi,%ecx
5816         andnl   24(%esp),%edx,%esi
5817         vpsrld  $7,%xmm4,%xmm6
5818         xorl    %edi,%ecx
5819         andl    20(%esp),%edx
5820         movl    %eax,(%esp)
5821         vpaddd  %xmm7,%xmm0,%xmm0
5822         orl     %esi,%edx
5823         rorxl   $2,%eax,%edi
5824         rorxl   $13,%eax,%esi
5825         vpsrld  $3,%xmm4,%xmm7
5826         leal    (%edx,%ecx,1),%edx
5827         rorxl   $22,%eax,%ecx
5828         xorl    %edi,%esi
5829         vpslld  $14,%xmm4,%xmm5
5830         movl    4(%esp),%edi
5831         xorl    %esi,%ecx
5832         xorl    %edi,%eax
5833         vpxor   %xmm6,%xmm7,%xmm4
5834         addl    28(%esp),%edx
5835         andl    %eax,%ebx
5836         addl    32(%esp),%edx
5837         vpshufd $250,%xmm3,%xmm7
5838         xorl    %edi,%ebx
5839         addl    %edx,%ecx
5840         addl    12(%esp),%edx
5841         vpsrld  $11,%xmm6,%xmm6
5842         leal    (%ebx,%ecx,1),%ebx
5843         rorxl   $6,%edx,%ecx
5844         rorxl   $11,%edx,%esi
5845         vpxor   %xmm5,%xmm4,%xmm4
5846         movl    %edx,12(%esp)
5847         rorxl   $25,%edx,%edi
5848         xorl    %esi,%ecx
5849         vpslld  $11,%xmm5,%xmm5
5850         andnl   20(%esp),%edx,%esi
5851         xorl    %edi,%ecx
5852         andl    16(%esp),%edx
5853         vpxor   %xmm6,%xmm4,%xmm4
5854         movl    %ebx,28(%esp)
5855         orl     %esi,%edx
5856         rorxl   $2,%ebx,%edi
5857         rorxl   $13,%ebx,%esi
5858         vpsrld  $10,%xmm7,%xmm6
5859         leal    (%edx,%ecx,1),%edx
5860         rorxl   $22,%ebx,%ecx
5861         xorl    %edi,%esi
5862         vpxor   %xmm5,%xmm4,%xmm4
5863         movl    (%esp),%edi
5864         xorl    %esi,%ecx
5865         xorl    %edi,%ebx
5866         vpsrlq  $17,%xmm7,%xmm5
5867         addl    24(%esp),%edx
5868         andl    %ebx,%eax
5869         addl    36(%esp),%edx
5870         vpaddd  %xmm4,%xmm0,%xmm0
5871         xorl    %edi,%eax
5872         addl    %edx,%ecx
5873         addl    8(%esp),%edx
5874         vpxor   %xmm5,%xmm6,%xmm6
5875         leal    (%eax,%ecx,1),%eax
5876         rorxl   $6,%edx,%ecx
5877         rorxl   $11,%edx,%esi
5878         vpsrlq  $19,%xmm7,%xmm7
5879         movl    %edx,8(%esp)
5880         rorxl   $25,%edx,%edi
5881         xorl    %esi,%ecx
5882         vpxor   %xmm7,%xmm6,%xmm6
5883         andnl   16(%esp),%edx,%esi
5884         xorl    %edi,%ecx
5885         andl    12(%esp),%edx
5886         vpshufd $132,%xmm6,%xmm7
5887         movl    %eax,24(%esp)
5888         orl     %esi,%edx
5889         rorxl   $2,%eax,%edi
5890         rorxl   $13,%eax,%esi
5891         vpsrldq $8,%xmm7,%xmm7
5892         leal    (%edx,%ecx,1),%edx
5893         rorxl   $22,%eax,%ecx
5894         xorl    %edi,%esi
5895         vpaddd  %xmm7,%xmm0,%xmm0
5896         movl    28(%esp),%edi
5897         xorl    %esi,%ecx
5898         xorl    %edi,%eax
5899         vpshufd $80,%xmm0,%xmm7
5900         addl    20(%esp),%edx
5901         andl    %eax,%ebx
5902         addl    40(%esp),%edx
5903         vpsrld  $10,%xmm7,%xmm6
5904         xorl    %edi,%ebx
5905         addl    %edx,%ecx
5906         addl    4(%esp),%edx
5907         vpsrlq  $17,%xmm7,%xmm5
5908         leal    (%ebx,%ecx,1),%ebx
5909         rorxl   $6,%edx,%ecx
5910         rorxl   $11,%edx,%esi
5911         vpxor   %xmm5,%xmm6,%xmm6
5912         movl    %edx,4(%esp)
5913         rorxl   $25,%edx,%edi
5914         xorl    %esi,%ecx
5915         vpsrlq  $19,%xmm7,%xmm7
5916         andnl   12(%esp),%edx,%esi
5917         xorl    %edi,%ecx
5918         andl    8(%esp),%edx
5919         vpxor   %xmm7,%xmm6,%xmm6
5920         movl    %ebx,20(%esp)
5921         orl     %esi,%edx
5922         rorxl   $2,%ebx,%edi
5923         rorxl   $13,%ebx,%esi
5924         vpshufd $232,%xmm6,%xmm7
5925         leal    (%edx,%ecx,1),%edx
5926         rorxl   $22,%ebx,%ecx
5927         xorl    %edi,%esi
5928         vpslldq $8,%xmm7,%xmm7
5929         movl    24(%esp),%edi
5930         xorl    %esi,%ecx
5931         xorl    %edi,%ebx
5932         vpaddd  %xmm7,%xmm0,%xmm0
5933         addl    16(%esp),%edx
5934         andl    %ebx,%eax
5935         addl    44(%esp),%edx
5936         vpaddd  (%ebp),%xmm0,%xmm6
5937         xorl    %edi,%eax
5938         addl    %edx,%ecx
5939         addl    (%esp),%edx
5940         leal    (%eax,%ecx,1),%eax
5941         vmovdqa %xmm6,32(%esp)
5942         vpalignr        $4,%xmm1,%xmm2,%xmm4
5943         rorxl   $6,%edx,%ecx
5944         rorxl   $11,%edx,%esi
5945         movl    %edx,(%esp)
5946         vpalignr        $4,%xmm3,%xmm0,%xmm7
5947         rorxl   $25,%edx,%edi
5948         xorl    %esi,%ecx
5949         andnl   8(%esp),%edx,%esi
5950         vpsrld  $7,%xmm4,%xmm6
5951         xorl    %edi,%ecx
5952         andl    4(%esp),%edx
5953         movl    %eax,16(%esp)
5954         vpaddd  %xmm7,%xmm1,%xmm1
5955         orl     %esi,%edx
5956         rorxl   $2,%eax,%edi
5957         rorxl   $13,%eax,%esi
5958         vpsrld  $3,%xmm4,%xmm7
5959         leal    (%edx,%ecx,1),%edx
5960         rorxl   $22,%eax,%ecx
5961         xorl    %edi,%esi
5962         vpslld  $14,%xmm4,%xmm5
5963         movl    20(%esp),%edi
5964         xorl    %esi,%ecx
5965         xorl    %edi,%eax
5966         vpxor   %xmm6,%xmm7,%xmm4
5967         addl    12(%esp),%edx
5968         andl    %eax,%ebx
5969         addl    48(%esp),%edx
5970         vpshufd $250,%xmm0,%xmm7
5971         xorl    %edi,%ebx
5972         addl    %edx,%ecx
5973         addl    28(%esp),%edx
5974         vpsrld  $11,%xmm6,%xmm6
5975         leal    (%ebx,%ecx,1),%ebx
5976         rorxl   $6,%edx,%ecx
5977         rorxl   $11,%edx,%esi
5978         vpxor   %xmm5,%xmm4,%xmm4
5979         movl    %edx,28(%esp)
5980         rorxl   $25,%edx,%edi
5981         xorl    %esi,%ecx
5982         vpslld  $11,%xmm5,%xmm5
5983         andnl   4(%esp),%edx,%esi
5984         xorl    %edi,%ecx
5985         andl    (%esp),%edx
5986         vpxor   %xmm6,%xmm4,%xmm4
5987         movl    %ebx,12(%esp)
5988         orl     %esi,%edx
5989         rorxl   $2,%ebx,%edi
5990         rorxl   $13,%ebx,%esi
5991         vpsrld  $10,%xmm7,%xmm6
5992         leal    (%edx,%ecx,1),%edx
5993         rorxl   $22,%ebx,%ecx
5994         xorl    %edi,%esi
5995         vpxor   %xmm5,%xmm4,%xmm4
5996         movl    16(%esp),%edi
5997         xorl    %esi,%ecx
5998         xorl    %edi,%ebx
5999         vpsrlq  $17,%xmm7,%xmm5
6000         addl    8(%esp),%edx
6001         andl    %ebx,%eax
6002         addl    52(%esp),%edx
6003         vpaddd  %xmm4,%xmm1,%xmm1
6004         xorl    %edi,%eax
6005         addl    %edx,%ecx
6006         addl    24(%esp),%edx
6007         vpxor   %xmm5,%xmm6,%xmm6
6008         leal    (%eax,%ecx,1),%eax
6009         rorxl   $6,%edx,%ecx
6010         rorxl   $11,%edx,%esi
6011         vpsrlq  $19,%xmm7,%xmm7
6012         movl    %edx,24(%esp)
6013         rorxl   $25,%edx,%edi
6014         xorl    %esi,%ecx
6015         vpxor   %xmm7,%xmm6,%xmm6
6016         andnl   (%esp),%edx,%esi
6017         xorl    %edi,%ecx
6018         andl    28(%esp),%edx
6019         vpshufd $132,%xmm6,%xmm7
6020         movl    %eax,8(%esp)
6021         orl     %esi,%edx
6022         rorxl   $2,%eax,%edi
6023         rorxl   $13,%eax,%esi
6024         vpsrldq $8,%xmm7,%xmm7
6025         leal    (%edx,%ecx,1),%edx
6026         rorxl   $22,%eax,%ecx
6027         xorl    %edi,%esi
6028         vpaddd  %xmm7,%xmm1,%xmm1
6029         movl    12(%esp),%edi
6030         xorl    %esi,%ecx
6031         xorl    %edi,%eax
6032         vpshufd $80,%xmm1,%xmm7
6033         addl    4(%esp),%edx
6034         andl    %eax,%ebx
6035         addl    56(%esp),%edx
6036         vpsrld  $10,%xmm7,%xmm6
6037         xorl    %edi,%ebx
6038         addl    %edx,%ecx
6039         addl    20(%esp),%edx
6040         vpsrlq  $17,%xmm7,%xmm5
6041         leal    (%ebx,%ecx,1),%ebx
6042         rorxl   $6,%edx,%ecx
6043         rorxl   $11,%edx,%esi
6044         vpxor   %xmm5,%xmm6,%xmm6
6045         movl    %edx,20(%esp)
6046         rorxl   $25,%edx,%edi
6047         xorl    %esi,%ecx
6048         vpsrlq  $19,%xmm7,%xmm7
6049         andnl   28(%esp),%edx,%esi
6050         xorl    %edi,%ecx
6051         andl    24(%esp),%edx
6052         vpxor   %xmm7,%xmm6,%xmm6
6053         movl    %ebx,4(%esp)
6054         orl     %esi,%edx
6055         rorxl   $2,%ebx,%edi
6056         rorxl   $13,%ebx,%esi
6057         vpshufd $232,%xmm6,%xmm7
6058         leal    (%edx,%ecx,1),%edx
6059         rorxl   $22,%ebx,%ecx
6060         xorl    %edi,%esi
6061         vpslldq $8,%xmm7,%xmm7
6062         movl    8(%esp),%edi
6063         xorl    %esi,%ecx
6064         xorl    %edi,%ebx
6065         vpaddd  %xmm7,%xmm1,%xmm1
6066         addl    (%esp),%edx
6067         andl    %ebx,%eax
6068         addl    60(%esp),%edx
6069         vpaddd  16(%ebp),%xmm1,%xmm6
6070         xorl    %edi,%eax
6071         addl    %edx,%ecx
6072         addl    16(%esp),%edx
6073         leal    (%eax,%ecx,1),%eax
6074         vmovdqa %xmm6,48(%esp)
6075         vpalignr        $4,%xmm2,%xmm3,%xmm4
6076         rorxl   $6,%edx,%ecx
6077         rorxl   $11,%edx,%esi
6078         movl    %edx,16(%esp)
6079         vpalignr        $4,%xmm0,%xmm1,%xmm7
6080         rorxl   $25,%edx,%edi
6081         xorl    %esi,%ecx
6082         andnl   24(%esp),%edx,%esi
6083         vpsrld  $7,%xmm4,%xmm6
6084         xorl    %edi,%ecx
6085         andl    20(%esp),%edx
6086         movl    %eax,(%esp)
6087         vpaddd  %xmm7,%xmm2,%xmm2
6088         orl     %esi,%edx
6089         rorxl   $2,%eax,%edi
6090         rorxl   $13,%eax,%esi
6091         vpsrld  $3,%xmm4,%xmm7
6092         leal    (%edx,%ecx,1),%edx
6093         rorxl   $22,%eax,%ecx
6094         xorl    %edi,%esi
6095         vpslld  $14,%xmm4,%xmm5
6096         movl    4(%esp),%edi
6097         xorl    %esi,%ecx
6098         xorl    %edi,%eax
6099         vpxor   %xmm6,%xmm7,%xmm4
6100         addl    28(%esp),%edx
6101         andl    %eax,%ebx
6102         addl    64(%esp),%edx
6103         vpshufd $250,%xmm1,%xmm7
6104         xorl    %edi,%ebx
6105         addl    %edx,%ecx
6106         addl    12(%esp),%edx
6107         vpsrld  $11,%xmm6,%xmm6
6108         leal    (%ebx,%ecx,1),%ebx
6109         rorxl   $6,%edx,%ecx
6110         rorxl   $11,%edx,%esi
6111         vpxor   %xmm5,%xmm4,%xmm4
6112         movl    %edx,12(%esp)
6113         rorxl   $25,%edx,%edi
6114         xorl    %esi,%ecx
6115         vpslld  $11,%xmm5,%xmm5
6116         andnl   20(%esp),%edx,%esi
6117         xorl    %edi,%ecx
6118         andl    16(%esp),%edx
6119         vpxor   %xmm6,%xmm4,%xmm4
6120         movl    %ebx,28(%esp)
6121         orl     %esi,%edx
6122         rorxl   $2,%ebx,%edi
6123         rorxl   $13,%ebx,%esi
6124         vpsrld  $10,%xmm7,%xmm6
6125         leal    (%edx,%ecx,1),%edx
6126         rorxl   $22,%ebx,%ecx
6127         xorl    %edi,%esi
6128         vpxor   %xmm5,%xmm4,%xmm4
6129         movl    (%esp),%edi
6130         xorl    %esi,%ecx
6131         xorl    %edi,%ebx
6132         vpsrlq  $17,%xmm7,%xmm5
6133         addl    24(%esp),%edx
6134         andl    %ebx,%eax
6135         addl    68(%esp),%edx
6136         vpaddd  %xmm4,%xmm2,%xmm2
6137         xorl    %edi,%eax
6138         addl    %edx,%ecx
6139         addl    8(%esp),%edx
6140         vpxor   %xmm5,%xmm6,%xmm6
6141         leal    (%eax,%ecx,1),%eax
6142         rorxl   $6,%edx,%ecx
6143         rorxl   $11,%edx,%esi
6144         vpsrlq  $19,%xmm7,%xmm7
6145         movl    %edx,8(%esp)
6146         rorxl   $25,%edx,%edi
6147         xorl    %esi,%ecx
6148         vpxor   %xmm7,%xmm6,%xmm6
6149         andnl   16(%esp),%edx,%esi
6150         xorl    %edi,%ecx
6151         andl    12(%esp),%edx
6152         vpshufd $132,%xmm6,%xmm7
6153         movl    %eax,24(%esp)
6154         orl     %esi,%edx
6155         rorxl   $2,%eax,%edi
6156         rorxl   $13,%eax,%esi
6157         vpsrldq $8,%xmm7,%xmm7
6158         leal    (%edx,%ecx,1),%edx
6159         rorxl   $22,%eax,%ecx
6160         xorl    %edi,%esi
6161         vpaddd  %xmm7,%xmm2,%xmm2
6162         movl    28(%esp),%edi
6163         xorl    %esi,%ecx
6164         xorl    %edi,%eax
6165         vpshufd $80,%xmm2,%xmm7
6166         addl    20(%esp),%edx
6167         andl    %eax,%ebx
6168         addl    72(%esp),%edx
6169         vpsrld  $10,%xmm7,%xmm6
6170         xorl    %edi,%ebx
6171         addl    %edx,%ecx
6172         addl    4(%esp),%edx
6173         vpsrlq  $17,%xmm7,%xmm5
6174         leal    (%ebx,%ecx,1),%ebx
6175         rorxl   $6,%edx,%ecx
6176         rorxl   $11,%edx,%esi
6177         vpxor   %xmm5,%xmm6,%xmm6
6178         movl    %edx,4(%esp)
6179         rorxl   $25,%edx,%edi
6180         xorl    %esi,%ecx
6181         vpsrlq  $19,%xmm7,%xmm7
6182         andnl   12(%esp),%edx,%esi
6183         xorl    %edi,%ecx
6184         andl    8(%esp),%edx
6185         vpxor   %xmm7,%xmm6,%xmm6
6186         movl    %ebx,20(%esp)
6187         orl     %esi,%edx
6188         rorxl   $2,%ebx,%edi
6189         rorxl   $13,%ebx,%esi
6190         vpshufd $232,%xmm6,%xmm7
6191         leal    (%edx,%ecx,1),%edx
6192         rorxl   $22,%ebx,%ecx
6193         xorl    %edi,%esi
6194         vpslldq $8,%xmm7,%xmm7
6195         movl    24(%esp),%edi
6196         xorl    %esi,%ecx
6197         xorl    %edi,%ebx
6198         vpaddd  %xmm7,%xmm2,%xmm2
6199         addl    16(%esp),%edx
6200         andl    %ebx,%eax
6201         addl    76(%esp),%edx
6202         vpaddd  32(%ebp),%xmm2,%xmm6
6203         xorl    %edi,%eax
6204         addl    %edx,%ecx
6205         addl    (%esp),%edx
6206         leal    (%eax,%ecx,1),%eax
6207         vmovdqa %xmm6,64(%esp)
6208         vpalignr        $4,%xmm3,%xmm0,%xmm4
6209         rorxl   $6,%edx,%ecx
6210         rorxl   $11,%edx,%esi
6211         movl    %edx,(%esp)
6212         vpalignr        $4,%xmm1,%xmm2,%xmm7
6213         rorxl   $25,%edx,%edi
6214         xorl    %esi,%ecx
6215         andnl   8(%esp),%edx,%esi
6216         vpsrld  $7,%xmm4,%xmm6
6217         xorl    %edi,%ecx
6218         andl    4(%esp),%edx
6219         movl    %eax,16(%esp)
6220         vpaddd  %xmm7,%xmm3,%xmm3
6221         orl     %esi,%edx
6222         rorxl   $2,%eax,%edi
6223         rorxl   $13,%eax,%esi
6224         vpsrld  $3,%xmm4,%xmm7
6225         leal    (%edx,%ecx,1),%edx
6226         rorxl   $22,%eax,%ecx
6227         xorl    %edi,%esi
6228         vpslld  $14,%xmm4,%xmm5
6229         movl    20(%esp),%edi
6230         xorl    %esi,%ecx
6231         xorl    %edi,%eax
6232         vpxor   %xmm6,%xmm7,%xmm4
6233         addl    12(%esp),%edx
6234         andl    %eax,%ebx
6235         addl    80(%esp),%edx
6236         vpshufd $250,%xmm2,%xmm7
6237         xorl    %edi,%ebx
6238         addl    %edx,%ecx
6239         addl    28(%esp),%edx
6240         vpsrld  $11,%xmm6,%xmm6
6241         leal    (%ebx,%ecx,1),%ebx
6242         rorxl   $6,%edx,%ecx
6243         rorxl   $11,%edx,%esi
6244         vpxor   %xmm5,%xmm4,%xmm4
6245         movl    %edx,28(%esp)
6246         rorxl   $25,%edx,%edi
6247         xorl    %esi,%ecx
6248         vpslld  $11,%xmm5,%xmm5
6249         andnl   4(%esp),%edx,%esi
6250         xorl    %edi,%ecx
6251         andl    (%esp),%edx
6252         vpxor   %xmm6,%xmm4,%xmm4
6253         movl    %ebx,12(%esp)
6254         orl     %esi,%edx
6255         rorxl   $2,%ebx,%edi
6256         rorxl   $13,%ebx,%esi
6257         vpsrld  $10,%xmm7,%xmm6
6258         leal    (%edx,%ecx,1),%edx
6259         rorxl   $22,%ebx,%ecx
6260         xorl    %edi,%esi
6261         vpxor   %xmm5,%xmm4,%xmm4
6262         movl    16(%esp),%edi
6263         xorl    %esi,%ecx
6264         xorl    %edi,%ebx
6265         vpsrlq  $17,%xmm7,%xmm5
6266         addl    8(%esp),%edx
6267         andl    %ebx,%eax
6268         addl    84(%esp),%edx
6269         vpaddd  %xmm4,%xmm3,%xmm3
6270         xorl    %edi,%eax
6271         addl    %edx,%ecx
6272         addl    24(%esp),%edx
6273         vpxor   %xmm5,%xmm6,%xmm6
6274         leal    (%eax,%ecx,1),%eax
6275         rorxl   $6,%edx,%ecx
6276         rorxl   $11,%edx,%esi
6277         vpsrlq  $19,%xmm7,%xmm7
6278         movl    %edx,24(%esp)
6279         rorxl   $25,%edx,%edi
6280         xorl    %esi,%ecx
6281         vpxor   %xmm7,%xmm6,%xmm6
6282         andnl   (%esp),%edx,%esi
6283         xorl    %edi,%ecx
6284         andl    28(%esp),%edx
6285         vpshufd $132,%xmm6,%xmm7
6286         movl    %eax,8(%esp)
6287         orl     %esi,%edx
6288         rorxl   $2,%eax,%edi
6289         rorxl   $13,%eax,%esi
6290         vpsrldq $8,%xmm7,%xmm7
6291         leal    (%edx,%ecx,1),%edx
6292         rorxl   $22,%eax,%ecx
6293         xorl    %edi,%esi
6294         vpaddd  %xmm7,%xmm3,%xmm3
6295         movl    12(%esp),%edi
6296         xorl    %esi,%ecx
6297         xorl    %edi,%eax
6298         vpshufd $80,%xmm3,%xmm7
6299         addl    4(%esp),%edx
6300         andl    %eax,%ebx
6301         addl    88(%esp),%edx
6302         vpsrld  $10,%xmm7,%xmm6
6303         xorl    %edi,%ebx
6304         addl    %edx,%ecx
6305         addl    20(%esp),%edx
6306         vpsrlq  $17,%xmm7,%xmm5
6307         leal    (%ebx,%ecx,1),%ebx
6308         rorxl   $6,%edx,%ecx
6309         rorxl   $11,%edx,%esi
6310         vpxor   %xmm5,%xmm6,%xmm6
6311         movl    %edx,20(%esp)
6312         rorxl   $25,%edx,%edi
6313         xorl    %esi,%ecx
6314         vpsrlq  $19,%xmm7,%xmm7
6315         andnl   28(%esp),%edx,%esi
6316         xorl    %edi,%ecx
6317         andl    24(%esp),%edx
6318         vpxor   %xmm7,%xmm6,%xmm6
6319         movl    %ebx,4(%esp)
6320         orl     %esi,%edx
6321         rorxl   $2,%ebx,%edi
6322         rorxl   $13,%ebx,%esi
6323         vpshufd $232,%xmm6,%xmm7
6324         leal    (%edx,%ecx,1),%edx
6325         rorxl   $22,%ebx,%ecx
6326         xorl    %edi,%esi
6327         vpslldq $8,%xmm7,%xmm7
6328         movl    8(%esp),%edi
6329         xorl    %esi,%ecx
6330         xorl    %edi,%ebx
6331         vpaddd  %xmm7,%xmm3,%xmm3
6332         addl    (%esp),%edx
6333         andl    %ebx,%eax
6334         addl    92(%esp),%edx
6335         vpaddd  48(%ebp),%xmm3,%xmm6
6336         xorl    %edi,%eax
6337         addl    %edx,%ecx
6338         addl    16(%esp),%edx
6339         leal    (%eax,%ecx,1),%eax
6340         vmovdqa %xmm6,80(%esp)
6341         cmpl    $66051,64(%ebp)
6342         jne     .L018avx_bmi_00_47
6343         rorxl   $6,%edx,%ecx
6344         rorxl   $11,%edx,%esi
6345         movl    %edx,16(%esp)
6346         rorxl   $25,%edx,%edi
6347         xorl    %esi,%ecx
6348         andnl   24(%esp),%edx,%esi
6349         xorl    %edi,%ecx
6350         andl    20(%esp),%edx
6351         movl    %eax,(%esp)
6352         orl     %esi,%edx
6353         rorxl   $2,%eax,%edi
6354         rorxl   $13,%eax,%esi
6355         leal    (%edx,%ecx,1),%edx
6356         rorxl   $22,%eax,%ecx
6357         xorl    %edi,%esi
6358         movl    4(%esp),%edi
6359         xorl    %esi,%ecx
6360         xorl    %edi,%eax
6361         addl    28(%esp),%edx
6362         andl    %eax,%ebx
6363         addl    32(%esp),%edx
6364         xorl    %edi,%ebx
6365         addl    %edx,%ecx
6366         addl    12(%esp),%edx
6367         leal    (%ebx,%ecx,1),%ebx
6368         rorxl   $6,%edx,%ecx
6369         rorxl   $11,%edx,%esi
6370         movl    %edx,12(%esp)
6371         rorxl   $25,%edx,%edi
6372         xorl    %esi,%ecx
6373         andnl   20(%esp),%edx,%esi
6374         xorl    %edi,%ecx
6375         andl    16(%esp),%edx
6376         movl    %ebx,28(%esp)
6377         orl     %esi,%edx
6378         rorxl   $2,%ebx,%edi
6379         rorxl   $13,%ebx,%esi
6380         leal    (%edx,%ecx,1),%edx
6381         rorxl   $22,%ebx,%ecx
6382         xorl    %edi,%esi
6383         movl    (%esp),%edi
6384         xorl    %esi,%ecx
6385         xorl    %edi,%ebx
6386         addl    24(%esp),%edx
6387         andl    %ebx,%eax
6388         addl    36(%esp),%edx
6389         xorl    %edi,%eax
6390         addl    %edx,%ecx
6391         addl    8(%esp),%edx
6392         leal    (%eax,%ecx,1),%eax
6393         rorxl   $6,%edx,%ecx
6394         rorxl   $11,%edx,%esi
6395         movl    %edx,8(%esp)
6396         rorxl   $25,%edx,%edi
6397         xorl    %esi,%ecx
6398         andnl   16(%esp),%edx,%esi
6399         xorl    %edi,%ecx
6400         andl    12(%esp),%edx
6401         movl    %eax,24(%esp)
6402         orl     %esi,%edx
6403         rorxl   $2,%eax,%edi
6404         rorxl   $13,%eax,%esi
6405         leal    (%edx,%ecx,1),%edx
6406         rorxl   $22,%eax,%ecx
6407         xorl    %edi,%esi
6408         movl    28(%esp),%edi
6409         xorl    %esi,%ecx
6410         xorl    %edi,%eax
6411         addl    20(%esp),%edx
6412         andl    %eax,%ebx
6413         addl    40(%esp),%edx
6414         xorl    %edi,%ebx
6415         addl    %edx,%ecx
6416         addl    4(%esp),%edx
6417         leal    (%ebx,%ecx,1),%ebx
6418         rorxl   $6,%edx,%ecx
6419         rorxl   $11,%edx,%esi
6420         movl    %edx,4(%esp)
6421         rorxl   $25,%edx,%edi
6422         xorl    %esi,%ecx
6423         andnl   12(%esp),%edx,%esi
6424         xorl    %edi,%ecx
6425         andl    8(%esp),%edx
6426         movl    %ebx,20(%esp)
6427         orl     %esi,%edx
6428         rorxl   $2,%ebx,%edi
6429         rorxl   $13,%ebx,%esi
6430         leal    (%edx,%ecx,1),%edx
6431         rorxl   $22,%ebx,%ecx
6432         xorl    %edi,%esi
6433         movl    24(%esp),%edi
6434         xorl    %esi,%ecx
6435         xorl    %edi,%ebx
6436         addl    16(%esp),%edx
6437         andl    %ebx,%eax
6438         addl    44(%esp),%edx
6439         xorl    %edi,%eax
6440         addl    %edx,%ecx
6441         addl    (%esp),%edx
6442         leal    (%eax,%ecx,1),%eax
6443         rorxl   $6,%edx,%ecx
6444         rorxl   $11,%edx,%esi
6445         movl    %edx,(%esp)
6446         rorxl   $25,%edx,%edi
6447         xorl    %esi,%ecx
6448         andnl   8(%esp),%edx,%esi
6449         xorl    %edi,%ecx
6450         andl    4(%esp),%edx
6451         movl    %eax,16(%esp)
6452         orl     %esi,%edx
6453         rorxl   $2,%eax,%edi
6454         rorxl   $13,%eax,%esi
6455         leal    (%edx,%ecx,1),%edx
6456         rorxl   $22,%eax,%ecx
6457         xorl    %edi,%esi
6458         movl    20(%esp),%edi
6459         xorl    %esi,%ecx
6460         xorl    %edi,%eax
6461         addl    12(%esp),%edx
6462         andl    %eax,%ebx
6463         addl    48(%esp),%edx
6464         xorl    %edi,%ebx
6465         addl    %edx,%ecx
6466         addl    28(%esp),%edx
6467         leal    (%ebx,%ecx,1),%ebx
6468         rorxl   $6,%edx,%ecx
6469         rorxl   $11,%edx,%esi
6470         movl    %edx,28(%esp)
6471         rorxl   $25,%edx,%edi
6472         xorl    %esi,%ecx
6473         andnl   4(%esp),%edx,%esi
6474         xorl    %edi,%ecx
6475         andl    (%esp),%edx
6476         movl    %ebx,12(%esp)
6477         orl     %esi,%edx
6478         rorxl   $2,%ebx,%edi
6479         rorxl   $13,%ebx,%esi
6480         leal    (%edx,%ecx,1),%edx
6481         rorxl   $22,%ebx,%ecx
6482         xorl    %edi,%esi
6483         movl    16(%esp),%edi
6484         xorl    %esi,%ecx
6485         xorl    %edi,%ebx
6486         addl    8(%esp),%edx
6487         andl    %ebx,%eax
6488         addl    52(%esp),%edx
6489         xorl    %edi,%eax
6490         addl    %edx,%ecx
6491         addl    24(%esp),%edx
6492         leal    (%eax,%ecx,1),%eax
6493         rorxl   $6,%edx,%ecx
6494         rorxl   $11,%edx,%esi
6495         movl    %edx,24(%esp)
6496         rorxl   $25,%edx,%edi
6497         xorl    %esi,%ecx
6498         andnl   (%esp),%edx,%esi
6499         xorl    %edi,%ecx
6500         andl    28(%esp),%edx
6501         movl    %eax,8(%esp)
6502         orl     %esi,%edx
6503         rorxl   $2,%eax,%edi
6504         rorxl   $13,%eax,%esi
6505         leal    (%edx,%ecx,1),%edx
6506         rorxl   $22,%eax,%ecx
6507         xorl    %edi,%esi
6508         movl    12(%esp),%edi
6509         xorl    %esi,%ecx
6510         xorl    %edi,%eax
6511         addl    4(%esp),%edx
6512         andl    %eax,%ebx
6513         addl    56(%esp),%edx
6514         xorl    %edi,%ebx
6515         addl    %edx,%ecx
6516         addl    20(%esp),%edx
6517         leal    (%ebx,%ecx,1),%ebx
6518         rorxl   $6,%edx,%ecx
6519         rorxl   $11,%edx,%esi
6520         movl    %edx,20(%esp)
6521         rorxl   $25,%edx,%edi
6522         xorl    %esi,%ecx
6523         andnl   28(%esp),%edx,%esi
6524         xorl    %edi,%ecx
6525         andl    24(%esp),%edx
6526         movl    %ebx,4(%esp)
6527         orl     %esi,%edx
6528         rorxl   $2,%ebx,%edi
6529         rorxl   $13,%ebx,%esi
6530         leal    (%edx,%ecx,1),%edx
6531         rorxl   $22,%ebx,%ecx
6532         xorl    %edi,%esi
6533         movl    8(%esp),%edi
6534         xorl    %esi,%ecx
6535         xorl    %edi,%ebx
6536         addl    (%esp),%edx
6537         andl    %ebx,%eax
6538         addl    60(%esp),%edx
6539         xorl    %edi,%eax
6540         addl    %edx,%ecx
6541         addl    16(%esp),%edx
6542         leal    (%eax,%ecx,1),%eax
6543         rorxl   $6,%edx,%ecx
6544         rorxl   $11,%edx,%esi
6545         movl    %edx,16(%esp)
6546         rorxl   $25,%edx,%edi
6547         xorl    %esi,%ecx
6548         andnl   24(%esp),%edx,%esi
6549         xorl    %edi,%ecx
6550         andl    20(%esp),%edx
6551         movl    %eax,(%esp)
6552         orl     %esi,%edx
6553         rorxl   $2,%eax,%edi
6554         rorxl   $13,%eax,%esi
6555         leal    (%edx,%ecx,1),%edx
6556         rorxl   $22,%eax,%ecx
6557         xorl    %edi,%esi
6558         movl    4(%esp),%edi
6559         xorl    %esi,%ecx
6560         xorl    %edi,%eax
6561         addl    28(%esp),%edx
6562         andl    %eax,%ebx
6563         addl    64(%esp),%edx
6564         xorl    %edi,%ebx
6565         addl    %edx,%ecx
6566         addl    12(%esp),%edx
6567         leal    (%ebx,%ecx,1),%ebx
6568         rorxl   $6,%edx,%ecx
6569         rorxl   $11,%edx,%esi
6570         movl    %edx,12(%esp)
6571         rorxl   $25,%edx,%edi
6572         xorl    %esi,%ecx
6573         andnl   20(%esp),%edx,%esi
6574         xorl    %edi,%ecx
6575         andl    16(%esp),%edx
6576         movl    %ebx,28(%esp)
6577         orl     %esi,%edx
6578         rorxl   $2,%ebx,%edi
6579         rorxl   $13,%ebx,%esi
6580         leal    (%edx,%ecx,1),%edx
6581         rorxl   $22,%ebx,%ecx
6582         xorl    %edi,%esi
6583         movl    (%esp),%edi
6584         xorl    %esi,%ecx
6585         xorl    %edi,%ebx
6586         addl    24(%esp),%edx
6587         andl    %ebx,%eax
6588         addl    68(%esp),%edx
6589         xorl    %edi,%eax
6590         addl    %edx,%ecx
6591         addl    8(%esp),%edx
6592         leal    (%eax,%ecx,1),%eax
6593         rorxl   $6,%edx,%ecx
6594         rorxl   $11,%edx,%esi
6595         movl    %edx,8(%esp)
6596         rorxl   $25,%edx,%edi
6597         xorl    %esi,%ecx
6598         andnl   16(%esp),%edx,%esi
6599         xorl    %edi,%ecx
6600         andl    12(%esp),%edx
6601         movl    %eax,24(%esp)
6602         orl     %esi,%edx
6603         rorxl   $2,%eax,%edi
6604         rorxl   $13,%eax,%esi
6605         leal    (%edx,%ecx,1),%edx
6606         rorxl   $22,%eax,%ecx
6607         xorl    %edi,%esi
6608         movl    28(%esp),%edi
6609         xorl    %esi,%ecx
6610         xorl    %edi,%eax
6611         addl    20(%esp),%edx
6612         andl    %eax,%ebx
6613         addl    72(%esp),%edx
6614         xorl    %edi,%ebx
6615         addl    %edx,%ecx
6616         addl    4(%esp),%edx
6617         leal    (%ebx,%ecx,1),%ebx
6618         rorxl   $6,%edx,%ecx
6619         rorxl   $11,%edx,%esi
6620         movl    %edx,4(%esp)
6621         rorxl   $25,%edx,%edi
6622         xorl    %esi,%ecx
6623         andnl   12(%esp),%edx,%esi
6624         xorl    %edi,%ecx
6625         andl    8(%esp),%edx
6626         movl    %ebx,20(%esp)
6627         orl     %esi,%edx
6628         rorxl   $2,%ebx,%edi
6629         rorxl   $13,%ebx,%esi
6630         leal    (%edx,%ecx,1),%edx
6631         rorxl   $22,%ebx,%ecx
6632         xorl    %edi,%esi
6633         movl    24(%esp),%edi
6634         xorl    %esi,%ecx
6635         xorl    %edi,%ebx
6636         addl    16(%esp),%edx
6637         andl    %ebx,%eax
6638         addl    76(%esp),%edx
6639         xorl    %edi,%eax
6640         addl    %edx,%ecx
6641         addl    (%esp),%edx
6642         leal    (%eax,%ecx,1),%eax
6643         rorxl   $6,%edx,%ecx
6644         rorxl   $11,%edx,%esi
6645         movl    %edx,(%esp)
6646         rorxl   $25,%edx,%edi
6647         xorl    %esi,%ecx
6648         andnl   8(%esp),%edx,%esi
6649         xorl    %edi,%ecx
6650         andl    4(%esp),%edx
6651         movl    %eax,16(%esp)
6652         orl     %esi,%edx
6653         rorxl   $2,%eax,%edi
6654         rorxl   $13,%eax,%esi
6655         leal    (%edx,%ecx,1),%edx
6656         rorxl   $22,%eax,%ecx
6657         xorl    %edi,%esi
6658         movl    20(%esp),%edi
6659         xorl    %esi,%ecx
6660         xorl    %edi,%eax
6661         addl    12(%esp),%edx
6662         andl    %eax,%ebx
6663         addl    80(%esp),%edx
6664         xorl    %edi,%ebx
6665         addl    %edx,%ecx
6666         addl    28(%esp),%edx
6667         leal    (%ebx,%ecx,1),%ebx
6668         rorxl   $6,%edx,%ecx
6669         rorxl   $11,%edx,%esi
6670         movl    %edx,28(%esp)
6671         rorxl   $25,%edx,%edi
6672         xorl    %esi,%ecx
6673         andnl   4(%esp),%edx,%esi
6674         xorl    %edi,%ecx
6675         andl    (%esp),%edx
6676         movl    %ebx,12(%esp)
6677         orl     %esi,%edx
6678         rorxl   $2,%ebx,%edi
6679         rorxl   $13,%ebx,%esi
6680         leal    (%edx,%ecx,1),%edx
6681         rorxl   $22,%ebx,%ecx
6682         xorl    %edi,%esi
6683         movl    16(%esp),%edi
6684         xorl    %esi,%ecx
6685         xorl    %edi,%ebx
6686         addl    8(%esp),%edx
6687         andl    %ebx,%eax
6688         addl    84(%esp),%edx
6689         xorl    %edi,%eax
6690         addl    %edx,%ecx
6691         addl    24(%esp),%edx
6692         leal    (%eax,%ecx,1),%eax
6693         rorxl   $6,%edx,%ecx
6694         rorxl   $11,%edx,%esi
6695         movl    %edx,24(%esp)
6696         rorxl   $25,%edx,%edi
6697         xorl    %esi,%ecx
6698         andnl   (%esp),%edx,%esi
6699         xorl    %edi,%ecx
6700         andl    28(%esp),%edx
6701         movl    %eax,8(%esp)
6702         orl     %esi,%edx
6703         rorxl   $2,%eax,%edi
6704         rorxl   $13,%eax,%esi
6705         leal    (%edx,%ecx,1),%edx
6706         rorxl   $22,%eax,%ecx
6707         xorl    %edi,%esi
6708         movl    12(%esp),%edi
6709         xorl    %esi,%ecx
6710         xorl    %edi,%eax
6711         addl    4(%esp),%edx
6712         andl    %eax,%ebx
6713         addl    88(%esp),%edx
6714         xorl    %edi,%ebx
6715         addl    %edx,%ecx
6716         addl    20(%esp),%edx
6717         leal    (%ebx,%ecx,1),%ebx
6718         rorxl   $6,%edx,%ecx
6719         rorxl   $11,%edx,%esi
6720         movl    %edx,20(%esp)
6721         rorxl   $25,%edx,%edi
6722         xorl    %esi,%ecx
6723         andnl   28(%esp),%edx,%esi
6724         xorl    %edi,%ecx
6725         andl    24(%esp),%edx
6726         movl    %ebx,4(%esp)
6727         orl     %esi,%edx
6728         rorxl   $2,%ebx,%edi
6729         rorxl   $13,%ebx,%esi
6730         leal    (%edx,%ecx,1),%edx
6731         rorxl   $22,%ebx,%ecx
6732         xorl    %edi,%esi
6733         movl    8(%esp),%edi
6734         xorl    %esi,%ecx
6735         xorl    %edi,%ebx
6736         addl    (%esp),%edx
6737         andl    %ebx,%eax
6738         addl    92(%esp),%edx
6739         xorl    %edi,%eax
6740         addl    %edx,%ecx
6741         addl    16(%esp),%edx
6742         leal    (%eax,%ecx,1),%eax
6743         movl    96(%esp),%esi
6744         xorl    %edi,%ebx
6745         movl    12(%esp),%ecx
6746         addl    (%esi),%eax
6747         addl    4(%esi),%ebx
6748         addl    8(%esi),%edi
6749         addl    12(%esi),%ecx
6750         movl    %eax,(%esi)
6751         movl    %ebx,4(%esi)
6752         movl    %edi,8(%esi)
6753         movl    %ecx,12(%esi)
6754         movl    %ebx,4(%esp)
6755         xorl    %edi,%ebx
6756         movl    %edi,8(%esp)
6757         movl    %ecx,12(%esp)
6758         movl    20(%esp),%edi
6759         movl    24(%esp),%ecx
6760         addl    16(%esi),%edx
6761         addl    20(%esi),%edi
6762         addl    24(%esi),%ecx
6763         movl    %edx,16(%esi)
6764         movl    %edi,20(%esi)
6765         movl    %edi,20(%esp)
6766         movl    28(%esp),%edi
6767         movl    %ecx,24(%esi)
6768         addl    28(%esi),%edi
6769         movl    %ecx,24(%esp)
6770         movl    %edi,28(%esi)
6771         movl    %edi,28(%esp)
6772         movl    100(%esp),%edi
6773         vmovdqa 64(%ebp),%xmm7
6774         subl    $192,%ebp
6775         cmpl    104(%esp),%edi
6776         jb      .L017grand_avx_bmi
6777         movl    108(%esp),%esp
6778         vzeroall
6779         popl    %edi
6780         popl    %esi
6781         popl    %ebx
6782         popl    %ebp
6783         ret
6784 .size   sha256_block_data_order,.-.L_sha256_block_data_order_begin
6785 .comm   OPENSSL_ia32cap_P,16,4
6786 #else
6787 .text
6788 .globl  sha256_block_data_order
6789 .type   sha256_block_data_order,@function
6790 .align  16
6791 sha256_block_data_order:
6792 .L_sha256_block_data_order_begin:
6793         pushl   %ebp
6794         pushl   %ebx
6795         pushl   %esi
6796         pushl   %edi
6797         movl    20(%esp),%esi
6798         movl    24(%esp),%edi
6799         movl    28(%esp),%eax
6800         movl    %esp,%ebx
6801         call    .L000pic_point
6802 .L000pic_point:
6803         popl    %ebp
6804         leal    .L001K256-.L000pic_point(%ebp),%ebp
6805         subl    $16,%esp
6806         andl    $-64,%esp
6807         shll    $6,%eax
6808         addl    %edi,%eax
6809         movl    %esi,(%esp)
6810         movl    %edi,4(%esp)
6811         movl    %eax,8(%esp)
6812         movl    %ebx,12(%esp)
6813         leal    OPENSSL_ia32cap_P,%edx
6814         movl    (%edx),%ecx
6815         movl    4(%edx),%ebx
6816         testl   $1048576,%ecx
6817         jnz     .L002loop
6818         movl    8(%edx),%edx
6819         testl   $16777216,%ecx
6820         jz      .L003no_xmm
6821         andl    $1073741824,%ecx
6822         andl    $268435968,%ebx
6823         testl   $536870912,%edx
6824         jnz     .L004shaext
6825         orl     %ebx,%ecx
6826         andl    $1342177280,%ecx
6827         cmpl    $1342177280,%ecx
6828         je      .L005AVX
6829         testl   $512,%ebx
6830         jnz     .L006SSSE3
6831 .L003no_xmm:
6832         subl    %edi,%eax
6833         cmpl    $256,%eax
6834         jae     .L007unrolled
6835         jmp     .L002loop
6836 .align  16
6837 .L002loop:
6838         movl    (%edi),%eax
6839         movl    4(%edi),%ebx
6840         movl    8(%edi),%ecx
6841         bswap   %eax
6842         movl    12(%edi),%edx
6843         bswap   %ebx
6844         pushl   %eax
6845         bswap   %ecx
6846         pushl   %ebx
6847         bswap   %edx
6848         pushl   %ecx
6849         pushl   %edx
6850         movl    16(%edi),%eax
6851         movl    20(%edi),%ebx
6852         movl    24(%edi),%ecx
6853         bswap   %eax
6854         movl    28(%edi),%edx
6855         bswap   %ebx
6856         pushl   %eax
6857         bswap   %ecx
6858         pushl   %ebx
6859         bswap   %edx
6860         pushl   %ecx
6861         pushl   %edx
6862         movl    32(%edi),%eax
6863         movl    36(%edi),%ebx
6864         movl    40(%edi),%ecx
6865         bswap   %eax
6866         movl    44(%edi),%edx
6867         bswap   %ebx
6868         pushl   %eax
6869         bswap   %ecx
6870         pushl   %ebx
6871         bswap   %edx
6872         pushl   %ecx
6873         pushl   %edx
6874         movl    48(%edi),%eax
6875         movl    52(%edi),%ebx
6876         movl    56(%edi),%ecx
6877         bswap   %eax
6878         movl    60(%edi),%edx
6879         bswap   %ebx
6880         pushl   %eax
6881         bswap   %ecx
6882         pushl   %ebx
6883         bswap   %edx
6884         pushl   %ecx
6885         pushl   %edx
6886         addl    $64,%edi
6887         leal    -36(%esp),%esp
6888         movl    %edi,104(%esp)
6889         movl    (%esi),%eax
6890         movl    4(%esi),%ebx
6891         movl    8(%esi),%ecx
6892         movl    12(%esi),%edi
6893         movl    %ebx,8(%esp)
6894         xorl    %ecx,%ebx
6895         movl    %ecx,12(%esp)
6896         movl    %edi,16(%esp)
6897         movl    %ebx,(%esp)
6898         movl    16(%esi),%edx
6899         movl    20(%esi),%ebx
6900         movl    24(%esi),%ecx
6901         movl    28(%esi),%edi
6902         movl    %ebx,24(%esp)
6903         movl    %ecx,28(%esp)
6904         movl    %edi,32(%esp)
6905 .align  16
6906 .L00800_15:
6907         movl    %edx,%ecx
6908         movl    24(%esp),%esi
6909         rorl    $14,%ecx
6910         movl    28(%esp),%edi
6911         xorl    %edx,%ecx
6912         xorl    %edi,%esi
6913         movl    96(%esp),%ebx
6914         rorl    $5,%ecx
6915         andl    %edx,%esi
6916         movl    %edx,20(%esp)
6917         xorl    %ecx,%edx
6918         addl    32(%esp),%ebx
6919         xorl    %edi,%esi
6920         rorl    $6,%edx
6921         movl    %eax,%ecx
6922         addl    %esi,%ebx
6923         rorl    $9,%ecx
6924         addl    %edx,%ebx
6925         movl    8(%esp),%edi
6926         xorl    %eax,%ecx
6927         movl    %eax,4(%esp)
6928         leal    -4(%esp),%esp
6929         rorl    $11,%ecx
6930         movl    (%ebp),%esi
6931         xorl    %eax,%ecx
6932         movl    20(%esp),%edx
6933         xorl    %edi,%eax
6934         rorl    $2,%ecx
6935         addl    %esi,%ebx
6936         movl    %eax,(%esp)
6937         addl    %ebx,%edx
6938         andl    4(%esp),%eax
6939         addl    %ecx,%ebx
6940         xorl    %edi,%eax
6941         addl    $4,%ebp
6942         addl    %ebx,%eax
6943         cmpl    $3248222580,%esi
6944         jne     .L00800_15
6945         movl    156(%esp),%ecx
6946         jmp     .L00916_63
6947 .align  16
6948 .L00916_63:
6949         movl    %ecx,%ebx
6950         movl    104(%esp),%esi
6951         rorl    $11,%ecx
6952         movl    %esi,%edi
6953         rorl    $2,%esi
6954         xorl    %ebx,%ecx
6955         shrl    $3,%ebx
6956         rorl    $7,%ecx
6957         xorl    %edi,%esi
6958         xorl    %ecx,%ebx
6959         rorl    $17,%esi
6960         addl    160(%esp),%ebx
6961         shrl    $10,%edi
6962         addl    124(%esp),%ebx
6963         movl    %edx,%ecx
6964         xorl    %esi,%edi
6965         movl    24(%esp),%esi
6966         rorl    $14,%ecx
6967         addl    %edi,%ebx
6968         movl    28(%esp),%edi
6969         xorl    %edx,%ecx
6970         xorl    %edi,%esi
6971         movl    %ebx,96(%esp)
6972         rorl    $5,%ecx
6973         andl    %edx,%esi
6974         movl    %edx,20(%esp)
6975         xorl    %ecx,%edx
6976         addl    32(%esp),%ebx
6977         xorl    %edi,%esi
6978         rorl    $6,%edx
6979         movl    %eax,%ecx
6980         addl    %esi,%ebx
6981         rorl    $9,%ecx
6982         addl    %edx,%ebx
6983         movl    8(%esp),%edi
6984         xorl    %eax,%ecx
6985         movl    %eax,4(%esp)
6986         leal    -4(%esp),%esp
6987         rorl    $11,%ecx
6988         movl    (%ebp),%esi
6989         xorl    %eax,%ecx
6990         movl    20(%esp),%edx
6991         xorl    %edi,%eax
6992         rorl    $2,%ecx
6993         addl    %esi,%ebx
6994         movl    %eax,(%esp)
6995         addl    %ebx,%edx
6996         andl    4(%esp),%eax
6997         addl    %ecx,%ebx
6998         xorl    %edi,%eax
6999         movl    156(%esp),%ecx
7000         addl    $4,%ebp
7001         addl    %ebx,%eax
7002         cmpl    $3329325298,%esi
7003         jne     .L00916_63
7004         movl    356(%esp),%esi
7005         movl    8(%esp),%ebx
7006         movl    16(%esp),%ecx
7007         addl    (%esi),%eax
7008         addl    4(%esi),%ebx
7009         addl    8(%esi),%edi
7010         addl    12(%esi),%ecx
7011         movl    %eax,(%esi)
7012         movl    %ebx,4(%esi)
7013         movl    %edi,8(%esi)
7014         movl    %ecx,12(%esi)
7015         movl    24(%esp),%eax
7016         movl    28(%esp),%ebx
7017         movl    32(%esp),%ecx
7018         movl    360(%esp),%edi
7019         addl    16(%esi),%edx
7020         addl    20(%esi),%eax
7021         addl    24(%esi),%ebx
7022         addl    28(%esi),%ecx
7023         movl    %edx,16(%esi)
7024         movl    %eax,20(%esi)
7025         movl    %ebx,24(%esi)
7026         movl    %ecx,28(%esi)
7027         leal    356(%esp),%esp
7028         subl    $256,%ebp
7029         cmpl    8(%esp),%edi
7030         jb      .L002loop
7031         movl    12(%esp),%esp
7032         popl    %edi
7033         popl    %esi
7034         popl    %ebx
7035         popl    %ebp
7036         ret
7037 .align  64
7038 .L001K256:
7039 .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
7040 .long   66051,67438087,134810123,202182159
7041 .byte   83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
7042 .byte   110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
7043 .byte   67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
7044 .byte   112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
7045 .byte   62,0
7046 .align  16
7047 .L007unrolled:
7048         leal    -96(%esp),%esp
7049         movl    (%esi),%eax
7050         movl    4(%esi),%ebp
7051         movl    8(%esi),%ecx
7052         movl    12(%esi),%ebx
7053         movl    %ebp,4(%esp)
7054         xorl    %ecx,%ebp
7055         movl    %ecx,8(%esp)
7056         movl    %ebx,12(%esp)
7057         movl    16(%esi),%edx
7058         movl    20(%esi),%ebx
7059         movl    24(%esi),%ecx
7060         movl    28(%esi),%esi
7061         movl    %ebx,20(%esp)
7062         movl    %ecx,24(%esp)
7063         movl    %esi,28(%esp)
7064         jmp     .L010grand_loop
7065 .align  16
7066 .L010grand_loop:
7067         movl    (%edi),%ebx
7068         movl    4(%edi),%ecx
7069         bswap   %ebx
7070         movl    8(%edi),%esi
7071         bswap   %ecx
7072         movl    %ebx,32(%esp)
7073         bswap   %esi
7074         movl    %ecx,36(%esp)
7075         movl    %esi,40(%esp)
7076         movl    12(%edi),%ebx
7077         movl    16(%edi),%ecx
7078         bswap   %ebx
7079         movl    20(%edi),%esi
7080         bswap   %ecx
7081         movl    %ebx,44(%esp)
7082         bswap   %esi
7083         movl    %ecx,48(%esp)
7084         movl    %esi,52(%esp)
7085         movl    24(%edi),%ebx
7086         movl    28(%edi),%ecx
7087         bswap   %ebx
7088         movl    32(%edi),%esi
7089         bswap   %ecx
7090         movl    %ebx,56(%esp)
7091         bswap   %esi
7092         movl    %ecx,60(%esp)
7093         movl    %esi,64(%esp)
7094         movl    36(%edi),%ebx
7095         movl    40(%edi),%ecx
7096         bswap   %ebx
7097         movl    44(%edi),%esi
7098         bswap   %ecx
7099         movl    %ebx,68(%esp)
7100         bswap   %esi
7101         movl    %ecx,72(%esp)
7102         movl    %esi,76(%esp)
7103         movl    48(%edi),%ebx
7104         movl    52(%edi),%ecx
7105         bswap   %ebx
7106         movl    56(%edi),%esi
7107         bswap   %ecx
7108         movl    %ebx,80(%esp)
7109         bswap   %esi
7110         movl    %ecx,84(%esp)
7111         movl    %esi,88(%esp)
7112         movl    60(%edi),%ebx
7113         addl    $64,%edi
7114         bswap   %ebx
7115         movl    %edi,100(%esp)
7116         movl    %ebx,92(%esp)
7117         movl    %edx,%ecx
7118         movl    20(%esp),%esi
7119         rorl    $14,%edx
7120         movl    24(%esp),%edi
7121         xorl    %ecx,%edx
7122         movl    32(%esp),%ebx
7123         xorl    %edi,%esi
7124         rorl    $5,%edx
7125         andl    %ecx,%esi
7126         movl    %ecx,16(%esp)
7127         xorl    %ecx,%edx
7128         addl    28(%esp),%ebx
7129         xorl    %esi,%edi
7130         rorl    $6,%edx
7131         movl    %eax,%ecx
7132         addl    %edi,%ebx
7133         rorl    $9,%ecx
7134         movl    %eax,%esi
7135         movl    4(%esp),%edi
7136         xorl    %eax,%ecx
7137         movl    %eax,(%esp)
7138         xorl    %edi,%eax
7139         rorl    $11,%ecx
7140         andl    %eax,%ebp
7141         leal    1116352408(%ebx,%edx,1),%edx
7142         xorl    %esi,%ecx
7143         xorl    %edi,%ebp
7144         rorl    $2,%ecx
7145         addl    %edx,%ebp
7146         addl    12(%esp),%edx
7147         addl    %ecx,%ebp
7148         movl    %edx,%esi
7149         movl    16(%esp),%ecx
7150         rorl    $14,%edx
7151         movl    20(%esp),%edi
7152         xorl    %esi,%edx
7153         movl    36(%esp),%ebx
7154         xorl    %edi,%ecx
7155         rorl    $5,%edx
7156         andl    %esi,%ecx
7157         movl    %esi,12(%esp)
7158         xorl    %esi,%edx
7159         addl    24(%esp),%ebx
7160         xorl    %ecx,%edi
7161         rorl    $6,%edx
7162         movl    %ebp,%esi
7163         addl    %edi,%ebx
7164         rorl    $9,%esi
7165         movl    %ebp,%ecx
7166         movl    (%esp),%edi
7167         xorl    %ebp,%esi
7168         movl    %ebp,28(%esp)
7169         xorl    %edi,%ebp
7170         rorl    $11,%esi
7171         andl    %ebp,%eax
7172         leal    1899447441(%ebx,%edx,1),%edx
7173         xorl    %ecx,%esi
7174         xorl    %edi,%eax
7175         rorl    $2,%esi
7176         addl    %edx,%eax
7177         addl    8(%esp),%edx
7178         addl    %esi,%eax
7179         movl    %edx,%ecx
7180         movl    12(%esp),%esi
7181         rorl    $14,%edx
7182         movl    16(%esp),%edi
7183         xorl    %ecx,%edx
7184         movl    40(%esp),%ebx
7185         xorl    %edi,%esi
7186         rorl    $5,%edx
7187         andl    %ecx,%esi
7188         movl    %ecx,8(%esp)
7189         xorl    %ecx,%edx
7190         addl    20(%esp),%ebx
7191         xorl    %esi,%edi
7192         rorl    $6,%edx
7193         movl    %eax,%ecx
7194         addl    %edi,%ebx
7195         rorl    $9,%ecx
7196         movl    %eax,%esi
7197         movl    28(%esp),%edi
7198         xorl    %eax,%ecx
7199         movl    %eax,24(%esp)
7200         xorl    %edi,%eax
7201         rorl    $11,%ecx
7202         andl    %eax,%ebp
7203         leal    3049323471(%ebx,%edx,1),%edx
7204         xorl    %esi,%ecx
7205         xorl    %edi,%ebp
7206         rorl    $2,%ecx
7207         addl    %edx,%ebp
7208         addl    4(%esp),%edx
7209         addl    %ecx,%ebp
7210         movl    %edx,%esi
7211         movl    8(%esp),%ecx
7212         rorl    $14,%edx
7213         movl    12(%esp),%edi
7214         xorl    %esi,%edx
7215         movl    44(%esp),%ebx
7216         xorl    %edi,%ecx
7217         rorl    $5,%edx
7218         andl    %esi,%ecx
7219         movl    %esi,4(%esp)
7220         xorl    %esi,%edx
7221         addl    16(%esp),%ebx
7222         xorl    %ecx,%edi
7223         rorl    $6,%edx
7224         movl    %ebp,%esi
7225         addl    %edi,%ebx
7226         rorl    $9,%esi
7227         movl    %ebp,%ecx
7228         movl    24(%esp),%edi
7229         xorl    %ebp,%esi
7230         movl    %ebp,20(%esp)
7231         xorl    %edi,%ebp
7232         rorl    $11,%esi
7233         andl    %ebp,%eax
7234         leal    3921009573(%ebx,%edx,1),%edx
7235         xorl    %ecx,%esi
7236         xorl    %edi,%eax
7237         rorl    $2,%esi
7238         addl    %edx,%eax
7239         addl    (%esp),%edx
7240         addl    %esi,%eax
7241         movl    %edx,%ecx
7242         movl    4(%esp),%esi
7243         rorl    $14,%edx
7244         movl    8(%esp),%edi
7245         xorl    %ecx,%edx
7246         movl    48(%esp),%ebx
7247         xorl    %edi,%esi
7248         rorl    $5,%edx
7249         andl    %ecx,%esi
7250         movl    %ecx,(%esp)
7251         xorl    %ecx,%edx
7252         addl    12(%esp),%ebx
7253         xorl    %esi,%edi
7254         rorl    $6,%edx
7255         movl    %eax,%ecx
7256         addl    %edi,%ebx
7257         rorl    $9,%ecx
7258         movl    %eax,%esi
7259         movl    20(%esp),%edi
7260         xorl    %eax,%ecx
7261         movl    %eax,16(%esp)
7262         xorl    %edi,%eax
7263         rorl    $11,%ecx
7264         andl    %eax,%ebp
7265         leal    961987163(%ebx,%edx,1),%edx
7266         xorl    %esi,%ecx
7267         xorl    %edi,%ebp
7268         rorl    $2,%ecx
7269         addl    %edx,%ebp
7270         addl    28(%esp),%edx
7271         addl    %ecx,%ebp
7272         movl    %edx,%esi
7273         movl    (%esp),%ecx
7274         rorl    $14,%edx
7275         movl    4(%esp),%edi
7276         xorl    %esi,%edx
7277         movl    52(%esp),%ebx
7278         xorl    %edi,%ecx
7279         rorl    $5,%edx
7280         andl    %esi,%ecx
7281         movl    %esi,28(%esp)
7282         xorl    %esi,%edx
7283         addl    8(%esp),%ebx
7284         xorl    %ecx,%edi
7285         rorl    $6,%edx
7286         movl    %ebp,%esi
7287         addl    %edi,%ebx
7288         rorl    $9,%esi
7289         movl    %ebp,%ecx
7290         movl    16(%esp),%edi
7291         xorl    %ebp,%esi
7292         movl    %ebp,12(%esp)
7293         xorl    %edi,%ebp
7294         rorl    $11,%esi
7295         andl    %ebp,%eax
7296         leal    1508970993(%ebx,%edx,1),%edx
7297         xorl    %ecx,%esi
7298         xorl    %edi,%eax
7299         rorl    $2,%esi
7300         addl    %edx,%eax
7301         addl    24(%esp),%edx
7302         addl    %esi,%eax
7303         movl    %edx,%ecx
7304         movl    28(%esp),%esi
7305         rorl    $14,%edx
7306         movl    (%esp),%edi
7307         xorl    %ecx,%edx
7308         movl    56(%esp),%ebx
7309         xorl    %edi,%esi
7310         rorl    $5,%edx
7311         andl    %ecx,%esi
7312         movl    %ecx,24(%esp)
7313         xorl    %ecx,%edx
7314         addl    4(%esp),%ebx
7315         xorl    %esi,%edi
7316         rorl    $6,%edx
7317         movl    %eax,%ecx
7318         addl    %edi,%ebx
7319         rorl    $9,%ecx
7320         movl    %eax,%esi
7321         movl    12(%esp),%edi
7322         xorl    %eax,%ecx
7323         movl    %eax,8(%esp)
7324         xorl    %edi,%eax
7325         rorl    $11,%ecx
7326         andl    %eax,%ebp
7327         leal    2453635748(%ebx,%edx,1),%edx
7328         xorl    %esi,%ecx
7329         xorl    %edi,%ebp
7330         rorl    $2,%ecx
7331         addl    %edx,%ebp
7332         addl    20(%esp),%edx
7333         addl    %ecx,%ebp
7334         movl    %edx,%esi
7335         movl    24(%esp),%ecx
7336         rorl    $14,%edx
7337         movl    28(%esp),%edi
7338         xorl    %esi,%edx
7339         movl    60(%esp),%ebx
7340         xorl    %edi,%ecx
7341         rorl    $5,%edx
7342         andl    %esi,%ecx
7343         movl    %esi,20(%esp)
7344         xorl    %esi,%edx
7345         addl    (%esp),%ebx
7346         xorl    %ecx,%edi
7347         rorl    $6,%edx
7348         movl    %ebp,%esi
7349         addl    %edi,%ebx
7350         rorl    $9,%esi
7351         movl    %ebp,%ecx
7352         movl    8(%esp),%edi
7353         xorl    %ebp,%esi
7354         movl    %ebp,4(%esp)
7355         xorl    %edi,%ebp
7356         rorl    $11,%esi
7357         andl    %ebp,%eax
7358         leal    2870763221(%ebx,%edx,1),%edx
7359         xorl    %ecx,%esi
7360         xorl    %edi,%eax
7361         rorl    $2,%esi
7362         addl    %edx,%eax
7363         addl    16(%esp),%edx
7364         addl    %esi,%eax
7365         movl    %edx,%ecx
7366         movl    20(%esp),%esi
7367         rorl    $14,%edx
7368         movl    24(%esp),%edi
7369         xorl    %ecx,%edx
7370         movl    64(%esp),%ebx
7371         xorl    %edi,%esi
7372         rorl    $5,%edx
7373         andl    %ecx,%esi
7374         movl    %ecx,16(%esp)
7375         xorl    %ecx,%edx
7376         addl    28(%esp),%ebx
7377         xorl    %esi,%edi
7378         rorl    $6,%edx
7379         movl    %eax,%ecx
7380         addl    %edi,%ebx
7381         rorl    $9,%ecx
7382         movl    %eax,%esi
7383         movl    4(%esp),%edi
7384         xorl    %eax,%ecx
7385         movl    %eax,(%esp)
7386         xorl    %edi,%eax
7387         rorl    $11,%ecx
7388         andl    %eax,%ebp
7389         leal    3624381080(%ebx,%edx,1),%edx
7390         xorl    %esi,%ecx
7391         xorl    %edi,%ebp
7392         rorl    $2,%ecx
7393         addl    %edx,%ebp
7394         addl    12(%esp),%edx
7395         addl    %ecx,%ebp
7396         movl    %edx,%esi
7397         movl    16(%esp),%ecx
7398         rorl    $14,%edx
7399         movl    20(%esp),%edi
7400         xorl    %esi,%edx
7401         movl    68(%esp),%ebx
7402         xorl    %edi,%ecx
7403         rorl    $5,%edx
7404         andl    %esi,%ecx
7405         movl    %esi,12(%esp)
7406         xorl    %esi,%edx
7407         addl    24(%esp),%ebx
7408         xorl    %ecx,%edi
7409         rorl    $6,%edx
7410         movl    %ebp,%esi
7411         addl    %edi,%ebx
7412         rorl    $9,%esi
7413         movl    %ebp,%ecx
7414         movl    (%esp),%edi
7415         xorl    %ebp,%esi
7416         movl    %ebp,28(%esp)
7417         xorl    %edi,%ebp
7418         rorl    $11,%esi
7419         andl    %ebp,%eax
7420         leal    310598401(%ebx,%edx,1),%edx
7421         xorl    %ecx,%esi
7422         xorl    %edi,%eax
7423         rorl    $2,%esi
7424         addl    %edx,%eax
7425         addl    8(%esp),%edx
7426         addl    %esi,%eax
7427         movl    %edx,%ecx
7428         movl    12(%esp),%esi
7429         rorl    $14,%edx
7430         movl    16(%esp),%edi
7431         xorl    %ecx,%edx
7432         movl    72(%esp),%ebx
7433         xorl    %edi,%esi
7434         rorl    $5,%edx
7435         andl    %ecx,%esi
7436         movl    %ecx,8(%esp)
7437         xorl    %ecx,%edx
7438         addl    20(%esp),%ebx
7439         xorl    %esi,%edi
7440         rorl    $6,%edx
7441         movl    %eax,%ecx
7442         addl    %edi,%ebx
7443         rorl    $9,%ecx
7444         movl    %eax,%esi
7445         movl    28(%esp),%edi
7446         xorl    %eax,%ecx
7447         movl    %eax,24(%esp)
7448         xorl    %edi,%eax
7449         rorl    $11,%ecx
7450         andl    %eax,%ebp
7451         leal    607225278(%ebx,%edx,1),%edx
7452         xorl    %esi,%ecx
7453         xorl    %edi,%ebp
7454         rorl    $2,%ecx
7455         addl    %edx,%ebp
7456         addl    4(%esp),%edx
7457         addl    %ecx,%ebp
7458         movl    %edx,%esi
7459         movl    8(%esp),%ecx
7460         rorl    $14,%edx
7461         movl    12(%esp),%edi
7462         xorl    %esi,%edx
7463         movl    76(%esp),%ebx
7464         xorl    %edi,%ecx
7465         rorl    $5,%edx
7466         andl    %esi,%ecx
7467         movl    %esi,4(%esp)
7468         xorl    %esi,%edx
7469         addl    16(%esp),%ebx
7470         xorl    %ecx,%edi
7471         rorl    $6,%edx
7472         movl    %ebp,%esi
7473         addl    %edi,%ebx
7474         rorl    $9,%esi
7475         movl    %ebp,%ecx
7476         movl    24(%esp),%edi
7477         xorl    %ebp,%esi
7478         movl    %ebp,20(%esp)
7479         xorl    %edi,%ebp
7480         rorl    $11,%esi
7481         andl    %ebp,%eax
7482         leal    1426881987(%ebx,%edx,1),%edx
7483         xorl    %ecx,%esi
7484         xorl    %edi,%eax
7485         rorl    $2,%esi
7486         addl    %edx,%eax
7487         addl    (%esp),%edx
7488         addl    %esi,%eax
7489         movl    %edx,%ecx
7490         movl    4(%esp),%esi
7491         rorl    $14,%edx
7492         movl    8(%esp),%edi
7493         xorl    %ecx,%edx
7494         movl    80(%esp),%ebx
7495         xorl    %edi,%esi
7496         rorl    $5,%edx
7497         andl    %ecx,%esi
7498         movl    %ecx,(%esp)
7499         xorl    %ecx,%edx
7500         addl    12(%esp),%ebx
7501         xorl    %esi,%edi
7502         rorl    $6,%edx
7503         movl    %eax,%ecx
7504         addl    %edi,%ebx
7505         rorl    $9,%ecx
7506         movl    %eax,%esi
7507         movl    20(%esp),%edi
7508         xorl    %eax,%ecx
7509         movl    %eax,16(%esp)
7510         xorl    %edi,%eax
7511         rorl    $11,%ecx
7512         andl    %eax,%ebp
7513         leal    1925078388(%ebx,%edx,1),%edx
7514         xorl    %esi,%ecx
7515         xorl    %edi,%ebp
7516         rorl    $2,%ecx
7517         addl    %edx,%ebp
7518         addl    28(%esp),%edx
7519         addl    %ecx,%ebp
7520         movl    %edx,%esi
7521         movl    (%esp),%ecx
7522         rorl    $14,%edx
7523         movl    4(%esp),%edi
7524         xorl    %esi,%edx
7525         movl    84(%esp),%ebx
7526         xorl    %edi,%ecx
7527         rorl    $5,%edx
7528         andl    %esi,%ecx
7529         movl    %esi,28(%esp)
7530         xorl    %esi,%edx
7531         addl    8(%esp),%ebx
7532         xorl    %ecx,%edi
7533         rorl    $6,%edx
7534         movl    %ebp,%esi
7535         addl    %edi,%ebx
7536         rorl    $9,%esi
7537         movl    %ebp,%ecx
7538         movl    16(%esp),%edi
7539         xorl    %ebp,%esi
7540         movl    %ebp,12(%esp)
7541         xorl    %edi,%ebp
7542         rorl    $11,%esi
7543         andl    %ebp,%eax
7544         leal    2162078206(%ebx,%edx,1),%edx
7545         xorl    %ecx,%esi
7546         xorl    %edi,%eax
7547         rorl    $2,%esi
7548         addl    %edx,%eax
7549         addl    24(%esp),%edx
7550         addl    %esi,%eax
7551         movl    %edx,%ecx
7552         movl    28(%esp),%esi
7553         rorl    $14,%edx
7554         movl    (%esp),%edi
7555         xorl    %ecx,%edx
7556         movl    88(%esp),%ebx
7557         xorl    %edi,%esi
7558         rorl    $5,%edx
7559         andl    %ecx,%esi
7560         movl    %ecx,24(%esp)
7561         xorl    %ecx,%edx
7562         addl    4(%esp),%ebx
7563         xorl    %esi,%edi
7564         rorl    $6,%edx
7565         movl    %eax,%ecx
7566         addl    %edi,%ebx
7567         rorl    $9,%ecx
7568         movl    %eax,%esi
7569         movl    12(%esp),%edi
7570         xorl    %eax,%ecx
7571         movl    %eax,8(%esp)
7572         xorl    %edi,%eax
7573         rorl    $11,%ecx
7574         andl    %eax,%ebp
7575         leal    2614888103(%ebx,%edx,1),%edx
7576         xorl    %esi,%ecx
7577         xorl    %edi,%ebp
7578         rorl    $2,%ecx
7579         addl    %edx,%ebp
7580         addl    20(%esp),%edx
7581         addl    %ecx,%ebp
7582         movl    %edx,%esi
7583         movl    24(%esp),%ecx
7584         rorl    $14,%edx
7585         movl    28(%esp),%edi
7586         xorl    %esi,%edx
7587         movl    92(%esp),%ebx
7588         xorl    %edi,%ecx
7589         rorl    $5,%edx
7590         andl    %esi,%ecx
7591         movl    %esi,20(%esp)
7592         xorl    %esi,%edx
7593         addl    (%esp),%ebx
7594         xorl    %ecx,%edi
7595         rorl    $6,%edx
7596         movl    %ebp,%esi
7597         addl    %edi,%ebx
7598         rorl    $9,%esi
7599         movl    %ebp,%ecx
7600         movl    8(%esp),%edi
7601         xorl    %ebp,%esi
7602         movl    %ebp,4(%esp)
7603         xorl    %edi,%ebp
7604         rorl    $11,%esi
7605         andl    %ebp,%eax
7606         leal    3248222580(%ebx,%edx,1),%edx
7607         xorl    %ecx,%esi
7608         xorl    %edi,%eax
7609         movl    36(%esp),%ecx
7610         rorl    $2,%esi
7611         addl    %edx,%eax
7612         addl    16(%esp),%edx
7613         addl    %esi,%eax
7614         movl    88(%esp),%esi
7615         movl    %ecx,%ebx
7616         rorl    $11,%ecx
7617         movl    %esi,%edi
7618         rorl    $2,%esi
7619         xorl    %ebx,%ecx
7620         shrl    $3,%ebx
7621         rorl    $7,%ecx
7622         xorl    %edi,%esi
7623         xorl    %ecx,%ebx
7624         rorl    $17,%esi
7625         addl    32(%esp),%ebx
7626         shrl    $10,%edi
7627         addl    68(%esp),%ebx
7628         movl    %edx,%ecx
7629         xorl    %esi,%edi
7630         movl    20(%esp),%esi
7631         rorl    $14,%edx
7632         addl    %edi,%ebx
7633         movl    24(%esp),%edi
7634         xorl    %ecx,%edx
7635         movl    %ebx,32(%esp)
7636         xorl    %edi,%esi
7637         rorl    $5,%edx
7638         andl    %ecx,%esi
7639         movl    %ecx,16(%esp)
7640         xorl    %ecx,%edx
7641         addl    28(%esp),%ebx
7642         xorl    %esi,%edi
7643         rorl    $6,%edx
7644         movl    %eax,%ecx
7645         addl    %edi,%ebx
7646         rorl    $9,%ecx
7647         movl    %eax,%esi
7648         movl    4(%esp),%edi
7649         xorl    %eax,%ecx
7650         movl    %eax,(%esp)
7651         xorl    %edi,%eax
7652         rorl    $11,%ecx
7653         andl    %eax,%ebp
7654         leal    3835390401(%ebx,%edx,1),%edx
7655         xorl    %esi,%ecx
7656         xorl    %edi,%ebp
7657         movl    40(%esp),%esi
7658         rorl    $2,%ecx
7659         addl    %edx,%ebp
7660         addl    12(%esp),%edx
7661         addl    %ecx,%ebp
7662         movl    92(%esp),%ecx
7663         movl    %esi,%ebx
7664         rorl    $11,%esi
7665         movl    %ecx,%edi
7666         rorl    $2,%ecx
7667         xorl    %ebx,%esi
7668         shrl    $3,%ebx
7669         rorl    $7,%esi
7670         xorl    %edi,%ecx
7671         xorl    %esi,%ebx
7672         rorl    $17,%ecx
7673         addl    36(%esp),%ebx
7674         shrl    $10,%edi
7675         addl    72(%esp),%ebx
7676         movl    %edx,%esi
7677         xorl    %ecx,%edi
7678         movl    16(%esp),%ecx
7679         rorl    $14,%edx
7680         addl    %edi,%ebx
7681         movl    20(%esp),%edi
7682         xorl    %esi,%edx
7683         movl    %ebx,36(%esp)
7684         xorl    %edi,%ecx
7685         rorl    $5,%edx
7686         andl    %esi,%ecx
7687         movl    %esi,12(%esp)
7688         xorl    %esi,%edx
7689         addl    24(%esp),%ebx
7690         xorl    %ecx,%edi
7691         rorl    $6,%edx
7692         movl    %ebp,%esi
7693         addl    %edi,%ebx
7694         rorl    $9,%esi
7695         movl    %ebp,%ecx
7696         movl    (%esp),%edi
7697         xorl    %ebp,%esi
7698         movl    %ebp,28(%esp)
7699         xorl    %edi,%ebp
7700         rorl    $11,%esi
7701         andl    %ebp,%eax
7702         leal    4022224774(%ebx,%edx,1),%edx
7703         xorl    %ecx,%esi
7704         xorl    %edi,%eax
7705         movl    44(%esp),%ecx
7706         rorl    $2,%esi
7707         addl    %edx,%eax
7708         addl    8(%esp),%edx
7709         addl    %esi,%eax
7710         movl    32(%esp),%esi
7711         movl    %ecx,%ebx
7712         rorl    $11,%ecx
7713         movl    %esi,%edi
7714         rorl    $2,%esi
7715         xorl    %ebx,%ecx
7716         shrl    $3,%ebx
7717         rorl    $7,%ecx
7718         xorl    %edi,%esi
7719         xorl    %ecx,%ebx
7720         rorl    $17,%esi
7721         addl    40(%esp),%ebx
7722         shrl    $10,%edi
7723         addl    76(%esp),%ebx
7724         movl    %edx,%ecx
7725         xorl    %esi,%edi
7726         movl    12(%esp),%esi
7727         rorl    $14,%edx
7728         addl    %edi,%ebx
7729         movl    16(%esp),%edi
7730         xorl    %ecx,%edx
7731         movl    %ebx,40(%esp)
7732         xorl    %edi,%esi
7733         rorl    $5,%edx
7734         andl    %ecx,%esi
7735         movl    %ecx,8(%esp)
7736         xorl    %ecx,%edx
7737         addl    20(%esp),%ebx
7738         xorl    %esi,%edi
7739         rorl    $6,%edx
7740         movl    %eax,%ecx
7741         addl    %edi,%ebx
7742         rorl    $9,%ecx
7743         movl    %eax,%esi
7744         movl    28(%esp),%edi
7745         xorl    %eax,%ecx
7746         movl    %eax,24(%esp)
7747         xorl    %edi,%eax
7748         rorl    $11,%ecx
7749         andl    %eax,%ebp
7750         leal    264347078(%ebx,%edx,1),%edx
7751         xorl    %esi,%ecx
7752         xorl    %edi,%ebp
7753         movl    48(%esp),%esi
7754         rorl    $2,%ecx
7755         addl    %edx,%ebp
7756         addl    4(%esp),%edx
7757         addl    %ecx,%ebp
7758         movl    36(%esp),%ecx
7759         movl    %esi,%ebx
7760         rorl    $11,%esi
7761         movl    %ecx,%edi
7762         rorl    $2,%ecx
7763         xorl    %ebx,%esi
7764         shrl    $3,%ebx
7765         rorl    $7,%esi
7766         xorl    %edi,%ecx
7767         xorl    %esi,%ebx
7768         rorl    $17,%ecx
7769         addl    44(%esp),%ebx
7770         shrl    $10,%edi
7771         addl    80(%esp),%ebx
7772         movl    %edx,%esi
7773         xorl    %ecx,%edi
7774         movl    8(%esp),%ecx
7775         rorl    $14,%edx
7776         addl    %edi,%ebx
7777         movl    12(%esp),%edi
7778         xorl    %esi,%edx
7779         movl    %ebx,44(%esp)
7780         xorl    %edi,%ecx
7781         rorl    $5,%edx
7782         andl    %esi,%ecx
7783         movl    %esi,4(%esp)
7784         xorl    %esi,%edx
7785         addl    16(%esp),%ebx
7786         xorl    %ecx,%edi
7787         rorl    $6,%edx
7788         movl    %ebp,%esi
7789         addl    %edi,%ebx
7790         rorl    $9,%esi
7791         movl    %ebp,%ecx
7792         movl    24(%esp),%edi
7793         xorl    %ebp,%esi
7794         movl    %ebp,20(%esp)
7795         xorl    %edi,%ebp
7796         rorl    $11,%esi
7797         andl    %ebp,%eax
7798         leal    604807628(%ebx,%edx,1),%edx
7799         xorl    %ecx,%esi
7800         xorl    %edi,%eax
7801         movl    52(%esp),%ecx
7802         rorl    $2,%esi
7803         addl    %edx,%eax
7804         addl    (%esp),%edx
7805         addl    %esi,%eax
7806         movl    40(%esp),%esi
7807         movl    %ecx,%ebx
7808         rorl    $11,%ecx
7809         movl    %esi,%edi
7810         rorl    $2,%esi
7811         xorl    %ebx,%ecx
7812         shrl    $3,%ebx
7813         rorl    $7,%ecx
7814         xorl    %edi,%esi
7815         xorl    %ecx,%ebx
7816         rorl    $17,%esi
7817         addl    48(%esp),%ebx
7818         shrl    $10,%edi
7819         addl    84(%esp),%ebx
7820         movl    %edx,%ecx
7821         xorl    %esi,%edi
7822         movl    4(%esp),%esi
7823         rorl    $14,%edx
7824         addl    %edi,%ebx
7825         movl    8(%esp),%edi
7826         xorl    %ecx,%edx
7827         movl    %ebx,48(%esp)
7828         xorl    %edi,%esi
7829         rorl    $5,%edx
7830         andl    %ecx,%esi
7831         movl    %ecx,(%esp)
7832         xorl    %ecx,%edx
7833         addl    12(%esp),%ebx
7834         xorl    %esi,%edi
7835         rorl    $6,%edx
7836         movl    %eax,%ecx
7837         addl    %edi,%ebx
7838         rorl    $9,%ecx
7839         movl    %eax,%esi
7840         movl    20(%esp),%edi
7841         xorl    %eax,%ecx
7842         movl    %eax,16(%esp)
7843         xorl    %edi,%eax
7844         rorl    $11,%ecx
7845         andl    %eax,%ebp
7846         leal    770255983(%ebx,%edx,1),%edx
7847         xorl    %esi,%ecx
7848         xorl    %edi,%ebp
7849         movl    56(%esp),%esi
7850         rorl    $2,%ecx
7851         addl    %edx,%ebp
7852         addl    28(%esp),%edx
7853         addl    %ecx,%ebp
7854         movl    44(%esp),%ecx
7855         movl    %esi,%ebx
7856         rorl    $11,%esi
7857         movl    %ecx,%edi
7858         rorl    $2,%ecx
7859         xorl    %ebx,%esi
7860         shrl    $3,%ebx
7861         rorl    $7,%esi
7862         xorl    %edi,%ecx
7863         xorl    %esi,%ebx
7864         rorl    $17,%ecx
7865         addl    52(%esp),%ebx
7866         shrl    $10,%edi
7867         addl    88(%esp),%ebx
7868         movl    %edx,%esi
7869         xorl    %ecx,%edi
7870         movl    (%esp),%ecx
7871         rorl    $14,%edx
7872         addl    %edi,%ebx
7873         movl    4(%esp),%edi
7874         xorl    %esi,%edx
7875         movl    %ebx,52(%esp)
7876         xorl    %edi,%ecx
7877         rorl    $5,%edx
7878         andl    %esi,%ecx
7879         movl    %esi,28(%esp)
7880         xorl    %esi,%edx
7881         addl    8(%esp),%ebx
7882         xorl    %ecx,%edi
7883         rorl    $6,%edx
7884         movl    %ebp,%esi
7885         addl    %edi,%ebx
7886         rorl    $9,%esi
7887         movl    %ebp,%ecx
7888         movl    16(%esp),%edi
7889         xorl    %ebp,%esi
7890         movl    %ebp,12(%esp)
7891         xorl    %edi,%ebp
7892         rorl    $11,%esi
7893         andl    %ebp,%eax
7894         leal    1249150122(%ebx,%edx,1),%edx
7895         xorl    %ecx,%esi
7896         xorl    %edi,%eax
7897         movl    60(%esp),%ecx
7898         rorl    $2,%esi
7899         addl    %edx,%eax
7900         addl    24(%esp),%edx
7901         addl    %esi,%eax
7902         movl    48(%esp),%esi
7903         movl    %ecx,%ebx
7904         rorl    $11,%ecx
7905         movl    %esi,%edi
7906         rorl    $2,%esi
7907         xorl    %ebx,%ecx
7908         shrl    $3,%ebx
7909         rorl    $7,%ecx
7910         xorl    %edi,%esi
7911         xorl    %ecx,%ebx
7912         rorl    $17,%esi
7913         addl    56(%esp),%ebx
7914         shrl    $10,%edi
7915         addl    92(%esp),%ebx
7916         movl    %edx,%ecx
7917         xorl    %esi,%edi
7918         movl    28(%esp),%esi
7919         rorl    $14,%edx
7920         addl    %edi,%ebx
7921         movl    (%esp),%edi
7922         xorl    %ecx,%edx
7923         movl    %ebx,56(%esp)
7924         xorl    %edi,%esi
7925         rorl    $5,%edx
7926         andl    %ecx,%esi
7927         movl    %ecx,24(%esp)
7928         xorl    %ecx,%edx
7929         addl    4(%esp),%ebx
7930         xorl    %esi,%edi
7931         rorl    $6,%edx
7932         movl    %eax,%ecx
7933         addl    %edi,%ebx
7934         rorl    $9,%ecx
7935         movl    %eax,%esi
7936         movl    12(%esp),%edi
7937         xorl    %eax,%ecx
7938         movl    %eax,8(%esp)
7939         xorl    %edi,%eax
7940         rorl    $11,%ecx
7941         andl    %eax,%ebp
7942         leal    1555081692(%ebx,%edx,1),%edx
7943         xorl    %esi,%ecx
7944         xorl    %edi,%ebp
7945         movl    64(%esp),%esi
7946         rorl    $2,%ecx
7947         addl    %edx,%ebp
7948         addl    20(%esp),%edx
7949         addl    %ecx,%ebp
7950         movl    52(%esp),%ecx
7951         movl    %esi,%ebx
7952         rorl    $11,%esi
7953         movl    %ecx,%edi
7954         rorl    $2,%ecx
7955         xorl    %ebx,%esi
7956         shrl    $3,%ebx
7957         rorl    $7,%esi
7958         xorl    %edi,%ecx
7959         xorl    %esi,%ebx
7960         rorl    $17,%ecx
7961         addl    60(%esp),%ebx
7962         shrl    $10,%edi
7963         addl    32(%esp),%ebx
7964         movl    %edx,%esi
7965         xorl    %ecx,%edi
7966         movl    24(%esp),%ecx
7967         rorl    $14,%edx
7968         addl    %edi,%ebx
7969         movl    28(%esp),%edi
7970         xorl    %esi,%edx
7971         movl    %ebx,60(%esp)
7972         xorl    %edi,%ecx
7973         rorl    $5,%edx
7974         andl    %esi,%ecx
7975         movl    %esi,20(%esp)
7976         xorl    %esi,%edx
7977         addl    (%esp),%ebx
7978         xorl    %ecx,%edi
7979         rorl    $6,%edx
7980         movl    %ebp,%esi
7981         addl    %edi,%ebx
7982         rorl    $9,%esi
7983         movl    %ebp,%ecx
7984         movl    8(%esp),%edi
7985         xorl    %ebp,%esi
7986         movl    %ebp,4(%esp)
7987         xorl    %edi,%ebp
7988         rorl    $11,%esi
7989         andl    %ebp,%eax
7990         leal    1996064986(%ebx,%edx,1),%edx
7991         xorl    %ecx,%esi
7992         xorl    %edi,%eax
7993         movl    68(%esp),%ecx
7994         rorl    $2,%esi
7995         addl    %edx,%eax
7996         addl    16(%esp),%edx
7997         addl    %esi,%eax
7998         movl    56(%esp),%esi
7999         movl    %ecx,%ebx
8000         rorl    $11,%ecx
8001         movl    %esi,%edi
8002         rorl    $2,%esi
8003         xorl    %ebx,%ecx
8004         shrl    $3,%ebx
8005         rorl    $7,%ecx
8006         xorl    %edi,%esi
8007         xorl    %ecx,%ebx
8008         rorl    $17,%esi
8009         addl    64(%esp),%ebx
8010         shrl    $10,%edi
8011         addl    36(%esp),%ebx
8012         movl    %edx,%ecx
8013         xorl    %esi,%edi
8014         movl    20(%esp),%esi
8015         rorl    $14,%edx
8016         addl    %edi,%ebx
8017         movl    24(%esp),%edi
8018         xorl    %ecx,%edx
8019         movl    %ebx,64(%esp)
8020         xorl    %edi,%esi
8021         rorl    $5,%edx
8022         andl    %ecx,%esi
8023         movl    %ecx,16(%esp)
8024         xorl    %ecx,%edx
8025         addl    28(%esp),%ebx
8026         xorl    %esi,%edi
8027         rorl    $6,%edx
8028         movl    %eax,%ecx
8029         addl    %edi,%ebx
8030         rorl    $9,%ecx
8031         movl    %eax,%esi
8032         movl    4(%esp),%edi
8033         xorl    %eax,%ecx
8034         movl    %eax,(%esp)
8035         xorl    %edi,%eax
8036         rorl    $11,%ecx
8037         andl    %eax,%ebp
8038         leal    2554220882(%ebx,%edx,1),%edx
8039         xorl    %esi,%ecx
8040         xorl    %edi,%ebp
8041         movl    72(%esp),%esi
8042         rorl    $2,%ecx
8043         addl    %edx,%ebp
8044         addl    12(%esp),%edx
8045         addl    %ecx,%ebp
8046         movl    60(%esp),%ecx
8047         movl    %esi,%ebx
8048         rorl    $11,%esi
8049         movl    %ecx,%edi
8050         rorl    $2,%ecx
8051         xorl    %ebx,%esi
8052         shrl    $3,%ebx
8053         rorl    $7,%esi
8054         xorl    %edi,%ecx
8055         xorl    %esi,%ebx
8056         rorl    $17,%ecx
8057         addl    68(%esp),%ebx
8058         shrl    $10,%edi
8059         addl    40(%esp),%ebx
8060         movl    %edx,%esi
8061         xorl    %ecx,%edi
8062         movl    16(%esp),%ecx
8063         rorl    $14,%edx
8064         addl    %edi,%ebx
8065         movl    20(%esp),%edi
8066         xorl    %esi,%edx
8067         movl    %ebx,68(%esp)
8068         xorl    %edi,%ecx
8069         rorl    $5,%edx
8070         andl    %esi,%ecx
8071         movl    %esi,12(%esp)
8072         xorl    %esi,%edx
8073         addl    24(%esp),%ebx
8074         xorl    %ecx,%edi
8075         rorl    $6,%edx
8076         movl    %ebp,%esi
8077         addl    %edi,%ebx
8078         rorl    $9,%esi
8079         movl    %ebp,%ecx
8080         movl    (%esp),%edi
8081         xorl    %ebp,%esi
8082         movl    %ebp,28(%esp)
8083         xorl    %edi,%ebp
8084         rorl    $11,%esi
8085         andl    %ebp,%eax
8086         leal    2821834349(%ebx,%edx,1),%edx
8087         xorl    %ecx,%esi
8088         xorl    %edi,%eax
8089         movl    76(%esp),%ecx
8090         rorl    $2,%esi
8091         addl    %edx,%eax
8092         addl    8(%esp),%edx
8093         addl    %esi,%eax
8094         movl    64(%esp),%esi
8095         movl    %ecx,%ebx
8096         rorl    $11,%ecx
8097         movl    %esi,%edi
8098         rorl    $2,%esi
8099         xorl    %ebx,%ecx
8100         shrl    $3,%ebx
8101         rorl    $7,%ecx
8102         xorl    %edi,%esi
8103         xorl    %ecx,%ebx
8104         rorl    $17,%esi
8105         addl    72(%esp),%ebx
8106         shrl    $10,%edi
8107         addl    44(%esp),%ebx
8108         movl    %edx,%ecx
8109         xorl    %esi,%edi
8110         movl    12(%esp),%esi
8111         rorl    $14,%edx
8112         addl    %edi,%ebx
8113         movl    16(%esp),%edi
8114         xorl    %ecx,%edx
8115         movl    %ebx,72(%esp)
8116         xorl    %edi,%esi
8117         rorl    $5,%edx
8118         andl    %ecx,%esi
8119         movl    %ecx,8(%esp)
8120         xorl    %ecx,%edx
8121         addl    20(%esp),%ebx
8122         xorl    %esi,%edi
8123         rorl    $6,%edx
8124         movl    %eax,%ecx
8125         addl    %edi,%ebx
8126         rorl    $9,%ecx
8127         movl    %eax,%esi
8128         movl    28(%esp),%edi
8129         xorl    %eax,%ecx
8130         movl    %eax,24(%esp)
8131         xorl    %edi,%eax
8132         rorl    $11,%ecx
8133         andl    %eax,%ebp
8134         leal    2952996808(%ebx,%edx,1),%edx
8135         xorl    %esi,%ecx
8136         xorl    %edi,%ebp
8137         movl    80(%esp),%esi
8138         rorl    $2,%ecx
8139         addl    %edx,%ebp
8140         addl    4(%esp),%edx
8141         addl    %ecx,%ebp
8142         movl    68(%esp),%ecx
8143         movl    %esi,%ebx
8144         rorl    $11,%esi
8145         movl    %ecx,%edi
8146         rorl    $2,%ecx
8147         xorl    %ebx,%esi
8148         shrl    $3,%ebx
8149         rorl    $7,%esi
8150         xorl    %edi,%ecx
8151         xorl    %esi,%ebx
8152         rorl    $17,%ecx
8153         addl    76(%esp),%ebx
8154         shrl    $10,%edi
8155         addl    48(%esp),%ebx
8156         movl    %edx,%esi
8157         xorl    %ecx,%edi
8158         movl    8(%esp),%ecx
8159         rorl    $14,%edx
8160         addl    %edi,%ebx
8161         movl    12(%esp),%edi
8162         xorl    %esi,%edx
8163         movl    %ebx,76(%esp)
8164         xorl    %edi,%ecx
8165         rorl    $5,%edx
8166         andl    %esi,%ecx
8167         movl    %esi,4(%esp)
8168         xorl    %esi,%edx
8169         addl    16(%esp),%ebx
8170         xorl    %ecx,%edi
8171         rorl    $6,%edx
8172         movl    %ebp,%esi
8173         addl    %edi,%ebx
8174         rorl    $9,%esi
8175         movl    %ebp,%ecx
8176         movl    24(%esp),%edi
8177         xorl    %ebp,%esi
8178         movl    %ebp,20(%esp)
8179         xorl    %edi,%ebp
8180         rorl    $11,%esi
8181         andl    %ebp,%eax
8182         leal    3210313671(%ebx,%edx,1),%edx
8183         xorl    %ecx,%esi
8184         xorl    %edi,%eax
8185         movl    84(%esp),%ecx
8186         rorl    $2,%esi
8187         addl    %edx,%eax
8188         addl    (%esp),%edx
8189         addl    %esi,%eax
8190         movl    72(%esp),%esi
8191         movl    %ecx,%ebx
8192         rorl    $11,%ecx
8193         movl    %esi,%edi
8194         rorl    $2,%esi
8195         xorl    %ebx,%ecx
8196         shrl    $3,%ebx
8197         rorl    $7,%ecx
8198         xorl    %edi,%esi
8199         xorl    %ecx,%ebx
8200         rorl    $17,%esi
8201         addl    80(%esp),%ebx
8202         shrl    $10,%edi
8203         addl    52(%esp),%ebx
8204         movl    %edx,%ecx
8205         xorl    %esi,%edi
8206         movl    4(%esp),%esi
8207         rorl    $14,%edx
8208         addl    %edi,%ebx
8209         movl    8(%esp),%edi
8210         xorl    %ecx,%edx
8211         movl    %ebx,80(%esp)
8212         xorl    %edi,%esi
8213         rorl    $5,%edx
8214         andl    %ecx,%esi
8215         movl    %ecx,(%esp)
8216         xorl    %ecx,%edx
8217         addl    12(%esp),%ebx
8218         xorl    %esi,%edi
8219         rorl    $6,%edx
8220         movl    %eax,%ecx
8221         addl    %edi,%ebx
8222         rorl    $9,%ecx
8223         movl    %eax,%esi
8224         movl    20(%esp),%edi
8225         xorl    %eax,%ecx
8226         movl    %eax,16(%esp)
8227         xorl    %edi,%eax
8228         rorl    $11,%ecx
8229         andl    %eax,%ebp
8230         leal    3336571891(%ebx,%edx,1),%edx
8231         xorl    %esi,%ecx
8232         xorl    %edi,%ebp
8233         movl    88(%esp),%esi
8234         rorl    $2,%ecx
8235         addl    %edx,%ebp
8236         addl    28(%esp),%edx
8237         addl    %ecx,%ebp
8238         movl    76(%esp),%ecx
8239         movl    %esi,%ebx
8240         rorl    $11,%esi
8241         movl    %ecx,%edi
8242         rorl    $2,%ecx
8243         xorl    %ebx,%esi
8244         shrl    $3,%ebx
8245         rorl    $7,%esi
8246         xorl    %edi,%ecx
8247         xorl    %esi,%ebx
8248         rorl    $17,%ecx
8249         addl    84(%esp),%ebx
8250         shrl    $10,%edi
8251         addl    56(%esp),%ebx
8252         movl    %edx,%esi
8253         xorl    %ecx,%edi
8254         movl    (%esp),%ecx
8255         rorl    $14,%edx
8256         addl    %edi,%ebx
8257         movl    4(%esp),%edi
8258         xorl    %esi,%edx
8259         movl    %ebx,84(%esp)
8260         xorl    %edi,%ecx
8261         rorl    $5,%edx
8262         andl    %esi,%ecx
8263         movl    %esi,28(%esp)
8264         xorl    %esi,%edx
8265         addl    8(%esp),%ebx
8266         xorl    %ecx,%edi
8267         rorl    $6,%edx
8268         movl    %ebp,%esi
8269         addl    %edi,%ebx
8270         rorl    $9,%esi
8271         movl    %ebp,%ecx
8272         movl    16(%esp),%edi
8273         xorl    %ebp,%esi
8274         movl    %ebp,12(%esp)
8275         xorl    %edi,%ebp
8276         rorl    $11,%esi
8277         andl    %ebp,%eax
8278         leal    3584528711(%ebx,%edx,1),%edx
8279         xorl    %ecx,%esi
8280         xorl    %edi,%eax
8281         movl    92(%esp),%ecx
8282         rorl    $2,%esi
8283         addl    %edx,%eax
8284         addl    24(%esp),%edx
8285         addl    %esi,%eax
8286         movl    80(%esp),%esi
8287         movl    %ecx,%ebx
8288         rorl    $11,%ecx
8289         movl    %esi,%edi
8290         rorl    $2,%esi
8291         xorl    %ebx,%ecx
8292         shrl    $3,%ebx
8293         rorl    $7,%ecx
8294         xorl    %edi,%esi
8295         xorl    %ecx,%ebx
8296         rorl    $17,%esi
8297         addl    88(%esp),%ebx
8298         shrl    $10,%edi
8299         addl    60(%esp),%ebx
8300         movl    %edx,%ecx
8301         xorl    %esi,%edi
8302         movl    28(%esp),%esi
8303         rorl    $14,%edx
8304         addl    %edi,%ebx
8305         movl    (%esp),%edi
8306         xorl    %ecx,%edx
8307         movl    %ebx,88(%esp)
8308         xorl    %edi,%esi
8309         rorl    $5,%edx
8310         andl    %ecx,%esi
8311         movl    %ecx,24(%esp)
8312         xorl    %ecx,%edx
8313         addl    4(%esp),%ebx
8314         xorl    %esi,%edi
8315         rorl    $6,%edx
8316         movl    %eax,%ecx
8317         addl    %edi,%ebx
8318         rorl    $9,%ecx
8319         movl    %eax,%esi
8320         movl    12(%esp),%edi
8321         xorl    %eax,%ecx
8322         movl    %eax,8(%esp)
8323         xorl    %edi,%eax
8324         rorl    $11,%ecx
8325         andl    %eax,%ebp
8326         leal    113926993(%ebx,%edx,1),%edx
8327         xorl    %esi,%ecx
8328         xorl    %edi,%ebp
8329         movl    32(%esp),%esi
8330         rorl    $2,%ecx
8331         addl    %edx,%ebp
8332         addl    20(%esp),%edx
8333         addl    %ecx,%ebp
8334         movl    84(%esp),%ecx
8335         movl    %esi,%ebx
8336         rorl    $11,%esi
8337         movl    %ecx,%edi
8338         rorl    $2,%ecx
8339         xorl    %ebx,%esi
8340         shrl    $3,%ebx
8341         rorl    $7,%esi
8342         xorl    %edi,%ecx
8343         xorl    %esi,%ebx
8344         rorl    $17,%ecx
8345         addl    92(%esp),%ebx
8346         shrl    $10,%edi
8347         addl    64(%esp),%ebx
8348         movl    %edx,%esi
8349         xorl    %ecx,%edi
8350         movl    24(%esp),%ecx
8351         rorl    $14,%edx
8352         addl    %edi,%ebx
8353         movl    28(%esp),%edi
8354         xorl    %esi,%edx
8355         movl    %ebx,92(%esp)
8356         xorl    %edi,%ecx
8357         rorl    $5,%edx
8358         andl    %esi,%ecx
8359         movl    %esi,20(%esp)
8360         xorl    %esi,%edx
8361         addl    (%esp),%ebx
8362         xorl    %ecx,%edi
8363         rorl    $6,%edx
8364         movl    %ebp,%esi
8365         addl    %edi,%ebx
8366         rorl    $9,%esi
8367         movl    %ebp,%ecx
8368         movl    8(%esp),%edi
8369         xorl    %ebp,%esi
8370         movl    %ebp,4(%esp)
8371         xorl    %edi,%ebp
8372         rorl    $11,%esi
8373         andl    %ebp,%eax
8374         leal    338241895(%ebx,%edx,1),%edx
8375         xorl    %ecx,%esi
8376         xorl    %edi,%eax
8377         movl    36(%esp),%ecx
8378         rorl    $2,%esi
8379         addl    %edx,%eax
8380         addl    16(%esp),%edx
8381         addl    %esi,%eax
8382         movl    88(%esp),%esi
8383         movl    %ecx,%ebx
8384         rorl    $11,%ecx
8385         movl    %esi,%edi
8386         rorl    $2,%esi
8387         xorl    %ebx,%ecx
8388         shrl    $3,%ebx
8389         rorl    $7,%ecx
8390         xorl    %edi,%esi
8391         xorl    %ecx,%ebx
8392         rorl    $17,%esi
8393         addl    32(%esp),%ebx
8394         shrl    $10,%edi
8395         addl    68(%esp),%ebx
8396         movl    %edx,%ecx
8397         xorl    %esi,%edi
8398         movl    20(%esp),%esi
8399         rorl    $14,%edx
8400         addl    %edi,%ebx
8401         movl    24(%esp),%edi
8402         xorl    %ecx,%edx
8403         movl    %ebx,32(%esp)
8404         xorl    %edi,%esi
8405         rorl    $5,%edx
8406         andl    %ecx,%esi
8407         movl    %ecx,16(%esp)
8408         xorl    %ecx,%edx
8409         addl    28(%esp),%ebx
8410         xorl    %esi,%edi
8411         rorl    $6,%edx
8412         movl    %eax,%ecx
8413         addl    %edi,%ebx
8414         rorl    $9,%ecx
8415         movl    %eax,%esi
8416         movl    4(%esp),%edi
8417         xorl    %eax,%ecx
8418         movl    %eax,(%esp)
8419         xorl    %edi,%eax
8420         rorl    $11,%ecx
8421         andl    %eax,%ebp
8422         leal    666307205(%ebx,%edx,1),%edx
8423         xorl    %esi,%ecx
8424         xorl    %edi,%ebp
8425         movl    40(%esp),%esi
8426         rorl    $2,%ecx
8427         addl    %edx,%ebp
8428         addl    12(%esp),%edx
8429         addl    %ecx,%ebp
8430         movl    92(%esp),%ecx
8431         movl    %esi,%ebx
8432         rorl    $11,%esi
8433         movl    %ecx,%edi
8434         rorl    $2,%ecx
8435         xorl    %ebx,%esi
8436         shrl    $3,%ebx
8437         rorl    $7,%esi
8438         xorl    %edi,%ecx
8439         xorl    %esi,%ebx
8440         rorl    $17,%ecx
8441         addl    36(%esp),%ebx
8442         shrl    $10,%edi
8443         addl    72(%esp),%ebx
8444         movl    %edx,%esi
8445         xorl    %ecx,%edi
8446         movl    16(%esp),%ecx
8447         rorl    $14,%edx
8448         addl    %edi,%ebx
8449         movl    20(%esp),%edi
8450         xorl    %esi,%edx
8451         movl    %ebx,36(%esp)
8452         xorl    %edi,%ecx
8453         rorl    $5,%edx
8454         andl    %esi,%ecx
8455         movl    %esi,12(%esp)
8456         xorl    %esi,%edx
8457         addl    24(%esp),%ebx
8458         xorl    %ecx,%edi
8459         rorl    $6,%edx
8460         movl    %ebp,%esi
8461         addl    %edi,%ebx
8462         rorl    $9,%esi
8463         movl    %ebp,%ecx
8464         movl    (%esp),%edi
8465         xorl    %ebp,%esi
8466         movl    %ebp,28(%esp)
8467         xorl    %edi,%ebp
8468         rorl    $11,%esi
8469         andl    %ebp,%eax
8470         leal    773529912(%ebx,%edx,1),%edx
8471         xorl    %ecx,%esi
8472         xorl    %edi,%eax
8473         movl    44(%esp),%ecx
8474         rorl    $2,%esi
8475         addl    %edx,%eax
8476         addl    8(%esp),%edx
8477         addl    %esi,%eax
8478         movl    32(%esp),%esi
8479         movl    %ecx,%ebx
8480         rorl    $11,%ecx
8481         movl    %esi,%edi
8482         rorl    $2,%esi
8483         xorl    %ebx,%ecx
8484         shrl    $3,%ebx
8485         rorl    $7,%ecx
8486         xorl    %edi,%esi
8487         xorl    %ecx,%ebx
8488         rorl    $17,%esi
8489         addl    40(%esp),%ebx
8490         shrl    $10,%edi
8491         addl    76(%esp),%ebx
8492         movl    %edx,%ecx
8493         xorl    %esi,%edi
8494         movl    12(%esp),%esi
8495         rorl    $14,%edx
8496         addl    %edi,%ebx
8497         movl    16(%esp),%edi
8498         xorl    %ecx,%edx
8499         movl    %ebx,40(%esp)
8500         xorl    %edi,%esi
8501         rorl    $5,%edx
8502         andl    %ecx,%esi
8503         movl    %ecx,8(%esp)
8504         xorl    %ecx,%edx
8505         addl    20(%esp),%ebx
8506         xorl    %esi,%edi
8507         rorl    $6,%edx
8508         movl    %eax,%ecx
8509         addl    %edi,%ebx
8510         rorl    $9,%ecx
8511         movl    %eax,%esi
8512         movl    28(%esp),%edi
8513         xorl    %eax,%ecx
8514         movl    %eax,24(%esp)
8515         xorl    %edi,%eax
8516         rorl    $11,%ecx
8517         andl    %eax,%ebp
8518         leal    1294757372(%ebx,%edx,1),%edx
8519         xorl    %esi,%ecx
8520         xorl    %edi,%ebp
8521         movl    48(%esp),%esi
8522         rorl    $2,%ecx
8523         addl    %edx,%ebp
8524         addl    4(%esp),%edx
8525         addl    %ecx,%ebp
8526         movl    36(%esp),%ecx
8527         movl    %esi,%ebx
8528         rorl    $11,%esi
8529         movl    %ecx,%edi
8530         rorl    $2,%ecx
8531         xorl    %ebx,%esi
8532         shrl    $3,%ebx
8533         rorl    $7,%esi
8534         xorl    %edi,%ecx
8535         xorl    %esi,%ebx
8536         rorl    $17,%ecx
8537         addl    44(%esp),%ebx
8538         shrl    $10,%edi
8539         addl    80(%esp),%ebx
8540         movl    %edx,%esi
8541         xorl    %ecx,%edi
8542         movl    8(%esp),%ecx
8543         rorl    $14,%edx
8544         addl    %edi,%ebx
8545         movl    12(%esp),%edi
8546         xorl    %esi,%edx
8547         movl    %ebx,44(%esp)
8548         xorl    %edi,%ecx
8549         rorl    $5,%edx
8550         andl    %esi,%ecx
8551         movl    %esi,4(%esp)
8552         xorl    %esi,%edx
8553         addl    16(%esp),%ebx
8554         xorl    %ecx,%edi
8555         rorl    $6,%edx
8556         movl    %ebp,%esi
8557         addl    %edi,%ebx
8558         rorl    $9,%esi
8559         movl    %ebp,%ecx
8560         movl    24(%esp),%edi
8561         xorl    %ebp,%esi
8562         movl    %ebp,20(%esp)
8563         xorl    %edi,%ebp
8564         rorl    $11,%esi
8565         andl    %ebp,%eax
8566         leal    1396182291(%ebx,%edx,1),%edx
8567         xorl    %ecx,%esi
8568         xorl    %edi,%eax
8569         movl    52(%esp),%ecx
8570         rorl    $2,%esi
8571         addl    %edx,%eax
8572         addl    (%esp),%edx
8573         addl    %esi,%eax
8574         movl    40(%esp),%esi
8575         movl    %ecx,%ebx
8576         rorl    $11,%ecx
8577         movl    %esi,%edi
8578         rorl    $2,%esi
8579         xorl    %ebx,%ecx
8580         shrl    $3,%ebx
8581         rorl    $7,%ecx
8582         xorl    %edi,%esi
8583         xorl    %ecx,%ebx
8584         rorl    $17,%esi
8585         addl    48(%esp),%ebx
8586         shrl    $10,%edi
8587         addl    84(%esp),%ebx
8588         movl    %edx,%ecx
8589         xorl    %esi,%edi
8590         movl    4(%esp),%esi
8591         rorl    $14,%edx
8592         addl    %edi,%ebx
8593         movl    8(%esp),%edi
8594         xorl    %ecx,%edx
8595         movl    %ebx,48(%esp)
8596         xorl    %edi,%esi
8597         rorl    $5,%edx
8598         andl    %ecx,%esi
8599         movl    %ecx,(%esp)
8600         xorl    %ecx,%edx
8601         addl    12(%esp),%ebx
8602         xorl    %esi,%edi
8603         rorl    $6,%edx
8604         movl    %eax,%ecx
8605         addl    %edi,%ebx
8606         rorl    $9,%ecx
8607         movl    %eax,%esi
8608         movl    20(%esp),%edi
8609         xorl    %eax,%ecx
8610         movl    %eax,16(%esp)
8611         xorl    %edi,%eax
8612         rorl    $11,%ecx
8613         andl    %eax,%ebp
8614         leal    1695183700(%ebx,%edx,1),%edx
8615         xorl    %esi,%ecx
8616         xorl    %edi,%ebp
8617         movl    56(%esp),%esi
8618         rorl    $2,%ecx
8619         addl    %edx,%ebp
8620         addl    28(%esp),%edx
8621         addl    %ecx,%ebp
8622         movl    44(%esp),%ecx
8623         movl    %esi,%ebx
8624         rorl    $11,%esi
8625         movl    %ecx,%edi
8626         rorl    $2,%ecx
8627         xorl    %ebx,%esi
8628         shrl    $3,%ebx
8629         rorl    $7,%esi
8630         xorl    %edi,%ecx
8631         xorl    %esi,%ebx
8632         rorl    $17,%ecx
8633         addl    52(%esp),%ebx
8634         shrl    $10,%edi
8635         addl    88(%esp),%ebx
8636         movl    %edx,%esi
8637         xorl    %ecx,%edi
8638         movl    (%esp),%ecx
8639         rorl    $14,%edx
8640         addl    %edi,%ebx
8641         movl    4(%esp),%edi
8642         xorl    %esi,%edx
8643         movl    %ebx,52(%esp)
8644         xorl    %edi,%ecx
8645         rorl    $5,%edx
8646         andl    %esi,%ecx
8647         movl    %esi,28(%esp)
8648         xorl    %esi,%edx
8649         addl    8(%esp),%ebx
8650         xorl    %ecx,%edi
8651         rorl    $6,%edx
8652         movl    %ebp,%esi
8653         addl    %edi,%ebx
8654         rorl    $9,%esi
8655         movl    %ebp,%ecx
8656         movl    16(%esp),%edi
8657         xorl    %ebp,%esi
8658         movl    %ebp,12(%esp)
8659         xorl    %edi,%ebp
8660         rorl    $11,%esi
8661         andl    %ebp,%eax
8662         leal    1986661051(%ebx,%edx,1),%edx
8663         xorl    %ecx,%esi
8664         xorl    %edi,%eax
8665         movl    60(%esp),%ecx
8666         rorl    $2,%esi
8667         addl    %edx,%eax
8668         addl    24(%esp),%edx
8669         addl    %esi,%eax
8670         movl    48(%esp),%esi
8671         movl    %ecx,%ebx
8672         rorl    $11,%ecx
8673         movl    %esi,%edi
8674         rorl    $2,%esi
8675         xorl    %ebx,%ecx
8676         shrl    $3,%ebx
8677         rorl    $7,%ecx
8678         xorl    %edi,%esi
8679         xorl    %ecx,%ebx
8680         rorl    $17,%esi
8681         addl    56(%esp),%ebx
8682         shrl    $10,%edi
8683         addl    92(%esp),%ebx
8684         movl    %edx,%ecx
8685         xorl    %esi,%edi
8686         movl    28(%esp),%esi
8687         rorl    $14,%edx
8688         addl    %edi,%ebx
8689         movl    (%esp),%edi
8690         xorl    %ecx,%edx
8691         movl    %ebx,56(%esp)
8692         xorl    %edi,%esi
8693         rorl    $5,%edx
8694         andl    %ecx,%esi
8695         movl    %ecx,24(%esp)
8696         xorl    %ecx,%edx
8697         addl    4(%esp),%ebx
8698         xorl    %esi,%edi
8699         rorl    $6,%edx
8700         movl    %eax,%ecx
8701         addl    %edi,%ebx
8702         rorl    $9,%ecx
8703         movl    %eax,%esi
8704         movl    12(%esp),%edi
8705         xorl    %eax,%ecx
8706         movl    %eax,8(%esp)
8707         xorl    %edi,%eax
8708         rorl    $11,%ecx
8709         andl    %eax,%ebp
8710         leal    2177026350(%ebx,%edx,1),%edx
8711         xorl    %esi,%ecx
8712         xorl    %edi,%ebp
8713         movl    64(%esp),%esi
8714         rorl    $2,%ecx
8715         addl    %edx,%ebp
8716         addl    20(%esp),%edx
8717         addl    %ecx,%ebp
8718         movl    52(%esp),%ecx
8719         movl    %esi,%ebx
8720         rorl    $11,%esi
8721         movl    %ecx,%edi
8722         rorl    $2,%ecx
8723         xorl    %ebx,%esi
8724         shrl    $3,%ebx
8725         rorl    $7,%esi
8726         xorl    %edi,%ecx
8727         xorl    %esi,%ebx
8728         rorl    $17,%ecx
8729         addl    60(%esp),%ebx
8730         shrl    $10,%edi
8731         addl    32(%esp),%ebx
8732         movl    %edx,%esi
8733         xorl    %ecx,%edi
8734         movl    24(%esp),%ecx
8735         rorl    $14,%edx
8736         addl    %edi,%ebx
8737         movl    28(%esp),%edi
8738         xorl    %esi,%edx
8739         movl    %ebx,60(%esp)
8740         xorl    %edi,%ecx
8741         rorl    $5,%edx
8742         andl    %esi,%ecx
8743         movl    %esi,20(%esp)
8744         xorl    %esi,%edx
8745         addl    (%esp),%ebx
8746         xorl    %ecx,%edi
8747         rorl    $6,%edx
8748         movl    %ebp,%esi
8749         addl    %edi,%ebx
8750         rorl    $9,%esi
8751         movl    %ebp,%ecx
8752         movl    8(%esp),%edi
8753         xorl    %ebp,%esi
8754         movl    %ebp,4(%esp)
8755         xorl    %edi,%ebp
8756         rorl    $11,%esi
8757         andl    %ebp,%eax
8758         leal    2456956037(%ebx,%edx,1),%edx
8759         xorl    %ecx,%esi
8760         xorl    %edi,%eax
8761         movl    68(%esp),%ecx
8762         rorl    $2,%esi
8763         addl    %edx,%eax
8764         addl    16(%esp),%edx
8765         addl    %esi,%eax
8766         movl    56(%esp),%esi
8767         movl    %ecx,%ebx
8768         rorl    $11,%ecx
8769         movl    %esi,%edi
8770         rorl    $2,%esi
8771         xorl    %ebx,%ecx
8772         shrl    $3,%ebx
8773         rorl    $7,%ecx
8774         xorl    %edi,%esi
8775         xorl    %ecx,%ebx
8776         rorl    $17,%esi
8777         addl    64(%esp),%ebx
8778         shrl    $10,%edi
8779         addl    36(%esp),%ebx
8780         movl    %edx,%ecx
8781         xorl    %esi,%edi
8782         movl    20(%esp),%esi
8783         rorl    $14,%edx
8784         addl    %edi,%ebx
8785         movl    24(%esp),%edi
8786         xorl    %ecx,%edx
8787         movl    %ebx,64(%esp)
8788         xorl    %edi,%esi
8789         rorl    $5,%edx
8790         andl    %ecx,%esi
8791         movl    %ecx,16(%esp)
8792         xorl    %ecx,%edx
8793         addl    28(%esp),%ebx
8794         xorl    %esi,%edi
8795         rorl    $6,%edx
8796         movl    %eax,%ecx
8797         addl    %edi,%ebx
8798         rorl    $9,%ecx
8799         movl    %eax,%esi
8800         movl    4(%esp),%edi
8801         xorl    %eax,%ecx
8802         movl    %eax,(%esp)
8803         xorl    %edi,%eax
8804         rorl    $11,%ecx
8805         andl    %eax,%ebp
8806         leal    2730485921(%ebx,%edx,1),%edx
8807         xorl    %esi,%ecx
8808         xorl    %edi,%ebp
8809         movl    72(%esp),%esi
8810         rorl    $2,%ecx
8811         addl    %edx,%ebp
8812         addl    12(%esp),%edx
8813         addl    %ecx,%ebp
8814         movl    60(%esp),%ecx
8815         movl    %esi,%ebx
8816         rorl    $11,%esi
8817         movl    %ecx,%edi
8818         rorl    $2,%ecx
8819         xorl    %ebx,%esi
8820         shrl    $3,%ebx
8821         rorl    $7,%esi
8822         xorl    %edi,%ecx
8823         xorl    %esi,%ebx
8824         rorl    $17,%ecx
8825         addl    68(%esp),%ebx
8826         shrl    $10,%edi
8827         addl    40(%esp),%ebx
8828         movl    %edx,%esi
8829         xorl    %ecx,%edi
8830         movl    16(%esp),%ecx
8831         rorl    $14,%edx
8832         addl    %edi,%ebx
8833         movl    20(%esp),%edi
8834         xorl    %esi,%edx
8835         movl    %ebx,68(%esp)
8836         xorl    %edi,%ecx
8837         rorl    $5,%edx
8838         andl    %esi,%ecx
8839         movl    %esi,12(%esp)
8840         xorl    %esi,%edx
8841         addl    24(%esp),%ebx
8842         xorl    %ecx,%edi
8843         rorl    $6,%edx
8844         movl    %ebp,%esi
8845         addl    %edi,%ebx
8846         rorl    $9,%esi
8847         movl    %ebp,%ecx
8848         movl    (%esp),%edi
8849         xorl    %ebp,%esi
8850         movl    %ebp,28(%esp)
8851         xorl    %edi,%ebp
8852         rorl    $11,%esi
8853         andl    %ebp,%eax
8854         leal    2820302411(%ebx,%edx,1),%edx
8855         xorl    %ecx,%esi
8856         xorl    %edi,%eax
8857         movl    76(%esp),%ecx
8858         rorl    $2,%esi
8859         addl    %edx,%eax
8860         addl    8(%esp),%edx
8861         addl    %esi,%eax
8862         movl    64(%esp),%esi
8863         movl    %ecx,%ebx
8864         rorl    $11,%ecx
8865         movl    %esi,%edi
8866         rorl    $2,%esi
8867         xorl    %ebx,%ecx
8868         shrl    $3,%ebx
8869         rorl    $7,%ecx
8870         xorl    %edi,%esi
8871         xorl    %ecx,%ebx
8872         rorl    $17,%esi
8873         addl    72(%esp),%ebx
8874         shrl    $10,%edi
8875         addl    44(%esp),%ebx
8876         movl    %edx,%ecx
8877         xorl    %esi,%edi
8878         movl    12(%esp),%esi
8879         rorl    $14,%edx
8880         addl    %edi,%ebx
8881         movl    16(%esp),%edi
8882         xorl    %ecx,%edx
8883         movl    %ebx,72(%esp)
8884         xorl    %edi,%esi
8885         rorl    $5,%edx
8886         andl    %ecx,%esi
8887         movl    %ecx,8(%esp)
8888         xorl    %ecx,%edx
8889         addl    20(%esp),%ebx
8890         xorl    %esi,%edi
8891         rorl    $6,%edx
8892         movl    %eax,%ecx
8893         addl    %edi,%ebx
8894         rorl    $9,%ecx
8895         movl    %eax,%esi
8896         movl    28(%esp),%edi
8897         xorl    %eax,%ecx
8898         movl    %eax,24(%esp)
8899         xorl    %edi,%eax
8900         rorl    $11,%ecx
8901         andl    %eax,%ebp
8902         leal    3259730800(%ebx,%edx,1),%edx
8903         xorl    %esi,%ecx
8904         xorl    %edi,%ebp
8905         movl    80(%esp),%esi
8906         rorl    $2,%ecx
8907         addl    %edx,%ebp
8908         addl    4(%esp),%edx
8909         addl    %ecx,%ebp
8910         movl    68(%esp),%ecx
8911         movl    %esi,%ebx
8912         rorl    $11,%esi
8913         movl    %ecx,%edi
8914         rorl    $2,%ecx
8915         xorl    %ebx,%esi
8916         shrl    $3,%ebx
8917         rorl    $7,%esi
8918         xorl    %edi,%ecx
8919         xorl    %esi,%ebx
8920         rorl    $17,%ecx
8921         addl    76(%esp),%ebx
8922         shrl    $10,%edi
8923         addl    48(%esp),%ebx
8924         movl    %edx,%esi
8925         xorl    %ecx,%edi
8926         movl    8(%esp),%ecx
8927         rorl    $14,%edx
8928         addl    %edi,%ebx
8929         movl    12(%esp),%edi
8930         xorl    %esi,%edx
8931         movl    %ebx,76(%esp)
8932         xorl    %edi,%ecx
8933         rorl    $5,%edx
8934         andl    %esi,%ecx
8935         movl    %esi,4(%esp)
8936         xorl    %esi,%edx
8937         addl    16(%esp),%ebx
8938         xorl    %ecx,%edi
8939         rorl    $6,%edx
8940         movl    %ebp,%esi
8941         addl    %edi,%ebx
8942         rorl    $9,%esi
8943         movl    %ebp,%ecx
8944         movl    24(%esp),%edi
8945         xorl    %ebp,%esi
8946         movl    %ebp,20(%esp)
8947         xorl    %edi,%ebp
8948         rorl    $11,%esi
8949         andl    %ebp,%eax
8950         leal    3345764771(%ebx,%edx,1),%edx
8951         xorl    %ecx,%esi
8952         xorl    %edi,%eax
8953         movl    84(%esp),%ecx
8954         rorl    $2,%esi
8955         addl    %edx,%eax
8956         addl    (%esp),%edx
8957         addl    %esi,%eax
8958         movl    72(%esp),%esi
8959         movl    %ecx,%ebx
8960         rorl    $11,%ecx
8961         movl    %esi,%edi
8962         rorl    $2,%esi
8963         xorl    %ebx,%ecx
8964         shrl    $3,%ebx
8965         rorl    $7,%ecx
8966         xorl    %edi,%esi
8967         xorl    %ecx,%ebx
8968         rorl    $17,%esi
8969         addl    80(%esp),%ebx
8970         shrl    $10,%edi
8971         addl    52(%esp),%ebx
8972         movl    %edx,%ecx
8973         xorl    %esi,%edi
8974         movl    4(%esp),%esi
8975         rorl    $14,%edx
8976         addl    %edi,%ebx
8977         movl    8(%esp),%edi
8978         xorl    %ecx,%edx
8979         movl    %ebx,80(%esp)
8980         xorl    %edi,%esi
8981         rorl    $5,%edx
8982         andl    %ecx,%esi
8983         movl    %ecx,(%esp)
8984         xorl    %ecx,%edx
8985         addl    12(%esp),%ebx
8986         xorl    %esi,%edi
8987         rorl    $6,%edx
8988         movl    %eax,%ecx
8989         addl    %edi,%ebx
8990         rorl    $9,%ecx
8991         movl    %eax,%esi
8992         movl    20(%esp),%edi
8993         xorl    %eax,%ecx
8994         movl    %eax,16(%esp)
8995         xorl    %edi,%eax
8996         rorl    $11,%ecx
8997         andl    %eax,%ebp
8998         leal    3516065817(%ebx,%edx,1),%edx
8999         xorl    %esi,%ecx
9000         xorl    %edi,%ebp
9001         movl    88(%esp),%esi
9002         rorl    $2,%ecx
9003         addl    %edx,%ebp
9004         addl    28(%esp),%edx
9005         addl    %ecx,%ebp
9006         movl    76(%esp),%ecx
9007         movl    %esi,%ebx
9008         rorl    $11,%esi
9009         movl    %ecx,%edi
9010         rorl    $2,%ecx
9011         xorl    %ebx,%esi
9012         shrl    $3,%ebx
9013         rorl    $7,%esi
9014         xorl    %edi,%ecx
9015         xorl    %esi,%ebx
9016         rorl    $17,%ecx
9017         addl    84(%esp),%ebx
9018         shrl    $10,%edi
9019         addl    56(%esp),%ebx
9020         movl    %edx,%esi
9021         xorl    %ecx,%edi
9022         movl    (%esp),%ecx
9023         rorl    $14,%edx
9024         addl    %edi,%ebx
9025         movl    4(%esp),%edi
9026         xorl    %esi,%edx
9027         movl    %ebx,84(%esp)
9028         xorl    %edi,%ecx
9029         rorl    $5,%edx
9030         andl    %esi,%ecx
9031         movl    %esi,28(%esp)
9032         xorl    %esi,%edx
9033         addl    8(%esp),%ebx
9034         xorl    %ecx,%edi
9035         rorl    $6,%edx
9036         movl    %ebp,%esi
9037         addl    %edi,%ebx
9038         rorl    $9,%esi
9039         movl    %ebp,%ecx
9040         movl    16(%esp),%edi
9041         xorl    %ebp,%esi
9042         movl    %ebp,12(%esp)
9043         xorl    %edi,%ebp
9044         rorl    $11,%esi
9045         andl    %ebp,%eax
9046         leal    3600352804(%ebx,%edx,1),%edx
9047         xorl    %ecx,%esi
9048         xorl    %edi,%eax
9049         movl    92(%esp),%ecx
9050         rorl    $2,%esi
9051         addl    %edx,%eax
9052         addl    24(%esp),%edx
9053         addl    %esi,%eax
9054         movl    80(%esp),%esi
9055         movl    %ecx,%ebx
9056         rorl    $11,%ecx
9057         movl    %esi,%edi
9058         rorl    $2,%esi
9059         xorl    %ebx,%ecx
9060         shrl    $3,%ebx
9061         rorl    $7,%ecx
9062         xorl    %edi,%esi
9063         xorl    %ecx,%ebx
9064         rorl    $17,%esi
9065         addl    88(%esp),%ebx
9066         shrl    $10,%edi
9067         addl    60(%esp),%ebx
9068         movl    %edx,%ecx
9069         xorl    %esi,%edi
9070         movl    28(%esp),%esi
9071         rorl    $14,%edx
9072         addl    %edi,%ebx
9073         movl    (%esp),%edi
9074         xorl    %ecx,%edx
9075         movl    %ebx,88(%esp)
9076         xorl    %edi,%esi
9077         rorl    $5,%edx
9078         andl    %ecx,%esi
9079         movl    %ecx,24(%esp)
9080         xorl    %ecx,%edx
9081         addl    4(%esp),%ebx
9082         xorl    %esi,%edi
9083         rorl    $6,%edx
9084         movl    %eax,%ecx
9085         addl    %edi,%ebx
9086         rorl    $9,%ecx
9087         movl    %eax,%esi
9088         movl    12(%esp),%edi
9089         xorl    %eax,%ecx
9090         movl    %eax,8(%esp)
9091         xorl    %edi,%eax
9092         rorl    $11,%ecx
9093         andl    %eax,%ebp
9094         leal    4094571909(%ebx,%edx,1),%edx
9095         xorl    %esi,%ecx
9096         xorl    %edi,%ebp
9097         movl    32(%esp),%esi
9098         rorl    $2,%ecx
9099         addl    %edx,%ebp
9100         addl    20(%esp),%edx
9101         addl    %ecx,%ebp
9102         movl    84(%esp),%ecx
9103         movl    %esi,%ebx
9104         rorl    $11,%esi
9105         movl    %ecx,%edi
9106         rorl    $2,%ecx
9107         xorl    %ebx,%esi
9108         shrl    $3,%ebx
9109         rorl    $7,%esi
9110         xorl    %edi,%ecx
9111         xorl    %esi,%ebx
9112         rorl    $17,%ecx
9113         addl    92(%esp),%ebx
9114         shrl    $10,%edi
9115         addl    64(%esp),%ebx
9116         movl    %edx,%esi
9117         xorl    %ecx,%edi
9118         movl    24(%esp),%ecx
9119         rorl    $14,%edx
9120         addl    %edi,%ebx
9121         movl    28(%esp),%edi
9122         xorl    %esi,%edx
9123         movl    %ebx,92(%esp)
9124         xorl    %edi,%ecx
9125         rorl    $5,%edx
9126         andl    %esi,%ecx
9127         movl    %esi,20(%esp)
9128         xorl    %esi,%edx
9129         addl    (%esp),%ebx
9130         xorl    %ecx,%edi
9131         rorl    $6,%edx
9132         movl    %ebp,%esi
9133         addl    %edi,%ebx
9134         rorl    $9,%esi
9135         movl    %ebp,%ecx
9136         movl    8(%esp),%edi
9137         xorl    %ebp,%esi
9138         movl    %ebp,4(%esp)
9139         xorl    %edi,%ebp
9140         rorl    $11,%esi
9141         andl    %ebp,%eax
9142         leal    275423344(%ebx,%edx,1),%edx
9143         xorl    %ecx,%esi
9144         xorl    %edi,%eax
9145         movl    36(%esp),%ecx
9146         rorl    $2,%esi
9147         addl    %edx,%eax
9148         addl    16(%esp),%edx
9149         addl    %esi,%eax
9150         movl    88(%esp),%esi
9151         movl    %ecx,%ebx
9152         rorl    $11,%ecx
9153         movl    %esi,%edi
9154         rorl    $2,%esi
9155         xorl    %ebx,%ecx
9156         shrl    $3,%ebx
9157         rorl    $7,%ecx
9158         xorl    %edi,%esi
9159         xorl    %ecx,%ebx
9160         rorl    $17,%esi
9161         addl    32(%esp),%ebx
9162         shrl    $10,%edi
9163         addl    68(%esp),%ebx
9164         movl    %edx,%ecx
9165         xorl    %esi,%edi
9166         movl    20(%esp),%esi
9167         rorl    $14,%edx
9168         addl    %edi,%ebx
9169         movl    24(%esp),%edi
9170         xorl    %ecx,%edx
9171         movl    %ebx,32(%esp)
9172         xorl    %edi,%esi
9173         rorl    $5,%edx
9174         andl    %ecx,%esi
9175         movl    %ecx,16(%esp)
9176         xorl    %ecx,%edx
9177         addl    28(%esp),%ebx
9178         xorl    %esi,%edi
9179         rorl    $6,%edx
9180         movl    %eax,%ecx
9181         addl    %edi,%ebx
9182         rorl    $9,%ecx
9183         movl    %eax,%esi
9184         movl    4(%esp),%edi
9185         xorl    %eax,%ecx
9186         movl    %eax,(%esp)
9187         xorl    %edi,%eax
9188         rorl    $11,%ecx
9189         andl    %eax,%ebp
9190         leal    430227734(%ebx,%edx,1),%edx
9191         xorl    %esi,%ecx
9192         xorl    %edi,%ebp
9193         movl    40(%esp),%esi
9194         rorl    $2,%ecx
9195         addl    %edx,%ebp
9196         addl    12(%esp),%edx
9197         addl    %ecx,%ebp
9198         movl    92(%esp),%ecx
9199         movl    %esi,%ebx
9200         rorl    $11,%esi
9201         movl    %ecx,%edi
9202         rorl    $2,%ecx
9203         xorl    %ebx,%esi
9204         shrl    $3,%ebx
9205         rorl    $7,%esi
9206         xorl    %edi,%ecx
9207         xorl    %esi,%ebx
9208         rorl    $17,%ecx
9209         addl    36(%esp),%ebx
9210         shrl    $10,%edi
9211         addl    72(%esp),%ebx
9212         movl    %edx,%esi
9213         xorl    %ecx,%edi
9214         movl    16(%esp),%ecx
9215         rorl    $14,%edx
9216         addl    %edi,%ebx
9217         movl    20(%esp),%edi
9218         xorl    %esi,%edx
9219         movl    %ebx,36(%esp)
9220         xorl    %edi,%ecx
9221         rorl    $5,%edx
9222         andl    %esi,%ecx
9223         movl    %esi,12(%esp)
9224         xorl    %esi,%edx
9225         addl    24(%esp),%ebx
9226         xorl    %ecx,%edi
9227         rorl    $6,%edx
9228         movl    %ebp,%esi
9229         addl    %edi,%ebx
9230         rorl    $9,%esi
9231         movl    %ebp,%ecx
9232         movl    (%esp),%edi
9233         xorl    %ebp,%esi
9234         movl    %ebp,28(%esp)
9235         xorl    %edi,%ebp
9236         rorl    $11,%esi
9237         andl    %ebp,%eax
9238         leal    506948616(%ebx,%edx,1),%edx
9239         xorl    %ecx,%esi
9240         xorl    %edi,%eax
9241         movl    44(%esp),%ecx
9242         rorl    $2,%esi
9243         addl    %edx,%eax
9244         addl    8(%esp),%edx
9245         addl    %esi,%eax
9246         movl    32(%esp),%esi
9247         movl    %ecx,%ebx
9248         rorl    $11,%ecx
9249         movl    %esi,%edi
9250         rorl    $2,%esi
9251         xorl    %ebx,%ecx
9252         shrl    $3,%ebx
9253         rorl    $7,%ecx
9254         xorl    %edi,%esi
9255         xorl    %ecx,%ebx
9256         rorl    $17,%esi
9257         addl    40(%esp),%ebx
9258         shrl    $10,%edi
9259         addl    76(%esp),%ebx
9260         movl    %edx,%ecx
9261         xorl    %esi,%edi
9262         movl    12(%esp),%esi
9263         rorl    $14,%edx
9264         addl    %edi,%ebx
9265         movl    16(%esp),%edi
9266         xorl    %ecx,%edx
9267         movl    %ebx,40(%esp)
9268         xorl    %edi,%esi
9269         rorl    $5,%edx
9270         andl    %ecx,%esi
9271         movl    %ecx,8(%esp)
9272         xorl    %ecx,%edx
9273         addl    20(%esp),%ebx
9274         xorl    %esi,%edi
9275         rorl    $6,%edx
9276         movl    %eax,%ecx
9277         addl    %edi,%ebx
9278         rorl    $9,%ecx
9279         movl    %eax,%esi
9280         movl    28(%esp),%edi
9281         xorl    %eax,%ecx
9282         movl    %eax,24(%esp)
9283         xorl    %edi,%eax
9284         rorl    $11,%ecx
9285         andl    %eax,%ebp
9286         leal    659060556(%ebx,%edx,1),%edx
9287         xorl    %esi,%ecx
9288         xorl    %edi,%ebp
9289         movl    48(%esp),%esi
9290         rorl    $2,%ecx
9291         addl    %edx,%ebp
9292         addl    4(%esp),%edx
9293         addl    %ecx,%ebp
9294         movl    36(%esp),%ecx
9295         movl    %esi,%ebx
9296         rorl    $11,%esi
9297         movl    %ecx,%edi
9298         rorl    $2,%ecx
9299         xorl    %ebx,%esi
9300         shrl    $3,%ebx
9301         rorl    $7,%esi
9302         xorl    %edi,%ecx
9303         xorl    %esi,%ebx
9304         rorl    $17,%ecx
9305         addl    44(%esp),%ebx
9306         shrl    $10,%edi
9307         addl    80(%esp),%ebx
9308         movl    %edx,%esi
9309         xorl    %ecx,%edi
9310         movl    8(%esp),%ecx
9311         rorl    $14,%edx
9312         addl    %edi,%ebx
9313         movl    12(%esp),%edi
9314         xorl    %esi,%edx
9315         movl    %ebx,44(%esp)
9316         xorl    %edi,%ecx
9317         rorl    $5,%edx
9318         andl    %esi,%ecx
9319         movl    %esi,4(%esp)
9320         xorl    %esi,%edx
9321         addl    16(%esp),%ebx
9322         xorl    %ecx,%edi
9323         rorl    $6,%edx
9324         movl    %ebp,%esi
9325         addl    %edi,%ebx
9326         rorl    $9,%esi
9327         movl    %ebp,%ecx
9328         movl    24(%esp),%edi
9329         xorl    %ebp,%esi
9330         movl    %ebp,20(%esp)
9331         xorl    %edi,%ebp
9332         rorl    $11,%esi
9333         andl    %ebp,%eax
9334         leal    883997877(%ebx,%edx,1),%edx
9335         xorl    %ecx,%esi
9336         xorl    %edi,%eax
9337         movl    52(%esp),%ecx
9338         rorl    $2,%esi
9339         addl    %edx,%eax
9340         addl    (%esp),%edx
9341         addl    %esi,%eax
9342         movl    40(%esp),%esi
9343         movl    %ecx,%ebx
9344         rorl    $11,%ecx
9345         movl    %esi,%edi
9346         rorl    $2,%esi
9347         xorl    %ebx,%ecx
9348         shrl    $3,%ebx
9349         rorl    $7,%ecx
9350         xorl    %edi,%esi
9351         xorl    %ecx,%ebx
9352         rorl    $17,%esi
9353         addl    48(%esp),%ebx
9354         shrl    $10,%edi
9355         addl    84(%esp),%ebx
9356         movl    %edx,%ecx
9357         xorl    %esi,%edi
9358         movl    4(%esp),%esi
9359         rorl    $14,%edx
9360         addl    %edi,%ebx
9361         movl    8(%esp),%edi
9362         xorl    %ecx,%edx
9363         movl    %ebx,48(%esp)
9364         xorl    %edi,%esi
9365         rorl    $5,%edx
9366         andl    %ecx,%esi
9367         movl    %ecx,(%esp)
9368         xorl    %ecx,%edx
9369         addl    12(%esp),%ebx
9370         xorl    %esi,%edi
9371         rorl    $6,%edx
9372         movl    %eax,%ecx
9373         addl    %edi,%ebx
9374         rorl    $9,%ecx
9375         movl    %eax,%esi
9376         movl    20(%esp),%edi
9377         xorl    %eax,%ecx
9378         movl    %eax,16(%esp)
9379         xorl    %edi,%eax
9380         rorl    $11,%ecx
9381         andl    %eax,%ebp
9382         leal    958139571(%ebx,%edx,1),%edx
9383         xorl    %esi,%ecx
9384         xorl    %edi,%ebp
9385         movl    56(%esp),%esi
9386         rorl    $2,%ecx
9387         addl    %edx,%ebp
9388         addl    28(%esp),%edx
9389         addl    %ecx,%ebp
9390         movl    44(%esp),%ecx
9391         movl    %esi,%ebx
9392         rorl    $11,%esi
9393         movl    %ecx,%edi
9394         rorl    $2,%ecx
9395         xorl    %ebx,%esi
9396         shrl    $3,%ebx
9397         rorl    $7,%esi
9398         xorl    %edi,%ecx
9399         xorl    %esi,%ebx
9400         rorl    $17,%ecx
9401         addl    52(%esp),%ebx
9402         shrl    $10,%edi
9403         addl    88(%esp),%ebx
9404         movl    %edx,%esi
9405         xorl    %ecx,%edi
9406         movl    (%esp),%ecx
9407         rorl    $14,%edx
9408         addl    %edi,%ebx
9409         movl    4(%esp),%edi
9410         xorl    %esi,%edx
9411         movl    %ebx,52(%esp)
9412         xorl    %edi,%ecx
9413         rorl    $5,%edx
9414         andl    %esi,%ecx
9415         movl    %esi,28(%esp)
9416         xorl    %esi,%edx
9417         addl    8(%esp),%ebx
9418         xorl    %ecx,%edi
9419         rorl    $6,%edx
9420         movl    %ebp,%esi
9421         addl    %edi,%ebx
9422         rorl    $9,%esi
9423         movl    %ebp,%ecx
9424         movl    16(%esp),%edi
9425         xorl    %ebp,%esi
9426         movl    %ebp,12(%esp)
9427         xorl    %edi,%ebp
9428         rorl    $11,%esi
9429         andl    %ebp,%eax
9430         leal    1322822218(%ebx,%edx,1),%edx
9431         xorl    %ecx,%esi
9432         xorl    %edi,%eax
9433         movl    60(%esp),%ecx
9434         rorl    $2,%esi
9435         addl    %edx,%eax
9436         addl    24(%esp),%edx
9437         addl    %esi,%eax
9438         movl    48(%esp),%esi
9439         movl    %ecx,%ebx
9440         rorl    $11,%ecx
9441         movl    %esi,%edi
9442         rorl    $2,%esi
9443         xorl    %ebx,%ecx
9444         shrl    $3,%ebx
9445         rorl    $7,%ecx
9446         xorl    %edi,%esi
9447         xorl    %ecx,%ebx
9448         rorl    $17,%esi
9449         addl    56(%esp),%ebx
9450         shrl    $10,%edi
9451         addl    92(%esp),%ebx
9452         movl    %edx,%ecx
9453         xorl    %esi,%edi
9454         movl    28(%esp),%esi
9455         rorl    $14,%edx
9456         addl    %edi,%ebx
9457         movl    (%esp),%edi
9458         xorl    %ecx,%edx
9459         movl    %ebx,56(%esp)
9460         xorl    %edi,%esi
9461         rorl    $5,%edx
9462         andl    %ecx,%esi
9463         movl    %ecx,24(%esp)
9464         xorl    %ecx,%edx
9465         addl    4(%esp),%ebx
9466         xorl    %esi,%edi
9467         rorl    $6,%edx
9468         movl    %eax,%ecx
9469         addl    %edi,%ebx
9470         rorl    $9,%ecx
9471         movl    %eax,%esi
9472         movl    12(%esp),%edi
9473         xorl    %eax,%ecx
9474         movl    %eax,8(%esp)
9475         xorl    %edi,%eax
9476         rorl    $11,%ecx
9477         andl    %eax,%ebp
9478         leal    1537002063(%ebx,%edx,1),%edx
9479         xorl    %esi,%ecx
9480         xorl    %edi,%ebp
9481         movl    64(%esp),%esi
9482         rorl    $2,%ecx
9483         addl    %edx,%ebp
9484         addl    20(%esp),%edx
9485         addl    %ecx,%ebp
9486         movl    52(%esp),%ecx
9487         movl    %esi,%ebx
9488         rorl    $11,%esi
9489         movl    %ecx,%edi
9490         rorl    $2,%ecx
9491         xorl    %ebx,%esi
9492         shrl    $3,%ebx
9493         rorl    $7,%esi
9494         xorl    %edi,%ecx
9495         xorl    %esi,%ebx
9496         rorl    $17,%ecx
9497         addl    60(%esp),%ebx
9498         shrl    $10,%edi
9499         addl    32(%esp),%ebx
9500         movl    %edx,%esi
9501         xorl    %ecx,%edi
9502         movl    24(%esp),%ecx
9503         rorl    $14,%edx
9504         addl    %edi,%ebx
9505         movl    28(%esp),%edi
9506         xorl    %esi,%edx
9507         movl    %ebx,60(%esp)
9508         xorl    %edi,%ecx
9509         rorl    $5,%edx
9510         andl    %esi,%ecx
9511         movl    %esi,20(%esp)
9512         xorl    %esi,%edx
9513         addl    (%esp),%ebx
9514         xorl    %ecx,%edi
9515         rorl    $6,%edx
9516         movl    %ebp,%esi
9517         addl    %edi,%ebx
9518         rorl    $9,%esi
9519         movl    %ebp,%ecx
9520         movl    8(%esp),%edi
9521         xorl    %ebp,%esi
9522         movl    %ebp,4(%esp)
9523         xorl    %edi,%ebp
9524         rorl    $11,%esi
9525         andl    %ebp,%eax
9526         leal    1747873779(%ebx,%edx,1),%edx
9527         xorl    %ecx,%esi
9528         xorl    %edi,%eax
9529         movl    68(%esp),%ecx
9530         rorl    $2,%esi
9531         addl    %edx,%eax
9532         addl    16(%esp),%edx
9533         addl    %esi,%eax
9534         movl    56(%esp),%esi
9535         movl    %ecx,%ebx
9536         rorl    $11,%ecx
9537         movl    %esi,%edi
9538         rorl    $2,%esi
9539         xorl    %ebx,%ecx
9540         shrl    $3,%ebx
9541         rorl    $7,%ecx
9542         xorl    %edi,%esi
9543         xorl    %ecx,%ebx
9544         rorl    $17,%esi
9545         addl    64(%esp),%ebx
9546         shrl    $10,%edi
9547         addl    36(%esp),%ebx
9548         movl    %edx,%ecx
9549         xorl    %esi,%edi
9550         movl    20(%esp),%esi
9551         rorl    $14,%edx
9552         addl    %edi,%ebx
9553         movl    24(%esp),%edi
9554         xorl    %ecx,%edx
9555         movl    %ebx,64(%esp)
9556         xorl    %edi,%esi
9557         rorl    $5,%edx
9558         andl    %ecx,%esi
9559         movl    %ecx,16(%esp)
9560         xorl    %ecx,%edx
9561         addl    28(%esp),%ebx
9562         xorl    %esi,%edi
9563         rorl    $6,%edx
9564         movl    %eax,%ecx
9565         addl    %edi,%ebx
9566         rorl    $9,%ecx
9567         movl    %eax,%esi
9568         movl    4(%esp),%edi
9569         xorl    %eax,%ecx
9570         movl    %eax,(%esp)
9571         xorl    %edi,%eax
9572         rorl    $11,%ecx
9573         andl    %eax,%ebp
9574         leal    1955562222(%ebx,%edx,1),%edx
9575         xorl    %esi,%ecx
9576         xorl    %edi,%ebp
9577         movl    72(%esp),%esi
9578         rorl    $2,%ecx
9579         addl    %edx,%ebp
9580         addl    12(%esp),%edx
9581         addl    %ecx,%ebp
9582         movl    60(%esp),%ecx
9583         movl    %esi,%ebx
9584         rorl    $11,%esi
9585         movl    %ecx,%edi
9586         rorl    $2,%ecx
9587         xorl    %ebx,%esi
9588         shrl    $3,%ebx
9589         rorl    $7,%esi
9590         xorl    %edi,%ecx
9591         xorl    %esi,%ebx
9592         rorl    $17,%ecx
9593         addl    68(%esp),%ebx
9594         shrl    $10,%edi
9595         addl    40(%esp),%ebx
9596         movl    %edx,%esi
9597         xorl    %ecx,%edi
9598         movl    16(%esp),%ecx
9599         rorl    $14,%edx
9600         addl    %edi,%ebx
9601         movl    20(%esp),%edi
9602         xorl    %esi,%edx
9603         movl    %ebx,68(%esp)
9604         xorl    %edi,%ecx
9605         rorl    $5,%edx
9606         andl    %esi,%ecx
9607         movl    %esi,12(%esp)
9608         xorl    %esi,%edx
9609         addl    24(%esp),%ebx
9610         xorl    %ecx,%edi
9611         rorl    $6,%edx
9612         movl    %ebp,%esi
9613         addl    %edi,%ebx
9614         rorl    $9,%esi
9615         movl    %ebp,%ecx
9616         movl    (%esp),%edi
9617         xorl    %ebp,%esi
9618         movl    %ebp,28(%esp)
9619         xorl    %edi,%ebp
9620         rorl    $11,%esi
9621         andl    %ebp,%eax
9622         leal    2024104815(%ebx,%edx,1),%edx
9623         xorl    %ecx,%esi
9624         xorl    %edi,%eax
9625         movl    76(%esp),%ecx
9626         rorl    $2,%esi
9627         addl    %edx,%eax
9628         addl    8(%esp),%edx
9629         addl    %esi,%eax
9630         movl    64(%esp),%esi
9631         movl    %ecx,%ebx
9632         rorl    $11,%ecx
9633         movl    %esi,%edi
9634         rorl    $2,%esi
9635         xorl    %ebx,%ecx
9636         shrl    $3,%ebx
9637         rorl    $7,%ecx
9638         xorl    %edi,%esi
9639         xorl    %ecx,%ebx
9640         rorl    $17,%esi
9641         addl    72(%esp),%ebx
9642         shrl    $10,%edi
9643         addl    44(%esp),%ebx
9644         movl    %edx,%ecx
9645         xorl    %esi,%edi
9646         movl    12(%esp),%esi
9647         rorl    $14,%edx
9648         addl    %edi,%ebx
9649         movl    16(%esp),%edi
9650         xorl    %ecx,%edx
9651         movl    %ebx,72(%esp)
9652         xorl    %edi,%esi
9653         rorl    $5,%edx
9654         andl    %ecx,%esi
9655         movl    %ecx,8(%esp)
9656         xorl    %ecx,%edx
9657         addl    20(%esp),%ebx
9658         xorl    %esi,%edi
9659         rorl    $6,%edx
9660         movl    %eax,%ecx
9661         addl    %edi,%ebx
9662         rorl    $9,%ecx
9663         movl    %eax,%esi
9664         movl    28(%esp),%edi
9665         xorl    %eax,%ecx
9666         movl    %eax,24(%esp)
9667         xorl    %edi,%eax
9668         rorl    $11,%ecx
9669         andl    %eax,%ebp
9670         leal    2227730452(%ebx,%edx,1),%edx
9671         xorl    %esi,%ecx
9672         xorl    %edi,%ebp
9673         movl    80(%esp),%esi
9674         rorl    $2,%ecx
9675         addl    %edx,%ebp
9676         addl    4(%esp),%edx
9677         addl    %ecx,%ebp
9678         movl    68(%esp),%ecx
9679         movl    %esi,%ebx
9680         rorl    $11,%esi
9681         movl    %ecx,%edi
9682         rorl    $2,%ecx
9683         xorl    %ebx,%esi
9684         shrl    $3,%ebx
9685         rorl    $7,%esi
9686         xorl    %edi,%ecx
9687         xorl    %esi,%ebx
9688         rorl    $17,%ecx
9689         addl    76(%esp),%ebx
9690         shrl    $10,%edi
9691         addl    48(%esp),%ebx
9692         movl    %edx,%esi
9693         xorl    %ecx,%edi
9694         movl    8(%esp),%ecx
9695         rorl    $14,%edx
9696         addl    %edi,%ebx
9697         movl    12(%esp),%edi
9698         xorl    %esi,%edx
9699         movl    %ebx,76(%esp)
9700         xorl    %edi,%ecx
9701         rorl    $5,%edx
9702         andl    %esi,%ecx
9703         movl    %esi,4(%esp)
9704         xorl    %esi,%edx
9705         addl    16(%esp),%ebx
9706         xorl    %ecx,%edi
9707         rorl    $6,%edx
9708         movl    %ebp,%esi
9709         addl    %edi,%ebx
9710         rorl    $9,%esi
9711         movl    %ebp,%ecx
9712         movl    24(%esp),%edi
9713         xorl    %ebp,%esi
9714         movl    %ebp,20(%esp)
9715         xorl    %edi,%ebp
9716         rorl    $11,%esi
9717         andl    %ebp,%eax
9718         leal    2361852424(%ebx,%edx,1),%edx
9719         xorl    %ecx,%esi
9720         xorl    %edi,%eax
9721         movl    84(%esp),%ecx
9722         rorl    $2,%esi
9723         addl    %edx,%eax
9724         addl    (%esp),%edx
9725         addl    %esi,%eax
9726         movl    72(%esp),%esi
9727         movl    %ecx,%ebx
9728         rorl    $11,%ecx
9729         movl    %esi,%edi
9730         rorl    $2,%esi
9731         xorl    %ebx,%ecx
9732         shrl    $3,%ebx
9733         rorl    $7,%ecx
9734         xorl    %edi,%esi
9735         xorl    %ecx,%ebx
9736         rorl    $17,%esi
9737         addl    80(%esp),%ebx
9738         shrl    $10,%edi
9739         addl    52(%esp),%ebx
9740         movl    %edx,%ecx
9741         xorl    %esi,%edi
9742         movl    4(%esp),%esi
9743         rorl    $14,%edx
9744         addl    %edi,%ebx
9745         movl    8(%esp),%edi
9746         xorl    %ecx,%edx
9747         movl    %ebx,80(%esp)
9748         xorl    %edi,%esi
9749         rorl    $5,%edx
9750         andl    %ecx,%esi
9751         movl    %ecx,(%esp)
9752         xorl    %ecx,%edx
9753         addl    12(%esp),%ebx
9754         xorl    %esi,%edi
9755         rorl    $6,%edx
9756         movl    %eax,%ecx
9757         addl    %edi,%ebx
9758         rorl    $9,%ecx
9759         movl    %eax,%esi
9760         movl    20(%esp),%edi
9761         xorl    %eax,%ecx
9762         movl    %eax,16(%esp)
9763         xorl    %edi,%eax
9764         rorl    $11,%ecx
9765         andl    %eax,%ebp
9766         leal    2428436474(%ebx,%edx,1),%edx
9767         xorl    %esi,%ecx
9768         xorl    %edi,%ebp
9769         movl    88(%esp),%esi
9770         rorl    $2,%ecx
9771         addl    %edx,%ebp
9772         addl    28(%esp),%edx
9773         addl    %ecx,%ebp
9774         movl    76(%esp),%ecx
9775         movl    %esi,%ebx
9776         rorl    $11,%esi
9777         movl    %ecx,%edi
9778         rorl    $2,%ecx
9779         xorl    %ebx,%esi
9780         shrl    $3,%ebx
9781         rorl    $7,%esi
9782         xorl    %edi,%ecx
9783         xorl    %esi,%ebx
9784         rorl    $17,%ecx
9785         addl    84(%esp),%ebx
9786         shrl    $10,%edi
9787         addl    56(%esp),%ebx
9788         movl    %edx,%esi
9789         xorl    %ecx,%edi
9790         movl    (%esp),%ecx
9791         rorl    $14,%edx
9792         addl    %edi,%ebx
9793         movl    4(%esp),%edi
9794         xorl    %esi,%edx
9795         movl    %ebx,84(%esp)
9796         xorl    %edi,%ecx
9797         rorl    $5,%edx
9798         andl    %esi,%ecx
9799         movl    %esi,28(%esp)
9800         xorl    %esi,%edx
9801         addl    8(%esp),%ebx
9802         xorl    %ecx,%edi
9803         rorl    $6,%edx
9804         movl    %ebp,%esi
9805         addl    %edi,%ebx
9806         rorl    $9,%esi
9807         movl    %ebp,%ecx
9808         movl    16(%esp),%edi
9809         xorl    %ebp,%esi
9810         movl    %ebp,12(%esp)
9811         xorl    %edi,%ebp
9812         rorl    $11,%esi
9813         andl    %ebp,%eax
9814         leal    2756734187(%ebx,%edx,1),%edx
9815         xorl    %ecx,%esi
9816         xorl    %edi,%eax
9817         movl    92(%esp),%ecx
9818         rorl    $2,%esi
9819         addl    %edx,%eax
9820         addl    24(%esp),%edx
9821         addl    %esi,%eax
9822         movl    80(%esp),%esi
9823         movl    %ecx,%ebx
9824         rorl    $11,%ecx
9825         movl    %esi,%edi
9826         rorl    $2,%esi
9827         xorl    %ebx,%ecx
9828         shrl    $3,%ebx
9829         rorl    $7,%ecx
9830         xorl    %edi,%esi
9831         xorl    %ecx,%ebx
9832         rorl    $17,%esi
9833         addl    88(%esp),%ebx
9834         shrl    $10,%edi
9835         addl    60(%esp),%ebx
9836         movl    %edx,%ecx
9837         xorl    %esi,%edi
9838         movl    28(%esp),%esi
9839         rorl    $14,%edx
9840         addl    %edi,%ebx
9841         movl    (%esp),%edi
9842         xorl    %ecx,%edx
9843         xorl    %edi,%esi
9844         rorl    $5,%edx
9845         andl    %ecx,%esi
9846         movl    %ecx,24(%esp)
9847         xorl    %ecx,%edx
9848         addl    4(%esp),%ebx
9849         xorl    %esi,%edi
9850         rorl    $6,%edx
9851         movl    %eax,%ecx
9852         addl    %edi,%ebx
9853         rorl    $9,%ecx
9854         movl    %eax,%esi
9855         movl    12(%esp),%edi
9856         xorl    %eax,%ecx
9857         movl    %eax,8(%esp)
9858         xorl    %edi,%eax
9859         rorl    $11,%ecx
9860         andl    %eax,%ebp
9861         leal    3204031479(%ebx,%edx,1),%edx
9862         xorl    %esi,%ecx
9863         xorl    %edi,%ebp
9864         movl    32(%esp),%esi
9865         rorl    $2,%ecx
9866         addl    %edx,%ebp
9867         addl    20(%esp),%edx
9868         addl    %ecx,%ebp
9869         movl    84(%esp),%ecx
9870         movl    %esi,%ebx
9871         rorl    $11,%esi
9872         movl    %ecx,%edi
9873         rorl    $2,%ecx
9874         xorl    %ebx,%esi
9875         shrl    $3,%ebx
9876         rorl    $7,%esi
9877         xorl    %edi,%ecx
9878         xorl    %esi,%ebx
9879         rorl    $17,%ecx
9880         addl    92(%esp),%ebx
9881         shrl    $10,%edi
9882         addl    64(%esp),%ebx
9883         movl    %edx,%esi
9884         xorl    %ecx,%edi
9885         movl    24(%esp),%ecx
9886         rorl    $14,%edx
9887         addl    %edi,%ebx
9888         movl    28(%esp),%edi
9889         xorl    %esi,%edx
9890         xorl    %edi,%ecx
9891         rorl    $5,%edx
9892         andl    %esi,%ecx
9893         movl    %esi,20(%esp)
9894         xorl    %esi,%edx
9895         addl    (%esp),%ebx
9896         xorl    %ecx,%edi
9897         rorl    $6,%edx
9898         movl    %ebp,%esi
9899         addl    %edi,%ebx
9900         rorl    $9,%esi
9901         movl    %ebp,%ecx
9902         movl    8(%esp),%edi
9903         xorl    %ebp,%esi
9904         movl    %ebp,4(%esp)
9905         xorl    %edi,%ebp
9906         rorl    $11,%esi
9907         andl    %ebp,%eax
9908         leal    3329325298(%ebx,%edx,1),%edx
9909         xorl    %ecx,%esi
9910         xorl    %edi,%eax
9911         rorl    $2,%esi
9912         addl    %edx,%eax
9913         addl    16(%esp),%edx
9914         addl    %esi,%eax
9915         movl    96(%esp),%esi
9916         xorl    %edi,%ebp
9917         movl    12(%esp),%ecx
9918         addl    (%esi),%eax
9919         addl    4(%esi),%ebp
9920         addl    8(%esi),%edi
9921         addl    12(%esi),%ecx
9922         movl    %eax,(%esi)
9923         movl    %ebp,4(%esi)
9924         movl    %edi,8(%esi)
9925         movl    %ecx,12(%esi)
9926         movl    %ebp,4(%esp)
9927         xorl    %edi,%ebp
9928         movl    %edi,8(%esp)
9929         movl    %ecx,12(%esp)
9930         movl    20(%esp),%edi
9931         movl    24(%esp),%ebx
9932         movl    28(%esp),%ecx
9933         addl    16(%esi),%edx
9934         addl    20(%esi),%edi
9935         addl    24(%esi),%ebx
9936         addl    28(%esi),%ecx
9937         movl    %edx,16(%esi)
9938         movl    %edi,20(%esi)
9939         movl    %ebx,24(%esi)
9940         movl    %ecx,28(%esi)
9941         movl    %edi,20(%esp)
9942         movl    100(%esp),%edi
9943         movl    %ebx,24(%esp)
9944         movl    %ecx,28(%esp)
9945         cmpl    104(%esp),%edi
9946         jb      .L010grand_loop
9947         movl    108(%esp),%esp
9948         popl    %edi
9949         popl    %esi
9950         popl    %ebx
9951         popl    %ebp
9952         ret
9953 .align  32
9954 .L004shaext:
9955         subl    $32,%esp
9956         movdqu  (%esi),%xmm1
9957         leal    128(%ebp),%ebp
9958         movdqu  16(%esi),%xmm2
9959         movdqa  128(%ebp),%xmm7
9960         pshufd  $27,%xmm1,%xmm0
9961         pshufd  $177,%xmm1,%xmm1
9962         pshufd  $27,%xmm2,%xmm2
9963 .byte   102,15,58,15,202,8
9964         punpcklqdq      %xmm0,%xmm2
9965         jmp     .L011loop_shaext
9966 .align  16
9967 .L011loop_shaext:
9968         movdqu  (%edi),%xmm3
9969         movdqu  16(%edi),%xmm4
9970         movdqu  32(%edi),%xmm5
9971 .byte   102,15,56,0,223
9972         movdqu  48(%edi),%xmm6
9973         movdqa  %xmm2,16(%esp)
9974         movdqa  -128(%ebp),%xmm0
9975         paddd   %xmm3,%xmm0
9976 .byte   102,15,56,0,231
9977 .byte   15,56,203,209
9978         pshufd  $14,%xmm0,%xmm0
9979         nop
9980         movdqa  %xmm1,(%esp)
9981 .byte   15,56,203,202
9982         movdqa  -112(%ebp),%xmm0
9983         paddd   %xmm4,%xmm0
9984 .byte   102,15,56,0,239
9985 .byte   15,56,203,209
9986         pshufd  $14,%xmm0,%xmm0
9987         leal    64(%edi),%edi
9988 .byte   15,56,204,220
9989 .byte   15,56,203,202
9990         movdqa  -96(%ebp),%xmm0
9991         paddd   %xmm5,%xmm0
9992 .byte   102,15,56,0,247
9993 .byte   15,56,203,209
9994         pshufd  $14,%xmm0,%xmm0
9995         movdqa  %xmm6,%xmm7
9996 .byte   102,15,58,15,253,4
9997         nop
9998         paddd   %xmm7,%xmm3
9999 .byte   15,56,204,229
10000 .byte   15,56,203,202
10001         movdqa  -80(%ebp),%xmm0
10002         paddd   %xmm6,%xmm0
10003 .byte   15,56,205,222
10004 .byte   15,56,203,209
10005         pshufd  $14,%xmm0,%xmm0
10006         movdqa  %xmm3,%xmm7
10007 .byte   102,15,58,15,254,4
10008         nop
10009         paddd   %xmm7,%xmm4
10010 .byte   15,56,204,238
10011 .byte   15,56,203,202
10012         movdqa  -64(%ebp),%xmm0
10013         paddd   %xmm3,%xmm0
10014 .byte   15,56,205,227
10015 .byte   15,56,203,209
10016         pshufd  $14,%xmm0,%xmm0
10017         movdqa  %xmm4,%xmm7
10018 .byte   102,15,58,15,251,4
10019         nop
10020         paddd   %xmm7,%xmm5
10021 .byte   15,56,204,243
10022 .byte   15,56,203,202
10023         movdqa  -48(%ebp),%xmm0
10024         paddd   %xmm4,%xmm0
10025 .byte   15,56,205,236
10026 .byte   15,56,203,209
10027         pshufd  $14,%xmm0,%xmm0
10028         movdqa  %xmm5,%xmm7
10029 .byte   102,15,58,15,252,4
10030         nop
10031         paddd   %xmm7,%xmm6
10032 .byte   15,56,204,220
10033 .byte   15,56,203,202
10034         movdqa  -32(%ebp),%xmm0
10035         paddd   %xmm5,%xmm0
10036 .byte   15,56,205,245
10037 .byte   15,56,203,209
10038         pshufd  $14,%xmm0,%xmm0
10039         movdqa  %xmm6,%xmm7
10040 .byte   102,15,58,15,253,4
10041         nop
10042         paddd   %xmm7,%xmm3
10043 .byte   15,56,204,229
10044 .byte   15,56,203,202
10045         movdqa  -16(%ebp),%xmm0
10046         paddd   %xmm6,%xmm0
10047 .byte   15,56,205,222
10048 .byte   15,56,203,209
10049         pshufd  $14,%xmm0,%xmm0
10050         movdqa  %xmm3,%xmm7
10051 .byte   102,15,58,15,254,4
10052         nop
10053         paddd   %xmm7,%xmm4
10054 .byte   15,56,204,238
10055 .byte   15,56,203,202
10056         movdqa  (%ebp),%xmm0
10057         paddd   %xmm3,%xmm0
10058 .byte   15,56,205,227
10059 .byte   15,56,203,209
10060         pshufd  $14,%xmm0,%xmm0
10061         movdqa  %xmm4,%xmm7
10062 .byte   102,15,58,15,251,4
10063         nop
10064         paddd   %xmm7,%xmm5
10065 .byte   15,56,204,243
10066 .byte   15,56,203,202
10067         movdqa  16(%ebp),%xmm0
10068         paddd   %xmm4,%xmm0
10069 .byte   15,56,205,236
10070 .byte   15,56,203,209
10071         pshufd  $14,%xmm0,%xmm0
10072         movdqa  %xmm5,%xmm7
10073 .byte   102,15,58,15,252,4
10074         nop
10075         paddd   %xmm7,%xmm6
10076 .byte   15,56,204,220
10077 .byte   15,56,203,202
10078         movdqa  32(%ebp),%xmm0
10079         paddd   %xmm5,%xmm0
10080 .byte   15,56,205,245
10081 .byte   15,56,203,209
10082         pshufd  $14,%xmm0,%xmm0
10083         movdqa  %xmm6,%xmm7
10084 .byte   102,15,58,15,253,4
10085         nop
10086         paddd   %xmm7,%xmm3
10087 .byte   15,56,204,229
10088 .byte   15,56,203,202
10089         movdqa  48(%ebp),%xmm0
10090         paddd   %xmm6,%xmm0
10091 .byte   15,56,205,222
10092 .byte   15,56,203,209
10093         pshufd  $14,%xmm0,%xmm0
10094         movdqa  %xmm3,%xmm7
10095 .byte   102,15,58,15,254,4
10096         nop
10097         paddd   %xmm7,%xmm4
10098 .byte   15,56,204,238
10099 .byte   15,56,203,202
10100         movdqa  64(%ebp),%xmm0
10101         paddd   %xmm3,%xmm0
10102 .byte   15,56,205,227
10103 .byte   15,56,203,209
10104         pshufd  $14,%xmm0,%xmm0
10105         movdqa  %xmm4,%xmm7
10106 .byte   102,15,58,15,251,4
10107         nop
10108         paddd   %xmm7,%xmm5
10109 .byte   15,56,204,243
10110 .byte   15,56,203,202
10111         movdqa  80(%ebp),%xmm0
10112         paddd   %xmm4,%xmm0
10113 .byte   15,56,205,236
10114 .byte   15,56,203,209
10115         pshufd  $14,%xmm0,%xmm0
10116         movdqa  %xmm5,%xmm7
10117 .byte   102,15,58,15,252,4
10118 .byte   15,56,203,202
10119         paddd   %xmm7,%xmm6
10120         movdqa  96(%ebp),%xmm0
10121         paddd   %xmm5,%xmm0
10122 .byte   15,56,203,209
10123         pshufd  $14,%xmm0,%xmm0
10124 .byte   15,56,205,245
10125         movdqa  128(%ebp),%xmm7
10126 .byte   15,56,203,202
10127         movdqa  112(%ebp),%xmm0
10128         paddd   %xmm6,%xmm0
10129         nop
10130 .byte   15,56,203,209
10131         pshufd  $14,%xmm0,%xmm0
10132         cmpl    %edi,%eax
10133         nop
10134 .byte   15,56,203,202
10135         paddd   16(%esp),%xmm2
10136         paddd   (%esp),%xmm1
10137         jnz     .L011loop_shaext
10138         pshufd  $177,%xmm2,%xmm2
10139         pshufd  $27,%xmm1,%xmm7
10140         pshufd  $177,%xmm1,%xmm1
10141         punpckhqdq      %xmm2,%xmm1
10142 .byte   102,15,58,15,215,8
10143         movl    44(%esp),%esp
10144         movdqu  %xmm1,(%esi)
10145         movdqu  %xmm2,16(%esi)
10146         popl    %edi
10147         popl    %esi
10148         popl    %ebx
10149         popl    %ebp
10150         ret
10151 .align  32
10152 .L006SSSE3:
10153         leal    -96(%esp),%esp
10154         movl    (%esi),%eax
10155         movl    4(%esi),%ebx
10156         movl    8(%esi),%ecx
10157         movl    12(%esi),%edi
10158         movl    %ebx,4(%esp)
10159         xorl    %ecx,%ebx
10160         movl    %ecx,8(%esp)
10161         movl    %edi,12(%esp)
10162         movl    16(%esi),%edx
10163         movl    20(%esi),%edi
10164         movl    24(%esi),%ecx
10165         movl    28(%esi),%esi
10166         movl    %edi,20(%esp)
10167         movl    100(%esp),%edi
10168         movl    %ecx,24(%esp)
10169         movl    %esi,28(%esp)
10170         movdqa  256(%ebp),%xmm7
10171         jmp     .L012grand_ssse3
10172 .align  16
10173 .L012grand_ssse3:
10174         movdqu  (%edi),%xmm0
10175         movdqu  16(%edi),%xmm1
10176         movdqu  32(%edi),%xmm2
10177         movdqu  48(%edi),%xmm3
10178         addl    $64,%edi
10179 .byte   102,15,56,0,199
10180         movl    %edi,100(%esp)
10181 .byte   102,15,56,0,207
10182         movdqa  (%ebp),%xmm4
10183 .byte   102,15,56,0,215
10184         movdqa  16(%ebp),%xmm5
10185         paddd   %xmm0,%xmm4
10186 .byte   102,15,56,0,223
10187         movdqa  32(%ebp),%xmm6
10188         paddd   %xmm1,%xmm5
10189         movdqa  48(%ebp),%xmm7
10190         movdqa  %xmm4,32(%esp)
10191         paddd   %xmm2,%xmm6
10192         movdqa  %xmm5,48(%esp)
10193         paddd   %xmm3,%xmm7
10194         movdqa  %xmm6,64(%esp)
10195         movdqa  %xmm7,80(%esp)
10196         jmp     .L013ssse3_00_47
10197 .align  16
10198 .L013ssse3_00_47:
10199         addl    $64,%ebp
10200         movl    %edx,%ecx
10201         movdqa  %xmm1,%xmm4
10202         rorl    $14,%edx
10203         movl    20(%esp),%esi
10204         movdqa  %xmm3,%xmm7
10205         xorl    %ecx,%edx
10206         movl    24(%esp),%edi
10207 .byte   102,15,58,15,224,4
10208         xorl    %edi,%esi
10209         rorl    $5,%edx
10210         andl    %ecx,%esi
10211 .byte   102,15,58,15,250,4
10212         movl    %ecx,16(%esp)
10213         xorl    %ecx,%edx
10214         xorl    %esi,%edi
10215         movdqa  %xmm4,%xmm5
10216         rorl    $6,%edx
10217         movl    %eax,%ecx
10218         movdqa  %xmm4,%xmm6
10219         addl    %edi,%edx
10220         movl    4(%esp),%edi
10221         psrld   $3,%xmm4
10222         movl    %eax,%esi
10223         rorl    $9,%ecx
10224         paddd   %xmm7,%xmm0
10225         movl    %eax,(%esp)
10226         xorl    %eax,%ecx
10227         psrld   $7,%xmm6
10228         xorl    %edi,%eax
10229         addl    28(%esp),%edx
10230         rorl    $11,%ecx
10231         andl    %eax,%ebx
10232         pshufd  $250,%xmm3,%xmm7
10233         xorl    %esi,%ecx
10234         addl    32(%esp),%edx
10235         pslld   $14,%xmm5
10236         xorl    %edi,%ebx
10237         rorl    $2,%ecx
10238         pxor    %xmm6,%xmm4
10239         addl    %edx,%ebx
10240         addl    12(%esp),%edx
10241         psrld   $11,%xmm6
10242         addl    %ecx,%ebx
10243         movl    %edx,%ecx
10244         rorl    $14,%edx
10245         pxor    %xmm5,%xmm4
10246         movl    16(%esp),%esi
10247         xorl    %ecx,%edx
10248         pslld   $11,%xmm5
10249         movl    20(%esp),%edi
10250         xorl    %edi,%esi
10251         rorl    $5,%edx
10252         pxor    %xmm6,%xmm4
10253         andl    %ecx,%esi
10254         movl    %ecx,12(%esp)
10255         movdqa  %xmm7,%xmm6
10256         xorl    %ecx,%edx
10257         xorl    %esi,%edi
10258         rorl    $6,%edx
10259         pxor    %xmm5,%xmm4
10260         movl    %ebx,%ecx
10261         addl    %edi,%edx
10262         psrld   $10,%xmm7
10263         movl    (%esp),%edi
10264         movl    %ebx,%esi
10265         rorl    $9,%ecx
10266         paddd   %xmm4,%xmm0
10267         movl    %ebx,28(%esp)
10268         xorl    %ebx,%ecx
10269         psrlq   $17,%xmm6
10270         xorl    %edi,%ebx
10271         addl    24(%esp),%edx
10272         rorl    $11,%ecx
10273         pxor    %xmm6,%xmm7
10274         andl    %ebx,%eax
10275         xorl    %esi,%ecx
10276         psrlq   $2,%xmm6
10277         addl    36(%esp),%edx
10278         xorl    %edi,%eax
10279         rorl    $2,%ecx
10280         pxor    %xmm6,%xmm7
10281         addl    %edx,%eax
10282         addl    8(%esp),%edx
10283         pshufd  $128,%xmm7,%xmm7
10284         addl    %ecx,%eax
10285         movl    %edx,%ecx
10286         rorl    $14,%edx
10287         movl    12(%esp),%esi
10288         xorl    %ecx,%edx
10289         movl    16(%esp),%edi
10290         xorl    %edi,%esi
10291         rorl    $5,%edx
10292         andl    %ecx,%esi
10293         psrldq  $8,%xmm7
10294         movl    %ecx,8(%esp)
10295         xorl    %ecx,%edx
10296         xorl    %esi,%edi
10297         paddd   %xmm7,%xmm0
10298         rorl    $6,%edx
10299         movl    %eax,%ecx
10300         addl    %edi,%edx
10301         movl    28(%esp),%edi
10302         movl    %eax,%esi
10303         rorl    $9,%ecx
10304         movl    %eax,24(%esp)
10305         pshufd  $80,%xmm0,%xmm7
10306         xorl    %eax,%ecx
10307         xorl    %edi,%eax
10308         addl    20(%esp),%edx
10309         movdqa  %xmm7,%xmm6
10310         rorl    $11,%ecx
10311         psrld   $10,%xmm7
10312         andl    %eax,%ebx
10313         psrlq   $17,%xmm6
10314         xorl    %esi,%ecx
10315         addl    40(%esp),%edx
10316         xorl    %edi,%ebx
10317         rorl    $2,%ecx
10318         pxor    %xmm6,%xmm7
10319         addl    %edx,%ebx
10320         addl    4(%esp),%edx
10321         psrlq   $2,%xmm6
10322         addl    %ecx,%ebx
10323         movl    %edx,%ecx
10324         rorl    $14,%edx
10325         pxor    %xmm6,%xmm7
10326         movl    8(%esp),%esi
10327         xorl    %ecx,%edx
10328         movl    12(%esp),%edi
10329         pshufd  $8,%xmm7,%xmm7
10330         xorl    %edi,%esi
10331         rorl    $5,%edx
10332         movdqa  (%ebp),%xmm6
10333         andl    %ecx,%esi
10334         movl    %ecx,4(%esp)
10335         pslldq  $8,%xmm7
10336         xorl    %ecx,%edx
10337         xorl    %esi,%edi
10338         rorl    $6,%edx
10339         movl    %ebx,%ecx
10340         addl    %edi,%edx
10341         movl    24(%esp),%edi
10342         movl    %ebx,%esi
10343         rorl    $9,%ecx
10344         paddd   %xmm7,%xmm0
10345         movl    %ebx,20(%esp)
10346         xorl    %ebx,%ecx
10347         xorl    %edi,%ebx
10348         addl    16(%esp),%edx
10349         paddd   %xmm0,%xmm6
10350         rorl    $11,%ecx
10351         andl    %ebx,%eax
10352         xorl    %esi,%ecx
10353         addl    44(%esp),%edx
10354         xorl    %edi,%eax
10355         rorl    $2,%ecx
10356         addl    %edx,%eax
10357         addl    (%esp),%edx
10358         addl    %ecx,%eax
10359         movdqa  %xmm6,32(%esp)
10360         movl    %edx,%ecx
10361         movdqa  %xmm2,%xmm4
10362         rorl    $14,%edx
10363         movl    4(%esp),%esi
10364         movdqa  %xmm0,%xmm7
10365         xorl    %ecx,%edx
10366         movl    8(%esp),%edi
10367 .byte   102,15,58,15,225,4
10368         xorl    %edi,%esi
10369         rorl    $5,%edx
10370         andl    %ecx,%esi
10371 .byte   102,15,58,15,251,4
10372         movl    %ecx,(%esp)
10373         xorl    %ecx,%edx
10374         xorl    %esi,%edi
10375         movdqa  %xmm4,%xmm5
10376         rorl    $6,%edx
10377         movl    %eax,%ecx
10378         movdqa  %xmm4,%xmm6
10379         addl    %edi,%edx
10380         movl    20(%esp),%edi
10381         psrld   $3,%xmm4
10382         movl    %eax,%esi
10383         rorl    $9,%ecx
10384         paddd   %xmm7,%xmm1
10385         movl    %eax,16(%esp)
10386         xorl    %eax,%ecx
10387         psrld   $7,%xmm6
10388         xorl    %edi,%eax
10389         addl    12(%esp),%edx
10390         rorl    $11,%ecx
10391         andl    %eax,%ebx
10392         pshufd  $250,%xmm0,%xmm7
10393         xorl    %esi,%ecx
10394         addl    48(%esp),%edx
10395         pslld   $14,%xmm5
10396         xorl    %edi,%ebx
10397         rorl    $2,%ecx
10398         pxor    %xmm6,%xmm4
10399         addl    %edx,%ebx
10400         addl    28(%esp),%edx
10401         psrld   $11,%xmm6
10402         addl    %ecx,%ebx
10403         movl    %edx,%ecx
10404         rorl    $14,%edx
10405         pxor    %xmm5,%xmm4
10406         movl    (%esp),%esi
10407         xorl    %ecx,%edx
10408         pslld   $11,%xmm5
10409         movl    4(%esp),%edi
10410         xorl    %edi,%esi
10411         rorl    $5,%edx
10412         pxor    %xmm6,%xmm4
10413         andl    %ecx,%esi
10414         movl    %ecx,28(%esp)
10415         movdqa  %xmm7,%xmm6
10416         xorl    %ecx,%edx
10417         xorl    %esi,%edi
10418         rorl    $6,%edx
10419         pxor    %xmm5,%xmm4
10420         movl    %ebx,%ecx
10421         addl    %edi,%edx
10422         psrld   $10,%xmm7
10423         movl    16(%esp),%edi
10424         movl    %ebx,%esi
10425         rorl    $9,%ecx
10426         paddd   %xmm4,%xmm1
10427         movl    %ebx,12(%esp)
10428         xorl    %ebx,%ecx
10429         psrlq   $17,%xmm6
10430         xorl    %edi,%ebx
10431         addl    8(%esp),%edx
10432         rorl    $11,%ecx
10433         pxor    %xmm6,%xmm7
10434         andl    %ebx,%eax
10435         xorl    %esi,%ecx
10436         psrlq   $2,%xmm6
10437         addl    52(%esp),%edx
10438         xorl    %edi,%eax
10439         rorl    $2,%ecx
10440         pxor    %xmm6,%xmm7
10441         addl    %edx,%eax
10442         addl    24(%esp),%edx
10443         pshufd  $128,%xmm7,%xmm7
10444         addl    %ecx,%eax
10445         movl    %edx,%ecx
10446         rorl    $14,%edx
10447         movl    28(%esp),%esi
10448         xorl    %ecx,%edx
10449         movl    (%esp),%edi
10450         xorl    %edi,%esi
10451         rorl    $5,%edx
10452         andl    %ecx,%esi
10453         psrldq  $8,%xmm7
10454         movl    %ecx,24(%esp)
10455         xorl    %ecx,%edx
10456         xorl    %esi,%edi
10457         paddd   %xmm7,%xmm1
10458         rorl    $6,%edx
10459         movl    %eax,%ecx
10460         addl    %edi,%edx
10461         movl    12(%esp),%edi
10462         movl    %eax,%esi
10463         rorl    $9,%ecx
10464         movl    %eax,8(%esp)
10465         pshufd  $80,%xmm1,%xmm7
10466         xorl    %eax,%ecx
10467         xorl    %edi,%eax
10468         addl    4(%esp),%edx
10469         movdqa  %xmm7,%xmm6
10470         rorl    $11,%ecx
10471         psrld   $10,%xmm7
10472         andl    %eax,%ebx
10473         psrlq   $17,%xmm6
10474         xorl    %esi,%ecx
10475         addl    56(%esp),%edx
10476         xorl    %edi,%ebx
10477         rorl    $2,%ecx
10478         pxor    %xmm6,%xmm7
10479         addl    %edx,%ebx
10480         addl    20(%esp),%edx
10481         psrlq   $2,%xmm6
10482         addl    %ecx,%ebx
10483         movl    %edx,%ecx
10484         rorl    $14,%edx
10485         pxor    %xmm6,%xmm7
10486         movl    24(%esp),%esi
10487         xorl    %ecx,%edx
10488         movl    28(%esp),%edi
10489         pshufd  $8,%xmm7,%xmm7
10490         xorl    %edi,%esi
10491         rorl    $5,%edx
10492         movdqa  16(%ebp),%xmm6
10493         andl    %ecx,%esi
10494         movl    %ecx,20(%esp)
10495         pslldq  $8,%xmm7
10496         xorl    %ecx,%edx
10497         xorl    %esi,%edi
10498         rorl    $6,%edx
10499         movl    %ebx,%ecx
10500         addl    %edi,%edx
10501         movl    8(%esp),%edi
10502         movl    %ebx,%esi
10503         rorl    $9,%ecx
10504         paddd   %xmm7,%xmm1
10505         movl    %ebx,4(%esp)
10506         xorl    %ebx,%ecx
10507         xorl    %edi,%ebx
10508         addl    (%esp),%edx
10509         paddd   %xmm1,%xmm6
10510         rorl    $11,%ecx
10511         andl    %ebx,%eax
10512         xorl    %esi,%ecx
10513         addl    60(%esp),%edx
10514         xorl    %edi,%eax
10515         rorl    $2,%ecx
10516         addl    %edx,%eax
10517         addl    16(%esp),%edx
10518         addl    %ecx,%eax
10519         movdqa  %xmm6,48(%esp)
10520         movl    %edx,%ecx
10521         movdqa  %xmm3,%xmm4
10522         rorl    $14,%edx
10523         movl    20(%esp),%esi
10524         movdqa  %xmm1,%xmm7
10525         xorl    %ecx,%edx
10526         movl    24(%esp),%edi
10527 .byte   102,15,58,15,226,4
10528         xorl    %edi,%esi
10529         rorl    $5,%edx
10530         andl    %ecx,%esi
10531 .byte   102,15,58,15,248,4
10532         movl    %ecx,16(%esp)
10533         xorl    %ecx,%edx
10534         xorl    %esi,%edi
10535         movdqa  %xmm4,%xmm5
10536         rorl    $6,%edx
10537         movl    %eax,%ecx
10538         movdqa  %xmm4,%xmm6
10539         addl    %edi,%edx
10540         movl    4(%esp),%edi
10541         psrld   $3,%xmm4
10542         movl    %eax,%esi
10543         rorl    $9,%ecx
10544         paddd   %xmm7,%xmm2
10545         movl    %eax,(%esp)
10546         xorl    %eax,%ecx
10547         psrld   $7,%xmm6
10548         xorl    %edi,%eax
10549         addl    28(%esp),%edx
10550         rorl    $11,%ecx
10551         andl    %eax,%ebx
10552         pshufd  $250,%xmm1,%xmm7
10553         xorl    %esi,%ecx
10554         addl    64(%esp),%edx
10555         pslld   $14,%xmm5
10556         xorl    %edi,%ebx
10557         rorl    $2,%ecx
10558         pxor    %xmm6,%xmm4
10559         addl    %edx,%ebx
10560         addl    12(%esp),%edx
10561         psrld   $11,%xmm6
10562         addl    %ecx,%ebx
10563         movl    %edx,%ecx
10564         rorl    $14,%edx
10565         pxor    %xmm5,%xmm4
10566         movl    16(%esp),%esi
10567         xorl    %ecx,%edx
10568         pslld   $11,%xmm5
10569         movl    20(%esp),%edi
10570         xorl    %edi,%esi
10571         rorl    $5,%edx
10572         pxor    %xmm6,%xmm4
10573         andl    %ecx,%esi
10574         movl    %ecx,12(%esp)
10575         movdqa  %xmm7,%xmm6
10576         xorl    %ecx,%edx
10577         xorl    %esi,%edi
10578         rorl    $6,%edx
10579         pxor    %xmm5,%xmm4
10580         movl    %ebx,%ecx
10581         addl    %edi,%edx
10582         psrld   $10,%xmm7
10583         movl    (%esp),%edi
10584         movl    %ebx,%esi
10585         rorl    $9,%ecx
10586         paddd   %xmm4,%xmm2
10587         movl    %ebx,28(%esp)
10588         xorl    %ebx,%ecx
10589         psrlq   $17,%xmm6
10590         xorl    %edi,%ebx
10591         addl    24(%esp),%edx
10592         rorl    $11,%ecx
10593         pxor    %xmm6,%xmm7
10594         andl    %ebx,%eax
10595         xorl    %esi,%ecx
10596         psrlq   $2,%xmm6
10597         addl    68(%esp),%edx
10598         xorl    %edi,%eax
10599         rorl    $2,%ecx
10600         pxor    %xmm6,%xmm7
10601         addl    %edx,%eax
10602         addl    8(%esp),%edx
10603         pshufd  $128,%xmm7,%xmm7
10604         addl    %ecx,%eax
10605         movl    %edx,%ecx
10606         rorl    $14,%edx
10607         movl    12(%esp),%esi
10608         xorl    %ecx,%edx
10609         movl    16(%esp),%edi
10610         xorl    %edi,%esi
10611         rorl    $5,%edx
10612         andl    %ecx,%esi
10613         psrldq  $8,%xmm7
10614         movl    %ecx,8(%esp)
10615         xorl    %ecx,%edx
10616         xorl    %esi,%edi
10617         paddd   %xmm7,%xmm2
10618         rorl    $6,%edx
10619         movl    %eax,%ecx
10620         addl    %edi,%edx
10621         movl    28(%esp),%edi
10622         movl    %eax,%esi
10623         rorl    $9,%ecx
10624         movl    %eax,24(%esp)
10625         pshufd  $80,%xmm2,%xmm7
10626         xorl    %eax,%ecx
10627         xorl    %edi,%eax
10628         addl    20(%esp),%edx
10629         movdqa  %xmm7,%xmm6
10630         rorl    $11,%ecx
10631         psrld   $10,%xmm7
10632         andl    %eax,%ebx
10633         psrlq   $17,%xmm6
10634         xorl    %esi,%ecx
10635         addl    72(%esp),%edx
10636         xorl    %edi,%ebx
10637         rorl    $2,%ecx
10638         pxor    %xmm6,%xmm7
10639         addl    %edx,%ebx
10640         addl    4(%esp),%edx
10641         psrlq   $2,%xmm6
10642         addl    %ecx,%ebx
10643         movl    %edx,%ecx
10644         rorl    $14,%edx
10645         pxor    %xmm6,%xmm7
10646         movl    8(%esp),%esi
10647         xorl    %ecx,%edx
10648         movl    12(%esp),%edi
10649         pshufd  $8,%xmm7,%xmm7
10650         xorl    %edi,%esi
10651         rorl    $5,%edx
10652         movdqa  32(%ebp),%xmm6
10653         andl    %ecx,%esi
10654         movl    %ecx,4(%esp)
10655         pslldq  $8,%xmm7
10656         xorl    %ecx,%edx
10657         xorl    %esi,%edi
10658         rorl    $6,%edx
10659         movl    %ebx,%ecx
10660         addl    %edi,%edx
10661         movl    24(%esp),%edi
10662         movl    %ebx,%esi
10663         rorl    $9,%ecx
10664         paddd   %xmm7,%xmm2
10665         movl    %ebx,20(%esp)
10666         xorl    %ebx,%ecx
10667         xorl    %edi,%ebx
10668         addl    16(%esp),%edx
10669         paddd   %xmm2,%xmm6
10670         rorl    $11,%ecx
10671         andl    %ebx,%eax
10672         xorl    %esi,%ecx
10673         addl    76(%esp),%edx
10674         xorl    %edi,%eax
10675         rorl    $2,%ecx
10676         addl    %edx,%eax
10677         addl    (%esp),%edx
10678         addl    %ecx,%eax
10679         movdqa  %xmm6,64(%esp)
10680         movl    %edx,%ecx
10681         movdqa  %xmm0,%xmm4
10682         rorl    $14,%edx
10683         movl    4(%esp),%esi
10684         movdqa  %xmm2,%xmm7
10685         xorl    %ecx,%edx
10686         movl    8(%esp),%edi
10687 .byte   102,15,58,15,227,4
10688         xorl    %edi,%esi
10689         rorl    $5,%edx
10690         andl    %ecx,%esi
10691 .byte   102,15,58,15,249,4
10692         movl    %ecx,(%esp)
10693         xorl    %ecx,%edx
10694         xorl    %esi,%edi
10695         movdqa  %xmm4,%xmm5
10696         rorl    $6,%edx
10697         movl    %eax,%ecx
10698         movdqa  %xmm4,%xmm6
10699         addl    %edi,%edx
10700         movl    20(%esp),%edi
10701         psrld   $3,%xmm4
10702         movl    %eax,%esi
10703         rorl    $9,%ecx
10704         paddd   %xmm7,%xmm3
10705         movl    %eax,16(%esp)
10706         xorl    %eax,%ecx
10707         psrld   $7,%xmm6
10708         xorl    %edi,%eax
10709         addl    12(%esp),%edx
10710         rorl    $11,%ecx
10711         andl    %eax,%ebx
10712         pshufd  $250,%xmm2,%xmm7
10713         xorl    %esi,%ecx
10714         addl    80(%esp),%edx
10715         pslld   $14,%xmm5
10716         xorl    %edi,%ebx
10717         rorl    $2,%ecx
10718         pxor    %xmm6,%xmm4
10719         addl    %edx,%ebx
10720         addl    28(%esp),%edx
10721         psrld   $11,%xmm6
10722         addl    %ecx,%ebx
10723         movl    %edx,%ecx
10724         rorl    $14,%edx
10725         pxor    %xmm5,%xmm4
10726         movl    (%esp),%esi
10727         xorl    %ecx,%edx
10728         pslld   $11,%xmm5
10729         movl    4(%esp),%edi
10730         xorl    %edi,%esi
10731         rorl    $5,%edx
10732         pxor    %xmm6,%xmm4
10733         andl    %ecx,%esi
10734         movl    %ecx,28(%esp)
10735         movdqa  %xmm7,%xmm6
10736         xorl    %ecx,%edx
10737         xorl    %esi,%edi
10738         rorl    $6,%edx
10739         pxor    %xmm5,%xmm4
10740         movl    %ebx,%ecx
10741         addl    %edi,%edx
10742         psrld   $10,%xmm7
10743         movl    16(%esp),%edi
10744         movl    %ebx,%esi
10745         rorl    $9,%ecx
10746         paddd   %xmm4,%xmm3
10747         movl    %ebx,12(%esp)
10748         xorl    %ebx,%ecx
10749         psrlq   $17,%xmm6
10750         xorl    %edi,%ebx
10751         addl    8(%esp),%edx
10752         rorl    $11,%ecx
10753         pxor    %xmm6,%xmm7
10754         andl    %ebx,%eax
10755         xorl    %esi,%ecx
10756         psrlq   $2,%xmm6
10757         addl    84(%esp),%edx
10758         xorl    %edi,%eax
10759         rorl    $2,%ecx
10760         pxor    %xmm6,%xmm7
10761         addl    %edx,%eax
10762         addl    24(%esp),%edx
10763         pshufd  $128,%xmm7,%xmm7
10764         addl    %ecx,%eax
10765         movl    %edx,%ecx
10766         rorl    $14,%edx
10767         movl    28(%esp),%esi
10768         xorl    %ecx,%edx
10769         movl    (%esp),%edi
10770         xorl    %edi,%esi
10771         rorl    $5,%edx
10772         andl    %ecx,%esi
10773         psrldq  $8,%xmm7
10774         movl    %ecx,24(%esp)
10775         xorl    %ecx,%edx
10776         xorl    %esi,%edi
10777         paddd   %xmm7,%xmm3
10778         rorl    $6,%edx
10779         movl    %eax,%ecx
10780         addl    %edi,%edx
10781         movl    12(%esp),%edi
10782         movl    %eax,%esi
10783         rorl    $9,%ecx
10784         movl    %eax,8(%esp)
10785         pshufd  $80,%xmm3,%xmm7
10786         xorl    %eax,%ecx
10787         xorl    %edi,%eax
10788         addl    4(%esp),%edx
10789         movdqa  %xmm7,%xmm6
10790         rorl    $11,%ecx
10791         psrld   $10,%xmm7
10792         andl    %eax,%ebx
10793         psrlq   $17,%xmm6
10794         xorl    %esi,%ecx
10795         addl    88(%esp),%edx
10796         xorl    %edi,%ebx
10797         rorl    $2,%ecx
10798         pxor    %xmm6,%xmm7
10799         addl    %edx,%ebx
10800         addl    20(%esp),%edx
10801         psrlq   $2,%xmm6
10802         addl    %ecx,%ebx
10803         movl    %edx,%ecx
10804         rorl    $14,%edx
10805         pxor    %xmm6,%xmm7
10806         movl    24(%esp),%esi
10807         xorl    %ecx,%edx
10808         movl    28(%esp),%edi
10809         pshufd  $8,%xmm7,%xmm7
10810         xorl    %edi,%esi
10811         rorl    $5,%edx
10812         movdqa  48(%ebp),%xmm6
10813         andl    %ecx,%esi
10814         movl    %ecx,20(%esp)
10815         pslldq  $8,%xmm7
10816         xorl    %ecx,%edx
10817         xorl    %esi,%edi
10818         rorl    $6,%edx
10819         movl    %ebx,%ecx
10820         addl    %edi,%edx
10821         movl    8(%esp),%edi
10822         movl    %ebx,%esi
10823         rorl    $9,%ecx
10824         paddd   %xmm7,%xmm3
10825         movl    %ebx,4(%esp)
10826         xorl    %ebx,%ecx
10827         xorl    %edi,%ebx
10828         addl    (%esp),%edx
10829         paddd   %xmm3,%xmm6
10830         rorl    $11,%ecx
10831         andl    %ebx,%eax
10832         xorl    %esi,%ecx
10833         addl    92(%esp),%edx
10834         xorl    %edi,%eax
10835         rorl    $2,%ecx
10836         addl    %edx,%eax
10837         addl    16(%esp),%edx
10838         addl    %ecx,%eax
10839         movdqa  %xmm6,80(%esp)
10840         cmpl    $66051,64(%ebp)
10841         jne     .L013ssse3_00_47
10842         movl    %edx,%ecx
10843         rorl    $14,%edx
10844         movl    20(%esp),%esi
10845         xorl    %ecx,%edx
10846         movl    24(%esp),%edi
10847         xorl    %edi,%esi
10848         rorl    $5,%edx
10849         andl    %ecx,%esi
10850         movl    %ecx,16(%esp)
10851         xorl    %ecx,%edx
10852         xorl    %esi,%edi
10853         rorl    $6,%edx
10854         movl    %eax,%ecx
10855         addl    %edi,%edx
10856         movl    4(%esp),%edi
10857         movl    %eax,%esi
10858         rorl    $9,%ecx
10859         movl    %eax,(%esp)
10860         xorl    %eax,%ecx
10861         xorl    %edi,%eax
10862         addl    28(%esp),%edx
10863         rorl    $11,%ecx
10864         andl    %eax,%ebx
10865         xorl    %esi,%ecx
10866         addl    32(%esp),%edx
10867         xorl    %edi,%ebx
10868         rorl    $2,%ecx
10869         addl    %edx,%ebx
10870         addl    12(%esp),%edx
10871         addl    %ecx,%ebx
10872         movl    %edx,%ecx
10873         rorl    $14,%edx
10874         movl    16(%esp),%esi
10875         xorl    %ecx,%edx
10876         movl    20(%esp),%edi
10877         xorl    %edi,%esi
10878         rorl    $5,%edx
10879         andl    %ecx,%esi
10880         movl    %ecx,12(%esp)
10881         xorl    %ecx,%edx
10882         xorl    %esi,%edi
10883         rorl    $6,%edx
10884         movl    %ebx,%ecx
10885         addl    %edi,%edx
10886         movl    (%esp),%edi
10887         movl    %ebx,%esi
10888         rorl    $9,%ecx
10889         movl    %ebx,28(%esp)
10890         xorl    %ebx,%ecx
10891         xorl    %edi,%ebx
10892         addl    24(%esp),%edx
10893         rorl    $11,%ecx
10894         andl    %ebx,%eax
10895         xorl    %esi,%ecx
10896         addl    36(%esp),%edx
10897         xorl    %edi,%eax
10898         rorl    $2,%ecx
10899         addl    %edx,%eax
10900         addl    8(%esp),%edx
10901         addl    %ecx,%eax
10902         movl    %edx,%ecx
10903         rorl    $14,%edx
10904         movl    12(%esp),%esi
10905         xorl    %ecx,%edx
10906         movl    16(%esp),%edi
10907         xorl    %edi,%esi
10908         rorl    $5,%edx
10909         andl    %ecx,%esi
10910         movl    %ecx,8(%esp)
10911         xorl    %ecx,%edx
10912         xorl    %esi,%edi
10913         rorl    $6,%edx
10914         movl    %eax,%ecx
10915         addl    %edi,%edx
10916         movl    28(%esp),%edi
10917         movl    %eax,%esi
10918         rorl    $9,%ecx
10919         movl    %eax,24(%esp)
10920         xorl    %eax,%ecx
10921         xorl    %edi,%eax
10922         addl    20(%esp),%edx
10923         rorl    $11,%ecx
10924         andl    %eax,%ebx
10925         xorl    %esi,%ecx
10926         addl    40(%esp),%edx
10927         xorl    %edi,%ebx
10928         rorl    $2,%ecx
10929         addl    %edx,%ebx
10930         addl    4(%esp),%edx
10931         addl    %ecx,%ebx
10932         movl    %edx,%ecx
10933         rorl    $14,%edx
10934         movl    8(%esp),%esi
10935         xorl    %ecx,%edx
10936         movl    12(%esp),%edi
10937         xorl    %edi,%esi
10938         rorl    $5,%edx
10939         andl    %ecx,%esi
10940         movl    %ecx,4(%esp)
10941         xorl    %ecx,%edx
10942         xorl    %esi,%edi
10943         rorl    $6,%edx
10944         movl    %ebx,%ecx
10945         addl    %edi,%edx
10946         movl    24(%esp),%edi
10947         movl    %ebx,%esi
10948         rorl    $9,%ecx
10949         movl    %ebx,20(%esp)
10950         xorl    %ebx,%ecx
10951         xorl    %edi,%ebx
10952         addl    16(%esp),%edx
10953         rorl    $11,%ecx
10954         andl    %ebx,%eax
10955         xorl    %esi,%ecx
10956         addl    44(%esp),%edx
10957         xorl    %edi,%eax
10958         rorl    $2,%ecx
10959         addl    %edx,%eax
10960         addl    (%esp),%edx
10961         addl    %ecx,%eax
10962         movl    %edx,%ecx
10963         rorl    $14,%edx
10964         movl    4(%esp),%esi
10965         xorl    %ecx,%edx
10966         movl    8(%esp),%edi
10967         xorl    %edi,%esi
10968         rorl    $5,%edx
10969         andl    %ecx,%esi
10970         movl    %ecx,(%esp)
10971         xorl    %ecx,%edx
10972         xorl    %esi,%edi
10973         rorl    $6,%edx
10974         movl    %eax,%ecx
10975         addl    %edi,%edx
10976         movl    20(%esp),%edi
10977         movl    %eax,%esi
10978         rorl    $9,%ecx
10979         movl    %eax,16(%esp)
10980         xorl    %eax,%ecx
10981         xorl    %edi,%eax
10982         addl    12(%esp),%edx
10983         rorl    $11,%ecx
10984         andl    %eax,%ebx
10985         xorl    %esi,%ecx
10986         addl    48(%esp),%edx
10987         xorl    %edi,%ebx
10988         rorl    $2,%ecx
10989         addl    %edx,%ebx
10990         addl    28(%esp),%edx
10991         addl    %ecx,%ebx
10992         movl    %edx,%ecx
10993         rorl    $14,%edx
10994         movl    (%esp),%esi
10995         xorl    %ecx,%edx
10996         movl    4(%esp),%edi
10997         xorl    %edi,%esi
10998         rorl    $5,%edx
10999         andl    %ecx,%esi
11000         movl    %ecx,28(%esp)
11001         xorl    %ecx,%edx
11002         xorl    %esi,%edi
11003         rorl    $6,%edx
11004         movl    %ebx,%ecx
11005         addl    %edi,%edx
11006         movl    16(%esp),%edi
11007         movl    %ebx,%esi
11008         rorl    $9,%ecx
11009         movl    %ebx,12(%esp)
11010         xorl    %ebx,%ecx
11011         xorl    %edi,%ebx
11012         addl    8(%esp),%edx
11013         rorl    $11,%ecx
11014         andl    %ebx,%eax
11015         xorl    %esi,%ecx
11016         addl    52(%esp),%edx
11017         xorl    %edi,%eax
11018         rorl    $2,%ecx
11019         addl    %edx,%eax
11020         addl    24(%esp),%edx
11021         addl    %ecx,%eax
11022         movl    %edx,%ecx
11023         rorl    $14,%edx
11024         movl    28(%esp),%esi
11025         xorl    %ecx,%edx
11026         movl    (%esp),%edi
11027         xorl    %edi,%esi
11028         rorl    $5,%edx
11029         andl    %ecx,%esi
11030         movl    %ecx,24(%esp)
11031         xorl    %ecx,%edx
11032         xorl    %esi,%edi
11033         rorl    $6,%edx
11034         movl    %eax,%ecx
11035         addl    %edi,%edx
11036         movl    12(%esp),%edi
11037         movl    %eax,%esi
11038         rorl    $9,%ecx
11039         movl    %eax,8(%esp)
11040         xorl    %eax,%ecx
11041         xorl    %edi,%eax
11042         addl    4(%esp),%edx
11043         rorl    $11,%ecx
11044         andl    %eax,%ebx
11045         xorl    %esi,%ecx
11046         addl    56(%esp),%edx
11047         xorl    %edi,%ebx
11048         rorl    $2,%ecx
11049         addl    %edx,%ebx
11050         addl    20(%esp),%edx
11051         addl    %ecx,%ebx
11052         movl    %edx,%ecx
11053         rorl    $14,%edx
11054         movl    24(%esp),%esi
11055         xorl    %ecx,%edx
11056         movl    28(%esp),%edi
11057         xorl    %edi,%esi
11058         rorl    $5,%edx
11059         andl    %ecx,%esi
11060         movl    %ecx,20(%esp)
11061         xorl    %ecx,%edx
11062         xorl    %esi,%edi
11063         rorl    $6,%edx
11064         movl    %ebx,%ecx
11065         addl    %edi,%edx
11066         movl    8(%esp),%edi
11067         movl    %ebx,%esi
11068         rorl    $9,%ecx
11069         movl    %ebx,4(%esp)
11070         xorl    %ebx,%ecx
11071         xorl    %edi,%ebx
11072         addl    (%esp),%edx
11073         rorl    $11,%ecx
11074         andl    %ebx,%eax
11075         xorl    %esi,%ecx
11076         addl    60(%esp),%edx
11077         xorl    %edi,%eax
11078         rorl    $2,%ecx
11079         addl    %edx,%eax
11080         addl    16(%esp),%edx
11081         addl    %ecx,%eax
11082         movl    %edx,%ecx
11083         rorl    $14,%edx
11084         movl    20(%esp),%esi
11085         xorl    %ecx,%edx
11086         movl    24(%esp),%edi
11087         xorl    %edi,%esi
11088         rorl    $5,%edx
11089         andl    %ecx,%esi
11090         movl    %ecx,16(%esp)
11091         xorl    %ecx,%edx
11092         xorl    %esi,%edi
11093         rorl    $6,%edx
11094         movl    %eax,%ecx
11095         addl    %edi,%edx
11096         movl    4(%esp),%edi
11097         movl    %eax,%esi
11098         rorl    $9,%ecx
11099         movl    %eax,(%esp)
11100         xorl    %eax,%ecx
11101         xorl    %edi,%eax
11102         addl    28(%esp),%edx
11103         rorl    $11,%ecx
11104         andl    %eax,%ebx
11105         xorl    %esi,%ecx
11106         addl    64(%esp),%edx
11107         xorl    %edi,%ebx
11108         rorl    $2,%ecx
11109         addl    %edx,%ebx
11110         addl    12(%esp),%edx
11111         addl    %ecx,%ebx
11112         movl    %edx,%ecx
11113         rorl    $14,%edx
11114         movl    16(%esp),%esi
11115         xorl    %ecx,%edx
11116         movl    20(%esp),%edi
11117         xorl    %edi,%esi
11118         rorl    $5,%edx
11119         andl    %ecx,%esi
11120         movl    %ecx,12(%esp)
11121         xorl    %ecx,%edx
11122         xorl    %esi,%edi
11123         rorl    $6,%edx
11124         movl    %ebx,%ecx
11125         addl    %edi,%edx
11126         movl    (%esp),%edi
11127         movl    %ebx,%esi
11128         rorl    $9,%ecx
11129         movl    %ebx,28(%esp)
11130         xorl    %ebx,%ecx
11131         xorl    %edi,%ebx
11132         addl    24(%esp),%edx
11133         rorl    $11,%ecx
11134         andl    %ebx,%eax
11135         xorl    %esi,%ecx
11136         addl    68(%esp),%edx
11137         xorl    %edi,%eax
11138         rorl    $2,%ecx
11139         addl    %edx,%eax
11140         addl    8(%esp),%edx
11141         addl    %ecx,%eax
11142         movl    %edx,%ecx
11143         rorl    $14,%edx
11144         movl    12(%esp),%esi
11145         xorl    %ecx,%edx
11146         movl    16(%esp),%edi
11147         xorl    %edi,%esi
11148         rorl    $5,%edx
11149         andl    %ecx,%esi
11150         movl    %ecx,8(%esp)
11151         xorl    %ecx,%edx
11152         xorl    %esi,%edi
11153         rorl    $6,%edx
11154         movl    %eax,%ecx
11155         addl    %edi,%edx
11156         movl    28(%esp),%edi
11157         movl    %eax,%esi
11158         rorl    $9,%ecx
11159         movl    %eax,24(%esp)
11160         xorl    %eax,%ecx
11161         xorl    %edi,%eax
11162         addl    20(%esp),%edx
11163         rorl    $11,%ecx
11164         andl    %eax,%ebx
11165         xorl    %esi,%ecx
11166         addl    72(%esp),%edx
11167         xorl    %edi,%ebx
11168         rorl    $2,%ecx
11169         addl    %edx,%ebx
11170         addl    4(%esp),%edx
11171         addl    %ecx,%ebx
11172         movl    %edx,%ecx
11173         rorl    $14,%edx
11174         movl    8(%esp),%esi
11175         xorl    %ecx,%edx
11176         movl    12(%esp),%edi
11177         xorl    %edi,%esi
11178         rorl    $5,%edx
11179         andl    %ecx,%esi
11180         movl    %ecx,4(%esp)
11181         xorl    %ecx,%edx
11182         xorl    %esi,%edi
11183         rorl    $6,%edx
11184         movl    %ebx,%ecx
11185         addl    %edi,%edx
11186         movl    24(%esp),%edi
11187         movl    %ebx,%esi
11188         rorl    $9,%ecx
11189         movl    %ebx,20(%esp)
11190         xorl    %ebx,%ecx
11191         xorl    %edi,%ebx
11192         addl    16(%esp),%edx
11193         rorl    $11,%ecx
11194         andl    %ebx,%eax
11195         xorl    %esi,%ecx
11196         addl    76(%esp),%edx
11197         xorl    %edi,%eax
11198         rorl    $2,%ecx
11199         addl    %edx,%eax
11200         addl    (%esp),%edx
11201         addl    %ecx,%eax
11202         movl    %edx,%ecx
11203         rorl    $14,%edx
11204         movl    4(%esp),%esi
11205         xorl    %ecx,%edx
11206         movl    8(%esp),%edi
11207         xorl    %edi,%esi
11208         rorl    $5,%edx
11209         andl    %ecx,%esi
11210         movl    %ecx,(%esp)
11211         xorl    %ecx,%edx
11212         xorl    %esi,%edi
11213         rorl    $6,%edx
11214         movl    %eax,%ecx
11215         addl    %edi,%edx
11216         movl    20(%esp),%edi
11217         movl    %eax,%esi
11218         rorl    $9,%ecx
11219         movl    %eax,16(%esp)
11220         xorl    %eax,%ecx
11221         xorl    %edi,%eax
11222         addl    12(%esp),%edx
11223         rorl    $11,%ecx
11224         andl    %eax,%ebx
11225         xorl    %esi,%ecx
11226         addl    80(%esp),%edx
11227         xorl    %edi,%ebx
11228         rorl    $2,%ecx
11229         addl    %edx,%ebx
11230         addl    28(%esp),%edx
11231         addl    %ecx,%ebx
11232         movl    %edx,%ecx
11233         rorl    $14,%edx
11234         movl    (%esp),%esi
11235         xorl    %ecx,%edx
11236         movl    4(%esp),%edi
11237         xorl    %edi,%esi
11238         rorl    $5,%edx
11239         andl    %ecx,%esi
11240         movl    %ecx,28(%esp)
11241         xorl    %ecx,%edx
11242         xorl    %esi,%edi
11243         rorl    $6,%edx
11244         movl    %ebx,%ecx
11245         addl    %edi,%edx
11246         movl    16(%esp),%edi
11247         movl    %ebx,%esi
11248         rorl    $9,%ecx
11249         movl    %ebx,12(%esp)
11250         xorl    %ebx,%ecx
11251         xorl    %edi,%ebx
11252         addl    8(%esp),%edx
11253         rorl    $11,%ecx
11254         andl    %ebx,%eax
11255         xorl    %esi,%ecx
11256         addl    84(%esp),%edx
11257         xorl    %edi,%eax
11258         rorl    $2,%ecx
11259         addl    %edx,%eax
11260         addl    24(%esp),%edx
11261         addl    %ecx,%eax
11262         movl    %edx,%ecx
11263         rorl    $14,%edx
11264         movl    28(%esp),%esi
11265         xorl    %ecx,%edx
11266         movl    (%esp),%edi
11267         xorl    %edi,%esi
11268         rorl    $5,%edx
11269         andl    %ecx,%esi
11270         movl    %ecx,24(%esp)
11271         xorl    %ecx,%edx
11272         xorl    %esi,%edi
11273         rorl    $6,%edx
11274         movl    %eax,%ecx
11275         addl    %edi,%edx
11276         movl    12(%esp),%edi
11277         movl    %eax,%esi
11278         rorl    $9,%ecx
11279         movl    %eax,8(%esp)
11280         xorl    %eax,%ecx
11281         xorl    %edi,%eax
11282         addl    4(%esp),%edx
11283         rorl    $11,%ecx
11284         andl    %eax,%ebx
11285         xorl    %esi,%ecx
11286         addl    88(%esp),%edx
11287         xorl    %edi,%ebx
11288         rorl    $2,%ecx
11289         addl    %edx,%ebx
11290         addl    20(%esp),%edx
11291         addl    %ecx,%ebx
11292         movl    %edx,%ecx
11293         rorl    $14,%edx
11294         movl    24(%esp),%esi
11295         xorl    %ecx,%edx
11296         movl    28(%esp),%edi
11297         xorl    %edi,%esi
11298         rorl    $5,%edx
11299         andl    %ecx,%esi
11300         movl    %ecx,20(%esp)
11301         xorl    %ecx,%edx
11302         xorl    %esi,%edi
11303         rorl    $6,%edx
11304         movl    %ebx,%ecx
11305         addl    %edi,%edx
11306         movl    8(%esp),%edi
11307         movl    %ebx,%esi
11308         rorl    $9,%ecx
11309         movl    %ebx,4(%esp)
11310         xorl    %ebx,%ecx
11311         xorl    %edi,%ebx
11312         addl    (%esp),%edx
11313         rorl    $11,%ecx
11314         andl    %ebx,%eax
11315         xorl    %esi,%ecx
11316         addl    92(%esp),%edx
11317         xorl    %edi,%eax
11318         rorl    $2,%ecx
11319         addl    %edx,%eax
11320         addl    16(%esp),%edx
11321         addl    %ecx,%eax
11322         movl    96(%esp),%esi
11323         xorl    %edi,%ebx
11324         movl    12(%esp),%ecx
11325         addl    (%esi),%eax
11326         addl    4(%esi),%ebx
11327         addl    8(%esi),%edi
11328         addl    12(%esi),%ecx
11329         movl    %eax,(%esi)
11330         movl    %ebx,4(%esi)
11331         movl    %edi,8(%esi)
11332         movl    %ecx,12(%esi)
11333         movl    %ebx,4(%esp)
11334         xorl    %edi,%ebx
11335         movl    %edi,8(%esp)
11336         movl    %ecx,12(%esp)
11337         movl    20(%esp),%edi
11338         movl    24(%esp),%ecx
11339         addl    16(%esi),%edx
11340         addl    20(%esi),%edi
11341         addl    24(%esi),%ecx
11342         movl    %edx,16(%esi)
11343         movl    %edi,20(%esi)
11344         movl    %edi,20(%esp)
11345         movl    28(%esp),%edi
11346         movl    %ecx,24(%esi)
11347         addl    28(%esi),%edi
11348         movl    %ecx,24(%esp)
11349         movl    %edi,28(%esi)
11350         movl    %edi,28(%esp)
11351         movl    100(%esp),%edi
11352         movdqa  64(%ebp),%xmm7
11353         subl    $192,%ebp
11354         cmpl    104(%esp),%edi
11355         jb      .L012grand_ssse3
11356         movl    108(%esp),%esp
11357         popl    %edi
11358         popl    %esi
11359         popl    %ebx
11360         popl    %ebp
11361         ret
11362 .align  32
11363 .L005AVX:
11364         andl    $264,%edx
11365         cmpl    $264,%edx
11366         je      .L014AVX_BMI
11367         leal    -96(%esp),%esp
11368         vzeroall
11369         movl    (%esi),%eax
11370         movl    4(%esi),%ebx
11371         movl    8(%esi),%ecx
11372         movl    12(%esi),%edi
11373         movl    %ebx,4(%esp)
11374         xorl    %ecx,%ebx
11375         movl    %ecx,8(%esp)
11376         movl    %edi,12(%esp)
11377         movl    16(%esi),%edx
11378         movl    20(%esi),%edi
11379         movl    24(%esi),%ecx
11380         movl    28(%esi),%esi
11381         movl    %edi,20(%esp)
11382         movl    100(%esp),%edi
11383         movl    %ecx,24(%esp)
11384         movl    %esi,28(%esp)
11385         vmovdqa 256(%ebp),%xmm7
11386         jmp     .L015grand_avx
11387 .align  32
11388 .L015grand_avx:
11389         vmovdqu (%edi),%xmm0
11390         vmovdqu 16(%edi),%xmm1
11391         vmovdqu 32(%edi),%xmm2
11392         vmovdqu 48(%edi),%xmm3
11393         addl    $64,%edi
11394         vpshufb %xmm7,%xmm0,%xmm0
11395         movl    %edi,100(%esp)
11396         vpshufb %xmm7,%xmm1,%xmm1
11397         vpshufb %xmm7,%xmm2,%xmm2
11398         vpaddd  (%ebp),%xmm0,%xmm4
11399         vpshufb %xmm7,%xmm3,%xmm3
11400         vpaddd  16(%ebp),%xmm1,%xmm5
11401         vpaddd  32(%ebp),%xmm2,%xmm6
11402         vpaddd  48(%ebp),%xmm3,%xmm7
11403         vmovdqa %xmm4,32(%esp)
11404         vmovdqa %xmm5,48(%esp)
11405         vmovdqa %xmm6,64(%esp)
11406         vmovdqa %xmm7,80(%esp)
11407         jmp     .L016avx_00_47
11408 .align  16
11409 .L016avx_00_47:
11410         addl    $64,%ebp
11411         vpalignr        $4,%xmm0,%xmm1,%xmm4
11412         movl    %edx,%ecx
11413         shrdl   $14,%edx,%edx
11414         movl    20(%esp),%esi
11415         vpalignr        $4,%xmm2,%xmm3,%xmm7
11416         xorl    %ecx,%edx
11417         movl    24(%esp),%edi
11418         xorl    %edi,%esi
11419         vpsrld  $7,%xmm4,%xmm6
11420         shrdl   $5,%edx,%edx
11421         andl    %ecx,%esi
11422         movl    %ecx,16(%esp)
11423         vpaddd  %xmm7,%xmm0,%xmm0
11424         xorl    %ecx,%edx
11425         xorl    %esi,%edi
11426         shrdl   $6,%edx,%edx
11427         vpsrld  $3,%xmm4,%xmm7
11428         movl    %eax,%ecx
11429         addl    %edi,%edx
11430         movl    4(%esp),%edi
11431         vpslld  $14,%xmm4,%xmm5
11432         movl    %eax,%esi
11433         shrdl   $9,%ecx,%ecx
11434         movl    %eax,(%esp)
11435         vpxor   %xmm6,%xmm7,%xmm4
11436         xorl    %eax,%ecx
11437         xorl    %edi,%eax
11438         addl    28(%esp),%edx
11439         vpshufd $250,%xmm3,%xmm7
11440         shrdl   $11,%ecx,%ecx
11441         andl    %eax,%ebx
11442         xorl    %esi,%ecx
11443         vpsrld  $11,%xmm6,%xmm6
11444         addl    32(%esp),%edx
11445         xorl    %edi,%ebx
11446         shrdl   $2,%ecx,%ecx
11447         vpxor   %xmm5,%xmm4,%xmm4
11448         addl    %edx,%ebx
11449         addl    12(%esp),%edx
11450         addl    %ecx,%ebx
11451         vpslld  $11,%xmm5,%xmm5
11452         movl    %edx,%ecx
11453         shrdl   $14,%edx,%edx
11454         movl    16(%esp),%esi
11455         vpxor   %xmm6,%xmm4,%xmm4
11456         xorl    %ecx,%edx
11457         movl    20(%esp),%edi
11458         xorl    %edi,%esi
11459         vpsrld  $10,%xmm7,%xmm6
11460         shrdl   $5,%edx,%edx
11461         andl    %ecx,%esi
11462         movl    %ecx,12(%esp)
11463         vpxor   %xmm5,%xmm4,%xmm4
11464         xorl    %ecx,%edx
11465         xorl    %esi,%edi
11466         shrdl   $6,%edx,%edx
11467         vpsrlq  $17,%xmm7,%xmm5
11468         movl    %ebx,%ecx
11469         addl    %edi,%edx
11470         movl    (%esp),%edi
11471         vpaddd  %xmm4,%xmm0,%xmm0
11472         movl    %ebx,%esi
11473         shrdl   $9,%ecx,%ecx
11474         movl    %ebx,28(%esp)
11475         vpxor   %xmm5,%xmm6,%xmm6
11476         xorl    %ebx,%ecx
11477         xorl    %edi,%ebx
11478         addl    24(%esp),%edx
11479         vpsrlq  $19,%xmm7,%xmm7
11480         shrdl   $11,%ecx,%ecx
11481         andl    %ebx,%eax
11482         xorl    %esi,%ecx
11483         vpxor   %xmm7,%xmm6,%xmm6
11484         addl    36(%esp),%edx
11485         xorl    %edi,%eax
11486         shrdl   $2,%ecx,%ecx
11487         vpshufd $132,%xmm6,%xmm7
11488         addl    %edx,%eax
11489         addl    8(%esp),%edx
11490         addl    %ecx,%eax
11491         vpsrldq $8,%xmm7,%xmm7
11492         movl    %edx,%ecx
11493         shrdl   $14,%edx,%edx
11494         movl    12(%esp),%esi
11495         vpaddd  %xmm7,%xmm0,%xmm0
11496         xorl    %ecx,%edx
11497         movl    16(%esp),%edi
11498         xorl    %edi,%esi
11499         vpshufd $80,%xmm0,%xmm7
11500         shrdl   $5,%edx,%edx
11501         andl    %ecx,%esi
11502         movl    %ecx,8(%esp)
11503         vpsrld  $10,%xmm7,%xmm6
11504         xorl    %ecx,%edx
11505         xorl    %esi,%edi
11506         shrdl   $6,%edx,%edx
11507         vpsrlq  $17,%xmm7,%xmm5
11508         movl    %eax,%ecx
11509         addl    %edi,%edx
11510         movl    28(%esp),%edi
11511         vpxor   %xmm5,%xmm6,%xmm6
11512         movl    %eax,%esi
11513         shrdl   $9,%ecx,%ecx
11514         movl    %eax,24(%esp)
11515         vpsrlq  $19,%xmm7,%xmm7
11516         xorl    %eax,%ecx
11517         xorl    %edi,%eax
11518         addl    20(%esp),%edx
11519         vpxor   %xmm7,%xmm6,%xmm6
11520         shrdl   $11,%ecx,%ecx
11521         andl    %eax,%ebx
11522         xorl    %esi,%ecx
11523         vpshufd $232,%xmm6,%xmm7
11524         addl    40(%esp),%edx
11525         xorl    %edi,%ebx
11526         shrdl   $2,%ecx,%ecx
11527         vpslldq $8,%xmm7,%xmm7
11528         addl    %edx,%ebx
11529         addl    4(%esp),%edx
11530         addl    %ecx,%ebx
11531         vpaddd  %xmm7,%xmm0,%xmm0
11532         movl    %edx,%ecx
11533         shrdl   $14,%edx,%edx
11534         movl    8(%esp),%esi
11535         vpaddd  (%ebp),%xmm0,%xmm6
11536         xorl    %ecx,%edx
11537         movl    12(%esp),%edi
11538         xorl    %edi,%esi
11539         shrdl   $5,%edx,%edx
11540         andl    %ecx,%esi
11541         movl    %ecx,4(%esp)
11542         xorl    %ecx,%edx
11543         xorl    %esi,%edi
11544         shrdl   $6,%edx,%edx
11545         movl    %ebx,%ecx
11546         addl    %edi,%edx
11547         movl    24(%esp),%edi
11548         movl    %ebx,%esi
11549         shrdl   $9,%ecx,%ecx
11550         movl    %ebx,20(%esp)
11551         xorl    %ebx,%ecx
11552         xorl    %edi,%ebx
11553         addl    16(%esp),%edx
11554         shrdl   $11,%ecx,%ecx
11555         andl    %ebx,%eax
11556         xorl    %esi,%ecx
11557         addl    44(%esp),%edx
11558         xorl    %edi,%eax
11559         shrdl   $2,%ecx,%ecx
11560         addl    %edx,%eax
11561         addl    (%esp),%edx
11562         addl    %ecx,%eax
11563         vmovdqa %xmm6,32(%esp)
11564         vpalignr        $4,%xmm1,%xmm2,%xmm4
11565         movl    %edx,%ecx
11566         shrdl   $14,%edx,%edx
11567         movl    4(%esp),%esi
11568         vpalignr        $4,%xmm3,%xmm0,%xmm7
11569         xorl    %ecx,%edx
11570         movl    8(%esp),%edi
11571         xorl    %edi,%esi
11572         vpsrld  $7,%xmm4,%xmm6
11573         shrdl   $5,%edx,%edx
11574         andl    %ecx,%esi
11575         movl    %ecx,(%esp)
11576         vpaddd  %xmm7,%xmm1,%xmm1
11577         xorl    %ecx,%edx
11578         xorl    %esi,%edi
11579         shrdl   $6,%edx,%edx
11580         vpsrld  $3,%xmm4,%xmm7
11581         movl    %eax,%ecx
11582         addl    %edi,%edx
11583         movl    20(%esp),%edi
11584         vpslld  $14,%xmm4,%xmm5
11585         movl    %eax,%esi
11586         shrdl   $9,%ecx,%ecx
11587         movl    %eax,16(%esp)
11588         vpxor   %xmm6,%xmm7,%xmm4
11589         xorl    %eax,%ecx
11590         xorl    %edi,%eax
11591         addl    12(%esp),%edx
11592         vpshufd $250,%xmm0,%xmm7
11593         shrdl   $11,%ecx,%ecx
11594         andl    %eax,%ebx
11595         xorl    %esi,%ecx
11596         vpsrld  $11,%xmm6,%xmm6
11597         addl    48(%esp),%edx
11598         xorl    %edi,%ebx
11599         shrdl   $2,%ecx,%ecx
11600         vpxor   %xmm5,%xmm4,%xmm4
11601         addl    %edx,%ebx
11602         addl    28(%esp),%edx
11603         addl    %ecx,%ebx
11604         vpslld  $11,%xmm5,%xmm5
11605         movl    %edx,%ecx
11606         shrdl   $14,%edx,%edx
11607         movl    (%esp),%esi
11608         vpxor   %xmm6,%xmm4,%xmm4
11609         xorl    %ecx,%edx
11610         movl    4(%esp),%edi
11611         xorl    %edi,%esi
11612         vpsrld  $10,%xmm7,%xmm6
11613         shrdl   $5,%edx,%edx
11614         andl    %ecx,%esi
11615         movl    %ecx,28(%esp)
11616         vpxor   %xmm5,%xmm4,%xmm4
11617         xorl    %ecx,%edx
11618         xorl    %esi,%edi
11619         shrdl   $6,%edx,%edx
11620         vpsrlq  $17,%xmm7,%xmm5
11621         movl    %ebx,%ecx
11622         addl    %edi,%edx
11623         movl    16(%esp),%edi
11624         vpaddd  %xmm4,%xmm1,%xmm1
11625         movl    %ebx,%esi
11626         shrdl   $9,%ecx,%ecx
11627         movl    %ebx,12(%esp)
11628         vpxor   %xmm5,%xmm6,%xmm6
11629         xorl    %ebx,%ecx
11630         xorl    %edi,%ebx
11631         addl    8(%esp),%edx
11632         vpsrlq  $19,%xmm7,%xmm7
11633         shrdl   $11,%ecx,%ecx
11634         andl    %ebx,%eax
11635         xorl    %esi,%ecx
11636         vpxor   %xmm7,%xmm6,%xmm6
11637         addl    52(%esp),%edx
11638         xorl    %edi,%eax
11639         shrdl   $2,%ecx,%ecx
11640         vpshufd $132,%xmm6,%xmm7
11641         addl    %edx,%eax
11642         addl    24(%esp),%edx
11643         addl    %ecx,%eax
11644         vpsrldq $8,%xmm7,%xmm7
11645         movl    %edx,%ecx
11646         shrdl   $14,%edx,%edx
11647         movl    28(%esp),%esi
11648         vpaddd  %xmm7,%xmm1,%xmm1
11649         xorl    %ecx,%edx
11650         movl    (%esp),%edi
11651         xorl    %edi,%esi
11652         vpshufd $80,%xmm1,%xmm7
11653         shrdl   $5,%edx,%edx
11654         andl    %ecx,%esi
11655         movl    %ecx,24(%esp)
11656         vpsrld  $10,%xmm7,%xmm6
11657         xorl    %ecx,%edx
11658         xorl    %esi,%edi
11659         shrdl   $6,%edx,%edx
11660         vpsrlq  $17,%xmm7,%xmm5
11661         movl    %eax,%ecx
11662         addl    %edi,%edx
11663         movl    12(%esp),%edi
11664         vpxor   %xmm5,%xmm6,%xmm6
11665         movl    %eax,%esi
11666         shrdl   $9,%ecx,%ecx
11667         movl    %eax,8(%esp)
11668         vpsrlq  $19,%xmm7,%xmm7
11669         xorl    %eax,%ecx
11670         xorl    %edi,%eax
11671         addl    4(%esp),%edx
11672         vpxor   %xmm7,%xmm6,%xmm6
11673         shrdl   $11,%ecx,%ecx
11674         andl    %eax,%ebx
11675         xorl    %esi,%ecx
11676         vpshufd $232,%xmm6,%xmm7
11677         addl    56(%esp),%edx
11678         xorl    %edi,%ebx
11679         shrdl   $2,%ecx,%ecx
11680         vpslldq $8,%xmm7,%xmm7
11681         addl    %edx,%ebx
11682         addl    20(%esp),%edx
11683         addl    %ecx,%ebx
11684         vpaddd  %xmm7,%xmm1,%xmm1
11685         movl    %edx,%ecx
11686         shrdl   $14,%edx,%edx
11687         movl    24(%esp),%esi
11688         vpaddd  16(%ebp),%xmm1,%xmm6
11689         xorl    %ecx,%edx
11690         movl    28(%esp),%edi
11691         xorl    %edi,%esi
11692         shrdl   $5,%edx,%edx
11693         andl    %ecx,%esi
11694         movl    %ecx,20(%esp)
11695         xorl    %ecx,%edx
11696         xorl    %esi,%edi
11697         shrdl   $6,%edx,%edx
11698         movl    %ebx,%ecx
11699         addl    %edi,%edx
11700         movl    8(%esp),%edi
11701         movl    %ebx,%esi
11702         shrdl   $9,%ecx,%ecx
11703         movl    %ebx,4(%esp)
11704         xorl    %ebx,%ecx
11705         xorl    %edi,%ebx
11706         addl    (%esp),%edx
11707         shrdl   $11,%ecx,%ecx
11708         andl    %ebx,%eax
11709         xorl    %esi,%ecx
11710         addl    60(%esp),%edx
11711         xorl    %edi,%eax
11712         shrdl   $2,%ecx,%ecx
11713         addl    %edx,%eax
11714         addl    16(%esp),%edx
11715         addl    %ecx,%eax
11716         vmovdqa %xmm6,48(%esp)
11717         vpalignr        $4,%xmm2,%xmm3,%xmm4
11718         movl    %edx,%ecx
11719         shrdl   $14,%edx,%edx
11720         movl    20(%esp),%esi
11721         vpalignr        $4,%xmm0,%xmm1,%xmm7
11722         xorl    %ecx,%edx
11723         movl    24(%esp),%edi
11724         xorl    %edi,%esi
11725         vpsrld  $7,%xmm4,%xmm6
11726         shrdl   $5,%edx,%edx
11727         andl    %ecx,%esi
11728         movl    %ecx,16(%esp)
11729         vpaddd  %xmm7,%xmm2,%xmm2
11730         xorl    %ecx,%edx
11731         xorl    %esi,%edi
11732         shrdl   $6,%edx,%edx
11733         vpsrld  $3,%xmm4,%xmm7
11734         movl    %eax,%ecx
11735         addl    %edi,%edx
11736         movl    4(%esp),%edi
11737         vpslld  $14,%xmm4,%xmm5
11738         movl    %eax,%esi
11739         shrdl   $9,%ecx,%ecx
11740         movl    %eax,(%esp)
11741         vpxor   %xmm6,%xmm7,%xmm4
11742         xorl    %eax,%ecx
11743         xorl    %edi,%eax
11744         addl    28(%esp),%edx
11745         vpshufd $250,%xmm1,%xmm7
11746         shrdl   $11,%ecx,%ecx
11747         andl    %eax,%ebx
11748         xorl    %esi,%ecx
11749         vpsrld  $11,%xmm6,%xmm6
11750         addl    64(%esp),%edx
11751         xorl    %edi,%ebx
11752         shrdl   $2,%ecx,%ecx
11753         vpxor   %xmm5,%xmm4,%xmm4
11754         addl    %edx,%ebx
11755         addl    12(%esp),%edx
11756         addl    %ecx,%ebx
11757         vpslld  $11,%xmm5,%xmm5
11758         movl    %edx,%ecx
11759         shrdl   $14,%edx,%edx
11760         movl    16(%esp),%esi
11761         vpxor   %xmm6,%xmm4,%xmm4
11762         xorl    %ecx,%edx
11763         movl    20(%esp),%edi
11764         xorl    %edi,%esi
11765         vpsrld  $10,%xmm7,%xmm6
11766         shrdl   $5,%edx,%edx
11767         andl    %ecx,%esi
11768         movl    %ecx,12(%esp)
11769         vpxor   %xmm5,%xmm4,%xmm4
11770         xorl    %ecx,%edx
11771         xorl    %esi,%edi
11772         shrdl   $6,%edx,%edx
11773         vpsrlq  $17,%xmm7,%xmm5
11774         movl    %ebx,%ecx
11775         addl    %edi,%edx
11776         movl    (%esp),%edi
11777         vpaddd  %xmm4,%xmm2,%xmm2
11778         movl    %ebx,%esi
11779         shrdl   $9,%ecx,%ecx
11780         movl    %ebx,28(%esp)
11781         vpxor   %xmm5,%xmm6,%xmm6
11782         xorl    %ebx,%ecx
11783         xorl    %edi,%ebx
11784         addl    24(%esp),%edx
11785         vpsrlq  $19,%xmm7,%xmm7
11786         shrdl   $11,%ecx,%ecx
11787         andl    %ebx,%eax
11788         xorl    %esi,%ecx
11789         vpxor   %xmm7,%xmm6,%xmm6
11790         addl    68(%esp),%edx
11791         xorl    %edi,%eax
11792         shrdl   $2,%ecx,%ecx
11793         vpshufd $132,%xmm6,%xmm7
11794         addl    %edx,%eax
11795         addl    8(%esp),%edx
11796         addl    %ecx,%eax
11797         vpsrldq $8,%xmm7,%xmm7
11798         movl    %edx,%ecx
11799         shrdl   $14,%edx,%edx
11800         movl    12(%esp),%esi
11801         vpaddd  %xmm7,%xmm2,%xmm2
11802         xorl    %ecx,%edx
11803         movl    16(%esp),%edi
11804         xorl    %edi,%esi
11805         vpshufd $80,%xmm2,%xmm7
11806         shrdl   $5,%edx,%edx
11807         andl    %ecx,%esi
11808         movl    %ecx,8(%esp)
11809         vpsrld  $10,%xmm7,%xmm6
11810         xorl    %ecx,%edx
11811         xorl    %esi,%edi
11812         shrdl   $6,%edx,%edx
11813         vpsrlq  $17,%xmm7,%xmm5
11814         movl    %eax,%ecx
11815         addl    %edi,%edx
11816         movl    28(%esp),%edi
11817         vpxor   %xmm5,%xmm6,%xmm6
11818         movl    %eax,%esi
11819         shrdl   $9,%ecx,%ecx
11820         movl    %eax,24(%esp)
11821         vpsrlq  $19,%xmm7,%xmm7
11822         xorl    %eax,%ecx
11823         xorl    %edi,%eax
11824         addl    20(%esp),%edx
11825         vpxor   %xmm7,%xmm6,%xmm6
11826         shrdl   $11,%ecx,%ecx
11827         andl    %eax,%ebx
11828         xorl    %esi,%ecx
11829         vpshufd $232,%xmm6,%xmm7
11830         addl    72(%esp),%edx
11831         xorl    %edi,%ebx
11832         shrdl   $2,%ecx,%ecx
11833         vpslldq $8,%xmm7,%xmm7
11834         addl    %edx,%ebx
11835         addl    4(%esp),%edx
11836         addl    %ecx,%ebx
11837         vpaddd  %xmm7,%xmm2,%xmm2
11838         movl    %edx,%ecx
11839         shrdl   $14,%edx,%edx
11840         movl    8(%esp),%esi
11841         vpaddd  32(%ebp),%xmm2,%xmm6
11842         xorl    %ecx,%edx
11843         movl    12(%esp),%edi
11844         xorl    %edi,%esi
11845         shrdl   $5,%edx,%edx
11846         andl    %ecx,%esi
11847         movl    %ecx,4(%esp)
11848         xorl    %ecx,%edx
11849         xorl    %esi,%edi
11850         shrdl   $6,%edx,%edx
11851         movl    %ebx,%ecx
11852         addl    %edi,%edx
11853         movl    24(%esp),%edi
11854         movl    %ebx,%esi
11855         shrdl   $9,%ecx,%ecx
11856         movl    %ebx,20(%esp)
11857         xorl    %ebx,%ecx
11858         xorl    %edi,%ebx
11859         addl    16(%esp),%edx
11860         shrdl   $11,%ecx,%ecx
11861         andl    %ebx,%eax
11862         xorl    %esi,%ecx
11863         addl    76(%esp),%edx
11864         xorl    %edi,%eax
11865         shrdl   $2,%ecx,%ecx
11866         addl    %edx,%eax
11867         addl    (%esp),%edx
11868         addl    %ecx,%eax
11869         vmovdqa %xmm6,64(%esp)
11870         vpalignr        $4,%xmm3,%xmm0,%xmm4
11871         movl    %edx,%ecx
11872         shrdl   $14,%edx,%edx
11873         movl    4(%esp),%esi
11874         vpalignr        $4,%xmm1,%xmm2,%xmm7
11875         xorl    %ecx,%edx
11876         movl    8(%esp),%edi
11877         xorl    %edi,%esi
11878         vpsrld  $7,%xmm4,%xmm6
11879         shrdl   $5,%edx,%edx
11880         andl    %ecx,%esi
11881         movl    %ecx,(%esp)
11882         vpaddd  %xmm7,%xmm3,%xmm3
11883         xorl    %ecx,%edx
11884         xorl    %esi,%edi
11885         shrdl   $6,%edx,%edx
11886         vpsrld  $3,%xmm4,%xmm7
11887         movl    %eax,%ecx
11888         addl    %edi,%edx
11889         movl    20(%esp),%edi
11890         vpslld  $14,%xmm4,%xmm5
11891         movl    %eax,%esi
11892         shrdl   $9,%ecx,%ecx
11893         movl    %eax,16(%esp)
11894         vpxor   %xmm6,%xmm7,%xmm4
11895         xorl    %eax,%ecx
11896         xorl    %edi,%eax
11897         addl    12(%esp),%edx
11898         vpshufd $250,%xmm2,%xmm7
11899         shrdl   $11,%ecx,%ecx
11900         andl    %eax,%ebx
11901         xorl    %esi,%ecx
11902         vpsrld  $11,%xmm6,%xmm6
11903         addl    80(%esp),%edx
11904         xorl    %edi,%ebx
11905         shrdl   $2,%ecx,%ecx
11906         vpxor   %xmm5,%xmm4,%xmm4
11907         addl    %edx,%ebx
11908         addl    28(%esp),%edx
11909         addl    %ecx,%ebx
11910         vpslld  $11,%xmm5,%xmm5
11911         movl    %edx,%ecx
11912         shrdl   $14,%edx,%edx
11913         movl    (%esp),%esi
11914         vpxor   %xmm6,%xmm4,%xmm4
11915         xorl    %ecx,%edx
11916         movl    4(%esp),%edi
11917         xorl    %edi,%esi
11918         vpsrld  $10,%xmm7,%xmm6
11919         shrdl   $5,%edx,%edx
11920         andl    %ecx,%esi
11921         movl    %ecx,28(%esp)
11922         vpxor   %xmm5,%xmm4,%xmm4
11923         xorl    %ecx,%edx
11924         xorl    %esi,%edi
11925         shrdl   $6,%edx,%edx
11926         vpsrlq  $17,%xmm7,%xmm5
11927         movl    %ebx,%ecx
11928         addl    %edi,%edx
11929         movl    16(%esp),%edi
11930         vpaddd  %xmm4,%xmm3,%xmm3
11931         movl    %ebx,%esi
11932         shrdl   $9,%ecx,%ecx
11933         movl    %ebx,12(%esp)
11934         vpxor   %xmm5,%xmm6,%xmm6
11935         xorl    %ebx,%ecx
11936         xorl    %edi,%ebx
11937         addl    8(%esp),%edx
11938         vpsrlq  $19,%xmm7,%xmm7
11939         shrdl   $11,%ecx,%ecx
11940         andl    %ebx,%eax
11941         xorl    %esi,%ecx
11942         vpxor   %xmm7,%xmm6,%xmm6
11943         addl    84(%esp),%edx
11944         xorl    %edi,%eax
11945         shrdl   $2,%ecx,%ecx
11946         vpshufd $132,%xmm6,%xmm7
11947         addl    %edx,%eax
11948         addl    24(%esp),%edx
11949         addl    %ecx,%eax
11950         vpsrldq $8,%xmm7,%xmm7
11951         movl    %edx,%ecx
11952         shrdl   $14,%edx,%edx
11953         movl    28(%esp),%esi
11954         vpaddd  %xmm7,%xmm3,%xmm3
11955         xorl    %ecx,%edx
11956         movl    (%esp),%edi
11957         xorl    %edi,%esi
11958         vpshufd $80,%xmm3,%xmm7
11959         shrdl   $5,%edx,%edx
11960         andl    %ecx,%esi
11961         movl    %ecx,24(%esp)
11962         vpsrld  $10,%xmm7,%xmm6
11963         xorl    %ecx,%edx
11964         xorl    %esi,%edi
11965         shrdl   $6,%edx,%edx
11966         vpsrlq  $17,%xmm7,%xmm5
11967         movl    %eax,%ecx
11968         addl    %edi,%edx
11969         movl    12(%esp),%edi
11970         vpxor   %xmm5,%xmm6,%xmm6
11971         movl    %eax,%esi
11972         shrdl   $9,%ecx,%ecx
11973         movl    %eax,8(%esp)
11974         vpsrlq  $19,%xmm7,%xmm7
11975         xorl    %eax,%ecx
11976         xorl    %edi,%eax
11977         addl    4(%esp),%edx
11978         vpxor   %xmm7,%xmm6,%xmm6
11979         shrdl   $11,%ecx,%ecx
11980         andl    %eax,%ebx
11981         xorl    %esi,%ecx
11982         vpshufd $232,%xmm6,%xmm7
11983         addl    88(%esp),%edx
11984         xorl    %edi,%ebx
11985         shrdl   $2,%ecx,%ecx
11986         vpslldq $8,%xmm7,%xmm7
11987         addl    %edx,%ebx
11988         addl    20(%esp),%edx
11989         addl    %ecx,%ebx
11990         vpaddd  %xmm7,%xmm3,%xmm3
11991         movl    %edx,%ecx
11992         shrdl   $14,%edx,%edx
11993         movl    24(%esp),%esi
11994         vpaddd  48(%ebp),%xmm3,%xmm6
11995         xorl    %ecx,%edx
11996         movl    28(%esp),%edi
11997         xorl    %edi,%esi
11998         shrdl   $5,%edx,%edx
11999         andl    %ecx,%esi
12000         movl    %ecx,20(%esp)
12001         xorl    %ecx,%edx
12002         xorl    %esi,%edi
12003         shrdl   $6,%edx,%edx
12004         movl    %ebx,%ecx
12005         addl    %edi,%edx
12006         movl    8(%esp),%edi
12007         movl    %ebx,%esi
12008         shrdl   $9,%ecx,%ecx
12009         movl    %ebx,4(%esp)
12010         xorl    %ebx,%ecx
12011         xorl    %edi,%ebx
12012         addl    (%esp),%edx
12013         shrdl   $11,%ecx,%ecx
12014         andl    %ebx,%eax
12015         xorl    %esi,%ecx
12016         addl    92(%esp),%edx
12017         xorl    %edi,%eax
12018         shrdl   $2,%ecx,%ecx
12019         addl    %edx,%eax
12020         addl    16(%esp),%edx
12021         addl    %ecx,%eax
12022         vmovdqa %xmm6,80(%esp)
12023         cmpl    $66051,64(%ebp)
12024         jne     .L016avx_00_47
12025         movl    %edx,%ecx
12026         shrdl   $14,%edx,%edx
12027         movl    20(%esp),%esi
12028         xorl    %ecx,%edx
12029         movl    24(%esp),%edi
12030         xorl    %edi,%esi
12031         shrdl   $5,%edx,%edx
12032         andl    %ecx,%esi
12033         movl    %ecx,16(%esp)
12034         xorl    %ecx,%edx
12035         xorl    %esi,%edi
12036         shrdl   $6,%edx,%edx
12037         movl    %eax,%ecx
12038         addl    %edi,%edx
12039         movl    4(%esp),%edi
12040         movl    %eax,%esi
12041         shrdl   $9,%ecx,%ecx
12042         movl    %eax,(%esp)
12043         xorl    %eax,%ecx
12044         xorl    %edi,%eax
12045         addl    28(%esp),%edx
12046         shrdl   $11,%ecx,%ecx
12047         andl    %eax,%ebx
12048         xorl    %esi,%ecx
12049         addl    32(%esp),%edx
12050         xorl    %edi,%ebx
12051         shrdl   $2,%ecx,%ecx
12052         addl    %edx,%ebx
12053         addl    12(%esp),%edx
12054         addl    %ecx,%ebx
12055         movl    %edx,%ecx
12056         shrdl   $14,%edx,%edx
12057         movl    16(%esp),%esi
12058         xorl    %ecx,%edx
12059         movl    20(%esp),%edi
12060         xorl    %edi,%esi
12061         shrdl   $5,%edx,%edx
12062         andl    %ecx,%esi
12063         movl    %ecx,12(%esp)
12064         xorl    %ecx,%edx
12065         xorl    %esi,%edi
12066         shrdl   $6,%edx,%edx
12067         movl    %ebx,%ecx
12068         addl    %edi,%edx
12069         movl    (%esp),%edi
12070         movl    %ebx,%esi
12071         shrdl   $9,%ecx,%ecx
12072         movl    %ebx,28(%esp)
12073         xorl    %ebx,%ecx
12074         xorl    %edi,%ebx
12075         addl    24(%esp),%edx
12076         shrdl   $11,%ecx,%ecx
12077         andl    %ebx,%eax
12078         xorl    %esi,%ecx
12079         addl    36(%esp),%edx
12080         xorl    %edi,%eax
12081         shrdl   $2,%ecx,%ecx
12082         addl    %edx,%eax
12083         addl    8(%esp),%edx
12084         addl    %ecx,%eax
12085         movl    %edx,%ecx
12086         shrdl   $14,%edx,%edx
12087         movl    12(%esp),%esi
12088         xorl    %ecx,%edx
12089         movl    16(%esp),%edi
12090         xorl    %edi,%esi
12091         shrdl   $5,%edx,%edx
12092         andl    %ecx,%esi
12093         movl    %ecx,8(%esp)
12094         xorl    %ecx,%edx
12095         xorl    %esi,%edi
12096         shrdl   $6,%edx,%edx
12097         movl    %eax,%ecx
12098         addl    %edi,%edx
12099         movl    28(%esp),%edi
12100         movl    %eax,%esi
12101         shrdl   $9,%ecx,%ecx
12102         movl    %eax,24(%esp)
12103         xorl    %eax,%ecx
12104         xorl    %edi,%eax
12105         addl    20(%esp),%edx
12106         shrdl   $11,%ecx,%ecx
12107         andl    %eax,%ebx
12108         xorl    %esi,%ecx
12109         addl    40(%esp),%edx
12110         xorl    %edi,%ebx
12111         shrdl   $2,%ecx,%ecx
12112         addl    %edx,%ebx
12113         addl    4(%esp),%edx
12114         addl    %ecx,%ebx
12115         movl    %edx,%ecx
12116         shrdl   $14,%edx,%edx
12117         movl    8(%esp),%esi
12118         xorl    %ecx,%edx
12119         movl    12(%esp),%edi
12120         xorl    %edi,%esi
12121         shrdl   $5,%edx,%edx
12122         andl    %ecx,%esi
12123         movl    %ecx,4(%esp)
12124         xorl    %ecx,%edx
12125         xorl    %esi,%edi
12126         shrdl   $6,%edx,%edx
12127         movl    %ebx,%ecx
12128         addl    %edi,%edx
12129         movl    24(%esp),%edi
12130         movl    %ebx,%esi
12131         shrdl   $9,%ecx,%ecx
12132         movl    %ebx,20(%esp)
12133         xorl    %ebx,%ecx
12134         xorl    %edi,%ebx
12135         addl    16(%esp),%edx
12136         shrdl   $11,%ecx,%ecx
12137         andl    %ebx,%eax
12138         xorl    %esi,%ecx
12139         addl    44(%esp),%edx
12140         xorl    %edi,%eax
12141         shrdl   $2,%ecx,%ecx
12142         addl    %edx,%eax
12143         addl    (%esp),%edx
12144         addl    %ecx,%eax
12145         movl    %edx,%ecx
12146         shrdl   $14,%edx,%edx
12147         movl    4(%esp),%esi
12148         xorl    %ecx,%edx
12149         movl    8(%esp),%edi
12150         xorl    %edi,%esi
12151         shrdl   $5,%edx,%edx
12152         andl    %ecx,%esi
12153         movl    %ecx,(%esp)
12154         xorl    %ecx,%edx
12155         xorl    %esi,%edi
12156         shrdl   $6,%edx,%edx
12157         movl    %eax,%ecx
12158         addl    %edi,%edx
12159         movl    20(%esp),%edi
12160         movl    %eax,%esi
12161         shrdl   $9,%ecx,%ecx
12162         movl    %eax,16(%esp)
12163         xorl    %eax,%ecx
12164         xorl    %edi,%eax
12165         addl    12(%esp),%edx
12166         shrdl   $11,%ecx,%ecx
12167         andl    %eax,%ebx
12168         xorl    %esi,%ecx
12169         addl    48(%esp),%edx
12170         xorl    %edi,%ebx
12171         shrdl   $2,%ecx,%ecx
12172         addl    %edx,%ebx
12173         addl    28(%esp),%edx
12174         addl    %ecx,%ebx
12175         movl    %edx,%ecx
12176         shrdl   $14,%edx,%edx
12177         movl    (%esp),%esi
12178         xorl    %ecx,%edx
12179         movl    4(%esp),%edi
12180         xorl    %edi,%esi
12181         shrdl   $5,%edx,%edx
12182         andl    %ecx,%esi
12183         movl    %ecx,28(%esp)
12184         xorl    %ecx,%edx
12185         xorl    %esi,%edi
12186         shrdl   $6,%edx,%edx
12187         movl    %ebx,%ecx
12188         addl    %edi,%edx
12189         movl    16(%esp),%edi
12190         movl    %ebx,%esi
12191         shrdl   $9,%ecx,%ecx
12192         movl    %ebx,12(%esp)
12193         xorl    %ebx,%ecx
12194         xorl    %edi,%ebx
12195         addl    8(%esp),%edx
12196         shrdl   $11,%ecx,%ecx
12197         andl    %ebx,%eax
12198         xorl    %esi,%ecx
12199         addl    52(%esp),%edx
12200         xorl    %edi,%eax
12201         shrdl   $2,%ecx,%ecx
12202         addl    %edx,%eax
12203         addl    24(%esp),%edx
12204         addl    %ecx,%eax
12205         movl    %edx,%ecx
12206         shrdl   $14,%edx,%edx
12207         movl    28(%esp),%esi
12208         xorl    %ecx,%edx
12209         movl    (%esp),%edi
12210         xorl    %edi,%esi
12211         shrdl   $5,%edx,%edx
12212         andl    %ecx,%esi
12213         movl    %ecx,24(%esp)
12214         xorl    %ecx,%edx
12215         xorl    %esi,%edi
12216         shrdl   $6,%edx,%edx
12217         movl    %eax,%ecx
12218         addl    %edi,%edx
12219         movl    12(%esp),%edi
12220         movl    %eax,%esi
12221         shrdl   $9,%ecx,%ecx
12222         movl    %eax,8(%esp)
12223         xorl    %eax,%ecx
12224         xorl    %edi,%eax
12225         addl    4(%esp),%edx
12226         shrdl   $11,%ecx,%ecx
12227         andl    %eax,%ebx
12228         xorl    %esi,%ecx
12229         addl    56(%esp),%edx
12230         xorl    %edi,%ebx
12231         shrdl   $2,%ecx,%ecx
12232         addl    %edx,%ebx
12233         addl    20(%esp),%edx
12234         addl    %ecx,%ebx
12235         movl    %edx,%ecx
12236         shrdl   $14,%edx,%edx
12237         movl    24(%esp),%esi
12238         xorl    %ecx,%edx
12239         movl    28(%esp),%edi
12240         xorl    %edi,%esi
12241         shrdl   $5,%edx,%edx
12242         andl    %ecx,%esi
12243         movl    %ecx,20(%esp)
12244         xorl    %ecx,%edx
12245         xorl    %esi,%edi
12246         shrdl   $6,%edx,%edx
12247         movl    %ebx,%ecx
12248         addl    %edi,%edx
12249         movl    8(%esp),%edi
12250         movl    %ebx,%esi
12251         shrdl   $9,%ecx,%ecx
12252         movl    %ebx,4(%esp)
12253         xorl    %ebx,%ecx
12254         xorl    %edi,%ebx
12255         addl    (%esp),%edx
12256         shrdl   $11,%ecx,%ecx
12257         andl    %ebx,%eax
12258         xorl    %esi,%ecx
12259         addl    60(%esp),%edx
12260         xorl    %edi,%eax
12261         shrdl   $2,%ecx,%ecx
12262         addl    %edx,%eax
12263         addl    16(%esp),%edx
12264         addl    %ecx,%eax
12265         movl    %edx,%ecx
12266         shrdl   $14,%edx,%edx
12267         movl    20(%esp),%esi
12268         xorl    %ecx,%edx
12269         movl    24(%esp),%edi
12270         xorl    %edi,%esi
12271         shrdl   $5,%edx,%edx
12272         andl    %ecx,%esi
12273         movl    %ecx,16(%esp)
12274         xorl    %ecx,%edx
12275         xorl    %esi,%edi
12276         shrdl   $6,%edx,%edx
12277         movl    %eax,%ecx
12278         addl    %edi,%edx
12279         movl    4(%esp),%edi
12280         movl    %eax,%esi
12281         shrdl   $9,%ecx,%ecx
12282         movl    %eax,(%esp)
12283         xorl    %eax,%ecx
12284         xorl    %edi,%eax
12285         addl    28(%esp),%edx
12286         shrdl   $11,%ecx,%ecx
12287         andl    %eax,%ebx
12288         xorl    %esi,%ecx
12289         addl    64(%esp),%edx
12290         xorl    %edi,%ebx
12291         shrdl   $2,%ecx,%ecx
12292         addl    %edx,%ebx
12293         addl    12(%esp),%edx
12294         addl    %ecx,%ebx
12295         movl    %edx,%ecx
12296         shrdl   $14,%edx,%edx
12297         movl    16(%esp),%esi
12298         xorl    %ecx,%edx
12299         movl    20(%esp),%edi
12300         xorl    %edi,%esi
12301         shrdl   $5,%edx,%edx
12302         andl    %ecx,%esi
12303         movl    %ecx,12(%esp)
12304         xorl    %ecx,%edx
12305         xorl    %esi,%edi
12306         shrdl   $6,%edx,%edx
12307         movl    %ebx,%ecx
12308         addl    %edi,%edx
12309         movl    (%esp),%edi
12310         movl    %ebx,%esi
12311         shrdl   $9,%ecx,%ecx
12312         movl    %ebx,28(%esp)
12313         xorl    %ebx,%ecx
12314         xorl    %edi,%ebx
12315         addl    24(%esp),%edx
12316         shrdl   $11,%ecx,%ecx
12317         andl    %ebx,%eax
12318         xorl    %esi,%ecx
12319         addl    68(%esp),%edx
12320         xorl    %edi,%eax
12321         shrdl   $2,%ecx,%ecx
12322         addl    %edx,%eax
12323         addl    8(%esp),%edx
12324         addl    %ecx,%eax
12325         movl    %edx,%ecx
12326         shrdl   $14,%edx,%edx
12327         movl    12(%esp),%esi
12328         xorl    %ecx,%edx
12329         movl    16(%esp),%edi
12330         xorl    %edi,%esi
12331         shrdl   $5,%edx,%edx
12332         andl    %ecx,%esi
12333         movl    %ecx,8(%esp)
12334         xorl    %ecx,%edx
12335         xorl    %esi,%edi
12336         shrdl   $6,%edx,%edx
12337         movl    %eax,%ecx
12338         addl    %edi,%edx
12339         movl    28(%esp),%edi
12340         movl    %eax,%esi
12341         shrdl   $9,%ecx,%ecx
12342         movl    %eax,24(%esp)
12343         xorl    %eax,%ecx
12344         xorl    %edi,%eax
12345         addl    20(%esp),%edx
12346         shrdl   $11,%ecx,%ecx
12347         andl    %eax,%ebx
12348         xorl    %esi,%ecx
12349         addl    72(%esp),%edx
12350         xorl    %edi,%ebx
12351         shrdl   $2,%ecx,%ecx
12352         addl    %edx,%ebx
12353         addl    4(%esp),%edx
12354         addl    %ecx,%ebx
12355         movl    %edx,%ecx
12356         shrdl   $14,%edx,%edx
12357         movl    8(%esp),%esi
12358         xorl    %ecx,%edx
12359         movl    12(%esp),%edi
12360         xorl    %edi,%esi
12361         shrdl   $5,%edx,%edx
12362         andl    %ecx,%esi
12363         movl    %ecx,4(%esp)
12364         xorl    %ecx,%edx
12365         xorl    %esi,%edi
12366         shrdl   $6,%edx,%edx
12367         movl    %ebx,%ecx
12368         addl    %edi,%edx
12369         movl    24(%esp),%edi
12370         movl    %ebx,%esi
12371         shrdl   $9,%ecx,%ecx
12372         movl    %ebx,20(%esp)
12373         xorl    %ebx,%ecx
12374         xorl    %edi,%ebx
12375         addl    16(%esp),%edx
12376         shrdl   $11,%ecx,%ecx
12377         andl    %ebx,%eax
12378         xorl    %esi,%ecx
12379         addl    76(%esp),%edx
12380         xorl    %edi,%eax
12381         shrdl   $2,%ecx,%ecx
12382         addl    %edx,%eax
12383         addl    (%esp),%edx
12384         addl    %ecx,%eax
12385         movl    %edx,%ecx
12386         shrdl   $14,%edx,%edx
12387         movl    4(%esp),%esi
12388         xorl    %ecx,%edx
12389         movl    8(%esp),%edi
12390         xorl    %edi,%esi
12391         shrdl   $5,%edx,%edx
12392         andl    %ecx,%esi
12393         movl    %ecx,(%esp)
12394         xorl    %ecx,%edx
12395         xorl    %esi,%edi
12396         shrdl   $6,%edx,%edx
12397         movl    %eax,%ecx
12398         addl    %edi,%edx
12399         movl    20(%esp),%edi
12400         movl    %eax,%esi
12401         shrdl   $9,%ecx,%ecx
12402         movl    %eax,16(%esp)
12403         xorl    %eax,%ecx
12404         xorl    %edi,%eax
12405         addl    12(%esp),%edx
12406         shrdl   $11,%ecx,%ecx
12407         andl    %eax,%ebx
12408         xorl    %esi,%ecx
12409         addl    80(%esp),%edx
12410         xorl    %edi,%ebx
12411         shrdl   $2,%ecx,%ecx
12412         addl    %edx,%ebx
12413         addl    28(%esp),%edx
12414         addl    %ecx,%ebx
12415         movl    %edx,%ecx
12416         shrdl   $14,%edx,%edx
12417         movl    (%esp),%esi
12418         xorl    %ecx,%edx
12419         movl    4(%esp),%edi
12420         xorl    %edi,%esi
12421         shrdl   $5,%edx,%edx
12422         andl    %ecx,%esi
12423         movl    %ecx,28(%esp)
12424         xorl    %ecx,%edx
12425         xorl    %esi,%edi
12426         shrdl   $6,%edx,%edx
12427         movl    %ebx,%ecx
12428         addl    %edi,%edx
12429         movl    16(%esp),%edi
12430         movl    %ebx,%esi
12431         shrdl   $9,%ecx,%ecx
12432         movl    %ebx,12(%esp)
12433         xorl    %ebx,%ecx
12434         xorl    %edi,%ebx
12435         addl    8(%esp),%edx
12436         shrdl   $11,%ecx,%ecx
12437         andl    %ebx,%eax
12438         xorl    %esi,%ecx
12439         addl    84(%esp),%edx
12440         xorl    %edi,%eax
12441         shrdl   $2,%ecx,%ecx
12442         addl    %edx,%eax
12443         addl    24(%esp),%edx
12444         addl    %ecx,%eax
12445         movl    %edx,%ecx
12446         shrdl   $14,%edx,%edx
12447         movl    28(%esp),%esi
12448         xorl    %ecx,%edx
12449         movl    (%esp),%edi
12450         xorl    %edi,%esi
12451         shrdl   $5,%edx,%edx
12452         andl    %ecx,%esi
12453         movl    %ecx,24(%esp)
12454         xorl    %ecx,%edx
12455         xorl    %esi,%edi
12456         shrdl   $6,%edx,%edx
12457         movl    %eax,%ecx
12458         addl    %edi,%edx
12459         movl    12(%esp),%edi
12460         movl    %eax,%esi
12461         shrdl   $9,%ecx,%ecx
12462         movl    %eax,8(%esp)
12463         xorl    %eax,%ecx
12464         xorl    %edi,%eax
12465         addl    4(%esp),%edx
12466         shrdl   $11,%ecx,%ecx
12467         andl    %eax,%ebx
12468         xorl    %esi,%ecx
12469         addl    88(%esp),%edx
12470         xorl    %edi,%ebx
12471         shrdl   $2,%ecx,%ecx
12472         addl    %edx,%ebx
12473         addl    20(%esp),%edx
12474         addl    %ecx,%ebx
12475         movl    %edx,%ecx
12476         shrdl   $14,%edx,%edx
12477         movl    24(%esp),%esi
12478         xorl    %ecx,%edx
12479         movl    28(%esp),%edi
12480         xorl    %edi,%esi
12481         shrdl   $5,%edx,%edx
12482         andl    %ecx,%esi
12483         movl    %ecx,20(%esp)
12484         xorl    %ecx,%edx
12485         xorl    %esi,%edi
12486         shrdl   $6,%edx,%edx
12487         movl    %ebx,%ecx
12488         addl    %edi,%edx
12489         movl    8(%esp),%edi
12490         movl    %ebx,%esi
12491         shrdl   $9,%ecx,%ecx
12492         movl    %ebx,4(%esp)
12493         xorl    %ebx,%ecx
12494         xorl    %edi,%ebx
12495         addl    (%esp),%edx
12496         shrdl   $11,%ecx,%ecx
12497         andl    %ebx,%eax
12498         xorl    %esi,%ecx
12499         addl    92(%esp),%edx
12500         xorl    %edi,%eax
12501         shrdl   $2,%ecx,%ecx
12502         addl    %edx,%eax
12503         addl    16(%esp),%edx
12504         addl    %ecx,%eax
12505         movl    96(%esp),%esi
12506         xorl    %edi,%ebx
12507         movl    12(%esp),%ecx
12508         addl    (%esi),%eax
12509         addl    4(%esi),%ebx
12510         addl    8(%esi),%edi
12511         addl    12(%esi),%ecx
12512         movl    %eax,(%esi)
12513         movl    %ebx,4(%esi)
12514         movl    %edi,8(%esi)
12515         movl    %ecx,12(%esi)
12516         movl    %ebx,4(%esp)
12517         xorl    %edi,%ebx
12518         movl    %edi,8(%esp)
12519         movl    %ecx,12(%esp)
12520         movl    20(%esp),%edi
12521         movl    24(%esp),%ecx
12522         addl    16(%esi),%edx
12523         addl    20(%esi),%edi
12524         addl    24(%esi),%ecx
12525         movl    %edx,16(%esi)
12526         movl    %edi,20(%esi)
12527         movl    %edi,20(%esp)
12528         movl    28(%esp),%edi
12529         movl    %ecx,24(%esi)
12530         addl    28(%esi),%edi
12531         movl    %ecx,24(%esp)
12532         movl    %edi,28(%esi)
12533         movl    %edi,28(%esp)
12534         movl    100(%esp),%edi
12535         vmovdqa 64(%ebp),%xmm7
12536         subl    $192,%ebp
12537         cmpl    104(%esp),%edi
12538         jb      .L015grand_avx
12539         movl    108(%esp),%esp
12540         vzeroall
12541         popl    %edi
12542         popl    %esi
12543         popl    %ebx
12544         popl    %ebp
12545         ret
12546 .align  32
12547 .L014AVX_BMI:
12548         leal    -96(%esp),%esp
12549         vzeroall
12550         movl    (%esi),%eax
12551         movl    4(%esi),%ebx
12552         movl    8(%esi),%ecx
12553         movl    12(%esi),%edi
12554         movl    %ebx,4(%esp)
12555         xorl    %ecx,%ebx
12556         movl    %ecx,8(%esp)
12557         movl    %edi,12(%esp)
12558         movl    16(%esi),%edx
12559         movl    20(%esi),%edi
12560         movl    24(%esi),%ecx
12561         movl    28(%esi),%esi
12562         movl    %edi,20(%esp)
12563         movl    100(%esp),%edi
12564         movl    %ecx,24(%esp)
12565         movl    %esi,28(%esp)
12566         vmovdqa 256(%ebp),%xmm7
12567         jmp     .L017grand_avx_bmi
12568 .align  32
12569 .L017grand_avx_bmi:
12570         vmovdqu (%edi),%xmm0
12571         vmovdqu 16(%edi),%xmm1
12572         vmovdqu 32(%edi),%xmm2
12573         vmovdqu 48(%edi),%xmm3
12574         addl    $64,%edi
12575         vpshufb %xmm7,%xmm0,%xmm0
12576         movl    %edi,100(%esp)
12577         vpshufb %xmm7,%xmm1,%xmm1
12578         vpshufb %xmm7,%xmm2,%xmm2
12579         vpaddd  (%ebp),%xmm0,%xmm4
12580         vpshufb %xmm7,%xmm3,%xmm3
12581         vpaddd  16(%ebp),%xmm1,%xmm5
12582         vpaddd  32(%ebp),%xmm2,%xmm6
12583         vpaddd  48(%ebp),%xmm3,%xmm7
12584         vmovdqa %xmm4,32(%esp)
12585         vmovdqa %xmm5,48(%esp)
12586         vmovdqa %xmm6,64(%esp)
12587         vmovdqa %xmm7,80(%esp)
12588         jmp     .L018avx_bmi_00_47
12589 .align  16
12590 .L018avx_bmi_00_47:
12591         addl    $64,%ebp
12592         vpalignr        $4,%xmm0,%xmm1,%xmm4
12593         rorxl   $6,%edx,%ecx
12594         rorxl   $11,%edx,%esi
12595         movl    %edx,16(%esp)
12596         vpalignr        $4,%xmm2,%xmm3,%xmm7
12597         rorxl   $25,%edx,%edi
12598         xorl    %esi,%ecx
12599         andnl   24(%esp),%edx,%esi
12600         vpsrld  $7,%xmm4,%xmm6
12601         xorl    %edi,%ecx
12602         andl    20(%esp),%edx
12603         movl    %eax,(%esp)
12604         vpaddd  %xmm7,%xmm0,%xmm0
12605         orl     %esi,%edx
12606         rorxl   $2,%eax,%edi
12607         rorxl   $13,%eax,%esi
12608         vpsrld  $3,%xmm4,%xmm7
12609         leal    (%edx,%ecx,1),%edx
12610         rorxl   $22,%eax,%ecx
12611         xorl    %edi,%esi
12612         vpslld  $14,%xmm4,%xmm5
12613         movl    4(%esp),%edi
12614         xorl    %esi,%ecx
12615         xorl    %edi,%eax
12616         vpxor   %xmm6,%xmm7,%xmm4
12617         addl    28(%esp),%edx
12618         andl    %eax,%ebx
12619         addl    32(%esp),%edx
12620         vpshufd $250,%xmm3,%xmm7
12621         xorl    %edi,%ebx
12622         addl    %edx,%ecx
12623         addl    12(%esp),%edx
12624         vpsrld  $11,%xmm6,%xmm6
12625         leal    (%ebx,%ecx,1),%ebx
12626         rorxl   $6,%edx,%ecx
12627         rorxl   $11,%edx,%esi
12628         vpxor   %xmm5,%xmm4,%xmm4
12629         movl    %edx,12(%esp)
12630         rorxl   $25,%edx,%edi
12631         xorl    %esi,%ecx
12632         vpslld  $11,%xmm5,%xmm5
12633         andnl   20(%esp),%edx,%esi
12634         xorl    %edi,%ecx
12635         andl    16(%esp),%edx
12636         vpxor   %xmm6,%xmm4,%xmm4
12637         movl    %ebx,28(%esp)
12638         orl     %esi,%edx
12639         rorxl   $2,%ebx,%edi
12640         rorxl   $13,%ebx,%esi
12641         vpsrld  $10,%xmm7,%xmm6
12642         leal    (%edx,%ecx,1),%edx
12643         rorxl   $22,%ebx,%ecx
12644         xorl    %edi,%esi
12645         vpxor   %xmm5,%xmm4,%xmm4
12646         movl    (%esp),%edi
12647         xorl    %esi,%ecx
12648         xorl    %edi,%ebx
12649         vpsrlq  $17,%xmm7,%xmm5
12650         addl    24(%esp),%edx
12651         andl    %ebx,%eax
12652         addl    36(%esp),%edx
12653         vpaddd  %xmm4,%xmm0,%xmm0
12654         xorl    %edi,%eax
12655         addl    %edx,%ecx
12656         addl    8(%esp),%edx
12657         vpxor   %xmm5,%xmm6,%xmm6
12658         leal    (%eax,%ecx,1),%eax
12659         rorxl   $6,%edx,%ecx
12660         rorxl   $11,%edx,%esi
12661         vpsrlq  $19,%xmm7,%xmm7
12662         movl    %edx,8(%esp)
12663         rorxl   $25,%edx,%edi
12664         xorl    %esi,%ecx
12665         vpxor   %xmm7,%xmm6,%xmm6
12666         andnl   16(%esp),%edx,%esi
12667         xorl    %edi,%ecx
12668         andl    12(%esp),%edx
12669         vpshufd $132,%xmm6,%xmm7
12670         movl    %eax,24(%esp)
12671         orl     %esi,%edx
12672         rorxl   $2,%eax,%edi
12673         rorxl   $13,%eax,%esi
12674         vpsrldq $8,%xmm7,%xmm7
12675         leal    (%edx,%ecx,1),%edx
12676         rorxl   $22,%eax,%ecx
12677         xorl    %edi,%esi
12678         vpaddd  %xmm7,%xmm0,%xmm0
12679         movl    28(%esp),%edi
12680         xorl    %esi,%ecx
12681         xorl    %edi,%eax
12682         vpshufd $80,%xmm0,%xmm7
12683         addl    20(%esp),%edx
12684         andl    %eax,%ebx
12685         addl    40(%esp),%edx
12686         vpsrld  $10,%xmm7,%xmm6
12687         xorl    %edi,%ebx
12688         addl    %edx,%ecx
12689         addl    4(%esp),%edx
12690         vpsrlq  $17,%xmm7,%xmm5
12691         leal    (%ebx,%ecx,1),%ebx
12692         rorxl   $6,%edx,%ecx
12693         rorxl   $11,%edx,%esi
12694         vpxor   %xmm5,%xmm6,%xmm6
12695         movl    %edx,4(%esp)
12696         rorxl   $25,%edx,%edi
12697         xorl    %esi,%ecx
12698         vpsrlq  $19,%xmm7,%xmm7
12699         andnl   12(%esp),%edx,%esi
12700         xorl    %edi,%ecx
12701         andl    8(%esp),%edx
12702         vpxor   %xmm7,%xmm6,%xmm6
12703         movl    %ebx,20(%esp)
12704         orl     %esi,%edx
12705         rorxl   $2,%ebx,%edi
12706         rorxl   $13,%ebx,%esi
12707         vpshufd $232,%xmm6,%xmm7
12708         leal    (%edx,%ecx,1),%edx
12709         rorxl   $22,%ebx,%ecx
12710         xorl    %edi,%esi
12711         vpslldq $8,%xmm7,%xmm7
12712         movl    24(%esp),%edi
12713         xorl    %esi,%ecx
12714         xorl    %edi,%ebx
12715         vpaddd  %xmm7,%xmm0,%xmm0
12716         addl    16(%esp),%edx
12717         andl    %ebx,%eax
12718         addl    44(%esp),%edx
12719         vpaddd  (%ebp),%xmm0,%xmm6
12720         xorl    %edi,%eax
12721         addl    %edx,%ecx
12722         addl    (%esp),%edx
12723         leal    (%eax,%ecx,1),%eax
12724         vmovdqa %xmm6,32(%esp)
12725         vpalignr        $4,%xmm1,%xmm2,%xmm4
12726         rorxl   $6,%edx,%ecx
12727         rorxl   $11,%edx,%esi
12728         movl    %edx,(%esp)
12729         vpalignr        $4,%xmm3,%xmm0,%xmm7
12730         rorxl   $25,%edx,%edi
12731         xorl    %esi,%ecx
12732         andnl   8(%esp),%edx,%esi
12733         vpsrld  $7,%xmm4,%xmm6
12734         xorl    %edi,%ecx
12735         andl    4(%esp),%edx
12736         movl    %eax,16(%esp)
12737         vpaddd  %xmm7,%xmm1,%xmm1
12738         orl     %esi,%edx
12739         rorxl   $2,%eax,%edi
12740         rorxl   $13,%eax,%esi
12741         vpsrld  $3,%xmm4,%xmm7
12742         leal    (%edx,%ecx,1),%edx
12743         rorxl   $22,%eax,%ecx
12744         xorl    %edi,%esi
12745         vpslld  $14,%xmm4,%xmm5
12746         movl    20(%esp),%edi
12747         xorl    %esi,%ecx
12748         xorl    %edi,%eax
12749         vpxor   %xmm6,%xmm7,%xmm4
12750         addl    12(%esp),%edx
12751         andl    %eax,%ebx
12752         addl    48(%esp),%edx
12753         vpshufd $250,%xmm0,%xmm7
12754         xorl    %edi,%ebx
12755         addl    %edx,%ecx
12756         addl    28(%esp),%edx
12757         vpsrld  $11,%xmm6,%xmm6
12758         leal    (%ebx,%ecx,1),%ebx
12759         rorxl   $6,%edx,%ecx
12760         rorxl   $11,%edx,%esi
12761         vpxor   %xmm5,%xmm4,%xmm4
12762         movl    %edx,28(%esp)
12763         rorxl   $25,%edx,%edi
12764         xorl    %esi,%ecx
12765         vpslld  $11,%xmm5,%xmm5
12766         andnl   4(%esp),%edx,%esi
12767         xorl    %edi,%ecx
12768         andl    (%esp),%edx
12769         vpxor   %xmm6,%xmm4,%xmm4
12770         movl    %ebx,12(%esp)
12771         orl     %esi,%edx
12772         rorxl   $2,%ebx,%edi
12773         rorxl   $13,%ebx,%esi
12774         vpsrld  $10,%xmm7,%xmm6
12775         leal    (%edx,%ecx,1),%edx
12776         rorxl   $22,%ebx,%ecx
12777         xorl    %edi,%esi
12778         vpxor   %xmm5,%xmm4,%xmm4
12779         movl    16(%esp),%edi
12780         xorl    %esi,%ecx
12781         xorl    %edi,%ebx
12782         vpsrlq  $17,%xmm7,%xmm5
12783         addl    8(%esp),%edx
12784         andl    %ebx,%eax
12785         addl    52(%esp),%edx
12786         vpaddd  %xmm4,%xmm1,%xmm1
12787         xorl    %edi,%eax
12788         addl    %edx,%ecx
12789         addl    24(%esp),%edx
12790         vpxor   %xmm5,%xmm6,%xmm6
12791         leal    (%eax,%ecx,1),%eax
12792         rorxl   $6,%edx,%ecx
12793         rorxl   $11,%edx,%esi
12794         vpsrlq  $19,%xmm7,%xmm7
12795         movl    %edx,24(%esp)
12796         rorxl   $25,%edx,%edi
12797         xorl    %esi,%ecx
12798         vpxor   %xmm7,%xmm6,%xmm6
12799         andnl   (%esp),%edx,%esi
12800         xorl    %edi,%ecx
12801         andl    28(%esp),%edx
12802         vpshufd $132,%xmm6,%xmm7
12803         movl    %eax,8(%esp)
12804         orl     %esi,%edx
12805         rorxl   $2,%eax,%edi
12806         rorxl   $13,%eax,%esi
12807         vpsrldq $8,%xmm7,%xmm7
12808         leal    (%edx,%ecx,1),%edx
12809         rorxl   $22,%eax,%ecx
12810         xorl    %edi,%esi
12811         vpaddd  %xmm7,%xmm1,%xmm1
12812         movl    12(%esp),%edi
12813         xorl    %esi,%ecx
12814         xorl    %edi,%eax
12815         vpshufd $80,%xmm1,%xmm7
12816         addl    4(%esp),%edx
12817         andl    %eax,%ebx
12818         addl    56(%esp),%edx
12819         vpsrld  $10,%xmm7,%xmm6
12820         xorl    %edi,%ebx
12821         addl    %edx,%ecx
12822         addl    20(%esp),%edx
12823         vpsrlq  $17,%xmm7,%xmm5
12824         leal    (%ebx,%ecx,1),%ebx
12825         rorxl   $6,%edx,%ecx
12826         rorxl   $11,%edx,%esi
12827         vpxor   %xmm5,%xmm6,%xmm6
12828         movl    %edx,20(%esp)
12829         rorxl   $25,%edx,%edi
12830         xorl    %esi,%ecx
12831         vpsrlq  $19,%xmm7,%xmm7
12832         andnl   28(%esp),%edx,%esi
12833         xorl    %edi,%ecx
12834         andl    24(%esp),%edx
12835         vpxor   %xmm7,%xmm6,%xmm6
12836         movl    %ebx,4(%esp)
12837         orl     %esi,%edx
12838         rorxl   $2,%ebx,%edi
12839         rorxl   $13,%ebx,%esi
12840         vpshufd $232,%xmm6,%xmm7
12841         leal    (%edx,%ecx,1),%edx
12842         rorxl   $22,%ebx,%ecx
12843         xorl    %edi,%esi
12844         vpslldq $8,%xmm7,%xmm7
12845         movl    8(%esp),%edi
12846         xorl    %esi,%ecx
12847         xorl    %edi,%ebx
12848         vpaddd  %xmm7,%xmm1,%xmm1
12849         addl    (%esp),%edx
12850         andl    %ebx,%eax
12851         addl    60(%esp),%edx
12852         vpaddd  16(%ebp),%xmm1,%xmm6
12853         xorl    %edi,%eax
12854         addl    %edx,%ecx
12855         addl    16(%esp),%edx
12856         leal    (%eax,%ecx,1),%eax
12857         vmovdqa %xmm6,48(%esp)
12858         vpalignr        $4,%xmm2,%xmm3,%xmm4
12859         rorxl   $6,%edx,%ecx
12860         rorxl   $11,%edx,%esi
12861         movl    %edx,16(%esp)
12862         vpalignr        $4,%xmm0,%xmm1,%xmm7
12863         rorxl   $25,%edx,%edi
12864         xorl    %esi,%ecx
12865         andnl   24(%esp),%edx,%esi
12866         vpsrld  $7,%xmm4,%xmm6
12867         xorl    %edi,%ecx
12868         andl    20(%esp),%edx
12869         movl    %eax,(%esp)
12870         vpaddd  %xmm7,%xmm2,%xmm2
12871         orl     %esi,%edx
12872         rorxl   $2,%eax,%edi
12873         rorxl   $13,%eax,%esi
12874         vpsrld  $3,%xmm4,%xmm7
12875         leal    (%edx,%ecx,1),%edx
12876         rorxl   $22,%eax,%ecx
12877         xorl    %edi,%esi
12878         vpslld  $14,%xmm4,%xmm5
12879         movl    4(%esp),%edi
12880         xorl    %esi,%ecx
12881         xorl    %edi,%eax
12882         vpxor   %xmm6,%xmm7,%xmm4
12883         addl    28(%esp),%edx
12884         andl    %eax,%ebx
12885         addl    64(%esp),%edx
12886         vpshufd $250,%xmm1,%xmm7
12887         xorl    %edi,%ebx
12888         addl    %edx,%ecx
12889         addl    12(%esp),%edx
12890         vpsrld  $11,%xmm6,%xmm6
12891         leal    (%ebx,%ecx,1),%ebx
12892         rorxl   $6,%edx,%ecx
12893         rorxl   $11,%edx,%esi
12894         vpxor   %xmm5,%xmm4,%xmm4
12895         movl    %edx,12(%esp)
12896         rorxl   $25,%edx,%edi
12897         xorl    %esi,%ecx
12898         vpslld  $11,%xmm5,%xmm5
12899         andnl   20(%esp),%edx,%esi
12900         xorl    %edi,%ecx
12901         andl    16(%esp),%edx
12902         vpxor   %xmm6,%xmm4,%xmm4
12903         movl    %ebx,28(%esp)
12904         orl     %esi,%edx
12905         rorxl   $2,%ebx,%edi
12906         rorxl   $13,%ebx,%esi
12907         vpsrld  $10,%xmm7,%xmm6
12908         leal    (%edx,%ecx,1),%edx
12909         rorxl   $22,%ebx,%ecx
12910         xorl    %edi,%esi
12911         vpxor   %xmm5,%xmm4,%xmm4
12912         movl    (%esp),%edi
12913         xorl    %esi,%ecx
12914         xorl    %edi,%ebx
12915         vpsrlq  $17,%xmm7,%xmm5
12916         addl    24(%esp),%edx
12917         andl    %ebx,%eax
12918         addl    68(%esp),%edx
12919         vpaddd  %xmm4,%xmm2,%xmm2
12920         xorl    %edi,%eax
12921         addl    %edx,%ecx
12922         addl    8(%esp),%edx
12923         vpxor   %xmm5,%xmm6,%xmm6
12924         leal    (%eax,%ecx,1),%eax
12925         rorxl   $6,%edx,%ecx
12926         rorxl   $11,%edx,%esi
12927         vpsrlq  $19,%xmm7,%xmm7
12928         movl    %edx,8(%esp)
12929         rorxl   $25,%edx,%edi
12930         xorl    %esi,%ecx
12931         vpxor   %xmm7,%xmm6,%xmm6
12932         andnl   16(%esp),%edx,%esi
12933         xorl    %edi,%ecx
12934         andl    12(%esp),%edx
12935         vpshufd $132,%xmm6,%xmm7
12936         movl    %eax,24(%esp)
12937         orl     %esi,%edx
12938         rorxl   $2,%eax,%edi
12939         rorxl   $13,%eax,%esi
12940         vpsrldq $8,%xmm7,%xmm7
12941         leal    (%edx,%ecx,1),%edx
12942         rorxl   $22,%eax,%ecx
12943         xorl    %edi,%esi
12944         vpaddd  %xmm7,%xmm2,%xmm2
12945         movl    28(%esp),%edi
12946         xorl    %esi,%ecx
12947         xorl    %edi,%eax
12948         vpshufd $80,%xmm2,%xmm7
12949         addl    20(%esp),%edx
12950         andl    %eax,%ebx
12951         addl    72(%esp),%edx
12952         vpsrld  $10,%xmm7,%xmm6
12953         xorl    %edi,%ebx
12954         addl    %edx,%ecx
12955         addl    4(%esp),%edx
12956         vpsrlq  $17,%xmm7,%xmm5
12957         leal    (%ebx,%ecx,1),%ebx
12958         rorxl   $6,%edx,%ecx
12959         rorxl   $11,%edx,%esi
12960         vpxor   %xmm5,%xmm6,%xmm6
12961         movl    %edx,4(%esp)
12962         rorxl   $25,%edx,%edi
12963         xorl    %esi,%ecx
12964         vpsrlq  $19,%xmm7,%xmm7
12965         andnl   12(%esp),%edx,%esi
12966         xorl    %edi,%ecx
12967         andl    8(%esp),%edx
12968         vpxor   %xmm7,%xmm6,%xmm6
12969         movl    %ebx,20(%esp)
12970         orl     %esi,%edx
12971         rorxl   $2,%ebx,%edi
12972         rorxl   $13,%ebx,%esi
12973         vpshufd $232,%xmm6,%xmm7
12974         leal    (%edx,%ecx,1),%edx
12975         rorxl   $22,%ebx,%ecx
12976         xorl    %edi,%esi
12977         vpslldq $8,%xmm7,%xmm7
12978         movl    24(%esp),%edi
12979         xorl    %esi,%ecx
12980         xorl    %edi,%ebx
12981         vpaddd  %xmm7,%xmm2,%xmm2
12982         addl    16(%esp),%edx
12983         andl    %ebx,%eax
12984         addl    76(%esp),%edx
12985         vpaddd  32(%ebp),%xmm2,%xmm6
12986         xorl    %edi,%eax
12987         addl    %edx,%ecx
12988         addl    (%esp),%edx
12989         leal    (%eax,%ecx,1),%eax
12990         vmovdqa %xmm6,64(%esp)
12991         vpalignr        $4,%xmm3,%xmm0,%xmm4
12992         rorxl   $6,%edx,%ecx
12993         rorxl   $11,%edx,%esi
12994         movl    %edx,(%esp)
12995         vpalignr        $4,%xmm1,%xmm2,%xmm7
12996         rorxl   $25,%edx,%edi
12997         xorl    %esi,%ecx
12998         andnl   8(%esp),%edx,%esi
12999         vpsrld  $7,%xmm4,%xmm6
13000         xorl    %edi,%ecx
13001         andl    4(%esp),%edx
13002         movl    %eax,16(%esp)
13003         vpaddd  %xmm7,%xmm3,%xmm3
13004         orl     %esi,%edx
13005         rorxl   $2,%eax,%edi
13006         rorxl   $13,%eax,%esi
13007         vpsrld  $3,%xmm4,%xmm7
13008         leal    (%edx,%ecx,1),%edx
13009         rorxl   $22,%eax,%ecx
13010         xorl    %edi,%esi
13011         vpslld  $14,%xmm4,%xmm5
13012         movl    20(%esp),%edi
13013         xorl    %esi,%ecx
13014         xorl    %edi,%eax
13015         vpxor   %xmm6,%xmm7,%xmm4
13016         addl    12(%esp),%edx
13017         andl    %eax,%ebx
13018         addl    80(%esp),%edx
13019         vpshufd $250,%xmm2,%xmm7
13020         xorl    %edi,%ebx
13021         addl    %edx,%ecx
13022         addl    28(%esp),%edx
13023         vpsrld  $11,%xmm6,%xmm6
13024         leal    (%ebx,%ecx,1),%ebx
13025         rorxl   $6,%edx,%ecx
13026         rorxl   $11,%edx,%esi
13027         vpxor   %xmm5,%xmm4,%xmm4
13028         movl    %edx,28(%esp)
13029         rorxl   $25,%edx,%edi
13030         xorl    %esi,%ecx
13031         vpslld  $11,%xmm5,%xmm5
13032         andnl   4(%esp),%edx,%esi
13033         xorl    %edi,%ecx
13034         andl    (%esp),%edx
13035         vpxor   %xmm6,%xmm4,%xmm4
13036         movl    %ebx,12(%esp)
13037         orl     %esi,%edx
13038         rorxl   $2,%ebx,%edi
13039         rorxl   $13,%ebx,%esi
13040         vpsrld  $10,%xmm7,%xmm6
13041         leal    (%edx,%ecx,1),%edx
13042         rorxl   $22,%ebx,%ecx
13043         xorl    %edi,%esi
13044         vpxor   %xmm5,%xmm4,%xmm4
13045         movl    16(%esp),%edi
13046         xorl    %esi,%ecx
13047         xorl    %edi,%ebx
13048         vpsrlq  $17,%xmm7,%xmm5
13049         addl    8(%esp),%edx
13050         andl    %ebx,%eax
13051         addl    84(%esp),%edx
13052         vpaddd  %xmm4,%xmm3,%xmm3
13053         xorl    %edi,%eax
13054         addl    %edx,%ecx
13055         addl    24(%esp),%edx
13056         vpxor   %xmm5,%xmm6,%xmm6
13057         leal    (%eax,%ecx,1),%eax
13058         rorxl   $6,%edx,%ecx
13059         rorxl   $11,%edx,%esi
13060         vpsrlq  $19,%xmm7,%xmm7
13061         movl    %edx,24(%esp)
13062         rorxl   $25,%edx,%edi
13063         xorl    %esi,%ecx
13064         vpxor   %xmm7,%xmm6,%xmm6
13065         andnl   (%esp),%edx,%esi
13066         xorl    %edi,%ecx
13067         andl    28(%esp),%edx
13068         vpshufd $132,%xmm6,%xmm7
13069         movl    %eax,8(%esp)
13070         orl     %esi,%edx
13071         rorxl   $2,%eax,%edi
13072         rorxl   $13,%eax,%esi
13073         vpsrldq $8,%xmm7,%xmm7
13074         leal    (%edx,%ecx,1),%edx
13075         rorxl   $22,%eax,%ecx
13076         xorl    %edi,%esi
13077         vpaddd  %xmm7,%xmm3,%xmm3
13078         movl    12(%esp),%edi
13079         xorl    %esi,%ecx
13080         xorl    %edi,%eax
13081         vpshufd $80,%xmm3,%xmm7
13082         addl    4(%esp),%edx
13083         andl    %eax,%ebx
13084         addl    88(%esp),%edx
13085         vpsrld  $10,%xmm7,%xmm6
13086         xorl    %edi,%ebx
13087         addl    %edx,%ecx
13088         addl    20(%esp),%edx
13089         vpsrlq  $17,%xmm7,%xmm5
13090         leal    (%ebx,%ecx,1),%ebx
13091         rorxl   $6,%edx,%ecx
13092         rorxl   $11,%edx,%esi
13093         vpxor   %xmm5,%xmm6,%xmm6
13094         movl    %edx,20(%esp)
13095         rorxl   $25,%edx,%edi
13096         xorl    %esi,%ecx
13097         vpsrlq  $19,%xmm7,%xmm7
13098         andnl   28(%esp),%edx,%esi
13099         xorl    %edi,%ecx
13100         andl    24(%esp),%edx
13101         vpxor   %xmm7,%xmm6,%xmm6
13102         movl    %ebx,4(%esp)
13103         orl     %esi,%edx
13104         rorxl   $2,%ebx,%edi
13105         rorxl   $13,%ebx,%esi
13106         vpshufd $232,%xmm6,%xmm7
13107         leal    (%edx,%ecx,1),%edx
13108         rorxl   $22,%ebx,%ecx
13109         xorl    %edi,%esi
13110         vpslldq $8,%xmm7,%xmm7
13111         movl    8(%esp),%edi
13112         xorl    %esi,%ecx
13113         xorl    %edi,%ebx
13114         vpaddd  %xmm7,%xmm3,%xmm3
13115         addl    (%esp),%edx
13116         andl    %ebx,%eax
13117         addl    92(%esp),%edx
13118         vpaddd  48(%ebp),%xmm3,%xmm6
13119         xorl    %edi,%eax
13120         addl    %edx,%ecx
13121         addl    16(%esp),%edx
13122         leal    (%eax,%ecx,1),%eax
13123         vmovdqa %xmm6,80(%esp)
13124         cmpl    $66051,64(%ebp)
13125         jne     .L018avx_bmi_00_47
13126         rorxl   $6,%edx,%ecx
13127         rorxl   $11,%edx,%esi
13128         movl    %edx,16(%esp)
13129         rorxl   $25,%edx,%edi
13130         xorl    %esi,%ecx
13131         andnl   24(%esp),%edx,%esi
13132         xorl    %edi,%ecx
13133         andl    20(%esp),%edx
13134         movl    %eax,(%esp)
13135         orl     %esi,%edx
13136         rorxl   $2,%eax,%edi
13137         rorxl   $13,%eax,%esi
13138         leal    (%edx,%ecx,1),%edx
13139         rorxl   $22,%eax,%ecx
13140         xorl    %edi,%esi
13141         movl    4(%esp),%edi
13142         xorl    %esi,%ecx
13143         xorl    %edi,%eax
13144         addl    28(%esp),%edx
13145         andl    %eax,%ebx
13146         addl    32(%esp),%edx
13147         xorl    %edi,%ebx
13148         addl    %edx,%ecx
13149         addl    12(%esp),%edx
13150         leal    (%ebx,%ecx,1),%ebx
13151         rorxl   $6,%edx,%ecx
13152         rorxl   $11,%edx,%esi
13153         movl    %edx,12(%esp)
13154         rorxl   $25,%edx,%edi
13155         xorl    %esi,%ecx
13156         andnl   20(%esp),%edx,%esi
13157         xorl    %edi,%ecx
13158         andl    16(%esp),%edx
13159         movl    %ebx,28(%esp)
13160         orl     %esi,%edx
13161         rorxl   $2,%ebx,%edi
13162         rorxl   $13,%ebx,%esi
13163         leal    (%edx,%ecx,1),%edx
13164         rorxl   $22,%ebx,%ecx
13165         xorl    %edi,%esi
13166         movl    (%esp),%edi
13167         xorl    %esi,%ecx
13168         xorl    %edi,%ebx
13169         addl    24(%esp),%edx
13170         andl    %ebx,%eax
13171         addl    36(%esp),%edx
13172         xorl    %edi,%eax
13173         addl    %edx,%ecx
13174         addl    8(%esp),%edx
13175         leal    (%eax,%ecx,1),%eax
13176         rorxl   $6,%edx,%ecx
13177         rorxl   $11,%edx,%esi
13178         movl    %edx,8(%esp)
13179         rorxl   $25,%edx,%edi
13180         xorl    %esi,%ecx
13181         andnl   16(%esp),%edx,%esi
13182         xorl    %edi,%ecx
13183         andl    12(%esp),%edx
13184         movl    %eax,24(%esp)
13185         orl     %esi,%edx
13186         rorxl   $2,%eax,%edi
13187         rorxl   $13,%eax,%esi
13188         leal    (%edx,%ecx,1),%edx
13189         rorxl   $22,%eax,%ecx
13190         xorl    %edi,%esi
13191         movl    28(%esp),%edi
13192         xorl    %esi,%ecx
13193         xorl    %edi,%eax
13194         addl    20(%esp),%edx
13195         andl    %eax,%ebx
13196         addl    40(%esp),%edx
13197         xorl    %edi,%ebx
13198         addl    %edx,%ecx
13199         addl    4(%esp),%edx
13200         leal    (%ebx,%ecx,1),%ebx
13201         rorxl   $6,%edx,%ecx
13202         rorxl   $11,%edx,%esi
13203         movl    %edx,4(%esp)
13204         rorxl   $25,%edx,%edi
13205         xorl    %esi,%ecx
13206         andnl   12(%esp),%edx,%esi
13207         xorl    %edi,%ecx
13208         andl    8(%esp),%edx
13209         movl    %ebx,20(%esp)
13210         orl     %esi,%edx
13211         rorxl   $2,%ebx,%edi
13212         rorxl   $13,%ebx,%esi
13213         leal    (%edx,%ecx,1),%edx
13214         rorxl   $22,%ebx,%ecx
13215         xorl    %edi,%esi
13216         movl    24(%esp),%edi
13217         xorl    %esi,%ecx
13218         xorl    %edi,%ebx
13219         addl    16(%esp),%edx
13220         andl    %ebx,%eax
13221         addl    44(%esp),%edx
13222         xorl    %edi,%eax
13223         addl    %edx,%ecx
13224         addl    (%esp),%edx
13225         leal    (%eax,%ecx,1),%eax
13226         rorxl   $6,%edx,%ecx
13227         rorxl   $11,%edx,%esi
13228         movl    %edx,(%esp)
13229         rorxl   $25,%edx,%edi
13230         xorl    %esi,%ecx
13231         andnl   8(%esp),%edx,%esi
13232         xorl    %edi,%ecx
13233         andl    4(%esp),%edx
13234         movl    %eax,16(%esp)
13235         orl     %esi,%edx
13236         rorxl   $2,%eax,%edi
13237         rorxl   $13,%eax,%esi
13238         leal    (%edx,%ecx,1),%edx
13239         rorxl   $22,%eax,%ecx
13240         xorl    %edi,%esi
13241         movl    20(%esp),%edi
13242         xorl    %esi,%ecx
13243         xorl    %edi,%eax
13244         addl    12(%esp),%edx
13245         andl    %eax,%ebx
13246         addl    48(%esp),%edx
13247         xorl    %edi,%ebx
13248         addl    %edx,%ecx
13249         addl    28(%esp),%edx
13250         leal    (%ebx,%ecx,1),%ebx
13251         rorxl   $6,%edx,%ecx
13252         rorxl   $11,%edx,%esi
13253         movl    %edx,28(%esp)
13254         rorxl   $25,%edx,%edi
13255         xorl    %esi,%ecx
13256         andnl   4(%esp),%edx,%esi
13257         xorl    %edi,%ecx
13258         andl    (%esp),%edx
13259         movl    %ebx,12(%esp)
13260         orl     %esi,%edx
13261         rorxl   $2,%ebx,%edi
13262         rorxl   $13,%ebx,%esi
13263         leal    (%edx,%ecx,1),%edx
13264         rorxl   $22,%ebx,%ecx
13265         xorl    %edi,%esi
13266         movl    16(%esp),%edi
13267         xorl    %esi,%ecx
13268         xorl    %edi,%ebx
13269         addl    8(%esp),%edx
13270         andl    %ebx,%eax
13271         addl    52(%esp),%edx
13272         xorl    %edi,%eax
13273         addl    %edx,%ecx
13274         addl    24(%esp),%edx
13275         leal    (%eax,%ecx,1),%eax
13276         rorxl   $6,%edx,%ecx
13277         rorxl   $11,%edx,%esi
13278         movl    %edx,24(%esp)
13279         rorxl   $25,%edx,%edi
13280         xorl    %esi,%ecx
13281         andnl   (%esp),%edx,%esi
13282         xorl    %edi,%ecx
13283         andl    28(%esp),%edx
13284         movl    %eax,8(%esp)
13285         orl     %esi,%edx
13286         rorxl   $2,%eax,%edi
13287         rorxl   $13,%eax,%esi
13288         leal    (%edx,%ecx,1),%edx
13289         rorxl   $22,%eax,%ecx
13290         xorl    %edi,%esi
13291         movl    12(%esp),%edi
13292         xorl    %esi,%ecx
13293         xorl    %edi,%eax
13294         addl    4(%esp),%edx
13295         andl    %eax,%ebx
13296         addl    56(%esp),%edx
13297         xorl    %edi,%ebx
13298         addl    %edx,%ecx
13299         addl    20(%esp),%edx
13300         leal    (%ebx,%ecx,1),%ebx
13301         rorxl   $6,%edx,%ecx
13302         rorxl   $11,%edx,%esi
13303         movl    %edx,20(%esp)
13304         rorxl   $25,%edx,%edi
13305         xorl    %esi,%ecx
13306         andnl   28(%esp),%edx,%esi
13307         xorl    %edi,%ecx
13308         andl    24(%esp),%edx
13309         movl    %ebx,4(%esp)
13310         orl     %esi,%edx
13311         rorxl   $2,%ebx,%edi
13312         rorxl   $13,%ebx,%esi
13313         leal    (%edx,%ecx,1),%edx
13314         rorxl   $22,%ebx,%ecx
13315         xorl    %edi,%esi
13316         movl    8(%esp),%edi
13317         xorl    %esi,%ecx
13318         xorl    %edi,%ebx
13319         addl    (%esp),%edx
13320         andl    %ebx,%eax
13321         addl    60(%esp),%edx
13322         xorl    %edi,%eax
13323         addl    %edx,%ecx
13324         addl    16(%esp),%edx
13325         leal    (%eax,%ecx,1),%eax
13326         rorxl   $6,%edx,%ecx
13327         rorxl   $11,%edx,%esi
13328         movl    %edx,16(%esp)
13329         rorxl   $25,%edx,%edi
13330         xorl    %esi,%ecx
13331         andnl   24(%esp),%edx,%esi
13332         xorl    %edi,%ecx
13333         andl    20(%esp),%edx
13334         movl    %eax,(%esp)
13335         orl     %esi,%edx
13336         rorxl   $2,%eax,%edi
13337         rorxl   $13,%eax,%esi
13338         leal    (%edx,%ecx,1),%edx
13339         rorxl   $22,%eax,%ecx
13340         xorl    %edi,%esi
13341         movl    4(%esp),%edi
13342         xorl    %esi,%ecx
13343         xorl    %edi,%eax
13344         addl    28(%esp),%edx
13345         andl    %eax,%ebx
13346         addl    64(%esp),%edx
13347         xorl    %edi,%ebx
13348         addl    %edx,%ecx
13349         addl    12(%esp),%edx
13350         leal    (%ebx,%ecx,1),%ebx
13351         rorxl   $6,%edx,%ecx
13352         rorxl   $11,%edx,%esi
13353         movl    %edx,12(%esp)
13354         rorxl   $25,%edx,%edi
13355         xorl    %esi,%ecx
13356         andnl   20(%esp),%edx,%esi
13357         xorl    %edi,%ecx
13358         andl    16(%esp),%edx
13359         movl    %ebx,28(%esp)
13360         orl     %esi,%edx
13361         rorxl   $2,%ebx,%edi
13362         rorxl   $13,%ebx,%esi
13363         leal    (%edx,%ecx,1),%edx
13364         rorxl   $22,%ebx,%ecx
13365         xorl    %edi,%esi
13366         movl    (%esp),%edi
13367         xorl    %esi,%ecx
13368         xorl    %edi,%ebx
13369         addl    24(%esp),%edx
13370         andl    %ebx,%eax
13371         addl    68(%esp),%edx
13372         xorl    %edi,%eax
13373         addl    %edx,%ecx
13374         addl    8(%esp),%edx
13375         leal    (%eax,%ecx,1),%eax
13376         rorxl   $6,%edx,%ecx
13377         rorxl   $11,%edx,%esi
13378         movl    %edx,8(%esp)
13379         rorxl   $25,%edx,%edi
13380         xorl    %esi,%ecx
13381         andnl   16(%esp),%edx,%esi
13382         xorl    %edi,%ecx
13383         andl    12(%esp),%edx
13384         movl    %eax,24(%esp)
13385         orl     %esi,%edx
13386         rorxl   $2,%eax,%edi
13387         rorxl   $13,%eax,%esi
13388         leal    (%edx,%ecx,1),%edx
13389         rorxl   $22,%eax,%ecx
13390         xorl    %edi,%esi
13391         movl    28(%esp),%edi
13392         xorl    %esi,%ecx
13393         xorl    %edi,%eax
13394         addl    20(%esp),%edx
13395         andl    %eax,%ebx
13396         addl    72(%esp),%edx
13397         xorl    %edi,%ebx
13398         addl    %edx,%ecx
13399         addl    4(%esp),%edx
13400         leal    (%ebx,%ecx,1),%ebx
13401         rorxl   $6,%edx,%ecx
13402         rorxl   $11,%edx,%esi
13403         movl    %edx,4(%esp)
13404         rorxl   $25,%edx,%edi
13405         xorl    %esi,%ecx
13406         andnl   12(%esp),%edx,%esi
13407         xorl    %edi,%ecx
13408         andl    8(%esp),%edx
13409         movl    %ebx,20(%esp)
13410         orl     %esi,%edx
13411         rorxl   $2,%ebx,%edi
13412         rorxl   $13,%ebx,%esi
13413         leal    (%edx,%ecx,1),%edx
13414         rorxl   $22,%ebx,%ecx
13415         xorl    %edi,%esi
13416         movl    24(%esp),%edi
13417         xorl    %esi,%ecx
13418         xorl    %edi,%ebx
13419         addl    16(%esp),%edx
13420         andl    %ebx,%eax
13421         addl    76(%esp),%edx
13422         xorl    %edi,%eax
13423         addl    %edx,%ecx
13424         addl    (%esp),%edx
13425         leal    (%eax,%ecx,1),%eax
13426         rorxl   $6,%edx,%ecx
13427         rorxl   $11,%edx,%esi
13428         movl    %edx,(%esp)
13429         rorxl   $25,%edx,%edi
13430         xorl    %esi,%ecx
13431         andnl   8(%esp),%edx,%esi
13432         xorl    %edi,%ecx
13433         andl    4(%esp),%edx
13434         movl    %eax,16(%esp)
13435         orl     %esi,%edx
13436         rorxl   $2,%eax,%edi
13437         rorxl   $13,%eax,%esi
13438         leal    (%edx,%ecx,1),%edx
13439         rorxl   $22,%eax,%ecx
13440         xorl    %edi,%esi
13441         movl    20(%esp),%edi
13442         xorl    %esi,%ecx
13443         xorl    %edi,%eax
13444         addl    12(%esp),%edx
13445         andl    %eax,%ebx
13446         addl    80(%esp),%edx
13447         xorl    %edi,%ebx
13448         addl    %edx,%ecx
13449         addl    28(%esp),%edx
13450         leal    (%ebx,%ecx,1),%ebx
13451         rorxl   $6,%edx,%ecx
13452         rorxl   $11,%edx,%esi
13453         movl    %edx,28(%esp)
13454         rorxl   $25,%edx,%edi
13455         xorl    %esi,%ecx
13456         andnl   4(%esp),%edx,%esi
13457         xorl    %edi,%ecx
13458         andl    (%esp),%edx
13459         movl    %ebx,12(%esp)
13460         orl     %esi,%edx
13461         rorxl   $2,%ebx,%edi
13462         rorxl   $13,%ebx,%esi
13463         leal    (%edx,%ecx,1),%edx
13464         rorxl   $22,%ebx,%ecx
13465         xorl    %edi,%esi
13466         movl    16(%esp),%edi
13467         xorl    %esi,%ecx
13468         xorl    %edi,%ebx
13469         addl    8(%esp),%edx
13470         andl    %ebx,%eax
13471         addl    84(%esp),%edx
13472         xorl    %edi,%eax
13473         addl    %edx,%ecx
13474         addl    24(%esp),%edx
13475         leal    (%eax,%ecx,1),%eax
13476         rorxl   $6,%edx,%ecx
13477         rorxl   $11,%edx,%esi
13478         movl    %edx,24(%esp)
13479         rorxl   $25,%edx,%edi
13480         xorl    %esi,%ecx
13481         andnl   (%esp),%edx,%esi
13482         xorl    %edi,%ecx
13483         andl    28(%esp),%edx
13484         movl    %eax,8(%esp)
13485         orl     %esi,%edx
13486         rorxl   $2,%eax,%edi
13487         rorxl   $13,%eax,%esi
13488         leal    (%edx,%ecx,1),%edx
13489         rorxl   $22,%eax,%ecx
13490         xorl    %edi,%esi
13491         movl    12(%esp),%edi
13492         xorl    %esi,%ecx
13493         xorl    %edi,%eax
13494         addl    4(%esp),%edx
13495         andl    %eax,%ebx
13496         addl    88(%esp),%edx
13497         xorl    %edi,%ebx
13498         addl    %edx,%ecx
13499         addl    20(%esp),%edx
13500         leal    (%ebx,%ecx,1),%ebx
13501         rorxl   $6,%edx,%ecx
13502         rorxl   $11,%edx,%esi
13503         movl    %edx,20(%esp)
13504         rorxl   $25,%edx,%edi
13505         xorl    %esi,%ecx
13506         andnl   28(%esp),%edx,%esi
13507         xorl    %edi,%ecx
13508         andl    24(%esp),%edx
13509         movl    %ebx,4(%esp)
13510         orl     %esi,%edx
13511         rorxl   $2,%ebx,%edi
13512         rorxl   $13,%ebx,%esi
13513         leal    (%edx,%ecx,1),%edx
13514         rorxl   $22,%ebx,%ecx
13515         xorl    %edi,%esi
13516         movl    8(%esp),%edi
13517         xorl    %esi,%ecx
13518         xorl    %edi,%ebx
13519         addl    (%esp),%edx
13520         andl    %ebx,%eax
13521         addl    92(%esp),%edx
13522         xorl    %edi,%eax
13523         addl    %edx,%ecx
13524         addl    16(%esp),%edx
13525         leal    (%eax,%ecx,1),%eax
13526         movl    96(%esp),%esi
13527         xorl    %edi,%ebx
13528         movl    12(%esp),%ecx
13529         addl    (%esi),%eax
13530         addl    4(%esi),%ebx
13531         addl    8(%esi),%edi
13532         addl    12(%esi),%ecx
13533         movl    %eax,(%esi)
13534         movl    %ebx,4(%esi)
13535         movl    %edi,8(%esi)
13536         movl    %ecx,12(%esi)
13537         movl    %ebx,4(%esp)
13538         xorl    %edi,%ebx
13539         movl    %edi,8(%esp)
13540         movl    %ecx,12(%esp)
13541         movl    20(%esp),%edi
13542         movl    24(%esp),%ecx
13543         addl    16(%esi),%edx
13544         addl    20(%esi),%edi
13545         addl    24(%esi),%ecx
13546         movl    %edx,16(%esi)
13547         movl    %edi,20(%esi)
13548         movl    %edi,20(%esp)
13549         movl    28(%esp),%edi
13550         movl    %ecx,24(%esi)
13551         addl    28(%esi),%edi
13552         movl    %ecx,24(%esp)
13553         movl    %edi,28(%esi)
13554         movl    %edi,28(%esp)
13555         movl    100(%esp),%edi
13556         vmovdqa 64(%ebp),%xmm7
13557         subl    $192,%ebp
13558         cmpl    104(%esp),%edi
13559         jb      .L017grand_avx_bmi
13560         movl    108(%esp),%esp
13561         vzeroall
13562         popl    %edi
13563         popl    %esi
13564         popl    %ebx
13565         popl    %ebp
13566         ret
13567 .size   sha256_block_data_order,.-.L_sha256_block_data_order_begin
13568 .comm   OPENSSL_ia32cap_P,16,4
13569 #endif