• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1; This file is generated from a similarly-named Perl script in the BoringSSL
2; source tree. Do not edit by hand.
3
4%ifdef BORINGSSL_PREFIX
5%include "boringssl_prefix_symbols_nasm.inc"
6%endif
7%ifidn __OUTPUT_FORMAT__, win32
8%ifidn __OUTPUT_FORMAT__,obj
9section	code	use32 class=code align=64
10%elifidn __OUTPUT_FORMAT__,win32
11$@feat.00 equ 1
12section	.text	code align=64
13%else
14section	.text	code
15%endif
16;extern	_OPENSSL_ia32cap_P
17global	_sha256_block_data_order
18align	16
19_sha256_block_data_order:
20L$_sha256_block_data_order_begin:
21	push	ebp
22	push	ebx
23	push	esi
24	push	edi
25	mov	esi,DWORD [20+esp]
26	mov	edi,DWORD [24+esp]
27	mov	eax,DWORD [28+esp]
28	mov	ebx,esp
29	call	L$000pic_point
30L$000pic_point:
31	pop	ebp
32	lea	ebp,[(L$001K256-L$000pic_point)+ebp]
33	sub	esp,16
34	and	esp,-64
35	shl	eax,6
36	add	eax,edi
37	mov	DWORD [esp],esi
38	mov	DWORD [4+esp],edi
39	mov	DWORD [8+esp],eax
40	mov	DWORD [12+esp],ebx
41	lea	edx,[_OPENSSL_ia32cap_P]
42	mov	ecx,DWORD [edx]
43	mov	ebx,DWORD [4+edx]
44	test	ecx,1048576
45	jnz	NEAR L$002loop
46	mov	edx,DWORD [8+edx]
47	test	ecx,16777216
48	jz	NEAR L$003no_xmm
49	and	ecx,1073741824
50	and	ebx,268435968
51	or	ecx,ebx
52	and	ecx,1342177280
53	cmp	ecx,1342177280
54	je	NEAR L$004AVX
55	test	ebx,512
56	jnz	NEAR L$005SSSE3
57L$003no_xmm:
58	sub	eax,edi
59	cmp	eax,256
60	jae	NEAR L$006unrolled
61	jmp	NEAR L$002loop
62align	16
63L$002loop:
64	mov	eax,DWORD [edi]
65	mov	ebx,DWORD [4+edi]
66	mov	ecx,DWORD [8+edi]
67	bswap	eax
68	mov	edx,DWORD [12+edi]
69	bswap	ebx
70	push	eax
71	bswap	ecx
72	push	ebx
73	bswap	edx
74	push	ecx
75	push	edx
76	mov	eax,DWORD [16+edi]
77	mov	ebx,DWORD [20+edi]
78	mov	ecx,DWORD [24+edi]
79	bswap	eax
80	mov	edx,DWORD [28+edi]
81	bswap	ebx
82	push	eax
83	bswap	ecx
84	push	ebx
85	bswap	edx
86	push	ecx
87	push	edx
88	mov	eax,DWORD [32+edi]
89	mov	ebx,DWORD [36+edi]
90	mov	ecx,DWORD [40+edi]
91	bswap	eax
92	mov	edx,DWORD [44+edi]
93	bswap	ebx
94	push	eax
95	bswap	ecx
96	push	ebx
97	bswap	edx
98	push	ecx
99	push	edx
100	mov	eax,DWORD [48+edi]
101	mov	ebx,DWORD [52+edi]
102	mov	ecx,DWORD [56+edi]
103	bswap	eax
104	mov	edx,DWORD [60+edi]
105	bswap	ebx
106	push	eax
107	bswap	ecx
108	push	ebx
109	bswap	edx
110	push	ecx
111	push	edx
112	add	edi,64
113	lea	esp,[esp-36]
114	mov	DWORD [104+esp],edi
115	mov	eax,DWORD [esi]
116	mov	ebx,DWORD [4+esi]
117	mov	ecx,DWORD [8+esi]
118	mov	edi,DWORD [12+esi]
119	mov	DWORD [8+esp],ebx
120	xor	ebx,ecx
121	mov	DWORD [12+esp],ecx
122	mov	DWORD [16+esp],edi
123	mov	DWORD [esp],ebx
124	mov	edx,DWORD [16+esi]
125	mov	ebx,DWORD [20+esi]
126	mov	ecx,DWORD [24+esi]
127	mov	edi,DWORD [28+esi]
128	mov	DWORD [24+esp],ebx
129	mov	DWORD [28+esp],ecx
130	mov	DWORD [32+esp],edi
131align	16
132L$00700_15:
133	mov	ecx,edx
134	mov	esi,DWORD [24+esp]
135	ror	ecx,14
136	mov	edi,DWORD [28+esp]
137	xor	ecx,edx
138	xor	esi,edi
139	mov	ebx,DWORD [96+esp]
140	ror	ecx,5
141	and	esi,edx
142	mov	DWORD [20+esp],edx
143	xor	edx,ecx
144	add	ebx,DWORD [32+esp]
145	xor	esi,edi
146	ror	edx,6
147	mov	ecx,eax
148	add	ebx,esi
149	ror	ecx,9
150	add	ebx,edx
151	mov	edi,DWORD [8+esp]
152	xor	ecx,eax
153	mov	DWORD [4+esp],eax
154	lea	esp,[esp-4]
155	ror	ecx,11
156	mov	esi,DWORD [ebp]
157	xor	ecx,eax
158	mov	edx,DWORD [20+esp]
159	xor	eax,edi
160	ror	ecx,2
161	add	ebx,esi
162	mov	DWORD [esp],eax
163	add	edx,ebx
164	and	eax,DWORD [4+esp]
165	add	ebx,ecx
166	xor	eax,edi
167	add	ebp,4
168	add	eax,ebx
169	cmp	esi,3248222580
170	jne	NEAR L$00700_15
171	mov	ecx,DWORD [156+esp]
172	jmp	NEAR L$00816_63
173align	16
174L$00816_63:
175	mov	ebx,ecx
176	mov	esi,DWORD [104+esp]
177	ror	ecx,11
178	mov	edi,esi
179	ror	esi,2
180	xor	ecx,ebx
181	shr	ebx,3
182	ror	ecx,7
183	xor	esi,edi
184	xor	ebx,ecx
185	ror	esi,17
186	add	ebx,DWORD [160+esp]
187	shr	edi,10
188	add	ebx,DWORD [124+esp]
189	mov	ecx,edx
190	xor	edi,esi
191	mov	esi,DWORD [24+esp]
192	ror	ecx,14
193	add	ebx,edi
194	mov	edi,DWORD [28+esp]
195	xor	ecx,edx
196	xor	esi,edi
197	mov	DWORD [96+esp],ebx
198	ror	ecx,5
199	and	esi,edx
200	mov	DWORD [20+esp],edx
201	xor	edx,ecx
202	add	ebx,DWORD [32+esp]
203	xor	esi,edi
204	ror	edx,6
205	mov	ecx,eax
206	add	ebx,esi
207	ror	ecx,9
208	add	ebx,edx
209	mov	edi,DWORD [8+esp]
210	xor	ecx,eax
211	mov	DWORD [4+esp],eax
212	lea	esp,[esp-4]
213	ror	ecx,11
214	mov	esi,DWORD [ebp]
215	xor	ecx,eax
216	mov	edx,DWORD [20+esp]
217	xor	eax,edi
218	ror	ecx,2
219	add	ebx,esi
220	mov	DWORD [esp],eax
221	add	edx,ebx
222	and	eax,DWORD [4+esp]
223	add	ebx,ecx
224	xor	eax,edi
225	mov	ecx,DWORD [156+esp]
226	add	ebp,4
227	add	eax,ebx
228	cmp	esi,3329325298
229	jne	NEAR L$00816_63
230	mov	esi,DWORD [356+esp]
231	mov	ebx,DWORD [8+esp]
232	mov	ecx,DWORD [16+esp]
233	add	eax,DWORD [esi]
234	add	ebx,DWORD [4+esi]
235	add	edi,DWORD [8+esi]
236	add	ecx,DWORD [12+esi]
237	mov	DWORD [esi],eax
238	mov	DWORD [4+esi],ebx
239	mov	DWORD [8+esi],edi
240	mov	DWORD [12+esi],ecx
241	mov	eax,DWORD [24+esp]
242	mov	ebx,DWORD [28+esp]
243	mov	ecx,DWORD [32+esp]
244	mov	edi,DWORD [360+esp]
245	add	edx,DWORD [16+esi]
246	add	eax,DWORD [20+esi]
247	add	ebx,DWORD [24+esi]
248	add	ecx,DWORD [28+esi]
249	mov	DWORD [16+esi],edx
250	mov	DWORD [20+esi],eax
251	mov	DWORD [24+esi],ebx
252	mov	DWORD [28+esi],ecx
253	lea	esp,[356+esp]
254	sub	ebp,256
255	cmp	edi,DWORD [8+esp]
256	jb	NEAR L$002loop
257	mov	esp,DWORD [12+esp]
258	pop	edi
259	pop	esi
260	pop	ebx
261	pop	ebp
262	ret
263align	64
264L$001K256:
265dd	1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298
266dd	66051,67438087,134810123,202182159
267db	83,72,65,50,53,54,32,98,108,111,99,107,32,116,114,97
268db	110,115,102,111,114,109,32,102,111,114,32,120,56,54,44,32
269db	67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97
270db	112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103
271db	62,0
272align	16
273L$006unrolled:
274	lea	esp,[esp-96]
275	mov	eax,DWORD [esi]
276	mov	ebp,DWORD [4+esi]
277	mov	ecx,DWORD [8+esi]
278	mov	ebx,DWORD [12+esi]
279	mov	DWORD [4+esp],ebp
280	xor	ebp,ecx
281	mov	DWORD [8+esp],ecx
282	mov	DWORD [12+esp],ebx
283	mov	edx,DWORD [16+esi]
284	mov	ebx,DWORD [20+esi]
285	mov	ecx,DWORD [24+esi]
286	mov	esi,DWORD [28+esi]
287	mov	DWORD [20+esp],ebx
288	mov	DWORD [24+esp],ecx
289	mov	DWORD [28+esp],esi
290	jmp	NEAR L$009grand_loop
291align	16
292L$009grand_loop:
293	mov	ebx,DWORD [edi]
294	mov	ecx,DWORD [4+edi]
295	bswap	ebx
296	mov	esi,DWORD [8+edi]
297	bswap	ecx
298	mov	DWORD [32+esp],ebx
299	bswap	esi
300	mov	DWORD [36+esp],ecx
301	mov	DWORD [40+esp],esi
302	mov	ebx,DWORD [12+edi]
303	mov	ecx,DWORD [16+edi]
304	bswap	ebx
305	mov	esi,DWORD [20+edi]
306	bswap	ecx
307	mov	DWORD [44+esp],ebx
308	bswap	esi
309	mov	DWORD [48+esp],ecx
310	mov	DWORD [52+esp],esi
311	mov	ebx,DWORD [24+edi]
312	mov	ecx,DWORD [28+edi]
313	bswap	ebx
314	mov	esi,DWORD [32+edi]
315	bswap	ecx
316	mov	DWORD [56+esp],ebx
317	bswap	esi
318	mov	DWORD [60+esp],ecx
319	mov	DWORD [64+esp],esi
320	mov	ebx,DWORD [36+edi]
321	mov	ecx,DWORD [40+edi]
322	bswap	ebx
323	mov	esi,DWORD [44+edi]
324	bswap	ecx
325	mov	DWORD [68+esp],ebx
326	bswap	esi
327	mov	DWORD [72+esp],ecx
328	mov	DWORD [76+esp],esi
329	mov	ebx,DWORD [48+edi]
330	mov	ecx,DWORD [52+edi]
331	bswap	ebx
332	mov	esi,DWORD [56+edi]
333	bswap	ecx
334	mov	DWORD [80+esp],ebx
335	bswap	esi
336	mov	DWORD [84+esp],ecx
337	mov	DWORD [88+esp],esi
338	mov	ebx,DWORD [60+edi]
339	add	edi,64
340	bswap	ebx
341	mov	DWORD [100+esp],edi
342	mov	DWORD [92+esp],ebx
343	mov	ecx,edx
344	mov	esi,DWORD [20+esp]
345	ror	edx,14
346	mov	edi,DWORD [24+esp]
347	xor	edx,ecx
348	mov	ebx,DWORD [32+esp]
349	xor	esi,edi
350	ror	edx,5
351	and	esi,ecx
352	mov	DWORD [16+esp],ecx
353	xor	edx,ecx
354	add	ebx,DWORD [28+esp]
355	xor	edi,esi
356	ror	edx,6
357	mov	ecx,eax
358	add	ebx,edi
359	ror	ecx,9
360	mov	esi,eax
361	mov	edi,DWORD [4+esp]
362	xor	ecx,eax
363	mov	DWORD [esp],eax
364	xor	eax,edi
365	ror	ecx,11
366	and	ebp,eax
367	lea	edx,[1116352408+edx*1+ebx]
368	xor	ecx,esi
369	xor	ebp,edi
370	ror	ecx,2
371	add	ebp,edx
372	add	edx,DWORD [12+esp]
373	add	ebp,ecx
374	mov	esi,edx
375	mov	ecx,DWORD [16+esp]
376	ror	edx,14
377	mov	edi,DWORD [20+esp]
378	xor	edx,esi
379	mov	ebx,DWORD [36+esp]
380	xor	ecx,edi
381	ror	edx,5
382	and	ecx,esi
383	mov	DWORD [12+esp],esi
384	xor	edx,esi
385	add	ebx,DWORD [24+esp]
386	xor	edi,ecx
387	ror	edx,6
388	mov	esi,ebp
389	add	ebx,edi
390	ror	esi,9
391	mov	ecx,ebp
392	mov	edi,DWORD [esp]
393	xor	esi,ebp
394	mov	DWORD [28+esp],ebp
395	xor	ebp,edi
396	ror	esi,11
397	and	eax,ebp
398	lea	edx,[1899447441+edx*1+ebx]
399	xor	esi,ecx
400	xor	eax,edi
401	ror	esi,2
402	add	eax,edx
403	add	edx,DWORD [8+esp]
404	add	eax,esi
405	mov	ecx,edx
406	mov	esi,DWORD [12+esp]
407	ror	edx,14
408	mov	edi,DWORD [16+esp]
409	xor	edx,ecx
410	mov	ebx,DWORD [40+esp]
411	xor	esi,edi
412	ror	edx,5
413	and	esi,ecx
414	mov	DWORD [8+esp],ecx
415	xor	edx,ecx
416	add	ebx,DWORD [20+esp]
417	xor	edi,esi
418	ror	edx,6
419	mov	ecx,eax
420	add	ebx,edi
421	ror	ecx,9
422	mov	esi,eax
423	mov	edi,DWORD [28+esp]
424	xor	ecx,eax
425	mov	DWORD [24+esp],eax
426	xor	eax,edi
427	ror	ecx,11
428	and	ebp,eax
429	lea	edx,[3049323471+edx*1+ebx]
430	xor	ecx,esi
431	xor	ebp,edi
432	ror	ecx,2
433	add	ebp,edx
434	add	edx,DWORD [4+esp]
435	add	ebp,ecx
436	mov	esi,edx
437	mov	ecx,DWORD [8+esp]
438	ror	edx,14
439	mov	edi,DWORD [12+esp]
440	xor	edx,esi
441	mov	ebx,DWORD [44+esp]
442	xor	ecx,edi
443	ror	edx,5
444	and	ecx,esi
445	mov	DWORD [4+esp],esi
446	xor	edx,esi
447	add	ebx,DWORD [16+esp]
448	xor	edi,ecx
449	ror	edx,6
450	mov	esi,ebp
451	add	ebx,edi
452	ror	esi,9
453	mov	ecx,ebp
454	mov	edi,DWORD [24+esp]
455	xor	esi,ebp
456	mov	DWORD [20+esp],ebp
457	xor	ebp,edi
458	ror	esi,11
459	and	eax,ebp
460	lea	edx,[3921009573+edx*1+ebx]
461	xor	esi,ecx
462	xor	eax,edi
463	ror	esi,2
464	add	eax,edx
465	add	edx,DWORD [esp]
466	add	eax,esi
467	mov	ecx,edx
468	mov	esi,DWORD [4+esp]
469	ror	edx,14
470	mov	edi,DWORD [8+esp]
471	xor	edx,ecx
472	mov	ebx,DWORD [48+esp]
473	xor	esi,edi
474	ror	edx,5
475	and	esi,ecx
476	mov	DWORD [esp],ecx
477	xor	edx,ecx
478	add	ebx,DWORD [12+esp]
479	xor	edi,esi
480	ror	edx,6
481	mov	ecx,eax
482	add	ebx,edi
483	ror	ecx,9
484	mov	esi,eax
485	mov	edi,DWORD [20+esp]
486	xor	ecx,eax
487	mov	DWORD [16+esp],eax
488	xor	eax,edi
489	ror	ecx,11
490	and	ebp,eax
491	lea	edx,[961987163+edx*1+ebx]
492	xor	ecx,esi
493	xor	ebp,edi
494	ror	ecx,2
495	add	ebp,edx
496	add	edx,DWORD [28+esp]
497	add	ebp,ecx
498	mov	esi,edx
499	mov	ecx,DWORD [esp]
500	ror	edx,14
501	mov	edi,DWORD [4+esp]
502	xor	edx,esi
503	mov	ebx,DWORD [52+esp]
504	xor	ecx,edi
505	ror	edx,5
506	and	ecx,esi
507	mov	DWORD [28+esp],esi
508	xor	edx,esi
509	add	ebx,DWORD [8+esp]
510	xor	edi,ecx
511	ror	edx,6
512	mov	esi,ebp
513	add	ebx,edi
514	ror	esi,9
515	mov	ecx,ebp
516	mov	edi,DWORD [16+esp]
517	xor	esi,ebp
518	mov	DWORD [12+esp],ebp
519	xor	ebp,edi
520	ror	esi,11
521	and	eax,ebp
522	lea	edx,[1508970993+edx*1+ebx]
523	xor	esi,ecx
524	xor	eax,edi
525	ror	esi,2
526	add	eax,edx
527	add	edx,DWORD [24+esp]
528	add	eax,esi
529	mov	ecx,edx
530	mov	esi,DWORD [28+esp]
531	ror	edx,14
532	mov	edi,DWORD [esp]
533	xor	edx,ecx
534	mov	ebx,DWORD [56+esp]
535	xor	esi,edi
536	ror	edx,5
537	and	esi,ecx
538	mov	DWORD [24+esp],ecx
539	xor	edx,ecx
540	add	ebx,DWORD [4+esp]
541	xor	edi,esi
542	ror	edx,6
543	mov	ecx,eax
544	add	ebx,edi
545	ror	ecx,9
546	mov	esi,eax
547	mov	edi,DWORD [12+esp]
548	xor	ecx,eax
549	mov	DWORD [8+esp],eax
550	xor	eax,edi
551	ror	ecx,11
552	and	ebp,eax
553	lea	edx,[2453635748+edx*1+ebx]
554	xor	ecx,esi
555	xor	ebp,edi
556	ror	ecx,2
557	add	ebp,edx
558	add	edx,DWORD [20+esp]
559	add	ebp,ecx
560	mov	esi,edx
561	mov	ecx,DWORD [24+esp]
562	ror	edx,14
563	mov	edi,DWORD [28+esp]
564	xor	edx,esi
565	mov	ebx,DWORD [60+esp]
566	xor	ecx,edi
567	ror	edx,5
568	and	ecx,esi
569	mov	DWORD [20+esp],esi
570	xor	edx,esi
571	add	ebx,DWORD [esp]
572	xor	edi,ecx
573	ror	edx,6
574	mov	esi,ebp
575	add	ebx,edi
576	ror	esi,9
577	mov	ecx,ebp
578	mov	edi,DWORD [8+esp]
579	xor	esi,ebp
580	mov	DWORD [4+esp],ebp
581	xor	ebp,edi
582	ror	esi,11
583	and	eax,ebp
584	lea	edx,[2870763221+edx*1+ebx]
585	xor	esi,ecx
586	xor	eax,edi
587	ror	esi,2
588	add	eax,edx
589	add	edx,DWORD [16+esp]
590	add	eax,esi
591	mov	ecx,edx
592	mov	esi,DWORD [20+esp]
593	ror	edx,14
594	mov	edi,DWORD [24+esp]
595	xor	edx,ecx
596	mov	ebx,DWORD [64+esp]
597	xor	esi,edi
598	ror	edx,5
599	and	esi,ecx
600	mov	DWORD [16+esp],ecx
601	xor	edx,ecx
602	add	ebx,DWORD [28+esp]
603	xor	edi,esi
604	ror	edx,6
605	mov	ecx,eax
606	add	ebx,edi
607	ror	ecx,9
608	mov	esi,eax
609	mov	edi,DWORD [4+esp]
610	xor	ecx,eax
611	mov	DWORD [esp],eax
612	xor	eax,edi
613	ror	ecx,11
614	and	ebp,eax
615	lea	edx,[3624381080+edx*1+ebx]
616	xor	ecx,esi
617	xor	ebp,edi
618	ror	ecx,2
619	add	ebp,edx
620	add	edx,DWORD [12+esp]
621	add	ebp,ecx
622	mov	esi,edx
623	mov	ecx,DWORD [16+esp]
624	ror	edx,14
625	mov	edi,DWORD [20+esp]
626	xor	edx,esi
627	mov	ebx,DWORD [68+esp]
628	xor	ecx,edi
629	ror	edx,5
630	and	ecx,esi
631	mov	DWORD [12+esp],esi
632	xor	edx,esi
633	add	ebx,DWORD [24+esp]
634	xor	edi,ecx
635	ror	edx,6
636	mov	esi,ebp
637	add	ebx,edi
638	ror	esi,9
639	mov	ecx,ebp
640	mov	edi,DWORD [esp]
641	xor	esi,ebp
642	mov	DWORD [28+esp],ebp
643	xor	ebp,edi
644	ror	esi,11
645	and	eax,ebp
646	lea	edx,[310598401+edx*1+ebx]
647	xor	esi,ecx
648	xor	eax,edi
649	ror	esi,2
650	add	eax,edx
651	add	edx,DWORD [8+esp]
652	add	eax,esi
653	mov	ecx,edx
654	mov	esi,DWORD [12+esp]
655	ror	edx,14
656	mov	edi,DWORD [16+esp]
657	xor	edx,ecx
658	mov	ebx,DWORD [72+esp]
659	xor	esi,edi
660	ror	edx,5
661	and	esi,ecx
662	mov	DWORD [8+esp],ecx
663	xor	edx,ecx
664	add	ebx,DWORD [20+esp]
665	xor	edi,esi
666	ror	edx,6
667	mov	ecx,eax
668	add	ebx,edi
669	ror	ecx,9
670	mov	esi,eax
671	mov	edi,DWORD [28+esp]
672	xor	ecx,eax
673	mov	DWORD [24+esp],eax
674	xor	eax,edi
675	ror	ecx,11
676	and	ebp,eax
677	lea	edx,[607225278+edx*1+ebx]
678	xor	ecx,esi
679	xor	ebp,edi
680	ror	ecx,2
681	add	ebp,edx
682	add	edx,DWORD [4+esp]
683	add	ebp,ecx
684	mov	esi,edx
685	mov	ecx,DWORD [8+esp]
686	ror	edx,14
687	mov	edi,DWORD [12+esp]
688	xor	edx,esi
689	mov	ebx,DWORD [76+esp]
690	xor	ecx,edi
691	ror	edx,5
692	and	ecx,esi
693	mov	DWORD [4+esp],esi
694	xor	edx,esi
695	add	ebx,DWORD [16+esp]
696	xor	edi,ecx
697	ror	edx,6
698	mov	esi,ebp
699	add	ebx,edi
700	ror	esi,9
701	mov	ecx,ebp
702	mov	edi,DWORD [24+esp]
703	xor	esi,ebp
704	mov	DWORD [20+esp],ebp
705	xor	ebp,edi
706	ror	esi,11
707	and	eax,ebp
708	lea	edx,[1426881987+edx*1+ebx]
709	xor	esi,ecx
710	xor	eax,edi
711	ror	esi,2
712	add	eax,edx
713	add	edx,DWORD [esp]
714	add	eax,esi
715	mov	ecx,edx
716	mov	esi,DWORD [4+esp]
717	ror	edx,14
718	mov	edi,DWORD [8+esp]
719	xor	edx,ecx
720	mov	ebx,DWORD [80+esp]
721	xor	esi,edi
722	ror	edx,5
723	and	esi,ecx
724	mov	DWORD [esp],ecx
725	xor	edx,ecx
726	add	ebx,DWORD [12+esp]
727	xor	edi,esi
728	ror	edx,6
729	mov	ecx,eax
730	add	ebx,edi
731	ror	ecx,9
732	mov	esi,eax
733	mov	edi,DWORD [20+esp]
734	xor	ecx,eax
735	mov	DWORD [16+esp],eax
736	xor	eax,edi
737	ror	ecx,11
738	and	ebp,eax
739	lea	edx,[1925078388+edx*1+ebx]
740	xor	ecx,esi
741	xor	ebp,edi
742	ror	ecx,2
743	add	ebp,edx
744	add	edx,DWORD [28+esp]
745	add	ebp,ecx
746	mov	esi,edx
747	mov	ecx,DWORD [esp]
748	ror	edx,14
749	mov	edi,DWORD [4+esp]
750	xor	edx,esi
751	mov	ebx,DWORD [84+esp]
752	xor	ecx,edi
753	ror	edx,5
754	and	ecx,esi
755	mov	DWORD [28+esp],esi
756	xor	edx,esi
757	add	ebx,DWORD [8+esp]
758	xor	edi,ecx
759	ror	edx,6
760	mov	esi,ebp
761	add	ebx,edi
762	ror	esi,9
763	mov	ecx,ebp
764	mov	edi,DWORD [16+esp]
765	xor	esi,ebp
766	mov	DWORD [12+esp],ebp
767	xor	ebp,edi
768	ror	esi,11
769	and	eax,ebp
770	lea	edx,[2162078206+edx*1+ebx]
771	xor	esi,ecx
772	xor	eax,edi
773	ror	esi,2
774	add	eax,edx
775	add	edx,DWORD [24+esp]
776	add	eax,esi
777	mov	ecx,edx
778	mov	esi,DWORD [28+esp]
779	ror	edx,14
780	mov	edi,DWORD [esp]
781	xor	edx,ecx
782	mov	ebx,DWORD [88+esp]
783	xor	esi,edi
784	ror	edx,5
785	and	esi,ecx
786	mov	DWORD [24+esp],ecx
787	xor	edx,ecx
788	add	ebx,DWORD [4+esp]
789	xor	edi,esi
790	ror	edx,6
791	mov	ecx,eax
792	add	ebx,edi
793	ror	ecx,9
794	mov	esi,eax
795	mov	edi,DWORD [12+esp]
796	xor	ecx,eax
797	mov	DWORD [8+esp],eax
798	xor	eax,edi
799	ror	ecx,11
800	and	ebp,eax
801	lea	edx,[2614888103+edx*1+ebx]
802	xor	ecx,esi
803	xor	ebp,edi
804	ror	ecx,2
805	add	ebp,edx
806	add	edx,DWORD [20+esp]
807	add	ebp,ecx
808	mov	esi,edx
809	mov	ecx,DWORD [24+esp]
810	ror	edx,14
811	mov	edi,DWORD [28+esp]
812	xor	edx,esi
813	mov	ebx,DWORD [92+esp]
814	xor	ecx,edi
815	ror	edx,5
816	and	ecx,esi
817	mov	DWORD [20+esp],esi
818	xor	edx,esi
819	add	ebx,DWORD [esp]
820	xor	edi,ecx
821	ror	edx,6
822	mov	esi,ebp
823	add	ebx,edi
824	ror	esi,9
825	mov	ecx,ebp
826	mov	edi,DWORD [8+esp]
827	xor	esi,ebp
828	mov	DWORD [4+esp],ebp
829	xor	ebp,edi
830	ror	esi,11
831	and	eax,ebp
832	lea	edx,[3248222580+edx*1+ebx]
833	xor	esi,ecx
834	xor	eax,edi
835	mov	ecx,DWORD [36+esp]
836	ror	esi,2
837	add	eax,edx
838	add	edx,DWORD [16+esp]
839	add	eax,esi
840	mov	esi,DWORD [88+esp]
841	mov	ebx,ecx
842	ror	ecx,11
843	mov	edi,esi
844	ror	esi,2
845	xor	ecx,ebx
846	shr	ebx,3
847	ror	ecx,7
848	xor	esi,edi
849	xor	ebx,ecx
850	ror	esi,17
851	add	ebx,DWORD [32+esp]
852	shr	edi,10
853	add	ebx,DWORD [68+esp]
854	mov	ecx,edx
855	xor	edi,esi
856	mov	esi,DWORD [20+esp]
857	ror	edx,14
858	add	ebx,edi
859	mov	edi,DWORD [24+esp]
860	xor	edx,ecx
861	mov	DWORD [32+esp],ebx
862	xor	esi,edi
863	ror	edx,5
864	and	esi,ecx
865	mov	DWORD [16+esp],ecx
866	xor	edx,ecx
867	add	ebx,DWORD [28+esp]
868	xor	edi,esi
869	ror	edx,6
870	mov	ecx,eax
871	add	ebx,edi
872	ror	ecx,9
873	mov	esi,eax
874	mov	edi,DWORD [4+esp]
875	xor	ecx,eax
876	mov	DWORD [esp],eax
877	xor	eax,edi
878	ror	ecx,11
879	and	ebp,eax
880	lea	edx,[3835390401+edx*1+ebx]
881	xor	ecx,esi
882	xor	ebp,edi
883	mov	esi,DWORD [40+esp]
884	ror	ecx,2
885	add	ebp,edx
886	add	edx,DWORD [12+esp]
887	add	ebp,ecx
888	mov	ecx,DWORD [92+esp]
889	mov	ebx,esi
890	ror	esi,11
891	mov	edi,ecx
892	ror	ecx,2
893	xor	esi,ebx
894	shr	ebx,3
895	ror	esi,7
896	xor	ecx,edi
897	xor	ebx,esi
898	ror	ecx,17
899	add	ebx,DWORD [36+esp]
900	shr	edi,10
901	add	ebx,DWORD [72+esp]
902	mov	esi,edx
903	xor	edi,ecx
904	mov	ecx,DWORD [16+esp]
905	ror	edx,14
906	add	ebx,edi
907	mov	edi,DWORD [20+esp]
908	xor	edx,esi
909	mov	DWORD [36+esp],ebx
910	xor	ecx,edi
911	ror	edx,5
912	and	ecx,esi
913	mov	DWORD [12+esp],esi
914	xor	edx,esi
915	add	ebx,DWORD [24+esp]
916	xor	edi,ecx
917	ror	edx,6
918	mov	esi,ebp
919	add	ebx,edi
920	ror	esi,9
921	mov	ecx,ebp
922	mov	edi,DWORD [esp]
923	xor	esi,ebp
924	mov	DWORD [28+esp],ebp
925	xor	ebp,edi
926	ror	esi,11
927	and	eax,ebp
928	lea	edx,[4022224774+edx*1+ebx]
929	xor	esi,ecx
930	xor	eax,edi
931	mov	ecx,DWORD [44+esp]
932	ror	esi,2
933	add	eax,edx
934	add	edx,DWORD [8+esp]
935	add	eax,esi
936	mov	esi,DWORD [32+esp]
937	mov	ebx,ecx
938	ror	ecx,11
939	mov	edi,esi
940	ror	esi,2
941	xor	ecx,ebx
942	shr	ebx,3
943	ror	ecx,7
944	xor	esi,edi
945	xor	ebx,ecx
946	ror	esi,17
947	add	ebx,DWORD [40+esp]
948	shr	edi,10
949	add	ebx,DWORD [76+esp]
950	mov	ecx,edx
951	xor	edi,esi
952	mov	esi,DWORD [12+esp]
953	ror	edx,14
954	add	ebx,edi
955	mov	edi,DWORD [16+esp]
956	xor	edx,ecx
957	mov	DWORD [40+esp],ebx
958	xor	esi,edi
959	ror	edx,5
960	and	esi,ecx
961	mov	DWORD [8+esp],ecx
962	xor	edx,ecx
963	add	ebx,DWORD [20+esp]
964	xor	edi,esi
965	ror	edx,6
966	mov	ecx,eax
967	add	ebx,edi
968	ror	ecx,9
969	mov	esi,eax
970	mov	edi,DWORD [28+esp]
971	xor	ecx,eax
972	mov	DWORD [24+esp],eax
973	xor	eax,edi
974	ror	ecx,11
975	and	ebp,eax
976	lea	edx,[264347078+edx*1+ebx]
977	xor	ecx,esi
978	xor	ebp,edi
979	mov	esi,DWORD [48+esp]
980	ror	ecx,2
981	add	ebp,edx
982	add	edx,DWORD [4+esp]
983	add	ebp,ecx
984	mov	ecx,DWORD [36+esp]
985	mov	ebx,esi
986	ror	esi,11
987	mov	edi,ecx
988	ror	ecx,2
989	xor	esi,ebx
990	shr	ebx,3
991	ror	esi,7
992	xor	ecx,edi
993	xor	ebx,esi
994	ror	ecx,17
995	add	ebx,DWORD [44+esp]
996	shr	edi,10
997	add	ebx,DWORD [80+esp]
998	mov	esi,edx
999	xor	edi,ecx
1000	mov	ecx,DWORD [8+esp]
1001	ror	edx,14
1002	add	ebx,edi
1003	mov	edi,DWORD [12+esp]
1004	xor	edx,esi
1005	mov	DWORD [44+esp],ebx
1006	xor	ecx,edi
1007	ror	edx,5
1008	and	ecx,esi
1009	mov	DWORD [4+esp],esi
1010	xor	edx,esi
1011	add	ebx,DWORD [16+esp]
1012	xor	edi,ecx
1013	ror	edx,6
1014	mov	esi,ebp
1015	add	ebx,edi
1016	ror	esi,9
1017	mov	ecx,ebp
1018	mov	edi,DWORD [24+esp]
1019	xor	esi,ebp
1020	mov	DWORD [20+esp],ebp
1021	xor	ebp,edi
1022	ror	esi,11
1023	and	eax,ebp
1024	lea	edx,[604807628+edx*1+ebx]
1025	xor	esi,ecx
1026	xor	eax,edi
1027	mov	ecx,DWORD [52+esp]
1028	ror	esi,2
1029	add	eax,edx
1030	add	edx,DWORD [esp]
1031	add	eax,esi
1032	mov	esi,DWORD [40+esp]
1033	mov	ebx,ecx
1034	ror	ecx,11
1035	mov	edi,esi
1036	ror	esi,2
1037	xor	ecx,ebx
1038	shr	ebx,3
1039	ror	ecx,7
1040	xor	esi,edi
1041	xor	ebx,ecx
1042	ror	esi,17
1043	add	ebx,DWORD [48+esp]
1044	shr	edi,10
1045	add	ebx,DWORD [84+esp]
1046	mov	ecx,edx
1047	xor	edi,esi
1048	mov	esi,DWORD [4+esp]
1049	ror	edx,14
1050	add	ebx,edi
1051	mov	edi,DWORD [8+esp]
1052	xor	edx,ecx
1053	mov	DWORD [48+esp],ebx
1054	xor	esi,edi
1055	ror	edx,5
1056	and	esi,ecx
1057	mov	DWORD [esp],ecx
1058	xor	edx,ecx
1059	add	ebx,DWORD [12+esp]
1060	xor	edi,esi
1061	ror	edx,6
1062	mov	ecx,eax
1063	add	ebx,edi
1064	ror	ecx,9
1065	mov	esi,eax
1066	mov	edi,DWORD [20+esp]
1067	xor	ecx,eax
1068	mov	DWORD [16+esp],eax
1069	xor	eax,edi
1070	ror	ecx,11
1071	and	ebp,eax
1072	lea	edx,[770255983+edx*1+ebx]
1073	xor	ecx,esi
1074	xor	ebp,edi
1075	mov	esi,DWORD [56+esp]
1076	ror	ecx,2
1077	add	ebp,edx
1078	add	edx,DWORD [28+esp]
1079	add	ebp,ecx
1080	mov	ecx,DWORD [44+esp]
1081	mov	ebx,esi
1082	ror	esi,11
1083	mov	edi,ecx
1084	ror	ecx,2
1085	xor	esi,ebx
1086	shr	ebx,3
1087	ror	esi,7
1088	xor	ecx,edi
1089	xor	ebx,esi
1090	ror	ecx,17
1091	add	ebx,DWORD [52+esp]
1092	shr	edi,10
1093	add	ebx,DWORD [88+esp]
1094	mov	esi,edx
1095	xor	edi,ecx
1096	mov	ecx,DWORD [esp]
1097	ror	edx,14
1098	add	ebx,edi
1099	mov	edi,DWORD [4+esp]
1100	xor	edx,esi
1101	mov	DWORD [52+esp],ebx
1102	xor	ecx,edi
1103	ror	edx,5
1104	and	ecx,esi
1105	mov	DWORD [28+esp],esi
1106	xor	edx,esi
1107	add	ebx,DWORD [8+esp]
1108	xor	edi,ecx
1109	ror	edx,6
1110	mov	esi,ebp
1111	add	ebx,edi
1112	ror	esi,9
1113	mov	ecx,ebp
1114	mov	edi,DWORD [16+esp]
1115	xor	esi,ebp
1116	mov	DWORD [12+esp],ebp
1117	xor	ebp,edi
1118	ror	esi,11
1119	and	eax,ebp
1120	lea	edx,[1249150122+edx*1+ebx]
1121	xor	esi,ecx
1122	xor	eax,edi
1123	mov	ecx,DWORD [60+esp]
1124	ror	esi,2
1125	add	eax,edx
1126	add	edx,DWORD [24+esp]
1127	add	eax,esi
1128	mov	esi,DWORD [48+esp]
1129	mov	ebx,ecx
1130	ror	ecx,11
1131	mov	edi,esi
1132	ror	esi,2
1133	xor	ecx,ebx
1134	shr	ebx,3
1135	ror	ecx,7
1136	xor	esi,edi
1137	xor	ebx,ecx
1138	ror	esi,17
1139	add	ebx,DWORD [56+esp]
1140	shr	edi,10
1141	add	ebx,DWORD [92+esp]
1142	mov	ecx,edx
1143	xor	edi,esi
1144	mov	esi,DWORD [28+esp]
1145	ror	edx,14
1146	add	ebx,edi
1147	mov	edi,DWORD [esp]
1148	xor	edx,ecx
1149	mov	DWORD [56+esp],ebx
1150	xor	esi,edi
1151	ror	edx,5
1152	and	esi,ecx
1153	mov	DWORD [24+esp],ecx
1154	xor	edx,ecx
1155	add	ebx,DWORD [4+esp]
1156	xor	edi,esi
1157	ror	edx,6
1158	mov	ecx,eax
1159	add	ebx,edi
1160	ror	ecx,9
1161	mov	esi,eax
1162	mov	edi,DWORD [12+esp]
1163	xor	ecx,eax
1164	mov	DWORD [8+esp],eax
1165	xor	eax,edi
1166	ror	ecx,11
1167	and	ebp,eax
1168	lea	edx,[1555081692+edx*1+ebx]
1169	xor	ecx,esi
1170	xor	ebp,edi
1171	mov	esi,DWORD [64+esp]
1172	ror	ecx,2
1173	add	ebp,edx
1174	add	edx,DWORD [20+esp]
1175	add	ebp,ecx
1176	mov	ecx,DWORD [52+esp]
1177	mov	ebx,esi
1178	ror	esi,11
1179	mov	edi,ecx
1180	ror	ecx,2
1181	xor	esi,ebx
1182	shr	ebx,3
1183	ror	esi,7
1184	xor	ecx,edi
1185	xor	ebx,esi
1186	ror	ecx,17
1187	add	ebx,DWORD [60+esp]
1188	shr	edi,10
1189	add	ebx,DWORD [32+esp]
1190	mov	esi,edx
1191	xor	edi,ecx
1192	mov	ecx,DWORD [24+esp]
1193	ror	edx,14
1194	add	ebx,edi
1195	mov	edi,DWORD [28+esp]
1196	xor	edx,esi
1197	mov	DWORD [60+esp],ebx
1198	xor	ecx,edi
1199	ror	edx,5
1200	and	ecx,esi
1201	mov	DWORD [20+esp],esi
1202	xor	edx,esi
1203	add	ebx,DWORD [esp]
1204	xor	edi,ecx
1205	ror	edx,6
1206	mov	esi,ebp
1207	add	ebx,edi
1208	ror	esi,9
1209	mov	ecx,ebp
1210	mov	edi,DWORD [8+esp]
1211	xor	esi,ebp
1212	mov	DWORD [4+esp],ebp
1213	xor	ebp,edi
1214	ror	esi,11
1215	and	eax,ebp
1216	lea	edx,[1996064986+edx*1+ebx]
1217	xor	esi,ecx
1218	xor	eax,edi
1219	mov	ecx,DWORD [68+esp]
1220	ror	esi,2
1221	add	eax,edx
1222	add	edx,DWORD [16+esp]
1223	add	eax,esi
1224	mov	esi,DWORD [56+esp]
1225	mov	ebx,ecx
1226	ror	ecx,11
1227	mov	edi,esi
1228	ror	esi,2
1229	xor	ecx,ebx
1230	shr	ebx,3
1231	ror	ecx,7
1232	xor	esi,edi
1233	xor	ebx,ecx
1234	ror	esi,17
1235	add	ebx,DWORD [64+esp]
1236	shr	edi,10
1237	add	ebx,DWORD [36+esp]
1238	mov	ecx,edx
1239	xor	edi,esi
1240	mov	esi,DWORD [20+esp]
1241	ror	edx,14
1242	add	ebx,edi
1243	mov	edi,DWORD [24+esp]
1244	xor	edx,ecx
1245	mov	DWORD [64+esp],ebx
1246	xor	esi,edi
1247	ror	edx,5
1248	and	esi,ecx
1249	mov	DWORD [16+esp],ecx
1250	xor	edx,ecx
1251	add	ebx,DWORD [28+esp]
1252	xor	edi,esi
1253	ror	edx,6
1254	mov	ecx,eax
1255	add	ebx,edi
1256	ror	ecx,9
1257	mov	esi,eax
1258	mov	edi,DWORD [4+esp]
1259	xor	ecx,eax
1260	mov	DWORD [esp],eax
1261	xor	eax,edi
1262	ror	ecx,11
1263	and	ebp,eax
1264	lea	edx,[2554220882+edx*1+ebx]
1265	xor	ecx,esi
1266	xor	ebp,edi
1267	mov	esi,DWORD [72+esp]
1268	ror	ecx,2
1269	add	ebp,edx
1270	add	edx,DWORD [12+esp]
1271	add	ebp,ecx
1272	mov	ecx,DWORD [60+esp]
1273	mov	ebx,esi
1274	ror	esi,11
1275	mov	edi,ecx
1276	ror	ecx,2
1277	xor	esi,ebx
1278	shr	ebx,3
1279	ror	esi,7
1280	xor	ecx,edi
1281	xor	ebx,esi
1282	ror	ecx,17
1283	add	ebx,DWORD [68+esp]
1284	shr	edi,10
1285	add	ebx,DWORD [40+esp]
1286	mov	esi,edx
1287	xor	edi,ecx
1288	mov	ecx,DWORD [16+esp]
1289	ror	edx,14
1290	add	ebx,edi
1291	mov	edi,DWORD [20+esp]
1292	xor	edx,esi
1293	mov	DWORD [68+esp],ebx
1294	xor	ecx,edi
1295	ror	edx,5
1296	and	ecx,esi
1297	mov	DWORD [12+esp],esi
1298	xor	edx,esi
1299	add	ebx,DWORD [24+esp]
1300	xor	edi,ecx
1301	ror	edx,6
1302	mov	esi,ebp
1303	add	ebx,edi
1304	ror	esi,9
1305	mov	ecx,ebp
1306	mov	edi,DWORD [esp]
1307	xor	esi,ebp
1308	mov	DWORD [28+esp],ebp
1309	xor	ebp,edi
1310	ror	esi,11
1311	and	eax,ebp
1312	lea	edx,[2821834349+edx*1+ebx]
1313	xor	esi,ecx
1314	xor	eax,edi
1315	mov	ecx,DWORD [76+esp]
1316	ror	esi,2
1317	add	eax,edx
1318	add	edx,DWORD [8+esp]
1319	add	eax,esi
1320	mov	esi,DWORD [64+esp]
1321	mov	ebx,ecx
1322	ror	ecx,11
1323	mov	edi,esi
1324	ror	esi,2
1325	xor	ecx,ebx
1326	shr	ebx,3
1327	ror	ecx,7
1328	xor	esi,edi
1329	xor	ebx,ecx
1330	ror	esi,17
1331	add	ebx,DWORD [72+esp]
1332	shr	edi,10
1333	add	ebx,DWORD [44+esp]
1334	mov	ecx,edx
1335	xor	edi,esi
1336	mov	esi,DWORD [12+esp]
1337	ror	edx,14
1338	add	ebx,edi
1339	mov	edi,DWORD [16+esp]
1340	xor	edx,ecx
1341	mov	DWORD [72+esp],ebx
1342	xor	esi,edi
1343	ror	edx,5
1344	and	esi,ecx
1345	mov	DWORD [8+esp],ecx
1346	xor	edx,ecx
1347	add	ebx,DWORD [20+esp]
1348	xor	edi,esi
1349	ror	edx,6
1350	mov	ecx,eax
1351	add	ebx,edi
1352	ror	ecx,9
1353	mov	esi,eax
1354	mov	edi,DWORD [28+esp]
1355	xor	ecx,eax
1356	mov	DWORD [24+esp],eax
1357	xor	eax,edi
1358	ror	ecx,11
1359	and	ebp,eax
1360	lea	edx,[2952996808+edx*1+ebx]
1361	xor	ecx,esi
1362	xor	ebp,edi
1363	mov	esi,DWORD [80+esp]
1364	ror	ecx,2
1365	add	ebp,edx
1366	add	edx,DWORD [4+esp]
1367	add	ebp,ecx
1368	mov	ecx,DWORD [68+esp]
1369	mov	ebx,esi
1370	ror	esi,11
1371	mov	edi,ecx
1372	ror	ecx,2
1373	xor	esi,ebx
1374	shr	ebx,3
1375	ror	esi,7
1376	xor	ecx,edi
1377	xor	ebx,esi
1378	ror	ecx,17
1379	add	ebx,DWORD [76+esp]
1380	shr	edi,10
1381	add	ebx,DWORD [48+esp]
1382	mov	esi,edx
1383	xor	edi,ecx
1384	mov	ecx,DWORD [8+esp]
1385	ror	edx,14
1386	add	ebx,edi
1387	mov	edi,DWORD [12+esp]
1388	xor	edx,esi
1389	mov	DWORD [76+esp],ebx
1390	xor	ecx,edi
1391	ror	edx,5
1392	and	ecx,esi
1393	mov	DWORD [4+esp],esi
1394	xor	edx,esi
1395	add	ebx,DWORD [16+esp]
1396	xor	edi,ecx
1397	ror	edx,6
1398	mov	esi,ebp
1399	add	ebx,edi
1400	ror	esi,9
1401	mov	ecx,ebp
1402	mov	edi,DWORD [24+esp]
1403	xor	esi,ebp
1404	mov	DWORD [20+esp],ebp
1405	xor	ebp,edi
1406	ror	esi,11
1407	and	eax,ebp
1408	lea	edx,[3210313671+edx*1+ebx]
1409	xor	esi,ecx
1410	xor	eax,edi
1411	mov	ecx,DWORD [84+esp]
1412	ror	esi,2
1413	add	eax,edx
1414	add	edx,DWORD [esp]
1415	add	eax,esi
1416	mov	esi,DWORD [72+esp]
1417	mov	ebx,ecx
1418	ror	ecx,11
1419	mov	edi,esi
1420	ror	esi,2
1421	xor	ecx,ebx
1422	shr	ebx,3
1423	ror	ecx,7
1424	xor	esi,edi
1425	xor	ebx,ecx
1426	ror	esi,17
1427	add	ebx,DWORD [80+esp]
1428	shr	edi,10
1429	add	ebx,DWORD [52+esp]
1430	mov	ecx,edx
1431	xor	edi,esi
1432	mov	esi,DWORD [4+esp]
1433	ror	edx,14
1434	add	ebx,edi
1435	mov	edi,DWORD [8+esp]
1436	xor	edx,ecx
1437	mov	DWORD [80+esp],ebx
1438	xor	esi,edi
1439	ror	edx,5
1440	and	esi,ecx
1441	mov	DWORD [esp],ecx
1442	xor	edx,ecx
1443	add	ebx,DWORD [12+esp]
1444	xor	edi,esi
1445	ror	edx,6
1446	mov	ecx,eax
1447	add	ebx,edi
1448	ror	ecx,9
1449	mov	esi,eax
1450	mov	edi,DWORD [20+esp]
1451	xor	ecx,eax
1452	mov	DWORD [16+esp],eax
1453	xor	eax,edi
1454	ror	ecx,11
1455	and	ebp,eax
1456	lea	edx,[3336571891+edx*1+ebx]
1457	xor	ecx,esi
1458	xor	ebp,edi
1459	mov	esi,DWORD [88+esp]
1460	ror	ecx,2
1461	add	ebp,edx
1462	add	edx,DWORD [28+esp]
1463	add	ebp,ecx
1464	mov	ecx,DWORD [76+esp]
1465	mov	ebx,esi
1466	ror	esi,11
1467	mov	edi,ecx
1468	ror	ecx,2
1469	xor	esi,ebx
1470	shr	ebx,3
1471	ror	esi,7
1472	xor	ecx,edi
1473	xor	ebx,esi
1474	ror	ecx,17
1475	add	ebx,DWORD [84+esp]
1476	shr	edi,10
1477	add	ebx,DWORD [56+esp]
1478	mov	esi,edx
1479	xor	edi,ecx
1480	mov	ecx,DWORD [esp]
1481	ror	edx,14
1482	add	ebx,edi
1483	mov	edi,DWORD [4+esp]
1484	xor	edx,esi
1485	mov	DWORD [84+esp],ebx
1486	xor	ecx,edi
1487	ror	edx,5
1488	and	ecx,esi
1489	mov	DWORD [28+esp],esi
1490	xor	edx,esi
1491	add	ebx,DWORD [8+esp]
1492	xor	edi,ecx
1493	ror	edx,6
1494	mov	esi,ebp
1495	add	ebx,edi
1496	ror	esi,9
1497	mov	ecx,ebp
1498	mov	edi,DWORD [16+esp]
1499	xor	esi,ebp
1500	mov	DWORD [12+esp],ebp
1501	xor	ebp,edi
1502	ror	esi,11
1503	and	eax,ebp
1504	lea	edx,[3584528711+edx*1+ebx]
1505	xor	esi,ecx
1506	xor	eax,edi
1507	mov	ecx,DWORD [92+esp]
1508	ror	esi,2
1509	add	eax,edx
1510	add	edx,DWORD [24+esp]
1511	add	eax,esi
1512	mov	esi,DWORD [80+esp]
1513	mov	ebx,ecx
1514	ror	ecx,11
1515	mov	edi,esi
1516	ror	esi,2
1517	xor	ecx,ebx
1518	shr	ebx,3
1519	ror	ecx,7
1520	xor	esi,edi
1521	xor	ebx,ecx
1522	ror	esi,17
1523	add	ebx,DWORD [88+esp]
1524	shr	edi,10
1525	add	ebx,DWORD [60+esp]
1526	mov	ecx,edx
1527	xor	edi,esi
1528	mov	esi,DWORD [28+esp]
1529	ror	edx,14
1530	add	ebx,edi
1531	mov	edi,DWORD [esp]
1532	xor	edx,ecx
1533	mov	DWORD [88+esp],ebx
1534	xor	esi,edi
1535	ror	edx,5
1536	and	esi,ecx
1537	mov	DWORD [24+esp],ecx
1538	xor	edx,ecx
1539	add	ebx,DWORD [4+esp]
1540	xor	edi,esi
1541	ror	edx,6
1542	mov	ecx,eax
1543	add	ebx,edi
1544	ror	ecx,9
1545	mov	esi,eax
1546	mov	edi,DWORD [12+esp]
1547	xor	ecx,eax
1548	mov	DWORD [8+esp],eax
1549	xor	eax,edi
1550	ror	ecx,11
1551	and	ebp,eax
1552	lea	edx,[113926993+edx*1+ebx]
1553	xor	ecx,esi
1554	xor	ebp,edi
1555	mov	esi,DWORD [32+esp]
1556	ror	ecx,2
1557	add	ebp,edx
1558	add	edx,DWORD [20+esp]
1559	add	ebp,ecx
1560	mov	ecx,DWORD [84+esp]
1561	mov	ebx,esi
1562	ror	esi,11
1563	mov	edi,ecx
1564	ror	ecx,2
1565	xor	esi,ebx
1566	shr	ebx,3
1567	ror	esi,7
1568	xor	ecx,edi
1569	xor	ebx,esi
1570	ror	ecx,17
1571	add	ebx,DWORD [92+esp]
1572	shr	edi,10
1573	add	ebx,DWORD [64+esp]
1574	mov	esi,edx
1575	xor	edi,ecx
1576	mov	ecx,DWORD [24+esp]
1577	ror	edx,14
1578	add	ebx,edi
1579	mov	edi,DWORD [28+esp]
1580	xor	edx,esi
1581	mov	DWORD [92+esp],ebx
1582	xor	ecx,edi
1583	ror	edx,5
1584	and	ecx,esi
1585	mov	DWORD [20+esp],esi
1586	xor	edx,esi
1587	add	ebx,DWORD [esp]
1588	xor	edi,ecx
1589	ror	edx,6
1590	mov	esi,ebp
1591	add	ebx,edi
1592	ror	esi,9
1593	mov	ecx,ebp
1594	mov	edi,DWORD [8+esp]
1595	xor	esi,ebp
1596	mov	DWORD [4+esp],ebp
1597	xor	ebp,edi
1598	ror	esi,11
1599	and	eax,ebp
1600	lea	edx,[338241895+edx*1+ebx]
1601	xor	esi,ecx
1602	xor	eax,edi
1603	mov	ecx,DWORD [36+esp]
1604	ror	esi,2
1605	add	eax,edx
1606	add	edx,DWORD [16+esp]
1607	add	eax,esi
1608	mov	esi,DWORD [88+esp]
1609	mov	ebx,ecx
1610	ror	ecx,11
1611	mov	edi,esi
1612	ror	esi,2
1613	xor	ecx,ebx
1614	shr	ebx,3
1615	ror	ecx,7
1616	xor	esi,edi
1617	xor	ebx,ecx
1618	ror	esi,17
1619	add	ebx,DWORD [32+esp]
1620	shr	edi,10
1621	add	ebx,DWORD [68+esp]
1622	mov	ecx,edx
1623	xor	edi,esi
1624	mov	esi,DWORD [20+esp]
1625	ror	edx,14
1626	add	ebx,edi
1627	mov	edi,DWORD [24+esp]
1628	xor	edx,ecx
1629	mov	DWORD [32+esp],ebx
1630	xor	esi,edi
1631	ror	edx,5
1632	and	esi,ecx
1633	mov	DWORD [16+esp],ecx
1634	xor	edx,ecx
1635	add	ebx,DWORD [28+esp]
1636	xor	edi,esi
1637	ror	edx,6
1638	mov	ecx,eax
1639	add	ebx,edi
1640	ror	ecx,9
1641	mov	esi,eax
1642	mov	edi,DWORD [4+esp]
1643	xor	ecx,eax
1644	mov	DWORD [esp],eax
1645	xor	eax,edi
1646	ror	ecx,11
1647	and	ebp,eax
1648	lea	edx,[666307205+edx*1+ebx]
1649	xor	ecx,esi
1650	xor	ebp,edi
1651	mov	esi,DWORD [40+esp]
1652	ror	ecx,2
1653	add	ebp,edx
1654	add	edx,DWORD [12+esp]
1655	add	ebp,ecx
1656	mov	ecx,DWORD [92+esp]
1657	mov	ebx,esi
1658	ror	esi,11
1659	mov	edi,ecx
1660	ror	ecx,2
1661	xor	esi,ebx
1662	shr	ebx,3
1663	ror	esi,7
1664	xor	ecx,edi
1665	xor	ebx,esi
1666	ror	ecx,17
1667	add	ebx,DWORD [36+esp]
1668	shr	edi,10
1669	add	ebx,DWORD [72+esp]
1670	mov	esi,edx
1671	xor	edi,ecx
1672	mov	ecx,DWORD [16+esp]
1673	ror	edx,14
1674	add	ebx,edi
1675	mov	edi,DWORD [20+esp]
1676	xor	edx,esi
1677	mov	DWORD [36+esp],ebx
1678	xor	ecx,edi
1679	ror	edx,5
1680	and	ecx,esi
1681	mov	DWORD [12+esp],esi
1682	xor	edx,esi
1683	add	ebx,DWORD [24+esp]
1684	xor	edi,ecx
1685	ror	edx,6
1686	mov	esi,ebp
1687	add	ebx,edi
1688	ror	esi,9
1689	mov	ecx,ebp
1690	mov	edi,DWORD [esp]
1691	xor	esi,ebp
1692	mov	DWORD [28+esp],ebp
1693	xor	ebp,edi
1694	ror	esi,11
1695	and	eax,ebp
1696	lea	edx,[773529912+edx*1+ebx]
1697	xor	esi,ecx
1698	xor	eax,edi
1699	mov	ecx,DWORD [44+esp]
1700	ror	esi,2
1701	add	eax,edx
1702	add	edx,DWORD [8+esp]
1703	add	eax,esi
1704	mov	esi,DWORD [32+esp]
1705	mov	ebx,ecx
1706	ror	ecx,11
1707	mov	edi,esi
1708	ror	esi,2
1709	xor	ecx,ebx
1710	shr	ebx,3
1711	ror	ecx,7
1712	xor	esi,edi
1713	xor	ebx,ecx
1714	ror	esi,17
1715	add	ebx,DWORD [40+esp]
1716	shr	edi,10
1717	add	ebx,DWORD [76+esp]
1718	mov	ecx,edx
1719	xor	edi,esi
1720	mov	esi,DWORD [12+esp]
1721	ror	edx,14
1722	add	ebx,edi
1723	mov	edi,DWORD [16+esp]
1724	xor	edx,ecx
1725	mov	DWORD [40+esp],ebx
1726	xor	esi,edi
1727	ror	edx,5
1728	and	esi,ecx
1729	mov	DWORD [8+esp],ecx
1730	xor	edx,ecx
1731	add	ebx,DWORD [20+esp]
1732	xor	edi,esi
1733	ror	edx,6
1734	mov	ecx,eax
1735	add	ebx,edi
1736	ror	ecx,9
1737	mov	esi,eax
1738	mov	edi,DWORD [28+esp]
1739	xor	ecx,eax
1740	mov	DWORD [24+esp],eax
1741	xor	eax,edi
1742	ror	ecx,11
1743	and	ebp,eax
1744	lea	edx,[1294757372+edx*1+ebx]
1745	xor	ecx,esi
1746	xor	ebp,edi
1747	mov	esi,DWORD [48+esp]
1748	ror	ecx,2
1749	add	ebp,edx
1750	add	edx,DWORD [4+esp]
1751	add	ebp,ecx
1752	mov	ecx,DWORD [36+esp]
1753	mov	ebx,esi
1754	ror	esi,11
1755	mov	edi,ecx
1756	ror	ecx,2
1757	xor	esi,ebx
1758	shr	ebx,3
1759	ror	esi,7
1760	xor	ecx,edi
1761	xor	ebx,esi
1762	ror	ecx,17
1763	add	ebx,DWORD [44+esp]
1764	shr	edi,10
1765	add	ebx,DWORD [80+esp]
1766	mov	esi,edx
1767	xor	edi,ecx
1768	mov	ecx,DWORD [8+esp]
1769	ror	edx,14
1770	add	ebx,edi
1771	mov	edi,DWORD [12+esp]
1772	xor	edx,esi
1773	mov	DWORD [44+esp],ebx
1774	xor	ecx,edi
1775	ror	edx,5
1776	and	ecx,esi
1777	mov	DWORD [4+esp],esi
1778	xor	edx,esi
1779	add	ebx,DWORD [16+esp]
1780	xor	edi,ecx
1781	ror	edx,6
1782	mov	esi,ebp
1783	add	ebx,edi
1784	ror	esi,9
1785	mov	ecx,ebp
1786	mov	edi,DWORD [24+esp]
1787	xor	esi,ebp
1788	mov	DWORD [20+esp],ebp
1789	xor	ebp,edi
1790	ror	esi,11
1791	and	eax,ebp
1792	lea	edx,[1396182291+edx*1+ebx]
1793	xor	esi,ecx
1794	xor	eax,edi
1795	mov	ecx,DWORD [52+esp]
1796	ror	esi,2
1797	add	eax,edx
1798	add	edx,DWORD [esp]
1799	add	eax,esi
1800	mov	esi,DWORD [40+esp]
1801	mov	ebx,ecx
1802	ror	ecx,11
1803	mov	edi,esi
1804	ror	esi,2
1805	xor	ecx,ebx
1806	shr	ebx,3
1807	ror	ecx,7
1808	xor	esi,edi
1809	xor	ebx,ecx
1810	ror	esi,17
1811	add	ebx,DWORD [48+esp]
1812	shr	edi,10
1813	add	ebx,DWORD [84+esp]
1814	mov	ecx,edx
1815	xor	edi,esi
1816	mov	esi,DWORD [4+esp]
1817	ror	edx,14
1818	add	ebx,edi
1819	mov	edi,DWORD [8+esp]
1820	xor	edx,ecx
1821	mov	DWORD [48+esp],ebx
1822	xor	esi,edi
1823	ror	edx,5
1824	and	esi,ecx
1825	mov	DWORD [esp],ecx
1826	xor	edx,ecx
1827	add	ebx,DWORD [12+esp]
1828	xor	edi,esi
1829	ror	edx,6
1830	mov	ecx,eax
1831	add	ebx,edi
1832	ror	ecx,9
1833	mov	esi,eax
1834	mov	edi,DWORD [20+esp]
1835	xor	ecx,eax
1836	mov	DWORD [16+esp],eax
1837	xor	eax,edi
1838	ror	ecx,11
1839	and	ebp,eax
1840	lea	edx,[1695183700+edx*1+ebx]
1841	xor	ecx,esi
1842	xor	ebp,edi
1843	mov	esi,DWORD [56+esp]
1844	ror	ecx,2
1845	add	ebp,edx
1846	add	edx,DWORD [28+esp]
1847	add	ebp,ecx
1848	mov	ecx,DWORD [44+esp]
1849	mov	ebx,esi
1850	ror	esi,11
1851	mov	edi,ecx
1852	ror	ecx,2
1853	xor	esi,ebx
1854	shr	ebx,3
1855	ror	esi,7
1856	xor	ecx,edi
1857	xor	ebx,esi
1858	ror	ecx,17
1859	add	ebx,DWORD [52+esp]
1860	shr	edi,10
1861	add	ebx,DWORD [88+esp]
1862	mov	esi,edx
1863	xor	edi,ecx
1864	mov	ecx,DWORD [esp]
1865	ror	edx,14
1866	add	ebx,edi
1867	mov	edi,DWORD [4+esp]
1868	xor	edx,esi
1869	mov	DWORD [52+esp],ebx
1870	xor	ecx,edi
1871	ror	edx,5
1872	and	ecx,esi
1873	mov	DWORD [28+esp],esi
1874	xor	edx,esi
1875	add	ebx,DWORD [8+esp]
1876	xor	edi,ecx
1877	ror	edx,6
1878	mov	esi,ebp
1879	add	ebx,edi
1880	ror	esi,9
1881	mov	ecx,ebp
1882	mov	edi,DWORD [16+esp]
1883	xor	esi,ebp
1884	mov	DWORD [12+esp],ebp
1885	xor	ebp,edi
1886	ror	esi,11
1887	and	eax,ebp
1888	lea	edx,[1986661051+edx*1+ebx]
1889	xor	esi,ecx
1890	xor	eax,edi
1891	mov	ecx,DWORD [60+esp]
1892	ror	esi,2
1893	add	eax,edx
1894	add	edx,DWORD [24+esp]
1895	add	eax,esi
1896	mov	esi,DWORD [48+esp]
1897	mov	ebx,ecx
1898	ror	ecx,11
1899	mov	edi,esi
1900	ror	esi,2
1901	xor	ecx,ebx
1902	shr	ebx,3
1903	ror	ecx,7
1904	xor	esi,edi
1905	xor	ebx,ecx
1906	ror	esi,17
1907	add	ebx,DWORD [56+esp]
1908	shr	edi,10
1909	add	ebx,DWORD [92+esp]
1910	mov	ecx,edx
1911	xor	edi,esi
1912	mov	esi,DWORD [28+esp]
1913	ror	edx,14
1914	add	ebx,edi
1915	mov	edi,DWORD [esp]
1916	xor	edx,ecx
1917	mov	DWORD [56+esp],ebx
1918	xor	esi,edi
1919	ror	edx,5
1920	and	esi,ecx
1921	mov	DWORD [24+esp],ecx
1922	xor	edx,ecx
1923	add	ebx,DWORD [4+esp]
1924	xor	edi,esi
1925	ror	edx,6
1926	mov	ecx,eax
1927	add	ebx,edi
1928	ror	ecx,9
1929	mov	esi,eax
1930	mov	edi,DWORD [12+esp]
1931	xor	ecx,eax
1932	mov	DWORD [8+esp],eax
1933	xor	eax,edi
1934	ror	ecx,11
1935	and	ebp,eax
1936	lea	edx,[2177026350+edx*1+ebx]
1937	xor	ecx,esi
1938	xor	ebp,edi
1939	mov	esi,DWORD [64+esp]
1940	ror	ecx,2
1941	add	ebp,edx
1942	add	edx,DWORD [20+esp]
1943	add	ebp,ecx
1944	mov	ecx,DWORD [52+esp]
1945	mov	ebx,esi
1946	ror	esi,11
1947	mov	edi,ecx
1948	ror	ecx,2
1949	xor	esi,ebx
1950	shr	ebx,3
1951	ror	esi,7
1952	xor	ecx,edi
1953	xor	ebx,esi
1954	ror	ecx,17
1955	add	ebx,DWORD [60+esp]
1956	shr	edi,10
1957	add	ebx,DWORD [32+esp]
1958	mov	esi,edx
1959	xor	edi,ecx
1960	mov	ecx,DWORD [24+esp]
1961	ror	edx,14
1962	add	ebx,edi
1963	mov	edi,DWORD [28+esp]
1964	xor	edx,esi
1965	mov	DWORD [60+esp],ebx
1966	xor	ecx,edi
1967	ror	edx,5
1968	and	ecx,esi
1969	mov	DWORD [20+esp],esi
1970	xor	edx,esi
1971	add	ebx,DWORD [esp]
1972	xor	edi,ecx
1973	ror	edx,6
1974	mov	esi,ebp
1975	add	ebx,edi
1976	ror	esi,9
1977	mov	ecx,ebp
1978	mov	edi,DWORD [8+esp]
1979	xor	esi,ebp
1980	mov	DWORD [4+esp],ebp
1981	xor	ebp,edi
1982	ror	esi,11
1983	and	eax,ebp
1984	lea	edx,[2456956037+edx*1+ebx]
1985	xor	esi,ecx
1986	xor	eax,edi
1987	mov	ecx,DWORD [68+esp]
1988	ror	esi,2
1989	add	eax,edx
1990	add	edx,DWORD [16+esp]
1991	add	eax,esi
1992	mov	esi,DWORD [56+esp]
1993	mov	ebx,ecx
1994	ror	ecx,11
1995	mov	edi,esi
1996	ror	esi,2
1997	xor	ecx,ebx
1998	shr	ebx,3
1999	ror	ecx,7
2000	xor	esi,edi
2001	xor	ebx,ecx
2002	ror	esi,17
2003	add	ebx,DWORD [64+esp]
2004	shr	edi,10
2005	add	ebx,DWORD [36+esp]
2006	mov	ecx,edx
2007	xor	edi,esi
2008	mov	esi,DWORD [20+esp]
2009	ror	edx,14
2010	add	ebx,edi
2011	mov	edi,DWORD [24+esp]
2012	xor	edx,ecx
2013	mov	DWORD [64+esp],ebx
2014	xor	esi,edi
2015	ror	edx,5
2016	and	esi,ecx
2017	mov	DWORD [16+esp],ecx
2018	xor	edx,ecx
2019	add	ebx,DWORD [28+esp]
2020	xor	edi,esi
2021	ror	edx,6
2022	mov	ecx,eax
2023	add	ebx,edi
2024	ror	ecx,9
2025	mov	esi,eax
2026	mov	edi,DWORD [4+esp]
2027	xor	ecx,eax
2028	mov	DWORD [esp],eax
2029	xor	eax,edi
2030	ror	ecx,11
2031	and	ebp,eax
2032	lea	edx,[2730485921+edx*1+ebx]
2033	xor	ecx,esi
2034	xor	ebp,edi
2035	mov	esi,DWORD [72+esp]
2036	ror	ecx,2
2037	add	ebp,edx
2038	add	edx,DWORD [12+esp]
2039	add	ebp,ecx
2040	mov	ecx,DWORD [60+esp]
2041	mov	ebx,esi
2042	ror	esi,11
2043	mov	edi,ecx
2044	ror	ecx,2
2045	xor	esi,ebx
2046	shr	ebx,3
2047	ror	esi,7
2048	xor	ecx,edi
2049	xor	ebx,esi
2050	ror	ecx,17
2051	add	ebx,DWORD [68+esp]
2052	shr	edi,10
2053	add	ebx,DWORD [40+esp]
2054	mov	esi,edx
2055	xor	edi,ecx
2056	mov	ecx,DWORD [16+esp]
2057	ror	edx,14
2058	add	ebx,edi
2059	mov	edi,DWORD [20+esp]
2060	xor	edx,esi
2061	mov	DWORD [68+esp],ebx
2062	xor	ecx,edi
2063	ror	edx,5
2064	and	ecx,esi
2065	mov	DWORD [12+esp],esi
2066	xor	edx,esi
2067	add	ebx,DWORD [24+esp]
2068	xor	edi,ecx
2069	ror	edx,6
2070	mov	esi,ebp
2071	add	ebx,edi
2072	ror	esi,9
2073	mov	ecx,ebp
2074	mov	edi,DWORD [esp]
2075	xor	esi,ebp
2076	mov	DWORD [28+esp],ebp
2077	xor	ebp,edi
2078	ror	esi,11
2079	and	eax,ebp
2080	lea	edx,[2820302411+edx*1+ebx]
2081	xor	esi,ecx
2082	xor	eax,edi
2083	mov	ecx,DWORD [76+esp]
2084	ror	esi,2
2085	add	eax,edx
2086	add	edx,DWORD [8+esp]
2087	add	eax,esi
2088	mov	esi,DWORD [64+esp]
2089	mov	ebx,ecx
2090	ror	ecx,11
2091	mov	edi,esi
2092	ror	esi,2
2093	xor	ecx,ebx
2094	shr	ebx,3
2095	ror	ecx,7
2096	xor	esi,edi
2097	xor	ebx,ecx
2098	ror	esi,17
2099	add	ebx,DWORD [72+esp]
2100	shr	edi,10
2101	add	ebx,DWORD [44+esp]
2102	mov	ecx,edx
2103	xor	edi,esi
2104	mov	esi,DWORD [12+esp]
2105	ror	edx,14
2106	add	ebx,edi
2107	mov	edi,DWORD [16+esp]
2108	xor	edx,ecx
2109	mov	DWORD [72+esp],ebx
2110	xor	esi,edi
2111	ror	edx,5
2112	and	esi,ecx
2113	mov	DWORD [8+esp],ecx
2114	xor	edx,ecx
2115	add	ebx,DWORD [20+esp]
2116	xor	edi,esi
2117	ror	edx,6
2118	mov	ecx,eax
2119	add	ebx,edi
2120	ror	ecx,9
2121	mov	esi,eax
2122	mov	edi,DWORD [28+esp]
2123	xor	ecx,eax
2124	mov	DWORD [24+esp],eax
2125	xor	eax,edi
2126	ror	ecx,11
2127	and	ebp,eax
2128	lea	edx,[3259730800+edx*1+ebx]
2129	xor	ecx,esi
2130	xor	ebp,edi
2131	mov	esi,DWORD [80+esp]
2132	ror	ecx,2
2133	add	ebp,edx
2134	add	edx,DWORD [4+esp]
2135	add	ebp,ecx
2136	mov	ecx,DWORD [68+esp]
2137	mov	ebx,esi
2138	ror	esi,11
2139	mov	edi,ecx
2140	ror	ecx,2
2141	xor	esi,ebx
2142	shr	ebx,3
2143	ror	esi,7
2144	xor	ecx,edi
2145	xor	ebx,esi
2146	ror	ecx,17
2147	add	ebx,DWORD [76+esp]
2148	shr	edi,10
2149	add	ebx,DWORD [48+esp]
2150	mov	esi,edx
2151	xor	edi,ecx
2152	mov	ecx,DWORD [8+esp]
2153	ror	edx,14
2154	add	ebx,edi
2155	mov	edi,DWORD [12+esp]
2156	xor	edx,esi
2157	mov	DWORD [76+esp],ebx
2158	xor	ecx,edi
2159	ror	edx,5
2160	and	ecx,esi
2161	mov	DWORD [4+esp],esi
2162	xor	edx,esi
2163	add	ebx,DWORD [16+esp]
2164	xor	edi,ecx
2165	ror	edx,6
2166	mov	esi,ebp
2167	add	ebx,edi
2168	ror	esi,9
2169	mov	ecx,ebp
2170	mov	edi,DWORD [24+esp]
2171	xor	esi,ebp
2172	mov	DWORD [20+esp],ebp
2173	xor	ebp,edi
2174	ror	esi,11
2175	and	eax,ebp
2176	lea	edx,[3345764771+edx*1+ebx]
2177	xor	esi,ecx
2178	xor	eax,edi
2179	mov	ecx,DWORD [84+esp]
2180	ror	esi,2
2181	add	eax,edx
2182	add	edx,DWORD [esp]
2183	add	eax,esi
2184	mov	esi,DWORD [72+esp]
2185	mov	ebx,ecx
2186	ror	ecx,11
2187	mov	edi,esi
2188	ror	esi,2
2189	xor	ecx,ebx
2190	shr	ebx,3
2191	ror	ecx,7
2192	xor	esi,edi
2193	xor	ebx,ecx
2194	ror	esi,17
2195	add	ebx,DWORD [80+esp]
2196	shr	edi,10
2197	add	ebx,DWORD [52+esp]
2198	mov	ecx,edx
2199	xor	edi,esi
2200	mov	esi,DWORD [4+esp]
2201	ror	edx,14
2202	add	ebx,edi
2203	mov	edi,DWORD [8+esp]
2204	xor	edx,ecx
2205	mov	DWORD [80+esp],ebx
2206	xor	esi,edi
2207	ror	edx,5
2208	and	esi,ecx
2209	mov	DWORD [esp],ecx
2210	xor	edx,ecx
2211	add	ebx,DWORD [12+esp]
2212	xor	edi,esi
2213	ror	edx,6
2214	mov	ecx,eax
2215	add	ebx,edi
2216	ror	ecx,9
2217	mov	esi,eax
2218	mov	edi,DWORD [20+esp]
2219	xor	ecx,eax
2220	mov	DWORD [16+esp],eax
2221	xor	eax,edi
2222	ror	ecx,11
2223	and	ebp,eax
2224	lea	edx,[3516065817+edx*1+ebx]
2225	xor	ecx,esi
2226	xor	ebp,edi
2227	mov	esi,DWORD [88+esp]
2228	ror	ecx,2
2229	add	ebp,edx
2230	add	edx,DWORD [28+esp]
2231	add	ebp,ecx
2232	mov	ecx,DWORD [76+esp]
2233	mov	ebx,esi
2234	ror	esi,11
2235	mov	edi,ecx
2236	ror	ecx,2
2237	xor	esi,ebx
2238	shr	ebx,3
2239	ror	esi,7
2240	xor	ecx,edi
2241	xor	ebx,esi
2242	ror	ecx,17
2243	add	ebx,DWORD [84+esp]
2244	shr	edi,10
2245	add	ebx,DWORD [56+esp]
2246	mov	esi,edx
2247	xor	edi,ecx
2248	mov	ecx,DWORD [esp]
2249	ror	edx,14
2250	add	ebx,edi
2251	mov	edi,DWORD [4+esp]
2252	xor	edx,esi
2253	mov	DWORD [84+esp],ebx
2254	xor	ecx,edi
2255	ror	edx,5
2256	and	ecx,esi
2257	mov	DWORD [28+esp],esi
2258	xor	edx,esi
2259	add	ebx,DWORD [8+esp]
2260	xor	edi,ecx
2261	ror	edx,6
2262	mov	esi,ebp
2263	add	ebx,edi
2264	ror	esi,9
2265	mov	ecx,ebp
2266	mov	edi,DWORD [16+esp]
2267	xor	esi,ebp
2268	mov	DWORD [12+esp],ebp
2269	xor	ebp,edi
2270	ror	esi,11
2271	and	eax,ebp
2272	lea	edx,[3600352804+edx*1+ebx]
2273	xor	esi,ecx
2274	xor	eax,edi
2275	mov	ecx,DWORD [92+esp]
2276	ror	esi,2
2277	add	eax,edx
2278	add	edx,DWORD [24+esp]
2279	add	eax,esi
2280	mov	esi,DWORD [80+esp]
2281	mov	ebx,ecx
2282	ror	ecx,11
2283	mov	edi,esi
2284	ror	esi,2
2285	xor	ecx,ebx
2286	shr	ebx,3
2287	ror	ecx,7
2288	xor	esi,edi
2289	xor	ebx,ecx
2290	ror	esi,17
2291	add	ebx,DWORD [88+esp]
2292	shr	edi,10
2293	add	ebx,DWORD [60+esp]
2294	mov	ecx,edx
2295	xor	edi,esi
2296	mov	esi,DWORD [28+esp]
2297	ror	edx,14
2298	add	ebx,edi
2299	mov	edi,DWORD [esp]
2300	xor	edx,ecx
2301	mov	DWORD [88+esp],ebx
2302	xor	esi,edi
2303	ror	edx,5
2304	and	esi,ecx
2305	mov	DWORD [24+esp],ecx
2306	xor	edx,ecx
2307	add	ebx,DWORD [4+esp]
2308	xor	edi,esi
2309	ror	edx,6
2310	mov	ecx,eax
2311	add	ebx,edi
2312	ror	ecx,9
2313	mov	esi,eax
2314	mov	edi,DWORD [12+esp]
2315	xor	ecx,eax
2316	mov	DWORD [8+esp],eax
2317	xor	eax,edi
2318	ror	ecx,11
2319	and	ebp,eax
2320	lea	edx,[4094571909+edx*1+ebx]
2321	xor	ecx,esi
2322	xor	ebp,edi
2323	mov	esi,DWORD [32+esp]
2324	ror	ecx,2
2325	add	ebp,edx
2326	add	edx,DWORD [20+esp]
2327	add	ebp,ecx
2328	mov	ecx,DWORD [84+esp]
2329	mov	ebx,esi
2330	ror	esi,11
2331	mov	edi,ecx
2332	ror	ecx,2
2333	xor	esi,ebx
2334	shr	ebx,3
2335	ror	esi,7
2336	xor	ecx,edi
2337	xor	ebx,esi
2338	ror	ecx,17
2339	add	ebx,DWORD [92+esp]
2340	shr	edi,10
2341	add	ebx,DWORD [64+esp]
2342	mov	esi,edx
2343	xor	edi,ecx
2344	mov	ecx,DWORD [24+esp]
2345	ror	edx,14
2346	add	ebx,edi
2347	mov	edi,DWORD [28+esp]
2348	xor	edx,esi
2349	mov	DWORD [92+esp],ebx
2350	xor	ecx,edi
2351	ror	edx,5
2352	and	ecx,esi
2353	mov	DWORD [20+esp],esi
2354	xor	edx,esi
2355	add	ebx,DWORD [esp]
2356	xor	edi,ecx
2357	ror	edx,6
2358	mov	esi,ebp
2359	add	ebx,edi
2360	ror	esi,9
2361	mov	ecx,ebp
2362	mov	edi,DWORD [8+esp]
2363	xor	esi,ebp
2364	mov	DWORD [4+esp],ebp
2365	xor	ebp,edi
2366	ror	esi,11
2367	and	eax,ebp
2368	lea	edx,[275423344+edx*1+ebx]
2369	xor	esi,ecx
2370	xor	eax,edi
2371	mov	ecx,DWORD [36+esp]
2372	ror	esi,2
2373	add	eax,edx
2374	add	edx,DWORD [16+esp]
2375	add	eax,esi
2376	mov	esi,DWORD [88+esp]
2377	mov	ebx,ecx
2378	ror	ecx,11
2379	mov	edi,esi
2380	ror	esi,2
2381	xor	ecx,ebx
2382	shr	ebx,3
2383	ror	ecx,7
2384	xor	esi,edi
2385	xor	ebx,ecx
2386	ror	esi,17
2387	add	ebx,DWORD [32+esp]
2388	shr	edi,10
2389	add	ebx,DWORD [68+esp]
2390	mov	ecx,edx
2391	xor	edi,esi
2392	mov	esi,DWORD [20+esp]
2393	ror	edx,14
2394	add	ebx,edi
2395	mov	edi,DWORD [24+esp]
2396	xor	edx,ecx
2397	mov	DWORD [32+esp],ebx
2398	xor	esi,edi
2399	ror	edx,5
2400	and	esi,ecx
2401	mov	DWORD [16+esp],ecx
2402	xor	edx,ecx
2403	add	ebx,DWORD [28+esp]
2404	xor	edi,esi
2405	ror	edx,6
2406	mov	ecx,eax
2407	add	ebx,edi
2408	ror	ecx,9
2409	mov	esi,eax
2410	mov	edi,DWORD [4+esp]
2411	xor	ecx,eax
2412	mov	DWORD [esp],eax
2413	xor	eax,edi
2414	ror	ecx,11
2415	and	ebp,eax
2416	lea	edx,[430227734+edx*1+ebx]
2417	xor	ecx,esi
2418	xor	ebp,edi
2419	mov	esi,DWORD [40+esp]
2420	ror	ecx,2
2421	add	ebp,edx
2422	add	edx,DWORD [12+esp]
2423	add	ebp,ecx
2424	mov	ecx,DWORD [92+esp]
2425	mov	ebx,esi
2426	ror	esi,11
2427	mov	edi,ecx
2428	ror	ecx,2
2429	xor	esi,ebx
2430	shr	ebx,3
2431	ror	esi,7
2432	xor	ecx,edi
2433	xor	ebx,esi
2434	ror	ecx,17
2435	add	ebx,DWORD [36+esp]
2436	shr	edi,10
2437	add	ebx,DWORD [72+esp]
2438	mov	esi,edx
2439	xor	edi,ecx
2440	mov	ecx,DWORD [16+esp]
2441	ror	edx,14
2442	add	ebx,edi
2443	mov	edi,DWORD [20+esp]
2444	xor	edx,esi
2445	mov	DWORD [36+esp],ebx
2446	xor	ecx,edi
2447	ror	edx,5
2448	and	ecx,esi
2449	mov	DWORD [12+esp],esi
2450	xor	edx,esi
2451	add	ebx,DWORD [24+esp]
2452	xor	edi,ecx
2453	ror	edx,6
2454	mov	esi,ebp
2455	add	ebx,edi
2456	ror	esi,9
2457	mov	ecx,ebp
2458	mov	edi,DWORD [esp]
2459	xor	esi,ebp
2460	mov	DWORD [28+esp],ebp
2461	xor	ebp,edi
2462	ror	esi,11
2463	and	eax,ebp
2464	lea	edx,[506948616+edx*1+ebx]
2465	xor	esi,ecx
2466	xor	eax,edi
2467	mov	ecx,DWORD [44+esp]
2468	ror	esi,2
2469	add	eax,edx
2470	add	edx,DWORD [8+esp]
2471	add	eax,esi
2472	mov	esi,DWORD [32+esp]
2473	mov	ebx,ecx
2474	ror	ecx,11
2475	mov	edi,esi
2476	ror	esi,2
2477	xor	ecx,ebx
2478	shr	ebx,3
2479	ror	ecx,7
2480	xor	esi,edi
2481	xor	ebx,ecx
2482	ror	esi,17
2483	add	ebx,DWORD [40+esp]
2484	shr	edi,10
2485	add	ebx,DWORD [76+esp]
2486	mov	ecx,edx
2487	xor	edi,esi
2488	mov	esi,DWORD [12+esp]
2489	ror	edx,14
2490	add	ebx,edi
2491	mov	edi,DWORD [16+esp]
2492	xor	edx,ecx
2493	mov	DWORD [40+esp],ebx
2494	xor	esi,edi
2495	ror	edx,5
2496	and	esi,ecx
2497	mov	DWORD [8+esp],ecx
2498	xor	edx,ecx
2499	add	ebx,DWORD [20+esp]
2500	xor	edi,esi
2501	ror	edx,6
2502	mov	ecx,eax
2503	add	ebx,edi
2504	ror	ecx,9
2505	mov	esi,eax
2506	mov	edi,DWORD [28+esp]
2507	xor	ecx,eax
2508	mov	DWORD [24+esp],eax
2509	xor	eax,edi
2510	ror	ecx,11
2511	and	ebp,eax
2512	lea	edx,[659060556+edx*1+ebx]
2513	xor	ecx,esi
2514	xor	ebp,edi
2515	mov	esi,DWORD [48+esp]
2516	ror	ecx,2
2517	add	ebp,edx
2518	add	edx,DWORD [4+esp]
2519	add	ebp,ecx
2520	mov	ecx,DWORD [36+esp]
2521	mov	ebx,esi
2522	ror	esi,11
2523	mov	edi,ecx
2524	ror	ecx,2
2525	xor	esi,ebx
2526	shr	ebx,3
2527	ror	esi,7
2528	xor	ecx,edi
2529	xor	ebx,esi
2530	ror	ecx,17
2531	add	ebx,DWORD [44+esp]
2532	shr	edi,10
2533	add	ebx,DWORD [80+esp]
2534	mov	esi,edx
2535	xor	edi,ecx
2536	mov	ecx,DWORD [8+esp]
2537	ror	edx,14
2538	add	ebx,edi
2539	mov	edi,DWORD [12+esp]
2540	xor	edx,esi
2541	mov	DWORD [44+esp],ebx
2542	xor	ecx,edi
2543	ror	edx,5
2544	and	ecx,esi
2545	mov	DWORD [4+esp],esi
2546	xor	edx,esi
2547	add	ebx,DWORD [16+esp]
2548	xor	edi,ecx
2549	ror	edx,6
2550	mov	esi,ebp
2551	add	ebx,edi
2552	ror	esi,9
2553	mov	ecx,ebp
2554	mov	edi,DWORD [24+esp]
2555	xor	esi,ebp
2556	mov	DWORD [20+esp],ebp
2557	xor	ebp,edi
2558	ror	esi,11
2559	and	eax,ebp
2560	lea	edx,[883997877+edx*1+ebx]
2561	xor	esi,ecx
2562	xor	eax,edi
2563	mov	ecx,DWORD [52+esp]
2564	ror	esi,2
2565	add	eax,edx
2566	add	edx,DWORD [esp]
2567	add	eax,esi
2568	mov	esi,DWORD [40+esp]
2569	mov	ebx,ecx
2570	ror	ecx,11
2571	mov	edi,esi
2572	ror	esi,2
2573	xor	ecx,ebx
2574	shr	ebx,3
2575	ror	ecx,7
2576	xor	esi,edi
2577	xor	ebx,ecx
2578	ror	esi,17
2579	add	ebx,DWORD [48+esp]
2580	shr	edi,10
2581	add	ebx,DWORD [84+esp]
2582	mov	ecx,edx
2583	xor	edi,esi
2584	mov	esi,DWORD [4+esp]
2585	ror	edx,14
2586	add	ebx,edi
2587	mov	edi,DWORD [8+esp]
2588	xor	edx,ecx
2589	mov	DWORD [48+esp],ebx
2590	xor	esi,edi
2591	ror	edx,5
2592	and	esi,ecx
2593	mov	DWORD [esp],ecx
2594	xor	edx,ecx
2595	add	ebx,DWORD [12+esp]
2596	xor	edi,esi
2597	ror	edx,6
2598	mov	ecx,eax
2599	add	ebx,edi
2600	ror	ecx,9
2601	mov	esi,eax
2602	mov	edi,DWORD [20+esp]
2603	xor	ecx,eax
2604	mov	DWORD [16+esp],eax
2605	xor	eax,edi
2606	ror	ecx,11
2607	and	ebp,eax
2608	lea	edx,[958139571+edx*1+ebx]
2609	xor	ecx,esi
2610	xor	ebp,edi
2611	mov	esi,DWORD [56+esp]
2612	ror	ecx,2
2613	add	ebp,edx
2614	add	edx,DWORD [28+esp]
2615	add	ebp,ecx
2616	mov	ecx,DWORD [44+esp]
2617	mov	ebx,esi
2618	ror	esi,11
2619	mov	edi,ecx
2620	ror	ecx,2
2621	xor	esi,ebx
2622	shr	ebx,3
2623	ror	esi,7
2624	xor	ecx,edi
2625	xor	ebx,esi
2626	ror	ecx,17
2627	add	ebx,DWORD [52+esp]
2628	shr	edi,10
2629	add	ebx,DWORD [88+esp]
2630	mov	esi,edx
2631	xor	edi,ecx
2632	mov	ecx,DWORD [esp]
2633	ror	edx,14
2634	add	ebx,edi
2635	mov	edi,DWORD [4+esp]
2636	xor	edx,esi
2637	mov	DWORD [52+esp],ebx
2638	xor	ecx,edi
2639	ror	edx,5
2640	and	ecx,esi
2641	mov	DWORD [28+esp],esi
2642	xor	edx,esi
2643	add	ebx,DWORD [8+esp]
2644	xor	edi,ecx
2645	ror	edx,6
2646	mov	esi,ebp
2647	add	ebx,edi
2648	ror	esi,9
2649	mov	ecx,ebp
2650	mov	edi,DWORD [16+esp]
2651	xor	esi,ebp
2652	mov	DWORD [12+esp],ebp
2653	xor	ebp,edi
2654	ror	esi,11
2655	and	eax,ebp
2656	lea	edx,[1322822218+edx*1+ebx]
2657	xor	esi,ecx
2658	xor	eax,edi
2659	mov	ecx,DWORD [60+esp]
2660	ror	esi,2
2661	add	eax,edx
2662	add	edx,DWORD [24+esp]
2663	add	eax,esi
2664	mov	esi,DWORD [48+esp]
2665	mov	ebx,ecx
2666	ror	ecx,11
2667	mov	edi,esi
2668	ror	esi,2
2669	xor	ecx,ebx
2670	shr	ebx,3
2671	ror	ecx,7
2672	xor	esi,edi
2673	xor	ebx,ecx
2674	ror	esi,17
2675	add	ebx,DWORD [56+esp]
2676	shr	edi,10
2677	add	ebx,DWORD [92+esp]
2678	mov	ecx,edx
2679	xor	edi,esi
2680	mov	esi,DWORD [28+esp]
2681	ror	edx,14
2682	add	ebx,edi
2683	mov	edi,DWORD [esp]
2684	xor	edx,ecx
2685	mov	DWORD [56+esp],ebx
2686	xor	esi,edi
2687	ror	edx,5
2688	and	esi,ecx
2689	mov	DWORD [24+esp],ecx
2690	xor	edx,ecx
2691	add	ebx,DWORD [4+esp]
2692	xor	edi,esi
2693	ror	edx,6
2694	mov	ecx,eax
2695	add	ebx,edi
2696	ror	ecx,9
2697	mov	esi,eax
2698	mov	edi,DWORD [12+esp]
2699	xor	ecx,eax
2700	mov	DWORD [8+esp],eax
2701	xor	eax,edi
2702	ror	ecx,11
2703	and	ebp,eax
2704	lea	edx,[1537002063+edx*1+ebx]
2705	xor	ecx,esi
2706	xor	ebp,edi
2707	mov	esi,DWORD [64+esp]
2708	ror	ecx,2
2709	add	ebp,edx
2710	add	edx,DWORD [20+esp]
2711	add	ebp,ecx
2712	mov	ecx,DWORD [52+esp]
2713	mov	ebx,esi
2714	ror	esi,11
2715	mov	edi,ecx
2716	ror	ecx,2
2717	xor	esi,ebx
2718	shr	ebx,3
2719	ror	esi,7
2720	xor	ecx,edi
2721	xor	ebx,esi
2722	ror	ecx,17
2723	add	ebx,DWORD [60+esp]
2724	shr	edi,10
2725	add	ebx,DWORD [32+esp]
2726	mov	esi,edx
2727	xor	edi,ecx
2728	mov	ecx,DWORD [24+esp]
2729	ror	edx,14
2730	add	ebx,edi
2731	mov	edi,DWORD [28+esp]
2732	xor	edx,esi
2733	mov	DWORD [60+esp],ebx
2734	xor	ecx,edi
2735	ror	edx,5
2736	and	ecx,esi
2737	mov	DWORD [20+esp],esi
2738	xor	edx,esi
2739	add	ebx,DWORD [esp]
2740	xor	edi,ecx
2741	ror	edx,6
2742	mov	esi,ebp
2743	add	ebx,edi
2744	ror	esi,9
2745	mov	ecx,ebp
2746	mov	edi,DWORD [8+esp]
2747	xor	esi,ebp
2748	mov	DWORD [4+esp],ebp
2749	xor	ebp,edi
2750	ror	esi,11
2751	and	eax,ebp
2752	lea	edx,[1747873779+edx*1+ebx]
2753	xor	esi,ecx
2754	xor	eax,edi
2755	mov	ecx,DWORD [68+esp]
2756	ror	esi,2
2757	add	eax,edx
2758	add	edx,DWORD [16+esp]
2759	add	eax,esi
2760	mov	esi,DWORD [56+esp]
2761	mov	ebx,ecx
2762	ror	ecx,11
2763	mov	edi,esi
2764	ror	esi,2
2765	xor	ecx,ebx
2766	shr	ebx,3
2767	ror	ecx,7
2768	xor	esi,edi
2769	xor	ebx,ecx
2770	ror	esi,17
2771	add	ebx,DWORD [64+esp]
2772	shr	edi,10
2773	add	ebx,DWORD [36+esp]
2774	mov	ecx,edx
2775	xor	edi,esi
2776	mov	esi,DWORD [20+esp]
2777	ror	edx,14
2778	add	ebx,edi
2779	mov	edi,DWORD [24+esp]
2780	xor	edx,ecx
2781	mov	DWORD [64+esp],ebx
2782	xor	esi,edi
2783	ror	edx,5
2784	and	esi,ecx
2785	mov	DWORD [16+esp],ecx
2786	xor	edx,ecx
2787	add	ebx,DWORD [28+esp]
2788	xor	edi,esi
2789	ror	edx,6
2790	mov	ecx,eax
2791	add	ebx,edi
2792	ror	ecx,9
2793	mov	esi,eax
2794	mov	edi,DWORD [4+esp]
2795	xor	ecx,eax
2796	mov	DWORD [esp],eax
2797	xor	eax,edi
2798	ror	ecx,11
2799	and	ebp,eax
2800	lea	edx,[1955562222+edx*1+ebx]
2801	xor	ecx,esi
2802	xor	ebp,edi
2803	mov	esi,DWORD [72+esp]
2804	ror	ecx,2
2805	add	ebp,edx
2806	add	edx,DWORD [12+esp]
2807	add	ebp,ecx
2808	mov	ecx,DWORD [60+esp]
2809	mov	ebx,esi
2810	ror	esi,11
2811	mov	edi,ecx
2812	ror	ecx,2
2813	xor	esi,ebx
2814	shr	ebx,3
2815	ror	esi,7
2816	xor	ecx,edi
2817	xor	ebx,esi
2818	ror	ecx,17
2819	add	ebx,DWORD [68+esp]
2820	shr	edi,10
2821	add	ebx,DWORD [40+esp]
2822	mov	esi,edx
2823	xor	edi,ecx
2824	mov	ecx,DWORD [16+esp]
2825	ror	edx,14
2826	add	ebx,edi
2827	mov	edi,DWORD [20+esp]
2828	xor	edx,esi
2829	mov	DWORD [68+esp],ebx
2830	xor	ecx,edi
2831	ror	edx,5
2832	and	ecx,esi
2833	mov	DWORD [12+esp],esi
2834	xor	edx,esi
2835	add	ebx,DWORD [24+esp]
2836	xor	edi,ecx
2837	ror	edx,6
2838	mov	esi,ebp
2839	add	ebx,edi
2840	ror	esi,9
2841	mov	ecx,ebp
2842	mov	edi,DWORD [esp]
2843	xor	esi,ebp
2844	mov	DWORD [28+esp],ebp
2845	xor	ebp,edi
2846	ror	esi,11
2847	and	eax,ebp
2848	lea	edx,[2024104815+edx*1+ebx]
2849	xor	esi,ecx
2850	xor	eax,edi
2851	mov	ecx,DWORD [76+esp]
2852	ror	esi,2
2853	add	eax,edx
2854	add	edx,DWORD [8+esp]
2855	add	eax,esi
2856	mov	esi,DWORD [64+esp]
2857	mov	ebx,ecx
2858	ror	ecx,11
2859	mov	edi,esi
2860	ror	esi,2
2861	xor	ecx,ebx
2862	shr	ebx,3
2863	ror	ecx,7
2864	xor	esi,edi
2865	xor	ebx,ecx
2866	ror	esi,17
2867	add	ebx,DWORD [72+esp]
2868	shr	edi,10
2869	add	ebx,DWORD [44+esp]
2870	mov	ecx,edx
2871	xor	edi,esi
2872	mov	esi,DWORD [12+esp]
2873	ror	edx,14
2874	add	ebx,edi
2875	mov	edi,DWORD [16+esp]
2876	xor	edx,ecx
2877	mov	DWORD [72+esp],ebx
2878	xor	esi,edi
2879	ror	edx,5
2880	and	esi,ecx
2881	mov	DWORD [8+esp],ecx
2882	xor	edx,ecx
2883	add	ebx,DWORD [20+esp]
2884	xor	edi,esi
2885	ror	edx,6
2886	mov	ecx,eax
2887	add	ebx,edi
2888	ror	ecx,9
2889	mov	esi,eax
2890	mov	edi,DWORD [28+esp]
2891	xor	ecx,eax
2892	mov	DWORD [24+esp],eax
2893	xor	eax,edi
2894	ror	ecx,11
2895	and	ebp,eax
2896	lea	edx,[2227730452+edx*1+ebx]
2897	xor	ecx,esi
2898	xor	ebp,edi
2899	mov	esi,DWORD [80+esp]
2900	ror	ecx,2
2901	add	ebp,edx
2902	add	edx,DWORD [4+esp]
2903	add	ebp,ecx
2904	mov	ecx,DWORD [68+esp]
2905	mov	ebx,esi
2906	ror	esi,11
2907	mov	edi,ecx
2908	ror	ecx,2
2909	xor	esi,ebx
2910	shr	ebx,3
2911	ror	esi,7
2912	xor	ecx,edi
2913	xor	ebx,esi
2914	ror	ecx,17
2915	add	ebx,DWORD [76+esp]
2916	shr	edi,10
2917	add	ebx,DWORD [48+esp]
2918	mov	esi,edx
2919	xor	edi,ecx
2920	mov	ecx,DWORD [8+esp]
2921	ror	edx,14
2922	add	ebx,edi
2923	mov	edi,DWORD [12+esp]
2924	xor	edx,esi
2925	mov	DWORD [76+esp],ebx
2926	xor	ecx,edi
2927	ror	edx,5
2928	and	ecx,esi
2929	mov	DWORD [4+esp],esi
2930	xor	edx,esi
2931	add	ebx,DWORD [16+esp]
2932	xor	edi,ecx
2933	ror	edx,6
2934	mov	esi,ebp
2935	add	ebx,edi
2936	ror	esi,9
2937	mov	ecx,ebp
2938	mov	edi,DWORD [24+esp]
2939	xor	esi,ebp
2940	mov	DWORD [20+esp],ebp
2941	xor	ebp,edi
2942	ror	esi,11
2943	and	eax,ebp
2944	lea	edx,[2361852424+edx*1+ebx]
2945	xor	esi,ecx
2946	xor	eax,edi
2947	mov	ecx,DWORD [84+esp]
2948	ror	esi,2
2949	add	eax,edx
2950	add	edx,DWORD [esp]
2951	add	eax,esi
2952	mov	esi,DWORD [72+esp]
2953	mov	ebx,ecx
2954	ror	ecx,11
2955	mov	edi,esi
2956	ror	esi,2
2957	xor	ecx,ebx
2958	shr	ebx,3
2959	ror	ecx,7
2960	xor	esi,edi
2961	xor	ebx,ecx
2962	ror	esi,17
2963	add	ebx,DWORD [80+esp]
2964	shr	edi,10
2965	add	ebx,DWORD [52+esp]
2966	mov	ecx,edx
2967	xor	edi,esi
2968	mov	esi,DWORD [4+esp]
2969	ror	edx,14
2970	add	ebx,edi
2971	mov	edi,DWORD [8+esp]
2972	xor	edx,ecx
2973	mov	DWORD [80+esp],ebx
2974	xor	esi,edi
2975	ror	edx,5
2976	and	esi,ecx
2977	mov	DWORD [esp],ecx
2978	xor	edx,ecx
2979	add	ebx,DWORD [12+esp]
2980	xor	edi,esi
2981	ror	edx,6
2982	mov	ecx,eax
2983	add	ebx,edi
2984	ror	ecx,9
2985	mov	esi,eax
2986	mov	edi,DWORD [20+esp]
2987	xor	ecx,eax
2988	mov	DWORD [16+esp],eax
2989	xor	eax,edi
2990	ror	ecx,11
2991	and	ebp,eax
2992	lea	edx,[2428436474+edx*1+ebx]
2993	xor	ecx,esi
2994	xor	ebp,edi
2995	mov	esi,DWORD [88+esp]
2996	ror	ecx,2
2997	add	ebp,edx
2998	add	edx,DWORD [28+esp]
2999	add	ebp,ecx
3000	mov	ecx,DWORD [76+esp]
3001	mov	ebx,esi
3002	ror	esi,11
3003	mov	edi,ecx
3004	ror	ecx,2
3005	xor	esi,ebx
3006	shr	ebx,3
3007	ror	esi,7
3008	xor	ecx,edi
3009	xor	ebx,esi
3010	ror	ecx,17
3011	add	ebx,DWORD [84+esp]
3012	shr	edi,10
3013	add	ebx,DWORD [56+esp]
3014	mov	esi,edx
3015	xor	edi,ecx
3016	mov	ecx,DWORD [esp]
3017	ror	edx,14
3018	add	ebx,edi
3019	mov	edi,DWORD [4+esp]
3020	xor	edx,esi
3021	mov	DWORD [84+esp],ebx
3022	xor	ecx,edi
3023	ror	edx,5
3024	and	ecx,esi
3025	mov	DWORD [28+esp],esi
3026	xor	edx,esi
3027	add	ebx,DWORD [8+esp]
3028	xor	edi,ecx
3029	ror	edx,6
3030	mov	esi,ebp
3031	add	ebx,edi
3032	ror	esi,9
3033	mov	ecx,ebp
3034	mov	edi,DWORD [16+esp]
3035	xor	esi,ebp
3036	mov	DWORD [12+esp],ebp
3037	xor	ebp,edi
3038	ror	esi,11
3039	and	eax,ebp
3040	lea	edx,[2756734187+edx*1+ebx]
3041	xor	esi,ecx
3042	xor	eax,edi
3043	mov	ecx,DWORD [92+esp]
3044	ror	esi,2
3045	add	eax,edx
3046	add	edx,DWORD [24+esp]
3047	add	eax,esi
3048	mov	esi,DWORD [80+esp]
3049	mov	ebx,ecx
3050	ror	ecx,11
3051	mov	edi,esi
3052	ror	esi,2
3053	xor	ecx,ebx
3054	shr	ebx,3
3055	ror	ecx,7
3056	xor	esi,edi
3057	xor	ebx,ecx
3058	ror	esi,17
3059	add	ebx,DWORD [88+esp]
3060	shr	edi,10
3061	add	ebx,DWORD [60+esp]
3062	mov	ecx,edx
3063	xor	edi,esi
3064	mov	esi,DWORD [28+esp]
3065	ror	edx,14
3066	add	ebx,edi
3067	mov	edi,DWORD [esp]
3068	xor	edx,ecx
3069	xor	esi,edi
3070	ror	edx,5
3071	and	esi,ecx
3072	mov	DWORD [24+esp],ecx
3073	xor	edx,ecx
3074	add	ebx,DWORD [4+esp]
3075	xor	edi,esi
3076	ror	edx,6
3077	mov	ecx,eax
3078	add	ebx,edi
3079	ror	ecx,9
3080	mov	esi,eax
3081	mov	edi,DWORD [12+esp]
3082	xor	ecx,eax
3083	mov	DWORD [8+esp],eax
3084	xor	eax,edi
3085	ror	ecx,11
3086	and	ebp,eax
3087	lea	edx,[3204031479+edx*1+ebx]
3088	xor	ecx,esi
3089	xor	ebp,edi
3090	mov	esi,DWORD [32+esp]
3091	ror	ecx,2
3092	add	ebp,edx
3093	add	edx,DWORD [20+esp]
3094	add	ebp,ecx
3095	mov	ecx,DWORD [84+esp]
3096	mov	ebx,esi
3097	ror	esi,11
3098	mov	edi,ecx
3099	ror	ecx,2
3100	xor	esi,ebx
3101	shr	ebx,3
3102	ror	esi,7
3103	xor	ecx,edi
3104	xor	ebx,esi
3105	ror	ecx,17
3106	add	ebx,DWORD [92+esp]
3107	shr	edi,10
3108	add	ebx,DWORD [64+esp]
3109	mov	esi,edx
3110	xor	edi,ecx
3111	mov	ecx,DWORD [24+esp]
3112	ror	edx,14
3113	add	ebx,edi
3114	mov	edi,DWORD [28+esp]
3115	xor	edx,esi
3116	xor	ecx,edi
3117	ror	edx,5
3118	and	ecx,esi
3119	mov	DWORD [20+esp],esi
3120	xor	edx,esi
3121	add	ebx,DWORD [esp]
3122	xor	edi,ecx
3123	ror	edx,6
3124	mov	esi,ebp
3125	add	ebx,edi
3126	ror	esi,9
3127	mov	ecx,ebp
3128	mov	edi,DWORD [8+esp]
3129	xor	esi,ebp
3130	mov	DWORD [4+esp],ebp
3131	xor	ebp,edi
3132	ror	esi,11
3133	and	eax,ebp
3134	lea	edx,[3329325298+edx*1+ebx]
3135	xor	esi,ecx
3136	xor	eax,edi
3137	ror	esi,2
3138	add	eax,edx
3139	add	edx,DWORD [16+esp]
3140	add	eax,esi
3141	mov	esi,DWORD [96+esp]
3142	xor	ebp,edi
3143	mov	ecx,DWORD [12+esp]
3144	add	eax,DWORD [esi]
3145	add	ebp,DWORD [4+esi]
3146	add	edi,DWORD [8+esi]
3147	add	ecx,DWORD [12+esi]
3148	mov	DWORD [esi],eax
3149	mov	DWORD [4+esi],ebp
3150	mov	DWORD [8+esi],edi
3151	mov	DWORD [12+esi],ecx
3152	mov	DWORD [4+esp],ebp
3153	xor	ebp,edi
3154	mov	DWORD [8+esp],edi
3155	mov	DWORD [12+esp],ecx
3156	mov	edi,DWORD [20+esp]
3157	mov	ebx,DWORD [24+esp]
3158	mov	ecx,DWORD [28+esp]
3159	add	edx,DWORD [16+esi]
3160	add	edi,DWORD [20+esi]
3161	add	ebx,DWORD [24+esi]
3162	add	ecx,DWORD [28+esi]
3163	mov	DWORD [16+esi],edx
3164	mov	DWORD [20+esi],edi
3165	mov	DWORD [24+esi],ebx
3166	mov	DWORD [28+esi],ecx
3167	mov	DWORD [20+esp],edi
3168	mov	edi,DWORD [100+esp]
3169	mov	DWORD [24+esp],ebx
3170	mov	DWORD [28+esp],ecx
3171	cmp	edi,DWORD [104+esp]
3172	jb	NEAR L$009grand_loop
3173	mov	esp,DWORD [108+esp]
3174	pop	edi
3175	pop	esi
3176	pop	ebx
3177	pop	ebp
3178	ret
3179align	32
3180L$005SSSE3:
3181	lea	esp,[esp-96]
3182	mov	eax,DWORD [esi]
3183	mov	ebx,DWORD [4+esi]
3184	mov	ecx,DWORD [8+esi]
3185	mov	edi,DWORD [12+esi]
3186	mov	DWORD [4+esp],ebx
3187	xor	ebx,ecx
3188	mov	DWORD [8+esp],ecx
3189	mov	DWORD [12+esp],edi
3190	mov	edx,DWORD [16+esi]
3191	mov	edi,DWORD [20+esi]
3192	mov	ecx,DWORD [24+esi]
3193	mov	esi,DWORD [28+esi]
3194	mov	DWORD [20+esp],edi
3195	mov	edi,DWORD [100+esp]
3196	mov	DWORD [24+esp],ecx
3197	mov	DWORD [28+esp],esi
3198	movdqa	xmm7,[256+ebp]
3199	jmp	NEAR L$010grand_ssse3
3200align	16
3201L$010grand_ssse3:
3202	movdqu	xmm0,[edi]
3203	movdqu	xmm1,[16+edi]
3204	movdqu	xmm2,[32+edi]
3205	movdqu	xmm3,[48+edi]
3206	add	edi,64
3207db	102,15,56,0,199
3208	mov	DWORD [100+esp],edi
3209db	102,15,56,0,207
3210	movdqa	xmm4,[ebp]
3211db	102,15,56,0,215
3212	movdqa	xmm5,[16+ebp]
3213	paddd	xmm4,xmm0
3214db	102,15,56,0,223
3215	movdqa	xmm6,[32+ebp]
3216	paddd	xmm5,xmm1
3217	movdqa	xmm7,[48+ebp]
3218	movdqa	[32+esp],xmm4
3219	paddd	xmm6,xmm2
3220	movdqa	[48+esp],xmm5
3221	paddd	xmm7,xmm3
3222	movdqa	[64+esp],xmm6
3223	movdqa	[80+esp],xmm7
3224	jmp	NEAR L$011ssse3_00_47
3225align	16
3226L$011ssse3_00_47:
3227	add	ebp,64
3228	mov	ecx,edx
3229	movdqa	xmm4,xmm1
3230	ror	edx,14
3231	mov	esi,DWORD [20+esp]
3232	movdqa	xmm7,xmm3
3233	xor	edx,ecx
3234	mov	edi,DWORD [24+esp]
3235db	102,15,58,15,224,4
3236	xor	esi,edi
3237	ror	edx,5
3238	and	esi,ecx
3239db	102,15,58,15,250,4
3240	mov	DWORD [16+esp],ecx
3241	xor	edx,ecx
3242	xor	edi,esi
3243	movdqa	xmm5,xmm4
3244	ror	edx,6
3245	mov	ecx,eax
3246	movdqa	xmm6,xmm4
3247	add	edx,edi
3248	mov	edi,DWORD [4+esp]
3249	psrld	xmm4,3
3250	mov	esi,eax
3251	ror	ecx,9
3252	paddd	xmm0,xmm7
3253	mov	DWORD [esp],eax
3254	xor	ecx,eax
3255	psrld	xmm6,7
3256	xor	eax,edi
3257	add	edx,DWORD [28+esp]
3258	ror	ecx,11
3259	and	ebx,eax
3260	pshufd	xmm7,xmm3,250
3261	xor	ecx,esi
3262	add	edx,DWORD [32+esp]
3263	pslld	xmm5,14
3264	xor	ebx,edi
3265	ror	ecx,2
3266	pxor	xmm4,xmm6
3267	add	ebx,edx
3268	add	edx,DWORD [12+esp]
3269	psrld	xmm6,11
3270	add	ebx,ecx
3271	mov	ecx,edx
3272	ror	edx,14
3273	pxor	xmm4,xmm5
3274	mov	esi,DWORD [16+esp]
3275	xor	edx,ecx
3276	pslld	xmm5,11
3277	mov	edi,DWORD [20+esp]
3278	xor	esi,edi
3279	ror	edx,5
3280	pxor	xmm4,xmm6
3281	and	esi,ecx
3282	mov	DWORD [12+esp],ecx
3283	movdqa	xmm6,xmm7
3284	xor	edx,ecx
3285	xor	edi,esi
3286	ror	edx,6
3287	pxor	xmm4,xmm5
3288	mov	ecx,ebx
3289	add	edx,edi
3290	psrld	xmm7,10
3291	mov	edi,DWORD [esp]
3292	mov	esi,ebx
3293	ror	ecx,9
3294	paddd	xmm0,xmm4
3295	mov	DWORD [28+esp],ebx
3296	xor	ecx,ebx
3297	psrlq	xmm6,17
3298	xor	ebx,edi
3299	add	edx,DWORD [24+esp]
3300	ror	ecx,11
3301	pxor	xmm7,xmm6
3302	and	eax,ebx
3303	xor	ecx,esi
3304	psrlq	xmm6,2
3305	add	edx,DWORD [36+esp]
3306	xor	eax,edi
3307	ror	ecx,2
3308	pxor	xmm7,xmm6
3309	add	eax,edx
3310	add	edx,DWORD [8+esp]
3311	pshufd	xmm7,xmm7,128
3312	add	eax,ecx
3313	mov	ecx,edx
3314	ror	edx,14
3315	mov	esi,DWORD [12+esp]
3316	xor	edx,ecx
3317	mov	edi,DWORD [16+esp]
3318	xor	esi,edi
3319	ror	edx,5
3320	and	esi,ecx
3321	psrldq	xmm7,8
3322	mov	DWORD [8+esp],ecx
3323	xor	edx,ecx
3324	xor	edi,esi
3325	paddd	xmm0,xmm7
3326	ror	edx,6
3327	mov	ecx,eax
3328	add	edx,edi
3329	mov	edi,DWORD [28+esp]
3330	mov	esi,eax
3331	ror	ecx,9
3332	mov	DWORD [24+esp],eax
3333	pshufd	xmm7,xmm0,80
3334	xor	ecx,eax
3335	xor	eax,edi
3336	add	edx,DWORD [20+esp]
3337	movdqa	xmm6,xmm7
3338	ror	ecx,11
3339	psrld	xmm7,10
3340	and	ebx,eax
3341	psrlq	xmm6,17
3342	xor	ecx,esi
3343	add	edx,DWORD [40+esp]
3344	xor	ebx,edi
3345	ror	ecx,2
3346	pxor	xmm7,xmm6
3347	add	ebx,edx
3348	add	edx,DWORD [4+esp]
3349	psrlq	xmm6,2
3350	add	ebx,ecx
3351	mov	ecx,edx
3352	ror	edx,14
3353	pxor	xmm7,xmm6
3354	mov	esi,DWORD [8+esp]
3355	xor	edx,ecx
3356	mov	edi,DWORD [12+esp]
3357	pshufd	xmm7,xmm7,8
3358	xor	esi,edi
3359	ror	edx,5
3360	movdqa	xmm6,[ebp]
3361	and	esi,ecx
3362	mov	DWORD [4+esp],ecx
3363	pslldq	xmm7,8
3364	xor	edx,ecx
3365	xor	edi,esi
3366	ror	edx,6
3367	mov	ecx,ebx
3368	add	edx,edi
3369	mov	edi,DWORD [24+esp]
3370	mov	esi,ebx
3371	ror	ecx,9
3372	paddd	xmm0,xmm7
3373	mov	DWORD [20+esp],ebx
3374	xor	ecx,ebx
3375	xor	ebx,edi
3376	add	edx,DWORD [16+esp]
3377	paddd	xmm6,xmm0
3378	ror	ecx,11
3379	and	eax,ebx
3380	xor	ecx,esi
3381	add	edx,DWORD [44+esp]
3382	xor	eax,edi
3383	ror	ecx,2
3384	add	eax,edx
3385	add	edx,DWORD [esp]
3386	add	eax,ecx
3387	movdqa	[32+esp],xmm6
3388	mov	ecx,edx
3389	movdqa	xmm4,xmm2
3390	ror	edx,14
3391	mov	esi,DWORD [4+esp]
3392	movdqa	xmm7,xmm0
3393	xor	edx,ecx
3394	mov	edi,DWORD [8+esp]
3395db	102,15,58,15,225,4
3396	xor	esi,edi
3397	ror	edx,5
3398	and	esi,ecx
3399db	102,15,58,15,251,4
3400	mov	DWORD [esp],ecx
3401	xor	edx,ecx
3402	xor	edi,esi
3403	movdqa	xmm5,xmm4
3404	ror	edx,6
3405	mov	ecx,eax
3406	movdqa	xmm6,xmm4
3407	add	edx,edi
3408	mov	edi,DWORD [20+esp]
3409	psrld	xmm4,3
3410	mov	esi,eax
3411	ror	ecx,9
3412	paddd	xmm1,xmm7
3413	mov	DWORD [16+esp],eax
3414	xor	ecx,eax
3415	psrld	xmm6,7
3416	xor	eax,edi
3417	add	edx,DWORD [12+esp]
3418	ror	ecx,11
3419	and	ebx,eax
3420	pshufd	xmm7,xmm0,250
3421	xor	ecx,esi
3422	add	edx,DWORD [48+esp]
3423	pslld	xmm5,14
3424	xor	ebx,edi
3425	ror	ecx,2
3426	pxor	xmm4,xmm6
3427	add	ebx,edx
3428	add	edx,DWORD [28+esp]
3429	psrld	xmm6,11
3430	add	ebx,ecx
3431	mov	ecx,edx
3432	ror	edx,14
3433	pxor	xmm4,xmm5
3434	mov	esi,DWORD [esp]
3435	xor	edx,ecx
3436	pslld	xmm5,11
3437	mov	edi,DWORD [4+esp]
3438	xor	esi,edi
3439	ror	edx,5
3440	pxor	xmm4,xmm6
3441	and	esi,ecx
3442	mov	DWORD [28+esp],ecx
3443	movdqa	xmm6,xmm7
3444	xor	edx,ecx
3445	xor	edi,esi
3446	ror	edx,6
3447	pxor	xmm4,xmm5
3448	mov	ecx,ebx
3449	add	edx,edi
3450	psrld	xmm7,10
3451	mov	edi,DWORD [16+esp]
3452	mov	esi,ebx
3453	ror	ecx,9
3454	paddd	xmm1,xmm4
3455	mov	DWORD [12+esp],ebx
3456	xor	ecx,ebx
3457	psrlq	xmm6,17
3458	xor	ebx,edi
3459	add	edx,DWORD [8+esp]
3460	ror	ecx,11
3461	pxor	xmm7,xmm6
3462	and	eax,ebx
3463	xor	ecx,esi
3464	psrlq	xmm6,2
3465	add	edx,DWORD [52+esp]
3466	xor	eax,edi
3467	ror	ecx,2
3468	pxor	xmm7,xmm6
3469	add	eax,edx
3470	add	edx,DWORD [24+esp]
3471	pshufd	xmm7,xmm7,128
3472	add	eax,ecx
3473	mov	ecx,edx
3474	ror	edx,14
3475	mov	esi,DWORD [28+esp]
3476	xor	edx,ecx
3477	mov	edi,DWORD [esp]
3478	xor	esi,edi
3479	ror	edx,5
3480	and	esi,ecx
3481	psrldq	xmm7,8
3482	mov	DWORD [24+esp],ecx
3483	xor	edx,ecx
3484	xor	edi,esi
3485	paddd	xmm1,xmm7
3486	ror	edx,6
3487	mov	ecx,eax
3488	add	edx,edi
3489	mov	edi,DWORD [12+esp]
3490	mov	esi,eax
3491	ror	ecx,9
3492	mov	DWORD [8+esp],eax
3493	pshufd	xmm7,xmm1,80
3494	xor	ecx,eax
3495	xor	eax,edi
3496	add	edx,DWORD [4+esp]
3497	movdqa	xmm6,xmm7
3498	ror	ecx,11
3499	psrld	xmm7,10
3500	and	ebx,eax
3501	psrlq	xmm6,17
3502	xor	ecx,esi
3503	add	edx,DWORD [56+esp]
3504	xor	ebx,edi
3505	ror	ecx,2
3506	pxor	xmm7,xmm6
3507	add	ebx,edx
3508	add	edx,DWORD [20+esp]
3509	psrlq	xmm6,2
3510	add	ebx,ecx
3511	mov	ecx,edx
3512	ror	edx,14
3513	pxor	xmm7,xmm6
3514	mov	esi,DWORD [24+esp]
3515	xor	edx,ecx
3516	mov	edi,DWORD [28+esp]
3517	pshufd	xmm7,xmm7,8
3518	xor	esi,edi
3519	ror	edx,5
3520	movdqa	xmm6,[16+ebp]
3521	and	esi,ecx
3522	mov	DWORD [20+esp],ecx
3523	pslldq	xmm7,8
3524	xor	edx,ecx
3525	xor	edi,esi
3526	ror	edx,6
3527	mov	ecx,ebx
3528	add	edx,edi
3529	mov	edi,DWORD [8+esp]
3530	mov	esi,ebx
3531	ror	ecx,9
3532	paddd	xmm1,xmm7
3533	mov	DWORD [4+esp],ebx
3534	xor	ecx,ebx
3535	xor	ebx,edi
3536	add	edx,DWORD [esp]
3537	paddd	xmm6,xmm1
3538	ror	ecx,11
3539	and	eax,ebx
3540	xor	ecx,esi
3541	add	edx,DWORD [60+esp]
3542	xor	eax,edi
3543	ror	ecx,2
3544	add	eax,edx
3545	add	edx,DWORD [16+esp]
3546	add	eax,ecx
3547	movdqa	[48+esp],xmm6
3548	mov	ecx,edx
3549	movdqa	xmm4,xmm3
3550	ror	edx,14
3551	mov	esi,DWORD [20+esp]
3552	movdqa	xmm7,xmm1
3553	xor	edx,ecx
3554	mov	edi,DWORD [24+esp]
3555db	102,15,58,15,226,4
3556	xor	esi,edi
3557	ror	edx,5
3558	and	esi,ecx
3559db	102,15,58,15,248,4
3560	mov	DWORD [16+esp],ecx
3561	xor	edx,ecx
3562	xor	edi,esi
3563	movdqa	xmm5,xmm4
3564	ror	edx,6
3565	mov	ecx,eax
3566	movdqa	xmm6,xmm4
3567	add	edx,edi
3568	mov	edi,DWORD [4+esp]
3569	psrld	xmm4,3
3570	mov	esi,eax
3571	ror	ecx,9
3572	paddd	xmm2,xmm7
3573	mov	DWORD [esp],eax
3574	xor	ecx,eax
3575	psrld	xmm6,7
3576	xor	eax,edi
3577	add	edx,DWORD [28+esp]
3578	ror	ecx,11
3579	and	ebx,eax
3580	pshufd	xmm7,xmm1,250
3581	xor	ecx,esi
3582	add	edx,DWORD [64+esp]
3583	pslld	xmm5,14
3584	xor	ebx,edi
3585	ror	ecx,2
3586	pxor	xmm4,xmm6
3587	add	ebx,edx
3588	add	edx,DWORD [12+esp]
3589	psrld	xmm6,11
3590	add	ebx,ecx
3591	mov	ecx,edx
3592	ror	edx,14
3593	pxor	xmm4,xmm5
3594	mov	esi,DWORD [16+esp]
3595	xor	edx,ecx
3596	pslld	xmm5,11
3597	mov	edi,DWORD [20+esp]
3598	xor	esi,edi
3599	ror	edx,5
3600	pxor	xmm4,xmm6
3601	and	esi,ecx
3602	mov	DWORD [12+esp],ecx
3603	movdqa	xmm6,xmm7
3604	xor	edx,ecx
3605	xor	edi,esi
3606	ror	edx,6
3607	pxor	xmm4,xmm5
3608	mov	ecx,ebx
3609	add	edx,edi
3610	psrld	xmm7,10
3611	mov	edi,DWORD [esp]
3612	mov	esi,ebx
3613	ror	ecx,9
3614	paddd	xmm2,xmm4
3615	mov	DWORD [28+esp],ebx
3616	xor	ecx,ebx
3617	psrlq	xmm6,17
3618	xor	ebx,edi
3619	add	edx,DWORD [24+esp]
3620	ror	ecx,11
3621	pxor	xmm7,xmm6
3622	and	eax,ebx
3623	xor	ecx,esi
3624	psrlq	xmm6,2
3625	add	edx,DWORD [68+esp]
3626	xor	eax,edi
3627	ror	ecx,2
3628	pxor	xmm7,xmm6
3629	add	eax,edx
3630	add	edx,DWORD [8+esp]
3631	pshufd	xmm7,xmm7,128
3632	add	eax,ecx
3633	mov	ecx,edx
3634	ror	edx,14
3635	mov	esi,DWORD [12+esp]
3636	xor	edx,ecx
3637	mov	edi,DWORD [16+esp]
3638	xor	esi,edi
3639	ror	edx,5
3640	and	esi,ecx
3641	psrldq	xmm7,8
3642	mov	DWORD [8+esp],ecx
3643	xor	edx,ecx
3644	xor	edi,esi
3645	paddd	xmm2,xmm7
3646	ror	edx,6
3647	mov	ecx,eax
3648	add	edx,edi
3649	mov	edi,DWORD [28+esp]
3650	mov	esi,eax
3651	ror	ecx,9
3652	mov	DWORD [24+esp],eax
3653	pshufd	xmm7,xmm2,80
3654	xor	ecx,eax
3655	xor	eax,edi
3656	add	edx,DWORD [20+esp]
3657	movdqa	xmm6,xmm7
3658	ror	ecx,11
3659	psrld	xmm7,10
3660	and	ebx,eax
3661	psrlq	xmm6,17
3662	xor	ecx,esi
3663	add	edx,DWORD [72+esp]
3664	xor	ebx,edi
3665	ror	ecx,2
3666	pxor	xmm7,xmm6
3667	add	ebx,edx
3668	add	edx,DWORD [4+esp]
3669	psrlq	xmm6,2
3670	add	ebx,ecx
3671	mov	ecx,edx
3672	ror	edx,14
3673	pxor	xmm7,xmm6
3674	mov	esi,DWORD [8+esp]
3675	xor	edx,ecx
3676	mov	edi,DWORD [12+esp]
3677	pshufd	xmm7,xmm7,8
3678	xor	esi,edi
3679	ror	edx,5
3680	movdqa	xmm6,[32+ebp]
3681	and	esi,ecx
3682	mov	DWORD [4+esp],ecx
3683	pslldq	xmm7,8
3684	xor	edx,ecx
3685	xor	edi,esi
3686	ror	edx,6
3687	mov	ecx,ebx
3688	add	edx,edi
3689	mov	edi,DWORD [24+esp]
3690	mov	esi,ebx
3691	ror	ecx,9
3692	paddd	xmm2,xmm7
3693	mov	DWORD [20+esp],ebx
3694	xor	ecx,ebx
3695	xor	ebx,edi
3696	add	edx,DWORD [16+esp]
3697	paddd	xmm6,xmm2
3698	ror	ecx,11
3699	and	eax,ebx
3700	xor	ecx,esi
3701	add	edx,DWORD [76+esp]
3702	xor	eax,edi
3703	ror	ecx,2
3704	add	eax,edx
3705	add	edx,DWORD [esp]
3706	add	eax,ecx
3707	movdqa	[64+esp],xmm6
3708	mov	ecx,edx
3709	movdqa	xmm4,xmm0
3710	ror	edx,14
3711	mov	esi,DWORD [4+esp]
3712	movdqa	xmm7,xmm2
3713	xor	edx,ecx
3714	mov	edi,DWORD [8+esp]
3715db	102,15,58,15,227,4
3716	xor	esi,edi
3717	ror	edx,5
3718	and	esi,ecx
3719db	102,15,58,15,249,4
3720	mov	DWORD [esp],ecx
3721	xor	edx,ecx
3722	xor	edi,esi
3723	movdqa	xmm5,xmm4
3724	ror	edx,6
3725	mov	ecx,eax
3726	movdqa	xmm6,xmm4
3727	add	edx,edi
3728	mov	edi,DWORD [20+esp]
3729	psrld	xmm4,3
3730	mov	esi,eax
3731	ror	ecx,9
3732	paddd	xmm3,xmm7
3733	mov	DWORD [16+esp],eax
3734	xor	ecx,eax
3735	psrld	xmm6,7
3736	xor	eax,edi
3737	add	edx,DWORD [12+esp]
3738	ror	ecx,11
3739	and	ebx,eax
3740	pshufd	xmm7,xmm2,250
3741	xor	ecx,esi
3742	add	edx,DWORD [80+esp]
3743	pslld	xmm5,14
3744	xor	ebx,edi
3745	ror	ecx,2
3746	pxor	xmm4,xmm6
3747	add	ebx,edx
3748	add	edx,DWORD [28+esp]
3749	psrld	xmm6,11
3750	add	ebx,ecx
3751	mov	ecx,edx
3752	ror	edx,14
3753	pxor	xmm4,xmm5
3754	mov	esi,DWORD [esp]
3755	xor	edx,ecx
3756	pslld	xmm5,11
3757	mov	edi,DWORD [4+esp]
3758	xor	esi,edi
3759	ror	edx,5
3760	pxor	xmm4,xmm6
3761	and	esi,ecx
3762	mov	DWORD [28+esp],ecx
3763	movdqa	xmm6,xmm7
3764	xor	edx,ecx
3765	xor	edi,esi
3766	ror	edx,6
3767	pxor	xmm4,xmm5
3768	mov	ecx,ebx
3769	add	edx,edi
3770	psrld	xmm7,10
3771	mov	edi,DWORD [16+esp]
3772	mov	esi,ebx
3773	ror	ecx,9
3774	paddd	xmm3,xmm4
3775	mov	DWORD [12+esp],ebx
3776	xor	ecx,ebx
3777	psrlq	xmm6,17
3778	xor	ebx,edi
3779	add	edx,DWORD [8+esp]
3780	ror	ecx,11
3781	pxor	xmm7,xmm6
3782	and	eax,ebx
3783	xor	ecx,esi
3784	psrlq	xmm6,2
3785	add	edx,DWORD [84+esp]
3786	xor	eax,edi
3787	ror	ecx,2
3788	pxor	xmm7,xmm6
3789	add	eax,edx
3790	add	edx,DWORD [24+esp]
3791	pshufd	xmm7,xmm7,128
3792	add	eax,ecx
3793	mov	ecx,edx
3794	ror	edx,14
3795	mov	esi,DWORD [28+esp]
3796	xor	edx,ecx
3797	mov	edi,DWORD [esp]
3798	xor	esi,edi
3799	ror	edx,5
3800	and	esi,ecx
3801	psrldq	xmm7,8
3802	mov	DWORD [24+esp],ecx
3803	xor	edx,ecx
3804	xor	edi,esi
3805	paddd	xmm3,xmm7
3806	ror	edx,6
3807	mov	ecx,eax
3808	add	edx,edi
3809	mov	edi,DWORD [12+esp]
3810	mov	esi,eax
3811	ror	ecx,9
3812	mov	DWORD [8+esp],eax
3813	pshufd	xmm7,xmm3,80
3814	xor	ecx,eax
3815	xor	eax,edi
3816	add	edx,DWORD [4+esp]
3817	movdqa	xmm6,xmm7
3818	ror	ecx,11
3819	psrld	xmm7,10
3820	and	ebx,eax
3821	psrlq	xmm6,17
3822	xor	ecx,esi
3823	add	edx,DWORD [88+esp]
3824	xor	ebx,edi
3825	ror	ecx,2
3826	pxor	xmm7,xmm6
3827	add	ebx,edx
3828	add	edx,DWORD [20+esp]
3829	psrlq	xmm6,2
3830	add	ebx,ecx
3831	mov	ecx,edx
3832	ror	edx,14
3833	pxor	xmm7,xmm6
3834	mov	esi,DWORD [24+esp]
3835	xor	edx,ecx
3836	mov	edi,DWORD [28+esp]
3837	pshufd	xmm7,xmm7,8
3838	xor	esi,edi
3839	ror	edx,5
3840	movdqa	xmm6,[48+ebp]
3841	and	esi,ecx
3842	mov	DWORD [20+esp],ecx
3843	pslldq	xmm7,8
3844	xor	edx,ecx
3845	xor	edi,esi
3846	ror	edx,6
3847	mov	ecx,ebx
3848	add	edx,edi
3849	mov	edi,DWORD [8+esp]
3850	mov	esi,ebx
3851	ror	ecx,9
3852	paddd	xmm3,xmm7
3853	mov	DWORD [4+esp],ebx
3854	xor	ecx,ebx
3855	xor	ebx,edi
3856	add	edx,DWORD [esp]
3857	paddd	xmm6,xmm3
3858	ror	ecx,11
3859	and	eax,ebx
3860	xor	ecx,esi
3861	add	edx,DWORD [92+esp]
3862	xor	eax,edi
3863	ror	ecx,2
3864	add	eax,edx
3865	add	edx,DWORD [16+esp]
3866	add	eax,ecx
3867	movdqa	[80+esp],xmm6
3868	cmp	DWORD [64+ebp],66051
3869	jne	NEAR L$011ssse3_00_47
3870	mov	ecx,edx
3871	ror	edx,14
3872	mov	esi,DWORD [20+esp]
3873	xor	edx,ecx
3874	mov	edi,DWORD [24+esp]
3875	xor	esi,edi
3876	ror	edx,5
3877	and	esi,ecx
3878	mov	DWORD [16+esp],ecx
3879	xor	edx,ecx
3880	xor	edi,esi
3881	ror	edx,6
3882	mov	ecx,eax
3883	add	edx,edi
3884	mov	edi,DWORD [4+esp]
3885	mov	esi,eax
3886	ror	ecx,9
3887	mov	DWORD [esp],eax
3888	xor	ecx,eax
3889	xor	eax,edi
3890	add	edx,DWORD [28+esp]
3891	ror	ecx,11
3892	and	ebx,eax
3893	xor	ecx,esi
3894	add	edx,DWORD [32+esp]
3895	xor	ebx,edi
3896	ror	ecx,2
3897	add	ebx,edx
3898	add	edx,DWORD [12+esp]
3899	add	ebx,ecx
3900	mov	ecx,edx
3901	ror	edx,14
3902	mov	esi,DWORD [16+esp]
3903	xor	edx,ecx
3904	mov	edi,DWORD [20+esp]
3905	xor	esi,edi
3906	ror	edx,5
3907	and	esi,ecx
3908	mov	DWORD [12+esp],ecx
3909	xor	edx,ecx
3910	xor	edi,esi
3911	ror	edx,6
3912	mov	ecx,ebx
3913	add	edx,edi
3914	mov	edi,DWORD [esp]
3915	mov	esi,ebx
3916	ror	ecx,9
3917	mov	DWORD [28+esp],ebx
3918	xor	ecx,ebx
3919	xor	ebx,edi
3920	add	edx,DWORD [24+esp]
3921	ror	ecx,11
3922	and	eax,ebx
3923	xor	ecx,esi
3924	add	edx,DWORD [36+esp]
3925	xor	eax,edi
3926	ror	ecx,2
3927	add	eax,edx
3928	add	edx,DWORD [8+esp]
3929	add	eax,ecx
3930	mov	ecx,edx
3931	ror	edx,14
3932	mov	esi,DWORD [12+esp]
3933	xor	edx,ecx
3934	mov	edi,DWORD [16+esp]
3935	xor	esi,edi
3936	ror	edx,5
3937	and	esi,ecx
3938	mov	DWORD [8+esp],ecx
3939	xor	edx,ecx
3940	xor	edi,esi
3941	ror	edx,6
3942	mov	ecx,eax
3943	add	edx,edi
3944	mov	edi,DWORD [28+esp]
3945	mov	esi,eax
3946	ror	ecx,9
3947	mov	DWORD [24+esp],eax
3948	xor	ecx,eax
3949	xor	eax,edi
3950	add	edx,DWORD [20+esp]
3951	ror	ecx,11
3952	and	ebx,eax
3953	xor	ecx,esi
3954	add	edx,DWORD [40+esp]
3955	xor	ebx,edi
3956	ror	ecx,2
3957	add	ebx,edx
3958	add	edx,DWORD [4+esp]
3959	add	ebx,ecx
3960	mov	ecx,edx
3961	ror	edx,14
3962	mov	esi,DWORD [8+esp]
3963	xor	edx,ecx
3964	mov	edi,DWORD [12+esp]
3965	xor	esi,edi
3966	ror	edx,5
3967	and	esi,ecx
3968	mov	DWORD [4+esp],ecx
3969	xor	edx,ecx
3970	xor	edi,esi
3971	ror	edx,6
3972	mov	ecx,ebx
3973	add	edx,edi
3974	mov	edi,DWORD [24+esp]
3975	mov	esi,ebx
3976	ror	ecx,9
3977	mov	DWORD [20+esp],ebx
3978	xor	ecx,ebx
3979	xor	ebx,edi
3980	add	edx,DWORD [16+esp]
3981	ror	ecx,11
3982	and	eax,ebx
3983	xor	ecx,esi
3984	add	edx,DWORD [44+esp]
3985	xor	eax,edi
3986	ror	ecx,2
3987	add	eax,edx
3988	add	edx,DWORD [esp]
3989	add	eax,ecx
3990	mov	ecx,edx
3991	ror	edx,14
3992	mov	esi,DWORD [4+esp]
3993	xor	edx,ecx
3994	mov	edi,DWORD [8+esp]
3995	xor	esi,edi
3996	ror	edx,5
3997	and	esi,ecx
3998	mov	DWORD [esp],ecx
3999	xor	edx,ecx
4000	xor	edi,esi
4001	ror	edx,6
4002	mov	ecx,eax
4003	add	edx,edi
4004	mov	edi,DWORD [20+esp]
4005	mov	esi,eax
4006	ror	ecx,9
4007	mov	DWORD [16+esp],eax
4008	xor	ecx,eax
4009	xor	eax,edi
4010	add	edx,DWORD [12+esp]
4011	ror	ecx,11
4012	and	ebx,eax
4013	xor	ecx,esi
4014	add	edx,DWORD [48+esp]
4015	xor	ebx,edi
4016	ror	ecx,2
4017	add	ebx,edx
4018	add	edx,DWORD [28+esp]
4019	add	ebx,ecx
4020	mov	ecx,edx
4021	ror	edx,14
4022	mov	esi,DWORD [esp]
4023	xor	edx,ecx
4024	mov	edi,DWORD [4+esp]
4025	xor	esi,edi
4026	ror	edx,5
4027	and	esi,ecx
4028	mov	DWORD [28+esp],ecx
4029	xor	edx,ecx
4030	xor	edi,esi
4031	ror	edx,6
4032	mov	ecx,ebx
4033	add	edx,edi
4034	mov	edi,DWORD [16+esp]
4035	mov	esi,ebx
4036	ror	ecx,9
4037	mov	DWORD [12+esp],ebx
4038	xor	ecx,ebx
4039	xor	ebx,edi
4040	add	edx,DWORD [8+esp]
4041	ror	ecx,11
4042	and	eax,ebx
4043	xor	ecx,esi
4044	add	edx,DWORD [52+esp]
4045	xor	eax,edi
4046	ror	ecx,2
4047	add	eax,edx
4048	add	edx,DWORD [24+esp]
4049	add	eax,ecx
4050	mov	ecx,edx
4051	ror	edx,14
4052	mov	esi,DWORD [28+esp]
4053	xor	edx,ecx
4054	mov	edi,DWORD [esp]
4055	xor	esi,edi
4056	ror	edx,5
4057	and	esi,ecx
4058	mov	DWORD [24+esp],ecx
4059	xor	edx,ecx
4060	xor	edi,esi
4061	ror	edx,6
4062	mov	ecx,eax
4063	add	edx,edi
4064	mov	edi,DWORD [12+esp]
4065	mov	esi,eax
4066	ror	ecx,9
4067	mov	DWORD [8+esp],eax
4068	xor	ecx,eax
4069	xor	eax,edi
4070	add	edx,DWORD [4+esp]
4071	ror	ecx,11
4072	and	ebx,eax
4073	xor	ecx,esi
4074	add	edx,DWORD [56+esp]
4075	xor	ebx,edi
4076	ror	ecx,2
4077	add	ebx,edx
4078	add	edx,DWORD [20+esp]
4079	add	ebx,ecx
4080	mov	ecx,edx
4081	ror	edx,14
4082	mov	esi,DWORD [24+esp]
4083	xor	edx,ecx
4084	mov	edi,DWORD [28+esp]
4085	xor	esi,edi
4086	ror	edx,5
4087	and	esi,ecx
4088	mov	DWORD [20+esp],ecx
4089	xor	edx,ecx
4090	xor	edi,esi
4091	ror	edx,6
4092	mov	ecx,ebx
4093	add	edx,edi
4094	mov	edi,DWORD [8+esp]
4095	mov	esi,ebx
4096	ror	ecx,9
4097	mov	DWORD [4+esp],ebx
4098	xor	ecx,ebx
4099	xor	ebx,edi
4100	add	edx,DWORD [esp]
4101	ror	ecx,11
4102	and	eax,ebx
4103	xor	ecx,esi
4104	add	edx,DWORD [60+esp]
4105	xor	eax,edi
4106	ror	ecx,2
4107	add	eax,edx
4108	add	edx,DWORD [16+esp]
4109	add	eax,ecx
4110	mov	ecx,edx
4111	ror	edx,14
4112	mov	esi,DWORD [20+esp]
4113	xor	edx,ecx
4114	mov	edi,DWORD [24+esp]
4115	xor	esi,edi
4116	ror	edx,5
4117	and	esi,ecx
4118	mov	DWORD [16+esp],ecx
4119	xor	edx,ecx
4120	xor	edi,esi
4121	ror	edx,6
4122	mov	ecx,eax
4123	add	edx,edi
4124	mov	edi,DWORD [4+esp]
4125	mov	esi,eax
4126	ror	ecx,9
4127	mov	DWORD [esp],eax
4128	xor	ecx,eax
4129	xor	eax,edi
4130	add	edx,DWORD [28+esp]
4131	ror	ecx,11
4132	and	ebx,eax
4133	xor	ecx,esi
4134	add	edx,DWORD [64+esp]
4135	xor	ebx,edi
4136	ror	ecx,2
4137	add	ebx,edx
4138	add	edx,DWORD [12+esp]
4139	add	ebx,ecx
4140	mov	ecx,edx
4141	ror	edx,14
4142	mov	esi,DWORD [16+esp]
4143	xor	edx,ecx
4144	mov	edi,DWORD [20+esp]
4145	xor	esi,edi
4146	ror	edx,5
4147	and	esi,ecx
4148	mov	DWORD [12+esp],ecx
4149	xor	edx,ecx
4150	xor	edi,esi
4151	ror	edx,6
4152	mov	ecx,ebx
4153	add	edx,edi
4154	mov	edi,DWORD [esp]
4155	mov	esi,ebx
4156	ror	ecx,9
4157	mov	DWORD [28+esp],ebx
4158	xor	ecx,ebx
4159	xor	ebx,edi
4160	add	edx,DWORD [24+esp]
4161	ror	ecx,11
4162	and	eax,ebx
4163	xor	ecx,esi
4164	add	edx,DWORD [68+esp]
4165	xor	eax,edi
4166	ror	ecx,2
4167	add	eax,edx
4168	add	edx,DWORD [8+esp]
4169	add	eax,ecx
4170	mov	ecx,edx
4171	ror	edx,14
4172	mov	esi,DWORD [12+esp]
4173	xor	edx,ecx
4174	mov	edi,DWORD [16+esp]
4175	xor	esi,edi
4176	ror	edx,5
4177	and	esi,ecx
4178	mov	DWORD [8+esp],ecx
4179	xor	edx,ecx
4180	xor	edi,esi
4181	ror	edx,6
4182	mov	ecx,eax
4183	add	edx,edi
4184	mov	edi,DWORD [28+esp]
4185	mov	esi,eax
4186	ror	ecx,9
4187	mov	DWORD [24+esp],eax
4188	xor	ecx,eax
4189	xor	eax,edi
4190	add	edx,DWORD [20+esp]
4191	ror	ecx,11
4192	and	ebx,eax
4193	xor	ecx,esi
4194	add	edx,DWORD [72+esp]
4195	xor	ebx,edi
4196	ror	ecx,2
4197	add	ebx,edx
4198	add	edx,DWORD [4+esp]
4199	add	ebx,ecx
4200	mov	ecx,edx
4201	ror	edx,14
4202	mov	esi,DWORD [8+esp]
4203	xor	edx,ecx
4204	mov	edi,DWORD [12+esp]
4205	xor	esi,edi
4206	ror	edx,5
4207	and	esi,ecx
4208	mov	DWORD [4+esp],ecx
4209	xor	edx,ecx
4210	xor	edi,esi
4211	ror	edx,6
4212	mov	ecx,ebx
4213	add	edx,edi
4214	mov	edi,DWORD [24+esp]
4215	mov	esi,ebx
4216	ror	ecx,9
4217	mov	DWORD [20+esp],ebx
4218	xor	ecx,ebx
4219	xor	ebx,edi
4220	add	edx,DWORD [16+esp]
4221	ror	ecx,11
4222	and	eax,ebx
4223	xor	ecx,esi
4224	add	edx,DWORD [76+esp]
4225	xor	eax,edi
4226	ror	ecx,2
4227	add	eax,edx
4228	add	edx,DWORD [esp]
4229	add	eax,ecx
4230	mov	ecx,edx
4231	ror	edx,14
4232	mov	esi,DWORD [4+esp]
4233	xor	edx,ecx
4234	mov	edi,DWORD [8+esp]
4235	xor	esi,edi
4236	ror	edx,5
4237	and	esi,ecx
4238	mov	DWORD [esp],ecx
4239	xor	edx,ecx
4240	xor	edi,esi
4241	ror	edx,6
4242	mov	ecx,eax
4243	add	edx,edi
4244	mov	edi,DWORD [20+esp]
4245	mov	esi,eax
4246	ror	ecx,9
4247	mov	DWORD [16+esp],eax
4248	xor	ecx,eax
4249	xor	eax,edi
4250	add	edx,DWORD [12+esp]
4251	ror	ecx,11
4252	and	ebx,eax
4253	xor	ecx,esi
4254	add	edx,DWORD [80+esp]
4255	xor	ebx,edi
4256	ror	ecx,2
4257	add	ebx,edx
4258	add	edx,DWORD [28+esp]
4259	add	ebx,ecx
4260	mov	ecx,edx
4261	ror	edx,14
4262	mov	esi,DWORD [esp]
4263	xor	edx,ecx
4264	mov	edi,DWORD [4+esp]
4265	xor	esi,edi
4266	ror	edx,5
4267	and	esi,ecx
4268	mov	DWORD [28+esp],ecx
4269	xor	edx,ecx
4270	xor	edi,esi
4271	ror	edx,6
4272	mov	ecx,ebx
4273	add	edx,edi
4274	mov	edi,DWORD [16+esp]
4275	mov	esi,ebx
4276	ror	ecx,9
4277	mov	DWORD [12+esp],ebx
4278	xor	ecx,ebx
4279	xor	ebx,edi
4280	add	edx,DWORD [8+esp]
4281	ror	ecx,11
4282	and	eax,ebx
4283	xor	ecx,esi
4284	add	edx,DWORD [84+esp]
4285	xor	eax,edi
4286	ror	ecx,2
4287	add	eax,edx
4288	add	edx,DWORD [24+esp]
4289	add	eax,ecx
4290	mov	ecx,edx
4291	ror	edx,14
4292	mov	esi,DWORD [28+esp]
4293	xor	edx,ecx
4294	mov	edi,DWORD [esp]
4295	xor	esi,edi
4296	ror	edx,5
4297	and	esi,ecx
4298	mov	DWORD [24+esp],ecx
4299	xor	edx,ecx
4300	xor	edi,esi
4301	ror	edx,6
4302	mov	ecx,eax
4303	add	edx,edi
4304	mov	edi,DWORD [12+esp]
4305	mov	esi,eax
4306	ror	ecx,9
4307	mov	DWORD [8+esp],eax
4308	xor	ecx,eax
4309	xor	eax,edi
4310	add	edx,DWORD [4+esp]
4311	ror	ecx,11
4312	and	ebx,eax
4313	xor	ecx,esi
4314	add	edx,DWORD [88+esp]
4315	xor	ebx,edi
4316	ror	ecx,2
4317	add	ebx,edx
4318	add	edx,DWORD [20+esp]
4319	add	ebx,ecx
4320	mov	ecx,edx
4321	ror	edx,14
4322	mov	esi,DWORD [24+esp]
4323	xor	edx,ecx
4324	mov	edi,DWORD [28+esp]
4325	xor	esi,edi
4326	ror	edx,5
4327	and	esi,ecx
4328	mov	DWORD [20+esp],ecx
4329	xor	edx,ecx
4330	xor	edi,esi
4331	ror	edx,6
4332	mov	ecx,ebx
4333	add	edx,edi
4334	mov	edi,DWORD [8+esp]
4335	mov	esi,ebx
4336	ror	ecx,9
4337	mov	DWORD [4+esp],ebx
4338	xor	ecx,ebx
4339	xor	ebx,edi
4340	add	edx,DWORD [esp]
4341	ror	ecx,11
4342	and	eax,ebx
4343	xor	ecx,esi
4344	add	edx,DWORD [92+esp]
4345	xor	eax,edi
4346	ror	ecx,2
4347	add	eax,edx
4348	add	edx,DWORD [16+esp]
4349	add	eax,ecx
4350	mov	esi,DWORD [96+esp]
4351	xor	ebx,edi
4352	mov	ecx,DWORD [12+esp]
4353	add	eax,DWORD [esi]
4354	add	ebx,DWORD [4+esi]
4355	add	edi,DWORD [8+esi]
4356	add	ecx,DWORD [12+esi]
4357	mov	DWORD [esi],eax
4358	mov	DWORD [4+esi],ebx
4359	mov	DWORD [8+esi],edi
4360	mov	DWORD [12+esi],ecx
4361	mov	DWORD [4+esp],ebx
4362	xor	ebx,edi
4363	mov	DWORD [8+esp],edi
4364	mov	DWORD [12+esp],ecx
4365	mov	edi,DWORD [20+esp]
4366	mov	ecx,DWORD [24+esp]
4367	add	edx,DWORD [16+esi]
4368	add	edi,DWORD [20+esi]
4369	add	ecx,DWORD [24+esi]
4370	mov	DWORD [16+esi],edx
4371	mov	DWORD [20+esi],edi
4372	mov	DWORD [20+esp],edi
4373	mov	edi,DWORD [28+esp]
4374	mov	DWORD [24+esi],ecx
4375	add	edi,DWORD [28+esi]
4376	mov	DWORD [24+esp],ecx
4377	mov	DWORD [28+esi],edi
4378	mov	DWORD [28+esp],edi
4379	mov	edi,DWORD [100+esp]
4380	movdqa	xmm7,[64+ebp]
4381	sub	ebp,192
4382	cmp	edi,DWORD [104+esp]
4383	jb	NEAR L$010grand_ssse3
4384	mov	esp,DWORD [108+esp]
4385	pop	edi
4386	pop	esi
4387	pop	ebx
4388	pop	ebp
4389	ret
4390align	32
4391L$004AVX:
4392	lea	esp,[esp-96]
4393	vzeroall
4394	mov	eax,DWORD [esi]
4395	mov	ebx,DWORD [4+esi]
4396	mov	ecx,DWORD [8+esi]
4397	mov	edi,DWORD [12+esi]
4398	mov	DWORD [4+esp],ebx
4399	xor	ebx,ecx
4400	mov	DWORD [8+esp],ecx
4401	mov	DWORD [12+esp],edi
4402	mov	edx,DWORD [16+esi]
4403	mov	edi,DWORD [20+esi]
4404	mov	ecx,DWORD [24+esi]
4405	mov	esi,DWORD [28+esi]
4406	mov	DWORD [20+esp],edi
4407	mov	edi,DWORD [100+esp]
4408	mov	DWORD [24+esp],ecx
4409	mov	DWORD [28+esp],esi
4410	vmovdqa	xmm7,[256+ebp]
4411	jmp	NEAR L$012grand_avx
4412align	32
4413L$012grand_avx:
4414	vmovdqu	xmm0,[edi]
4415	vmovdqu	xmm1,[16+edi]
4416	vmovdqu	xmm2,[32+edi]
4417	vmovdqu	xmm3,[48+edi]
4418	add	edi,64
4419	vpshufb	xmm0,xmm0,xmm7
4420	mov	DWORD [100+esp],edi
4421	vpshufb	xmm1,xmm1,xmm7
4422	vpshufb	xmm2,xmm2,xmm7
4423	vpaddd	xmm4,xmm0,[ebp]
4424	vpshufb	xmm3,xmm3,xmm7
4425	vpaddd	xmm5,xmm1,[16+ebp]
4426	vpaddd	xmm6,xmm2,[32+ebp]
4427	vpaddd	xmm7,xmm3,[48+ebp]
4428	vmovdqa	[32+esp],xmm4
4429	vmovdqa	[48+esp],xmm5
4430	vmovdqa	[64+esp],xmm6
4431	vmovdqa	[80+esp],xmm7
4432	jmp	NEAR L$013avx_00_47
4433align	16
4434L$013avx_00_47:
4435	add	ebp,64
4436	vpalignr	xmm4,xmm1,xmm0,4
4437	mov	ecx,edx
4438	shrd	edx,edx,14
4439	mov	esi,DWORD [20+esp]
4440	vpalignr	xmm7,xmm3,xmm2,4
4441	xor	edx,ecx
4442	mov	edi,DWORD [24+esp]
4443	xor	esi,edi
4444	vpsrld	xmm6,xmm4,7
4445	shrd	edx,edx,5
4446	and	esi,ecx
4447	mov	DWORD [16+esp],ecx
4448	vpaddd	xmm0,xmm0,xmm7
4449	xor	edx,ecx
4450	xor	edi,esi
4451	shrd	edx,edx,6
4452	vpsrld	xmm7,xmm4,3
4453	mov	ecx,eax
4454	add	edx,edi
4455	mov	edi,DWORD [4+esp]
4456	vpslld	xmm5,xmm4,14
4457	mov	esi,eax
4458	shrd	ecx,ecx,9
4459	mov	DWORD [esp],eax
4460	vpxor	xmm4,xmm7,xmm6
4461	xor	ecx,eax
4462	xor	eax,edi
4463	add	edx,DWORD [28+esp]
4464	vpshufd	xmm7,xmm3,250
4465	shrd	ecx,ecx,11
4466	and	ebx,eax
4467	xor	ecx,esi
4468	vpsrld	xmm6,xmm6,11
4469	add	edx,DWORD [32+esp]
4470	xor	ebx,edi
4471	shrd	ecx,ecx,2
4472	vpxor	xmm4,xmm4,xmm5
4473	add	ebx,edx
4474	add	edx,DWORD [12+esp]
4475	add	ebx,ecx
4476	vpslld	xmm5,xmm5,11
4477	mov	ecx,edx
4478	shrd	edx,edx,14
4479	mov	esi,DWORD [16+esp]
4480	vpxor	xmm4,xmm4,xmm6
4481	xor	edx,ecx
4482	mov	edi,DWORD [20+esp]
4483	xor	esi,edi
4484	vpsrld	xmm6,xmm7,10
4485	shrd	edx,edx,5
4486	and	esi,ecx
4487	mov	DWORD [12+esp],ecx
4488	vpxor	xmm4,xmm4,xmm5
4489	xor	edx,ecx
4490	xor	edi,esi
4491	shrd	edx,edx,6
4492	vpsrlq	xmm5,xmm7,17
4493	mov	ecx,ebx
4494	add	edx,edi
4495	mov	edi,DWORD [esp]
4496	vpaddd	xmm0,xmm0,xmm4
4497	mov	esi,ebx
4498	shrd	ecx,ecx,9
4499	mov	DWORD [28+esp],ebx
4500	vpxor	xmm6,xmm6,xmm5
4501	xor	ecx,ebx
4502	xor	ebx,edi
4503	add	edx,DWORD [24+esp]
4504	vpsrlq	xmm7,xmm7,19
4505	shrd	ecx,ecx,11
4506	and	eax,ebx
4507	xor	ecx,esi
4508	vpxor	xmm6,xmm6,xmm7
4509	add	edx,DWORD [36+esp]
4510	xor	eax,edi
4511	shrd	ecx,ecx,2
4512	vpshufd	xmm7,xmm6,132
4513	add	eax,edx
4514	add	edx,DWORD [8+esp]
4515	add	eax,ecx
4516	vpsrldq	xmm7,xmm7,8
4517	mov	ecx,edx
4518	shrd	edx,edx,14
4519	mov	esi,DWORD [12+esp]
4520	vpaddd	xmm0,xmm0,xmm7
4521	xor	edx,ecx
4522	mov	edi,DWORD [16+esp]
4523	xor	esi,edi
4524	vpshufd	xmm7,xmm0,80
4525	shrd	edx,edx,5
4526	and	esi,ecx
4527	mov	DWORD [8+esp],ecx
4528	vpsrld	xmm6,xmm7,10
4529	xor	edx,ecx
4530	xor	edi,esi
4531	shrd	edx,edx,6
4532	vpsrlq	xmm5,xmm7,17
4533	mov	ecx,eax
4534	add	edx,edi
4535	mov	edi,DWORD [28+esp]
4536	vpxor	xmm6,xmm6,xmm5
4537	mov	esi,eax
4538	shrd	ecx,ecx,9
4539	mov	DWORD [24+esp],eax
4540	vpsrlq	xmm7,xmm7,19
4541	xor	ecx,eax
4542	xor	eax,edi
4543	add	edx,DWORD [20+esp]
4544	vpxor	xmm6,xmm6,xmm7
4545	shrd	ecx,ecx,11
4546	and	ebx,eax
4547	xor	ecx,esi
4548	vpshufd	xmm7,xmm6,232
4549	add	edx,DWORD [40+esp]
4550	xor	ebx,edi
4551	shrd	ecx,ecx,2
4552	vpslldq	xmm7,xmm7,8
4553	add	ebx,edx
4554	add	edx,DWORD [4+esp]
4555	add	ebx,ecx
4556	vpaddd	xmm0,xmm0,xmm7
4557	mov	ecx,edx
4558	shrd	edx,edx,14
4559	mov	esi,DWORD [8+esp]
4560	vpaddd	xmm6,xmm0,[ebp]
4561	xor	edx,ecx
4562	mov	edi,DWORD [12+esp]
4563	xor	esi,edi
4564	shrd	edx,edx,5
4565	and	esi,ecx
4566	mov	DWORD [4+esp],ecx
4567	xor	edx,ecx
4568	xor	edi,esi
4569	shrd	edx,edx,6
4570	mov	ecx,ebx
4571	add	edx,edi
4572	mov	edi,DWORD [24+esp]
4573	mov	esi,ebx
4574	shrd	ecx,ecx,9
4575	mov	DWORD [20+esp],ebx
4576	xor	ecx,ebx
4577	xor	ebx,edi
4578	add	edx,DWORD [16+esp]
4579	shrd	ecx,ecx,11
4580	and	eax,ebx
4581	xor	ecx,esi
4582	add	edx,DWORD [44+esp]
4583	xor	eax,edi
4584	shrd	ecx,ecx,2
4585	add	eax,edx
4586	add	edx,DWORD [esp]
4587	add	eax,ecx
4588	vmovdqa	[32+esp],xmm6
4589	vpalignr	xmm4,xmm2,xmm1,4
4590	mov	ecx,edx
4591	shrd	edx,edx,14
4592	mov	esi,DWORD [4+esp]
4593	vpalignr	xmm7,xmm0,xmm3,4
4594	xor	edx,ecx
4595	mov	edi,DWORD [8+esp]
4596	xor	esi,edi
4597	vpsrld	xmm6,xmm4,7
4598	shrd	edx,edx,5
4599	and	esi,ecx
4600	mov	DWORD [esp],ecx
4601	vpaddd	xmm1,xmm1,xmm7
4602	xor	edx,ecx
4603	xor	edi,esi
4604	shrd	edx,edx,6
4605	vpsrld	xmm7,xmm4,3
4606	mov	ecx,eax
4607	add	edx,edi
4608	mov	edi,DWORD [20+esp]
4609	vpslld	xmm5,xmm4,14
4610	mov	esi,eax
4611	shrd	ecx,ecx,9
4612	mov	DWORD [16+esp],eax
4613	vpxor	xmm4,xmm7,xmm6
4614	xor	ecx,eax
4615	xor	eax,edi
4616	add	edx,DWORD [12+esp]
4617	vpshufd	xmm7,xmm0,250
4618	shrd	ecx,ecx,11
4619	and	ebx,eax
4620	xor	ecx,esi
4621	vpsrld	xmm6,xmm6,11
4622	add	edx,DWORD [48+esp]
4623	xor	ebx,edi
4624	shrd	ecx,ecx,2
4625	vpxor	xmm4,xmm4,xmm5
4626	add	ebx,edx
4627	add	edx,DWORD [28+esp]
4628	add	ebx,ecx
4629	vpslld	xmm5,xmm5,11
4630	mov	ecx,edx
4631	shrd	edx,edx,14
4632	mov	esi,DWORD [esp]
4633	vpxor	xmm4,xmm4,xmm6
4634	xor	edx,ecx
4635	mov	edi,DWORD [4+esp]
4636	xor	esi,edi
4637	vpsrld	xmm6,xmm7,10
4638	shrd	edx,edx,5
4639	and	esi,ecx
4640	mov	DWORD [28+esp],ecx
4641	vpxor	xmm4,xmm4,xmm5
4642	xor	edx,ecx
4643	xor	edi,esi
4644	shrd	edx,edx,6
4645	vpsrlq	xmm5,xmm7,17
4646	mov	ecx,ebx
4647	add	edx,edi
4648	mov	edi,DWORD [16+esp]
4649	vpaddd	xmm1,xmm1,xmm4
4650	mov	esi,ebx
4651	shrd	ecx,ecx,9
4652	mov	DWORD [12+esp],ebx
4653	vpxor	xmm6,xmm6,xmm5
4654	xor	ecx,ebx
4655	xor	ebx,edi
4656	add	edx,DWORD [8+esp]
4657	vpsrlq	xmm7,xmm7,19
4658	shrd	ecx,ecx,11
4659	and	eax,ebx
4660	xor	ecx,esi
4661	vpxor	xmm6,xmm6,xmm7
4662	add	edx,DWORD [52+esp]
4663	xor	eax,edi
4664	shrd	ecx,ecx,2
4665	vpshufd	xmm7,xmm6,132
4666	add	eax,edx
4667	add	edx,DWORD [24+esp]
4668	add	eax,ecx
4669	vpsrldq	xmm7,xmm7,8
4670	mov	ecx,edx
4671	shrd	edx,edx,14
4672	mov	esi,DWORD [28+esp]
4673	vpaddd	xmm1,xmm1,xmm7
4674	xor	edx,ecx
4675	mov	edi,DWORD [esp]
4676	xor	esi,edi
4677	vpshufd	xmm7,xmm1,80
4678	shrd	edx,edx,5
4679	and	esi,ecx
4680	mov	DWORD [24+esp],ecx
4681	vpsrld	xmm6,xmm7,10
4682	xor	edx,ecx
4683	xor	edi,esi
4684	shrd	edx,edx,6
4685	vpsrlq	xmm5,xmm7,17
4686	mov	ecx,eax
4687	add	edx,edi
4688	mov	edi,DWORD [12+esp]
4689	vpxor	xmm6,xmm6,xmm5
4690	mov	esi,eax
4691	shrd	ecx,ecx,9
4692	mov	DWORD [8+esp],eax
4693	vpsrlq	xmm7,xmm7,19
4694	xor	ecx,eax
4695	xor	eax,edi
4696	add	edx,DWORD [4+esp]
4697	vpxor	xmm6,xmm6,xmm7
4698	shrd	ecx,ecx,11
4699	and	ebx,eax
4700	xor	ecx,esi
4701	vpshufd	xmm7,xmm6,232
4702	add	edx,DWORD [56+esp]
4703	xor	ebx,edi
4704	shrd	ecx,ecx,2
4705	vpslldq	xmm7,xmm7,8
4706	add	ebx,edx
4707	add	edx,DWORD [20+esp]
4708	add	ebx,ecx
4709	vpaddd	xmm1,xmm1,xmm7
4710	mov	ecx,edx
4711	shrd	edx,edx,14
4712	mov	esi,DWORD [24+esp]
4713	vpaddd	xmm6,xmm1,[16+ebp]
4714	xor	edx,ecx
4715	mov	edi,DWORD [28+esp]
4716	xor	esi,edi
4717	shrd	edx,edx,5
4718	and	esi,ecx
4719	mov	DWORD [20+esp],ecx
4720	xor	edx,ecx
4721	xor	edi,esi
4722	shrd	edx,edx,6
4723	mov	ecx,ebx
4724	add	edx,edi
4725	mov	edi,DWORD [8+esp]
4726	mov	esi,ebx
4727	shrd	ecx,ecx,9
4728	mov	DWORD [4+esp],ebx
4729	xor	ecx,ebx
4730	xor	ebx,edi
4731	add	edx,DWORD [esp]
4732	shrd	ecx,ecx,11
4733	and	eax,ebx
4734	xor	ecx,esi
4735	add	edx,DWORD [60+esp]
4736	xor	eax,edi
4737	shrd	ecx,ecx,2
4738	add	eax,edx
4739	add	edx,DWORD [16+esp]
4740	add	eax,ecx
4741	vmovdqa	[48+esp],xmm6
4742	vpalignr	xmm4,xmm3,xmm2,4
4743	mov	ecx,edx
4744	shrd	edx,edx,14
4745	mov	esi,DWORD [20+esp]
4746	vpalignr	xmm7,xmm1,xmm0,4
4747	xor	edx,ecx
4748	mov	edi,DWORD [24+esp]
4749	xor	esi,edi
4750	vpsrld	xmm6,xmm4,7
4751	shrd	edx,edx,5
4752	and	esi,ecx
4753	mov	DWORD [16+esp],ecx
4754	vpaddd	xmm2,xmm2,xmm7
4755	xor	edx,ecx
4756	xor	edi,esi
4757	shrd	edx,edx,6
4758	vpsrld	xmm7,xmm4,3
4759	mov	ecx,eax
4760	add	edx,edi
4761	mov	edi,DWORD [4+esp]
4762	vpslld	xmm5,xmm4,14
4763	mov	esi,eax
4764	shrd	ecx,ecx,9
4765	mov	DWORD [esp],eax
4766	vpxor	xmm4,xmm7,xmm6
4767	xor	ecx,eax
4768	xor	eax,edi
4769	add	edx,DWORD [28+esp]
4770	vpshufd	xmm7,xmm1,250
4771	shrd	ecx,ecx,11
4772	and	ebx,eax
4773	xor	ecx,esi
4774	vpsrld	xmm6,xmm6,11
4775	add	edx,DWORD [64+esp]
4776	xor	ebx,edi
4777	shrd	ecx,ecx,2
4778	vpxor	xmm4,xmm4,xmm5
4779	add	ebx,edx
4780	add	edx,DWORD [12+esp]
4781	add	ebx,ecx
4782	vpslld	xmm5,xmm5,11
4783	mov	ecx,edx
4784	shrd	edx,edx,14
4785	mov	esi,DWORD [16+esp]
4786	vpxor	xmm4,xmm4,xmm6
4787	xor	edx,ecx
4788	mov	edi,DWORD [20+esp]
4789	xor	esi,edi
4790	vpsrld	xmm6,xmm7,10
4791	shrd	edx,edx,5
4792	and	esi,ecx
4793	mov	DWORD [12+esp],ecx
4794	vpxor	xmm4,xmm4,xmm5
4795	xor	edx,ecx
4796	xor	edi,esi
4797	shrd	edx,edx,6
4798	vpsrlq	xmm5,xmm7,17
4799	mov	ecx,ebx
4800	add	edx,edi
4801	mov	edi,DWORD [esp]
4802	vpaddd	xmm2,xmm2,xmm4
4803	mov	esi,ebx
4804	shrd	ecx,ecx,9
4805	mov	DWORD [28+esp],ebx
4806	vpxor	xmm6,xmm6,xmm5
4807	xor	ecx,ebx
4808	xor	ebx,edi
4809	add	edx,DWORD [24+esp]
4810	vpsrlq	xmm7,xmm7,19
4811	shrd	ecx,ecx,11
4812	and	eax,ebx
4813	xor	ecx,esi
4814	vpxor	xmm6,xmm6,xmm7
4815	add	edx,DWORD [68+esp]
4816	xor	eax,edi
4817	shrd	ecx,ecx,2
4818	vpshufd	xmm7,xmm6,132
4819	add	eax,edx
4820	add	edx,DWORD [8+esp]
4821	add	eax,ecx
4822	vpsrldq	xmm7,xmm7,8
4823	mov	ecx,edx
4824	shrd	edx,edx,14
4825	mov	esi,DWORD [12+esp]
4826	vpaddd	xmm2,xmm2,xmm7
4827	xor	edx,ecx
4828	mov	edi,DWORD [16+esp]
4829	xor	esi,edi
4830	vpshufd	xmm7,xmm2,80
4831	shrd	edx,edx,5
4832	and	esi,ecx
4833	mov	DWORD [8+esp],ecx
4834	vpsrld	xmm6,xmm7,10
4835	xor	edx,ecx
4836	xor	edi,esi
4837	shrd	edx,edx,6
4838	vpsrlq	xmm5,xmm7,17
4839	mov	ecx,eax
4840	add	edx,edi
4841	mov	edi,DWORD [28+esp]
4842	vpxor	xmm6,xmm6,xmm5
4843	mov	esi,eax
4844	shrd	ecx,ecx,9
4845	mov	DWORD [24+esp],eax
4846	vpsrlq	xmm7,xmm7,19
4847	xor	ecx,eax
4848	xor	eax,edi
4849	add	edx,DWORD [20+esp]
4850	vpxor	xmm6,xmm6,xmm7
4851	shrd	ecx,ecx,11
4852	and	ebx,eax
4853	xor	ecx,esi
4854	vpshufd	xmm7,xmm6,232
4855	add	edx,DWORD [72+esp]
4856	xor	ebx,edi
4857	shrd	ecx,ecx,2
4858	vpslldq	xmm7,xmm7,8
4859	add	ebx,edx
4860	add	edx,DWORD [4+esp]
4861	add	ebx,ecx
4862	vpaddd	xmm2,xmm2,xmm7
4863	mov	ecx,edx
4864	shrd	edx,edx,14
4865	mov	esi,DWORD [8+esp]
4866	vpaddd	xmm6,xmm2,[32+ebp]
4867	xor	edx,ecx
4868	mov	edi,DWORD [12+esp]
4869	xor	esi,edi
4870	shrd	edx,edx,5
4871	and	esi,ecx
4872	mov	DWORD [4+esp],ecx
4873	xor	edx,ecx
4874	xor	edi,esi
4875	shrd	edx,edx,6
4876	mov	ecx,ebx
4877	add	edx,edi
4878	mov	edi,DWORD [24+esp]
4879	mov	esi,ebx
4880	shrd	ecx,ecx,9
4881	mov	DWORD [20+esp],ebx
4882	xor	ecx,ebx
4883	xor	ebx,edi
4884	add	edx,DWORD [16+esp]
4885	shrd	ecx,ecx,11
4886	and	eax,ebx
4887	xor	ecx,esi
4888	add	edx,DWORD [76+esp]
4889	xor	eax,edi
4890	shrd	ecx,ecx,2
4891	add	eax,edx
4892	add	edx,DWORD [esp]
4893	add	eax,ecx
4894	vmovdqa	[64+esp],xmm6
4895	vpalignr	xmm4,xmm0,xmm3,4
4896	mov	ecx,edx
4897	shrd	edx,edx,14
4898	mov	esi,DWORD [4+esp]
4899	vpalignr	xmm7,xmm2,xmm1,4
4900	xor	edx,ecx
4901	mov	edi,DWORD [8+esp]
4902	xor	esi,edi
4903	vpsrld	xmm6,xmm4,7
4904	shrd	edx,edx,5
4905	and	esi,ecx
4906	mov	DWORD [esp],ecx
4907	vpaddd	xmm3,xmm3,xmm7
4908	xor	edx,ecx
4909	xor	edi,esi
4910	shrd	edx,edx,6
4911	vpsrld	xmm7,xmm4,3
4912	mov	ecx,eax
4913	add	edx,edi
4914	mov	edi,DWORD [20+esp]
4915	vpslld	xmm5,xmm4,14
4916	mov	esi,eax
4917	shrd	ecx,ecx,9
4918	mov	DWORD [16+esp],eax
4919	vpxor	xmm4,xmm7,xmm6
4920	xor	ecx,eax
4921	xor	eax,edi
4922	add	edx,DWORD [12+esp]
4923	vpshufd	xmm7,xmm2,250
4924	shrd	ecx,ecx,11
4925	and	ebx,eax
4926	xor	ecx,esi
4927	vpsrld	xmm6,xmm6,11
4928	add	edx,DWORD [80+esp]
4929	xor	ebx,edi
4930	shrd	ecx,ecx,2
4931	vpxor	xmm4,xmm4,xmm5
4932	add	ebx,edx
4933	add	edx,DWORD [28+esp]
4934	add	ebx,ecx
4935	vpslld	xmm5,xmm5,11
4936	mov	ecx,edx
4937	shrd	edx,edx,14
4938	mov	esi,DWORD [esp]
4939	vpxor	xmm4,xmm4,xmm6
4940	xor	edx,ecx
4941	mov	edi,DWORD [4+esp]
4942	xor	esi,edi
4943	vpsrld	xmm6,xmm7,10
4944	shrd	edx,edx,5
4945	and	esi,ecx
4946	mov	DWORD [28+esp],ecx
4947	vpxor	xmm4,xmm4,xmm5
4948	xor	edx,ecx
4949	xor	edi,esi
4950	shrd	edx,edx,6
4951	vpsrlq	xmm5,xmm7,17
4952	mov	ecx,ebx
4953	add	edx,edi
4954	mov	edi,DWORD [16+esp]
4955	vpaddd	xmm3,xmm3,xmm4
4956	mov	esi,ebx
4957	shrd	ecx,ecx,9
4958	mov	DWORD [12+esp],ebx
4959	vpxor	xmm6,xmm6,xmm5
4960	xor	ecx,ebx
4961	xor	ebx,edi
4962	add	edx,DWORD [8+esp]
4963	vpsrlq	xmm7,xmm7,19
4964	shrd	ecx,ecx,11
4965	and	eax,ebx
4966	xor	ecx,esi
4967	vpxor	xmm6,xmm6,xmm7
4968	add	edx,DWORD [84+esp]
4969	xor	eax,edi
4970	shrd	ecx,ecx,2
4971	vpshufd	xmm7,xmm6,132
4972	add	eax,edx
4973	add	edx,DWORD [24+esp]
4974	add	eax,ecx
4975	vpsrldq	xmm7,xmm7,8
4976	mov	ecx,edx
4977	shrd	edx,edx,14
4978	mov	esi,DWORD [28+esp]
4979	vpaddd	xmm3,xmm3,xmm7
4980	xor	edx,ecx
4981	mov	edi,DWORD [esp]
4982	xor	esi,edi
4983	vpshufd	xmm7,xmm3,80
4984	shrd	edx,edx,5
4985	and	esi,ecx
4986	mov	DWORD [24+esp],ecx
4987	vpsrld	xmm6,xmm7,10
4988	xor	edx,ecx
4989	xor	edi,esi
4990	shrd	edx,edx,6
4991	vpsrlq	xmm5,xmm7,17
4992	mov	ecx,eax
4993	add	edx,edi
4994	mov	edi,DWORD [12+esp]
4995	vpxor	xmm6,xmm6,xmm5
4996	mov	esi,eax
4997	shrd	ecx,ecx,9
4998	mov	DWORD [8+esp],eax
4999	vpsrlq	xmm7,xmm7,19
5000	xor	ecx,eax
5001	xor	eax,edi
5002	add	edx,DWORD [4+esp]
5003	vpxor	xmm6,xmm6,xmm7
5004	shrd	ecx,ecx,11
5005	and	ebx,eax
5006	xor	ecx,esi
5007	vpshufd	xmm7,xmm6,232
5008	add	edx,DWORD [88+esp]
5009	xor	ebx,edi
5010	shrd	ecx,ecx,2
5011	vpslldq	xmm7,xmm7,8
5012	add	ebx,edx
5013	add	edx,DWORD [20+esp]
5014	add	ebx,ecx
5015	vpaddd	xmm3,xmm3,xmm7
5016	mov	ecx,edx
5017	shrd	edx,edx,14
5018	mov	esi,DWORD [24+esp]
5019	vpaddd	xmm6,xmm3,[48+ebp]
5020	xor	edx,ecx
5021	mov	edi,DWORD [28+esp]
5022	xor	esi,edi
5023	shrd	edx,edx,5
5024	and	esi,ecx
5025	mov	DWORD [20+esp],ecx
5026	xor	edx,ecx
5027	xor	edi,esi
5028	shrd	edx,edx,6
5029	mov	ecx,ebx
5030	add	edx,edi
5031	mov	edi,DWORD [8+esp]
5032	mov	esi,ebx
5033	shrd	ecx,ecx,9
5034	mov	DWORD [4+esp],ebx
5035	xor	ecx,ebx
5036	xor	ebx,edi
5037	add	edx,DWORD [esp]
5038	shrd	ecx,ecx,11
5039	and	eax,ebx
5040	xor	ecx,esi
5041	add	edx,DWORD [92+esp]
5042	xor	eax,edi
5043	shrd	ecx,ecx,2
5044	add	eax,edx
5045	add	edx,DWORD [16+esp]
5046	add	eax,ecx
5047	vmovdqa	[80+esp],xmm6
5048	cmp	DWORD [64+ebp],66051
5049	jne	NEAR L$013avx_00_47
5050	mov	ecx,edx
5051	shrd	edx,edx,14
5052	mov	esi,DWORD [20+esp]
5053	xor	edx,ecx
5054	mov	edi,DWORD [24+esp]
5055	xor	esi,edi
5056	shrd	edx,edx,5
5057	and	esi,ecx
5058	mov	DWORD [16+esp],ecx
5059	xor	edx,ecx
5060	xor	edi,esi
5061	shrd	edx,edx,6
5062	mov	ecx,eax
5063	add	edx,edi
5064	mov	edi,DWORD [4+esp]
5065	mov	esi,eax
5066	shrd	ecx,ecx,9
5067	mov	DWORD [esp],eax
5068	xor	ecx,eax
5069	xor	eax,edi
5070	add	edx,DWORD [28+esp]
5071	shrd	ecx,ecx,11
5072	and	ebx,eax
5073	xor	ecx,esi
5074	add	edx,DWORD [32+esp]
5075	xor	ebx,edi
5076	shrd	ecx,ecx,2
5077	add	ebx,edx
5078	add	edx,DWORD [12+esp]
5079	add	ebx,ecx
5080	mov	ecx,edx
5081	shrd	edx,edx,14
5082	mov	esi,DWORD [16+esp]
5083	xor	edx,ecx
5084	mov	edi,DWORD [20+esp]
5085	xor	esi,edi
5086	shrd	edx,edx,5
5087	and	esi,ecx
5088	mov	DWORD [12+esp],ecx
5089	xor	edx,ecx
5090	xor	edi,esi
5091	shrd	edx,edx,6
5092	mov	ecx,ebx
5093	add	edx,edi
5094	mov	edi,DWORD [esp]
5095	mov	esi,ebx
5096	shrd	ecx,ecx,9
5097	mov	DWORD [28+esp],ebx
5098	xor	ecx,ebx
5099	xor	ebx,edi
5100	add	edx,DWORD [24+esp]
5101	shrd	ecx,ecx,11
5102	and	eax,ebx
5103	xor	ecx,esi
5104	add	edx,DWORD [36+esp]
5105	xor	eax,edi
5106	shrd	ecx,ecx,2
5107	add	eax,edx
5108	add	edx,DWORD [8+esp]
5109	add	eax,ecx
5110	mov	ecx,edx
5111	shrd	edx,edx,14
5112	mov	esi,DWORD [12+esp]
5113	xor	edx,ecx
5114	mov	edi,DWORD [16+esp]
5115	xor	esi,edi
5116	shrd	edx,edx,5
5117	and	esi,ecx
5118	mov	DWORD [8+esp],ecx
5119	xor	edx,ecx
5120	xor	edi,esi
5121	shrd	edx,edx,6
5122	mov	ecx,eax
5123	add	edx,edi
5124	mov	edi,DWORD [28+esp]
5125	mov	esi,eax
5126	shrd	ecx,ecx,9
5127	mov	DWORD [24+esp],eax
5128	xor	ecx,eax
5129	xor	eax,edi
5130	add	edx,DWORD [20+esp]
5131	shrd	ecx,ecx,11
5132	and	ebx,eax
5133	xor	ecx,esi
5134	add	edx,DWORD [40+esp]
5135	xor	ebx,edi
5136	shrd	ecx,ecx,2
5137	add	ebx,edx
5138	add	edx,DWORD [4+esp]
5139	add	ebx,ecx
5140	mov	ecx,edx
5141	shrd	edx,edx,14
5142	mov	esi,DWORD [8+esp]
5143	xor	edx,ecx
5144	mov	edi,DWORD [12+esp]
5145	xor	esi,edi
5146	shrd	edx,edx,5
5147	and	esi,ecx
5148	mov	DWORD [4+esp],ecx
5149	xor	edx,ecx
5150	xor	edi,esi
5151	shrd	edx,edx,6
5152	mov	ecx,ebx
5153	add	edx,edi
5154	mov	edi,DWORD [24+esp]
5155	mov	esi,ebx
5156	shrd	ecx,ecx,9
5157	mov	DWORD [20+esp],ebx
5158	xor	ecx,ebx
5159	xor	ebx,edi
5160	add	edx,DWORD [16+esp]
5161	shrd	ecx,ecx,11
5162	and	eax,ebx
5163	xor	ecx,esi
5164	add	edx,DWORD [44+esp]
5165	xor	eax,edi
5166	shrd	ecx,ecx,2
5167	add	eax,edx
5168	add	edx,DWORD [esp]
5169	add	eax,ecx
5170	mov	ecx,edx
5171	shrd	edx,edx,14
5172	mov	esi,DWORD [4+esp]
5173	xor	edx,ecx
5174	mov	edi,DWORD [8+esp]
5175	xor	esi,edi
5176	shrd	edx,edx,5
5177	and	esi,ecx
5178	mov	DWORD [esp],ecx
5179	xor	edx,ecx
5180	xor	edi,esi
5181	shrd	edx,edx,6
5182	mov	ecx,eax
5183	add	edx,edi
5184	mov	edi,DWORD [20+esp]
5185	mov	esi,eax
5186	shrd	ecx,ecx,9
5187	mov	DWORD [16+esp],eax
5188	xor	ecx,eax
5189	xor	eax,edi
5190	add	edx,DWORD [12+esp]
5191	shrd	ecx,ecx,11
5192	and	ebx,eax
5193	xor	ecx,esi
5194	add	edx,DWORD [48+esp]
5195	xor	ebx,edi
5196	shrd	ecx,ecx,2
5197	add	ebx,edx
5198	add	edx,DWORD [28+esp]
5199	add	ebx,ecx
5200	mov	ecx,edx
5201	shrd	edx,edx,14
5202	mov	esi,DWORD [esp]
5203	xor	edx,ecx
5204	mov	edi,DWORD [4+esp]
5205	xor	esi,edi
5206	shrd	edx,edx,5
5207	and	esi,ecx
5208	mov	DWORD [28+esp],ecx
5209	xor	edx,ecx
5210	xor	edi,esi
5211	shrd	edx,edx,6
5212	mov	ecx,ebx
5213	add	edx,edi
5214	mov	edi,DWORD [16+esp]
5215	mov	esi,ebx
5216	shrd	ecx,ecx,9
5217	mov	DWORD [12+esp],ebx
5218	xor	ecx,ebx
5219	xor	ebx,edi
5220	add	edx,DWORD [8+esp]
5221	shrd	ecx,ecx,11
5222	and	eax,ebx
5223	xor	ecx,esi
5224	add	edx,DWORD [52+esp]
5225	xor	eax,edi
5226	shrd	ecx,ecx,2
5227	add	eax,edx
5228	add	edx,DWORD [24+esp]
5229	add	eax,ecx
5230	mov	ecx,edx
5231	shrd	edx,edx,14
5232	mov	esi,DWORD [28+esp]
5233	xor	edx,ecx
5234	mov	edi,DWORD [esp]
5235	xor	esi,edi
5236	shrd	edx,edx,5
5237	and	esi,ecx
5238	mov	DWORD [24+esp],ecx
5239	xor	edx,ecx
5240	xor	edi,esi
5241	shrd	edx,edx,6
5242	mov	ecx,eax
5243	add	edx,edi
5244	mov	edi,DWORD [12+esp]
5245	mov	esi,eax
5246	shrd	ecx,ecx,9
5247	mov	DWORD [8+esp],eax
5248	xor	ecx,eax
5249	xor	eax,edi
5250	add	edx,DWORD [4+esp]
5251	shrd	ecx,ecx,11
5252	and	ebx,eax
5253	xor	ecx,esi
5254	add	edx,DWORD [56+esp]
5255	xor	ebx,edi
5256	shrd	ecx,ecx,2
5257	add	ebx,edx
5258	add	edx,DWORD [20+esp]
5259	add	ebx,ecx
5260	mov	ecx,edx
5261	shrd	edx,edx,14
5262	mov	esi,DWORD [24+esp]
5263	xor	edx,ecx
5264	mov	edi,DWORD [28+esp]
5265	xor	esi,edi
5266	shrd	edx,edx,5
5267	and	esi,ecx
5268	mov	DWORD [20+esp],ecx
5269	xor	edx,ecx
5270	xor	edi,esi
5271	shrd	edx,edx,6
5272	mov	ecx,ebx
5273	add	edx,edi
5274	mov	edi,DWORD [8+esp]
5275	mov	esi,ebx
5276	shrd	ecx,ecx,9
5277	mov	DWORD [4+esp],ebx
5278	xor	ecx,ebx
5279	xor	ebx,edi
5280	add	edx,DWORD [esp]
5281	shrd	ecx,ecx,11
5282	and	eax,ebx
5283	xor	ecx,esi
5284	add	edx,DWORD [60+esp]
5285	xor	eax,edi
5286	shrd	ecx,ecx,2
5287	add	eax,edx
5288	add	edx,DWORD [16+esp]
5289	add	eax,ecx
5290	mov	ecx,edx
5291	shrd	edx,edx,14
5292	mov	esi,DWORD [20+esp]
5293	xor	edx,ecx
5294	mov	edi,DWORD [24+esp]
5295	xor	esi,edi
5296	shrd	edx,edx,5
5297	and	esi,ecx
5298	mov	DWORD [16+esp],ecx
5299	xor	edx,ecx
5300	xor	edi,esi
5301	shrd	edx,edx,6
5302	mov	ecx,eax
5303	add	edx,edi
5304	mov	edi,DWORD [4+esp]
5305	mov	esi,eax
5306	shrd	ecx,ecx,9
5307	mov	DWORD [esp],eax
5308	xor	ecx,eax
5309	xor	eax,edi
5310	add	edx,DWORD [28+esp]
5311	shrd	ecx,ecx,11
5312	and	ebx,eax
5313	xor	ecx,esi
5314	add	edx,DWORD [64+esp]
5315	xor	ebx,edi
5316	shrd	ecx,ecx,2
5317	add	ebx,edx
5318	add	edx,DWORD [12+esp]
5319	add	ebx,ecx
5320	mov	ecx,edx
5321	shrd	edx,edx,14
5322	mov	esi,DWORD [16+esp]
5323	xor	edx,ecx
5324	mov	edi,DWORD [20+esp]
5325	xor	esi,edi
5326	shrd	edx,edx,5
5327	and	esi,ecx
5328	mov	DWORD [12+esp],ecx
5329	xor	edx,ecx
5330	xor	edi,esi
5331	shrd	edx,edx,6
5332	mov	ecx,ebx
5333	add	edx,edi
5334	mov	edi,DWORD [esp]
5335	mov	esi,ebx
5336	shrd	ecx,ecx,9
5337	mov	DWORD [28+esp],ebx
5338	xor	ecx,ebx
5339	xor	ebx,edi
5340	add	edx,DWORD [24+esp]
5341	shrd	ecx,ecx,11
5342	and	eax,ebx
5343	xor	ecx,esi
5344	add	edx,DWORD [68+esp]
5345	xor	eax,edi
5346	shrd	ecx,ecx,2
5347	add	eax,edx
5348	add	edx,DWORD [8+esp]
5349	add	eax,ecx
5350	mov	ecx,edx
5351	shrd	edx,edx,14
5352	mov	esi,DWORD [12+esp]
5353	xor	edx,ecx
5354	mov	edi,DWORD [16+esp]
5355	xor	esi,edi
5356	shrd	edx,edx,5
5357	and	esi,ecx
5358	mov	DWORD [8+esp],ecx
5359	xor	edx,ecx
5360	xor	edi,esi
5361	shrd	edx,edx,6
5362	mov	ecx,eax
5363	add	edx,edi
5364	mov	edi,DWORD [28+esp]
5365	mov	esi,eax
5366	shrd	ecx,ecx,9
5367	mov	DWORD [24+esp],eax
5368	xor	ecx,eax
5369	xor	eax,edi
5370	add	edx,DWORD [20+esp]
5371	shrd	ecx,ecx,11
5372	and	ebx,eax
5373	xor	ecx,esi
5374	add	edx,DWORD [72+esp]
5375	xor	ebx,edi
5376	shrd	ecx,ecx,2
5377	add	ebx,edx
5378	add	edx,DWORD [4+esp]
5379	add	ebx,ecx
5380	mov	ecx,edx
5381	shrd	edx,edx,14
5382	mov	esi,DWORD [8+esp]
5383	xor	edx,ecx
5384	mov	edi,DWORD [12+esp]
5385	xor	esi,edi
5386	shrd	edx,edx,5
5387	and	esi,ecx
5388	mov	DWORD [4+esp],ecx
5389	xor	edx,ecx
5390	xor	edi,esi
5391	shrd	edx,edx,6
5392	mov	ecx,ebx
5393	add	edx,edi
5394	mov	edi,DWORD [24+esp]
5395	mov	esi,ebx
5396	shrd	ecx,ecx,9
5397	mov	DWORD [20+esp],ebx
5398	xor	ecx,ebx
5399	xor	ebx,edi
5400	add	edx,DWORD [16+esp]
5401	shrd	ecx,ecx,11
5402	and	eax,ebx
5403	xor	ecx,esi
5404	add	edx,DWORD [76+esp]
5405	xor	eax,edi
5406	shrd	ecx,ecx,2
5407	add	eax,edx
5408	add	edx,DWORD [esp]
5409	add	eax,ecx
5410	mov	ecx,edx
5411	shrd	edx,edx,14
5412	mov	esi,DWORD [4+esp]
5413	xor	edx,ecx
5414	mov	edi,DWORD [8+esp]
5415	xor	esi,edi
5416	shrd	edx,edx,5
5417	and	esi,ecx
5418	mov	DWORD [esp],ecx
5419	xor	edx,ecx
5420	xor	edi,esi
5421	shrd	edx,edx,6
5422	mov	ecx,eax
5423	add	edx,edi
5424	mov	edi,DWORD [20+esp]
5425	mov	esi,eax
5426	shrd	ecx,ecx,9
5427	mov	DWORD [16+esp],eax
5428	xor	ecx,eax
5429	xor	eax,edi
5430	add	edx,DWORD [12+esp]
5431	shrd	ecx,ecx,11
5432	and	ebx,eax
5433	xor	ecx,esi
5434	add	edx,DWORD [80+esp]
5435	xor	ebx,edi
5436	shrd	ecx,ecx,2
5437	add	ebx,edx
5438	add	edx,DWORD [28+esp]
5439	add	ebx,ecx
5440	mov	ecx,edx
5441	shrd	edx,edx,14
5442	mov	esi,DWORD [esp]
5443	xor	edx,ecx
5444	mov	edi,DWORD [4+esp]
5445	xor	esi,edi
5446	shrd	edx,edx,5
5447	and	esi,ecx
5448	mov	DWORD [28+esp],ecx
5449	xor	edx,ecx
5450	xor	edi,esi
5451	shrd	edx,edx,6
5452	mov	ecx,ebx
5453	add	edx,edi
5454	mov	edi,DWORD [16+esp]
5455	mov	esi,ebx
5456	shrd	ecx,ecx,9
5457	mov	DWORD [12+esp],ebx
5458	xor	ecx,ebx
5459	xor	ebx,edi
5460	add	edx,DWORD [8+esp]
5461	shrd	ecx,ecx,11
5462	and	eax,ebx
5463	xor	ecx,esi
5464	add	edx,DWORD [84+esp]
5465	xor	eax,edi
5466	shrd	ecx,ecx,2
5467	add	eax,edx
5468	add	edx,DWORD [24+esp]
5469	add	eax,ecx
5470	mov	ecx,edx
5471	shrd	edx,edx,14
5472	mov	esi,DWORD [28+esp]
5473	xor	edx,ecx
5474	mov	edi,DWORD [esp]
5475	xor	esi,edi
5476	shrd	edx,edx,5
5477	and	esi,ecx
5478	mov	DWORD [24+esp],ecx
5479	xor	edx,ecx
5480	xor	edi,esi
5481	shrd	edx,edx,6
5482	mov	ecx,eax
5483	add	edx,edi
5484	mov	edi,DWORD [12+esp]
5485	mov	esi,eax
5486	shrd	ecx,ecx,9
5487	mov	DWORD [8+esp],eax
5488	xor	ecx,eax
5489	xor	eax,edi
5490	add	edx,DWORD [4+esp]
5491	shrd	ecx,ecx,11
5492	and	ebx,eax
5493	xor	ecx,esi
5494	add	edx,DWORD [88+esp]
5495	xor	ebx,edi
5496	shrd	ecx,ecx,2
5497	add	ebx,edx
5498	add	edx,DWORD [20+esp]
5499	add	ebx,ecx
5500	mov	ecx,edx
5501	shrd	edx,edx,14
5502	mov	esi,DWORD [24+esp]
5503	xor	edx,ecx
5504	mov	edi,DWORD [28+esp]
5505	xor	esi,edi
5506	shrd	edx,edx,5
5507	and	esi,ecx
5508	mov	DWORD [20+esp],ecx
5509	xor	edx,ecx
5510	xor	edi,esi
5511	shrd	edx,edx,6
5512	mov	ecx,ebx
5513	add	edx,edi
5514	mov	edi,DWORD [8+esp]
5515	mov	esi,ebx
5516	shrd	ecx,ecx,9
5517	mov	DWORD [4+esp],ebx
5518	xor	ecx,ebx
5519	xor	ebx,edi
5520	add	edx,DWORD [esp]
5521	shrd	ecx,ecx,11
5522	and	eax,ebx
5523	xor	ecx,esi
5524	add	edx,DWORD [92+esp]
5525	xor	eax,edi
5526	shrd	ecx,ecx,2
5527	add	eax,edx
5528	add	edx,DWORD [16+esp]
5529	add	eax,ecx
5530	mov	esi,DWORD [96+esp]
5531	xor	ebx,edi
5532	mov	ecx,DWORD [12+esp]
5533	add	eax,DWORD [esi]
5534	add	ebx,DWORD [4+esi]
5535	add	edi,DWORD [8+esi]
5536	add	ecx,DWORD [12+esi]
5537	mov	DWORD [esi],eax
5538	mov	DWORD [4+esi],ebx
5539	mov	DWORD [8+esi],edi
5540	mov	DWORD [12+esi],ecx
5541	mov	DWORD [4+esp],ebx
5542	xor	ebx,edi
5543	mov	DWORD [8+esp],edi
5544	mov	DWORD [12+esp],ecx
5545	mov	edi,DWORD [20+esp]
5546	mov	ecx,DWORD [24+esp]
5547	add	edx,DWORD [16+esi]
5548	add	edi,DWORD [20+esi]
5549	add	ecx,DWORD [24+esi]
5550	mov	DWORD [16+esi],edx
5551	mov	DWORD [20+esi],edi
5552	mov	DWORD [20+esp],edi
5553	mov	edi,DWORD [28+esp]
5554	mov	DWORD [24+esi],ecx
5555	add	edi,DWORD [28+esi]
5556	mov	DWORD [24+esp],ecx
5557	mov	DWORD [28+esi],edi
5558	mov	DWORD [28+esp],edi
5559	mov	edi,DWORD [100+esp]
5560	vmovdqa	xmm7,[64+ebp]
5561	sub	ebp,192
5562	cmp	edi,DWORD [104+esp]
5563	jb	NEAR L$012grand_avx
5564	mov	esp,DWORD [108+esp]
5565	vzeroall
5566	pop	edi
5567	pop	esi
5568	pop	ebx
5569	pop	ebp
5570	ret
5571segment	.bss
5572common	_OPENSSL_ia32cap_P 16
5573%else
5574; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
5575ret
5576%endif
5577