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	addl	%edi,%eax
34	movl	%ebx,%edi
35	roll	$7,%eax
36	movl	4(%esi),%ebp
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	addl	%edi,%edx
44	movl	%eax,%edi
45	roll	$12,%edx
46	movl	8(%esi),%ebp
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	addl	%edi,%ecx
54	movl	%edx,%edi
55	roll	$17,%ecx
56	movl	12(%esi),%ebp
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	addl	%edi,%ebx
64	movl	%ecx,%edi
65	roll	$22,%ebx
66	movl	16(%esi),%ebp
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	addl	%edi,%eax
74	movl	%ebx,%edi
75	roll	$7,%eax
76	movl	20(%esi),%ebp
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	addl	%edi,%edx
84	movl	%eax,%edi
85	roll	$12,%edx
86	movl	24(%esi),%ebp
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	addl	%edi,%ecx
94	movl	%edx,%edi
95	roll	$17,%ecx
96	movl	28(%esi),%ebp
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	addl	%edi,%ebx
104	movl	%ecx,%edi
105	roll	$22,%ebx
106	movl	32(%esi),%ebp
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	addl	%edi,%eax
114	movl	%ebx,%edi
115	roll	$7,%eax
116	movl	36(%esi),%ebp
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	addl	%edi,%edx
124	movl	%eax,%edi
125	roll	$12,%edx
126	movl	40(%esi),%ebp
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	addl	%edi,%ecx
134	movl	%edx,%edi
135	roll	$17,%ecx
136	movl	44(%esi),%ebp
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	addl	%edi,%ebx
144	movl	%ecx,%edi
145	roll	$22,%ebx
146	movl	48(%esi),%ebp
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	addl	%edi,%eax
154	movl	%ebx,%edi
155	roll	$7,%eax
156	movl	52(%esi),%ebp
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	addl	%edi,%edx
164	movl	%eax,%edi
165	roll	$12,%edx
166	movl	56(%esi),%ebp
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	addl	%edi,%ecx
174	movl	%edx,%edi
175	roll	$17,%ecx
176	movl	60(%esi),%ebp
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	addl	%edi,%ebx
184	movl	%ecx,%edi
185	roll	$22,%ebx
186	movl	4(%esi),%ebp
187	addl	%ecx,%ebx
188
189
190
191	leal	4129170786(%eax,%ebp,1),%eax
192	xorl	%ebx,%edi
193	andl	%edx,%edi
194	movl	24(%esi),%ebp
195	xorl	%ecx,%edi
196	addl	%edi,%eax
197	movl	%ebx,%edi
198	roll	$5,%eax
199	addl	%ebx,%eax
200
201	leal	3225465664(%edx,%ebp,1),%edx
202	xorl	%eax,%edi
203	andl	%ecx,%edi
204	movl	44(%esi),%ebp
205	xorl	%ebx,%edi
206	addl	%edi,%edx
207	movl	%eax,%edi
208	roll	$9,%edx
209	addl	%eax,%edx
210
211	leal	643717713(%ecx,%ebp,1),%ecx
212	xorl	%edx,%edi
213	andl	%ebx,%edi
214	movl	(%esi),%ebp
215	xorl	%eax,%edi
216	addl	%edi,%ecx
217	movl	%edx,%edi
218	roll	$14,%ecx
219	addl	%edx,%ecx
220
221	leal	3921069994(%ebx,%ebp,1),%ebx
222	xorl	%ecx,%edi
223	andl	%eax,%edi
224	movl	20(%esi),%ebp
225	xorl	%edx,%edi
226	addl	%edi,%ebx
227	movl	%ecx,%edi
228	roll	$20,%ebx
229	addl	%ecx,%ebx
230
231	leal	3593408605(%eax,%ebp,1),%eax
232	xorl	%ebx,%edi
233	andl	%edx,%edi
234	movl	40(%esi),%ebp
235	xorl	%ecx,%edi
236	addl	%edi,%eax
237	movl	%ebx,%edi
238	roll	$5,%eax
239	addl	%ebx,%eax
240
241	leal	38016083(%edx,%ebp,1),%edx
242	xorl	%eax,%edi
243	andl	%ecx,%edi
244	movl	60(%esi),%ebp
245	xorl	%ebx,%edi
246	addl	%edi,%edx
247	movl	%eax,%edi
248	roll	$9,%edx
249	addl	%eax,%edx
250
251	leal	3634488961(%ecx,%ebp,1),%ecx
252	xorl	%edx,%edi
253	andl	%ebx,%edi
254	movl	16(%esi),%ebp
255	xorl	%eax,%edi
256	addl	%edi,%ecx
257	movl	%edx,%edi
258	roll	$14,%ecx
259	addl	%edx,%ecx
260
261	leal	3889429448(%ebx,%ebp,1),%ebx
262	xorl	%ecx,%edi
263	andl	%eax,%edi
264	movl	36(%esi),%ebp
265	xorl	%edx,%edi
266	addl	%edi,%ebx
267	movl	%ecx,%edi
268	roll	$20,%ebx
269	addl	%ecx,%ebx
270
271	leal	568446438(%eax,%ebp,1),%eax
272	xorl	%ebx,%edi
273	andl	%edx,%edi
274	movl	56(%esi),%ebp
275	xorl	%ecx,%edi
276	addl	%edi,%eax
277	movl	%ebx,%edi
278	roll	$5,%eax
279	addl	%ebx,%eax
280
281	leal	3275163606(%edx,%ebp,1),%edx
282	xorl	%eax,%edi
283	andl	%ecx,%edi
284	movl	12(%esi),%ebp
285	xorl	%ebx,%edi
286	addl	%edi,%edx
287	movl	%eax,%edi
288	roll	$9,%edx
289	addl	%eax,%edx
290
291	leal	4107603335(%ecx,%ebp,1),%ecx
292	xorl	%edx,%edi
293	andl	%ebx,%edi
294	movl	32(%esi),%ebp
295	xorl	%eax,%edi
296	addl	%edi,%ecx
297	movl	%edx,%edi
298	roll	$14,%ecx
299	addl	%edx,%ecx
300
301	leal	1163531501(%ebx,%ebp,1),%ebx
302	xorl	%ecx,%edi
303	andl	%eax,%edi
304	movl	52(%esi),%ebp
305	xorl	%edx,%edi
306	addl	%edi,%ebx
307	movl	%ecx,%edi
308	roll	$20,%ebx
309	addl	%ecx,%ebx
310
311	leal	2850285829(%eax,%ebp,1),%eax
312	xorl	%ebx,%edi
313	andl	%edx,%edi
314	movl	8(%esi),%ebp
315	xorl	%ecx,%edi
316	addl	%edi,%eax
317	movl	%ebx,%edi
318	roll	$5,%eax
319	addl	%ebx,%eax
320
321	leal	4243563512(%edx,%ebp,1),%edx
322	xorl	%eax,%edi
323	andl	%ecx,%edi
324	movl	28(%esi),%ebp
325	xorl	%ebx,%edi
326	addl	%edi,%edx
327	movl	%eax,%edi
328	roll	$9,%edx
329	addl	%eax,%edx
330
331	leal	1735328473(%ecx,%ebp,1),%ecx
332	xorl	%edx,%edi
333	andl	%ebx,%edi
334	movl	48(%esi),%ebp
335	xorl	%eax,%edi
336	addl	%edi,%ecx
337	movl	%edx,%edi
338	roll	$14,%ecx
339	addl	%edx,%ecx
340
341	leal	2368359562(%ebx,%ebp,1),%ebx
342	xorl	%ecx,%edi
343	andl	%eax,%edi
344	movl	20(%esi),%ebp
345	xorl	%edx,%edi
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	roll	$4,%eax
358	movl	32(%esi),%ebp
359	movl	%ebx,%edi
360
361	leal	2272392833(%edx,%ebp,1),%edx
362	addl	%ebx,%eax
363	xorl	%ecx,%edi
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	roll	$16,%ecx
376	movl	56(%esi),%ebp
377	movl	%edx,%edi
378
379	leal	4259657740(%ebx,%ebp,1),%ebx
380	addl	%edx,%ecx
381	xorl	%eax,%edi
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	roll	$4,%eax
394	movl	16(%esi),%ebp
395	movl	%ebx,%edi
396
397	leal	1272893353(%edx,%ebp,1),%edx
398	addl	%ebx,%eax
399	xorl	%ecx,%edi
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	roll	$16,%ecx
412	movl	40(%esi),%ebp
413	movl	%edx,%edi
414
415	leal	3200236656(%ebx,%ebp,1),%ebx
416	addl	%edx,%ecx
417	xorl	%eax,%edi
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	roll	$4,%eax
430	movl	(%esi),%ebp
431	movl	%ebx,%edi
432
433	leal	3936430074(%edx,%ebp,1),%edx
434	addl	%ebx,%eax
435	xorl	%ecx,%edi
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	roll	$16,%ecx
448	movl	24(%esi),%ebp
449	movl	%edx,%edi
450
451	leal	76029189(%ebx,%ebp,1),%ebx
452	addl	%edx,%ecx
453	xorl	%eax,%edi
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	roll	$4,%eax
466	movl	48(%esi),%ebp
467	movl	%ebx,%edi
468
469	leal	3873151461(%edx,%ebp,1),%edx
470	addl	%ebx,%eax
471	xorl	%ecx,%edi
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	roll	$16,%ecx
484	movl	8(%esi),%ebp
485	movl	%edx,%edi
486
487	leal	3299628645(%ebx,%ebp,1),%ebx
488	addl	%edx,%ecx
489	xorl	%eax,%edi
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