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