1OPTION	DOTNAME
2.text$	SEGMENT ALIGN(256) 'CODE'
3EXTERN	OPENSSL_ia32cap_P:NEAR
4
5PUBLIC	sha1_block_data_order
6
7ALIGN	16
8sha1_block_data_order	PROC PUBLIC
9	mov	QWORD PTR[8+rsp],rdi	;WIN64 prologue
10	mov	QWORD PTR[16+rsp],rsi
11	mov	rax,rsp
12$L$SEH_begin_sha1_block_data_order::
13	mov	rdi,rcx
14	mov	rsi,rdx
15	mov	rdx,r8
16
17
18	mov	r9d,DWORD PTR[((OPENSSL_ia32cap_P+0))]
19	mov	r8d,DWORD PTR[((OPENSSL_ia32cap_P+4))]
20	mov	r10d,DWORD PTR[((OPENSSL_ia32cap_P+8))]
21	test	r8d,512
22	jz	$L$ialu
23	jmp	_ssse3_shortcut
24
25ALIGN	16
26$L$ialu::
27	mov	rax,rsp
28	push	rbx
29	push	rbp
30	push	r12
31	push	r13
32	push	r14
33	mov	r8,rdi
34	sub	rsp,72
35	mov	r9,rsi
36	and	rsp,-64
37	mov	r10,rdx
38	mov	QWORD PTR[64+rsp],rax
39$L$prologue::
40
41	mov	esi,DWORD PTR[r8]
42	mov	edi,DWORD PTR[4+r8]
43	mov	r11d,DWORD PTR[8+r8]
44	mov	r12d,DWORD PTR[12+r8]
45	mov	r13d,DWORD PTR[16+r8]
46	jmp	$L$loop
47
48ALIGN	16
49$L$loop::
50	mov	edx,DWORD PTR[r9]
51	bswap	edx
52	mov	ebp,DWORD PTR[4+r9]
53	mov	eax,r12d
54	mov	DWORD PTR[rsp],edx
55	mov	ecx,esi
56	bswap	ebp
57	xor	eax,r11d
58	rol	ecx,5
59	and	eax,edi
60	lea	r13d,DWORD PTR[1518500249+r13*1+rdx]
61	add	r13d,ecx
62	xor	eax,r12d
63	rol	edi,30
64	add	r13d,eax
65	mov	r14d,DWORD PTR[8+r9]
66	mov	eax,r11d
67	mov	DWORD PTR[4+rsp],ebp
68	mov	ecx,r13d
69	bswap	r14d
70	xor	eax,edi
71	rol	ecx,5
72	and	eax,esi
73	lea	r12d,DWORD PTR[1518500249+r12*1+rbp]
74	add	r12d,ecx
75	xor	eax,r11d
76	rol	esi,30
77	add	r12d,eax
78	mov	edx,DWORD PTR[12+r9]
79	mov	eax,edi
80	mov	DWORD PTR[8+rsp],r14d
81	mov	ecx,r12d
82	bswap	edx
83	xor	eax,esi
84	rol	ecx,5
85	and	eax,r13d
86	lea	r11d,DWORD PTR[1518500249+r11*1+r14]
87	add	r11d,ecx
88	xor	eax,edi
89	rol	r13d,30
90	add	r11d,eax
91	mov	ebp,DWORD PTR[16+r9]
92	mov	eax,esi
93	mov	DWORD PTR[12+rsp],edx
94	mov	ecx,r11d
95	bswap	ebp
96	xor	eax,r13d
97	rol	ecx,5
98	and	eax,r12d
99	lea	edi,DWORD PTR[1518500249+rdi*1+rdx]
100	add	edi,ecx
101	xor	eax,esi
102	rol	r12d,30
103	add	edi,eax
104	mov	r14d,DWORD PTR[20+r9]
105	mov	eax,r13d
106	mov	DWORD PTR[16+rsp],ebp
107	mov	ecx,edi
108	bswap	r14d
109	xor	eax,r12d
110	rol	ecx,5
111	and	eax,r11d
112	lea	esi,DWORD PTR[1518500249+rsi*1+rbp]
113	add	esi,ecx
114	xor	eax,r13d
115	rol	r11d,30
116	add	esi,eax
117	mov	edx,DWORD PTR[24+r9]
118	mov	eax,r12d
119	mov	DWORD PTR[20+rsp],r14d
120	mov	ecx,esi
121	bswap	edx
122	xor	eax,r11d
123	rol	ecx,5
124	and	eax,edi
125	lea	r13d,DWORD PTR[1518500249+r13*1+r14]
126	add	r13d,ecx
127	xor	eax,r12d
128	rol	edi,30
129	add	r13d,eax
130	mov	ebp,DWORD PTR[28+r9]
131	mov	eax,r11d
132	mov	DWORD PTR[24+rsp],edx
133	mov	ecx,r13d
134	bswap	ebp
135	xor	eax,edi
136	rol	ecx,5
137	and	eax,esi
138	lea	r12d,DWORD PTR[1518500249+r12*1+rdx]
139	add	r12d,ecx
140	xor	eax,r11d
141	rol	esi,30
142	add	r12d,eax
143	mov	r14d,DWORD PTR[32+r9]
144	mov	eax,edi
145	mov	DWORD PTR[28+rsp],ebp
146	mov	ecx,r12d
147	bswap	r14d
148	xor	eax,esi
149	rol	ecx,5
150	and	eax,r13d
151	lea	r11d,DWORD PTR[1518500249+r11*1+rbp]
152	add	r11d,ecx
153	xor	eax,edi
154	rol	r13d,30
155	add	r11d,eax
156	mov	edx,DWORD PTR[36+r9]
157	mov	eax,esi
158	mov	DWORD PTR[32+rsp],r14d
159	mov	ecx,r11d
160	bswap	edx
161	xor	eax,r13d
162	rol	ecx,5
163	and	eax,r12d
164	lea	edi,DWORD PTR[1518500249+rdi*1+r14]
165	add	edi,ecx
166	xor	eax,esi
167	rol	r12d,30
168	add	edi,eax
169	mov	ebp,DWORD PTR[40+r9]
170	mov	eax,r13d
171	mov	DWORD PTR[36+rsp],edx
172	mov	ecx,edi
173	bswap	ebp
174	xor	eax,r12d
175	rol	ecx,5
176	and	eax,r11d
177	lea	esi,DWORD PTR[1518500249+rsi*1+rdx]
178	add	esi,ecx
179	xor	eax,r13d
180	rol	r11d,30
181	add	esi,eax
182	mov	r14d,DWORD PTR[44+r9]
183	mov	eax,r12d
184	mov	DWORD PTR[40+rsp],ebp
185	mov	ecx,esi
186	bswap	r14d
187	xor	eax,r11d
188	rol	ecx,5
189	and	eax,edi
190	lea	r13d,DWORD PTR[1518500249+r13*1+rbp]
191	add	r13d,ecx
192	xor	eax,r12d
193	rol	edi,30
194	add	r13d,eax
195	mov	edx,DWORD PTR[48+r9]
196	mov	eax,r11d
197	mov	DWORD PTR[44+rsp],r14d
198	mov	ecx,r13d
199	bswap	edx
200	xor	eax,edi
201	rol	ecx,5
202	and	eax,esi
203	lea	r12d,DWORD PTR[1518500249+r12*1+r14]
204	add	r12d,ecx
205	xor	eax,r11d
206	rol	esi,30
207	add	r12d,eax
208	mov	ebp,DWORD PTR[52+r9]
209	mov	eax,edi
210	mov	DWORD PTR[48+rsp],edx
211	mov	ecx,r12d
212	bswap	ebp
213	xor	eax,esi
214	rol	ecx,5
215	and	eax,r13d
216	lea	r11d,DWORD PTR[1518500249+r11*1+rdx]
217	add	r11d,ecx
218	xor	eax,edi
219	rol	r13d,30
220	add	r11d,eax
221	mov	r14d,DWORD PTR[56+r9]
222	mov	eax,esi
223	mov	DWORD PTR[52+rsp],ebp
224	mov	ecx,r11d
225	bswap	r14d
226	xor	eax,r13d
227	rol	ecx,5
228	and	eax,r12d
229	lea	edi,DWORD PTR[1518500249+rdi*1+rbp]
230	add	edi,ecx
231	xor	eax,esi
232	rol	r12d,30
233	add	edi,eax
234	mov	edx,DWORD PTR[60+r9]
235	mov	eax,r13d
236	mov	DWORD PTR[56+rsp],r14d
237	mov	ecx,edi
238	bswap	edx
239	xor	eax,r12d
240	rol	ecx,5
241	and	eax,r11d
242	lea	esi,DWORD PTR[1518500249+rsi*1+r14]
243	add	esi,ecx
244	xor	eax,r13d
245	rol	r11d,30
246	add	esi,eax
247	xor	ebp,DWORD PTR[rsp]
248	mov	eax,r12d
249	mov	DWORD PTR[60+rsp],edx
250	mov	ecx,esi
251	xor	ebp,DWORD PTR[8+rsp]
252	xor	eax,r11d
253	rol	ecx,5
254	xor	ebp,DWORD PTR[32+rsp]
255	and	eax,edi
256	lea	r13d,DWORD PTR[1518500249+r13*1+rdx]
257	rol	edi,30
258	xor	eax,r12d
259	add	r13d,ecx
260	rol	ebp,1
261	add	r13d,eax
262	xor	r14d,DWORD PTR[4+rsp]
263	mov	eax,r11d
264	mov	DWORD PTR[rsp],ebp
265	mov	ecx,r13d
266	xor	r14d,DWORD PTR[12+rsp]
267	xor	eax,edi
268	rol	ecx,5
269	xor	r14d,DWORD PTR[36+rsp]
270	and	eax,esi
271	lea	r12d,DWORD PTR[1518500249+r12*1+rbp]
272	rol	esi,30
273	xor	eax,r11d
274	add	r12d,ecx
275	rol	r14d,1
276	add	r12d,eax
277	xor	edx,DWORD PTR[8+rsp]
278	mov	eax,edi
279	mov	DWORD PTR[4+rsp],r14d
280	mov	ecx,r12d
281	xor	edx,DWORD PTR[16+rsp]
282	xor	eax,esi
283	rol	ecx,5
284	xor	edx,DWORD PTR[40+rsp]
285	and	eax,r13d
286	lea	r11d,DWORD PTR[1518500249+r11*1+r14]
287	rol	r13d,30
288	xor	eax,edi
289	add	r11d,ecx
290	rol	edx,1
291	add	r11d,eax
292	xor	ebp,DWORD PTR[12+rsp]
293	mov	eax,esi
294	mov	DWORD PTR[8+rsp],edx
295	mov	ecx,r11d
296	xor	ebp,DWORD PTR[20+rsp]
297	xor	eax,r13d
298	rol	ecx,5
299	xor	ebp,DWORD PTR[44+rsp]
300	and	eax,r12d
301	lea	edi,DWORD PTR[1518500249+rdi*1+rdx]
302	rol	r12d,30
303	xor	eax,esi
304	add	edi,ecx
305	rol	ebp,1
306	add	edi,eax
307	xor	r14d,DWORD PTR[16+rsp]
308	mov	eax,r13d
309	mov	DWORD PTR[12+rsp],ebp
310	mov	ecx,edi
311	xor	r14d,DWORD PTR[24+rsp]
312	xor	eax,r12d
313	rol	ecx,5
314	xor	r14d,DWORD PTR[48+rsp]
315	and	eax,r11d
316	lea	esi,DWORD PTR[1518500249+rsi*1+rbp]
317	rol	r11d,30
318	xor	eax,r13d
319	add	esi,ecx
320	rol	r14d,1
321	add	esi,eax
322	xor	edx,DWORD PTR[20+rsp]
323	mov	eax,edi
324	mov	DWORD PTR[16+rsp],r14d
325	mov	ecx,esi
326	xor	edx,DWORD PTR[28+rsp]
327	xor	eax,r12d
328	rol	ecx,5
329	xor	edx,DWORD PTR[52+rsp]
330	lea	r13d,DWORD PTR[1859775393+r13*1+r14]
331	xor	eax,r11d
332	add	r13d,ecx
333	rol	edi,30
334	add	r13d,eax
335	rol	edx,1
336	xor	ebp,DWORD PTR[24+rsp]
337	mov	eax,esi
338	mov	DWORD PTR[20+rsp],edx
339	mov	ecx,r13d
340	xor	ebp,DWORD PTR[32+rsp]
341	xor	eax,r11d
342	rol	ecx,5
343	xor	ebp,DWORD PTR[56+rsp]
344	lea	r12d,DWORD PTR[1859775393+r12*1+rdx]
345	xor	eax,edi
346	add	r12d,ecx
347	rol	esi,30
348	add	r12d,eax
349	rol	ebp,1
350	xor	r14d,DWORD PTR[28+rsp]
351	mov	eax,r13d
352	mov	DWORD PTR[24+rsp],ebp
353	mov	ecx,r12d
354	xor	r14d,DWORD PTR[36+rsp]
355	xor	eax,edi
356	rol	ecx,5
357	xor	r14d,DWORD PTR[60+rsp]
358	lea	r11d,DWORD PTR[1859775393+r11*1+rbp]
359	xor	eax,esi
360	add	r11d,ecx
361	rol	r13d,30
362	add	r11d,eax
363	rol	r14d,1
364	xor	edx,DWORD PTR[32+rsp]
365	mov	eax,r12d
366	mov	DWORD PTR[28+rsp],r14d
367	mov	ecx,r11d
368	xor	edx,DWORD PTR[40+rsp]
369	xor	eax,esi
370	rol	ecx,5
371	xor	edx,DWORD PTR[rsp]
372	lea	edi,DWORD PTR[1859775393+rdi*1+r14]
373	xor	eax,r13d
374	add	edi,ecx
375	rol	r12d,30
376	add	edi,eax
377	rol	edx,1
378	xor	ebp,DWORD PTR[36+rsp]
379	mov	eax,r11d
380	mov	DWORD PTR[32+rsp],edx
381	mov	ecx,edi
382	xor	ebp,DWORD PTR[44+rsp]
383	xor	eax,r13d
384	rol	ecx,5
385	xor	ebp,DWORD PTR[4+rsp]
386	lea	esi,DWORD PTR[1859775393+rsi*1+rdx]
387	xor	eax,r12d
388	add	esi,ecx
389	rol	r11d,30
390	add	esi,eax
391	rol	ebp,1
392	xor	r14d,DWORD PTR[40+rsp]
393	mov	eax,edi
394	mov	DWORD PTR[36+rsp],ebp
395	mov	ecx,esi
396	xor	r14d,DWORD PTR[48+rsp]
397	xor	eax,r12d
398	rol	ecx,5
399	xor	r14d,DWORD PTR[8+rsp]
400	lea	r13d,DWORD PTR[1859775393+r13*1+rbp]
401	xor	eax,r11d
402	add	r13d,ecx
403	rol	edi,30
404	add	r13d,eax
405	rol	r14d,1
406	xor	edx,DWORD PTR[44+rsp]
407	mov	eax,esi
408	mov	DWORD PTR[40+rsp],r14d
409	mov	ecx,r13d
410	xor	edx,DWORD PTR[52+rsp]
411	xor	eax,r11d
412	rol	ecx,5
413	xor	edx,DWORD PTR[12+rsp]
414	lea	r12d,DWORD PTR[1859775393+r12*1+r14]
415	xor	eax,edi
416	add	r12d,ecx
417	rol	esi,30
418	add	r12d,eax
419	rol	edx,1
420	xor	ebp,DWORD PTR[48+rsp]
421	mov	eax,r13d
422	mov	DWORD PTR[44+rsp],edx
423	mov	ecx,r12d
424	xor	ebp,DWORD PTR[56+rsp]
425	xor	eax,edi
426	rol	ecx,5
427	xor	ebp,DWORD PTR[16+rsp]
428	lea	r11d,DWORD PTR[1859775393+r11*1+rdx]
429	xor	eax,esi
430	add	r11d,ecx
431	rol	r13d,30
432	add	r11d,eax
433	rol	ebp,1
434	xor	r14d,DWORD PTR[52+rsp]
435	mov	eax,r12d
436	mov	DWORD PTR[48+rsp],ebp
437	mov	ecx,r11d
438	xor	r14d,DWORD PTR[60+rsp]
439	xor	eax,esi
440	rol	ecx,5
441	xor	r14d,DWORD PTR[20+rsp]
442	lea	edi,DWORD PTR[1859775393+rdi*1+rbp]
443	xor	eax,r13d
444	add	edi,ecx
445	rol	r12d,30
446	add	edi,eax
447	rol	r14d,1
448	xor	edx,DWORD PTR[56+rsp]
449	mov	eax,r11d
450	mov	DWORD PTR[52+rsp],r14d
451	mov	ecx,edi
452	xor	edx,DWORD PTR[rsp]
453	xor	eax,r13d
454	rol	ecx,5
455	xor	edx,DWORD PTR[24+rsp]
456	lea	esi,DWORD PTR[1859775393+rsi*1+r14]
457	xor	eax,r12d
458	add	esi,ecx
459	rol	r11d,30
460	add	esi,eax
461	rol	edx,1
462	xor	ebp,DWORD PTR[60+rsp]
463	mov	eax,edi
464	mov	DWORD PTR[56+rsp],edx
465	mov	ecx,esi
466	xor	ebp,DWORD PTR[4+rsp]
467	xor	eax,r12d
468	rol	ecx,5
469	xor	ebp,DWORD PTR[28+rsp]
470	lea	r13d,DWORD PTR[1859775393+r13*1+rdx]
471	xor	eax,r11d
472	add	r13d,ecx
473	rol	edi,30
474	add	r13d,eax
475	rol	ebp,1
476	xor	r14d,DWORD PTR[rsp]
477	mov	eax,esi
478	mov	DWORD PTR[60+rsp],ebp
479	mov	ecx,r13d
480	xor	r14d,DWORD PTR[8+rsp]
481	xor	eax,r11d
482	rol	ecx,5
483	xor	r14d,DWORD PTR[32+rsp]
484	lea	r12d,DWORD PTR[1859775393+r12*1+rbp]
485	xor	eax,edi
486	add	r12d,ecx
487	rol	esi,30
488	add	r12d,eax
489	rol	r14d,1
490	xor	edx,DWORD PTR[4+rsp]
491	mov	eax,r13d
492	mov	DWORD PTR[rsp],r14d
493	mov	ecx,r12d
494	xor	edx,DWORD PTR[12+rsp]
495	xor	eax,edi
496	rol	ecx,5
497	xor	edx,DWORD PTR[36+rsp]
498	lea	r11d,DWORD PTR[1859775393+r11*1+r14]
499	xor	eax,esi
500	add	r11d,ecx
501	rol	r13d,30
502	add	r11d,eax
503	rol	edx,1
504	xor	ebp,DWORD PTR[8+rsp]
505	mov	eax,r12d
506	mov	DWORD PTR[4+rsp],edx
507	mov	ecx,r11d
508	xor	ebp,DWORD PTR[16+rsp]
509	xor	eax,esi
510	rol	ecx,5
511	xor	ebp,DWORD PTR[40+rsp]
512	lea	edi,DWORD PTR[1859775393+rdi*1+rdx]
513	xor	eax,r13d
514	add	edi,ecx
515	rol	r12d,30
516	add	edi,eax
517	rol	ebp,1
518	xor	r14d,DWORD PTR[12+rsp]
519	mov	eax,r11d
520	mov	DWORD PTR[8+rsp],ebp
521	mov	ecx,edi
522	xor	r14d,DWORD PTR[20+rsp]
523	xor	eax,r13d
524	rol	ecx,5
525	xor	r14d,DWORD PTR[44+rsp]
526	lea	esi,DWORD PTR[1859775393+rsi*1+rbp]
527	xor	eax,r12d
528	add	esi,ecx
529	rol	r11d,30
530	add	esi,eax
531	rol	r14d,1
532	xor	edx,DWORD PTR[16+rsp]
533	mov	eax,edi
534	mov	DWORD PTR[12+rsp],r14d
535	mov	ecx,esi
536	xor	edx,DWORD PTR[24+rsp]
537	xor	eax,r12d
538	rol	ecx,5
539	xor	edx,DWORD PTR[48+rsp]
540	lea	r13d,DWORD PTR[1859775393+r13*1+r14]
541	xor	eax,r11d
542	add	r13d,ecx
543	rol	edi,30
544	add	r13d,eax
545	rol	edx,1
546	xor	ebp,DWORD PTR[20+rsp]
547	mov	eax,esi
548	mov	DWORD PTR[16+rsp],edx
549	mov	ecx,r13d
550	xor	ebp,DWORD PTR[28+rsp]
551	xor	eax,r11d
552	rol	ecx,5
553	xor	ebp,DWORD PTR[52+rsp]
554	lea	r12d,DWORD PTR[1859775393+r12*1+rdx]
555	xor	eax,edi
556	add	r12d,ecx
557	rol	esi,30
558	add	r12d,eax
559	rol	ebp,1
560	xor	r14d,DWORD PTR[24+rsp]
561	mov	eax,r13d
562	mov	DWORD PTR[20+rsp],ebp
563	mov	ecx,r12d
564	xor	r14d,DWORD PTR[32+rsp]
565	xor	eax,edi
566	rol	ecx,5
567	xor	r14d,DWORD PTR[56+rsp]
568	lea	r11d,DWORD PTR[1859775393+r11*1+rbp]
569	xor	eax,esi
570	add	r11d,ecx
571	rol	r13d,30
572	add	r11d,eax
573	rol	r14d,1
574	xor	edx,DWORD PTR[28+rsp]
575	mov	eax,r12d
576	mov	DWORD PTR[24+rsp],r14d
577	mov	ecx,r11d
578	xor	edx,DWORD PTR[36+rsp]
579	xor	eax,esi
580	rol	ecx,5
581	xor	edx,DWORD PTR[60+rsp]
582	lea	edi,DWORD PTR[1859775393+rdi*1+r14]
583	xor	eax,r13d
584	add	edi,ecx
585	rol	r12d,30
586	add	edi,eax
587	rol	edx,1
588	xor	ebp,DWORD PTR[32+rsp]
589	mov	eax,r11d
590	mov	DWORD PTR[28+rsp],edx
591	mov	ecx,edi
592	xor	ebp,DWORD PTR[40+rsp]
593	xor	eax,r13d
594	rol	ecx,5
595	xor	ebp,DWORD PTR[rsp]
596	lea	esi,DWORD PTR[1859775393+rsi*1+rdx]
597	xor	eax,r12d
598	add	esi,ecx
599	rol	r11d,30
600	add	esi,eax
601	rol	ebp,1
602	xor	r14d,DWORD PTR[36+rsp]
603	mov	eax,r12d
604	mov	DWORD PTR[32+rsp],ebp
605	mov	ebx,r12d
606	xor	r14d,DWORD PTR[44+rsp]
607	and	eax,r11d
608	mov	ecx,esi
609	xor	r14d,DWORD PTR[4+rsp]
610	lea	r13d,DWORD PTR[((-1894007588))+r13*1+rbp]
611	xor	ebx,r11d
612	rol	ecx,5
613	add	r13d,eax
614	rol	r14d,1
615	and	ebx,edi
616	add	r13d,ecx
617	rol	edi,30
618	add	r13d,ebx
619	xor	edx,DWORD PTR[40+rsp]
620	mov	eax,r11d
621	mov	DWORD PTR[36+rsp],r14d
622	mov	ebx,r11d
623	xor	edx,DWORD PTR[48+rsp]
624	and	eax,edi
625	mov	ecx,r13d
626	xor	edx,DWORD PTR[8+rsp]
627	lea	r12d,DWORD PTR[((-1894007588))+r12*1+r14]
628	xor	ebx,edi
629	rol	ecx,5
630	add	r12d,eax
631	rol	edx,1
632	and	ebx,esi
633	add	r12d,ecx
634	rol	esi,30
635	add	r12d,ebx
636	xor	ebp,DWORD PTR[44+rsp]
637	mov	eax,edi
638	mov	DWORD PTR[40+rsp],edx
639	mov	ebx,edi
640	xor	ebp,DWORD PTR[52+rsp]
641	and	eax,esi
642	mov	ecx,r12d
643	xor	ebp,DWORD PTR[12+rsp]
644	lea	r11d,DWORD PTR[((-1894007588))+r11*1+rdx]
645	xor	ebx,esi
646	rol	ecx,5
647	add	r11d,eax
648	rol	ebp,1
649	and	ebx,r13d
650	add	r11d,ecx
651	rol	r13d,30
652	add	r11d,ebx
653	xor	r14d,DWORD PTR[48+rsp]
654	mov	eax,esi
655	mov	DWORD PTR[44+rsp],ebp
656	mov	ebx,esi
657	xor	r14d,DWORD PTR[56+rsp]
658	and	eax,r13d
659	mov	ecx,r11d
660	xor	r14d,DWORD PTR[16+rsp]
661	lea	edi,DWORD PTR[((-1894007588))+rdi*1+rbp]
662	xor	ebx,r13d
663	rol	ecx,5
664	add	edi,eax
665	rol	r14d,1
666	and	ebx,r12d
667	add	edi,ecx
668	rol	r12d,30
669	add	edi,ebx
670	xor	edx,DWORD PTR[52+rsp]
671	mov	eax,r13d
672	mov	DWORD PTR[48+rsp],r14d
673	mov	ebx,r13d
674	xor	edx,DWORD PTR[60+rsp]
675	and	eax,r12d
676	mov	ecx,edi
677	xor	edx,DWORD PTR[20+rsp]
678	lea	esi,DWORD PTR[((-1894007588))+rsi*1+r14]
679	xor	ebx,r12d
680	rol	ecx,5
681	add	esi,eax
682	rol	edx,1
683	and	ebx,r11d
684	add	esi,ecx
685	rol	r11d,30
686	add	esi,ebx
687	xor	ebp,DWORD PTR[56+rsp]
688	mov	eax,r12d
689	mov	DWORD PTR[52+rsp],edx
690	mov	ebx,r12d
691	xor	ebp,DWORD PTR[rsp]
692	and	eax,r11d
693	mov	ecx,esi
694	xor	ebp,DWORD PTR[24+rsp]
695	lea	r13d,DWORD PTR[((-1894007588))+r13*1+rdx]
696	xor	ebx,r11d
697	rol	ecx,5
698	add	r13d,eax
699	rol	ebp,1
700	and	ebx,edi
701	add	r13d,ecx
702	rol	edi,30
703	add	r13d,ebx
704	xor	r14d,DWORD PTR[60+rsp]
705	mov	eax,r11d
706	mov	DWORD PTR[56+rsp],ebp
707	mov	ebx,r11d
708	xor	r14d,DWORD PTR[4+rsp]
709	and	eax,edi
710	mov	ecx,r13d
711	xor	r14d,DWORD PTR[28+rsp]
712	lea	r12d,DWORD PTR[((-1894007588))+r12*1+rbp]
713	xor	ebx,edi
714	rol	ecx,5
715	add	r12d,eax
716	rol	r14d,1
717	and	ebx,esi
718	add	r12d,ecx
719	rol	esi,30
720	add	r12d,ebx
721	xor	edx,DWORD PTR[rsp]
722	mov	eax,edi
723	mov	DWORD PTR[60+rsp],r14d
724	mov	ebx,edi
725	xor	edx,DWORD PTR[8+rsp]
726	and	eax,esi
727	mov	ecx,r12d
728	xor	edx,DWORD PTR[32+rsp]
729	lea	r11d,DWORD PTR[((-1894007588))+r11*1+r14]
730	xor	ebx,esi
731	rol	ecx,5
732	add	r11d,eax
733	rol	edx,1
734	and	ebx,r13d
735	add	r11d,ecx
736	rol	r13d,30
737	add	r11d,ebx
738	xor	ebp,DWORD PTR[4+rsp]
739	mov	eax,esi
740	mov	DWORD PTR[rsp],edx
741	mov	ebx,esi
742	xor	ebp,DWORD PTR[12+rsp]
743	and	eax,r13d
744	mov	ecx,r11d
745	xor	ebp,DWORD PTR[36+rsp]
746	lea	edi,DWORD PTR[((-1894007588))+rdi*1+rdx]
747	xor	ebx,r13d
748	rol	ecx,5
749	add	edi,eax
750	rol	ebp,1
751	and	ebx,r12d
752	add	edi,ecx
753	rol	r12d,30
754	add	edi,ebx
755	xor	r14d,DWORD PTR[8+rsp]
756	mov	eax,r13d
757	mov	DWORD PTR[4+rsp],ebp
758	mov	ebx,r13d
759	xor	r14d,DWORD PTR[16+rsp]
760	and	eax,r12d
761	mov	ecx,edi
762	xor	r14d,DWORD PTR[40+rsp]
763	lea	esi,DWORD PTR[((-1894007588))+rsi*1+rbp]
764	xor	ebx,r12d
765	rol	ecx,5
766	add	esi,eax
767	rol	r14d,1
768	and	ebx,r11d
769	add	esi,ecx
770	rol	r11d,30
771	add	esi,ebx
772	xor	edx,DWORD PTR[12+rsp]
773	mov	eax,r12d
774	mov	DWORD PTR[8+rsp],r14d
775	mov	ebx,r12d
776	xor	edx,DWORD PTR[20+rsp]
777	and	eax,r11d
778	mov	ecx,esi
779	xor	edx,DWORD PTR[44+rsp]
780	lea	r13d,DWORD PTR[((-1894007588))+r13*1+r14]
781	xor	ebx,r11d
782	rol	ecx,5
783	add	r13d,eax
784	rol	edx,1
785	and	ebx,edi
786	add	r13d,ecx
787	rol	edi,30
788	add	r13d,ebx
789	xor	ebp,DWORD PTR[16+rsp]
790	mov	eax,r11d
791	mov	DWORD PTR[12+rsp],edx
792	mov	ebx,r11d
793	xor	ebp,DWORD PTR[24+rsp]
794	and	eax,edi
795	mov	ecx,r13d
796	xor	ebp,DWORD PTR[48+rsp]
797	lea	r12d,DWORD PTR[((-1894007588))+r12*1+rdx]
798	xor	ebx,edi
799	rol	ecx,5
800	add	r12d,eax
801	rol	ebp,1
802	and	ebx,esi
803	add	r12d,ecx
804	rol	esi,30
805	add	r12d,ebx
806	xor	r14d,DWORD PTR[20+rsp]
807	mov	eax,edi
808	mov	DWORD PTR[16+rsp],ebp
809	mov	ebx,edi
810	xor	r14d,DWORD PTR[28+rsp]
811	and	eax,esi
812	mov	ecx,r12d
813	xor	r14d,DWORD PTR[52+rsp]
814	lea	r11d,DWORD PTR[((-1894007588))+r11*1+rbp]
815	xor	ebx,esi
816	rol	ecx,5
817	add	r11d,eax
818	rol	r14d,1
819	and	ebx,r13d
820	add	r11d,ecx
821	rol	r13d,30
822	add	r11d,ebx
823	xor	edx,DWORD PTR[24+rsp]
824	mov	eax,esi
825	mov	DWORD PTR[20+rsp],r14d
826	mov	ebx,esi
827	xor	edx,DWORD PTR[32+rsp]
828	and	eax,r13d
829	mov	ecx,r11d
830	xor	edx,DWORD PTR[56+rsp]
831	lea	edi,DWORD PTR[((-1894007588))+rdi*1+r14]
832	xor	ebx,r13d
833	rol	ecx,5
834	add	edi,eax
835	rol	edx,1
836	and	ebx,r12d
837	add	edi,ecx
838	rol	r12d,30
839	add	edi,ebx
840	xor	ebp,DWORD PTR[28+rsp]
841	mov	eax,r13d
842	mov	DWORD PTR[24+rsp],edx
843	mov	ebx,r13d
844	xor	ebp,DWORD PTR[36+rsp]
845	and	eax,r12d
846	mov	ecx,edi
847	xor	ebp,DWORD PTR[60+rsp]
848	lea	esi,DWORD PTR[((-1894007588))+rsi*1+rdx]
849	xor	ebx,r12d
850	rol	ecx,5
851	add	esi,eax
852	rol	ebp,1
853	and	ebx,r11d
854	add	esi,ecx
855	rol	r11d,30
856	add	esi,ebx
857	xor	r14d,DWORD PTR[32+rsp]
858	mov	eax,r12d
859	mov	DWORD PTR[28+rsp],ebp
860	mov	ebx,r12d
861	xor	r14d,DWORD PTR[40+rsp]
862	and	eax,r11d
863	mov	ecx,esi
864	xor	r14d,DWORD PTR[rsp]
865	lea	r13d,DWORD PTR[((-1894007588))+r13*1+rbp]
866	xor	ebx,r11d
867	rol	ecx,5
868	add	r13d,eax
869	rol	r14d,1
870	and	ebx,edi
871	add	r13d,ecx
872	rol	edi,30
873	add	r13d,ebx
874	xor	edx,DWORD PTR[36+rsp]
875	mov	eax,r11d
876	mov	DWORD PTR[32+rsp],r14d
877	mov	ebx,r11d
878	xor	edx,DWORD PTR[44+rsp]
879	and	eax,edi
880	mov	ecx,r13d
881	xor	edx,DWORD PTR[4+rsp]
882	lea	r12d,DWORD PTR[((-1894007588))+r12*1+r14]
883	xor	ebx,edi
884	rol	ecx,5
885	add	r12d,eax
886	rol	edx,1
887	and	ebx,esi
888	add	r12d,ecx
889	rol	esi,30
890	add	r12d,ebx
891	xor	ebp,DWORD PTR[40+rsp]
892	mov	eax,edi
893	mov	DWORD PTR[36+rsp],edx
894	mov	ebx,edi
895	xor	ebp,DWORD PTR[48+rsp]
896	and	eax,esi
897	mov	ecx,r12d
898	xor	ebp,DWORD PTR[8+rsp]
899	lea	r11d,DWORD PTR[((-1894007588))+r11*1+rdx]
900	xor	ebx,esi
901	rol	ecx,5
902	add	r11d,eax
903	rol	ebp,1
904	and	ebx,r13d
905	add	r11d,ecx
906	rol	r13d,30
907	add	r11d,ebx
908	xor	r14d,DWORD PTR[44+rsp]
909	mov	eax,esi
910	mov	DWORD PTR[40+rsp],ebp
911	mov	ebx,esi
912	xor	r14d,DWORD PTR[52+rsp]
913	and	eax,r13d
914	mov	ecx,r11d
915	xor	r14d,DWORD PTR[12+rsp]
916	lea	edi,DWORD PTR[((-1894007588))+rdi*1+rbp]
917	xor	ebx,r13d
918	rol	ecx,5
919	add	edi,eax
920	rol	r14d,1
921	and	ebx,r12d
922	add	edi,ecx
923	rol	r12d,30
924	add	edi,ebx
925	xor	edx,DWORD PTR[48+rsp]
926	mov	eax,r13d
927	mov	DWORD PTR[44+rsp],r14d
928	mov	ebx,r13d
929	xor	edx,DWORD PTR[56+rsp]
930	and	eax,r12d
931	mov	ecx,edi
932	xor	edx,DWORD PTR[16+rsp]
933	lea	esi,DWORD PTR[((-1894007588))+rsi*1+r14]
934	xor	ebx,r12d
935	rol	ecx,5
936	add	esi,eax
937	rol	edx,1
938	and	ebx,r11d
939	add	esi,ecx
940	rol	r11d,30
941	add	esi,ebx
942	xor	ebp,DWORD PTR[52+rsp]
943	mov	eax,edi
944	mov	DWORD PTR[48+rsp],edx
945	mov	ecx,esi
946	xor	ebp,DWORD PTR[60+rsp]
947	xor	eax,r12d
948	rol	ecx,5
949	xor	ebp,DWORD PTR[20+rsp]
950	lea	r13d,DWORD PTR[((-899497514))+r13*1+rdx]
951	xor	eax,r11d
952	add	r13d,ecx
953	rol	edi,30
954	add	r13d,eax
955	rol	ebp,1
956	xor	r14d,DWORD PTR[56+rsp]
957	mov	eax,esi
958	mov	DWORD PTR[52+rsp],ebp
959	mov	ecx,r13d
960	xor	r14d,DWORD PTR[rsp]
961	xor	eax,r11d
962	rol	ecx,5
963	xor	r14d,DWORD PTR[24+rsp]
964	lea	r12d,DWORD PTR[((-899497514))+r12*1+rbp]
965	xor	eax,edi
966	add	r12d,ecx
967	rol	esi,30
968	add	r12d,eax
969	rol	r14d,1
970	xor	edx,DWORD PTR[60+rsp]
971	mov	eax,r13d
972	mov	DWORD PTR[56+rsp],r14d
973	mov	ecx,r12d
974	xor	edx,DWORD PTR[4+rsp]
975	xor	eax,edi
976	rol	ecx,5
977	xor	edx,DWORD PTR[28+rsp]
978	lea	r11d,DWORD PTR[((-899497514))+r11*1+r14]
979	xor	eax,esi
980	add	r11d,ecx
981	rol	r13d,30
982	add	r11d,eax
983	rol	edx,1
984	xor	ebp,DWORD PTR[rsp]
985	mov	eax,r12d
986	mov	DWORD PTR[60+rsp],edx
987	mov	ecx,r11d
988	xor	ebp,DWORD PTR[8+rsp]
989	xor	eax,esi
990	rol	ecx,5
991	xor	ebp,DWORD PTR[32+rsp]
992	lea	edi,DWORD PTR[((-899497514))+rdi*1+rdx]
993	xor	eax,r13d
994	add	edi,ecx
995	rol	r12d,30
996	add	edi,eax
997	rol	ebp,1
998	xor	r14d,DWORD PTR[4+rsp]
999	mov	eax,r11d
1000	mov	DWORD PTR[rsp],ebp
1001	mov	ecx,edi
1002	xor	r14d,DWORD PTR[12+rsp]
1003	xor	eax,r13d
1004	rol	ecx,5
1005	xor	r14d,DWORD PTR[36+rsp]
1006	lea	esi,DWORD PTR[((-899497514))+rsi*1+rbp]
1007	xor	eax,r12d
1008	add	esi,ecx
1009	rol	r11d,30
1010	add	esi,eax
1011	rol	r14d,1
1012	xor	edx,DWORD PTR[8+rsp]
1013	mov	eax,edi
1014	mov	DWORD PTR[4+rsp],r14d
1015	mov	ecx,esi
1016	xor	edx,DWORD PTR[16+rsp]
1017	xor	eax,r12d
1018	rol	ecx,5
1019	xor	edx,DWORD PTR[40+rsp]
1020	lea	r13d,DWORD PTR[((-899497514))+r13*1+r14]
1021	xor	eax,r11d
1022	add	r13d,ecx
1023	rol	edi,30
1024	add	r13d,eax
1025	rol	edx,1
1026	xor	ebp,DWORD PTR[12+rsp]
1027	mov	eax,esi
1028	mov	DWORD PTR[8+rsp],edx
1029	mov	ecx,r13d
1030	xor	ebp,DWORD PTR[20+rsp]
1031	xor	eax,r11d
1032	rol	ecx,5
1033	xor	ebp,DWORD PTR[44+rsp]
1034	lea	r12d,DWORD PTR[((-899497514))+r12*1+rdx]
1035	xor	eax,edi
1036	add	r12d,ecx
1037	rol	esi,30
1038	add	r12d,eax
1039	rol	ebp,1
1040	xor	r14d,DWORD PTR[16+rsp]
1041	mov	eax,r13d
1042	mov	DWORD PTR[12+rsp],ebp
1043	mov	ecx,r12d
1044	xor	r14d,DWORD PTR[24+rsp]
1045	xor	eax,edi
1046	rol	ecx,5
1047	xor	r14d,DWORD PTR[48+rsp]
1048	lea	r11d,DWORD PTR[((-899497514))+r11*1+rbp]
1049	xor	eax,esi
1050	add	r11d,ecx
1051	rol	r13d,30
1052	add	r11d,eax
1053	rol	r14d,1
1054	xor	edx,DWORD PTR[20+rsp]
1055	mov	eax,r12d
1056	mov	DWORD PTR[16+rsp],r14d
1057	mov	ecx,r11d
1058	xor	edx,DWORD PTR[28+rsp]
1059	xor	eax,esi
1060	rol	ecx,5
1061	xor	edx,DWORD PTR[52+rsp]
1062	lea	edi,DWORD PTR[((-899497514))+rdi*1+r14]
1063	xor	eax,r13d
1064	add	edi,ecx
1065	rol	r12d,30
1066	add	edi,eax
1067	rol	edx,1
1068	xor	ebp,DWORD PTR[24+rsp]
1069	mov	eax,r11d
1070	mov	DWORD PTR[20+rsp],edx
1071	mov	ecx,edi
1072	xor	ebp,DWORD PTR[32+rsp]
1073	xor	eax,r13d
1074	rol	ecx,5
1075	xor	ebp,DWORD PTR[56+rsp]
1076	lea	esi,DWORD PTR[((-899497514))+rsi*1+rdx]
1077	xor	eax,r12d
1078	add	esi,ecx
1079	rol	r11d,30
1080	add	esi,eax
1081	rol	ebp,1
1082	xor	r14d,DWORD PTR[28+rsp]
1083	mov	eax,edi
1084	mov	DWORD PTR[24+rsp],ebp
1085	mov	ecx,esi
1086	xor	r14d,DWORD PTR[36+rsp]
1087	xor	eax,r12d
1088	rol	ecx,5
1089	xor	r14d,DWORD PTR[60+rsp]
1090	lea	r13d,DWORD PTR[((-899497514))+r13*1+rbp]
1091	xor	eax,r11d
1092	add	r13d,ecx
1093	rol	edi,30
1094	add	r13d,eax
1095	rol	r14d,1
1096	xor	edx,DWORD PTR[32+rsp]
1097	mov	eax,esi
1098	mov	DWORD PTR[28+rsp],r14d
1099	mov	ecx,r13d
1100	xor	edx,DWORD PTR[40+rsp]
1101	xor	eax,r11d
1102	rol	ecx,5
1103	xor	edx,DWORD PTR[rsp]
1104	lea	r12d,DWORD PTR[((-899497514))+r12*1+r14]
1105	xor	eax,edi
1106	add	r12d,ecx
1107	rol	esi,30
1108	add	r12d,eax
1109	rol	edx,1
1110	xor	ebp,DWORD PTR[36+rsp]
1111	mov	eax,r13d
1112
1113	mov	ecx,r12d
1114	xor	ebp,DWORD PTR[44+rsp]
1115	xor	eax,edi
1116	rol	ecx,5
1117	xor	ebp,DWORD PTR[4+rsp]
1118	lea	r11d,DWORD PTR[((-899497514))+r11*1+rdx]
1119	xor	eax,esi
1120	add	r11d,ecx
1121	rol	r13d,30
1122	add	r11d,eax
1123	rol	ebp,1
1124	xor	r14d,DWORD PTR[40+rsp]
1125	mov	eax,r12d
1126
1127	mov	ecx,r11d
1128	xor	r14d,DWORD PTR[48+rsp]
1129	xor	eax,esi
1130	rol	ecx,5
1131	xor	r14d,DWORD PTR[8+rsp]
1132	lea	edi,DWORD PTR[((-899497514))+rdi*1+rbp]
1133	xor	eax,r13d
1134	add	edi,ecx
1135	rol	r12d,30
1136	add	edi,eax
1137	rol	r14d,1
1138	xor	edx,DWORD PTR[44+rsp]
1139	mov	eax,r11d
1140
1141	mov	ecx,edi
1142	xor	edx,DWORD PTR[52+rsp]
1143	xor	eax,r13d
1144	rol	ecx,5
1145	xor	edx,DWORD PTR[12+rsp]
1146	lea	esi,DWORD PTR[((-899497514))+rsi*1+r14]
1147	xor	eax,r12d
1148	add	esi,ecx
1149	rol	r11d,30
1150	add	esi,eax
1151	rol	edx,1
1152	xor	ebp,DWORD PTR[48+rsp]
1153	mov	eax,edi
1154
1155	mov	ecx,esi
1156	xor	ebp,DWORD PTR[56+rsp]
1157	xor	eax,r12d
1158	rol	ecx,5
1159	xor	ebp,DWORD PTR[16+rsp]
1160	lea	r13d,DWORD PTR[((-899497514))+r13*1+rdx]
1161	xor	eax,r11d
1162	add	r13d,ecx
1163	rol	edi,30
1164	add	r13d,eax
1165	rol	ebp,1
1166	xor	r14d,DWORD PTR[52+rsp]
1167	mov	eax,esi
1168
1169	mov	ecx,r13d
1170	xor	r14d,DWORD PTR[60+rsp]
1171	xor	eax,r11d
1172	rol	ecx,5
1173	xor	r14d,DWORD PTR[20+rsp]
1174	lea	r12d,DWORD PTR[((-899497514))+r12*1+rbp]
1175	xor	eax,edi
1176	add	r12d,ecx
1177	rol	esi,30
1178	add	r12d,eax
1179	rol	r14d,1
1180	xor	edx,DWORD PTR[56+rsp]
1181	mov	eax,r13d
1182
1183	mov	ecx,r12d
1184	xor	edx,DWORD PTR[rsp]
1185	xor	eax,edi
1186	rol	ecx,5
1187	xor	edx,DWORD PTR[24+rsp]
1188	lea	r11d,DWORD PTR[((-899497514))+r11*1+r14]
1189	xor	eax,esi
1190	add	r11d,ecx
1191	rol	r13d,30
1192	add	r11d,eax
1193	rol	edx,1
1194	xor	ebp,DWORD PTR[60+rsp]
1195	mov	eax,r12d
1196
1197	mov	ecx,r11d
1198	xor	ebp,DWORD PTR[4+rsp]
1199	xor	eax,esi
1200	rol	ecx,5
1201	xor	ebp,DWORD PTR[28+rsp]
1202	lea	edi,DWORD PTR[((-899497514))+rdi*1+rdx]
1203	xor	eax,r13d
1204	add	edi,ecx
1205	rol	r12d,30
1206	add	edi,eax
1207	rol	ebp,1
1208	mov	eax,r11d
1209	mov	ecx,edi
1210	xor	eax,r13d
1211	lea	esi,DWORD PTR[((-899497514))+rsi*1+rbp]
1212	rol	ecx,5
1213	xor	eax,r12d
1214	add	esi,ecx
1215	rol	r11d,30
1216	add	esi,eax
1217	add	esi,DWORD PTR[r8]
1218	add	edi,DWORD PTR[4+r8]
1219	add	r11d,DWORD PTR[8+r8]
1220	add	r12d,DWORD PTR[12+r8]
1221	add	r13d,DWORD PTR[16+r8]
1222	mov	DWORD PTR[r8],esi
1223	mov	DWORD PTR[4+r8],edi
1224	mov	DWORD PTR[8+r8],r11d
1225	mov	DWORD PTR[12+r8],r12d
1226	mov	DWORD PTR[16+r8],r13d
1227
1228	sub	r10,1
1229	lea	r9,QWORD PTR[64+r9]
1230	jnz	$L$loop
1231
1232	mov	rsi,QWORD PTR[64+rsp]
1233	mov	r14,QWORD PTR[((-40))+rsi]
1234	mov	r13,QWORD PTR[((-32))+rsi]
1235	mov	r12,QWORD PTR[((-24))+rsi]
1236	mov	rbp,QWORD PTR[((-16))+rsi]
1237	mov	rbx,QWORD PTR[((-8))+rsi]
1238	lea	rsp,QWORD PTR[rsi]
1239$L$epilogue::
1240	mov	rdi,QWORD PTR[8+rsp]	;WIN64 epilogue
1241	mov	rsi,QWORD PTR[16+rsp]
1242	DB	0F3h,0C3h		;repret
1243$L$SEH_end_sha1_block_data_order::
1244sha1_block_data_order	ENDP
1245
1246ALIGN	16
1247sha1_block_data_order_ssse3	PROC PRIVATE
1248	mov	QWORD PTR[8+rsp],rdi	;WIN64 prologue
1249	mov	QWORD PTR[16+rsp],rsi
1250	mov	rax,rsp
1251$L$SEH_begin_sha1_block_data_order_ssse3::
1252	mov	rdi,rcx
1253	mov	rsi,rdx
1254	mov	rdx,r8
1255
1256
1257_ssse3_shortcut::
1258	mov	rax,rsp
1259	push	rbx
1260	push	rbp
1261	push	r12
1262	push	r13
1263	push	r14
1264	lea	rsp,QWORD PTR[((-160))+rsp]
1265	movaps	XMMWORD PTR[(-40-96)+rax],xmm6
1266	movaps	XMMWORD PTR[(-40-80)+rax],xmm7
1267	movaps	XMMWORD PTR[(-40-64)+rax],xmm8
1268	movaps	XMMWORD PTR[(-40-48)+rax],xmm9
1269	movaps	XMMWORD PTR[(-40-32)+rax],xmm10
1270	movaps	XMMWORD PTR[(-40-16)+rax],xmm11
1271$L$prologue_ssse3::
1272	mov	r14,rax
1273	and	rsp,-64
1274	mov	r8,rdi
1275	mov	r9,rsi
1276	mov	r10,rdx
1277
1278	shl	r10,6
1279	add	r10,r9
1280	lea	r11,QWORD PTR[((K_XX_XX+64))]
1281
1282	mov	eax,DWORD PTR[r8]
1283	mov	ebx,DWORD PTR[4+r8]
1284	mov	ecx,DWORD PTR[8+r8]
1285	mov	edx,DWORD PTR[12+r8]
1286	mov	esi,ebx
1287	mov	ebp,DWORD PTR[16+r8]
1288	mov	edi,ecx
1289	xor	edi,edx
1290	and	esi,edi
1291
1292	movdqa	xmm6,XMMWORD PTR[64+r11]
1293	movdqa	xmm9,XMMWORD PTR[((-64))+r11]
1294	movdqu	xmm0,XMMWORD PTR[r9]
1295	movdqu	xmm1,XMMWORD PTR[16+r9]
1296	movdqu	xmm2,XMMWORD PTR[32+r9]
1297	movdqu	xmm3,XMMWORD PTR[48+r9]
1298DB	102,15,56,0,198
1299DB	102,15,56,0,206
1300DB	102,15,56,0,214
1301	add	r9,64
1302	paddd	xmm0,xmm9
1303DB	102,15,56,0,222
1304	paddd	xmm1,xmm9
1305	paddd	xmm2,xmm9
1306	movdqa	XMMWORD PTR[rsp],xmm0
1307	psubd	xmm0,xmm9
1308	movdqa	XMMWORD PTR[16+rsp],xmm1
1309	psubd	xmm1,xmm9
1310	movdqa	XMMWORD PTR[32+rsp],xmm2
1311	psubd	xmm2,xmm9
1312	jmp	$L$oop_ssse3
1313ALIGN	16
1314$L$oop_ssse3::
1315	ror	ebx,2
1316	pshufd	xmm4,xmm0,238
1317	xor	esi,edx
1318	movdqa	xmm8,xmm3
1319	paddd	xmm9,xmm3
1320	mov	edi,eax
1321	add	ebp,DWORD PTR[rsp]
1322	punpcklqdq	xmm4,xmm1
1323	xor	ebx,ecx
1324	rol	eax,5
1325	add	ebp,esi
1326	psrldq	xmm8,4
1327	and	edi,ebx
1328	xor	ebx,ecx
1329	pxor	xmm4,xmm0
1330	add	ebp,eax
1331	ror	eax,7
1332	pxor	xmm8,xmm2
1333	xor	edi,ecx
1334	mov	esi,ebp
1335	add	edx,DWORD PTR[4+rsp]
1336	pxor	xmm4,xmm8
1337	xor	eax,ebx
1338	rol	ebp,5
1339	movdqa	XMMWORD PTR[48+rsp],xmm9
1340	add	edx,edi
1341	and	esi,eax
1342	movdqa	xmm10,xmm4
1343	xor	eax,ebx
1344	add	edx,ebp
1345	ror	ebp,7
1346	movdqa	xmm8,xmm4
1347	xor	esi,ebx
1348	pslldq	xmm10,12
1349	paddd	xmm4,xmm4
1350	mov	edi,edx
1351	add	ecx,DWORD PTR[8+rsp]
1352	psrld	xmm8,31
1353	xor	ebp,eax
1354	rol	edx,5
1355	add	ecx,esi
1356	movdqa	xmm9,xmm10
1357	and	edi,ebp
1358	xor	ebp,eax
1359	psrld	xmm10,30
1360	add	ecx,edx
1361	ror	edx,7
1362	por	xmm4,xmm8
1363	xor	edi,eax
1364	mov	esi,ecx
1365	add	ebx,DWORD PTR[12+rsp]
1366	pslld	xmm9,2
1367	pxor	xmm4,xmm10
1368	xor	edx,ebp
1369	movdqa	xmm10,XMMWORD PTR[((-64))+r11]
1370	rol	ecx,5
1371	add	ebx,edi
1372	and	esi,edx
1373	pxor	xmm4,xmm9
1374	xor	edx,ebp
1375	add	ebx,ecx
1376	ror	ecx,7
1377	pshufd	xmm5,xmm1,238
1378	xor	esi,ebp
1379	movdqa	xmm9,xmm4
1380	paddd	xmm10,xmm4
1381	mov	edi,ebx
1382	add	eax,DWORD PTR[16+rsp]
1383	punpcklqdq	xmm5,xmm2
1384	xor	ecx,edx
1385	rol	ebx,5
1386	add	eax,esi
1387	psrldq	xmm9,4
1388	and	edi,ecx
1389	xor	ecx,edx
1390	pxor	xmm5,xmm1
1391	add	eax,ebx
1392	ror	ebx,7
1393	pxor	xmm9,xmm3
1394	xor	edi,edx
1395	mov	esi,eax
1396	add	ebp,DWORD PTR[20+rsp]
1397	pxor	xmm5,xmm9
1398	xor	ebx,ecx
1399	rol	eax,5
1400	movdqa	XMMWORD PTR[rsp],xmm10
1401	add	ebp,edi
1402	and	esi,ebx
1403	movdqa	xmm8,xmm5
1404	xor	ebx,ecx
1405	add	ebp,eax
1406	ror	eax,7
1407	movdqa	xmm9,xmm5
1408	xor	esi,ecx
1409	pslldq	xmm8,12
1410	paddd	xmm5,xmm5
1411	mov	edi,ebp
1412	add	edx,DWORD PTR[24+rsp]
1413	psrld	xmm9,31
1414	xor	eax,ebx
1415	rol	ebp,5
1416	add	edx,esi
1417	movdqa	xmm10,xmm8
1418	and	edi,eax
1419	xor	eax,ebx
1420	psrld	xmm8,30
1421	add	edx,ebp
1422	ror	ebp,7
1423	por	xmm5,xmm9
1424	xor	edi,ebx
1425	mov	esi,edx
1426	add	ecx,DWORD PTR[28+rsp]
1427	pslld	xmm10,2
1428	pxor	xmm5,xmm8
1429	xor	ebp,eax
1430	movdqa	xmm8,XMMWORD PTR[((-32))+r11]
1431	rol	edx,5
1432	add	ecx,edi
1433	and	esi,ebp
1434	pxor	xmm5,xmm10
1435	xor	ebp,eax
1436	add	ecx,edx
1437	ror	edx,7
1438	pshufd	xmm6,xmm2,238
1439	xor	esi,eax
1440	movdqa	xmm10,xmm5
1441	paddd	xmm8,xmm5
1442	mov	edi,ecx
1443	add	ebx,DWORD PTR[32+rsp]
1444	punpcklqdq	xmm6,xmm3
1445	xor	edx,ebp
1446	rol	ecx,5
1447	add	ebx,esi
1448	psrldq	xmm10,4
1449	and	edi,edx
1450	xor	edx,ebp
1451	pxor	xmm6,xmm2
1452	add	ebx,ecx
1453	ror	ecx,7
1454	pxor	xmm10,xmm4
1455	xor	edi,ebp
1456	mov	esi,ebx
1457	add	eax,DWORD PTR[36+rsp]
1458	pxor	xmm6,xmm10
1459	xor	ecx,edx
1460	rol	ebx,5
1461	movdqa	XMMWORD PTR[16+rsp],xmm8
1462	add	eax,edi
1463	and	esi,ecx
1464	movdqa	xmm9,xmm6
1465	xor	ecx,edx
1466	add	eax,ebx
1467	ror	ebx,7
1468	movdqa	xmm10,xmm6
1469	xor	esi,edx
1470	pslldq	xmm9,12
1471	paddd	xmm6,xmm6
1472	mov	edi,eax
1473	add	ebp,DWORD PTR[40+rsp]
1474	psrld	xmm10,31
1475	xor	ebx,ecx
1476	rol	eax,5
1477	add	ebp,esi
1478	movdqa	xmm8,xmm9
1479	and	edi,ebx
1480	xor	ebx,ecx
1481	psrld	xmm9,30
1482	add	ebp,eax
1483	ror	eax,7
1484	por	xmm6,xmm10
1485	xor	edi,ecx
1486	mov	esi,ebp
1487	add	edx,DWORD PTR[44+rsp]
1488	pslld	xmm8,2
1489	pxor	xmm6,xmm9
1490	xor	eax,ebx
1491	movdqa	xmm9,XMMWORD PTR[((-32))+r11]
1492	rol	ebp,5
1493	add	edx,edi
1494	and	esi,eax
1495	pxor	xmm6,xmm8
1496	xor	eax,ebx
1497	add	edx,ebp
1498	ror	ebp,7
1499	pshufd	xmm7,xmm3,238
1500	xor	esi,ebx
1501	movdqa	xmm8,xmm6
1502	paddd	xmm9,xmm6
1503	mov	edi,edx
1504	add	ecx,DWORD PTR[48+rsp]
1505	punpcklqdq	xmm7,xmm4
1506	xor	ebp,eax
1507	rol	edx,5
1508	add	ecx,esi
1509	psrldq	xmm8,4
1510	and	edi,ebp
1511	xor	ebp,eax
1512	pxor	xmm7,xmm3
1513	add	ecx,edx
1514	ror	edx,7
1515	pxor	xmm8,xmm5
1516	xor	edi,eax
1517	mov	esi,ecx
1518	add	ebx,DWORD PTR[52+rsp]
1519	pxor	xmm7,xmm8
1520	xor	edx,ebp
1521	rol	ecx,5
1522	movdqa	XMMWORD PTR[32+rsp],xmm9
1523	add	ebx,edi
1524	and	esi,edx
1525	movdqa	xmm10,xmm7
1526	xor	edx,ebp
1527	add	ebx,ecx
1528	ror	ecx,7
1529	movdqa	xmm8,xmm7
1530	xor	esi,ebp
1531	pslldq	xmm10,12
1532	paddd	xmm7,xmm7
1533	mov	edi,ebx
1534	add	eax,DWORD PTR[56+rsp]
1535	psrld	xmm8,31
1536	xor	ecx,edx
1537	rol	ebx,5
1538	add	eax,esi
1539	movdqa	xmm9,xmm10
1540	and	edi,ecx
1541	xor	ecx,edx
1542	psrld	xmm10,30
1543	add	eax,ebx
1544	ror	ebx,7
1545	por	xmm7,xmm8
1546	xor	edi,edx
1547	mov	esi,eax
1548	add	ebp,DWORD PTR[60+rsp]
1549	pslld	xmm9,2
1550	pxor	xmm7,xmm10
1551	xor	ebx,ecx
1552	movdqa	xmm10,XMMWORD PTR[((-32))+r11]
1553	rol	eax,5
1554	add	ebp,edi
1555	and	esi,ebx
1556	pxor	xmm7,xmm9
1557	pshufd	xmm9,xmm6,238
1558	xor	ebx,ecx
1559	add	ebp,eax
1560	ror	eax,7
1561	pxor	xmm0,xmm4
1562	xor	esi,ecx
1563	mov	edi,ebp
1564	add	edx,DWORD PTR[rsp]
1565	punpcklqdq	xmm9,xmm7
1566	xor	eax,ebx
1567	rol	ebp,5
1568	pxor	xmm0,xmm1
1569	add	edx,esi
1570	and	edi,eax
1571	movdqa	xmm8,xmm10
1572	xor	eax,ebx
1573	paddd	xmm10,xmm7
1574	add	edx,ebp
1575	pxor	xmm0,xmm9
1576	ror	ebp,7
1577	xor	edi,ebx
1578	mov	esi,edx
1579	add	ecx,DWORD PTR[4+rsp]
1580	movdqa	xmm9,xmm0
1581	xor	ebp,eax
1582	rol	edx,5
1583	movdqa	XMMWORD PTR[48+rsp],xmm10
1584	add	ecx,edi
1585	and	esi,ebp
1586	xor	ebp,eax
1587	pslld	xmm0,2
1588	add	ecx,edx
1589	ror	edx,7
1590	psrld	xmm9,30
1591	xor	esi,eax
1592	mov	edi,ecx
1593	add	ebx,DWORD PTR[8+rsp]
1594	por	xmm0,xmm9
1595	xor	edx,ebp
1596	rol	ecx,5
1597	pshufd	xmm10,xmm7,238
1598	add	ebx,esi
1599	and	edi,edx
1600	xor	edx,ebp
1601	add	ebx,ecx
1602	add	eax,DWORD PTR[12+rsp]
1603	xor	edi,ebp
1604	mov	esi,ebx
1605	rol	ebx,5
1606	add	eax,edi
1607	xor	esi,edx
1608	ror	ecx,7
1609	add	eax,ebx
1610	pxor	xmm1,xmm5
1611	add	ebp,DWORD PTR[16+rsp]
1612	xor	esi,ecx
1613	punpcklqdq	xmm10,xmm0
1614	mov	edi,eax
1615	rol	eax,5
1616	pxor	xmm1,xmm2
1617	add	ebp,esi
1618	xor	edi,ecx
1619	movdqa	xmm9,xmm8
1620	ror	ebx,7
1621	paddd	xmm8,xmm0
1622	add	ebp,eax
1623	pxor	xmm1,xmm10
1624	add	edx,DWORD PTR[20+rsp]
1625	xor	edi,ebx
1626	mov	esi,ebp
1627	rol	ebp,5
1628	movdqa	xmm10,xmm1
1629	add	edx,edi
1630	xor	esi,ebx
1631	movdqa	XMMWORD PTR[rsp],xmm8
1632	ror	eax,7
1633	add	edx,ebp
1634	add	ecx,DWORD PTR[24+rsp]
1635	pslld	xmm1,2
1636	xor	esi,eax
1637	mov	edi,edx
1638	psrld	xmm10,30
1639	rol	edx,5
1640	add	ecx,esi
1641	xor	edi,eax
1642	ror	ebp,7
1643	por	xmm1,xmm10
1644	add	ecx,edx
1645	add	ebx,DWORD PTR[28+rsp]
1646	pshufd	xmm8,xmm0,238
1647	xor	edi,ebp
1648	mov	esi,ecx
1649	rol	ecx,5
1650	add	ebx,edi
1651	xor	esi,ebp
1652	ror	edx,7
1653	add	ebx,ecx
1654	pxor	xmm2,xmm6
1655	add	eax,DWORD PTR[32+rsp]
1656	xor	esi,edx
1657	punpcklqdq	xmm8,xmm1
1658	mov	edi,ebx
1659	rol	ebx,5
1660	pxor	xmm2,xmm3
1661	add	eax,esi
1662	xor	edi,edx
1663	movdqa	xmm10,XMMWORD PTR[r11]
1664	ror	ecx,7
1665	paddd	xmm9,xmm1
1666	add	eax,ebx
1667	pxor	xmm2,xmm8
1668	add	ebp,DWORD PTR[36+rsp]
1669	xor	edi,ecx
1670	mov	esi,eax
1671	rol	eax,5
1672	movdqa	xmm8,xmm2
1673	add	ebp,edi
1674	xor	esi,ecx
1675	movdqa	XMMWORD PTR[16+rsp],xmm9
1676	ror	ebx,7
1677	add	ebp,eax
1678	add	edx,DWORD PTR[40+rsp]
1679	pslld	xmm2,2
1680	xor	esi,ebx
1681	mov	edi,ebp
1682	psrld	xmm8,30
1683	rol	ebp,5
1684	add	edx,esi
1685	xor	edi,ebx
1686	ror	eax,7
1687	por	xmm2,xmm8
1688	add	edx,ebp
1689	add	ecx,DWORD PTR[44+rsp]
1690	pshufd	xmm9,xmm1,238
1691	xor	edi,eax
1692	mov	esi,edx
1693	rol	edx,5
1694	add	ecx,edi
1695	xor	esi,eax
1696	ror	ebp,7
1697	add	ecx,edx
1698	pxor	xmm3,xmm7
1699	add	ebx,DWORD PTR[48+rsp]
1700	xor	esi,ebp
1701	punpcklqdq	xmm9,xmm2
1702	mov	edi,ecx
1703	rol	ecx,5
1704	pxor	xmm3,xmm4
1705	add	ebx,esi
1706	xor	edi,ebp
1707	movdqa	xmm8,xmm10
1708	ror	edx,7
1709	paddd	xmm10,xmm2
1710	add	ebx,ecx
1711	pxor	xmm3,xmm9
1712	add	eax,DWORD PTR[52+rsp]
1713	xor	edi,edx
1714	mov	esi,ebx
1715	rol	ebx,5
1716	movdqa	xmm9,xmm3
1717	add	eax,edi
1718	xor	esi,edx
1719	movdqa	XMMWORD PTR[32+rsp],xmm10
1720	ror	ecx,7
1721	add	eax,ebx
1722	add	ebp,DWORD PTR[56+rsp]
1723	pslld	xmm3,2
1724	xor	esi,ecx
1725	mov	edi,eax
1726	psrld	xmm9,30
1727	rol	eax,5
1728	add	ebp,esi
1729	xor	edi,ecx
1730	ror	ebx,7
1731	por	xmm3,xmm9
1732	add	ebp,eax
1733	add	edx,DWORD PTR[60+rsp]
1734	pshufd	xmm10,xmm2,238
1735	xor	edi,ebx
1736	mov	esi,ebp
1737	rol	ebp,5
1738	add	edx,edi
1739	xor	esi,ebx
1740	ror	eax,7
1741	add	edx,ebp
1742	pxor	xmm4,xmm0
1743	add	ecx,DWORD PTR[rsp]
1744	xor	esi,eax
1745	punpcklqdq	xmm10,xmm3
1746	mov	edi,edx
1747	rol	edx,5
1748	pxor	xmm4,xmm5
1749	add	ecx,esi
1750	xor	edi,eax
1751	movdqa	xmm9,xmm8
1752	ror	ebp,7
1753	paddd	xmm8,xmm3
1754	add	ecx,edx
1755	pxor	xmm4,xmm10
1756	add	ebx,DWORD PTR[4+rsp]
1757	xor	edi,ebp
1758	mov	esi,ecx
1759	rol	ecx,5
1760	movdqa	xmm10,xmm4
1761	add	ebx,edi
1762	xor	esi,ebp
1763	movdqa	XMMWORD PTR[48+rsp],xmm8
1764	ror	edx,7
1765	add	ebx,ecx
1766	add	eax,DWORD PTR[8+rsp]
1767	pslld	xmm4,2
1768	xor	esi,edx
1769	mov	edi,ebx
1770	psrld	xmm10,30
1771	rol	ebx,5
1772	add	eax,esi
1773	xor	edi,edx
1774	ror	ecx,7
1775	por	xmm4,xmm10
1776	add	eax,ebx
1777	add	ebp,DWORD PTR[12+rsp]
1778	pshufd	xmm8,xmm3,238
1779	xor	edi,ecx
1780	mov	esi,eax
1781	rol	eax,5
1782	add	ebp,edi
1783	xor	esi,ecx
1784	ror	ebx,7
1785	add	ebp,eax
1786	pxor	xmm5,xmm1
1787	add	edx,DWORD PTR[16+rsp]
1788	xor	esi,ebx
1789	punpcklqdq	xmm8,xmm4
1790	mov	edi,ebp
1791	rol	ebp,5
1792	pxor	xmm5,xmm6
1793	add	edx,esi
1794	xor	edi,ebx
1795	movdqa	xmm10,xmm9
1796	ror	eax,7
1797	paddd	xmm9,xmm4
1798	add	edx,ebp
1799	pxor	xmm5,xmm8
1800	add	ecx,DWORD PTR[20+rsp]
1801	xor	edi,eax
1802	mov	esi,edx
1803	rol	edx,5
1804	movdqa	xmm8,xmm5
1805	add	ecx,edi
1806	xor	esi,eax
1807	movdqa	XMMWORD PTR[rsp],xmm9
1808	ror	ebp,7
1809	add	ecx,edx
1810	add	ebx,DWORD PTR[24+rsp]
1811	pslld	xmm5,2
1812	xor	esi,ebp
1813	mov	edi,ecx
1814	psrld	xmm8,30
1815	rol	ecx,5
1816	add	ebx,esi
1817	xor	edi,ebp
1818	ror	edx,7
1819	por	xmm5,xmm8
1820	add	ebx,ecx
1821	add	eax,DWORD PTR[28+rsp]
1822	pshufd	xmm9,xmm4,238
1823	ror	ecx,7
1824	mov	esi,ebx
1825	xor	edi,edx
1826	rol	ebx,5
1827	add	eax,edi
1828	xor	esi,ecx
1829	xor	ecx,edx
1830	add	eax,ebx
1831	pxor	xmm6,xmm2
1832	add	ebp,DWORD PTR[32+rsp]
1833	and	esi,ecx
1834	xor	ecx,edx
1835	ror	ebx,7
1836	punpcklqdq	xmm9,xmm5
1837	mov	edi,eax
1838	xor	esi,ecx
1839	pxor	xmm6,xmm7
1840	rol	eax,5
1841	add	ebp,esi
1842	movdqa	xmm8,xmm10
1843	xor	edi,ebx
1844	paddd	xmm10,xmm5
1845	xor	ebx,ecx
1846	pxor	xmm6,xmm9
1847	add	ebp,eax
1848	add	edx,DWORD PTR[36+rsp]
1849	and	edi,ebx
1850	xor	ebx,ecx
1851	ror	eax,7
1852	movdqa	xmm9,xmm6
1853	mov	esi,ebp
1854	xor	edi,ebx
1855	movdqa	XMMWORD PTR[16+rsp],xmm10
1856	rol	ebp,5
1857	add	edx,edi
1858	xor	esi,eax
1859	pslld	xmm6,2
1860	xor	eax,ebx
1861	add	edx,ebp
1862	psrld	xmm9,30
1863	add	ecx,DWORD PTR[40+rsp]
1864	and	esi,eax
1865	xor	eax,ebx
1866	por	xmm6,xmm9
1867	ror	ebp,7
1868	mov	edi,edx
1869	xor	esi,eax
1870	rol	edx,5
1871	pshufd	xmm10,xmm5,238
1872	add	ecx,esi
1873	xor	edi,ebp
1874	xor	ebp,eax
1875	add	ecx,edx
1876	add	ebx,DWORD PTR[44+rsp]
1877	and	edi,ebp
1878	xor	ebp,eax
1879	ror	edx,7
1880	mov	esi,ecx
1881	xor	edi,ebp
1882	rol	ecx,5
1883	add	ebx,edi
1884	xor	esi,edx
1885	xor	edx,ebp
1886	add	ebx,ecx
1887	pxor	xmm7,xmm3
1888	add	eax,DWORD PTR[48+rsp]
1889	and	esi,edx
1890	xor	edx,ebp
1891	ror	ecx,7
1892	punpcklqdq	xmm10,xmm6
1893	mov	edi,ebx
1894	xor	esi,edx
1895	pxor	xmm7,xmm0
1896	rol	ebx,5
1897	add	eax,esi
1898	movdqa	xmm9,XMMWORD PTR[32+r11]
1899	xor	edi,ecx
1900	paddd	xmm8,xmm6
1901	xor	ecx,edx
1902	pxor	xmm7,xmm10
1903	add	eax,ebx
1904	add	ebp,DWORD PTR[52+rsp]
1905	and	edi,ecx
1906	xor	ecx,edx
1907	ror	ebx,7
1908	movdqa	xmm10,xmm7
1909	mov	esi,eax
1910	xor	edi,ecx
1911	movdqa	XMMWORD PTR[32+rsp],xmm8
1912	rol	eax,5
1913	add	ebp,edi
1914	xor	esi,ebx
1915	pslld	xmm7,2
1916	xor	ebx,ecx
1917	add	ebp,eax
1918	psrld	xmm10,30
1919	add	edx,DWORD PTR[56+rsp]
1920	and	esi,ebx
1921	xor	ebx,ecx
1922	por	xmm7,xmm10
1923	ror	eax,7
1924	mov	edi,ebp
1925	xor	esi,ebx
1926	rol	ebp,5
1927	pshufd	xmm8,xmm6,238
1928	add	edx,esi
1929	xor	edi,eax
1930	xor	eax,ebx
1931	add	edx,ebp
1932	add	ecx,DWORD PTR[60+rsp]
1933	and	edi,eax
1934	xor	eax,ebx
1935	ror	ebp,7
1936	mov	esi,edx
1937	xor	edi,eax
1938	rol	edx,5
1939	add	ecx,edi
1940	xor	esi,ebp
1941	xor	ebp,eax
1942	add	ecx,edx
1943	pxor	xmm0,xmm4
1944	add	ebx,DWORD PTR[rsp]
1945	and	esi,ebp
1946	xor	ebp,eax
1947	ror	edx,7
1948	punpcklqdq	xmm8,xmm7
1949	mov	edi,ecx
1950	xor	esi,ebp
1951	pxor	xmm0,xmm1
1952	rol	ecx,5
1953	add	ebx,esi
1954	movdqa	xmm10,xmm9
1955	xor	edi,edx
1956	paddd	xmm9,xmm7
1957	xor	edx,ebp
1958	pxor	xmm0,xmm8
1959	add	ebx,ecx
1960	add	eax,DWORD PTR[4+rsp]
1961	and	edi,edx
1962	xor	edx,ebp
1963	ror	ecx,7
1964	movdqa	xmm8,xmm0
1965	mov	esi,ebx
1966	xor	edi,edx
1967	movdqa	XMMWORD PTR[48+rsp],xmm9
1968	rol	ebx,5
1969	add	eax,edi
1970	xor	esi,ecx
1971	pslld	xmm0,2
1972	xor	ecx,edx
1973	add	eax,ebx
1974	psrld	xmm8,30
1975	add	ebp,DWORD PTR[8+rsp]
1976	and	esi,ecx
1977	xor	ecx,edx
1978	por	xmm0,xmm8
1979	ror	ebx,7
1980	mov	edi,eax
1981	xor	esi,ecx
1982	rol	eax,5
1983	pshufd	xmm9,xmm7,238
1984	add	ebp,esi
1985	xor	edi,ebx
1986	xor	ebx,ecx
1987	add	ebp,eax
1988	add	edx,DWORD PTR[12+rsp]
1989	and	edi,ebx
1990	xor	ebx,ecx
1991	ror	eax,7
1992	mov	esi,ebp
1993	xor	edi,ebx
1994	rol	ebp,5
1995	add	edx,edi
1996	xor	esi,eax
1997	xor	eax,ebx
1998	add	edx,ebp
1999	pxor	xmm1,xmm5
2000	add	ecx,DWORD PTR[16+rsp]
2001	and	esi,eax
2002	xor	eax,ebx
2003	ror	ebp,7
2004	punpcklqdq	xmm9,xmm0
2005	mov	edi,edx
2006	xor	esi,eax
2007	pxor	xmm1,xmm2
2008	rol	edx,5
2009	add	ecx,esi
2010	movdqa	xmm8,xmm10
2011	xor	edi,ebp
2012	paddd	xmm10,xmm0
2013	xor	ebp,eax
2014	pxor	xmm1,xmm9
2015	add	ecx,edx
2016	add	ebx,DWORD PTR[20+rsp]
2017	and	edi,ebp
2018	xor	ebp,eax
2019	ror	edx,7
2020	movdqa	xmm9,xmm1
2021	mov	esi,ecx
2022	xor	edi,ebp
2023	movdqa	XMMWORD PTR[rsp],xmm10
2024	rol	ecx,5
2025	add	ebx,edi
2026	xor	esi,edx
2027	pslld	xmm1,2
2028	xor	edx,ebp
2029	add	ebx,ecx
2030	psrld	xmm9,30
2031	add	eax,DWORD PTR[24+rsp]
2032	and	esi,edx
2033	xor	edx,ebp
2034	por	xmm1,xmm9
2035	ror	ecx,7
2036	mov	edi,ebx
2037	xor	esi,edx
2038	rol	ebx,5
2039	pshufd	xmm10,xmm0,238
2040	add	eax,esi
2041	xor	edi,ecx
2042	xor	ecx,edx
2043	add	eax,ebx
2044	add	ebp,DWORD PTR[28+rsp]
2045	and	edi,ecx
2046	xor	ecx,edx
2047	ror	ebx,7
2048	mov	esi,eax
2049	xor	edi,ecx
2050	rol	eax,5
2051	add	ebp,edi
2052	xor	esi,ebx
2053	xor	ebx,ecx
2054	add	ebp,eax
2055	pxor	xmm2,xmm6
2056	add	edx,DWORD PTR[32+rsp]
2057	and	esi,ebx
2058	xor	ebx,ecx
2059	ror	eax,7
2060	punpcklqdq	xmm10,xmm1
2061	mov	edi,ebp
2062	xor	esi,ebx
2063	pxor	xmm2,xmm3
2064	rol	ebp,5
2065	add	edx,esi
2066	movdqa	xmm9,xmm8
2067	xor	edi,eax
2068	paddd	xmm8,xmm1
2069	xor	eax,ebx
2070	pxor	xmm2,xmm10
2071	add	edx,ebp
2072	add	ecx,DWORD PTR[36+rsp]
2073	and	edi,eax
2074	xor	eax,ebx
2075	ror	ebp,7
2076	movdqa	xmm10,xmm2
2077	mov	esi,edx
2078	xor	edi,eax
2079	movdqa	XMMWORD PTR[16+rsp],xmm8
2080	rol	edx,5
2081	add	ecx,edi
2082	xor	esi,ebp
2083	pslld	xmm2,2
2084	xor	ebp,eax
2085	add	ecx,edx
2086	psrld	xmm10,30
2087	add	ebx,DWORD PTR[40+rsp]
2088	and	esi,ebp
2089	xor	ebp,eax
2090	por	xmm2,xmm10
2091	ror	edx,7
2092	mov	edi,ecx
2093	xor	esi,ebp
2094	rol	ecx,5
2095	pshufd	xmm8,xmm1,238
2096	add	ebx,esi
2097	xor	edi,edx
2098	xor	edx,ebp
2099	add	ebx,ecx
2100	add	eax,DWORD PTR[44+rsp]
2101	and	edi,edx
2102	xor	edx,ebp
2103	ror	ecx,7
2104	mov	esi,ebx
2105	xor	edi,edx
2106	rol	ebx,5
2107	add	eax,edi
2108	xor	esi,edx
2109	add	eax,ebx
2110	pxor	xmm3,xmm7
2111	add	ebp,DWORD PTR[48+rsp]
2112	xor	esi,ecx
2113	punpcklqdq	xmm8,xmm2
2114	mov	edi,eax
2115	rol	eax,5
2116	pxor	xmm3,xmm4
2117	add	ebp,esi
2118	xor	edi,ecx
2119	movdqa	xmm10,xmm9
2120	ror	ebx,7
2121	paddd	xmm9,xmm2
2122	add	ebp,eax
2123	pxor	xmm3,xmm8
2124	add	edx,DWORD PTR[52+rsp]
2125	xor	edi,ebx
2126	mov	esi,ebp
2127	rol	ebp,5
2128	movdqa	xmm8,xmm3
2129	add	edx,edi
2130	xor	esi,ebx
2131	movdqa	XMMWORD PTR[32+rsp],xmm9
2132	ror	eax,7
2133	add	edx,ebp
2134	add	ecx,DWORD PTR[56+rsp]
2135	pslld	xmm3,2
2136	xor	esi,eax
2137	mov	edi,edx
2138	psrld	xmm8,30
2139	rol	edx,5
2140	add	ecx,esi
2141	xor	edi,eax
2142	ror	ebp,7
2143	por	xmm3,xmm8
2144	add	ecx,edx
2145	add	ebx,DWORD PTR[60+rsp]
2146	xor	edi,ebp
2147	mov	esi,ecx
2148	rol	ecx,5
2149	add	ebx,edi
2150	xor	esi,ebp
2151	ror	edx,7
2152	add	ebx,ecx
2153	add	eax,DWORD PTR[rsp]
2154	xor	esi,edx
2155	mov	edi,ebx
2156	rol	ebx,5
2157	paddd	xmm10,xmm3
2158	add	eax,esi
2159	xor	edi,edx
2160	movdqa	XMMWORD PTR[48+rsp],xmm10
2161	ror	ecx,7
2162	add	eax,ebx
2163	add	ebp,DWORD PTR[4+rsp]
2164	xor	edi,ecx
2165	mov	esi,eax
2166	rol	eax,5
2167	add	ebp,edi
2168	xor	esi,ecx
2169	ror	ebx,7
2170	add	ebp,eax
2171	add	edx,DWORD PTR[8+rsp]
2172	xor	esi,ebx
2173	mov	edi,ebp
2174	rol	ebp,5
2175	add	edx,esi
2176	xor	edi,ebx
2177	ror	eax,7
2178	add	edx,ebp
2179	add	ecx,DWORD PTR[12+rsp]
2180	xor	edi,eax
2181	mov	esi,edx
2182	rol	edx,5
2183	add	ecx,edi
2184	xor	esi,eax
2185	ror	ebp,7
2186	add	ecx,edx
2187	cmp	r9,r10
2188	je	$L$done_ssse3
2189	movdqa	xmm6,XMMWORD PTR[64+r11]
2190	movdqa	xmm9,XMMWORD PTR[((-64))+r11]
2191	movdqu	xmm0,XMMWORD PTR[r9]
2192	movdqu	xmm1,XMMWORD PTR[16+r9]
2193	movdqu	xmm2,XMMWORD PTR[32+r9]
2194	movdqu	xmm3,XMMWORD PTR[48+r9]
2195DB	102,15,56,0,198
2196	add	r9,64
2197	add	ebx,DWORD PTR[16+rsp]
2198	xor	esi,ebp
2199	mov	edi,ecx
2200DB	102,15,56,0,206
2201	rol	ecx,5
2202	add	ebx,esi
2203	xor	edi,ebp
2204	ror	edx,7
2205	paddd	xmm0,xmm9
2206	add	ebx,ecx
2207	add	eax,DWORD PTR[20+rsp]
2208	xor	edi,edx
2209	mov	esi,ebx
2210	movdqa	XMMWORD PTR[rsp],xmm0
2211	rol	ebx,5
2212	add	eax,edi
2213	xor	esi,edx
2214	ror	ecx,7
2215	psubd	xmm0,xmm9
2216	add	eax,ebx
2217	add	ebp,DWORD PTR[24+rsp]
2218	xor	esi,ecx
2219	mov	edi,eax
2220	rol	eax,5
2221	add	ebp,esi
2222	xor	edi,ecx
2223	ror	ebx,7
2224	add	ebp,eax
2225	add	edx,DWORD PTR[28+rsp]
2226	xor	edi,ebx
2227	mov	esi,ebp
2228	rol	ebp,5
2229	add	edx,edi
2230	xor	esi,ebx
2231	ror	eax,7
2232	add	edx,ebp
2233	add	ecx,DWORD PTR[32+rsp]
2234	xor	esi,eax
2235	mov	edi,edx
2236DB	102,15,56,0,214
2237	rol	edx,5
2238	add	ecx,esi
2239	xor	edi,eax
2240	ror	ebp,7
2241	paddd	xmm1,xmm9
2242	add	ecx,edx
2243	add	ebx,DWORD PTR[36+rsp]
2244	xor	edi,ebp
2245	mov	esi,ecx
2246	movdqa	XMMWORD PTR[16+rsp],xmm1
2247	rol	ecx,5
2248	add	ebx,edi
2249	xor	esi,ebp
2250	ror	edx,7
2251	psubd	xmm1,xmm9
2252	add	ebx,ecx
2253	add	eax,DWORD PTR[40+rsp]
2254	xor	esi,edx
2255	mov	edi,ebx
2256	rol	ebx,5
2257	add	eax,esi
2258	xor	edi,edx
2259	ror	ecx,7
2260	add	eax,ebx
2261	add	ebp,DWORD PTR[44+rsp]
2262	xor	edi,ecx
2263	mov	esi,eax
2264	rol	eax,5
2265	add	ebp,edi
2266	xor	esi,ecx
2267	ror	ebx,7
2268	add	ebp,eax
2269	add	edx,DWORD PTR[48+rsp]
2270	xor	esi,ebx
2271	mov	edi,ebp
2272DB	102,15,56,0,222
2273	rol	ebp,5
2274	add	edx,esi
2275	xor	edi,ebx
2276	ror	eax,7
2277	paddd	xmm2,xmm9
2278	add	edx,ebp
2279	add	ecx,DWORD PTR[52+rsp]
2280	xor	edi,eax
2281	mov	esi,edx
2282	movdqa	XMMWORD PTR[32+rsp],xmm2
2283	rol	edx,5
2284	add	ecx,edi
2285	xor	esi,eax
2286	ror	ebp,7
2287	psubd	xmm2,xmm9
2288	add	ecx,edx
2289	add	ebx,DWORD PTR[56+rsp]
2290	xor	esi,ebp
2291	mov	edi,ecx
2292	rol	ecx,5
2293	add	ebx,esi
2294	xor	edi,ebp
2295	ror	edx,7
2296	add	ebx,ecx
2297	add	eax,DWORD PTR[60+rsp]
2298	xor	edi,edx
2299	mov	esi,ebx
2300	rol	ebx,5
2301	add	eax,edi
2302	ror	ecx,7
2303	add	eax,ebx
2304	add	eax,DWORD PTR[r8]
2305	add	esi,DWORD PTR[4+r8]
2306	add	ecx,DWORD PTR[8+r8]
2307	add	edx,DWORD PTR[12+r8]
2308	mov	DWORD PTR[r8],eax
2309	add	ebp,DWORD PTR[16+r8]
2310	mov	DWORD PTR[4+r8],esi
2311	mov	ebx,esi
2312	mov	DWORD PTR[8+r8],ecx
2313	mov	edi,ecx
2314	mov	DWORD PTR[12+r8],edx
2315	xor	edi,edx
2316	mov	DWORD PTR[16+r8],ebp
2317	and	esi,edi
2318	jmp	$L$oop_ssse3
2319
2320ALIGN	16
2321$L$done_ssse3::
2322	add	ebx,DWORD PTR[16+rsp]
2323	xor	esi,ebp
2324	mov	edi,ecx
2325	rol	ecx,5
2326	add	ebx,esi
2327	xor	edi,ebp
2328	ror	edx,7
2329	add	ebx,ecx
2330	add	eax,DWORD PTR[20+rsp]
2331	xor	edi,edx
2332	mov	esi,ebx
2333	rol	ebx,5
2334	add	eax,edi
2335	xor	esi,edx
2336	ror	ecx,7
2337	add	eax,ebx
2338	add	ebp,DWORD PTR[24+rsp]
2339	xor	esi,ecx
2340	mov	edi,eax
2341	rol	eax,5
2342	add	ebp,esi
2343	xor	edi,ecx
2344	ror	ebx,7
2345	add	ebp,eax
2346	add	edx,DWORD PTR[28+rsp]
2347	xor	edi,ebx
2348	mov	esi,ebp
2349	rol	ebp,5
2350	add	edx,edi
2351	xor	esi,ebx
2352	ror	eax,7
2353	add	edx,ebp
2354	add	ecx,DWORD PTR[32+rsp]
2355	xor	esi,eax
2356	mov	edi,edx
2357	rol	edx,5
2358	add	ecx,esi
2359	xor	edi,eax
2360	ror	ebp,7
2361	add	ecx,edx
2362	add	ebx,DWORD PTR[36+rsp]
2363	xor	edi,ebp
2364	mov	esi,ecx
2365	rol	ecx,5
2366	add	ebx,edi
2367	xor	esi,ebp
2368	ror	edx,7
2369	add	ebx,ecx
2370	add	eax,DWORD PTR[40+rsp]
2371	xor	esi,edx
2372	mov	edi,ebx
2373	rol	ebx,5
2374	add	eax,esi
2375	xor	edi,edx
2376	ror	ecx,7
2377	add	eax,ebx
2378	add	ebp,DWORD PTR[44+rsp]
2379	xor	edi,ecx
2380	mov	esi,eax
2381	rol	eax,5
2382	add	ebp,edi
2383	xor	esi,ecx
2384	ror	ebx,7
2385	add	ebp,eax
2386	add	edx,DWORD PTR[48+rsp]
2387	xor	esi,ebx
2388	mov	edi,ebp
2389	rol	ebp,5
2390	add	edx,esi
2391	xor	edi,ebx
2392	ror	eax,7
2393	add	edx,ebp
2394	add	ecx,DWORD PTR[52+rsp]
2395	xor	edi,eax
2396	mov	esi,edx
2397	rol	edx,5
2398	add	ecx,edi
2399	xor	esi,eax
2400	ror	ebp,7
2401	add	ecx,edx
2402	add	ebx,DWORD PTR[56+rsp]
2403	xor	esi,ebp
2404	mov	edi,ecx
2405	rol	ecx,5
2406	add	ebx,esi
2407	xor	edi,ebp
2408	ror	edx,7
2409	add	ebx,ecx
2410	add	eax,DWORD PTR[60+rsp]
2411	xor	edi,edx
2412	mov	esi,ebx
2413	rol	ebx,5
2414	add	eax,edi
2415	ror	ecx,7
2416	add	eax,ebx
2417	add	eax,DWORD PTR[r8]
2418	add	esi,DWORD PTR[4+r8]
2419	add	ecx,DWORD PTR[8+r8]
2420	mov	DWORD PTR[r8],eax
2421	add	edx,DWORD PTR[12+r8]
2422	mov	DWORD PTR[4+r8],esi
2423	add	ebp,DWORD PTR[16+r8]
2424	mov	DWORD PTR[8+r8],ecx
2425	mov	DWORD PTR[12+r8],edx
2426	mov	DWORD PTR[16+r8],ebp
2427	movaps	xmm6,XMMWORD PTR[((-40-96))+r14]
2428	movaps	xmm7,XMMWORD PTR[((-40-80))+r14]
2429	movaps	xmm8,XMMWORD PTR[((-40-64))+r14]
2430	movaps	xmm9,XMMWORD PTR[((-40-48))+r14]
2431	movaps	xmm10,XMMWORD PTR[((-40-32))+r14]
2432	movaps	xmm11,XMMWORD PTR[((-40-16))+r14]
2433	lea	rsi,QWORD PTR[r14]
2434	mov	r14,QWORD PTR[((-40))+rsi]
2435	mov	r13,QWORD PTR[((-32))+rsi]
2436	mov	r12,QWORD PTR[((-24))+rsi]
2437	mov	rbp,QWORD PTR[((-16))+rsi]
2438	mov	rbx,QWORD PTR[((-8))+rsi]
2439	lea	rsp,QWORD PTR[rsi]
2440$L$epilogue_ssse3::
2441	mov	rdi,QWORD PTR[8+rsp]	;WIN64 epilogue
2442	mov	rsi,QWORD PTR[16+rsp]
2443	DB	0F3h,0C3h		;repret
2444$L$SEH_end_sha1_block_data_order_ssse3::
2445sha1_block_data_order_ssse3	ENDP
2446ALIGN	64
2447K_XX_XX::
2448	DD	05a827999h,05a827999h,05a827999h,05a827999h
2449	DD	05a827999h,05a827999h,05a827999h,05a827999h
2450	DD	06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h
2451	DD	06ed9eba1h,06ed9eba1h,06ed9eba1h,06ed9eba1h
2452	DD	08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch
2453	DD	08f1bbcdch,08f1bbcdch,08f1bbcdch,08f1bbcdch
2454	DD	0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h
2455	DD	0ca62c1d6h,0ca62c1d6h,0ca62c1d6h,0ca62c1d6h
2456	DD	000010203h,004050607h,008090a0bh,00c0d0e0fh
2457	DD	000010203h,004050607h,008090a0bh,00c0d0e0fh
2458DB	0fh,0eh,0dh,0ch,0bh,0ah,09h,08h,07h,06h,05h,04h,03h,02h,01h,00h
2459DB	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
2460DB	102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44
2461DB	32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60
2462DB	97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114
2463DB	103,62,0
2464ALIGN	64
2465EXTERN	__imp_RtlVirtualUnwind:NEAR
2466
2467ALIGN	16
2468se_handler	PROC PRIVATE
2469	push	rsi
2470	push	rdi
2471	push	rbx
2472	push	rbp
2473	push	r12
2474	push	r13
2475	push	r14
2476	push	r15
2477	pushfq
2478	sub	rsp,64
2479
2480	mov	rax,QWORD PTR[120+r8]
2481	mov	rbx,QWORD PTR[248+r8]
2482
2483	lea	r10,QWORD PTR[$L$prologue]
2484	cmp	rbx,r10
2485	jb	$L$common_seh_tail
2486
2487	mov	rax,QWORD PTR[152+r8]
2488
2489	lea	r10,QWORD PTR[$L$epilogue]
2490	cmp	rbx,r10
2491	jae	$L$common_seh_tail
2492
2493	mov	rax,QWORD PTR[64+rax]
2494
2495	mov	rbx,QWORD PTR[((-8))+rax]
2496	mov	rbp,QWORD PTR[((-16))+rax]
2497	mov	r12,QWORD PTR[((-24))+rax]
2498	mov	r13,QWORD PTR[((-32))+rax]
2499	mov	r14,QWORD PTR[((-40))+rax]
2500	mov	QWORD PTR[144+r8],rbx
2501	mov	QWORD PTR[160+r8],rbp
2502	mov	QWORD PTR[216+r8],r12
2503	mov	QWORD PTR[224+r8],r13
2504	mov	QWORD PTR[232+r8],r14
2505
2506	jmp	$L$common_seh_tail
2507se_handler	ENDP
2508
2509ALIGN	16
2510ssse3_handler	PROC PRIVATE
2511	push	rsi
2512	push	rdi
2513	push	rbx
2514	push	rbp
2515	push	r12
2516	push	r13
2517	push	r14
2518	push	r15
2519	pushfq
2520	sub	rsp,64
2521
2522	mov	rax,QWORD PTR[120+r8]
2523	mov	rbx,QWORD PTR[248+r8]
2524
2525	mov	rsi,QWORD PTR[8+r9]
2526	mov	r11,QWORD PTR[56+r9]
2527
2528	mov	r10d,DWORD PTR[r11]
2529	lea	r10,QWORD PTR[r10*1+rsi]
2530	cmp	rbx,r10
2531	jb	$L$common_seh_tail
2532
2533	mov	rax,QWORD PTR[152+r8]
2534
2535	mov	r10d,DWORD PTR[4+r11]
2536	lea	r10,QWORD PTR[r10*1+rsi]
2537	cmp	rbx,r10
2538	jae	$L$common_seh_tail
2539
2540	mov	rax,QWORD PTR[232+r8]
2541
2542	lea	rsi,QWORD PTR[((-40-96))+rax]
2543	lea	rdi,QWORD PTR[512+r8]
2544	mov	ecx,12
2545	DD	0a548f3fch
2546
2547	mov	rbx,QWORD PTR[((-8))+rax]
2548	mov	rbp,QWORD PTR[((-16))+rax]
2549	mov	r12,QWORD PTR[((-24))+rax]
2550	mov	r13,QWORD PTR[((-32))+rax]
2551	mov	r14,QWORD PTR[((-40))+rax]
2552	mov	QWORD PTR[144+r8],rbx
2553	mov	QWORD PTR[160+r8],rbp
2554	mov	QWORD PTR[216+r8],r12
2555	mov	QWORD PTR[224+r8],r13
2556	mov	QWORD PTR[232+r8],r14
2557
2558$L$common_seh_tail::
2559	mov	rdi,QWORD PTR[8+rax]
2560	mov	rsi,QWORD PTR[16+rax]
2561	mov	QWORD PTR[152+r8],rax
2562	mov	QWORD PTR[168+r8],rsi
2563	mov	QWORD PTR[176+r8],rdi
2564
2565	mov	rdi,QWORD PTR[40+r9]
2566	mov	rsi,r8
2567	mov	ecx,154
2568	DD	0a548f3fch
2569
2570	mov	rsi,r9
2571	xor	rcx,rcx
2572	mov	rdx,QWORD PTR[8+rsi]
2573	mov	r8,QWORD PTR[rsi]
2574	mov	r9,QWORD PTR[16+rsi]
2575	mov	r10,QWORD PTR[40+rsi]
2576	lea	r11,QWORD PTR[56+rsi]
2577	lea	r12,QWORD PTR[24+rsi]
2578	mov	QWORD PTR[32+rsp],r10
2579	mov	QWORD PTR[40+rsp],r11
2580	mov	QWORD PTR[48+rsp],r12
2581	mov	QWORD PTR[56+rsp],rcx
2582	call	QWORD PTR[__imp_RtlVirtualUnwind]
2583
2584	mov	eax,1
2585	add	rsp,64
2586	popfq
2587	pop	r15
2588	pop	r14
2589	pop	r13
2590	pop	r12
2591	pop	rbp
2592	pop	rbx
2593	pop	rdi
2594	pop	rsi
2595	DB	0F3h,0C3h		;repret
2596ssse3_handler	ENDP
2597
2598.text$	ENDS
2599.pdata	SEGMENT READONLY ALIGN(4)
2600ALIGN	4
2601	DD	imagerel $L$SEH_begin_sha1_block_data_order
2602	DD	imagerel $L$SEH_end_sha1_block_data_order
2603	DD	imagerel $L$SEH_info_sha1_block_data_order
2604	DD	imagerel $L$SEH_begin_sha1_block_data_order_ssse3
2605	DD	imagerel $L$SEH_end_sha1_block_data_order_ssse3
2606	DD	imagerel $L$SEH_info_sha1_block_data_order_ssse3
2607.pdata	ENDS
2608.xdata	SEGMENT READONLY ALIGN(8)
2609ALIGN	8
2610$L$SEH_info_sha1_block_data_order::
2611DB	9,0,0,0
2612	DD	imagerel se_handler
2613$L$SEH_info_sha1_block_data_order_ssse3::
2614DB	9,0,0,0
2615	DD	imagerel ssse3_handler
2616	DD	imagerel $L$prologue_ssse3,imagerel $L$epilogue_ssse3
2617
2618.xdata	ENDS
2619END
2620