xref: /freebsd/sys/crypto/openssl/i386/md5-586.S (revision 1f474190)
1/* $FreeBSD$ */
2/* Do not modify. This file is auto-generated from md5-586.pl. */
3#ifdef PIC
4.text
5.globl	md5_block_asm_data_order
6.type	md5_block_asm_data_order,@function
7.align	16
8md5_block_asm_data_order:
9.L_md5_block_asm_data_order_begin:
10	pushl	%esi
11	pushl	%edi
12	movl	12(%esp),%edi
13	movl	16(%esp),%esi
14	movl	20(%esp),%ecx
15	pushl	%ebp
16	shll	$6,%ecx
17	pushl	%ebx
18	addl	%esi,%ecx
19	subl	$64,%ecx
20	movl	(%edi),%eax
21	pushl	%ecx
22	movl	4(%edi),%ebx
23	movl	8(%edi),%ecx
24	movl	12(%edi),%edx
25.L000start:
26
27
28	movl	%ecx,%edi
29	movl	(%esi),%ebp
30
31	xorl	%edx,%edi
32	andl	%ebx,%edi
33	leal	3614090360(%eax,%ebp,1),%eax
34	xorl	%edx,%edi
35	movl	4(%esi),%ebp
36	addl	%edi,%eax
37	roll	$7,%eax
38	movl	%ebx,%edi
39	addl	%ebx,%eax
40
41	xorl	%ecx,%edi
42	andl	%eax,%edi
43	leal	3905402710(%edx,%ebp,1),%edx
44	xorl	%ecx,%edi
45	movl	8(%esi),%ebp
46	addl	%edi,%edx
47	roll	$12,%edx
48	movl	%eax,%edi
49	addl	%eax,%edx
50
51	xorl	%ebx,%edi
52	andl	%edx,%edi
53	leal	606105819(%ecx,%ebp,1),%ecx
54	xorl	%ebx,%edi
55	movl	12(%esi),%ebp
56	addl	%edi,%ecx
57	roll	$17,%ecx
58	movl	%edx,%edi
59	addl	%edx,%ecx
60
61	xorl	%eax,%edi
62	andl	%ecx,%edi
63	leal	3250441966(%ebx,%ebp,1),%ebx
64	xorl	%eax,%edi
65	movl	16(%esi),%ebp
66	addl	%edi,%ebx
67	roll	$22,%ebx
68	movl	%ecx,%edi
69	addl	%ecx,%ebx
70
71	xorl	%edx,%edi
72	andl	%ebx,%edi
73	leal	4118548399(%eax,%ebp,1),%eax
74	xorl	%edx,%edi
75	movl	20(%esi),%ebp
76	addl	%edi,%eax
77	roll	$7,%eax
78	movl	%ebx,%edi
79	addl	%ebx,%eax
80
81	xorl	%ecx,%edi
82	andl	%eax,%edi
83	leal	1200080426(%edx,%ebp,1),%edx
84	xorl	%ecx,%edi
85	movl	24(%esi),%ebp
86	addl	%edi,%edx
87	roll	$12,%edx
88	movl	%eax,%edi
89	addl	%eax,%edx
90
91	xorl	%ebx,%edi
92	andl	%edx,%edi
93	leal	2821735955(%ecx,%ebp,1),%ecx
94	xorl	%ebx,%edi
95	movl	28(%esi),%ebp
96	addl	%edi,%ecx
97	roll	$17,%ecx
98	movl	%edx,%edi
99	addl	%edx,%ecx
100
101	xorl	%eax,%edi
102	andl	%ecx,%edi
103	leal	4249261313(%ebx,%ebp,1),%ebx
104	xorl	%eax,%edi
105	movl	32(%esi),%ebp
106	addl	%edi,%ebx
107	roll	$22,%ebx
108	movl	%ecx,%edi
109	addl	%ecx,%ebx
110
111	xorl	%edx,%edi
112	andl	%ebx,%edi
113	leal	1770035416(%eax,%ebp,1),%eax
114	xorl	%edx,%edi
115	movl	36(%esi),%ebp
116	addl	%edi,%eax
117	roll	$7,%eax
118	movl	%ebx,%edi
119	addl	%ebx,%eax
120
121	xorl	%ecx,%edi
122	andl	%eax,%edi
123	leal	2336552879(%edx,%ebp,1),%edx
124	xorl	%ecx,%edi
125	movl	40(%esi),%ebp
126	addl	%edi,%edx
127	roll	$12,%edx
128	movl	%eax,%edi
129	addl	%eax,%edx
130
131	xorl	%ebx,%edi
132	andl	%edx,%edi
133	leal	4294925233(%ecx,%ebp,1),%ecx
134	xorl	%ebx,%edi
135	movl	44(%esi),%ebp
136	addl	%edi,%ecx
137	roll	$17,%ecx
138	movl	%edx,%edi
139	addl	%edx,%ecx
140
141	xorl	%eax,%edi
142	andl	%ecx,%edi
143	leal	2304563134(%ebx,%ebp,1),%ebx
144	xorl	%eax,%edi
145	movl	48(%esi),%ebp
146	addl	%edi,%ebx
147	roll	$22,%ebx
148	movl	%ecx,%edi
149	addl	%ecx,%ebx
150
151	xorl	%edx,%edi
152	andl	%ebx,%edi
153	leal	1804603682(%eax,%ebp,1),%eax
154	xorl	%edx,%edi
155	movl	52(%esi),%ebp
156	addl	%edi,%eax
157	roll	$7,%eax
158	movl	%ebx,%edi
159	addl	%ebx,%eax
160
161	xorl	%ecx,%edi
162	andl	%eax,%edi
163	leal	4254626195(%edx,%ebp,1),%edx
164	xorl	%ecx,%edi
165	movl	56(%esi),%ebp
166	addl	%edi,%edx
167	roll	$12,%edx
168	movl	%eax,%edi
169	addl	%eax,%edx
170
171	xorl	%ebx,%edi
172	andl	%edx,%edi
173	leal	2792965006(%ecx,%ebp,1),%ecx
174	xorl	%ebx,%edi
175	movl	60(%esi),%ebp
176	addl	%edi,%ecx
177	roll	$17,%ecx
178	movl	%edx,%edi
179	addl	%edx,%ecx
180
181	xorl	%eax,%edi
182	andl	%ecx,%edi
183	leal	1236535329(%ebx,%ebp,1),%ebx
184	xorl	%eax,%edi
185	movl	4(%esi),%ebp
186	addl	%edi,%ebx
187	roll	$22,%ebx
188	movl	%ecx,%edi
189	addl	%ecx,%ebx
190
191
192
193	xorl	%ebx,%edi
194	andl	%edx,%edi
195	leal	4129170786(%eax,%ebp,1),%eax
196	xorl	%ecx,%edi
197	movl	24(%esi),%ebp
198	addl	%edi,%eax
199	movl	%ebx,%edi
200	roll	$5,%eax
201	addl	%ebx,%eax
202
203	xorl	%eax,%edi
204	andl	%ecx,%edi
205	leal	3225465664(%edx,%ebp,1),%edx
206	xorl	%ebx,%edi
207	movl	44(%esi),%ebp
208	addl	%edi,%edx
209	movl	%eax,%edi
210	roll	$9,%edx
211	addl	%eax,%edx
212
213	xorl	%edx,%edi
214	andl	%ebx,%edi
215	leal	643717713(%ecx,%ebp,1),%ecx
216	xorl	%eax,%edi
217	movl	(%esi),%ebp
218	addl	%edi,%ecx
219	movl	%edx,%edi
220	roll	$14,%ecx
221	addl	%edx,%ecx
222
223	xorl	%ecx,%edi
224	andl	%eax,%edi
225	leal	3921069994(%ebx,%ebp,1),%ebx
226	xorl	%edx,%edi
227	movl	20(%esi),%ebp
228	addl	%edi,%ebx
229	movl	%ecx,%edi
230	roll	$20,%ebx
231	addl	%ecx,%ebx
232
233	xorl	%ebx,%edi
234	andl	%edx,%edi
235	leal	3593408605(%eax,%ebp,1),%eax
236	xorl	%ecx,%edi
237	movl	40(%esi),%ebp
238	addl	%edi,%eax
239	movl	%ebx,%edi
240	roll	$5,%eax
241	addl	%ebx,%eax
242
243	xorl	%eax,%edi
244	andl	%ecx,%edi
245	leal	38016083(%edx,%ebp,1),%edx
246	xorl	%ebx,%edi
247	movl	60(%esi),%ebp
248	addl	%edi,%edx
249	movl	%eax,%edi
250	roll	$9,%edx
251	addl	%eax,%edx
252
253	xorl	%edx,%edi
254	andl	%ebx,%edi
255	leal	3634488961(%ecx,%ebp,1),%ecx
256	xorl	%eax,%edi
257	movl	16(%esi),%ebp
258	addl	%edi,%ecx
259	movl	%edx,%edi
260	roll	$14,%ecx
261	addl	%edx,%ecx
262
263	xorl	%ecx,%edi
264	andl	%eax,%edi
265	leal	3889429448(%ebx,%ebp,1),%ebx
266	xorl	%edx,%edi
267	movl	36(%esi),%ebp
268	addl	%edi,%ebx
269	movl	%ecx,%edi
270	roll	$20,%ebx
271	addl	%ecx,%ebx
272
273	xorl	%ebx,%edi
274	andl	%edx,%edi
275	leal	568446438(%eax,%ebp,1),%eax
276	xorl	%ecx,%edi
277	movl	56(%esi),%ebp
278	addl	%edi,%eax
279	movl	%ebx,%edi
280	roll	$5,%eax
281	addl	%ebx,%eax
282
283	xorl	%eax,%edi
284	andl	%ecx,%edi
285	leal	3275163606(%edx,%ebp,1),%edx
286	xorl	%ebx,%edi
287	movl	12(%esi),%ebp
288	addl	%edi,%edx
289	movl	%eax,%edi
290	roll	$9,%edx
291	addl	%eax,%edx
292
293	xorl	%edx,%edi
294	andl	%ebx,%edi
295	leal	4107603335(%ecx,%ebp,1),%ecx
296	xorl	%eax,%edi
297	movl	32(%esi),%ebp
298	addl	%edi,%ecx
299	movl	%edx,%edi
300	roll	$14,%ecx
301	addl	%edx,%ecx
302
303	xorl	%ecx,%edi
304	andl	%eax,%edi
305	leal	1163531501(%ebx,%ebp,1),%ebx
306	xorl	%edx,%edi
307	movl	52(%esi),%ebp
308	addl	%edi,%ebx
309	movl	%ecx,%edi
310	roll	$20,%ebx
311	addl	%ecx,%ebx
312
313	xorl	%ebx,%edi
314	andl	%edx,%edi
315	leal	2850285829(%eax,%ebp,1),%eax
316	xorl	%ecx,%edi
317	movl	8(%esi),%ebp
318	addl	%edi,%eax
319	movl	%ebx,%edi
320	roll	$5,%eax
321	addl	%ebx,%eax
322
323	xorl	%eax,%edi
324	andl	%ecx,%edi
325	leal	4243563512(%edx,%ebp,1),%edx
326	xorl	%ebx,%edi
327	movl	28(%esi),%ebp
328	addl	%edi,%edx
329	movl	%eax,%edi
330	roll	$9,%edx
331	addl	%eax,%edx
332
333	xorl	%edx,%edi
334	andl	%ebx,%edi
335	leal	1735328473(%ecx,%ebp,1),%ecx
336	xorl	%eax,%edi
337	movl	48(%esi),%ebp
338	addl	%edi,%ecx
339	movl	%edx,%edi
340	roll	$14,%ecx
341	addl	%edx,%ecx
342
343	xorl	%ecx,%edi
344	andl	%eax,%edi
345	leal	2368359562(%ebx,%ebp,1),%ebx
346	xorl	%edx,%edi
347	movl	20(%esi),%ebp
348	addl	%edi,%ebx
349	movl	%ecx,%edi
350	roll	$20,%ebx
351	addl	%ecx,%ebx
352
353
354
355	xorl	%edx,%edi
356	xorl	%ebx,%edi
357	leal	4294588738(%eax,%ebp,1),%eax
358	addl	%edi,%eax
359	movl	32(%esi),%ebp
360	roll	$4,%eax
361	movl	%ebx,%edi
362
363	addl	%ebx,%eax
364	xorl	%ecx,%edi
365	leal	2272392833(%edx,%ebp,1),%edx
366	xorl	%eax,%edi
367	movl	44(%esi),%ebp
368	addl	%edi,%edx
369	movl	%eax,%edi
370	roll	$11,%edx
371	addl	%eax,%edx
372
373	xorl	%ebx,%edi
374	xorl	%edx,%edi
375	leal	1839030562(%ecx,%ebp,1),%ecx
376	addl	%edi,%ecx
377	movl	56(%esi),%ebp
378	roll	$16,%ecx
379	movl	%edx,%edi
380
381	addl	%edx,%ecx
382	xorl	%eax,%edi
383	leal	4259657740(%ebx,%ebp,1),%ebx
384	xorl	%ecx,%edi
385	movl	4(%esi),%ebp
386	addl	%edi,%ebx
387	movl	%ecx,%edi
388	roll	$23,%ebx
389	addl	%ecx,%ebx
390
391	xorl	%edx,%edi
392	xorl	%ebx,%edi
393	leal	2763975236(%eax,%ebp,1),%eax
394	addl	%edi,%eax
395	movl	16(%esi),%ebp
396	roll	$4,%eax
397	movl	%ebx,%edi
398
399	addl	%ebx,%eax
400	xorl	%ecx,%edi
401	leal	1272893353(%edx,%ebp,1),%edx
402	xorl	%eax,%edi
403	movl	28(%esi),%ebp
404	addl	%edi,%edx
405	movl	%eax,%edi
406	roll	$11,%edx
407	addl	%eax,%edx
408
409	xorl	%ebx,%edi
410	xorl	%edx,%edi
411	leal	4139469664(%ecx,%ebp,1),%ecx
412	addl	%edi,%ecx
413	movl	40(%esi),%ebp
414	roll	$16,%ecx
415	movl	%edx,%edi
416
417	addl	%edx,%ecx
418	xorl	%eax,%edi
419	leal	3200236656(%ebx,%ebp,1),%ebx
420	xorl	%ecx,%edi
421	movl	52(%esi),%ebp
422	addl	%edi,%ebx
423	movl	%ecx,%edi
424	roll	$23,%ebx
425	addl	%ecx,%ebx
426
427	xorl	%edx,%edi
428	xorl	%ebx,%edi
429	leal	681279174(%eax,%ebp,1),%eax
430	addl	%edi,%eax
431	movl	(%esi),%ebp
432	roll	$4,%eax
433	movl	%ebx,%edi
434
435	addl	%ebx,%eax
436	xorl	%ecx,%edi
437	leal	3936430074(%edx,%ebp,1),%edx
438	xorl	%eax,%edi
439	movl	12(%esi),%ebp
440	addl	%edi,%edx
441	movl	%eax,%edi
442	roll	$11,%edx
443	addl	%eax,%edx
444
445	xorl	%ebx,%edi
446	xorl	%edx,%edi
447	leal	3572445317(%ecx,%ebp,1),%ecx
448	addl	%edi,%ecx
449	movl	24(%esi),%ebp
450	roll	$16,%ecx
451	movl	%edx,%edi
452
453	addl	%edx,%ecx
454	xorl	%eax,%edi
455	leal	76029189(%ebx,%ebp,1),%ebx
456	xorl	%ecx,%edi
457	movl	36(%esi),%ebp
458	addl	%edi,%ebx
459	movl	%ecx,%edi
460	roll	$23,%ebx
461	addl	%ecx,%ebx
462
463	xorl	%edx,%edi
464	xorl	%ebx,%edi
465	leal	3654602809(%eax,%ebp,1),%eax
466	addl	%edi,%eax
467	movl	48(%esi),%ebp
468	roll	$4,%eax
469	movl	%ebx,%edi
470
471	addl	%ebx,%eax
472	xorl	%ecx,%edi
473	leal	3873151461(%edx,%ebp,1),%edx
474	xorl	%eax,%edi
475	movl	60(%esi),%ebp
476	addl	%edi,%edx
477	movl	%eax,%edi
478	roll	$11,%edx
479	addl	%eax,%edx
480
481	xorl	%ebx,%edi
482	xorl	%edx,%edi
483	leal	530742520(%ecx,%ebp,1),%ecx
484	addl	%edi,%ecx
485	movl	8(%esi),%ebp
486	roll	$16,%ecx
487	movl	%edx,%edi
488
489	addl	%edx,%ecx
490	xorl	%eax,%edi
491	leal	3299628645(%ebx,%ebp,1),%ebx
492	xorl	%ecx,%edi
493	movl	(%esi),%ebp
494	addl	%edi,%ebx
495	movl	$-1,%edi
496	roll	$23,%ebx
497	addl	%ecx,%ebx
498
499
500
501	xorl	%edx,%edi
502	orl	%ebx,%edi
503	leal	4096336452(%eax,%ebp,1),%eax
504	xorl	%ecx,%edi
505	movl	28(%esi),%ebp
506	addl	%edi,%eax
507	movl	$-1,%edi
508	roll	$6,%eax
509	xorl	%ecx,%edi
510	addl	%ebx,%eax
511
512	orl	%eax,%edi
513	leal	1126891415(%edx,%ebp,1),%edx
514	xorl	%ebx,%edi
515	movl	56(%esi),%ebp
516	addl	%edi,%edx
517	movl	$-1,%edi
518	roll	$10,%edx
519	xorl	%ebx,%edi
520	addl	%eax,%edx
521
522	orl	%edx,%edi
523	leal	2878612391(%ecx,%ebp,1),%ecx
524	xorl	%eax,%edi
525	movl	20(%esi),%ebp
526	addl	%edi,%ecx
527	movl	$-1,%edi
528	roll	$15,%ecx
529	xorl	%eax,%edi
530	addl	%edx,%ecx
531
532	orl	%ecx,%edi
533	leal	4237533241(%ebx,%ebp,1),%ebx
534	xorl	%edx,%edi
535	movl	48(%esi),%ebp
536	addl	%edi,%ebx
537	movl	$-1,%edi
538	roll	$21,%ebx
539	xorl	%edx,%edi
540	addl	%ecx,%ebx
541
542	orl	%ebx,%edi
543	leal	1700485571(%eax,%ebp,1),%eax
544	xorl	%ecx,%edi
545	movl	12(%esi),%ebp
546	addl	%edi,%eax
547	movl	$-1,%edi
548	roll	$6,%eax
549	xorl	%ecx,%edi
550	addl	%ebx,%eax
551
552	orl	%eax,%edi
553	leal	2399980690(%edx,%ebp,1),%edx
554	xorl	%ebx,%edi
555	movl	40(%esi),%ebp
556	addl	%edi,%edx
557	movl	$-1,%edi
558	roll	$10,%edx
559	xorl	%ebx,%edi
560	addl	%eax,%edx
561
562	orl	%edx,%edi
563	leal	4293915773(%ecx,%ebp,1),%ecx
564	xorl	%eax,%edi
565	movl	4(%esi),%ebp
566	addl	%edi,%ecx
567	movl	$-1,%edi
568	roll	$15,%ecx
569	xorl	%eax,%edi
570	addl	%edx,%ecx
571
572	orl	%ecx,%edi
573	leal	2240044497(%ebx,%ebp,1),%ebx
574	xorl	%edx,%edi
575	movl	32(%esi),%ebp
576	addl	%edi,%ebx
577	movl	$-1,%edi
578	roll	$21,%ebx
579	xorl	%edx,%edi
580	addl	%ecx,%ebx
581
582	orl	%ebx,%edi
583	leal	1873313359(%eax,%ebp,1),%eax
584	xorl	%ecx,%edi
585	movl	60(%esi),%ebp
586	addl	%edi,%eax
587	movl	$-1,%edi
588	roll	$6,%eax
589	xorl	%ecx,%edi
590	addl	%ebx,%eax
591
592	orl	%eax,%edi
593	leal	4264355552(%edx,%ebp,1),%edx
594	xorl	%ebx,%edi
595	movl	24(%esi),%ebp
596	addl	%edi,%edx
597	movl	$-1,%edi
598	roll	$10,%edx
599	xorl	%ebx,%edi
600	addl	%eax,%edx
601
602	orl	%edx,%edi
603	leal	2734768916(%ecx,%ebp,1),%ecx
604	xorl	%eax,%edi
605	movl	52(%esi),%ebp
606	addl	%edi,%ecx
607	movl	$-1,%edi
608	roll	$15,%ecx
609	xorl	%eax,%edi
610	addl	%edx,%ecx
611
612	orl	%ecx,%edi
613	leal	1309151649(%ebx,%ebp,1),%ebx
614	xorl	%edx,%edi
615	movl	16(%esi),%ebp
616	addl	%edi,%ebx
617	movl	$-1,%edi
618	roll	$21,%ebx
619	xorl	%edx,%edi
620	addl	%ecx,%ebx
621
622	orl	%ebx,%edi
623	leal	4149444226(%eax,%ebp,1),%eax
624	xorl	%ecx,%edi
625	movl	44(%esi),%ebp
626	addl	%edi,%eax
627	movl	$-1,%edi
628	roll	$6,%eax
629	xorl	%ecx,%edi
630	addl	%ebx,%eax
631
632	orl	%eax,%edi
633	leal	3174756917(%edx,%ebp,1),%edx
634	xorl	%ebx,%edi
635	movl	8(%esi),%ebp
636	addl	%edi,%edx
637	movl	$-1,%edi
638	roll	$10,%edx
639	xorl	%ebx,%edi
640	addl	%eax,%edx
641
642	orl	%edx,%edi
643	leal	718787259(%ecx,%ebp,1),%ecx
644	xorl	%eax,%edi
645	movl	36(%esi),%ebp
646	addl	%edi,%ecx
647	movl	$-1,%edi
648	roll	$15,%ecx
649	xorl	%eax,%edi
650	addl	%edx,%ecx
651
652	orl	%ecx,%edi
653	leal	3951481745(%ebx,%ebp,1),%ebx
654	xorl	%edx,%edi
655	movl	24(%esp),%ebp
656	addl	%edi,%ebx
657	addl	$64,%esi
658	roll	$21,%ebx
659	movl	(%ebp),%edi
660	addl	%ecx,%ebx
661	addl	%edi,%eax
662	movl	4(%ebp),%edi
663	addl	%edi,%ebx
664	movl	8(%ebp),%edi
665	addl	%edi,%ecx
666	movl	12(%ebp),%edi
667	addl	%edi,%edx
668	movl	%eax,(%ebp)
669	movl	%ebx,4(%ebp)
670	movl	(%esp),%edi
671	movl	%ecx,8(%ebp)
672	movl	%edx,12(%ebp)
673	cmpl	%esi,%edi
674	jae	.L000start
675	popl	%eax
676	popl	%ebx
677	popl	%ebp
678	popl	%edi
679	popl	%esi
680	ret
681.size	md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin
682#else
683.text
684.globl	md5_block_asm_data_order
685.type	md5_block_asm_data_order,@function
686.align	16
687md5_block_asm_data_order:
688.L_md5_block_asm_data_order_begin:
689	pushl	%esi
690	pushl	%edi
691	movl	12(%esp),%edi
692	movl	16(%esp),%esi
693	movl	20(%esp),%ecx
694	pushl	%ebp
695	shll	$6,%ecx
696	pushl	%ebx
697	addl	%esi,%ecx
698	subl	$64,%ecx
699	movl	(%edi),%eax
700	pushl	%ecx
701	movl	4(%edi),%ebx
702	movl	8(%edi),%ecx
703	movl	12(%edi),%edx
704.L000start:
705
706
707	movl	%ecx,%edi
708	movl	(%esi),%ebp
709
710	xorl	%edx,%edi
711	andl	%ebx,%edi
712	leal	3614090360(%eax,%ebp,1),%eax
713	xorl	%edx,%edi
714	movl	4(%esi),%ebp
715	addl	%edi,%eax
716	roll	$7,%eax
717	movl	%ebx,%edi
718	addl	%ebx,%eax
719
720	xorl	%ecx,%edi
721	andl	%eax,%edi
722	leal	3905402710(%edx,%ebp,1),%edx
723	xorl	%ecx,%edi
724	movl	8(%esi),%ebp
725	addl	%edi,%edx
726	roll	$12,%edx
727	movl	%eax,%edi
728	addl	%eax,%edx
729
730	xorl	%ebx,%edi
731	andl	%edx,%edi
732	leal	606105819(%ecx,%ebp,1),%ecx
733	xorl	%ebx,%edi
734	movl	12(%esi),%ebp
735	addl	%edi,%ecx
736	roll	$17,%ecx
737	movl	%edx,%edi
738	addl	%edx,%ecx
739
740	xorl	%eax,%edi
741	andl	%ecx,%edi
742	leal	3250441966(%ebx,%ebp,1),%ebx
743	xorl	%eax,%edi
744	movl	16(%esi),%ebp
745	addl	%edi,%ebx
746	roll	$22,%ebx
747	movl	%ecx,%edi
748	addl	%ecx,%ebx
749
750	xorl	%edx,%edi
751	andl	%ebx,%edi
752	leal	4118548399(%eax,%ebp,1),%eax
753	xorl	%edx,%edi
754	movl	20(%esi),%ebp
755	addl	%edi,%eax
756	roll	$7,%eax
757	movl	%ebx,%edi
758	addl	%ebx,%eax
759
760	xorl	%ecx,%edi
761	andl	%eax,%edi
762	leal	1200080426(%edx,%ebp,1),%edx
763	xorl	%ecx,%edi
764	movl	24(%esi),%ebp
765	addl	%edi,%edx
766	roll	$12,%edx
767	movl	%eax,%edi
768	addl	%eax,%edx
769
770	xorl	%ebx,%edi
771	andl	%edx,%edi
772	leal	2821735955(%ecx,%ebp,1),%ecx
773	xorl	%ebx,%edi
774	movl	28(%esi),%ebp
775	addl	%edi,%ecx
776	roll	$17,%ecx
777	movl	%edx,%edi
778	addl	%edx,%ecx
779
780	xorl	%eax,%edi
781	andl	%ecx,%edi
782	leal	4249261313(%ebx,%ebp,1),%ebx
783	xorl	%eax,%edi
784	movl	32(%esi),%ebp
785	addl	%edi,%ebx
786	roll	$22,%ebx
787	movl	%ecx,%edi
788	addl	%ecx,%ebx
789
790	xorl	%edx,%edi
791	andl	%ebx,%edi
792	leal	1770035416(%eax,%ebp,1),%eax
793	xorl	%edx,%edi
794	movl	36(%esi),%ebp
795	addl	%edi,%eax
796	roll	$7,%eax
797	movl	%ebx,%edi
798	addl	%ebx,%eax
799
800	xorl	%ecx,%edi
801	andl	%eax,%edi
802	leal	2336552879(%edx,%ebp,1),%edx
803	xorl	%ecx,%edi
804	movl	40(%esi),%ebp
805	addl	%edi,%edx
806	roll	$12,%edx
807	movl	%eax,%edi
808	addl	%eax,%edx
809
810	xorl	%ebx,%edi
811	andl	%edx,%edi
812	leal	4294925233(%ecx,%ebp,1),%ecx
813	xorl	%ebx,%edi
814	movl	44(%esi),%ebp
815	addl	%edi,%ecx
816	roll	$17,%ecx
817	movl	%edx,%edi
818	addl	%edx,%ecx
819
820	xorl	%eax,%edi
821	andl	%ecx,%edi
822	leal	2304563134(%ebx,%ebp,1),%ebx
823	xorl	%eax,%edi
824	movl	48(%esi),%ebp
825	addl	%edi,%ebx
826	roll	$22,%ebx
827	movl	%ecx,%edi
828	addl	%ecx,%ebx
829
830	xorl	%edx,%edi
831	andl	%ebx,%edi
832	leal	1804603682(%eax,%ebp,1),%eax
833	xorl	%edx,%edi
834	movl	52(%esi),%ebp
835	addl	%edi,%eax
836	roll	$7,%eax
837	movl	%ebx,%edi
838	addl	%ebx,%eax
839
840	xorl	%ecx,%edi
841	andl	%eax,%edi
842	leal	4254626195(%edx,%ebp,1),%edx
843	xorl	%ecx,%edi
844	movl	56(%esi),%ebp
845	addl	%edi,%edx
846	roll	$12,%edx
847	movl	%eax,%edi
848	addl	%eax,%edx
849
850	xorl	%ebx,%edi
851	andl	%edx,%edi
852	leal	2792965006(%ecx,%ebp,1),%ecx
853	xorl	%ebx,%edi
854	movl	60(%esi),%ebp
855	addl	%edi,%ecx
856	roll	$17,%ecx
857	movl	%edx,%edi
858	addl	%edx,%ecx
859
860	xorl	%eax,%edi
861	andl	%ecx,%edi
862	leal	1236535329(%ebx,%ebp,1),%ebx
863	xorl	%eax,%edi
864	movl	4(%esi),%ebp
865	addl	%edi,%ebx
866	roll	$22,%ebx
867	movl	%ecx,%edi
868	addl	%ecx,%ebx
869
870
871
872	xorl	%ebx,%edi
873	andl	%edx,%edi
874	leal	4129170786(%eax,%ebp,1),%eax
875	xorl	%ecx,%edi
876	movl	24(%esi),%ebp
877	addl	%edi,%eax
878	movl	%ebx,%edi
879	roll	$5,%eax
880	addl	%ebx,%eax
881
882	xorl	%eax,%edi
883	andl	%ecx,%edi
884	leal	3225465664(%edx,%ebp,1),%edx
885	xorl	%ebx,%edi
886	movl	44(%esi),%ebp
887	addl	%edi,%edx
888	movl	%eax,%edi
889	roll	$9,%edx
890	addl	%eax,%edx
891
892	xorl	%edx,%edi
893	andl	%ebx,%edi
894	leal	643717713(%ecx,%ebp,1),%ecx
895	xorl	%eax,%edi
896	movl	(%esi),%ebp
897	addl	%edi,%ecx
898	movl	%edx,%edi
899	roll	$14,%ecx
900	addl	%edx,%ecx
901
902	xorl	%ecx,%edi
903	andl	%eax,%edi
904	leal	3921069994(%ebx,%ebp,1),%ebx
905	xorl	%edx,%edi
906	movl	20(%esi),%ebp
907	addl	%edi,%ebx
908	movl	%ecx,%edi
909	roll	$20,%ebx
910	addl	%ecx,%ebx
911
912	xorl	%ebx,%edi
913	andl	%edx,%edi
914	leal	3593408605(%eax,%ebp,1),%eax
915	xorl	%ecx,%edi
916	movl	40(%esi),%ebp
917	addl	%edi,%eax
918	movl	%ebx,%edi
919	roll	$5,%eax
920	addl	%ebx,%eax
921
922	xorl	%eax,%edi
923	andl	%ecx,%edi
924	leal	38016083(%edx,%ebp,1),%edx
925	xorl	%ebx,%edi
926	movl	60(%esi),%ebp
927	addl	%edi,%edx
928	movl	%eax,%edi
929	roll	$9,%edx
930	addl	%eax,%edx
931
932	xorl	%edx,%edi
933	andl	%ebx,%edi
934	leal	3634488961(%ecx,%ebp,1),%ecx
935	xorl	%eax,%edi
936	movl	16(%esi),%ebp
937	addl	%edi,%ecx
938	movl	%edx,%edi
939	roll	$14,%ecx
940	addl	%edx,%ecx
941
942	xorl	%ecx,%edi
943	andl	%eax,%edi
944	leal	3889429448(%ebx,%ebp,1),%ebx
945	xorl	%edx,%edi
946	movl	36(%esi),%ebp
947	addl	%edi,%ebx
948	movl	%ecx,%edi
949	roll	$20,%ebx
950	addl	%ecx,%ebx
951
952	xorl	%ebx,%edi
953	andl	%edx,%edi
954	leal	568446438(%eax,%ebp,1),%eax
955	xorl	%ecx,%edi
956	movl	56(%esi),%ebp
957	addl	%edi,%eax
958	movl	%ebx,%edi
959	roll	$5,%eax
960	addl	%ebx,%eax
961
962	xorl	%eax,%edi
963	andl	%ecx,%edi
964	leal	3275163606(%edx,%ebp,1),%edx
965	xorl	%ebx,%edi
966	movl	12(%esi),%ebp
967	addl	%edi,%edx
968	movl	%eax,%edi
969	roll	$9,%edx
970	addl	%eax,%edx
971
972	xorl	%edx,%edi
973	andl	%ebx,%edi
974	leal	4107603335(%ecx,%ebp,1),%ecx
975	xorl	%eax,%edi
976	movl	32(%esi),%ebp
977	addl	%edi,%ecx
978	movl	%edx,%edi
979	roll	$14,%ecx
980	addl	%edx,%ecx
981
982	xorl	%ecx,%edi
983	andl	%eax,%edi
984	leal	1163531501(%ebx,%ebp,1),%ebx
985	xorl	%edx,%edi
986	movl	52(%esi),%ebp
987	addl	%edi,%ebx
988	movl	%ecx,%edi
989	roll	$20,%ebx
990	addl	%ecx,%ebx
991
992	xorl	%ebx,%edi
993	andl	%edx,%edi
994	leal	2850285829(%eax,%ebp,1),%eax
995	xorl	%ecx,%edi
996	movl	8(%esi),%ebp
997	addl	%edi,%eax
998	movl	%ebx,%edi
999	roll	$5,%eax
1000	addl	%ebx,%eax
1001
1002	xorl	%eax,%edi
1003	andl	%ecx,%edi
1004	leal	4243563512(%edx,%ebp,1),%edx
1005	xorl	%ebx,%edi
1006	movl	28(%esi),%ebp
1007	addl	%edi,%edx
1008	movl	%eax,%edi
1009	roll	$9,%edx
1010	addl	%eax,%edx
1011
1012	xorl	%edx,%edi
1013	andl	%ebx,%edi
1014	leal	1735328473(%ecx,%ebp,1),%ecx
1015	xorl	%eax,%edi
1016	movl	48(%esi),%ebp
1017	addl	%edi,%ecx
1018	movl	%edx,%edi
1019	roll	$14,%ecx
1020	addl	%edx,%ecx
1021
1022	xorl	%ecx,%edi
1023	andl	%eax,%edi
1024	leal	2368359562(%ebx,%ebp,1),%ebx
1025	xorl	%edx,%edi
1026	movl	20(%esi),%ebp
1027	addl	%edi,%ebx
1028	movl	%ecx,%edi
1029	roll	$20,%ebx
1030	addl	%ecx,%ebx
1031
1032
1033
1034	xorl	%edx,%edi
1035	xorl	%ebx,%edi
1036	leal	4294588738(%eax,%ebp,1),%eax
1037	addl	%edi,%eax
1038	movl	32(%esi),%ebp
1039	roll	$4,%eax
1040	movl	%ebx,%edi
1041
1042	addl	%ebx,%eax
1043	xorl	%ecx,%edi
1044	leal	2272392833(%edx,%ebp,1),%edx
1045	xorl	%eax,%edi
1046	movl	44(%esi),%ebp
1047	addl	%edi,%edx
1048	movl	%eax,%edi
1049	roll	$11,%edx
1050	addl	%eax,%edx
1051
1052	xorl	%ebx,%edi
1053	xorl	%edx,%edi
1054	leal	1839030562(%ecx,%ebp,1),%ecx
1055	addl	%edi,%ecx
1056	movl	56(%esi),%ebp
1057	roll	$16,%ecx
1058	movl	%edx,%edi
1059
1060	addl	%edx,%ecx
1061	xorl	%eax,%edi
1062	leal	4259657740(%ebx,%ebp,1),%ebx
1063	xorl	%ecx,%edi
1064	movl	4(%esi),%ebp
1065	addl	%edi,%ebx
1066	movl	%ecx,%edi
1067	roll	$23,%ebx
1068	addl	%ecx,%ebx
1069
1070	xorl	%edx,%edi
1071	xorl	%ebx,%edi
1072	leal	2763975236(%eax,%ebp,1),%eax
1073	addl	%edi,%eax
1074	movl	16(%esi),%ebp
1075	roll	$4,%eax
1076	movl	%ebx,%edi
1077
1078	addl	%ebx,%eax
1079	xorl	%ecx,%edi
1080	leal	1272893353(%edx,%ebp,1),%edx
1081	xorl	%eax,%edi
1082	movl	28(%esi),%ebp
1083	addl	%edi,%edx
1084	movl	%eax,%edi
1085	roll	$11,%edx
1086	addl	%eax,%edx
1087
1088	xorl	%ebx,%edi
1089	xorl	%edx,%edi
1090	leal	4139469664(%ecx,%ebp,1),%ecx
1091	addl	%edi,%ecx
1092	movl	40(%esi),%ebp
1093	roll	$16,%ecx
1094	movl	%edx,%edi
1095
1096	addl	%edx,%ecx
1097	xorl	%eax,%edi
1098	leal	3200236656(%ebx,%ebp,1),%ebx
1099	xorl	%ecx,%edi
1100	movl	52(%esi),%ebp
1101	addl	%edi,%ebx
1102	movl	%ecx,%edi
1103	roll	$23,%ebx
1104	addl	%ecx,%ebx
1105
1106	xorl	%edx,%edi
1107	xorl	%ebx,%edi
1108	leal	681279174(%eax,%ebp,1),%eax
1109	addl	%edi,%eax
1110	movl	(%esi),%ebp
1111	roll	$4,%eax
1112	movl	%ebx,%edi
1113
1114	addl	%ebx,%eax
1115	xorl	%ecx,%edi
1116	leal	3936430074(%edx,%ebp,1),%edx
1117	xorl	%eax,%edi
1118	movl	12(%esi),%ebp
1119	addl	%edi,%edx
1120	movl	%eax,%edi
1121	roll	$11,%edx
1122	addl	%eax,%edx
1123
1124	xorl	%ebx,%edi
1125	xorl	%edx,%edi
1126	leal	3572445317(%ecx,%ebp,1),%ecx
1127	addl	%edi,%ecx
1128	movl	24(%esi),%ebp
1129	roll	$16,%ecx
1130	movl	%edx,%edi
1131
1132	addl	%edx,%ecx
1133	xorl	%eax,%edi
1134	leal	76029189(%ebx,%ebp,1),%ebx
1135	xorl	%ecx,%edi
1136	movl	36(%esi),%ebp
1137	addl	%edi,%ebx
1138	movl	%ecx,%edi
1139	roll	$23,%ebx
1140	addl	%ecx,%ebx
1141
1142	xorl	%edx,%edi
1143	xorl	%ebx,%edi
1144	leal	3654602809(%eax,%ebp,1),%eax
1145	addl	%edi,%eax
1146	movl	48(%esi),%ebp
1147	roll	$4,%eax
1148	movl	%ebx,%edi
1149
1150	addl	%ebx,%eax
1151	xorl	%ecx,%edi
1152	leal	3873151461(%edx,%ebp,1),%edx
1153	xorl	%eax,%edi
1154	movl	60(%esi),%ebp
1155	addl	%edi,%edx
1156	movl	%eax,%edi
1157	roll	$11,%edx
1158	addl	%eax,%edx
1159
1160	xorl	%ebx,%edi
1161	xorl	%edx,%edi
1162	leal	530742520(%ecx,%ebp,1),%ecx
1163	addl	%edi,%ecx
1164	movl	8(%esi),%ebp
1165	roll	$16,%ecx
1166	movl	%edx,%edi
1167
1168	addl	%edx,%ecx
1169	xorl	%eax,%edi
1170	leal	3299628645(%ebx,%ebp,1),%ebx
1171	xorl	%ecx,%edi
1172	movl	(%esi),%ebp
1173	addl	%edi,%ebx
1174	movl	$-1,%edi
1175	roll	$23,%ebx
1176	addl	%ecx,%ebx
1177
1178
1179
1180	xorl	%edx,%edi
1181	orl	%ebx,%edi
1182	leal	4096336452(%eax,%ebp,1),%eax
1183	xorl	%ecx,%edi
1184	movl	28(%esi),%ebp
1185	addl	%edi,%eax
1186	movl	$-1,%edi
1187	roll	$6,%eax
1188	xorl	%ecx,%edi
1189	addl	%ebx,%eax
1190
1191	orl	%eax,%edi
1192	leal	1126891415(%edx,%ebp,1),%edx
1193	xorl	%ebx,%edi
1194	movl	56(%esi),%ebp
1195	addl	%edi,%edx
1196	movl	$-1,%edi
1197	roll	$10,%edx
1198	xorl	%ebx,%edi
1199	addl	%eax,%edx
1200
1201	orl	%edx,%edi
1202	leal	2878612391(%ecx,%ebp,1),%ecx
1203	xorl	%eax,%edi
1204	movl	20(%esi),%ebp
1205	addl	%edi,%ecx
1206	movl	$-1,%edi
1207	roll	$15,%ecx
1208	xorl	%eax,%edi
1209	addl	%edx,%ecx
1210
1211	orl	%ecx,%edi
1212	leal	4237533241(%ebx,%ebp,1),%ebx
1213	xorl	%edx,%edi
1214	movl	48(%esi),%ebp
1215	addl	%edi,%ebx
1216	movl	$-1,%edi
1217	roll	$21,%ebx
1218	xorl	%edx,%edi
1219	addl	%ecx,%ebx
1220
1221	orl	%ebx,%edi
1222	leal	1700485571(%eax,%ebp,1),%eax
1223	xorl	%ecx,%edi
1224	movl	12(%esi),%ebp
1225	addl	%edi,%eax
1226	movl	$-1,%edi
1227	roll	$6,%eax
1228	xorl	%ecx,%edi
1229	addl	%ebx,%eax
1230
1231	orl	%eax,%edi
1232	leal	2399980690(%edx,%ebp,1),%edx
1233	xorl	%ebx,%edi
1234	movl	40(%esi),%ebp
1235	addl	%edi,%edx
1236	movl	$-1,%edi
1237	roll	$10,%edx
1238	xorl	%ebx,%edi
1239	addl	%eax,%edx
1240
1241	orl	%edx,%edi
1242	leal	4293915773(%ecx,%ebp,1),%ecx
1243	xorl	%eax,%edi
1244	movl	4(%esi),%ebp
1245	addl	%edi,%ecx
1246	movl	$-1,%edi
1247	roll	$15,%ecx
1248	xorl	%eax,%edi
1249	addl	%edx,%ecx
1250
1251	orl	%ecx,%edi
1252	leal	2240044497(%ebx,%ebp,1),%ebx
1253	xorl	%edx,%edi
1254	movl	32(%esi),%ebp
1255	addl	%edi,%ebx
1256	movl	$-1,%edi
1257	roll	$21,%ebx
1258	xorl	%edx,%edi
1259	addl	%ecx,%ebx
1260
1261	orl	%ebx,%edi
1262	leal	1873313359(%eax,%ebp,1),%eax
1263	xorl	%ecx,%edi
1264	movl	60(%esi),%ebp
1265	addl	%edi,%eax
1266	movl	$-1,%edi
1267	roll	$6,%eax
1268	xorl	%ecx,%edi
1269	addl	%ebx,%eax
1270
1271	orl	%eax,%edi
1272	leal	4264355552(%edx,%ebp,1),%edx
1273	xorl	%ebx,%edi
1274	movl	24(%esi),%ebp
1275	addl	%edi,%edx
1276	movl	$-1,%edi
1277	roll	$10,%edx
1278	xorl	%ebx,%edi
1279	addl	%eax,%edx
1280
1281	orl	%edx,%edi
1282	leal	2734768916(%ecx,%ebp,1),%ecx
1283	xorl	%eax,%edi
1284	movl	52(%esi),%ebp
1285	addl	%edi,%ecx
1286	movl	$-1,%edi
1287	roll	$15,%ecx
1288	xorl	%eax,%edi
1289	addl	%edx,%ecx
1290
1291	orl	%ecx,%edi
1292	leal	1309151649(%ebx,%ebp,1),%ebx
1293	xorl	%edx,%edi
1294	movl	16(%esi),%ebp
1295	addl	%edi,%ebx
1296	movl	$-1,%edi
1297	roll	$21,%ebx
1298	xorl	%edx,%edi
1299	addl	%ecx,%ebx
1300
1301	orl	%ebx,%edi
1302	leal	4149444226(%eax,%ebp,1),%eax
1303	xorl	%ecx,%edi
1304	movl	44(%esi),%ebp
1305	addl	%edi,%eax
1306	movl	$-1,%edi
1307	roll	$6,%eax
1308	xorl	%ecx,%edi
1309	addl	%ebx,%eax
1310
1311	orl	%eax,%edi
1312	leal	3174756917(%edx,%ebp,1),%edx
1313	xorl	%ebx,%edi
1314	movl	8(%esi),%ebp
1315	addl	%edi,%edx
1316	movl	$-1,%edi
1317	roll	$10,%edx
1318	xorl	%ebx,%edi
1319	addl	%eax,%edx
1320
1321	orl	%edx,%edi
1322	leal	718787259(%ecx,%ebp,1),%ecx
1323	xorl	%eax,%edi
1324	movl	36(%esi),%ebp
1325	addl	%edi,%ecx
1326	movl	$-1,%edi
1327	roll	$15,%ecx
1328	xorl	%eax,%edi
1329	addl	%edx,%ecx
1330
1331	orl	%ecx,%edi
1332	leal	3951481745(%ebx,%ebp,1),%ebx
1333	xorl	%edx,%edi
1334	movl	24(%esp),%ebp
1335	addl	%edi,%ebx
1336	addl	$64,%esi
1337	roll	$21,%ebx
1338	movl	(%ebp),%edi
1339	addl	%ecx,%ebx
1340	addl	%edi,%eax
1341	movl	4(%ebp),%edi
1342	addl	%edi,%ebx
1343	movl	8(%ebp),%edi
1344	addl	%edi,%ecx
1345	movl	12(%ebp),%edi
1346	addl	%edi,%edx
1347	movl	%eax,(%ebp)
1348	movl	%ebx,4(%ebp)
1349	movl	(%esp),%edi
1350	movl	%ecx,8(%ebp)
1351	movl	%edx,12(%ebp)
1352	cmpl	%esi,%edi
1353	jae	.L000start
1354	popl	%eax
1355	popl	%ebx
1356	popl	%ebp
1357	popl	%edi
1358	popl	%esi
1359	ret
1360.size	md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin
1361#endif
1362