1#include <machine/asm.h>
2.text
3.globl	md5_block_asm_data_order
4.type	md5_block_asm_data_order,@function
5.align	16
6md5_block_asm_data_order:
7.L_md5_block_asm_data_order_begin:
8	pushl	%esi
9	pushl	%edi
10	movl	12(%esp),%edi
11	movl	16(%esp),%esi
12	movl	20(%esp),%ecx
13	pushl	%ebp
14	shll	$6,%ecx
15	pushl	%ebx
16	addl	%esi,%ecx
17	subl	$64,%ecx
18	movl	(%edi),%eax
19	pushl	%ecx
20	movl	4(%edi),%ebx
21	movl	8(%edi),%ecx
22	movl	12(%edi),%edx
23.L000start:
24
25
26	movl	%ecx,%edi
27	movl	(%esi),%ebp
28
29	xorl	%edx,%edi
30	andl	%ebx,%edi
31	leal	3614090360(%eax,%ebp,1),%eax
32	xorl	%edx,%edi
33	movl	4(%esi),%ebp
34	addl	%edi,%eax
35	roll	$7,%eax
36	movl	%ebx,%edi
37	addl	%ebx,%eax
38
39	xorl	%ecx,%edi
40	andl	%eax,%edi
41	leal	3905402710(%edx,%ebp,1),%edx
42	xorl	%ecx,%edi
43	movl	8(%esi),%ebp
44	addl	%edi,%edx
45	roll	$12,%edx
46	movl	%eax,%edi
47	addl	%eax,%edx
48
49	xorl	%ebx,%edi
50	andl	%edx,%edi
51	leal	606105819(%ecx,%ebp,1),%ecx
52	xorl	%ebx,%edi
53	movl	12(%esi),%ebp
54	addl	%edi,%ecx
55	roll	$17,%ecx
56	movl	%edx,%edi
57	addl	%edx,%ecx
58
59	xorl	%eax,%edi
60	andl	%ecx,%edi
61	leal	3250441966(%ebx,%ebp,1),%ebx
62	xorl	%eax,%edi
63	movl	16(%esi),%ebp
64	addl	%edi,%ebx
65	roll	$22,%ebx
66	movl	%ecx,%edi
67	addl	%ecx,%ebx
68
69	xorl	%edx,%edi
70	andl	%ebx,%edi
71	leal	4118548399(%eax,%ebp,1),%eax
72	xorl	%edx,%edi
73	movl	20(%esi),%ebp
74	addl	%edi,%eax
75	roll	$7,%eax
76	movl	%ebx,%edi
77	addl	%ebx,%eax
78
79	xorl	%ecx,%edi
80	andl	%eax,%edi
81	leal	1200080426(%edx,%ebp,1),%edx
82	xorl	%ecx,%edi
83	movl	24(%esi),%ebp
84	addl	%edi,%edx
85	roll	$12,%edx
86	movl	%eax,%edi
87	addl	%eax,%edx
88
89	xorl	%ebx,%edi
90	andl	%edx,%edi
91	leal	2821735955(%ecx,%ebp,1),%ecx
92	xorl	%ebx,%edi
93	movl	28(%esi),%ebp
94	addl	%edi,%ecx
95	roll	$17,%ecx
96	movl	%edx,%edi
97	addl	%edx,%ecx
98
99	xorl	%eax,%edi
100	andl	%ecx,%edi
101	leal	4249261313(%ebx,%ebp,1),%ebx
102	xorl	%eax,%edi
103	movl	32(%esi),%ebp
104	addl	%edi,%ebx
105	roll	$22,%ebx
106	movl	%ecx,%edi
107	addl	%ecx,%ebx
108
109	xorl	%edx,%edi
110	andl	%ebx,%edi
111	leal	1770035416(%eax,%ebp,1),%eax
112	xorl	%edx,%edi
113	movl	36(%esi),%ebp
114	addl	%edi,%eax
115	roll	$7,%eax
116	movl	%ebx,%edi
117	addl	%ebx,%eax
118
119	xorl	%ecx,%edi
120	andl	%eax,%edi
121	leal	2336552879(%edx,%ebp,1),%edx
122	xorl	%ecx,%edi
123	movl	40(%esi),%ebp
124	addl	%edi,%edx
125	roll	$12,%edx
126	movl	%eax,%edi
127	addl	%eax,%edx
128
129	xorl	%ebx,%edi
130	andl	%edx,%edi
131	leal	4294925233(%ecx,%ebp,1),%ecx
132	xorl	%ebx,%edi
133	movl	44(%esi),%ebp
134	addl	%edi,%ecx
135	roll	$17,%ecx
136	movl	%edx,%edi
137	addl	%edx,%ecx
138
139	xorl	%eax,%edi
140	andl	%ecx,%edi
141	leal	2304563134(%ebx,%ebp,1),%ebx
142	xorl	%eax,%edi
143	movl	48(%esi),%ebp
144	addl	%edi,%ebx
145	roll	$22,%ebx
146	movl	%ecx,%edi
147	addl	%ecx,%ebx
148
149	xorl	%edx,%edi
150	andl	%ebx,%edi
151	leal	1804603682(%eax,%ebp,1),%eax
152	xorl	%edx,%edi
153	movl	52(%esi),%ebp
154	addl	%edi,%eax
155	roll	$7,%eax
156	movl	%ebx,%edi
157	addl	%ebx,%eax
158
159	xorl	%ecx,%edi
160	andl	%eax,%edi
161	leal	4254626195(%edx,%ebp,1),%edx
162	xorl	%ecx,%edi
163	movl	56(%esi),%ebp
164	addl	%edi,%edx
165	roll	$12,%edx
166	movl	%eax,%edi
167	addl	%eax,%edx
168
169	xorl	%ebx,%edi
170	andl	%edx,%edi
171	leal	2792965006(%ecx,%ebp,1),%ecx
172	xorl	%ebx,%edi
173	movl	60(%esi),%ebp
174	addl	%edi,%ecx
175	roll	$17,%ecx
176	movl	%edx,%edi
177	addl	%edx,%ecx
178
179	xorl	%eax,%edi
180	andl	%ecx,%edi
181	leal	1236535329(%ebx,%ebp,1),%ebx
182	xorl	%eax,%edi
183	movl	4(%esi),%ebp
184	addl	%edi,%ebx
185	roll	$22,%ebx
186	movl	%ecx,%edi
187	addl	%ecx,%ebx
188
189
190
191	xorl	%ebx,%edi
192	andl	%edx,%edi
193	leal	4129170786(%eax,%ebp,1),%eax
194	xorl	%ecx,%edi
195	movl	24(%esi),%ebp
196	addl	%edi,%eax
197	movl	%ebx,%edi
198	roll	$5,%eax
199	addl	%ebx,%eax
200
201	xorl	%eax,%edi
202	andl	%ecx,%edi
203	leal	3225465664(%edx,%ebp,1),%edx
204	xorl	%ebx,%edi
205	movl	44(%esi),%ebp
206	addl	%edi,%edx
207	movl	%eax,%edi
208	roll	$9,%edx
209	addl	%eax,%edx
210
211	xorl	%edx,%edi
212	andl	%ebx,%edi
213	leal	643717713(%ecx,%ebp,1),%ecx
214	xorl	%eax,%edi
215	movl	(%esi),%ebp
216	addl	%edi,%ecx
217	movl	%edx,%edi
218	roll	$14,%ecx
219	addl	%edx,%ecx
220
221	xorl	%ecx,%edi
222	andl	%eax,%edi
223	leal	3921069994(%ebx,%ebp,1),%ebx
224	xorl	%edx,%edi
225	movl	20(%esi),%ebp
226	addl	%edi,%ebx
227	movl	%ecx,%edi
228	roll	$20,%ebx
229	addl	%ecx,%ebx
230
231	xorl	%ebx,%edi
232	andl	%edx,%edi
233	leal	3593408605(%eax,%ebp,1),%eax
234	xorl	%ecx,%edi
235	movl	40(%esi),%ebp
236	addl	%edi,%eax
237	movl	%ebx,%edi
238	roll	$5,%eax
239	addl	%ebx,%eax
240
241	xorl	%eax,%edi
242	andl	%ecx,%edi
243	leal	38016083(%edx,%ebp,1),%edx
244	xorl	%ebx,%edi
245	movl	60(%esi),%ebp
246	addl	%edi,%edx
247	movl	%eax,%edi
248	roll	$9,%edx
249	addl	%eax,%edx
250
251	xorl	%edx,%edi
252	andl	%ebx,%edi
253	leal	3634488961(%ecx,%ebp,1),%ecx
254	xorl	%eax,%edi
255	movl	16(%esi),%ebp
256	addl	%edi,%ecx
257	movl	%edx,%edi
258	roll	$14,%ecx
259	addl	%edx,%ecx
260
261	xorl	%ecx,%edi
262	andl	%eax,%edi
263	leal	3889429448(%ebx,%ebp,1),%ebx
264	xorl	%edx,%edi
265	movl	36(%esi),%ebp
266	addl	%edi,%ebx
267	movl	%ecx,%edi
268	roll	$20,%ebx
269	addl	%ecx,%ebx
270
271	xorl	%ebx,%edi
272	andl	%edx,%edi
273	leal	568446438(%eax,%ebp,1),%eax
274	xorl	%ecx,%edi
275	movl	56(%esi),%ebp
276	addl	%edi,%eax
277	movl	%ebx,%edi
278	roll	$5,%eax
279	addl	%ebx,%eax
280
281	xorl	%eax,%edi
282	andl	%ecx,%edi
283	leal	3275163606(%edx,%ebp,1),%edx
284	xorl	%ebx,%edi
285	movl	12(%esi),%ebp
286	addl	%edi,%edx
287	movl	%eax,%edi
288	roll	$9,%edx
289	addl	%eax,%edx
290
291	xorl	%edx,%edi
292	andl	%ebx,%edi
293	leal	4107603335(%ecx,%ebp,1),%ecx
294	xorl	%eax,%edi
295	movl	32(%esi),%ebp
296	addl	%edi,%ecx
297	movl	%edx,%edi
298	roll	$14,%ecx
299	addl	%edx,%ecx
300
301	xorl	%ecx,%edi
302	andl	%eax,%edi
303	leal	1163531501(%ebx,%ebp,1),%ebx
304	xorl	%edx,%edi
305	movl	52(%esi),%ebp
306	addl	%edi,%ebx
307	movl	%ecx,%edi
308	roll	$20,%ebx
309	addl	%ecx,%ebx
310
311	xorl	%ebx,%edi
312	andl	%edx,%edi
313	leal	2850285829(%eax,%ebp,1),%eax
314	xorl	%ecx,%edi
315	movl	8(%esi),%ebp
316	addl	%edi,%eax
317	movl	%ebx,%edi
318	roll	$5,%eax
319	addl	%ebx,%eax
320
321	xorl	%eax,%edi
322	andl	%ecx,%edi
323	leal	4243563512(%edx,%ebp,1),%edx
324	xorl	%ebx,%edi
325	movl	28(%esi),%ebp
326	addl	%edi,%edx
327	movl	%eax,%edi
328	roll	$9,%edx
329	addl	%eax,%edx
330
331	xorl	%edx,%edi
332	andl	%ebx,%edi
333	leal	1735328473(%ecx,%ebp,1),%ecx
334	xorl	%eax,%edi
335	movl	48(%esi),%ebp
336	addl	%edi,%ecx
337	movl	%edx,%edi
338	roll	$14,%ecx
339	addl	%edx,%ecx
340
341	xorl	%ecx,%edi
342	andl	%eax,%edi
343	leal	2368359562(%ebx,%ebp,1),%ebx
344	xorl	%edx,%edi
345	movl	20(%esi),%ebp
346	addl	%edi,%ebx
347	movl	%ecx,%edi
348	roll	$20,%ebx
349	addl	%ecx,%ebx
350
351
352
353	xorl	%edx,%edi
354	xorl	%ebx,%edi
355	leal	4294588738(%eax,%ebp,1),%eax
356	addl	%edi,%eax
357	movl	32(%esi),%ebp
358	roll	$4,%eax
359	movl	%ebx,%edi
360
361	addl	%ebx,%eax
362	xorl	%ecx,%edi
363	leal	2272392833(%edx,%ebp,1),%edx
364	xorl	%eax,%edi
365	movl	44(%esi),%ebp
366	addl	%edi,%edx
367	movl	%eax,%edi
368	roll	$11,%edx
369	addl	%eax,%edx
370
371	xorl	%ebx,%edi
372	xorl	%edx,%edi
373	leal	1839030562(%ecx,%ebp,1),%ecx
374	addl	%edi,%ecx
375	movl	56(%esi),%ebp
376	roll	$16,%ecx
377	movl	%edx,%edi
378
379	addl	%edx,%ecx
380	xorl	%eax,%edi
381	leal	4259657740(%ebx,%ebp,1),%ebx
382	xorl	%ecx,%edi
383	movl	4(%esi),%ebp
384	addl	%edi,%ebx
385	movl	%ecx,%edi
386	roll	$23,%ebx
387	addl	%ecx,%ebx
388
389	xorl	%edx,%edi
390	xorl	%ebx,%edi
391	leal	2763975236(%eax,%ebp,1),%eax
392	addl	%edi,%eax
393	movl	16(%esi),%ebp
394	roll	$4,%eax
395	movl	%ebx,%edi
396
397	addl	%ebx,%eax
398	xorl	%ecx,%edi
399	leal	1272893353(%edx,%ebp,1),%edx
400	xorl	%eax,%edi
401	movl	28(%esi),%ebp
402	addl	%edi,%edx
403	movl	%eax,%edi
404	roll	$11,%edx
405	addl	%eax,%edx
406
407	xorl	%ebx,%edi
408	xorl	%edx,%edi
409	leal	4139469664(%ecx,%ebp,1),%ecx
410	addl	%edi,%ecx
411	movl	40(%esi),%ebp
412	roll	$16,%ecx
413	movl	%edx,%edi
414
415	addl	%edx,%ecx
416	xorl	%eax,%edi
417	leal	3200236656(%ebx,%ebp,1),%ebx
418	xorl	%ecx,%edi
419	movl	52(%esi),%ebp
420	addl	%edi,%ebx
421	movl	%ecx,%edi
422	roll	$23,%ebx
423	addl	%ecx,%ebx
424
425	xorl	%edx,%edi
426	xorl	%ebx,%edi
427	leal	681279174(%eax,%ebp,1),%eax
428	addl	%edi,%eax
429	movl	(%esi),%ebp
430	roll	$4,%eax
431	movl	%ebx,%edi
432
433	addl	%ebx,%eax
434	xorl	%ecx,%edi
435	leal	3936430074(%edx,%ebp,1),%edx
436	xorl	%eax,%edi
437	movl	12(%esi),%ebp
438	addl	%edi,%edx
439	movl	%eax,%edi
440	roll	$11,%edx
441	addl	%eax,%edx
442
443	xorl	%ebx,%edi
444	xorl	%edx,%edi
445	leal	3572445317(%ecx,%ebp,1),%ecx
446	addl	%edi,%ecx
447	movl	24(%esi),%ebp
448	roll	$16,%ecx
449	movl	%edx,%edi
450
451	addl	%edx,%ecx
452	xorl	%eax,%edi
453	leal	76029189(%ebx,%ebp,1),%ebx
454	xorl	%ecx,%edi
455	movl	36(%esi),%ebp
456	addl	%edi,%ebx
457	movl	%ecx,%edi
458	roll	$23,%ebx
459	addl	%ecx,%ebx
460
461	xorl	%edx,%edi
462	xorl	%ebx,%edi
463	leal	3654602809(%eax,%ebp,1),%eax
464	addl	%edi,%eax
465	movl	48(%esi),%ebp
466	roll	$4,%eax
467	movl	%ebx,%edi
468
469	addl	%ebx,%eax
470	xorl	%ecx,%edi
471	leal	3873151461(%edx,%ebp,1),%edx
472	xorl	%eax,%edi
473	movl	60(%esi),%ebp
474	addl	%edi,%edx
475	movl	%eax,%edi
476	roll	$11,%edx
477	addl	%eax,%edx
478
479	xorl	%ebx,%edi
480	xorl	%edx,%edi
481	leal	530742520(%ecx,%ebp,1),%ecx
482	addl	%edi,%ecx
483	movl	8(%esi),%ebp
484	roll	$16,%ecx
485	movl	%edx,%edi
486
487	addl	%edx,%ecx
488	xorl	%eax,%edi
489	leal	3299628645(%ebx,%ebp,1),%ebx
490	xorl	%ecx,%edi
491	movl	(%esi),%ebp
492	addl	%edi,%ebx
493	movl	$-1,%edi
494	roll	$23,%ebx
495	addl	%ecx,%ebx
496
497
498
499	xorl	%edx,%edi
500	orl	%ebx,%edi
501	leal	4096336452(%eax,%ebp,1),%eax
502	xorl	%ecx,%edi
503	movl	28(%esi),%ebp
504	addl	%edi,%eax
505	movl	$-1,%edi
506	roll	$6,%eax
507	xorl	%ecx,%edi
508	addl	%ebx,%eax
509
510	orl	%eax,%edi
511	leal	1126891415(%edx,%ebp,1),%edx
512	xorl	%ebx,%edi
513	movl	56(%esi),%ebp
514	addl	%edi,%edx
515	movl	$-1,%edi
516	roll	$10,%edx
517	xorl	%ebx,%edi
518	addl	%eax,%edx
519
520	orl	%edx,%edi
521	leal	2878612391(%ecx,%ebp,1),%ecx
522	xorl	%eax,%edi
523	movl	20(%esi),%ebp
524	addl	%edi,%ecx
525	movl	$-1,%edi
526	roll	$15,%ecx
527	xorl	%eax,%edi
528	addl	%edx,%ecx
529
530	orl	%ecx,%edi
531	leal	4237533241(%ebx,%ebp,1),%ebx
532	xorl	%edx,%edi
533	movl	48(%esi),%ebp
534	addl	%edi,%ebx
535	movl	$-1,%edi
536	roll	$21,%ebx
537	xorl	%edx,%edi
538	addl	%ecx,%ebx
539
540	orl	%ebx,%edi
541	leal	1700485571(%eax,%ebp,1),%eax
542	xorl	%ecx,%edi
543	movl	12(%esi),%ebp
544	addl	%edi,%eax
545	movl	$-1,%edi
546	roll	$6,%eax
547	xorl	%ecx,%edi
548	addl	%ebx,%eax
549
550	orl	%eax,%edi
551	leal	2399980690(%edx,%ebp,1),%edx
552	xorl	%ebx,%edi
553	movl	40(%esi),%ebp
554	addl	%edi,%edx
555	movl	$-1,%edi
556	roll	$10,%edx
557	xorl	%ebx,%edi
558	addl	%eax,%edx
559
560	orl	%edx,%edi
561	leal	4293915773(%ecx,%ebp,1),%ecx
562	xorl	%eax,%edi
563	movl	4(%esi),%ebp
564	addl	%edi,%ecx
565	movl	$-1,%edi
566	roll	$15,%ecx
567	xorl	%eax,%edi
568	addl	%edx,%ecx
569
570	orl	%ecx,%edi
571	leal	2240044497(%ebx,%ebp,1),%ebx
572	xorl	%edx,%edi
573	movl	32(%esi),%ebp
574	addl	%edi,%ebx
575	movl	$-1,%edi
576	roll	$21,%ebx
577	xorl	%edx,%edi
578	addl	%ecx,%ebx
579
580	orl	%ebx,%edi
581	leal	1873313359(%eax,%ebp,1),%eax
582	xorl	%ecx,%edi
583	movl	60(%esi),%ebp
584	addl	%edi,%eax
585	movl	$-1,%edi
586	roll	$6,%eax
587	xorl	%ecx,%edi
588	addl	%ebx,%eax
589
590	orl	%eax,%edi
591	leal	4264355552(%edx,%ebp,1),%edx
592	xorl	%ebx,%edi
593	movl	24(%esi),%ebp
594	addl	%edi,%edx
595	movl	$-1,%edi
596	roll	$10,%edx
597	xorl	%ebx,%edi
598	addl	%eax,%edx
599
600	orl	%edx,%edi
601	leal	2734768916(%ecx,%ebp,1),%ecx
602	xorl	%eax,%edi
603	movl	52(%esi),%ebp
604	addl	%edi,%ecx
605	movl	$-1,%edi
606	roll	$15,%ecx
607	xorl	%eax,%edi
608	addl	%edx,%ecx
609
610	orl	%ecx,%edi
611	leal	1309151649(%ebx,%ebp,1),%ebx
612	xorl	%edx,%edi
613	movl	16(%esi),%ebp
614	addl	%edi,%ebx
615	movl	$-1,%edi
616	roll	$21,%ebx
617	xorl	%edx,%edi
618	addl	%ecx,%ebx
619
620	orl	%ebx,%edi
621	leal	4149444226(%eax,%ebp,1),%eax
622	xorl	%ecx,%edi
623	movl	44(%esi),%ebp
624	addl	%edi,%eax
625	movl	$-1,%edi
626	roll	$6,%eax
627	xorl	%ecx,%edi
628	addl	%ebx,%eax
629
630	orl	%eax,%edi
631	leal	3174756917(%edx,%ebp,1),%edx
632	xorl	%ebx,%edi
633	movl	8(%esi),%ebp
634	addl	%edi,%edx
635	movl	$-1,%edi
636	roll	$10,%edx
637	xorl	%ebx,%edi
638	addl	%eax,%edx
639
640	orl	%edx,%edi
641	leal	718787259(%ecx,%ebp,1),%ecx
642	xorl	%eax,%edi
643	movl	36(%esi),%ebp
644	addl	%edi,%ecx
645	movl	$-1,%edi
646	roll	$15,%ecx
647	xorl	%eax,%edi
648	addl	%edx,%ecx
649
650	orl	%ecx,%edi
651	leal	3951481745(%ebx,%ebp,1),%ebx
652	xorl	%edx,%edi
653	movl	24(%esp),%ebp
654	addl	%edi,%ebx
655	addl	$64,%esi
656	roll	$21,%ebx
657	movl	(%ebp),%edi
658	addl	%ecx,%ebx
659	addl	%edi,%eax
660	movl	4(%ebp),%edi
661	addl	%edi,%ebx
662	movl	8(%ebp),%edi
663	addl	%edi,%ecx
664	movl	12(%ebp),%edi
665	addl	%edi,%edx
666	movl	%eax,(%ebp)
667	movl	%ebx,4(%ebp)
668	movl	(%esp),%edi
669	movl	%ecx,8(%ebp)
670	movl	%edx,12(%ebp)
671	cmpl	%esi,%edi
672	jae	.L000start
673	popl	%eax
674	popl	%ebx
675	popl	%ebp
676	popl	%edi
677	popl	%esi
678	ret
679.size	md5_block_asm_data_order,.-.L_md5_block_asm_data_order_begin
680