1#if defined(__i386__)
2.file	"src/crypto/md5/asm/md5-586.S"
3.text
4.globl	md5_block_asm_data_order
5.hidden	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	addl	%edi,%eax
36	movl	%ebx,%edi
37	roll	$7,%eax
38	movl	4(%esi),%ebp
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	addl	%edi,%edx
46	movl	%eax,%edi
47	roll	$12,%edx
48	movl	8(%esi),%ebp
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	addl	%edi,%ecx
56	movl	%edx,%edi
57	roll	$17,%ecx
58	movl	12(%esi),%ebp
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	addl	%edi,%ebx
66	movl	%ecx,%edi
67	roll	$22,%ebx
68	movl	16(%esi),%ebp
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	addl	%edi,%eax
76	movl	%ebx,%edi
77	roll	$7,%eax
78	movl	20(%esi),%ebp
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	addl	%edi,%edx
86	movl	%eax,%edi
87	roll	$12,%edx
88	movl	24(%esi),%ebp
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	addl	%edi,%ecx
96	movl	%edx,%edi
97	roll	$17,%ecx
98	movl	28(%esi),%ebp
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	addl	%edi,%ebx
106	movl	%ecx,%edi
107	roll	$22,%ebx
108	movl	32(%esi),%ebp
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	addl	%edi,%eax
116	movl	%ebx,%edi
117	roll	$7,%eax
118	movl	36(%esi),%ebp
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	addl	%edi,%edx
126	movl	%eax,%edi
127	roll	$12,%edx
128	movl	40(%esi),%ebp
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	addl	%edi,%ecx
136	movl	%edx,%edi
137	roll	$17,%ecx
138	movl	44(%esi),%ebp
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	addl	%edi,%ebx
146	movl	%ecx,%edi
147	roll	$22,%ebx
148	movl	48(%esi),%ebp
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	addl	%edi,%eax
156	movl	%ebx,%edi
157	roll	$7,%eax
158	movl	52(%esi),%ebp
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	addl	%edi,%edx
166	movl	%eax,%edi
167	roll	$12,%edx
168	movl	56(%esi),%ebp
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	addl	%edi,%ecx
176	movl	%edx,%edi
177	roll	$17,%ecx
178	movl	60(%esi),%ebp
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	addl	%edi,%ebx
186	movl	%ecx,%edi
187	roll	$22,%ebx
188	movl	4(%esi),%ebp
189	addl	%ecx,%ebx
190
191
192
193	leal	4129170786(%eax,%ebp,1),%eax
194	xorl	%ebx,%edi
195	andl	%edx,%edi
196	movl	24(%esi),%ebp
197	xorl	%ecx,%edi
198	addl	%edi,%eax
199	movl	%ebx,%edi
200	roll	$5,%eax
201	addl	%ebx,%eax
202
203	leal	3225465664(%edx,%ebp,1),%edx
204	xorl	%eax,%edi
205	andl	%ecx,%edi
206	movl	44(%esi),%ebp
207	xorl	%ebx,%edi
208	addl	%edi,%edx
209	movl	%eax,%edi
210	roll	$9,%edx
211	addl	%eax,%edx
212
213	leal	643717713(%ecx,%ebp,1),%ecx
214	xorl	%edx,%edi
215	andl	%ebx,%edi
216	movl	(%esi),%ebp
217	xorl	%eax,%edi
218	addl	%edi,%ecx
219	movl	%edx,%edi
220	roll	$14,%ecx
221	addl	%edx,%ecx
222
223	leal	3921069994(%ebx,%ebp,1),%ebx
224	xorl	%ecx,%edi
225	andl	%eax,%edi
226	movl	20(%esi),%ebp
227	xorl	%edx,%edi
228	addl	%edi,%ebx
229	movl	%ecx,%edi
230	roll	$20,%ebx
231	addl	%ecx,%ebx
232
233	leal	3593408605(%eax,%ebp,1),%eax
234	xorl	%ebx,%edi
235	andl	%edx,%edi
236	movl	40(%esi),%ebp
237	xorl	%ecx,%edi
238	addl	%edi,%eax
239	movl	%ebx,%edi
240	roll	$5,%eax
241	addl	%ebx,%eax
242
243	leal	38016083(%edx,%ebp,1),%edx
244	xorl	%eax,%edi
245	andl	%ecx,%edi
246	movl	60(%esi),%ebp
247	xorl	%ebx,%edi
248	addl	%edi,%edx
249	movl	%eax,%edi
250	roll	$9,%edx
251	addl	%eax,%edx
252
253	leal	3634488961(%ecx,%ebp,1),%ecx
254	xorl	%edx,%edi
255	andl	%ebx,%edi
256	movl	16(%esi),%ebp
257	xorl	%eax,%edi
258	addl	%edi,%ecx
259	movl	%edx,%edi
260	roll	$14,%ecx
261	addl	%edx,%ecx
262
263	leal	3889429448(%ebx,%ebp,1),%ebx
264	xorl	%ecx,%edi
265	andl	%eax,%edi
266	movl	36(%esi),%ebp
267	xorl	%edx,%edi
268	addl	%edi,%ebx
269	movl	%ecx,%edi
270	roll	$20,%ebx
271	addl	%ecx,%ebx
272
273	leal	568446438(%eax,%ebp,1),%eax
274	xorl	%ebx,%edi
275	andl	%edx,%edi
276	movl	56(%esi),%ebp
277	xorl	%ecx,%edi
278	addl	%edi,%eax
279	movl	%ebx,%edi
280	roll	$5,%eax
281	addl	%ebx,%eax
282
283	leal	3275163606(%edx,%ebp,1),%edx
284	xorl	%eax,%edi
285	andl	%ecx,%edi
286	movl	12(%esi),%ebp
287	xorl	%ebx,%edi
288	addl	%edi,%edx
289	movl	%eax,%edi
290	roll	$9,%edx
291	addl	%eax,%edx
292
293	leal	4107603335(%ecx,%ebp,1),%ecx
294	xorl	%edx,%edi
295	andl	%ebx,%edi
296	movl	32(%esi),%ebp
297	xorl	%eax,%edi
298	addl	%edi,%ecx
299	movl	%edx,%edi
300	roll	$14,%ecx
301	addl	%edx,%ecx
302
303	leal	1163531501(%ebx,%ebp,1),%ebx
304	xorl	%ecx,%edi
305	andl	%eax,%edi
306	movl	52(%esi),%ebp
307	xorl	%edx,%edi
308	addl	%edi,%ebx
309	movl	%ecx,%edi
310	roll	$20,%ebx
311	addl	%ecx,%ebx
312
313	leal	2850285829(%eax,%ebp,1),%eax
314	xorl	%ebx,%edi
315	andl	%edx,%edi
316	movl	8(%esi),%ebp
317	xorl	%ecx,%edi
318	addl	%edi,%eax
319	movl	%ebx,%edi
320	roll	$5,%eax
321	addl	%ebx,%eax
322
323	leal	4243563512(%edx,%ebp,1),%edx
324	xorl	%eax,%edi
325	andl	%ecx,%edi
326	movl	28(%esi),%ebp
327	xorl	%ebx,%edi
328	addl	%edi,%edx
329	movl	%eax,%edi
330	roll	$9,%edx
331	addl	%eax,%edx
332
333	leal	1735328473(%ecx,%ebp,1),%ecx
334	xorl	%edx,%edi
335	andl	%ebx,%edi
336	movl	48(%esi),%ebp
337	xorl	%eax,%edi
338	addl	%edi,%ecx
339	movl	%edx,%edi
340	roll	$14,%ecx
341	addl	%edx,%ecx
342
343	leal	2368359562(%ebx,%ebp,1),%ebx
344	xorl	%ecx,%edi
345	andl	%eax,%edi
346	movl	20(%esi),%ebp
347	xorl	%edx,%edi
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	roll	$4,%eax
360	movl	32(%esi),%ebp
361	movl	%ebx,%edi
362
363	leal	2272392833(%edx,%ebp,1),%edx
364	addl	%ebx,%eax
365	xorl	%ecx,%edi
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	roll	$16,%ecx
378	movl	56(%esi),%ebp
379	movl	%edx,%edi
380
381	leal	4259657740(%ebx,%ebp,1),%ebx
382	addl	%edx,%ecx
383	xorl	%eax,%edi
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	roll	$4,%eax
396	movl	16(%esi),%ebp
397	movl	%ebx,%edi
398
399	leal	1272893353(%edx,%ebp,1),%edx
400	addl	%ebx,%eax
401	xorl	%ecx,%edi
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	roll	$16,%ecx
414	movl	40(%esi),%ebp
415	movl	%edx,%edi
416
417	leal	3200236656(%ebx,%ebp,1),%ebx
418	addl	%edx,%ecx
419	xorl	%eax,%edi
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	roll	$4,%eax
432	movl	(%esi),%ebp
433	movl	%ebx,%edi
434
435	leal	3936430074(%edx,%ebp,1),%edx
436	addl	%ebx,%eax
437	xorl	%ecx,%edi
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	roll	$16,%ecx
450	movl	24(%esi),%ebp
451	movl	%edx,%edi
452
453	leal	76029189(%ebx,%ebp,1),%ebx
454	addl	%edx,%ecx
455	xorl	%eax,%edi
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	roll	$4,%eax
468	movl	48(%esi),%ebp
469	movl	%ebx,%edi
470
471	leal	3873151461(%edx,%ebp,1),%edx
472	addl	%ebx,%eax
473	xorl	%ecx,%edi
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	roll	$16,%ecx
486	movl	8(%esi),%ebp
487	movl	%edx,%edi
488
489	leal	3299628645(%ebx,%ebp,1),%ebx
490	addl	%edx,%ecx
491	xorl	%eax,%edi
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#endif
683