1# This file is generated from a similarly-named Perl script in the BoringSSL
2# source tree. Do not edit by hand.
3
4#if defined(__i386__)
5#if defined(BORINGSSL_PREFIX)
6#include <boringssl_prefix_symbols_asm.h>
7#endif
8.text
9.globl	_bn_mul_add_words
10.private_extern	_bn_mul_add_words
11.align	4
12_bn_mul_add_words:
13L_bn_mul_add_words_begin:
14	call	L000PIC_me_up
15L000PIC_me_up:
16	popl	%eax
17	movl	L_OPENSSL_ia32cap_P$non_lazy_ptr-L000PIC_me_up(%eax),%eax
18	btl	$26,(%eax)
19	jnc	L001maw_non_sse2
20	movl	4(%esp),%eax
21	movl	8(%esp),%edx
22	movl	12(%esp),%ecx
23	movd	16(%esp),%mm0
24	pxor	%mm1,%mm1
25	jmp	L002maw_sse2_entry
26.align	4,0x90
27L003maw_sse2_unrolled:
28	movd	(%eax),%mm3
29	paddq	%mm3,%mm1
30	movd	(%edx),%mm2
31	pmuludq	%mm0,%mm2
32	movd	4(%edx),%mm4
33	pmuludq	%mm0,%mm4
34	movd	8(%edx),%mm6
35	pmuludq	%mm0,%mm6
36	movd	12(%edx),%mm7
37	pmuludq	%mm0,%mm7
38	paddq	%mm2,%mm1
39	movd	4(%eax),%mm3
40	paddq	%mm4,%mm3
41	movd	8(%eax),%mm5
42	paddq	%mm6,%mm5
43	movd	12(%eax),%mm4
44	paddq	%mm4,%mm7
45	movd	%mm1,(%eax)
46	movd	16(%edx),%mm2
47	pmuludq	%mm0,%mm2
48	psrlq	$32,%mm1
49	movd	20(%edx),%mm4
50	pmuludq	%mm0,%mm4
51	paddq	%mm3,%mm1
52	movd	24(%edx),%mm6
53	pmuludq	%mm0,%mm6
54	movd	%mm1,4(%eax)
55	psrlq	$32,%mm1
56	movd	28(%edx),%mm3
57	addl	$32,%edx
58	pmuludq	%mm0,%mm3
59	paddq	%mm5,%mm1
60	movd	16(%eax),%mm5
61	paddq	%mm5,%mm2
62	movd	%mm1,8(%eax)
63	psrlq	$32,%mm1
64	paddq	%mm7,%mm1
65	movd	20(%eax),%mm5
66	paddq	%mm5,%mm4
67	movd	%mm1,12(%eax)
68	psrlq	$32,%mm1
69	paddq	%mm2,%mm1
70	movd	24(%eax),%mm5
71	paddq	%mm5,%mm6
72	movd	%mm1,16(%eax)
73	psrlq	$32,%mm1
74	paddq	%mm4,%mm1
75	movd	28(%eax),%mm5
76	paddq	%mm5,%mm3
77	movd	%mm1,20(%eax)
78	psrlq	$32,%mm1
79	paddq	%mm6,%mm1
80	movd	%mm1,24(%eax)
81	psrlq	$32,%mm1
82	paddq	%mm3,%mm1
83	movd	%mm1,28(%eax)
84	leal	32(%eax),%eax
85	psrlq	$32,%mm1
86	subl	$8,%ecx
87	jz	L004maw_sse2_exit
88L002maw_sse2_entry:
89	testl	$4294967288,%ecx
90	jnz	L003maw_sse2_unrolled
91.align	2,0x90
92L005maw_sse2_loop:
93	movd	(%edx),%mm2
94	movd	(%eax),%mm3
95	pmuludq	%mm0,%mm2
96	leal	4(%edx),%edx
97	paddq	%mm3,%mm1
98	paddq	%mm2,%mm1
99	movd	%mm1,(%eax)
100	subl	$1,%ecx
101	psrlq	$32,%mm1
102	leal	4(%eax),%eax
103	jnz	L005maw_sse2_loop
104L004maw_sse2_exit:
105	movd	%mm1,%eax
106	emms
107	ret
108.align	4,0x90
109L001maw_non_sse2:
110	pushl	%ebp
111	pushl	%ebx
112	pushl	%esi
113	pushl	%edi
114
115	xorl	%esi,%esi
116	movl	20(%esp),%edi
117	movl	28(%esp),%ecx
118	movl	24(%esp),%ebx
119	andl	$4294967288,%ecx
120	movl	32(%esp),%ebp
121	pushl	%ecx
122	jz	L006maw_finish
123.align	4,0x90
124L007maw_loop:
125	# Round 0
126	movl	(%ebx),%eax
127	mull	%ebp
128	addl	%esi,%eax
129	adcl	$0,%edx
130	addl	(%edi),%eax
131	adcl	$0,%edx
132	movl	%eax,(%edi)
133	movl	%edx,%esi
134	# Round 4
135	movl	4(%ebx),%eax
136	mull	%ebp
137	addl	%esi,%eax
138	adcl	$0,%edx
139	addl	4(%edi),%eax
140	adcl	$0,%edx
141	movl	%eax,4(%edi)
142	movl	%edx,%esi
143	# Round 8
144	movl	8(%ebx),%eax
145	mull	%ebp
146	addl	%esi,%eax
147	adcl	$0,%edx
148	addl	8(%edi),%eax
149	adcl	$0,%edx
150	movl	%eax,8(%edi)
151	movl	%edx,%esi
152	# Round 12
153	movl	12(%ebx),%eax
154	mull	%ebp
155	addl	%esi,%eax
156	adcl	$0,%edx
157	addl	12(%edi),%eax
158	adcl	$0,%edx
159	movl	%eax,12(%edi)
160	movl	%edx,%esi
161	# Round 16
162	movl	16(%ebx),%eax
163	mull	%ebp
164	addl	%esi,%eax
165	adcl	$0,%edx
166	addl	16(%edi),%eax
167	adcl	$0,%edx
168	movl	%eax,16(%edi)
169	movl	%edx,%esi
170	# Round 20
171	movl	20(%ebx),%eax
172	mull	%ebp
173	addl	%esi,%eax
174	adcl	$0,%edx
175	addl	20(%edi),%eax
176	adcl	$0,%edx
177	movl	%eax,20(%edi)
178	movl	%edx,%esi
179	# Round 24
180	movl	24(%ebx),%eax
181	mull	%ebp
182	addl	%esi,%eax
183	adcl	$0,%edx
184	addl	24(%edi),%eax
185	adcl	$0,%edx
186	movl	%eax,24(%edi)
187	movl	%edx,%esi
188	# Round 28
189	movl	28(%ebx),%eax
190	mull	%ebp
191	addl	%esi,%eax
192	adcl	$0,%edx
193	addl	28(%edi),%eax
194	adcl	$0,%edx
195	movl	%eax,28(%edi)
196	movl	%edx,%esi
197
198	subl	$8,%ecx
199	leal	32(%ebx),%ebx
200	leal	32(%edi),%edi
201	jnz	L007maw_loop
202L006maw_finish:
203	movl	32(%esp),%ecx
204	andl	$7,%ecx
205	jnz	L008maw_finish2
206	jmp	L009maw_end
207L008maw_finish2:
208	# Tail Round 0
209	movl	(%ebx),%eax
210	mull	%ebp
211	addl	%esi,%eax
212	adcl	$0,%edx
213	addl	(%edi),%eax
214	adcl	$0,%edx
215	decl	%ecx
216	movl	%eax,(%edi)
217	movl	%edx,%esi
218	jz	L009maw_end
219	# Tail Round 1
220	movl	4(%ebx),%eax
221	mull	%ebp
222	addl	%esi,%eax
223	adcl	$0,%edx
224	addl	4(%edi),%eax
225	adcl	$0,%edx
226	decl	%ecx
227	movl	%eax,4(%edi)
228	movl	%edx,%esi
229	jz	L009maw_end
230	# Tail Round 2
231	movl	8(%ebx),%eax
232	mull	%ebp
233	addl	%esi,%eax
234	adcl	$0,%edx
235	addl	8(%edi),%eax
236	adcl	$0,%edx
237	decl	%ecx
238	movl	%eax,8(%edi)
239	movl	%edx,%esi
240	jz	L009maw_end
241	# Tail Round 3
242	movl	12(%ebx),%eax
243	mull	%ebp
244	addl	%esi,%eax
245	adcl	$0,%edx
246	addl	12(%edi),%eax
247	adcl	$0,%edx
248	decl	%ecx
249	movl	%eax,12(%edi)
250	movl	%edx,%esi
251	jz	L009maw_end
252	# Tail Round 4
253	movl	16(%ebx),%eax
254	mull	%ebp
255	addl	%esi,%eax
256	adcl	$0,%edx
257	addl	16(%edi),%eax
258	adcl	$0,%edx
259	decl	%ecx
260	movl	%eax,16(%edi)
261	movl	%edx,%esi
262	jz	L009maw_end
263	# Tail Round 5
264	movl	20(%ebx),%eax
265	mull	%ebp
266	addl	%esi,%eax
267	adcl	$0,%edx
268	addl	20(%edi),%eax
269	adcl	$0,%edx
270	decl	%ecx
271	movl	%eax,20(%edi)
272	movl	%edx,%esi
273	jz	L009maw_end
274	# Tail Round 6
275	movl	24(%ebx),%eax
276	mull	%ebp
277	addl	%esi,%eax
278	adcl	$0,%edx
279	addl	24(%edi),%eax
280	adcl	$0,%edx
281	movl	%eax,24(%edi)
282	movl	%edx,%esi
283L009maw_end:
284	movl	%esi,%eax
285	popl	%ecx
286	popl	%edi
287	popl	%esi
288	popl	%ebx
289	popl	%ebp
290	ret
291.globl	_bn_mul_words
292.private_extern	_bn_mul_words
293.align	4
294_bn_mul_words:
295L_bn_mul_words_begin:
296	call	L010PIC_me_up
297L010PIC_me_up:
298	popl	%eax
299	movl	L_OPENSSL_ia32cap_P$non_lazy_ptr-L010PIC_me_up(%eax),%eax
300	btl	$26,(%eax)
301	jnc	L011mw_non_sse2
302	movl	4(%esp),%eax
303	movl	8(%esp),%edx
304	movl	12(%esp),%ecx
305	movd	16(%esp),%mm0
306	pxor	%mm1,%mm1
307.align	4,0x90
308L012mw_sse2_loop:
309	movd	(%edx),%mm2
310	pmuludq	%mm0,%mm2
311	leal	4(%edx),%edx
312	paddq	%mm2,%mm1
313	movd	%mm1,(%eax)
314	subl	$1,%ecx
315	psrlq	$32,%mm1
316	leal	4(%eax),%eax
317	jnz	L012mw_sse2_loop
318	movd	%mm1,%eax
319	emms
320	ret
321.align	4,0x90
322L011mw_non_sse2:
323	pushl	%ebp
324	pushl	%ebx
325	pushl	%esi
326	pushl	%edi
327
328	xorl	%esi,%esi
329	movl	20(%esp),%edi
330	movl	24(%esp),%ebx
331	movl	28(%esp),%ebp
332	movl	32(%esp),%ecx
333	andl	$4294967288,%ebp
334	jz	L013mw_finish
335L014mw_loop:
336	# Round 0
337	movl	(%ebx),%eax
338	mull	%ecx
339	addl	%esi,%eax
340	adcl	$0,%edx
341	movl	%eax,(%edi)
342	movl	%edx,%esi
343	# Round 4
344	movl	4(%ebx),%eax
345	mull	%ecx
346	addl	%esi,%eax
347	adcl	$0,%edx
348	movl	%eax,4(%edi)
349	movl	%edx,%esi
350	# Round 8
351	movl	8(%ebx),%eax
352	mull	%ecx
353	addl	%esi,%eax
354	adcl	$0,%edx
355	movl	%eax,8(%edi)
356	movl	%edx,%esi
357	# Round 12
358	movl	12(%ebx),%eax
359	mull	%ecx
360	addl	%esi,%eax
361	adcl	$0,%edx
362	movl	%eax,12(%edi)
363	movl	%edx,%esi
364	# Round 16
365	movl	16(%ebx),%eax
366	mull	%ecx
367	addl	%esi,%eax
368	adcl	$0,%edx
369	movl	%eax,16(%edi)
370	movl	%edx,%esi
371	# Round 20
372	movl	20(%ebx),%eax
373	mull	%ecx
374	addl	%esi,%eax
375	adcl	$0,%edx
376	movl	%eax,20(%edi)
377	movl	%edx,%esi
378	# Round 24
379	movl	24(%ebx),%eax
380	mull	%ecx
381	addl	%esi,%eax
382	adcl	$0,%edx
383	movl	%eax,24(%edi)
384	movl	%edx,%esi
385	# Round 28
386	movl	28(%ebx),%eax
387	mull	%ecx
388	addl	%esi,%eax
389	adcl	$0,%edx
390	movl	%eax,28(%edi)
391	movl	%edx,%esi
392
393	addl	$32,%ebx
394	addl	$32,%edi
395	subl	$8,%ebp
396	jz	L013mw_finish
397	jmp	L014mw_loop
398L013mw_finish:
399	movl	28(%esp),%ebp
400	andl	$7,%ebp
401	jnz	L015mw_finish2
402	jmp	L016mw_end
403L015mw_finish2:
404	# Tail Round 0
405	movl	(%ebx),%eax
406	mull	%ecx
407	addl	%esi,%eax
408	adcl	$0,%edx
409	movl	%eax,(%edi)
410	movl	%edx,%esi
411	decl	%ebp
412	jz	L016mw_end
413	# Tail Round 1
414	movl	4(%ebx),%eax
415	mull	%ecx
416	addl	%esi,%eax
417	adcl	$0,%edx
418	movl	%eax,4(%edi)
419	movl	%edx,%esi
420	decl	%ebp
421	jz	L016mw_end
422	# Tail Round 2
423	movl	8(%ebx),%eax
424	mull	%ecx
425	addl	%esi,%eax
426	adcl	$0,%edx
427	movl	%eax,8(%edi)
428	movl	%edx,%esi
429	decl	%ebp
430	jz	L016mw_end
431	# Tail Round 3
432	movl	12(%ebx),%eax
433	mull	%ecx
434	addl	%esi,%eax
435	adcl	$0,%edx
436	movl	%eax,12(%edi)
437	movl	%edx,%esi
438	decl	%ebp
439	jz	L016mw_end
440	# Tail Round 4
441	movl	16(%ebx),%eax
442	mull	%ecx
443	addl	%esi,%eax
444	adcl	$0,%edx
445	movl	%eax,16(%edi)
446	movl	%edx,%esi
447	decl	%ebp
448	jz	L016mw_end
449	# Tail Round 5
450	movl	20(%ebx),%eax
451	mull	%ecx
452	addl	%esi,%eax
453	adcl	$0,%edx
454	movl	%eax,20(%edi)
455	movl	%edx,%esi
456	decl	%ebp
457	jz	L016mw_end
458	# Tail Round 6
459	movl	24(%ebx),%eax
460	mull	%ecx
461	addl	%esi,%eax
462	adcl	$0,%edx
463	movl	%eax,24(%edi)
464	movl	%edx,%esi
465L016mw_end:
466	movl	%esi,%eax
467	popl	%edi
468	popl	%esi
469	popl	%ebx
470	popl	%ebp
471	ret
472.globl	_bn_sqr_words
473.private_extern	_bn_sqr_words
474.align	4
475_bn_sqr_words:
476L_bn_sqr_words_begin:
477	call	L017PIC_me_up
478L017PIC_me_up:
479	popl	%eax
480	movl	L_OPENSSL_ia32cap_P$non_lazy_ptr-L017PIC_me_up(%eax),%eax
481	btl	$26,(%eax)
482	jnc	L018sqr_non_sse2
483	movl	4(%esp),%eax
484	movl	8(%esp),%edx
485	movl	12(%esp),%ecx
486.align	4,0x90
487L019sqr_sse2_loop:
488	movd	(%edx),%mm0
489	pmuludq	%mm0,%mm0
490	leal	4(%edx),%edx
491	movq	%mm0,(%eax)
492	subl	$1,%ecx
493	leal	8(%eax),%eax
494	jnz	L019sqr_sse2_loop
495	emms
496	ret
497.align	4,0x90
498L018sqr_non_sse2:
499	pushl	%ebp
500	pushl	%ebx
501	pushl	%esi
502	pushl	%edi
503
504	movl	20(%esp),%esi
505	movl	24(%esp),%edi
506	movl	28(%esp),%ebx
507	andl	$4294967288,%ebx
508	jz	L020sw_finish
509L021sw_loop:
510	# Round 0
511	movl	(%edi),%eax
512	mull	%eax
513	movl	%eax,(%esi)
514	movl	%edx,4(%esi)
515	# Round 4
516	movl	4(%edi),%eax
517	mull	%eax
518	movl	%eax,8(%esi)
519	movl	%edx,12(%esi)
520	# Round 8
521	movl	8(%edi),%eax
522	mull	%eax
523	movl	%eax,16(%esi)
524	movl	%edx,20(%esi)
525	# Round 12
526	movl	12(%edi),%eax
527	mull	%eax
528	movl	%eax,24(%esi)
529	movl	%edx,28(%esi)
530	# Round 16
531	movl	16(%edi),%eax
532	mull	%eax
533	movl	%eax,32(%esi)
534	movl	%edx,36(%esi)
535	# Round 20
536	movl	20(%edi),%eax
537	mull	%eax
538	movl	%eax,40(%esi)
539	movl	%edx,44(%esi)
540	# Round 24
541	movl	24(%edi),%eax
542	mull	%eax
543	movl	%eax,48(%esi)
544	movl	%edx,52(%esi)
545	# Round 28
546	movl	28(%edi),%eax
547	mull	%eax
548	movl	%eax,56(%esi)
549	movl	%edx,60(%esi)
550
551	addl	$32,%edi
552	addl	$64,%esi
553	subl	$8,%ebx
554	jnz	L021sw_loop
555L020sw_finish:
556	movl	28(%esp),%ebx
557	andl	$7,%ebx
558	jz	L022sw_end
559	# Tail Round 0
560	movl	(%edi),%eax
561	mull	%eax
562	movl	%eax,(%esi)
563	decl	%ebx
564	movl	%edx,4(%esi)
565	jz	L022sw_end
566	# Tail Round 1
567	movl	4(%edi),%eax
568	mull	%eax
569	movl	%eax,8(%esi)
570	decl	%ebx
571	movl	%edx,12(%esi)
572	jz	L022sw_end
573	# Tail Round 2
574	movl	8(%edi),%eax
575	mull	%eax
576	movl	%eax,16(%esi)
577	decl	%ebx
578	movl	%edx,20(%esi)
579	jz	L022sw_end
580	# Tail Round 3
581	movl	12(%edi),%eax
582	mull	%eax
583	movl	%eax,24(%esi)
584	decl	%ebx
585	movl	%edx,28(%esi)
586	jz	L022sw_end
587	# Tail Round 4
588	movl	16(%edi),%eax
589	mull	%eax
590	movl	%eax,32(%esi)
591	decl	%ebx
592	movl	%edx,36(%esi)
593	jz	L022sw_end
594	# Tail Round 5
595	movl	20(%edi),%eax
596	mull	%eax
597	movl	%eax,40(%esi)
598	decl	%ebx
599	movl	%edx,44(%esi)
600	jz	L022sw_end
601	# Tail Round 6
602	movl	24(%edi),%eax
603	mull	%eax
604	movl	%eax,48(%esi)
605	movl	%edx,52(%esi)
606L022sw_end:
607	popl	%edi
608	popl	%esi
609	popl	%ebx
610	popl	%ebp
611	ret
612.globl	_bn_div_words
613.private_extern	_bn_div_words
614.align	4
615_bn_div_words:
616L_bn_div_words_begin:
617	movl	4(%esp),%edx
618	movl	8(%esp),%eax
619	movl	12(%esp),%ecx
620	divl	%ecx
621	ret
622.globl	_bn_add_words
623.private_extern	_bn_add_words
624.align	4
625_bn_add_words:
626L_bn_add_words_begin:
627	pushl	%ebp
628	pushl	%ebx
629	pushl	%esi
630	pushl	%edi
631
632	movl	20(%esp),%ebx
633	movl	24(%esp),%esi
634	movl	28(%esp),%edi
635	movl	32(%esp),%ebp
636	xorl	%eax,%eax
637	andl	$4294967288,%ebp
638	jz	L023aw_finish
639L024aw_loop:
640	# Round 0
641	movl	(%esi),%ecx
642	movl	(%edi),%edx
643	addl	%eax,%ecx
644	movl	$0,%eax
645	adcl	%eax,%eax
646	addl	%edx,%ecx
647	adcl	$0,%eax
648	movl	%ecx,(%ebx)
649	# Round 1
650	movl	4(%esi),%ecx
651	movl	4(%edi),%edx
652	addl	%eax,%ecx
653	movl	$0,%eax
654	adcl	%eax,%eax
655	addl	%edx,%ecx
656	adcl	$0,%eax
657	movl	%ecx,4(%ebx)
658	# Round 2
659	movl	8(%esi),%ecx
660	movl	8(%edi),%edx
661	addl	%eax,%ecx
662	movl	$0,%eax
663	adcl	%eax,%eax
664	addl	%edx,%ecx
665	adcl	$0,%eax
666	movl	%ecx,8(%ebx)
667	# Round 3
668	movl	12(%esi),%ecx
669	movl	12(%edi),%edx
670	addl	%eax,%ecx
671	movl	$0,%eax
672	adcl	%eax,%eax
673	addl	%edx,%ecx
674	adcl	$0,%eax
675	movl	%ecx,12(%ebx)
676	# Round 4
677	movl	16(%esi),%ecx
678	movl	16(%edi),%edx
679	addl	%eax,%ecx
680	movl	$0,%eax
681	adcl	%eax,%eax
682	addl	%edx,%ecx
683	adcl	$0,%eax
684	movl	%ecx,16(%ebx)
685	# Round 5
686	movl	20(%esi),%ecx
687	movl	20(%edi),%edx
688	addl	%eax,%ecx
689	movl	$0,%eax
690	adcl	%eax,%eax
691	addl	%edx,%ecx
692	adcl	$0,%eax
693	movl	%ecx,20(%ebx)
694	# Round 6
695	movl	24(%esi),%ecx
696	movl	24(%edi),%edx
697	addl	%eax,%ecx
698	movl	$0,%eax
699	adcl	%eax,%eax
700	addl	%edx,%ecx
701	adcl	$0,%eax
702	movl	%ecx,24(%ebx)
703	# Round 7
704	movl	28(%esi),%ecx
705	movl	28(%edi),%edx
706	addl	%eax,%ecx
707	movl	$0,%eax
708	adcl	%eax,%eax
709	addl	%edx,%ecx
710	adcl	$0,%eax
711	movl	%ecx,28(%ebx)
712
713	addl	$32,%esi
714	addl	$32,%edi
715	addl	$32,%ebx
716	subl	$8,%ebp
717	jnz	L024aw_loop
718L023aw_finish:
719	movl	32(%esp),%ebp
720	andl	$7,%ebp
721	jz	L025aw_end
722	# Tail Round 0
723	movl	(%esi),%ecx
724	movl	(%edi),%edx
725	addl	%eax,%ecx
726	movl	$0,%eax
727	adcl	%eax,%eax
728	addl	%edx,%ecx
729	adcl	$0,%eax
730	decl	%ebp
731	movl	%ecx,(%ebx)
732	jz	L025aw_end
733	# Tail Round 1
734	movl	4(%esi),%ecx
735	movl	4(%edi),%edx
736	addl	%eax,%ecx
737	movl	$0,%eax
738	adcl	%eax,%eax
739	addl	%edx,%ecx
740	adcl	$0,%eax
741	decl	%ebp
742	movl	%ecx,4(%ebx)
743	jz	L025aw_end
744	# Tail Round 2
745	movl	8(%esi),%ecx
746	movl	8(%edi),%edx
747	addl	%eax,%ecx
748	movl	$0,%eax
749	adcl	%eax,%eax
750	addl	%edx,%ecx
751	adcl	$0,%eax
752	decl	%ebp
753	movl	%ecx,8(%ebx)
754	jz	L025aw_end
755	# Tail Round 3
756	movl	12(%esi),%ecx
757	movl	12(%edi),%edx
758	addl	%eax,%ecx
759	movl	$0,%eax
760	adcl	%eax,%eax
761	addl	%edx,%ecx
762	adcl	$0,%eax
763	decl	%ebp
764	movl	%ecx,12(%ebx)
765	jz	L025aw_end
766	# Tail Round 4
767	movl	16(%esi),%ecx
768	movl	16(%edi),%edx
769	addl	%eax,%ecx
770	movl	$0,%eax
771	adcl	%eax,%eax
772	addl	%edx,%ecx
773	adcl	$0,%eax
774	decl	%ebp
775	movl	%ecx,16(%ebx)
776	jz	L025aw_end
777	# Tail Round 5
778	movl	20(%esi),%ecx
779	movl	20(%edi),%edx
780	addl	%eax,%ecx
781	movl	$0,%eax
782	adcl	%eax,%eax
783	addl	%edx,%ecx
784	adcl	$0,%eax
785	decl	%ebp
786	movl	%ecx,20(%ebx)
787	jz	L025aw_end
788	# Tail Round 6
789	movl	24(%esi),%ecx
790	movl	24(%edi),%edx
791	addl	%eax,%ecx
792	movl	$0,%eax
793	adcl	%eax,%eax
794	addl	%edx,%ecx
795	adcl	$0,%eax
796	movl	%ecx,24(%ebx)
797L025aw_end:
798	popl	%edi
799	popl	%esi
800	popl	%ebx
801	popl	%ebp
802	ret
803.globl	_bn_sub_words
804.private_extern	_bn_sub_words
805.align	4
806_bn_sub_words:
807L_bn_sub_words_begin:
808	pushl	%ebp
809	pushl	%ebx
810	pushl	%esi
811	pushl	%edi
812
813	movl	20(%esp),%ebx
814	movl	24(%esp),%esi
815	movl	28(%esp),%edi
816	movl	32(%esp),%ebp
817	xorl	%eax,%eax
818	andl	$4294967288,%ebp
819	jz	L026aw_finish
820L027aw_loop:
821	# Round 0
822	movl	(%esi),%ecx
823	movl	(%edi),%edx
824	subl	%eax,%ecx
825	movl	$0,%eax
826	adcl	%eax,%eax
827	subl	%edx,%ecx
828	adcl	$0,%eax
829	movl	%ecx,(%ebx)
830	# Round 1
831	movl	4(%esi),%ecx
832	movl	4(%edi),%edx
833	subl	%eax,%ecx
834	movl	$0,%eax
835	adcl	%eax,%eax
836	subl	%edx,%ecx
837	adcl	$0,%eax
838	movl	%ecx,4(%ebx)
839	# Round 2
840	movl	8(%esi),%ecx
841	movl	8(%edi),%edx
842	subl	%eax,%ecx
843	movl	$0,%eax
844	adcl	%eax,%eax
845	subl	%edx,%ecx
846	adcl	$0,%eax
847	movl	%ecx,8(%ebx)
848	# Round 3
849	movl	12(%esi),%ecx
850	movl	12(%edi),%edx
851	subl	%eax,%ecx
852	movl	$0,%eax
853	adcl	%eax,%eax
854	subl	%edx,%ecx
855	adcl	$0,%eax
856	movl	%ecx,12(%ebx)
857	# Round 4
858	movl	16(%esi),%ecx
859	movl	16(%edi),%edx
860	subl	%eax,%ecx
861	movl	$0,%eax
862	adcl	%eax,%eax
863	subl	%edx,%ecx
864	adcl	$0,%eax
865	movl	%ecx,16(%ebx)
866	# Round 5
867	movl	20(%esi),%ecx
868	movl	20(%edi),%edx
869	subl	%eax,%ecx
870	movl	$0,%eax
871	adcl	%eax,%eax
872	subl	%edx,%ecx
873	adcl	$0,%eax
874	movl	%ecx,20(%ebx)
875	# Round 6
876	movl	24(%esi),%ecx
877	movl	24(%edi),%edx
878	subl	%eax,%ecx
879	movl	$0,%eax
880	adcl	%eax,%eax
881	subl	%edx,%ecx
882	adcl	$0,%eax
883	movl	%ecx,24(%ebx)
884	# Round 7
885	movl	28(%esi),%ecx
886	movl	28(%edi),%edx
887	subl	%eax,%ecx
888	movl	$0,%eax
889	adcl	%eax,%eax
890	subl	%edx,%ecx
891	adcl	$0,%eax
892	movl	%ecx,28(%ebx)
893
894	addl	$32,%esi
895	addl	$32,%edi
896	addl	$32,%ebx
897	subl	$8,%ebp
898	jnz	L027aw_loop
899L026aw_finish:
900	movl	32(%esp),%ebp
901	andl	$7,%ebp
902	jz	L028aw_end
903	# Tail Round 0
904	movl	(%esi),%ecx
905	movl	(%edi),%edx
906	subl	%eax,%ecx
907	movl	$0,%eax
908	adcl	%eax,%eax
909	subl	%edx,%ecx
910	adcl	$0,%eax
911	decl	%ebp
912	movl	%ecx,(%ebx)
913	jz	L028aw_end
914	# Tail Round 1
915	movl	4(%esi),%ecx
916	movl	4(%edi),%edx
917	subl	%eax,%ecx
918	movl	$0,%eax
919	adcl	%eax,%eax
920	subl	%edx,%ecx
921	adcl	$0,%eax
922	decl	%ebp
923	movl	%ecx,4(%ebx)
924	jz	L028aw_end
925	# Tail Round 2
926	movl	8(%esi),%ecx
927	movl	8(%edi),%edx
928	subl	%eax,%ecx
929	movl	$0,%eax
930	adcl	%eax,%eax
931	subl	%edx,%ecx
932	adcl	$0,%eax
933	decl	%ebp
934	movl	%ecx,8(%ebx)
935	jz	L028aw_end
936	# Tail Round 3
937	movl	12(%esi),%ecx
938	movl	12(%edi),%edx
939	subl	%eax,%ecx
940	movl	$0,%eax
941	adcl	%eax,%eax
942	subl	%edx,%ecx
943	adcl	$0,%eax
944	decl	%ebp
945	movl	%ecx,12(%ebx)
946	jz	L028aw_end
947	# Tail Round 4
948	movl	16(%esi),%ecx
949	movl	16(%edi),%edx
950	subl	%eax,%ecx
951	movl	$0,%eax
952	adcl	%eax,%eax
953	subl	%edx,%ecx
954	adcl	$0,%eax
955	decl	%ebp
956	movl	%ecx,16(%ebx)
957	jz	L028aw_end
958	# Tail Round 5
959	movl	20(%esi),%ecx
960	movl	20(%edi),%edx
961	subl	%eax,%ecx
962	movl	$0,%eax
963	adcl	%eax,%eax
964	subl	%edx,%ecx
965	adcl	$0,%eax
966	decl	%ebp
967	movl	%ecx,20(%ebx)
968	jz	L028aw_end
969	# Tail Round 6
970	movl	24(%esi),%ecx
971	movl	24(%edi),%edx
972	subl	%eax,%ecx
973	movl	$0,%eax
974	adcl	%eax,%eax
975	subl	%edx,%ecx
976	adcl	$0,%eax
977	movl	%ecx,24(%ebx)
978L028aw_end:
979	popl	%edi
980	popl	%esi
981	popl	%ebx
982	popl	%ebp
983	ret
984.globl	_bn_sub_part_words
985.private_extern	_bn_sub_part_words
986.align	4
987_bn_sub_part_words:
988L_bn_sub_part_words_begin:
989	pushl	%ebp
990	pushl	%ebx
991	pushl	%esi
992	pushl	%edi
993
994	movl	20(%esp),%ebx
995	movl	24(%esp),%esi
996	movl	28(%esp),%edi
997	movl	32(%esp),%ebp
998	xorl	%eax,%eax
999	andl	$4294967288,%ebp
1000	jz	L029aw_finish
1001L030aw_loop:
1002	# Round 0
1003	movl	(%esi),%ecx
1004	movl	(%edi),%edx
1005	subl	%eax,%ecx
1006	movl	$0,%eax
1007	adcl	%eax,%eax
1008	subl	%edx,%ecx
1009	adcl	$0,%eax
1010	movl	%ecx,(%ebx)
1011	# Round 1
1012	movl	4(%esi),%ecx
1013	movl	4(%edi),%edx
1014	subl	%eax,%ecx
1015	movl	$0,%eax
1016	adcl	%eax,%eax
1017	subl	%edx,%ecx
1018	adcl	$0,%eax
1019	movl	%ecx,4(%ebx)
1020	# Round 2
1021	movl	8(%esi),%ecx
1022	movl	8(%edi),%edx
1023	subl	%eax,%ecx
1024	movl	$0,%eax
1025	adcl	%eax,%eax
1026	subl	%edx,%ecx
1027	adcl	$0,%eax
1028	movl	%ecx,8(%ebx)
1029	# Round 3
1030	movl	12(%esi),%ecx
1031	movl	12(%edi),%edx
1032	subl	%eax,%ecx
1033	movl	$0,%eax
1034	adcl	%eax,%eax
1035	subl	%edx,%ecx
1036	adcl	$0,%eax
1037	movl	%ecx,12(%ebx)
1038	# Round 4
1039	movl	16(%esi),%ecx
1040	movl	16(%edi),%edx
1041	subl	%eax,%ecx
1042	movl	$0,%eax
1043	adcl	%eax,%eax
1044	subl	%edx,%ecx
1045	adcl	$0,%eax
1046	movl	%ecx,16(%ebx)
1047	# Round 5
1048	movl	20(%esi),%ecx
1049	movl	20(%edi),%edx
1050	subl	%eax,%ecx
1051	movl	$0,%eax
1052	adcl	%eax,%eax
1053	subl	%edx,%ecx
1054	adcl	$0,%eax
1055	movl	%ecx,20(%ebx)
1056	# Round 6
1057	movl	24(%esi),%ecx
1058	movl	24(%edi),%edx
1059	subl	%eax,%ecx
1060	movl	$0,%eax
1061	adcl	%eax,%eax
1062	subl	%edx,%ecx
1063	adcl	$0,%eax
1064	movl	%ecx,24(%ebx)
1065	# Round 7
1066	movl	28(%esi),%ecx
1067	movl	28(%edi),%edx
1068	subl	%eax,%ecx
1069	movl	$0,%eax
1070	adcl	%eax,%eax
1071	subl	%edx,%ecx
1072	adcl	$0,%eax
1073	movl	%ecx,28(%ebx)
1074
1075	addl	$32,%esi
1076	addl	$32,%edi
1077	addl	$32,%ebx
1078	subl	$8,%ebp
1079	jnz	L030aw_loop
1080L029aw_finish:
1081	movl	32(%esp),%ebp
1082	andl	$7,%ebp
1083	jz	L031aw_end
1084	# Tail Round 0
1085	movl	(%esi),%ecx
1086	movl	(%edi),%edx
1087	subl	%eax,%ecx
1088	movl	$0,%eax
1089	adcl	%eax,%eax
1090	subl	%edx,%ecx
1091	adcl	$0,%eax
1092	movl	%ecx,(%ebx)
1093	addl	$4,%esi
1094	addl	$4,%edi
1095	addl	$4,%ebx
1096	decl	%ebp
1097	jz	L031aw_end
1098	# Tail Round 1
1099	movl	(%esi),%ecx
1100	movl	(%edi),%edx
1101	subl	%eax,%ecx
1102	movl	$0,%eax
1103	adcl	%eax,%eax
1104	subl	%edx,%ecx
1105	adcl	$0,%eax
1106	movl	%ecx,(%ebx)
1107	addl	$4,%esi
1108	addl	$4,%edi
1109	addl	$4,%ebx
1110	decl	%ebp
1111	jz	L031aw_end
1112	# Tail Round 2
1113	movl	(%esi),%ecx
1114	movl	(%edi),%edx
1115	subl	%eax,%ecx
1116	movl	$0,%eax
1117	adcl	%eax,%eax
1118	subl	%edx,%ecx
1119	adcl	$0,%eax
1120	movl	%ecx,(%ebx)
1121	addl	$4,%esi
1122	addl	$4,%edi
1123	addl	$4,%ebx
1124	decl	%ebp
1125	jz	L031aw_end
1126	# Tail Round 3
1127	movl	(%esi),%ecx
1128	movl	(%edi),%edx
1129	subl	%eax,%ecx
1130	movl	$0,%eax
1131	adcl	%eax,%eax
1132	subl	%edx,%ecx
1133	adcl	$0,%eax
1134	movl	%ecx,(%ebx)
1135	addl	$4,%esi
1136	addl	$4,%edi
1137	addl	$4,%ebx
1138	decl	%ebp
1139	jz	L031aw_end
1140	# Tail Round 4
1141	movl	(%esi),%ecx
1142	movl	(%edi),%edx
1143	subl	%eax,%ecx
1144	movl	$0,%eax
1145	adcl	%eax,%eax
1146	subl	%edx,%ecx
1147	adcl	$0,%eax
1148	movl	%ecx,(%ebx)
1149	addl	$4,%esi
1150	addl	$4,%edi
1151	addl	$4,%ebx
1152	decl	%ebp
1153	jz	L031aw_end
1154	# Tail Round 5
1155	movl	(%esi),%ecx
1156	movl	(%edi),%edx
1157	subl	%eax,%ecx
1158	movl	$0,%eax
1159	adcl	%eax,%eax
1160	subl	%edx,%ecx
1161	adcl	$0,%eax
1162	movl	%ecx,(%ebx)
1163	addl	$4,%esi
1164	addl	$4,%edi
1165	addl	$4,%ebx
1166	decl	%ebp
1167	jz	L031aw_end
1168	# Tail Round 6
1169	movl	(%esi),%ecx
1170	movl	(%edi),%edx
1171	subl	%eax,%ecx
1172	movl	$0,%eax
1173	adcl	%eax,%eax
1174	subl	%edx,%ecx
1175	adcl	$0,%eax
1176	movl	%ecx,(%ebx)
1177	addl	$4,%esi
1178	addl	$4,%edi
1179	addl	$4,%ebx
1180L031aw_end:
1181	cmpl	$0,36(%esp)
1182	je	L032pw_end
1183	movl	36(%esp),%ebp
1184	cmpl	$0,%ebp
1185	je	L032pw_end
1186	jge	L033pw_pos
1187	# pw_neg
1188	movl	$0,%edx
1189	subl	%ebp,%edx
1190	movl	%edx,%ebp
1191	andl	$4294967288,%ebp
1192	jz	L034pw_neg_finish
1193L035pw_neg_loop:
1194	# dl<0 Round 0
1195	movl	$0,%ecx
1196	movl	(%edi),%edx
1197	subl	%eax,%ecx
1198	movl	$0,%eax
1199	adcl	%eax,%eax
1200	subl	%edx,%ecx
1201	adcl	$0,%eax
1202	movl	%ecx,(%ebx)
1203	# dl<0 Round 1
1204	movl	$0,%ecx
1205	movl	4(%edi),%edx
1206	subl	%eax,%ecx
1207	movl	$0,%eax
1208	adcl	%eax,%eax
1209	subl	%edx,%ecx
1210	adcl	$0,%eax
1211	movl	%ecx,4(%ebx)
1212	# dl<0 Round 2
1213	movl	$0,%ecx
1214	movl	8(%edi),%edx
1215	subl	%eax,%ecx
1216	movl	$0,%eax
1217	adcl	%eax,%eax
1218	subl	%edx,%ecx
1219	adcl	$0,%eax
1220	movl	%ecx,8(%ebx)
1221	# dl<0 Round 3
1222	movl	$0,%ecx
1223	movl	12(%edi),%edx
1224	subl	%eax,%ecx
1225	movl	$0,%eax
1226	adcl	%eax,%eax
1227	subl	%edx,%ecx
1228	adcl	$0,%eax
1229	movl	%ecx,12(%ebx)
1230	# dl<0 Round 4
1231	movl	$0,%ecx
1232	movl	16(%edi),%edx
1233	subl	%eax,%ecx
1234	movl	$0,%eax
1235	adcl	%eax,%eax
1236	subl	%edx,%ecx
1237	adcl	$0,%eax
1238	movl	%ecx,16(%ebx)
1239	# dl<0 Round 5
1240	movl	$0,%ecx
1241	movl	20(%edi),%edx
1242	subl	%eax,%ecx
1243	movl	$0,%eax
1244	adcl	%eax,%eax
1245	subl	%edx,%ecx
1246	adcl	$0,%eax
1247	movl	%ecx,20(%ebx)
1248	# dl<0 Round 6
1249	movl	$0,%ecx
1250	movl	24(%edi),%edx
1251	subl	%eax,%ecx
1252	movl	$0,%eax
1253	adcl	%eax,%eax
1254	subl	%edx,%ecx
1255	adcl	$0,%eax
1256	movl	%ecx,24(%ebx)
1257	# dl<0 Round 7
1258	movl	$0,%ecx
1259	movl	28(%edi),%edx
1260	subl	%eax,%ecx
1261	movl	$0,%eax
1262	adcl	%eax,%eax
1263	subl	%edx,%ecx
1264	adcl	$0,%eax
1265	movl	%ecx,28(%ebx)
1266
1267	addl	$32,%edi
1268	addl	$32,%ebx
1269	subl	$8,%ebp
1270	jnz	L035pw_neg_loop
1271L034pw_neg_finish:
1272	movl	36(%esp),%edx
1273	movl	$0,%ebp
1274	subl	%edx,%ebp
1275	andl	$7,%ebp
1276	jz	L032pw_end
1277	# dl<0 Tail Round 0
1278	movl	$0,%ecx
1279	movl	(%edi),%edx
1280	subl	%eax,%ecx
1281	movl	$0,%eax
1282	adcl	%eax,%eax
1283	subl	%edx,%ecx
1284	adcl	$0,%eax
1285	decl	%ebp
1286	movl	%ecx,(%ebx)
1287	jz	L032pw_end
1288	# dl<0 Tail Round 1
1289	movl	$0,%ecx
1290	movl	4(%edi),%edx
1291	subl	%eax,%ecx
1292	movl	$0,%eax
1293	adcl	%eax,%eax
1294	subl	%edx,%ecx
1295	adcl	$0,%eax
1296	decl	%ebp
1297	movl	%ecx,4(%ebx)
1298	jz	L032pw_end
1299	# dl<0 Tail Round 2
1300	movl	$0,%ecx
1301	movl	8(%edi),%edx
1302	subl	%eax,%ecx
1303	movl	$0,%eax
1304	adcl	%eax,%eax
1305	subl	%edx,%ecx
1306	adcl	$0,%eax
1307	decl	%ebp
1308	movl	%ecx,8(%ebx)
1309	jz	L032pw_end
1310	# dl<0 Tail Round 3
1311	movl	$0,%ecx
1312	movl	12(%edi),%edx
1313	subl	%eax,%ecx
1314	movl	$0,%eax
1315	adcl	%eax,%eax
1316	subl	%edx,%ecx
1317	adcl	$0,%eax
1318	decl	%ebp
1319	movl	%ecx,12(%ebx)
1320	jz	L032pw_end
1321	# dl<0 Tail Round 4
1322	movl	$0,%ecx
1323	movl	16(%edi),%edx
1324	subl	%eax,%ecx
1325	movl	$0,%eax
1326	adcl	%eax,%eax
1327	subl	%edx,%ecx
1328	adcl	$0,%eax
1329	decl	%ebp
1330	movl	%ecx,16(%ebx)
1331	jz	L032pw_end
1332	# dl<0 Tail Round 5
1333	movl	$0,%ecx
1334	movl	20(%edi),%edx
1335	subl	%eax,%ecx
1336	movl	$0,%eax
1337	adcl	%eax,%eax
1338	subl	%edx,%ecx
1339	adcl	$0,%eax
1340	decl	%ebp
1341	movl	%ecx,20(%ebx)
1342	jz	L032pw_end
1343	# dl<0 Tail Round 6
1344	movl	$0,%ecx
1345	movl	24(%edi),%edx
1346	subl	%eax,%ecx
1347	movl	$0,%eax
1348	adcl	%eax,%eax
1349	subl	%edx,%ecx
1350	adcl	$0,%eax
1351	movl	%ecx,24(%ebx)
1352	jmp	L032pw_end
1353L033pw_pos:
1354	andl	$4294967288,%ebp
1355	jz	L036pw_pos_finish
1356L037pw_pos_loop:
1357	# dl>0 Round 0
1358	movl	(%esi),%ecx
1359	subl	%eax,%ecx
1360	movl	%ecx,(%ebx)
1361	jnc	L038pw_nc0
1362	# dl>0 Round 1
1363	movl	4(%esi),%ecx
1364	subl	%eax,%ecx
1365	movl	%ecx,4(%ebx)
1366	jnc	L039pw_nc1
1367	# dl>0 Round 2
1368	movl	8(%esi),%ecx
1369	subl	%eax,%ecx
1370	movl	%ecx,8(%ebx)
1371	jnc	L040pw_nc2
1372	# dl>0 Round 3
1373	movl	12(%esi),%ecx
1374	subl	%eax,%ecx
1375	movl	%ecx,12(%ebx)
1376	jnc	L041pw_nc3
1377	# dl>0 Round 4
1378	movl	16(%esi),%ecx
1379	subl	%eax,%ecx
1380	movl	%ecx,16(%ebx)
1381	jnc	L042pw_nc4
1382	# dl>0 Round 5
1383	movl	20(%esi),%ecx
1384	subl	%eax,%ecx
1385	movl	%ecx,20(%ebx)
1386	jnc	L043pw_nc5
1387	# dl>0 Round 6
1388	movl	24(%esi),%ecx
1389	subl	%eax,%ecx
1390	movl	%ecx,24(%ebx)
1391	jnc	L044pw_nc6
1392	# dl>0 Round 7
1393	movl	28(%esi),%ecx
1394	subl	%eax,%ecx
1395	movl	%ecx,28(%ebx)
1396	jnc	L045pw_nc7
1397
1398	addl	$32,%esi
1399	addl	$32,%ebx
1400	subl	$8,%ebp
1401	jnz	L037pw_pos_loop
1402L036pw_pos_finish:
1403	movl	36(%esp),%ebp
1404	andl	$7,%ebp
1405	jz	L032pw_end
1406	# dl>0 Tail Round 0
1407	movl	(%esi),%ecx
1408	subl	%eax,%ecx
1409	movl	%ecx,(%ebx)
1410	jnc	L046pw_tail_nc0
1411	decl	%ebp
1412	jz	L032pw_end
1413	# dl>0 Tail Round 1
1414	movl	4(%esi),%ecx
1415	subl	%eax,%ecx
1416	movl	%ecx,4(%ebx)
1417	jnc	L047pw_tail_nc1
1418	decl	%ebp
1419	jz	L032pw_end
1420	# dl>0 Tail Round 2
1421	movl	8(%esi),%ecx
1422	subl	%eax,%ecx
1423	movl	%ecx,8(%ebx)
1424	jnc	L048pw_tail_nc2
1425	decl	%ebp
1426	jz	L032pw_end
1427	# dl>0 Tail Round 3
1428	movl	12(%esi),%ecx
1429	subl	%eax,%ecx
1430	movl	%ecx,12(%ebx)
1431	jnc	L049pw_tail_nc3
1432	decl	%ebp
1433	jz	L032pw_end
1434	# dl>0 Tail Round 4
1435	movl	16(%esi),%ecx
1436	subl	%eax,%ecx
1437	movl	%ecx,16(%ebx)
1438	jnc	L050pw_tail_nc4
1439	decl	%ebp
1440	jz	L032pw_end
1441	# dl>0 Tail Round 5
1442	movl	20(%esi),%ecx
1443	subl	%eax,%ecx
1444	movl	%ecx,20(%ebx)
1445	jnc	L051pw_tail_nc5
1446	decl	%ebp
1447	jz	L032pw_end
1448	# dl>0 Tail Round 6
1449	movl	24(%esi),%ecx
1450	subl	%eax,%ecx
1451	movl	%ecx,24(%ebx)
1452	jnc	L052pw_tail_nc6
1453	movl	$1,%eax
1454	jmp	L032pw_end
1455L053pw_nc_loop:
1456	movl	(%esi),%ecx
1457	movl	%ecx,(%ebx)
1458L038pw_nc0:
1459	movl	4(%esi),%ecx
1460	movl	%ecx,4(%ebx)
1461L039pw_nc1:
1462	movl	8(%esi),%ecx
1463	movl	%ecx,8(%ebx)
1464L040pw_nc2:
1465	movl	12(%esi),%ecx
1466	movl	%ecx,12(%ebx)
1467L041pw_nc3:
1468	movl	16(%esi),%ecx
1469	movl	%ecx,16(%ebx)
1470L042pw_nc4:
1471	movl	20(%esi),%ecx
1472	movl	%ecx,20(%ebx)
1473L043pw_nc5:
1474	movl	24(%esi),%ecx
1475	movl	%ecx,24(%ebx)
1476L044pw_nc6:
1477	movl	28(%esi),%ecx
1478	movl	%ecx,28(%ebx)
1479L045pw_nc7:
1480
1481	addl	$32,%esi
1482	addl	$32,%ebx
1483	subl	$8,%ebp
1484	jnz	L053pw_nc_loop
1485	movl	36(%esp),%ebp
1486	andl	$7,%ebp
1487	jz	L054pw_nc_end
1488	movl	(%esi),%ecx
1489	movl	%ecx,(%ebx)
1490L046pw_tail_nc0:
1491	decl	%ebp
1492	jz	L054pw_nc_end
1493	movl	4(%esi),%ecx
1494	movl	%ecx,4(%ebx)
1495L047pw_tail_nc1:
1496	decl	%ebp
1497	jz	L054pw_nc_end
1498	movl	8(%esi),%ecx
1499	movl	%ecx,8(%ebx)
1500L048pw_tail_nc2:
1501	decl	%ebp
1502	jz	L054pw_nc_end
1503	movl	12(%esi),%ecx
1504	movl	%ecx,12(%ebx)
1505L049pw_tail_nc3:
1506	decl	%ebp
1507	jz	L054pw_nc_end
1508	movl	16(%esi),%ecx
1509	movl	%ecx,16(%ebx)
1510L050pw_tail_nc4:
1511	decl	%ebp
1512	jz	L054pw_nc_end
1513	movl	20(%esi),%ecx
1514	movl	%ecx,20(%ebx)
1515L051pw_tail_nc5:
1516	decl	%ebp
1517	jz	L054pw_nc_end
1518	movl	24(%esi),%ecx
1519	movl	%ecx,24(%ebx)
1520L052pw_tail_nc6:
1521L054pw_nc_end:
1522	movl	$0,%eax
1523L032pw_end:
1524	popl	%edi
1525	popl	%esi
1526	popl	%ebx
1527	popl	%ebp
1528	ret
1529.section __IMPORT,__pointers,non_lazy_symbol_pointers
1530L_OPENSSL_ia32cap_P$non_lazy_ptr:
1531.indirect_symbol	_OPENSSL_ia32cap_P
1532.long	0
1533#endif
1534