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