172c33676SMaxim Ag#include "x86_arch.h"
272c33676SMaxim Ag.text
372c33676SMaxim Ag
472c33676SMaxim Ag.hidden	OPENSSL_ia32cap_P
572c33676SMaxim Ag
672c33676SMaxim Ag.globl	sha1_block_data_order
772c33676SMaxim Ag.type	sha1_block_data_order,@function
872c33676SMaxim Ag.align	16
972c33676SMaxim Agsha1_block_data_order:
1072c33676SMaxim Ag	movl	OPENSSL_ia32cap_P+0(%rip),%r9d
1172c33676SMaxim Ag	movl	OPENSSL_ia32cap_P+4(%rip),%r8d
1272c33676SMaxim Ag	testl	$IA32CAP_MASK1_SSSE3,%r8d
1372c33676SMaxim Ag	jz	.Lialu
1472c33676SMaxim Ag	jmp	_ssse3_shortcut
1572c33676SMaxim Ag
1672c33676SMaxim Ag.align	16
1772c33676SMaxim Ag.Lialu:
1872c33676SMaxim Ag	pushq	%rbx
1972c33676SMaxim Ag	pushq	%rbp
2072c33676SMaxim Ag	pushq	%r12
2172c33676SMaxim Ag	pushq	%r13
2272c33676SMaxim Ag	movq	%rsp,%r11
2372c33676SMaxim Ag	movq	%rdi,%r8
2472c33676SMaxim Ag	subq	$72,%rsp
2572c33676SMaxim Ag	movq	%rsi,%r9
2672c33676SMaxim Ag	andq	$-64,%rsp
2772c33676SMaxim Ag	movq	%rdx,%r10
2872c33676SMaxim Ag	movq	%r11,64(%rsp)
2972c33676SMaxim Ag.Lprologue:
3072c33676SMaxim Ag
3172c33676SMaxim Ag	movl	0(%r8),%esi
3272c33676SMaxim Ag	movl	4(%r8),%edi
3372c33676SMaxim Ag	movl	8(%r8),%r11d
3472c33676SMaxim Ag	movl	12(%r8),%r12d
3572c33676SMaxim Ag	movl	16(%r8),%r13d
3672c33676SMaxim Ag	jmp	.Lloop
3772c33676SMaxim Ag
3872c33676SMaxim Ag.align	16
3972c33676SMaxim Ag.Lloop:
4072c33676SMaxim Ag	movl	0(%r9),%edx
4172c33676SMaxim Ag	bswapl	%edx
4272c33676SMaxim Ag	movl	%edx,0(%rsp)
4372c33676SMaxim Ag	movl	%r11d,%eax
4472c33676SMaxim Ag	movl	4(%r9),%ebp
4572c33676SMaxim Ag	movl	%esi,%ecx
4672c33676SMaxim Ag	xorl	%r12d,%eax
4772c33676SMaxim Ag	bswapl	%ebp
4872c33676SMaxim Ag	roll	$5,%ecx
4972c33676SMaxim Ag	leal	1518500249(%rdx,%r13,1),%r13d
5072c33676SMaxim Ag	andl	%edi,%eax
5172c33676SMaxim Ag	movl	%ebp,4(%rsp)
5272c33676SMaxim Ag	addl	%ecx,%r13d
5372c33676SMaxim Ag	xorl	%r12d,%eax
5472c33676SMaxim Ag	roll	$30,%edi
5572c33676SMaxim Ag	addl	%eax,%r13d
5672c33676SMaxim Ag	movl	%edi,%eax
5772c33676SMaxim Ag	movl	8(%r9),%edx
5872c33676SMaxim Ag	movl	%r13d,%ecx
5972c33676SMaxim Ag	xorl	%r11d,%eax
6072c33676SMaxim Ag	bswapl	%edx
6172c33676SMaxim Ag	roll	$5,%ecx
6272c33676SMaxim Ag	leal	1518500249(%rbp,%r12,1),%r12d
6372c33676SMaxim Ag	andl	%esi,%eax
6472c33676SMaxim Ag	movl	%edx,8(%rsp)
6572c33676SMaxim Ag	addl	%ecx,%r12d
6672c33676SMaxim Ag	xorl	%r11d,%eax
6772c33676SMaxim Ag	roll	$30,%esi
6872c33676SMaxim Ag	addl	%eax,%r12d
6972c33676SMaxim Ag	movl	%esi,%eax
7072c33676SMaxim Ag	movl	12(%r9),%ebp
7172c33676SMaxim Ag	movl	%r12d,%ecx
7272c33676SMaxim Ag	xorl	%edi,%eax
7372c33676SMaxim Ag	bswapl	%ebp
7472c33676SMaxim Ag	roll	$5,%ecx
7572c33676SMaxim Ag	leal	1518500249(%rdx,%r11,1),%r11d
7672c33676SMaxim Ag	andl	%r13d,%eax
7772c33676SMaxim Ag	movl	%ebp,12(%rsp)
7872c33676SMaxim Ag	addl	%ecx,%r11d
7972c33676SMaxim Ag	xorl	%edi,%eax
8072c33676SMaxim Ag	roll	$30,%r13d
8172c33676SMaxim Ag	addl	%eax,%r11d
8272c33676SMaxim Ag	movl	%r13d,%eax
8372c33676SMaxim Ag	movl	16(%r9),%edx
8472c33676SMaxim Ag	movl	%r11d,%ecx
8572c33676SMaxim Ag	xorl	%esi,%eax
8672c33676SMaxim Ag	bswapl	%edx
8772c33676SMaxim Ag	roll	$5,%ecx
8872c33676SMaxim Ag	leal	1518500249(%rbp,%rdi,1),%edi
8972c33676SMaxim Ag	andl	%r12d,%eax
9072c33676SMaxim Ag	movl	%edx,16(%rsp)
9172c33676SMaxim Ag	addl	%ecx,%edi
9272c33676SMaxim Ag	xorl	%esi,%eax
9372c33676SMaxim Ag	roll	$30,%r12d
9472c33676SMaxim Ag	addl	%eax,%edi
9572c33676SMaxim Ag	movl	%r12d,%eax
9672c33676SMaxim Ag	movl	20(%r9),%ebp
9772c33676SMaxim Ag	movl	%edi,%ecx
9872c33676SMaxim Ag	xorl	%r13d,%eax
9972c33676SMaxim Ag	bswapl	%ebp
10072c33676SMaxim Ag	roll	$5,%ecx
10172c33676SMaxim Ag	leal	1518500249(%rdx,%rsi,1),%esi
10272c33676SMaxim Ag	andl	%r11d,%eax
10372c33676SMaxim Ag	movl	%ebp,20(%rsp)
10472c33676SMaxim Ag	addl	%ecx,%esi
10572c33676SMaxim Ag	xorl	%r13d,%eax
10672c33676SMaxim Ag	roll	$30,%r11d
10772c33676SMaxim Ag	addl	%eax,%esi
10872c33676SMaxim Ag	movl	%r11d,%eax
10972c33676SMaxim Ag	movl	24(%r9),%edx
11072c33676SMaxim Ag	movl	%esi,%ecx
11172c33676SMaxim Ag	xorl	%r12d,%eax
11272c33676SMaxim Ag	bswapl	%edx
11372c33676SMaxim Ag	roll	$5,%ecx
11472c33676SMaxim Ag	leal	1518500249(%rbp,%r13,1),%r13d
11572c33676SMaxim Ag	andl	%edi,%eax
11672c33676SMaxim Ag	movl	%edx,24(%rsp)
11772c33676SMaxim Ag	addl	%ecx,%r13d
11872c33676SMaxim Ag	xorl	%r12d,%eax
11972c33676SMaxim Ag	roll	$30,%edi
12072c33676SMaxim Ag	addl	%eax,%r13d
12172c33676SMaxim Ag	movl	%edi,%eax
12272c33676SMaxim Ag	movl	28(%r9),%ebp
12372c33676SMaxim Ag	movl	%r13d,%ecx
12472c33676SMaxim Ag	xorl	%r11d,%eax
12572c33676SMaxim Ag	bswapl	%ebp
12672c33676SMaxim Ag	roll	$5,%ecx
12772c33676SMaxim Ag	leal	1518500249(%rdx,%r12,1),%r12d
12872c33676SMaxim Ag	andl	%esi,%eax
12972c33676SMaxim Ag	movl	%ebp,28(%rsp)
13072c33676SMaxim Ag	addl	%ecx,%r12d
13172c33676SMaxim Ag	xorl	%r11d,%eax
13272c33676SMaxim Ag	roll	$30,%esi
13372c33676SMaxim Ag	addl	%eax,%r12d
13472c33676SMaxim Ag	movl	%esi,%eax
13572c33676SMaxim Ag	movl	32(%r9),%edx
13672c33676SMaxim Ag	movl	%r12d,%ecx
13772c33676SMaxim Ag	xorl	%edi,%eax
13872c33676SMaxim Ag	bswapl	%edx
13972c33676SMaxim Ag	roll	$5,%ecx
14072c33676SMaxim Ag	leal	1518500249(%rbp,%r11,1),%r11d
14172c33676SMaxim Ag	andl	%r13d,%eax
14272c33676SMaxim Ag	movl	%edx,32(%rsp)
14372c33676SMaxim Ag	addl	%ecx,%r11d
14472c33676SMaxim Ag	xorl	%edi,%eax
14572c33676SMaxim Ag	roll	$30,%r13d
14672c33676SMaxim Ag	addl	%eax,%r11d
14772c33676SMaxim Ag	movl	%r13d,%eax
14872c33676SMaxim Ag	movl	36(%r9),%ebp
14972c33676SMaxim Ag	movl	%r11d,%ecx
15072c33676SMaxim Ag	xorl	%esi,%eax
15172c33676SMaxim Ag	bswapl	%ebp
15272c33676SMaxim Ag	roll	$5,%ecx
15372c33676SMaxim Ag	leal	1518500249(%rdx,%rdi,1),%edi
15472c33676SMaxim Ag	andl	%r12d,%eax
15572c33676SMaxim Ag	movl	%ebp,36(%rsp)
15672c33676SMaxim Ag	addl	%ecx,%edi
15772c33676SMaxim Ag	xorl	%esi,%eax
15872c33676SMaxim Ag	roll	$30,%r12d
15972c33676SMaxim Ag	addl	%eax,%edi
16072c33676SMaxim Ag	movl	%r12d,%eax
16172c33676SMaxim Ag	movl	40(%r9),%edx
16272c33676SMaxim Ag	movl	%edi,%ecx
16372c33676SMaxim Ag	xorl	%r13d,%eax
16472c33676SMaxim Ag	bswapl	%edx
16572c33676SMaxim Ag	roll	$5,%ecx
16672c33676SMaxim Ag	leal	1518500249(%rbp,%rsi,1),%esi
16772c33676SMaxim Ag	andl	%r11d,%eax
16872c33676SMaxim Ag	movl	%edx,40(%rsp)
16972c33676SMaxim Ag	addl	%ecx,%esi
17072c33676SMaxim Ag	xorl	%r13d,%eax
17172c33676SMaxim Ag	roll	$30,%r11d
17272c33676SMaxim Ag	addl	%eax,%esi
17372c33676SMaxim Ag	movl	%r11d,%eax
17472c33676SMaxim Ag	movl	44(%r9),%ebp
17572c33676SMaxim Ag	movl	%esi,%ecx
17672c33676SMaxim Ag	xorl	%r12d,%eax
17772c33676SMaxim Ag	bswapl	%ebp
17872c33676SMaxim Ag	roll	$5,%ecx
17972c33676SMaxim Ag	leal	1518500249(%rdx,%r13,1),%r13d
18072c33676SMaxim Ag	andl	%edi,%eax
18172c33676SMaxim Ag	movl	%ebp,44(%rsp)
18272c33676SMaxim Ag	addl	%ecx,%r13d
18372c33676SMaxim Ag	xorl	%r12d,%eax
18472c33676SMaxim Ag	roll	$30,%edi
18572c33676SMaxim Ag	addl	%eax,%r13d
18672c33676SMaxim Ag	movl	%edi,%eax
18772c33676SMaxim Ag	movl	48(%r9),%edx
18872c33676SMaxim Ag	movl	%r13d,%ecx
18972c33676SMaxim Ag	xorl	%r11d,%eax
19072c33676SMaxim Ag	bswapl	%edx
19172c33676SMaxim Ag	roll	$5,%ecx
19272c33676SMaxim Ag	leal	1518500249(%rbp,%r12,1),%r12d
19372c33676SMaxim Ag	andl	%esi,%eax
19472c33676SMaxim Ag	movl	%edx,48(%rsp)
19572c33676SMaxim Ag	addl	%ecx,%r12d
19672c33676SMaxim Ag	xorl	%r11d,%eax
19772c33676SMaxim Ag	roll	$30,%esi
19872c33676SMaxim Ag	addl	%eax,%r12d
19972c33676SMaxim Ag	movl	%esi,%eax
20072c33676SMaxim Ag	movl	52(%r9),%ebp
20172c33676SMaxim Ag	movl	%r12d,%ecx
20272c33676SMaxim Ag	xorl	%edi,%eax
20372c33676SMaxim Ag	bswapl	%ebp
20472c33676SMaxim Ag	roll	$5,%ecx
20572c33676SMaxim Ag	leal	1518500249(%rdx,%r11,1),%r11d
20672c33676SMaxim Ag	andl	%r13d,%eax
20772c33676SMaxim Ag	movl	%ebp,52(%rsp)
20872c33676SMaxim Ag	addl	%ecx,%r11d
20972c33676SMaxim Ag	xorl	%edi,%eax
21072c33676SMaxim Ag	roll	$30,%r13d
21172c33676SMaxim Ag	addl	%eax,%r11d
21272c33676SMaxim Ag	movl	%r13d,%eax
21372c33676SMaxim Ag	movl	56(%r9),%edx
21472c33676SMaxim Ag	movl	%r11d,%ecx
21572c33676SMaxim Ag	xorl	%esi,%eax
21672c33676SMaxim Ag	bswapl	%edx
21772c33676SMaxim Ag	roll	$5,%ecx
21872c33676SMaxim Ag	leal	1518500249(%rbp,%rdi,1),%edi
21972c33676SMaxim Ag	andl	%r12d,%eax
22072c33676SMaxim Ag	movl	%edx,56(%rsp)
22172c33676SMaxim Ag	addl	%ecx,%edi
22272c33676SMaxim Ag	xorl	%esi,%eax
22372c33676SMaxim Ag	roll	$30,%r12d
22472c33676SMaxim Ag	addl	%eax,%edi
22572c33676SMaxim Ag	movl	%r12d,%eax
22672c33676SMaxim Ag	movl	60(%r9),%ebp
22772c33676SMaxim Ag	movl	%edi,%ecx
22872c33676SMaxim Ag	xorl	%r13d,%eax
22972c33676SMaxim Ag	bswapl	%ebp
23072c33676SMaxim Ag	roll	$5,%ecx
23172c33676SMaxim Ag	leal	1518500249(%rdx,%rsi,1),%esi
23272c33676SMaxim Ag	andl	%r11d,%eax
23372c33676SMaxim Ag	movl	%ebp,60(%rsp)
23472c33676SMaxim Ag	addl	%ecx,%esi
23572c33676SMaxim Ag	xorl	%r13d,%eax
23672c33676SMaxim Ag	roll	$30,%r11d
23772c33676SMaxim Ag	addl	%eax,%esi
23872c33676SMaxim Ag	movl	0(%rsp),%edx
23972c33676SMaxim Ag	movl	%r11d,%eax
24072c33676SMaxim Ag	movl	%esi,%ecx
24172c33676SMaxim Ag	xorl	8(%rsp),%edx
24272c33676SMaxim Ag	xorl	%r12d,%eax
24372c33676SMaxim Ag	roll	$5,%ecx
24472c33676SMaxim Ag	xorl	32(%rsp),%edx
24572c33676SMaxim Ag	andl	%edi,%eax
24672c33676SMaxim Ag	leal	1518500249(%rbp,%r13,1),%r13d
24772c33676SMaxim Ag	xorl	52(%rsp),%edx
24872c33676SMaxim Ag	xorl	%r12d,%eax
24972c33676SMaxim Ag	roll	$1,%edx
25072c33676SMaxim Ag	addl	%ecx,%r13d
25172c33676SMaxim Ag	roll	$30,%edi
25272c33676SMaxim Ag	movl	%edx,0(%rsp)
25372c33676SMaxim Ag	addl	%eax,%r13d
25472c33676SMaxim Ag	movl	4(%rsp),%ebp
25572c33676SMaxim Ag	movl	%edi,%eax
25672c33676SMaxim Ag	movl	%r13d,%ecx
25772c33676SMaxim Ag	xorl	12(%rsp),%ebp
25872c33676SMaxim Ag	xorl	%r11d,%eax
25972c33676SMaxim Ag	roll	$5,%ecx
26072c33676SMaxim Ag	xorl	36(%rsp),%ebp
26172c33676SMaxim Ag	andl	%esi,%eax
26272c33676SMaxim Ag	leal	1518500249(%rdx,%r12,1),%r12d
26372c33676SMaxim Ag	xorl	56(%rsp),%ebp
26472c33676SMaxim Ag	xorl	%r11d,%eax
26572c33676SMaxim Ag	roll	$1,%ebp
26672c33676SMaxim Ag	addl	%ecx,%r12d
26772c33676SMaxim Ag	roll	$30,%esi
26872c33676SMaxim Ag	movl	%ebp,4(%rsp)
26972c33676SMaxim Ag	addl	%eax,%r12d
27072c33676SMaxim Ag	movl	8(%rsp),%edx
27172c33676SMaxim Ag	movl	%esi,%eax
27272c33676SMaxim Ag	movl	%r12d,%ecx
27372c33676SMaxim Ag	xorl	16(%rsp),%edx
27472c33676SMaxim Ag	xorl	%edi,%eax
27572c33676SMaxim Ag	roll	$5,%ecx
27672c33676SMaxim Ag	xorl	40(%rsp),%edx
27772c33676SMaxim Ag	andl	%r13d,%eax
27872c33676SMaxim Ag	leal	1518500249(%rbp,%r11,1),%r11d
27972c33676SMaxim Ag	xorl	60(%rsp),%edx
28072c33676SMaxim Ag	xorl	%edi,%eax
28172c33676SMaxim Ag	roll	$1,%edx
28272c33676SMaxim Ag	addl	%ecx,%r11d
28372c33676SMaxim Ag	roll	$30,%r13d
28472c33676SMaxim Ag	movl	%edx,8(%rsp)
28572c33676SMaxim Ag	addl	%eax,%r11d
28672c33676SMaxim Ag	movl	12(%rsp),%ebp
28772c33676SMaxim Ag	movl	%r13d,%eax
28872c33676SMaxim Ag	movl	%r11d,%ecx
28972c33676SMaxim Ag	xorl	20(%rsp),%ebp
29072c33676SMaxim Ag	xorl	%esi,%eax
29172c33676SMaxim Ag	roll	$5,%ecx
29272c33676SMaxim Ag	xorl	44(%rsp),%ebp
29372c33676SMaxim Ag	andl	%r12d,%eax
29472c33676SMaxim Ag	leal	1518500249(%rdx,%rdi,1),%edi
29572c33676SMaxim Ag	xorl	0(%rsp),%ebp
29672c33676SMaxim Ag	xorl	%esi,%eax
29772c33676SMaxim Ag	roll	$1,%ebp
29872c33676SMaxim Ag	addl	%ecx,%edi
29972c33676SMaxim Ag	roll	$30,%r12d
30072c33676SMaxim Ag	movl	%ebp,12(%rsp)
30172c33676SMaxim Ag	addl	%eax,%edi
30272c33676SMaxim Ag	movl	16(%rsp),%edx
30372c33676SMaxim Ag	movl	%r12d,%eax
30472c33676SMaxim Ag	movl	%edi,%ecx
30572c33676SMaxim Ag	xorl	24(%rsp),%edx
30672c33676SMaxim Ag	xorl	%r13d,%eax
30772c33676SMaxim Ag	roll	$5,%ecx
30872c33676SMaxim Ag	xorl	48(%rsp),%edx
30972c33676SMaxim Ag	andl	%r11d,%eax
31072c33676SMaxim Ag	leal	1518500249(%rbp,%rsi,1),%esi
31172c33676SMaxim Ag	xorl	4(%rsp),%edx
31272c33676SMaxim Ag	xorl	%r13d,%eax
31372c33676SMaxim Ag	roll	$1,%edx
31472c33676SMaxim Ag	addl	%ecx,%esi
31572c33676SMaxim Ag	roll	$30,%r11d
31672c33676SMaxim Ag	movl	%edx,16(%rsp)
31772c33676SMaxim Ag	addl	%eax,%esi
31872c33676SMaxim Ag	movl	20(%rsp),%ebp
31972c33676SMaxim Ag	movl	%r11d,%eax
32072c33676SMaxim Ag	movl	%esi,%ecx
32172c33676SMaxim Ag	xorl	28(%rsp),%ebp
32272c33676SMaxim Ag	xorl	%edi,%eax
32372c33676SMaxim Ag	roll	$5,%ecx
32472c33676SMaxim Ag	leal	1859775393(%rdx,%r13,1),%r13d
32572c33676SMaxim Ag	xorl	52(%rsp),%ebp
32672c33676SMaxim Ag	xorl	%r12d,%eax
32772c33676SMaxim Ag	addl	%ecx,%r13d
32872c33676SMaxim Ag	xorl	8(%rsp),%ebp
32972c33676SMaxim Ag	roll	$30,%edi
33072c33676SMaxim Ag	addl	%eax,%r13d
33172c33676SMaxim Ag	roll	$1,%ebp
33272c33676SMaxim Ag	movl	%ebp,20(%rsp)
33372c33676SMaxim Ag	movl	24(%rsp),%edx
33472c33676SMaxim Ag	movl	%edi,%eax
33572c33676SMaxim Ag	movl	%r13d,%ecx
33672c33676SMaxim Ag	xorl	32(%rsp),%edx
33772c33676SMaxim Ag	xorl	%esi,%eax
33872c33676SMaxim Ag	roll	$5,%ecx
33972c33676SMaxim Ag	leal	1859775393(%rbp,%r12,1),%r12d
34072c33676SMaxim Ag	xorl	56(%rsp),%edx
34172c33676SMaxim Ag	xorl	%r11d,%eax
34272c33676SMaxim Ag	addl	%ecx,%r12d
34372c33676SMaxim Ag	xorl	12(%rsp),%edx
34472c33676SMaxim Ag	roll	$30,%esi
34572c33676SMaxim Ag	addl	%eax,%r12d
34672c33676SMaxim Ag	roll	$1,%edx
34772c33676SMaxim Ag	movl	%edx,24(%rsp)
34872c33676SMaxim Ag	movl	28(%rsp),%ebp
34972c33676SMaxim Ag	movl	%esi,%eax
35072c33676SMaxim Ag	movl	%r12d,%ecx
35172c33676SMaxim Ag	xorl	36(%rsp),%ebp
35272c33676SMaxim Ag	xorl	%r13d,%eax
35372c33676SMaxim Ag	roll	$5,%ecx
35472c33676SMaxim Ag	leal	1859775393(%rdx,%r11,1),%r11d
35572c33676SMaxim Ag	xorl	60(%rsp),%ebp
35672c33676SMaxim Ag	xorl	%edi,%eax
35772c33676SMaxim Ag	addl	%ecx,%r11d
35872c33676SMaxim Ag	xorl	16(%rsp),%ebp
35972c33676SMaxim Ag	roll	$30,%r13d
36072c33676SMaxim Ag	addl	%eax,%r11d
36172c33676SMaxim Ag	roll	$1,%ebp
36272c33676SMaxim Ag	movl	%ebp,28(%rsp)
36372c33676SMaxim Ag	movl	32(%rsp),%edx
36472c33676SMaxim Ag	movl	%r13d,%eax
36572c33676SMaxim Ag	movl	%r11d,%ecx
36672c33676SMaxim Ag	xorl	40(%rsp),%edx
36772c33676SMaxim Ag	xorl	%r12d,%eax
36872c33676SMaxim Ag	roll	$5,%ecx
36972c33676SMaxim Ag	leal	1859775393(%rbp,%rdi,1),%edi
37072c33676SMaxim Ag	xorl	0(%rsp),%edx
37172c33676SMaxim Ag	xorl	%esi,%eax
37272c33676SMaxim Ag	addl	%ecx,%edi
37372c33676SMaxim Ag	xorl	20(%rsp),%edx
37472c33676SMaxim Ag	roll	$30,%r12d
37572c33676SMaxim Ag	addl	%eax,%edi
37672c33676SMaxim Ag	roll	$1,%edx
37772c33676SMaxim Ag	movl	%edx,32(%rsp)
37872c33676SMaxim Ag	movl	36(%rsp),%ebp
37972c33676SMaxim Ag	movl	%r12d,%eax
38072c33676SMaxim Ag	movl	%edi,%ecx
38172c33676SMaxim Ag	xorl	44(%rsp),%ebp
38272c33676SMaxim Ag	xorl	%r11d,%eax
38372c33676SMaxim Ag	roll	$5,%ecx
38472c33676SMaxim Ag	leal	1859775393(%rdx,%rsi,1),%esi
38572c33676SMaxim Ag	xorl	4(%rsp),%ebp
38672c33676SMaxim Ag	xorl	%r13d,%eax
38772c33676SMaxim Ag	addl	%ecx,%esi
38872c33676SMaxim Ag	xorl	24(%rsp),%ebp
38972c33676SMaxim Ag	roll	$30,%r11d
39072c33676SMaxim Ag	addl	%eax,%esi
39172c33676SMaxim Ag	roll	$1,%ebp
39272c33676SMaxim Ag	movl	%ebp,36(%rsp)
39372c33676SMaxim Ag	movl	40(%rsp),%edx
39472c33676SMaxim Ag	movl	%r11d,%eax
39572c33676SMaxim Ag	movl	%esi,%ecx
39672c33676SMaxim Ag	xorl	48(%rsp),%edx
39772c33676SMaxim Ag	xorl	%edi,%eax
39872c33676SMaxim Ag	roll	$5,%ecx
39972c33676SMaxim Ag	leal	1859775393(%rbp,%r13,1),%r13d
40072c33676SMaxim Ag	xorl	8(%rsp),%edx
40172c33676SMaxim Ag	xorl	%r12d,%eax
40272c33676SMaxim Ag	addl	%ecx,%r13d
40372c33676SMaxim Ag	xorl	28(%rsp),%edx
40472c33676SMaxim Ag	roll	$30,%edi
40572c33676SMaxim Ag	addl	%eax,%r13d
40672c33676SMaxim Ag	roll	$1,%edx
40772c33676SMaxim Ag	movl	%edx,40(%rsp)
40872c33676SMaxim Ag	movl	44(%rsp),%ebp
40972c33676SMaxim Ag	movl	%edi,%eax
41072c33676SMaxim Ag	movl	%r13d,%ecx
41172c33676SMaxim Ag	xorl	52(%rsp),%ebp
41272c33676SMaxim Ag	xorl	%esi,%eax
41372c33676SMaxim Ag	roll	$5,%ecx
41472c33676SMaxim Ag	leal	1859775393(%rdx,%r12,1),%r12d
41572c33676SMaxim Ag	xorl	12(%rsp),%ebp
41672c33676SMaxim Ag	xorl	%r11d,%eax
41772c33676SMaxim Ag	addl	%ecx,%r12d
41872c33676SMaxim Ag	xorl	32(%rsp),%ebp
41972c33676SMaxim Ag	roll	$30,%esi
42072c33676SMaxim Ag	addl	%eax,%r12d
42172c33676SMaxim Ag	roll	$1,%ebp
42272c33676SMaxim Ag	movl	%ebp,44(%rsp)
42372c33676SMaxim Ag	movl	48(%rsp),%edx
42472c33676SMaxim Ag	movl	%esi,%eax
42572c33676SMaxim Ag	movl	%r12d,%ecx
42672c33676SMaxim Ag	xorl	56(%rsp),%edx
42772c33676SMaxim Ag	xorl	%r13d,%eax
42872c33676SMaxim Ag	roll	$5,%ecx
42972c33676SMaxim Ag	leal	1859775393(%rbp,%r11,1),%r11d
43072c33676SMaxim Ag	xorl	16(%rsp),%edx
43172c33676SMaxim Ag	xorl	%edi,%eax
43272c33676SMaxim Ag	addl	%ecx,%r11d
43372c33676SMaxim Ag	xorl	36(%rsp),%edx
43472c33676SMaxim Ag	roll	$30,%r13d
43572c33676SMaxim Ag	addl	%eax,%r11d
43672c33676SMaxim Ag	roll	$1,%edx
43772c33676SMaxim Ag	movl	%edx,48(%rsp)
43872c33676SMaxim Ag	movl	52(%rsp),%ebp
43972c33676SMaxim Ag	movl	%r13d,%eax
44072c33676SMaxim Ag	movl	%r11d,%ecx
44172c33676SMaxim Ag	xorl	60(%rsp),%ebp
44272c33676SMaxim Ag	xorl	%r12d,%eax
44372c33676SMaxim Ag	roll	$5,%ecx
44472c33676SMaxim Ag	leal	1859775393(%rdx,%rdi,1),%edi
44572c33676SMaxim Ag	xorl	20(%rsp),%ebp
44672c33676SMaxim Ag	xorl	%esi,%eax
44772c33676SMaxim Ag	addl	%ecx,%edi
44872c33676SMaxim Ag	xorl	40(%rsp),%ebp
44972c33676SMaxim Ag	roll	$30,%r12d
45072c33676SMaxim Ag	addl	%eax,%edi
45172c33676SMaxim Ag	roll	$1,%ebp
45272c33676SMaxim Ag	movl	%ebp,52(%rsp)
45372c33676SMaxim Ag	movl	56(%rsp),%edx
45472c33676SMaxim Ag	movl	%r12d,%eax
45572c33676SMaxim Ag	movl	%edi,%ecx
45672c33676SMaxim Ag	xorl	0(%rsp),%edx
45772c33676SMaxim Ag	xorl	%r11d,%eax
45872c33676SMaxim Ag	roll	$5,%ecx
45972c33676SMaxim Ag	leal	1859775393(%rbp,%rsi,1),%esi
46072c33676SMaxim Ag	xorl	24(%rsp),%edx
46172c33676SMaxim Ag	xorl	%r13d,%eax
46272c33676SMaxim Ag	addl	%ecx,%esi
46372c33676SMaxim Ag	xorl	44(%rsp),%edx
46472c33676SMaxim Ag	roll	$30,%r11d
46572c33676SMaxim Ag	addl	%eax,%esi
46672c33676SMaxim Ag	roll	$1,%edx
46772c33676SMaxim Ag	movl	%edx,56(%rsp)
46872c33676SMaxim Ag	movl	60(%rsp),%ebp
46972c33676SMaxim Ag	movl	%r11d,%eax
47072c33676SMaxim Ag	movl	%esi,%ecx
47172c33676SMaxim Ag	xorl	4(%rsp),%ebp
47272c33676SMaxim Ag	xorl	%edi,%eax
47372c33676SMaxim Ag	roll	$5,%ecx
47472c33676SMaxim Ag	leal	1859775393(%rdx,%r13,1),%r13d
47572c33676SMaxim Ag	xorl	28(%rsp),%ebp
47672c33676SMaxim Ag	xorl	%r12d,%eax
47772c33676SMaxim Ag	addl	%ecx,%r13d
47872c33676SMaxim Ag	xorl	48(%rsp),%ebp
47972c33676SMaxim Ag	roll	$30,%edi
48072c33676SMaxim Ag	addl	%eax,%r13d
48172c33676SMaxim Ag	roll	$1,%ebp
48272c33676SMaxim Ag	movl	%ebp,60(%rsp)
48372c33676SMaxim Ag	movl	0(%rsp),%edx
48472c33676SMaxim Ag	movl	%edi,%eax
48572c33676SMaxim Ag	movl	%r13d,%ecx
48672c33676SMaxim Ag	xorl	8(%rsp),%edx
48772c33676SMaxim Ag	xorl	%esi,%eax
48872c33676SMaxim Ag	roll	$5,%ecx
48972c33676SMaxim Ag	leal	1859775393(%rbp,%r12,1),%r12d
49072c33676SMaxim Ag	xorl	32(%rsp),%edx
49172c33676SMaxim Ag	xorl	%r11d,%eax
49272c33676SMaxim Ag	addl	%ecx,%r12d
49372c33676SMaxim Ag	xorl	52(%rsp),%edx
49472c33676SMaxim Ag	roll	$30,%esi
49572c33676SMaxim Ag	addl	%eax,%r12d
49672c33676SMaxim Ag	roll	$1,%edx
49772c33676SMaxim Ag	movl	%edx,0(%rsp)
49872c33676SMaxim Ag	movl	4(%rsp),%ebp
49972c33676SMaxim Ag	movl	%esi,%eax
50072c33676SMaxim Ag	movl	%r12d,%ecx
50172c33676SMaxim Ag	xorl	12(%rsp),%ebp
50272c33676SMaxim Ag	xorl	%r13d,%eax
50372c33676SMaxim Ag	roll	$5,%ecx
50472c33676SMaxim Ag	leal	1859775393(%rdx,%r11,1),%r11d
50572c33676SMaxim Ag	xorl	36(%rsp),%ebp
50672c33676SMaxim Ag	xorl	%edi,%eax
50772c33676SMaxim Ag	addl	%ecx,%r11d
50872c33676SMaxim Ag	xorl	56(%rsp),%ebp
50972c33676SMaxim Ag	roll	$30,%r13d
51072c33676SMaxim Ag	addl	%eax,%r11d
51172c33676SMaxim Ag	roll	$1,%ebp
51272c33676SMaxim Ag	movl	%ebp,4(%rsp)
51372c33676SMaxim Ag	movl	8(%rsp),%edx
51472c33676SMaxim Ag	movl	%r13d,%eax
51572c33676SMaxim Ag	movl	%r11d,%ecx
51672c33676SMaxim Ag	xorl	16(%rsp),%edx
51772c33676SMaxim Ag	xorl	%r12d,%eax
51872c33676SMaxim Ag	roll	$5,%ecx
51972c33676SMaxim Ag	leal	1859775393(%rbp,%rdi,1),%edi
52072c33676SMaxim Ag	xorl	40(%rsp),%edx
52172c33676SMaxim Ag	xorl	%esi,%eax
52272c33676SMaxim Ag	addl	%ecx,%edi
52372c33676SMaxim Ag	xorl	60(%rsp),%edx
52472c33676SMaxim Ag	roll	$30,%r12d
52572c33676SMaxim Ag	addl	%eax,%edi
52672c33676SMaxim Ag	roll	$1,%edx
52772c33676SMaxim Ag	movl	%edx,8(%rsp)
52872c33676SMaxim Ag	movl	12(%rsp),%ebp
52972c33676SMaxim Ag	movl	%r12d,%eax
53072c33676SMaxim Ag	movl	%edi,%ecx
53172c33676SMaxim Ag	xorl	20(%rsp),%ebp
53272c33676SMaxim Ag	xorl	%r11d,%eax
53372c33676SMaxim Ag	roll	$5,%ecx
53472c33676SMaxim Ag	leal	1859775393(%rdx,%rsi,1),%esi
53572c33676SMaxim Ag	xorl	44(%rsp),%ebp
53672c33676SMaxim Ag	xorl	%r13d,%eax
53772c33676SMaxim Ag	addl	%ecx,%esi
53872c33676SMaxim Ag	xorl	0(%rsp),%ebp
53972c33676SMaxim Ag	roll	$30,%r11d
54072c33676SMaxim Ag	addl	%eax,%esi
54172c33676SMaxim Ag	roll	$1,%ebp
54272c33676SMaxim Ag	movl	%ebp,12(%rsp)
54372c33676SMaxim Ag	movl	16(%rsp),%edx
54472c33676SMaxim Ag	movl	%r11d,%eax
54572c33676SMaxim Ag	movl	%esi,%ecx
54672c33676SMaxim Ag	xorl	24(%rsp),%edx
54772c33676SMaxim Ag	xorl	%edi,%eax
54872c33676SMaxim Ag	roll	$5,%ecx
54972c33676SMaxim Ag	leal	1859775393(%rbp,%r13,1),%r13d
55072c33676SMaxim Ag	xorl	48(%rsp),%edx
55172c33676SMaxim Ag	xorl	%r12d,%eax
55272c33676SMaxim Ag	addl	%ecx,%r13d
55372c33676SMaxim Ag	xorl	4(%rsp),%edx
55472c33676SMaxim Ag	roll	$30,%edi
55572c33676SMaxim Ag	addl	%eax,%r13d
55672c33676SMaxim Ag	roll	$1,%edx
55772c33676SMaxim Ag	movl	%edx,16(%rsp)
55872c33676SMaxim Ag	movl	20(%rsp),%ebp
55972c33676SMaxim Ag	movl	%edi,%eax
56072c33676SMaxim Ag	movl	%r13d,%ecx
56172c33676SMaxim Ag	xorl	28(%rsp),%ebp
56272c33676SMaxim Ag	xorl	%esi,%eax
56372c33676SMaxim Ag	roll	$5,%ecx
56472c33676SMaxim Ag	leal	1859775393(%rdx,%r12,1),%r12d
56572c33676SMaxim Ag	xorl	52(%rsp),%ebp
56672c33676SMaxim Ag	xorl	%r11d,%eax
56772c33676SMaxim Ag	addl	%ecx,%r12d
56872c33676SMaxim Ag	xorl	8(%rsp),%ebp
56972c33676SMaxim Ag	roll	$30,%esi
57072c33676SMaxim Ag	addl	%eax,%r12d
57172c33676SMaxim Ag	roll	$1,%ebp
57272c33676SMaxim Ag	movl	%ebp,20(%rsp)
57372c33676SMaxim Ag	movl	24(%rsp),%edx
57472c33676SMaxim Ag	movl	%esi,%eax
57572c33676SMaxim Ag	movl	%r12d,%ecx
57672c33676SMaxim Ag	xorl	32(%rsp),%edx
57772c33676SMaxim Ag	xorl	%r13d,%eax
57872c33676SMaxim Ag	roll	$5,%ecx
57972c33676SMaxim Ag	leal	1859775393(%rbp,%r11,1),%r11d
58072c33676SMaxim Ag	xorl	56(%rsp),%edx
58172c33676SMaxim Ag	xorl	%edi,%eax
58272c33676SMaxim Ag	addl	%ecx,%r11d
58372c33676SMaxim Ag	xorl	12(%rsp),%edx
58472c33676SMaxim Ag	roll	$30,%r13d
58572c33676SMaxim Ag	addl	%eax,%r11d
58672c33676SMaxim Ag	roll	$1,%edx
58772c33676SMaxim Ag	movl	%edx,24(%rsp)
58872c33676SMaxim Ag	movl	28(%rsp),%ebp
58972c33676SMaxim Ag	movl	%r13d,%eax
59072c33676SMaxim Ag	movl	%r11d,%ecx
59172c33676SMaxim Ag	xorl	36(%rsp),%ebp
59272c33676SMaxim Ag	xorl	%r12d,%eax
59372c33676SMaxim Ag	roll	$5,%ecx
59472c33676SMaxim Ag	leal	1859775393(%rdx,%rdi,1),%edi
59572c33676SMaxim Ag	xorl	60(%rsp),%ebp
59672c33676SMaxim Ag	xorl	%esi,%eax
59772c33676SMaxim Ag	addl	%ecx,%edi
59872c33676SMaxim Ag	xorl	16(%rsp),%ebp
59972c33676SMaxim Ag	roll	$30,%r12d
60072c33676SMaxim Ag	addl	%eax,%edi
60172c33676SMaxim Ag	roll	$1,%ebp
60272c33676SMaxim Ag	movl	%ebp,28(%rsp)
60372c33676SMaxim Ag	movl	32(%rsp),%edx
60472c33676SMaxim Ag	movl	%r12d,%eax
60572c33676SMaxim Ag	movl	%edi,%ecx
60672c33676SMaxim Ag	xorl	40(%rsp),%edx
60772c33676SMaxim Ag	xorl	%r11d,%eax
60872c33676SMaxim Ag	roll	$5,%ecx
60972c33676SMaxim Ag	leal	1859775393(%rbp,%rsi,1),%esi
61072c33676SMaxim Ag	xorl	0(%rsp),%edx
61172c33676SMaxim Ag	xorl	%r13d,%eax
61272c33676SMaxim Ag	addl	%ecx,%esi
61372c33676SMaxim Ag	xorl	20(%rsp),%edx
61472c33676SMaxim Ag	roll	$30,%r11d
61572c33676SMaxim Ag	addl	%eax,%esi
61672c33676SMaxim Ag	roll	$1,%edx
61772c33676SMaxim Ag	movl	%edx,32(%rsp)
61872c33676SMaxim Ag	movl	36(%rsp),%ebp
61972c33676SMaxim Ag	movl	%r11d,%eax
62072c33676SMaxim Ag	movl	%r11d,%ebx
62172c33676SMaxim Ag	xorl	44(%rsp),%ebp
62272c33676SMaxim Ag	andl	%r12d,%eax
62372c33676SMaxim Ag	movl	%esi,%ecx
62472c33676SMaxim Ag	xorl	4(%rsp),%ebp
62572c33676SMaxim Ag	xorl	%r12d,%ebx
62672c33676SMaxim Ag	leal	-1894007588(%rdx,%r13,1),%r13d
62772c33676SMaxim Ag	roll	$5,%ecx
62872c33676SMaxim Ag	xorl	24(%rsp),%ebp
62972c33676SMaxim Ag	addl	%eax,%r13d
63072c33676SMaxim Ag	andl	%edi,%ebx
63172c33676SMaxim Ag	roll	$1,%ebp
63272c33676SMaxim Ag	addl	%ebx,%r13d
63372c33676SMaxim Ag	roll	$30,%edi
63472c33676SMaxim Ag	movl	%ebp,36(%rsp)
63572c33676SMaxim Ag	addl	%ecx,%r13d
63672c33676SMaxim Ag	movl	40(%rsp),%edx
63772c33676SMaxim Ag	movl	%edi,%eax
63872c33676SMaxim Ag	movl	%edi,%ebx
63972c33676SMaxim Ag	xorl	48(%rsp),%edx
64072c33676SMaxim Ag	andl	%r11d,%eax
64172c33676SMaxim Ag	movl	%r13d,%ecx
64272c33676SMaxim Ag	xorl	8(%rsp),%edx
64372c33676SMaxim Ag	xorl	%r11d,%ebx
64472c33676SMaxim Ag	leal	-1894007588(%rbp,%r12,1),%r12d
64572c33676SMaxim Ag	roll	$5,%ecx
64672c33676SMaxim Ag	xorl	28(%rsp),%edx
64772c33676SMaxim Ag	addl	%eax,%r12d
64872c33676SMaxim Ag	andl	%esi,%ebx
64972c33676SMaxim Ag	roll	$1,%edx
65072c33676SMaxim Ag	addl	%ebx,%r12d
65172c33676SMaxim Ag	roll	$30,%esi
65272c33676SMaxim Ag	movl	%edx,40(%rsp)
65372c33676SMaxim Ag	addl	%ecx,%r12d
65472c33676SMaxim Ag	movl	44(%rsp),%ebp
65572c33676SMaxim Ag	movl	%esi,%eax
65672c33676SMaxim Ag	movl	%esi,%ebx
65772c33676SMaxim Ag	xorl	52(%rsp),%ebp
65872c33676SMaxim Ag	andl	%edi,%eax
65972c33676SMaxim Ag	movl	%r12d,%ecx
66072c33676SMaxim Ag	xorl	12(%rsp),%ebp
66172c33676SMaxim Ag	xorl	%edi,%ebx
66272c33676SMaxim Ag	leal	-1894007588(%rdx,%r11,1),%r11d
66372c33676SMaxim Ag	roll	$5,%ecx
66472c33676SMaxim Ag	xorl	32(%rsp),%ebp
66572c33676SMaxim Ag	addl	%eax,%r11d
66672c33676SMaxim Ag	andl	%r13d,%ebx
66772c33676SMaxim Ag	roll	$1,%ebp
66872c33676SMaxim Ag	addl	%ebx,%r11d
66972c33676SMaxim Ag	roll	$30,%r13d
67072c33676SMaxim Ag	movl	%ebp,44(%rsp)
67172c33676SMaxim Ag	addl	%ecx,%r11d
67272c33676SMaxim Ag	movl	48(%rsp),%edx
67372c33676SMaxim Ag	movl	%r13d,%eax
67472c33676SMaxim Ag	movl	%r13d,%ebx
67572c33676SMaxim Ag	xorl	56(%rsp),%edx
67672c33676SMaxim Ag	andl	%esi,%eax
67772c33676SMaxim Ag	movl	%r11d,%ecx
67872c33676SMaxim Ag	xorl	16(%rsp),%edx
67972c33676SMaxim Ag	xorl	%esi,%ebx
68072c33676SMaxim Ag	leal	-1894007588(%rbp,%rdi,1),%edi
68172c33676SMaxim Ag	roll	$5,%ecx
68272c33676SMaxim Ag	xorl	36(%rsp),%edx
68372c33676SMaxim Ag	addl	%eax,%edi
68472c33676SMaxim Ag	andl	%r12d,%ebx
68572c33676SMaxim Ag	roll	$1,%edx
68672c33676SMaxim Ag	addl	%ebx,%edi
68772c33676SMaxim Ag	roll	$30,%r12d
68872c33676SMaxim Ag	movl	%edx,48(%rsp)
68972c33676SMaxim Ag	addl	%ecx,%edi
69072c33676SMaxim Ag	movl	52(%rsp),%ebp
69172c33676SMaxim Ag	movl	%r12d,%eax
69272c33676SMaxim Ag	movl	%r12d,%ebx
69372c33676SMaxim Ag	xorl	60(%rsp),%ebp
69472c33676SMaxim Ag	andl	%r13d,%eax
69572c33676SMaxim Ag	movl	%edi,%ecx
69672c33676SMaxim Ag	xorl	20(%rsp),%ebp
69772c33676SMaxim Ag	xorl	%r13d,%ebx
69872c33676SMaxim Ag	leal	-1894007588(%rdx,%rsi,1),%esi
69972c33676SMaxim Ag	roll	$5,%ecx
70072c33676SMaxim Ag	xorl	40(%rsp),%ebp
70172c33676SMaxim Ag	addl	%eax,%esi
70272c33676SMaxim Ag	andl	%r11d,%ebx
70372c33676SMaxim Ag	roll	$1,%ebp
70472c33676SMaxim Ag	addl	%ebx,%esi
70572c33676SMaxim Ag	roll	$30,%r11d
70672c33676SMaxim Ag	movl	%ebp,52(%rsp)
70772c33676SMaxim Ag	addl	%ecx,%esi
70872c33676SMaxim Ag	movl	56(%rsp),%edx
70972c33676SMaxim Ag	movl	%r11d,%eax
71072c33676SMaxim Ag	movl	%r11d,%ebx
71172c33676SMaxim Ag	xorl	0(%rsp),%edx
71272c33676SMaxim Ag	andl	%r12d,%eax
71372c33676SMaxim Ag	movl	%esi,%ecx
71472c33676SMaxim Ag	xorl	24(%rsp),%edx
71572c33676SMaxim Ag	xorl	%r12d,%ebx
71672c33676SMaxim Ag	leal	-1894007588(%rbp,%r13,1),%r13d
71772c33676SMaxim Ag	roll	$5,%ecx
71872c33676SMaxim Ag	xorl	44(%rsp),%edx
71972c33676SMaxim Ag	addl	%eax,%r13d
72072c33676SMaxim Ag	andl	%edi,%ebx
72172c33676SMaxim Ag	roll	$1,%edx
72272c33676SMaxim Ag	addl	%ebx,%r13d
72372c33676SMaxim Ag	roll	$30,%edi
72472c33676SMaxim Ag	movl	%edx,56(%rsp)
72572c33676SMaxim Ag	addl	%ecx,%r13d
72672c33676SMaxim Ag	movl	60(%rsp),%ebp
72772c33676SMaxim Ag	movl	%edi,%eax
72872c33676SMaxim Ag	movl	%edi,%ebx
72972c33676SMaxim Ag	xorl	4(%rsp),%ebp
73072c33676SMaxim Ag	andl	%r11d,%eax
73172c33676SMaxim Ag	movl	%r13d,%ecx
73272c33676SMaxim Ag	xorl	28(%rsp),%ebp
73372c33676SMaxim Ag	xorl	%r11d,%ebx
73472c33676SMaxim Ag	leal	-1894007588(%rdx,%r12,1),%r12d
73572c33676SMaxim Ag	roll	$5,%ecx
73672c33676SMaxim Ag	xorl	48(%rsp),%ebp
73772c33676SMaxim Ag	addl	%eax,%r12d
73872c33676SMaxim Ag	andl	%esi,%ebx
73972c33676SMaxim Ag	roll	$1,%ebp
74072c33676SMaxim Ag	addl	%ebx,%r12d
74172c33676SMaxim Ag	roll	$30,%esi
74272c33676SMaxim Ag	movl	%ebp,60(%rsp)
74372c33676SMaxim Ag	addl	%ecx,%r12d
74472c33676SMaxim Ag	movl	0(%rsp),%edx
74572c33676SMaxim Ag	movl	%esi,%eax
74672c33676SMaxim Ag	movl	%esi,%ebx
74772c33676SMaxim Ag	xorl	8(%rsp),%edx
74872c33676SMaxim Ag	andl	%edi,%eax
74972c33676SMaxim Ag	movl	%r12d,%ecx
75072c33676SMaxim Ag	xorl	32(%rsp),%edx
75172c33676SMaxim Ag	xorl	%edi,%ebx
75272c33676SMaxim Ag	leal	-1894007588(%rbp,%r11,1),%r11d
75372c33676SMaxim Ag	roll	$5,%ecx
75472c33676SMaxim Ag	xorl	52(%rsp),%edx
75572c33676SMaxim Ag	addl	%eax,%r11d
75672c33676SMaxim Ag	andl	%r13d,%ebx
75772c33676SMaxim Ag	roll	$1,%edx
75872c33676SMaxim Ag	addl	%ebx,%r11d
75972c33676SMaxim Ag	roll	$30,%r13d
76072c33676SMaxim Ag	movl	%edx,0(%rsp)
76172c33676SMaxim Ag	addl	%ecx,%r11d
76272c33676SMaxim Ag	movl	4(%rsp),%ebp
76372c33676SMaxim Ag	movl	%r13d,%eax
76472c33676SMaxim Ag	movl	%r13d,%ebx
76572c33676SMaxim Ag	xorl	12(%rsp),%ebp
76672c33676SMaxim Ag	andl	%esi,%eax
76772c33676SMaxim Ag	movl	%r11d,%ecx
76872c33676SMaxim Ag	xorl	36(%rsp),%ebp
76972c33676SMaxim Ag	xorl	%esi,%ebx
77072c33676SMaxim Ag	leal	-1894007588(%rdx,%rdi,1),%edi
77172c33676SMaxim Ag	roll	$5,%ecx
77272c33676SMaxim Ag	xorl	56(%rsp),%ebp
77372c33676SMaxim Ag	addl	%eax,%edi
77472c33676SMaxim Ag	andl	%r12d,%ebx
77572c33676SMaxim Ag	roll	$1,%ebp
77672c33676SMaxim Ag	addl	%ebx,%edi
77772c33676SMaxim Ag	roll	$30,%r12d
77872c33676SMaxim Ag	movl	%ebp,4(%rsp)
77972c33676SMaxim Ag	addl	%ecx,%edi
78072c33676SMaxim Ag	movl	8(%rsp),%edx
78172c33676SMaxim Ag	movl	%r12d,%eax
78272c33676SMaxim Ag	movl	%r12d,%ebx
78372c33676SMaxim Ag	xorl	16(%rsp),%edx
78472c33676SMaxim Ag	andl	%r13d,%eax
78572c33676SMaxim Ag	movl	%edi,%ecx
78672c33676SMaxim Ag	xorl	40(%rsp),%edx
78772c33676SMaxim Ag	xorl	%r13d,%ebx
78872c33676SMaxim Ag	leal	-1894007588(%rbp,%rsi,1),%esi
78972c33676SMaxim Ag	roll	$5,%ecx
79072c33676SMaxim Ag	xorl	60(%rsp),%edx
79172c33676SMaxim Ag	addl	%eax,%esi
79272c33676SMaxim Ag	andl	%r11d,%ebx
79372c33676SMaxim Ag	roll	$1,%edx
79472c33676SMaxim Ag	addl	%ebx,%esi
79572c33676SMaxim Ag	roll	$30,%r11d
79672c33676SMaxim Ag	movl	%edx,8(%rsp)
79772c33676SMaxim Ag	addl	%ecx,%esi
79872c33676SMaxim Ag	movl	12(%rsp),%ebp
79972c33676SMaxim Ag	movl	%r11d,%eax
80072c33676SMaxim Ag	movl	%r11d,%ebx
80172c33676SMaxim Ag	xorl	20(%rsp),%ebp
80272c33676SMaxim Ag	andl	%r12d,%eax
80372c33676SMaxim Ag	movl	%esi,%ecx
80472c33676SMaxim Ag	xorl	44(%rsp),%ebp
80572c33676SMaxim Ag	xorl	%r12d,%ebx
80672c33676SMaxim Ag	leal	-1894007588(%rdx,%r13,1),%r13d
80772c33676SMaxim Ag	roll	$5,%ecx
80872c33676SMaxim Ag	xorl	0(%rsp),%ebp
80972c33676SMaxim Ag	addl	%eax,%r13d
81072c33676SMaxim Ag	andl	%edi,%ebx
81172c33676SMaxim Ag	roll	$1,%ebp
81272c33676SMaxim Ag	addl	%ebx,%r13d
81372c33676SMaxim Ag	roll	$30,%edi
81472c33676SMaxim Ag	movl	%ebp,12(%rsp)
81572c33676SMaxim Ag	addl	%ecx,%r13d
81672c33676SMaxim Ag	movl	16(%rsp),%edx
81772c33676SMaxim Ag	movl	%edi,%eax
81872c33676SMaxim Ag	movl	%edi,%ebx
81972c33676SMaxim Ag	xorl	24(%rsp),%edx
82072c33676SMaxim Ag	andl	%r11d,%eax
82172c33676SMaxim Ag	movl	%r13d,%ecx
82272c33676SMaxim Ag	xorl	48(%rsp),%edx
82372c33676SMaxim Ag	xorl	%r11d,%ebx
82472c33676SMaxim Ag	leal	-1894007588(%rbp,%r12,1),%r12d
82572c33676SMaxim Ag	roll	$5,%ecx
82672c33676SMaxim Ag	xorl	4(%rsp),%edx
82772c33676SMaxim Ag	addl	%eax,%r12d
82872c33676SMaxim Ag	andl	%esi,%ebx
82972c33676SMaxim Ag	roll	$1,%edx
83072c33676SMaxim Ag	addl	%ebx,%r12d
83172c33676SMaxim Ag	roll	$30,%esi
83272c33676SMaxim Ag	movl	%edx,16(%rsp)
83372c33676SMaxim Ag	addl	%ecx,%r12d
83472c33676SMaxim Ag	movl	20(%rsp),%ebp
83572c33676SMaxim Ag	movl	%esi,%eax
83672c33676SMaxim Ag	movl	%esi,%ebx
83772c33676SMaxim Ag	xorl	28(%rsp),%ebp
83872c33676SMaxim Ag	andl	%edi,%eax
83972c33676SMaxim Ag	movl	%r12d,%ecx
84072c33676SMaxim Ag	xorl	52(%rsp),%ebp
84172c33676SMaxim Ag	xorl	%edi,%ebx
84272c33676SMaxim Ag	leal	-1894007588(%rdx,%r11,1),%r11d
84372c33676SMaxim Ag	roll	$5,%ecx
84472c33676SMaxim Ag	xorl	8(%rsp),%ebp
84572c33676SMaxim Ag	addl	%eax,%r11d
84672c33676SMaxim Ag	andl	%r13d,%ebx
84772c33676SMaxim Ag	roll	$1,%ebp
84872c33676SMaxim Ag	addl	%ebx,%r11d
84972c33676SMaxim Ag	roll	$30,%r13d
85072c33676SMaxim Ag	movl	%ebp,20(%rsp)
85172c33676SMaxim Ag	addl	%ecx,%r11d
85272c33676SMaxim Ag	movl	24(%rsp),%edx
85372c33676SMaxim Ag	movl	%r13d,%eax
85472c33676SMaxim Ag	movl	%r13d,%ebx
85572c33676SMaxim Ag	xorl	32(%rsp),%edx
85672c33676SMaxim Ag	andl	%esi,%eax
85772c33676SMaxim Ag	movl	%r11d,%ecx
85872c33676SMaxim Ag	xorl	56(%rsp),%edx
85972c33676SMaxim Ag	xorl	%esi,%ebx
86072c33676SMaxim Ag	leal	-1894007588(%rbp,%rdi,1),%edi
86172c33676SMaxim Ag	roll	$5,%ecx
86272c33676SMaxim Ag	xorl	12(%rsp),%edx
86372c33676SMaxim Ag	addl	%eax,%edi
86472c33676SMaxim Ag	andl	%r12d,%ebx
86572c33676SMaxim Ag	roll	$1,%edx
86672c33676SMaxim Ag	addl	%ebx,%edi
86772c33676SMaxim Ag	roll	$30,%r12d
86872c33676SMaxim Ag	movl	%edx,24(%rsp)
86972c33676SMaxim Ag	addl	%ecx,%edi
87072c33676SMaxim Ag	movl	28(%rsp),%ebp
87172c33676SMaxim Ag	movl	%r12d,%eax
87272c33676SMaxim Ag	movl	%r12d,%ebx
87372c33676SMaxim Ag	xorl	36(%rsp),%ebp
87472c33676SMaxim Ag	andl	%r13d,%eax
87572c33676SMaxim Ag	movl	%edi,%ecx
87672c33676SMaxim Ag	xorl	60(%rsp),%ebp
87772c33676SMaxim Ag	xorl	%r13d,%ebx
87872c33676SMaxim Ag	leal	-1894007588(%rdx,%rsi,1),%esi
87972c33676SMaxim Ag	roll	$5,%ecx
88072c33676SMaxim Ag	xorl	16(%rsp),%ebp
88172c33676SMaxim Ag	addl	%eax,%esi
88272c33676SMaxim Ag	andl	%r11d,%ebx
88372c33676SMaxim Ag	roll	$1,%ebp
88472c33676SMaxim Ag	addl	%ebx,%esi
88572c33676SMaxim Ag	roll	$30,%r11d
88672c33676SMaxim Ag	movl	%ebp,28(%rsp)
88772c33676SMaxim Ag	addl	%ecx,%esi
88872c33676SMaxim Ag	movl	32(%rsp),%edx
88972c33676SMaxim Ag	movl	%r11d,%eax
89072c33676SMaxim Ag	movl	%r11d,%ebx
89172c33676SMaxim Ag	xorl	40(%rsp),%edx
89272c33676SMaxim Ag	andl	%r12d,%eax
89372c33676SMaxim Ag	movl	%esi,%ecx
89472c33676SMaxim Ag	xorl	0(%rsp),%edx
89572c33676SMaxim Ag	xorl	%r12d,%ebx
89672c33676SMaxim Ag	leal	-1894007588(%rbp,%r13,1),%r13d
89772c33676SMaxim Ag	roll	$5,%ecx
89872c33676SMaxim Ag	xorl	20(%rsp),%edx
89972c33676SMaxim Ag	addl	%eax,%r13d
90072c33676SMaxim Ag	andl	%edi,%ebx
90172c33676SMaxim Ag	roll	$1,%edx
90272c33676SMaxim Ag	addl	%ebx,%r13d
90372c33676SMaxim Ag	roll	$30,%edi
90472c33676SMaxim Ag	movl	%edx,32(%rsp)
90572c33676SMaxim Ag	addl	%ecx,%r13d
90672c33676SMaxim Ag	movl	36(%rsp),%ebp
90772c33676SMaxim Ag	movl	%edi,%eax
90872c33676SMaxim Ag	movl	%edi,%ebx
90972c33676SMaxim Ag	xorl	44(%rsp),%ebp
91072c33676SMaxim Ag	andl	%r11d,%eax
91172c33676SMaxim Ag	movl	%r13d,%ecx
91272c33676SMaxim Ag	xorl	4(%rsp),%ebp
91372c33676SMaxim Ag	xorl	%r11d,%ebx
91472c33676SMaxim Ag	leal	-1894007588(%rdx,%r12,1),%r12d
91572c33676SMaxim Ag	roll	$5,%ecx
91672c33676SMaxim Ag	xorl	24(%rsp),%ebp
91772c33676SMaxim Ag	addl	%eax,%r12d
91872c33676SMaxim Ag	andl	%esi,%ebx
91972c33676SMaxim Ag	roll	$1,%ebp
92072c33676SMaxim Ag	addl	%ebx,%r12d
92172c33676SMaxim Ag	roll	$30,%esi
92272c33676SMaxim Ag	movl	%ebp,36(%rsp)
92372c33676SMaxim Ag	addl	%ecx,%r12d
92472c33676SMaxim Ag	movl	40(%rsp),%edx
92572c33676SMaxim Ag	movl	%esi,%eax
92672c33676SMaxim Ag	movl	%esi,%ebx
92772c33676SMaxim Ag	xorl	48(%rsp),%edx
92872c33676SMaxim Ag	andl	%edi,%eax
92972c33676SMaxim Ag	movl	%r12d,%ecx
93072c33676SMaxim Ag	xorl	8(%rsp),%edx
93172c33676SMaxim Ag	xorl	%edi,%ebx
93272c33676SMaxim Ag	leal	-1894007588(%rbp,%r11,1),%r11d
93372c33676SMaxim Ag	roll	$5,%ecx
93472c33676SMaxim Ag	xorl	28(%rsp),%edx
93572c33676SMaxim Ag	addl	%eax,%r11d
93672c33676SMaxim Ag	andl	%r13d,%ebx
93772c33676SMaxim Ag	roll	$1,%edx
93872c33676SMaxim Ag	addl	%ebx,%r11d
93972c33676SMaxim Ag	roll	$30,%r13d
94072c33676SMaxim Ag	movl	%edx,40(%rsp)
94172c33676SMaxim Ag	addl	%ecx,%r11d
94272c33676SMaxim Ag	movl	44(%rsp),%ebp
94372c33676SMaxim Ag	movl	%r13d,%eax
94472c33676SMaxim Ag	movl	%r13d,%ebx
94572c33676SMaxim Ag	xorl	52(%rsp),%ebp
94672c33676SMaxim Ag	andl	%esi,%eax
94772c33676SMaxim Ag	movl	%r11d,%ecx
94872c33676SMaxim Ag	xorl	12(%rsp),%ebp
94972c33676SMaxim Ag	xorl	%esi,%ebx
95072c33676SMaxim Ag	leal	-1894007588(%rdx,%rdi,1),%edi
95172c33676SMaxim Ag	roll	$5,%ecx
95272c33676SMaxim Ag	xorl	32(%rsp),%ebp
95372c33676SMaxim Ag	addl	%eax,%edi
95472c33676SMaxim Ag	andl	%r12d,%ebx
95572c33676SMaxim Ag	roll	$1,%ebp
95672c33676SMaxim Ag	addl	%ebx,%edi
95772c33676SMaxim Ag	roll	$30,%r12d
95872c33676SMaxim Ag	movl	%ebp,44(%rsp)
95972c33676SMaxim Ag	addl	%ecx,%edi
96072c33676SMaxim Ag	movl	48(%rsp),%edx
96172c33676SMaxim Ag	movl	%r12d,%eax
96272c33676SMaxim Ag	movl	%r12d,%ebx
96372c33676SMaxim Ag	xorl	56(%rsp),%edx
96472c33676SMaxim Ag	andl	%r13d,%eax
96572c33676SMaxim Ag	movl	%edi,%ecx
96672c33676SMaxim Ag	xorl	16(%rsp),%edx
96772c33676SMaxim Ag	xorl	%r13d,%ebx
96872c33676SMaxim Ag	leal	-1894007588(%rbp,%rsi,1),%esi
96972c33676SMaxim Ag	roll	$5,%ecx
97072c33676SMaxim Ag	xorl	36(%rsp),%edx
97172c33676SMaxim Ag	addl	%eax,%esi
97272c33676SMaxim Ag	andl	%r11d,%ebx
97372c33676SMaxim Ag	roll	$1,%edx
97472c33676SMaxim Ag	addl	%ebx,%esi
97572c33676SMaxim Ag	roll	$30,%r11d
97672c33676SMaxim Ag	movl	%edx,48(%rsp)
97772c33676SMaxim Ag	addl	%ecx,%esi
97872c33676SMaxim Ag	movl	52(%rsp),%ebp
97972c33676SMaxim Ag	movl	%r11d,%eax
98072c33676SMaxim Ag	movl	%esi,%ecx
98172c33676SMaxim Ag	xorl	60(%rsp),%ebp
98272c33676SMaxim Ag	xorl	%edi,%eax
98372c33676SMaxim Ag	roll	$5,%ecx
98472c33676SMaxim Ag	leal	-899497514(%rdx,%r13,1),%r13d
98572c33676SMaxim Ag	xorl	20(%rsp),%ebp
98672c33676SMaxim Ag	xorl	%r12d,%eax
98772c33676SMaxim Ag	addl	%ecx,%r13d
98872c33676SMaxim Ag	xorl	40(%rsp),%ebp
98972c33676SMaxim Ag	roll	$30,%edi
99072c33676SMaxim Ag	addl	%eax,%r13d
99172c33676SMaxim Ag	roll	$1,%ebp
99272c33676SMaxim Ag	movl	%ebp,52(%rsp)
99372c33676SMaxim Ag	movl	56(%rsp),%edx
99472c33676SMaxim Ag	movl	%edi,%eax
99572c33676SMaxim Ag	movl	%r13d,%ecx
99672c33676SMaxim Ag	xorl	0(%rsp),%edx
99772c33676SMaxim Ag	xorl	%esi,%eax
99872c33676SMaxim Ag	roll	$5,%ecx
99972c33676SMaxim Ag	leal	-899497514(%rbp,%r12,1),%r12d
100072c33676SMaxim Ag	xorl	24(%rsp),%edx
100172c33676SMaxim Ag	xorl	%r11d,%eax
100272c33676SMaxim Ag	addl	%ecx,%r12d
100372c33676SMaxim Ag	xorl	44(%rsp),%edx
100472c33676SMaxim Ag	roll	$30,%esi
100572c33676SMaxim Ag	addl	%eax,%r12d
100672c33676SMaxim Ag	roll	$1,%edx
100772c33676SMaxim Ag	movl	%edx,56(%rsp)
100872c33676SMaxim Ag	movl	60(%rsp),%ebp
100972c33676SMaxim Ag	movl	%esi,%eax
101072c33676SMaxim Ag	movl	%r12d,%ecx
101172c33676SMaxim Ag	xorl	4(%rsp),%ebp
101272c33676SMaxim Ag	xorl	%r13d,%eax
101372c33676SMaxim Ag	roll	$5,%ecx
101472c33676SMaxim Ag	leal	-899497514(%rdx,%r11,1),%r11d
101572c33676SMaxim Ag	xorl	28(%rsp),%ebp
101672c33676SMaxim Ag	xorl	%edi,%eax
101772c33676SMaxim Ag	addl	%ecx,%r11d
101872c33676SMaxim Ag	xorl	48(%rsp),%ebp
101972c33676SMaxim Ag	roll	$30,%r13d
102072c33676SMaxim Ag	addl	%eax,%r11d
102172c33676SMaxim Ag	roll	$1,%ebp
102272c33676SMaxim Ag	movl	%ebp,60(%rsp)
102372c33676SMaxim Ag	movl	0(%rsp),%edx
102472c33676SMaxim Ag	movl	%r13d,%eax
102572c33676SMaxim Ag	movl	%r11d,%ecx
102672c33676SMaxim Ag	xorl	8(%rsp),%edx
102772c33676SMaxim Ag	xorl	%r12d,%eax
102872c33676SMaxim Ag	roll	$5,%ecx
102972c33676SMaxim Ag	leal	-899497514(%rbp,%rdi,1),%edi
103072c33676SMaxim Ag	xorl	32(%rsp),%edx
103172c33676SMaxim Ag	xorl	%esi,%eax
103272c33676SMaxim Ag	addl	%ecx,%edi
103372c33676SMaxim Ag	xorl	52(%rsp),%edx
103472c33676SMaxim Ag	roll	$30,%r12d
103572c33676SMaxim Ag	addl	%eax,%edi
103672c33676SMaxim Ag	roll	$1,%edx
103772c33676SMaxim Ag	movl	%edx,0(%rsp)
103872c33676SMaxim Ag	movl	4(%rsp),%ebp
103972c33676SMaxim Ag	movl	%r12d,%eax
104072c33676SMaxim Ag	movl	%edi,%ecx
104172c33676SMaxim Ag	xorl	12(%rsp),%ebp
104272c33676SMaxim Ag	xorl	%r11d,%eax
104372c33676SMaxim Ag	roll	$5,%ecx
104472c33676SMaxim Ag	leal	-899497514(%rdx,%rsi,1),%esi
104572c33676SMaxim Ag	xorl	36(%rsp),%ebp
104672c33676SMaxim Ag	xorl	%r13d,%eax
104772c33676SMaxim Ag	addl	%ecx,%esi
104872c33676SMaxim Ag	xorl	56(%rsp),%ebp
104972c33676SMaxim Ag	roll	$30,%r11d
105072c33676SMaxim Ag	addl	%eax,%esi
105172c33676SMaxim Ag	roll	$1,%ebp
105272c33676SMaxim Ag	movl	%ebp,4(%rsp)
105372c33676SMaxim Ag	movl	8(%rsp),%edx
105472c33676SMaxim Ag	movl	%r11d,%eax
105572c33676SMaxim Ag	movl	%esi,%ecx
105672c33676SMaxim Ag	xorl	16(%rsp),%edx
105772c33676SMaxim Ag	xorl	%edi,%eax
105872c33676SMaxim Ag	roll	$5,%ecx
105972c33676SMaxim Ag	leal	-899497514(%rbp,%r13,1),%r13d
106072c33676SMaxim Ag	xorl	40(%rsp),%edx
106172c33676SMaxim Ag	xorl	%r12d,%eax
106272c33676SMaxim Ag	addl	%ecx,%r13d
106372c33676SMaxim Ag	xorl	60(%rsp),%edx
106472c33676SMaxim Ag	roll	$30,%edi
106572c33676SMaxim Ag	addl	%eax,%r13d
106672c33676SMaxim Ag	roll	$1,%edx
106772c33676SMaxim Ag	movl	%edx,8(%rsp)
106872c33676SMaxim Ag	movl	12(%rsp),%ebp
106972c33676SMaxim Ag	movl	%edi,%eax
107072c33676SMaxim Ag	movl	%r13d,%ecx
107172c33676SMaxim Ag	xorl	20(%rsp),%ebp
107272c33676SMaxim Ag	xorl	%esi,%eax
107372c33676SMaxim Ag	roll	$5,%ecx
107472c33676SMaxim Ag	leal	-899497514(%rdx,%r12,1),%r12d
107572c33676SMaxim Ag	xorl	44(%rsp),%ebp
107672c33676SMaxim Ag	xorl	%r11d,%eax
107772c33676SMaxim Ag	addl	%ecx,%r12d
107872c33676SMaxim Ag	xorl	0(%rsp),%ebp
107972c33676SMaxim Ag	roll	$30,%esi
108072c33676SMaxim Ag	addl	%eax,%r12d
108172c33676SMaxim Ag	roll	$1,%ebp
108272c33676SMaxim Ag	movl	%ebp,12(%rsp)
108372c33676SMaxim Ag	movl	16(%rsp),%edx
108472c33676SMaxim Ag	movl	%esi,%eax
108572c33676SMaxim Ag	movl	%r12d,%ecx
108672c33676SMaxim Ag	xorl	24(%rsp),%edx
108772c33676SMaxim Ag	xorl	%r13d,%eax
108872c33676SMaxim Ag	roll	$5,%ecx
108972c33676SMaxim Ag	leal	-899497514(%rbp,%r11,1),%r11d
109072c33676SMaxim Ag	xorl	48(%rsp),%edx
109172c33676SMaxim Ag	xorl	%edi,%eax
109272c33676SMaxim Ag	addl	%ecx,%r11d
109372c33676SMaxim Ag	xorl	4(%rsp),%edx
109472c33676SMaxim Ag	roll	$30,%r13d
109572c33676SMaxim Ag	addl	%eax,%r11d
109672c33676SMaxim Ag	roll	$1,%edx
109772c33676SMaxim Ag	movl	%edx,16(%rsp)
109872c33676SMaxim Ag	movl	20(%rsp),%ebp
109972c33676SMaxim Ag	movl	%r13d,%eax
110072c33676SMaxim Ag	movl	%r11d,%ecx
110172c33676SMaxim Ag	xorl	28(%rsp),%ebp
110272c33676SMaxim Ag	xorl	%r12d,%eax
110372c33676SMaxim Ag	roll	$5,%ecx
110472c33676SMaxim Ag	leal	-899497514(%rdx,%rdi,1),%edi
110572c33676SMaxim Ag	xorl	52(%rsp),%ebp
110672c33676SMaxim Ag	xorl	%esi,%eax
110772c33676SMaxim Ag	addl	%ecx,%edi
110872c33676SMaxim Ag	xorl	8(%rsp),%ebp
110972c33676SMaxim Ag	roll	$30,%r12d
111072c33676SMaxim Ag	addl	%eax,%edi
111172c33676SMaxim Ag	roll	$1,%ebp
111272c33676SMaxim Ag	movl	%ebp,20(%rsp)
111372c33676SMaxim Ag	movl	24(%rsp),%edx
111472c33676SMaxim Ag	movl	%r12d,%eax
111572c33676SMaxim Ag	movl	%edi,%ecx
111672c33676SMaxim Ag	xorl	32(%rsp),%edx
111772c33676SMaxim Ag	xorl	%r11d,%eax
111872c33676SMaxim Ag	roll	$5,%ecx
111972c33676SMaxim Ag	leal	-899497514(%rbp,%rsi,1),%esi
112072c33676SMaxim Ag	xorl	56(%rsp),%edx
112172c33676SMaxim Ag	xorl	%r13d,%eax
112272c33676SMaxim Ag	addl	%ecx,%esi
112372c33676SMaxim Ag	xorl	12(%rsp),%edx
112472c33676SMaxim Ag	roll	$30,%r11d
112572c33676SMaxim Ag	addl	%eax,%esi
112672c33676SMaxim Ag	roll	$1,%edx
112772c33676SMaxim Ag	movl	%edx,24(%rsp)
112872c33676SMaxim Ag	movl	28(%rsp),%ebp
112972c33676SMaxim Ag	movl	%r11d,%eax
113072c33676SMaxim Ag	movl	%esi,%ecx
113172c33676SMaxim Ag	xorl	36(%rsp),%ebp
113272c33676SMaxim Ag	xorl	%edi,%eax
113372c33676SMaxim Ag	roll	$5,%ecx
113472c33676SMaxim Ag	leal	-899497514(%rdx,%r13,1),%r13d
113572c33676SMaxim Ag	xorl	60(%rsp),%ebp
113672c33676SMaxim Ag	xorl	%r12d,%eax
113772c33676SMaxim Ag	addl	%ecx,%r13d
113872c33676SMaxim Ag	xorl	16(%rsp),%ebp
113972c33676SMaxim Ag	roll	$30,%edi
114072c33676SMaxim Ag	addl	%eax,%r13d
114172c33676SMaxim Ag	roll	$1,%ebp
114272c33676SMaxim Ag	movl	%ebp,28(%rsp)
114372c33676SMaxim Ag	movl	32(%rsp),%edx
114472c33676SMaxim Ag	movl	%edi,%eax
114572c33676SMaxim Ag	movl	%r13d,%ecx
114672c33676SMaxim Ag	xorl	40(%rsp),%edx
114772c33676SMaxim Ag	xorl	%esi,%eax
114872c33676SMaxim Ag	roll	$5,%ecx
114972c33676SMaxim Ag	leal	-899497514(%rbp,%r12,1),%r12d
115072c33676SMaxim Ag	xorl	0(%rsp),%edx
115172c33676SMaxim Ag	xorl	%r11d,%eax
115272c33676SMaxim Ag	addl	%ecx,%r12d
115372c33676SMaxim Ag	xorl	20(%rsp),%edx
115472c33676SMaxim Ag	roll	$30,%esi
115572c33676SMaxim Ag	addl	%eax,%r12d
115672c33676SMaxim Ag	roll	$1,%edx
115772c33676SMaxim Ag	movl	%edx,32(%rsp)
115872c33676SMaxim Ag	movl	36(%rsp),%ebp
115972c33676SMaxim Ag	movl	%esi,%eax
116072c33676SMaxim Ag	movl	%r12d,%ecx
116172c33676SMaxim Ag	xorl	44(%rsp),%ebp
116272c33676SMaxim Ag	xorl	%r13d,%eax
116372c33676SMaxim Ag	roll	$5,%ecx
116472c33676SMaxim Ag	leal	-899497514(%rdx,%r11,1),%r11d
116572c33676SMaxim Ag	xorl	4(%rsp),%ebp
116672c33676SMaxim Ag	xorl	%edi,%eax
116772c33676SMaxim Ag	addl	%ecx,%r11d
116872c33676SMaxim Ag	xorl	24(%rsp),%ebp
116972c33676SMaxim Ag	roll	$30,%r13d
117072c33676SMaxim Ag	addl	%eax,%r11d
117172c33676SMaxim Ag	roll	$1,%ebp
117272c33676SMaxim Ag	movl	%ebp,36(%rsp)
117372c33676SMaxim Ag	movl	40(%rsp),%edx
117472c33676SMaxim Ag	movl	%r13d,%eax
117572c33676SMaxim Ag	movl	%r11d,%ecx
117672c33676SMaxim Ag	xorl	48(%rsp),%edx
117772c33676SMaxim Ag	xorl	%r12d,%eax
117872c33676SMaxim Ag	roll	$5,%ecx
117972c33676SMaxim Ag	leal	-899497514(%rbp,%rdi,1),%edi
118072c33676SMaxim Ag	xorl	8(%rsp),%edx
118172c33676SMaxim Ag	xorl	%esi,%eax
118272c33676SMaxim Ag	addl	%ecx,%edi
118372c33676SMaxim Ag	xorl	28(%rsp),%edx
118472c33676SMaxim Ag	roll	$30,%r12d
118572c33676SMaxim Ag	addl	%eax,%edi
118672c33676SMaxim Ag	roll	$1,%edx
118772c33676SMaxim Ag	movl	%edx,40(%rsp)
118872c33676SMaxim Ag	movl	44(%rsp),%ebp
118972c33676SMaxim Ag	movl	%r12d,%eax
119072c33676SMaxim Ag	movl	%edi,%ecx
119172c33676SMaxim Ag	xorl	52(%rsp),%ebp
119272c33676SMaxim Ag	xorl	%r11d,%eax
119372c33676SMaxim Ag	roll	$5,%ecx
119472c33676SMaxim Ag	leal	-899497514(%rdx,%rsi,1),%esi
119572c33676SMaxim Ag	xorl	12(%rsp),%ebp
119672c33676SMaxim Ag	xorl	%r13d,%eax
119772c33676SMaxim Ag	addl	%ecx,%esi
119872c33676SMaxim Ag	xorl	32(%rsp),%ebp
119972c33676SMaxim Ag	roll	$30,%r11d
120072c33676SMaxim Ag	addl	%eax,%esi
120172c33676SMaxim Ag	roll	$1,%ebp
120272c33676SMaxim Ag	movl	%ebp,44(%rsp)
120372c33676SMaxim Ag	movl	48(%rsp),%edx
120472c33676SMaxim Ag	movl	%r11d,%eax
120572c33676SMaxim Ag	movl	%esi,%ecx
120672c33676SMaxim Ag	xorl	56(%rsp),%edx
120772c33676SMaxim Ag	xorl	%edi,%eax
120872c33676SMaxim Ag	roll	$5,%ecx
120972c33676SMaxim Ag	leal	-899497514(%rbp,%r13,1),%r13d
121072c33676SMaxim Ag	xorl	16(%rsp),%edx
121172c33676SMaxim Ag	xorl	%r12d,%eax
121272c33676SMaxim Ag	addl	%ecx,%r13d
121372c33676SMaxim Ag	xorl	36(%rsp),%edx
121472c33676SMaxim Ag	roll	$30,%edi
121572c33676SMaxim Ag	addl	%eax,%r13d
121672c33676SMaxim Ag	roll	$1,%edx
121772c33676SMaxim Ag	movl	%edx,48(%rsp)
121872c33676SMaxim Ag	movl	52(%rsp),%ebp
121972c33676SMaxim Ag	movl	%edi,%eax
122072c33676SMaxim Ag	movl	%r13d,%ecx
122172c33676SMaxim Ag	xorl	60(%rsp),%ebp
122272c33676SMaxim Ag	xorl	%esi,%eax
122372c33676SMaxim Ag	roll	$5,%ecx
122472c33676SMaxim Ag	leal	-899497514(%rdx,%r12,1),%r12d
122572c33676SMaxim Ag	xorl	20(%rsp),%ebp
122672c33676SMaxim Ag	xorl	%r11d,%eax
122772c33676SMaxim Ag	addl	%ecx,%r12d
122872c33676SMaxim Ag	xorl	40(%rsp),%ebp
122972c33676SMaxim Ag	roll	$30,%esi
123072c33676SMaxim Ag	addl	%eax,%r12d
123172c33676SMaxim Ag	roll	$1,%ebp
123272c33676SMaxim Ag	movl	56(%rsp),%edx
123372c33676SMaxim Ag	movl	%esi,%eax
123472c33676SMaxim Ag	movl	%r12d,%ecx
123572c33676SMaxim Ag	xorl	0(%rsp),%edx
123672c33676SMaxim Ag	xorl	%r13d,%eax
123772c33676SMaxim Ag	roll	$5,%ecx
123872c33676SMaxim Ag	leal	-899497514(%rbp,%r11,1),%r11d
123972c33676SMaxim Ag	xorl	24(%rsp),%edx
124072c33676SMaxim Ag	xorl	%edi,%eax
124172c33676SMaxim Ag	addl	%ecx,%r11d
124272c33676SMaxim Ag	xorl	44(%rsp),%edx
124372c33676SMaxim Ag	roll	$30,%r13d
124472c33676SMaxim Ag	addl	%eax,%r11d
124572c33676SMaxim Ag	roll	$1,%edx
124672c33676SMaxim Ag	movl	60(%rsp),%ebp
124772c33676SMaxim Ag	movl	%r13d,%eax
124872c33676SMaxim Ag	movl	%r11d,%ecx
124972c33676SMaxim Ag	xorl	4(%rsp),%ebp
125072c33676SMaxim Ag	xorl	%r12d,%eax
125172c33676SMaxim Ag	roll	$5,%ecx
125272c33676SMaxim Ag	leal	-899497514(%rdx,%rdi,1),%edi
125372c33676SMaxim Ag	xorl	28(%rsp),%ebp
125472c33676SMaxim Ag	xorl	%esi,%eax
125572c33676SMaxim Ag	addl	%ecx,%edi
125672c33676SMaxim Ag	xorl	48(%rsp),%ebp
125772c33676SMaxim Ag	roll	$30,%r12d
125872c33676SMaxim Ag	addl	%eax,%edi
125972c33676SMaxim Ag	roll	$1,%ebp
126072c33676SMaxim Ag	movl	%r12d,%eax
126172c33676SMaxim Ag	movl	%edi,%ecx
126272c33676SMaxim Ag	xorl	%r11d,%eax
126372c33676SMaxim Ag	leal	-899497514(%rbp,%rsi,1),%esi
126472c33676SMaxim Ag	roll	$5,%ecx
126572c33676SMaxim Ag	xorl	%r13d,%eax
126672c33676SMaxim Ag	addl	%ecx,%esi
126772c33676SMaxim Ag	roll	$30,%r11d
126872c33676SMaxim Ag	addl	%eax,%esi
126972c33676SMaxim Ag	addl	0(%r8),%esi
127072c33676SMaxim Ag	addl	4(%r8),%edi
127172c33676SMaxim Ag	addl	8(%r8),%r11d
127272c33676SMaxim Ag	addl	12(%r8),%r12d
127372c33676SMaxim Ag	addl	16(%r8),%r13d
127472c33676SMaxim Ag	movl	%esi,0(%r8)
127572c33676SMaxim Ag	movl	%edi,4(%r8)
127672c33676SMaxim Ag	movl	%r11d,8(%r8)
127772c33676SMaxim Ag	movl	%r12d,12(%r8)
127872c33676SMaxim Ag	movl	%r13d,16(%r8)
127972c33676SMaxim Ag
128072c33676SMaxim Ag	subq	$1,%r10
128172c33676SMaxim Ag	leaq	64(%r9),%r9
128272c33676SMaxim Ag	jnz	.Lloop
128372c33676SMaxim Ag
128472c33676SMaxim Ag	movq	64(%rsp),%rsi
128572c33676SMaxim Ag	movq	(%rsi),%r13
128672c33676SMaxim Ag	movq	8(%rsi),%r12
128772c33676SMaxim Ag	movq	16(%rsi),%rbp
128872c33676SMaxim Ag	movq	24(%rsi),%rbx
128972c33676SMaxim Ag	leaq	32(%rsi),%rsp
129072c33676SMaxim Ag.Lepilogue:
129172c33676SMaxim Ag	retq
129272c33676SMaxim Ag.size	sha1_block_data_order,.-sha1_block_data_order
129372c33676SMaxim Ag.type	sha1_block_data_order_ssse3,@function
129472c33676SMaxim Ag.align	16
129572c33676SMaxim Agsha1_block_data_order_ssse3:
129672c33676SMaxim Ag_ssse3_shortcut:
129772c33676SMaxim Ag	pushq	%rbx
129872c33676SMaxim Ag	pushq	%rbp
129972c33676SMaxim Ag	pushq	%r12
130072c33676SMaxim Ag	leaq	-64(%rsp),%rsp
130172c33676SMaxim Ag	movq	%rdi,%r8
130272c33676SMaxim Ag	movq	%rsi,%r9
130372c33676SMaxim Ag	movq	%rdx,%r10
130472c33676SMaxim Ag
130572c33676SMaxim Ag	shlq	$6,%r10
130672c33676SMaxim Ag	addq	%r9,%r10
130772c33676SMaxim Ag	leaq	K_XX_XX(%rip),%r11
130872c33676SMaxim Ag
130972c33676SMaxim Ag	movl	0(%r8),%eax
131072c33676SMaxim Ag	movl	4(%r8),%ebx
131172c33676SMaxim Ag	movl	8(%r8),%ecx
131272c33676SMaxim Ag	movl	12(%r8),%edx
131372c33676SMaxim Ag	movl	%ebx,%esi
131472c33676SMaxim Ag	movl	16(%r8),%ebp
131572c33676SMaxim Ag
131672c33676SMaxim Ag	movdqa	64(%r11),%xmm6
131772c33676SMaxim Ag	movdqa	0(%r11),%xmm9
131872c33676SMaxim Ag	movdqu	0(%r9),%xmm0
131972c33676SMaxim Ag	movdqu	16(%r9),%xmm1
132072c33676SMaxim Ag	movdqu	32(%r9),%xmm2
132172c33676SMaxim Ag	movdqu	48(%r9),%xmm3
132272c33676SMaxim Ag.byte	102,15,56,0,198
132372c33676SMaxim Ag	addq	$64,%r9
132472c33676SMaxim Ag.byte	102,15,56,0,206
132572c33676SMaxim Ag.byte	102,15,56,0,214
132672c33676SMaxim Ag.byte	102,15,56,0,222
132772c33676SMaxim Ag	paddd	%xmm9,%xmm0
132872c33676SMaxim Ag	paddd	%xmm9,%xmm1
132972c33676SMaxim Ag	paddd	%xmm9,%xmm2
133072c33676SMaxim Ag	movdqa	%xmm0,0(%rsp)
133172c33676SMaxim Ag	psubd	%xmm9,%xmm0
133272c33676SMaxim Ag	movdqa	%xmm1,16(%rsp)
133372c33676SMaxim Ag	psubd	%xmm9,%xmm1
133472c33676SMaxim Ag	movdqa	%xmm2,32(%rsp)
133572c33676SMaxim Ag	psubd	%xmm9,%xmm2
133672c33676SMaxim Ag	jmp	.Loop_ssse3
133772c33676SMaxim Ag.align	16
133872c33676SMaxim Ag.Loop_ssse3:
133972c33676SMaxim Ag	movdqa	%xmm1,%xmm4
134072c33676SMaxim Ag	addl	0(%rsp),%ebp
134172c33676SMaxim Ag	xorl	%edx,%ecx
134272c33676SMaxim Ag	movdqa	%xmm3,%xmm8
134372c33676SMaxim Ag.byte	102,15,58,15,224,8
134472c33676SMaxim Ag	movl	%eax,%edi
134572c33676SMaxim Ag	roll	$5,%eax
134672c33676SMaxim Ag	paddd	%xmm3,%xmm9
134772c33676SMaxim Ag	andl	%ecx,%esi
134872c33676SMaxim Ag	xorl	%edx,%ecx
134972c33676SMaxim Ag	psrldq	$4,%xmm8
135072c33676SMaxim Ag	xorl	%edx,%esi
135172c33676SMaxim Ag	addl	%eax,%ebp
135272c33676SMaxim Ag	pxor	%xmm0,%xmm4
135372c33676SMaxim Ag	rorl	$2,%ebx
135472c33676SMaxim Ag	addl	%esi,%ebp
135572c33676SMaxim Ag	pxor	%xmm2,%xmm8
135672c33676SMaxim Ag	addl	4(%rsp),%edx
135772c33676SMaxim Ag	xorl	%ecx,%ebx
135872c33676SMaxim Ag	movl	%ebp,%esi
135972c33676SMaxim Ag	roll	$5,%ebp
136072c33676SMaxim Ag	pxor	%xmm8,%xmm4
136172c33676SMaxim Ag	andl	%ebx,%edi
136272c33676SMaxim Ag	xorl	%ecx,%ebx
136372c33676SMaxim Ag	movdqa	%xmm9,48(%rsp)
136472c33676SMaxim Ag	xorl	%ecx,%edi
136572c33676SMaxim Ag	addl	%ebp,%edx
136672c33676SMaxim Ag	movdqa	%xmm4,%xmm10
136772c33676SMaxim Ag	movdqa	%xmm4,%xmm8
136872c33676SMaxim Ag	rorl	$7,%eax
136972c33676SMaxim Ag	addl	%edi,%edx
137072c33676SMaxim Ag	addl	8(%rsp),%ecx
137172c33676SMaxim Ag	xorl	%ebx,%eax
137272c33676SMaxim Ag	pslldq	$12,%xmm10
137372c33676SMaxim Ag	paddd	%xmm4,%xmm4
137472c33676SMaxim Ag	movl	%edx,%edi
137572c33676SMaxim Ag	roll	$5,%edx
137672c33676SMaxim Ag	andl	%eax,%esi
137772c33676SMaxim Ag	xorl	%ebx,%eax
137872c33676SMaxim Ag	psrld	$31,%xmm8
137972c33676SMaxim Ag	xorl	%ebx,%esi
138072c33676SMaxim Ag	addl	%edx,%ecx
138172c33676SMaxim Ag	movdqa	%xmm10,%xmm9
138272c33676SMaxim Ag	rorl	$7,%ebp
138372c33676SMaxim Ag	addl	%esi,%ecx
138472c33676SMaxim Ag	psrld	$30,%xmm10
138572c33676SMaxim Ag	por	%xmm8,%xmm4
138672c33676SMaxim Ag	addl	12(%rsp),%ebx
138772c33676SMaxim Ag	xorl	%eax,%ebp
138872c33676SMaxim Ag	movl	%ecx,%esi
138972c33676SMaxim Ag	roll	$5,%ecx
139072c33676SMaxim Ag	pslld	$2,%xmm9
139172c33676SMaxim Ag	pxor	%xmm10,%xmm4
139272c33676SMaxim Ag	andl	%ebp,%edi
139372c33676SMaxim Ag	xorl	%eax,%ebp
139472c33676SMaxim Ag	movdqa	0(%r11),%xmm10
139572c33676SMaxim Ag	xorl	%eax,%edi
139672c33676SMaxim Ag	addl	%ecx,%ebx
139772c33676SMaxim Ag	pxor	%xmm9,%xmm4
139872c33676SMaxim Ag	rorl	$7,%edx
139972c33676SMaxim Ag	addl	%edi,%ebx
140072c33676SMaxim Ag	movdqa	%xmm2,%xmm5
140172c33676SMaxim Ag	addl	16(%rsp),%eax
140272c33676SMaxim Ag	xorl	%ebp,%edx
140372c33676SMaxim Ag	movdqa	%xmm4,%xmm9
140472c33676SMaxim Ag.byte	102,15,58,15,233,8
140572c33676SMaxim Ag	movl	%ebx,%edi
140672c33676SMaxim Ag	roll	$5,%ebx
140772c33676SMaxim Ag	paddd	%xmm4,%xmm10
140872c33676SMaxim Ag	andl	%edx,%esi
140972c33676SMaxim Ag	xorl	%ebp,%edx
141072c33676SMaxim Ag	psrldq	$4,%xmm9
141172c33676SMaxim Ag	xorl	%ebp,%esi
141272c33676SMaxim Ag	addl	%ebx,%eax
141372c33676SMaxim Ag	pxor	%xmm1,%xmm5
141472c33676SMaxim Ag	rorl	$7,%ecx
141572c33676SMaxim Ag	addl	%esi,%eax
141672c33676SMaxim Ag	pxor	%xmm3,%xmm9
141772c33676SMaxim Ag	addl	20(%rsp),%ebp
141872c33676SMaxim Ag	xorl	%edx,%ecx
141972c33676SMaxim Ag	movl	%eax,%esi
142072c33676SMaxim Ag	roll	$5,%eax
142172c33676SMaxim Ag	pxor	%xmm9,%xmm5
142272c33676SMaxim Ag	andl	%ecx,%edi
142372c33676SMaxim Ag	xorl	%edx,%ecx
142472c33676SMaxim Ag	movdqa	%xmm10,0(%rsp)
142572c33676SMaxim Ag	xorl	%edx,%edi
142672c33676SMaxim Ag	addl	%eax,%ebp
142772c33676SMaxim Ag	movdqa	%xmm5,%xmm8
142872c33676SMaxim Ag	movdqa	%xmm5,%xmm9
142972c33676SMaxim Ag	rorl	$7,%ebx
143072c33676SMaxim Ag	addl	%edi,%ebp
143172c33676SMaxim Ag	addl	24(%rsp),%edx
143272c33676SMaxim Ag	xorl	%ecx,%ebx
143372c33676SMaxim Ag	pslldq	$12,%xmm8
143472c33676SMaxim Ag	paddd	%xmm5,%xmm5
143572c33676SMaxim Ag	movl	%ebp,%edi
143672c33676SMaxim Ag	roll	$5,%ebp
143772c33676SMaxim Ag	andl	%ebx,%esi
143872c33676SMaxim Ag	xorl	%ecx,%ebx
143972c33676SMaxim Ag	psrld	$31,%xmm9
144072c33676SMaxim Ag	xorl	%ecx,%esi
144172c33676SMaxim Ag	addl	%ebp,%edx
144272c33676SMaxim Ag	movdqa	%xmm8,%xmm10
144372c33676SMaxim Ag	rorl	$7,%eax
144472c33676SMaxim Ag	addl	%esi,%edx
144572c33676SMaxim Ag	psrld	$30,%xmm8
144672c33676SMaxim Ag	por	%xmm9,%xmm5
144772c33676SMaxim Ag	addl	28(%rsp),%ecx
144872c33676SMaxim Ag	xorl	%ebx,%eax
144972c33676SMaxim Ag	movl	%edx,%esi
145072c33676SMaxim Ag	roll	$5,%edx
145172c33676SMaxim Ag	pslld	$2,%xmm10
145272c33676SMaxim Ag	pxor	%xmm8,%xmm5
145372c33676SMaxim Ag	andl	%eax,%edi
145472c33676SMaxim Ag	xorl	%ebx,%eax
145572c33676SMaxim Ag	movdqa	16(%r11),%xmm8
145672c33676SMaxim Ag	xorl	%ebx,%edi
145772c33676SMaxim Ag	addl	%edx,%ecx
145872c33676SMaxim Ag	pxor	%xmm10,%xmm5
145972c33676SMaxim Ag	rorl	$7,%ebp
146072c33676SMaxim Ag	addl	%edi,%ecx
146172c33676SMaxim Ag	movdqa	%xmm3,%xmm6
146272c33676SMaxim Ag	addl	32(%rsp),%ebx
146372c33676SMaxim Ag	xorl	%eax,%ebp
146472c33676SMaxim Ag	movdqa	%xmm5,%xmm10
146572c33676SMaxim Ag.byte	102,15,58,15,242,8
146672c33676SMaxim Ag	movl	%ecx,%edi
146772c33676SMaxim Ag	roll	$5,%ecx
146872c33676SMaxim Ag	paddd	%xmm5,%xmm8
146972c33676SMaxim Ag	andl	%ebp,%esi
147072c33676SMaxim Ag	xorl	%eax,%ebp
147172c33676SMaxim Ag	psrldq	$4,%xmm10
147272c33676SMaxim Ag	xorl	%eax,%esi
147372c33676SMaxim Ag	addl	%ecx,%ebx
147472c33676SMaxim Ag	pxor	%xmm2,%xmm6
147572c33676SMaxim Ag	rorl	$7,%edx
147672c33676SMaxim Ag	addl	%esi,%ebx
147772c33676SMaxim Ag	pxor	%xmm4,%xmm10
147872c33676SMaxim Ag	addl	36(%rsp),%eax
147972c33676SMaxim Ag	xorl	%ebp,%edx
148072c33676SMaxim Ag	movl	%ebx,%esi
148172c33676SMaxim Ag	roll	$5,%ebx
148272c33676SMaxim Ag	pxor	%xmm10,%xmm6
148372c33676SMaxim Ag	andl	%edx,%edi
148472c33676SMaxim Ag	xorl	%ebp,%edx
148572c33676SMaxim Ag	movdqa	%xmm8,16(%rsp)
148672c33676SMaxim Ag	xorl	%ebp,%edi
148772c33676SMaxim Ag	addl	%ebx,%eax
148872c33676SMaxim Ag	movdqa	%xmm6,%xmm9
148972c33676SMaxim Ag	movdqa	%xmm6,%xmm10
149072c33676SMaxim Ag	rorl	$7,%ecx
149172c33676SMaxim Ag	addl	%edi,%eax
149272c33676SMaxim Ag	addl	40(%rsp),%ebp
149372c33676SMaxim Ag	xorl	%edx,%ecx
149472c33676SMaxim Ag	pslldq	$12,%xmm9
149572c33676SMaxim Ag	paddd	%xmm6,%xmm6
149672c33676SMaxim Ag	movl	%eax,%edi
149772c33676SMaxim Ag	roll	$5,%eax
149872c33676SMaxim Ag	andl	%ecx,%esi
149972c33676SMaxim Ag	xorl	%edx,%ecx
150072c33676SMaxim Ag	psrld	$31,%xmm10
150172c33676SMaxim Ag	xorl	%edx,%esi
150272c33676SMaxim Ag	addl	%eax,%ebp
150372c33676SMaxim Ag	movdqa	%xmm9,%xmm8
150472c33676SMaxim Ag	rorl	$7,%ebx
150572c33676SMaxim Ag	addl	%esi,%ebp
150672c33676SMaxim Ag	psrld	$30,%xmm9
150772c33676SMaxim Ag	por	%xmm10,%xmm6
150872c33676SMaxim Ag	addl	44(%rsp),%edx
150972c33676SMaxim Ag	xorl	%ecx,%ebx
151072c33676SMaxim Ag	movl	%ebp,%esi
151172c33676SMaxim Ag	roll	$5,%ebp
151272c33676SMaxim Ag	pslld	$2,%xmm8
151372c33676SMaxim Ag	pxor	%xmm9,%xmm6
151472c33676SMaxim Ag	andl	%ebx,%edi
151572c33676SMaxim Ag	xorl	%ecx,%ebx
151672c33676SMaxim Ag	movdqa	16(%r11),%xmm9
151772c33676SMaxim Ag	xorl	%ecx,%edi
151872c33676SMaxim Ag	addl	%ebp,%edx
151972c33676SMaxim Ag	pxor	%xmm8,%xmm6
152072c33676SMaxim Ag	rorl	$7,%eax
152172c33676SMaxim Ag	addl	%edi,%edx
152272c33676SMaxim Ag	movdqa	%xmm4,%xmm7
152372c33676SMaxim Ag	addl	48(%rsp),%ecx
152472c33676SMaxim Ag	xorl	%ebx,%eax
152572c33676SMaxim Ag	movdqa	%xmm6,%xmm8
152672c33676SMaxim Ag.byte	102,15,58,15,251,8
152772c33676SMaxim Ag	movl	%edx,%edi
152872c33676SMaxim Ag	roll	$5,%edx
152972c33676SMaxim Ag	paddd	%xmm6,%xmm9
153072c33676SMaxim Ag	andl	%eax,%esi
153172c33676SMaxim Ag	xorl	%ebx,%eax
153272c33676SMaxim Ag	psrldq	$4,%xmm8
153372c33676SMaxim Ag	xorl	%ebx,%esi
153472c33676SMaxim Ag	addl	%edx,%ecx
153572c33676SMaxim Ag	pxor	%xmm3,%xmm7
153672c33676SMaxim Ag	rorl	$7,%ebp
153772c33676SMaxim Ag	addl	%esi,%ecx
153872c33676SMaxim Ag	pxor	%xmm5,%xmm8
153972c33676SMaxim Ag	addl	52(%rsp),%ebx
154072c33676SMaxim Ag	xorl	%eax,%ebp
154172c33676SMaxim Ag	movl	%ecx,%esi
154272c33676SMaxim Ag	roll	$5,%ecx
154372c33676SMaxim Ag	pxor	%xmm8,%xmm7
154472c33676SMaxim Ag	andl	%ebp,%edi
154572c33676SMaxim Ag	xorl	%eax,%ebp
154672c33676SMaxim Ag	movdqa	%xmm9,32(%rsp)
154772c33676SMaxim Ag	xorl	%eax,%edi
154872c33676SMaxim Ag	addl	%ecx,%ebx
154972c33676SMaxim Ag	movdqa	%xmm7,%xmm10
155072c33676SMaxim Ag	movdqa	%xmm7,%xmm8
155172c33676SMaxim Ag	rorl	$7,%edx
155272c33676SMaxim Ag	addl	%edi,%ebx
155372c33676SMaxim Ag	addl	56(%rsp),%eax
155472c33676SMaxim Ag	xorl	%ebp,%edx
155572c33676SMaxim Ag	pslldq	$12,%xmm10
155672c33676SMaxim Ag	paddd	%xmm7,%xmm7
155772c33676SMaxim Ag	movl	%ebx,%edi
155872c33676SMaxim Ag	roll	$5,%ebx
155972c33676SMaxim Ag	andl	%edx,%esi
156072c33676SMaxim Ag	xorl	%ebp,%edx
156172c33676SMaxim Ag	psrld	$31,%xmm8
156272c33676SMaxim Ag	xorl	%ebp,%esi
156372c33676SMaxim Ag	addl	%ebx,%eax
156472c33676SMaxim Ag	movdqa	%xmm10,%xmm9
156572c33676SMaxim Ag	rorl	$7,%ecx
156672c33676SMaxim Ag	addl	%esi,%eax
156772c33676SMaxim Ag	psrld	$30,%xmm10
156872c33676SMaxim Ag	por	%xmm8,%xmm7
156972c33676SMaxim Ag	addl	60(%rsp),%ebp
157072c33676SMaxim Ag	xorl	%edx,%ecx
157172c33676SMaxim Ag	movl	%eax,%esi
157272c33676SMaxim Ag	roll	$5,%eax
157372c33676SMaxim Ag	pslld	$2,%xmm9
157472c33676SMaxim Ag	pxor	%xmm10,%xmm7
157572c33676SMaxim Ag	andl	%ecx,%edi
157672c33676SMaxim Ag	xorl	%edx,%ecx
157772c33676SMaxim Ag	movdqa	16(%r11),%xmm10
157872c33676SMaxim Ag	xorl	%edx,%edi
157972c33676SMaxim Ag	addl	%eax,%ebp
158072c33676SMaxim Ag	pxor	%xmm9,%xmm7
158172c33676SMaxim Ag	rorl	$7,%ebx
158272c33676SMaxim Ag	addl	%edi,%ebp
158372c33676SMaxim Ag	movdqa	%xmm7,%xmm9
158472c33676SMaxim Ag	addl	0(%rsp),%edx
158572c33676SMaxim Ag	pxor	%xmm4,%xmm0
158672c33676SMaxim Ag.byte	102,68,15,58,15,206,8
158772c33676SMaxim Ag	xorl	%ecx,%ebx
158872c33676SMaxim Ag	movl	%ebp,%edi
158972c33676SMaxim Ag	roll	$5,%ebp
159072c33676SMaxim Ag	pxor	%xmm1,%xmm0
159172c33676SMaxim Ag	andl	%ebx,%esi
159272c33676SMaxim Ag	xorl	%ecx,%ebx
159372c33676SMaxim Ag	movdqa	%xmm10,%xmm8
159472c33676SMaxim Ag	paddd	%xmm7,%xmm10
159572c33676SMaxim Ag	xorl	%ecx,%esi
159672c33676SMaxim Ag	addl	%ebp,%edx
159772c33676SMaxim Ag	pxor	%xmm9,%xmm0
159872c33676SMaxim Ag	rorl	$7,%eax
159972c33676SMaxim Ag	addl	%esi,%edx
160072c33676SMaxim Ag	addl	4(%rsp),%ecx
160172c33676SMaxim Ag	xorl	%ebx,%eax
160272c33676SMaxim Ag	movdqa	%xmm0,%xmm9
160372c33676SMaxim Ag	movdqa	%xmm10,48(%rsp)
160472c33676SMaxim Ag	movl	%edx,%esi
160572c33676SMaxim Ag	roll	$5,%edx
160672c33676SMaxim Ag	andl	%eax,%edi
160772c33676SMaxim Ag	xorl	%ebx,%eax
160872c33676SMaxim Ag	pslld	$2,%xmm0
160972c33676SMaxim Ag	xorl	%ebx,%edi
161072c33676SMaxim Ag	addl	%edx,%ecx
161172c33676SMaxim Ag	psrld	$30,%xmm9
161272c33676SMaxim Ag	rorl	$7,%ebp
161372c33676SMaxim Ag	addl	%edi,%ecx
161472c33676SMaxim Ag	addl	8(%rsp),%ebx
161572c33676SMaxim Ag	xorl	%eax,%ebp
161672c33676SMaxim Ag	movl	%ecx,%edi
161772c33676SMaxim Ag	roll	$5,%ecx
161872c33676SMaxim Ag	por	%xmm9,%xmm0
161972c33676SMaxim Ag	andl	%ebp,%esi
162072c33676SMaxim Ag	xorl	%eax,%ebp
162172c33676SMaxim Ag	movdqa	%xmm0,%xmm10
162272c33676SMaxim Ag	xorl	%eax,%esi
162372c33676SMaxim Ag	addl	%ecx,%ebx
162472c33676SMaxim Ag	rorl	$7,%edx
162572c33676SMaxim Ag	addl	%esi,%ebx
162672c33676SMaxim Ag	addl	12(%rsp),%eax
162772c33676SMaxim Ag	xorl	%ebp,%edx
162872c33676SMaxim Ag	movl	%ebx,%esi
162972c33676SMaxim Ag	roll	$5,%ebx
163072c33676SMaxim Ag	andl	%edx,%edi
163172c33676SMaxim Ag	xorl	%ebp,%edx
163272c33676SMaxim Ag	xorl	%ebp,%edi
163372c33676SMaxim Ag	addl	%ebx,%eax
163472c33676SMaxim Ag	rorl	$7,%ecx
163572c33676SMaxim Ag	addl	%edi,%eax
163672c33676SMaxim Ag	addl	16(%rsp),%ebp
163772c33676SMaxim Ag	pxor	%xmm5,%xmm1
163872c33676SMaxim Ag.byte	102,68,15,58,15,215,8
163972c33676SMaxim Ag	xorl	%edx,%esi
164072c33676SMaxim Ag	movl	%eax,%edi
164172c33676SMaxim Ag	roll	$5,%eax
164272c33676SMaxim Ag	pxor	%xmm2,%xmm1
164372c33676SMaxim Ag	xorl	%ecx,%esi
164472c33676SMaxim Ag	addl	%eax,%ebp
164572c33676SMaxim Ag	movdqa	%xmm8,%xmm9
164672c33676SMaxim Ag	paddd	%xmm0,%xmm8
164772c33676SMaxim Ag	rorl	$7,%ebx
164872c33676SMaxim Ag	addl	%esi,%ebp
164972c33676SMaxim Ag	pxor	%xmm10,%xmm1
165072c33676SMaxim Ag	addl	20(%rsp),%edx
165172c33676SMaxim Ag	xorl	%ecx,%edi
165272c33676SMaxim Ag	movl	%ebp,%esi
165372c33676SMaxim Ag	roll	$5,%ebp
165472c33676SMaxim Ag	movdqa	%xmm1,%xmm10
165572c33676SMaxim Ag	movdqa	%xmm8,0(%rsp)
165672c33676SMaxim Ag	xorl	%ebx,%edi
165772c33676SMaxim Ag	addl	%ebp,%edx
165872c33676SMaxim Ag	rorl	$7,%eax
165972c33676SMaxim Ag	addl	%edi,%edx
166072c33676SMaxim Ag	pslld	$2,%xmm1
166172c33676SMaxim Ag	addl	24(%rsp),%ecx
166272c33676SMaxim Ag	xorl	%ebx,%esi
166372c33676SMaxim Ag	psrld	$30,%xmm10
166472c33676SMaxim Ag	movl	%edx,%edi
166572c33676SMaxim Ag	roll	$5,%edx
166672c33676SMaxim Ag	xorl	%eax,%esi
166772c33676SMaxim Ag	addl	%edx,%ecx
166872c33676SMaxim Ag	rorl	$7,%ebp
166972c33676SMaxim Ag	addl	%esi,%ecx
167072c33676SMaxim Ag	por	%xmm10,%xmm1
167172c33676SMaxim Ag	addl	28(%rsp),%ebx
167272c33676SMaxim Ag	xorl	%eax,%edi
167372c33676SMaxim Ag	movdqa	%xmm1,%xmm8
167472c33676SMaxim Ag	movl	%ecx,%esi
167572c33676SMaxim Ag	roll	$5,%ecx
167672c33676SMaxim Ag	xorl	%ebp,%edi
167772c33676SMaxim Ag	addl	%ecx,%ebx
167872c33676SMaxim Ag	rorl	$7,%edx
167972c33676SMaxim Ag	addl	%edi,%ebx
168072c33676SMaxim Ag	addl	32(%rsp),%eax
168172c33676SMaxim Ag	pxor	%xmm6,%xmm2
168272c33676SMaxim Ag.byte	102,68,15,58,15,192,8
168372c33676SMaxim Ag	xorl	%ebp,%esi
168472c33676SMaxim Ag	movl	%ebx,%edi
168572c33676SMaxim Ag	roll	$5,%ebx
168672c33676SMaxim Ag	pxor	%xmm3,%xmm2
168772c33676SMaxim Ag	xorl	%edx,%esi
168872c33676SMaxim Ag	addl	%ebx,%eax
168972c33676SMaxim Ag	movdqa	32(%r11),%xmm10
169072c33676SMaxim Ag	paddd	%xmm1,%xmm9
169172c33676SMaxim Ag	rorl	$7,%ecx
169272c33676SMaxim Ag	addl	%esi,%eax
169372c33676SMaxim Ag	pxor	%xmm8,%xmm2
169472c33676SMaxim Ag	addl	36(%rsp),%ebp
169572c33676SMaxim Ag	xorl	%edx,%edi
169672c33676SMaxim Ag	movl	%eax,%esi
169772c33676SMaxim Ag	roll	$5,%eax
169872c33676SMaxim Ag	movdqa	%xmm2,%xmm8
169972c33676SMaxim Ag	movdqa	%xmm9,16(%rsp)
170072c33676SMaxim Ag	xorl	%ecx,%edi
170172c33676SMaxim Ag	addl	%eax,%ebp
170272c33676SMaxim Ag	rorl	$7,%ebx
170372c33676SMaxim Ag	addl	%edi,%ebp
170472c33676SMaxim Ag	pslld	$2,%xmm2
170572c33676SMaxim Ag	addl	40(%rsp),%edx
170672c33676SMaxim Ag	xorl	%ecx,%esi
170772c33676SMaxim Ag	psrld	$30,%xmm8
170872c33676SMaxim Ag	movl	%ebp,%edi
170972c33676SMaxim Ag	roll	$5,%ebp
171072c33676SMaxim Ag	xorl	%ebx,%esi
171172c33676SMaxim Ag	addl	%ebp,%edx
171272c33676SMaxim Ag	rorl	$7,%eax
171372c33676SMaxim Ag	addl	%esi,%edx
171472c33676SMaxim Ag	por	%xmm8,%xmm2
171572c33676SMaxim Ag	addl	44(%rsp),%ecx
171672c33676SMaxim Ag	xorl	%ebx,%edi
171772c33676SMaxim Ag	movdqa	%xmm2,%xmm9
171872c33676SMaxim Ag	movl	%edx,%esi
171972c33676SMaxim Ag	roll	$5,%edx
172072c33676SMaxim Ag	xorl	%eax,%edi
172172c33676SMaxim Ag	addl	%edx,%ecx
172272c33676SMaxim Ag	rorl	$7,%ebp
172372c33676SMaxim Ag	addl	%edi,%ecx
172472c33676SMaxim Ag	addl	48(%rsp),%ebx
172572c33676SMaxim Ag	pxor	%xmm7,%xmm3
172672c33676SMaxim Ag.byte	102,68,15,58,15,201,8
172772c33676SMaxim Ag	xorl	%eax,%esi
172872c33676SMaxim Ag	movl	%ecx,%edi
172972c33676SMaxim Ag	roll	$5,%ecx
173072c33676SMaxim Ag	pxor	%xmm4,%xmm3
173172c33676SMaxim Ag	xorl	%ebp,%esi
173272c33676SMaxim Ag	addl	%ecx,%ebx
173372c33676SMaxim Ag	movdqa	%xmm10,%xmm8
173472c33676SMaxim Ag	paddd	%xmm2,%xmm10
173572c33676SMaxim Ag	rorl	$7,%edx
173672c33676SMaxim Ag	addl	%esi,%ebx
173772c33676SMaxim Ag	pxor	%xmm9,%xmm3
173872c33676SMaxim Ag	addl	52(%rsp),%eax
173972c33676SMaxim Ag	xorl	%ebp,%edi
174072c33676SMaxim Ag	movl	%ebx,%esi
174172c33676SMaxim Ag	roll	$5,%ebx
174272c33676SMaxim Ag	movdqa	%xmm3,%xmm9
174372c33676SMaxim Ag	movdqa	%xmm10,32(%rsp)
174472c33676SMaxim Ag	xorl	%edx,%edi
174572c33676SMaxim Ag	addl	%ebx,%eax
174672c33676SMaxim Ag	rorl	$7,%ecx
174772c33676SMaxim Ag	addl	%edi,%eax
174872c33676SMaxim Ag	pslld	$2,%xmm3
174972c33676SMaxim Ag	addl	56(%rsp),%ebp
175072c33676SMaxim Ag	xorl	%edx,%esi
175172c33676SMaxim Ag	psrld	$30,%xmm9
175272c33676SMaxim Ag	movl	%eax,%edi
175372c33676SMaxim Ag	roll	$5,%eax
175472c33676SMaxim Ag	xorl	%ecx,%esi
175572c33676SMaxim Ag	addl	%eax,%ebp
175672c33676SMaxim Ag	rorl	$7,%ebx
175772c33676SMaxim Ag	addl	%esi,%ebp
175872c33676SMaxim Ag	por	%xmm9,%xmm3
175972c33676SMaxim Ag	addl	60(%rsp),%edx
176072c33676SMaxim Ag	xorl	%ecx,%edi
176172c33676SMaxim Ag	movdqa	%xmm3,%xmm10
176272c33676SMaxim Ag	movl	%ebp,%esi
176372c33676SMaxim Ag	roll	$5,%ebp
176472c33676SMaxim Ag	xorl	%ebx,%edi
176572c33676SMaxim Ag	addl	%ebp,%edx
176672c33676SMaxim Ag	rorl	$7,%eax
176772c33676SMaxim Ag	addl	%edi,%edx
176872c33676SMaxim Ag	addl	0(%rsp),%ecx
176972c33676SMaxim Ag	pxor	%xmm0,%xmm4
177072c33676SMaxim Ag.byte	102,68,15,58,15,210,8
177172c33676SMaxim Ag	xorl	%ebx,%esi
177272c33676SMaxim Ag	movl	%edx,%edi
177372c33676SMaxim Ag	roll	$5,%edx
177472c33676SMaxim Ag	pxor	%xmm5,%xmm4
177572c33676SMaxim Ag	xorl	%eax,%esi
177672c33676SMaxim Ag	addl	%edx,%ecx
177772c33676SMaxim Ag	movdqa	%xmm8,%xmm9
177872c33676SMaxim Ag	paddd	%xmm3,%xmm8
177972c33676SMaxim Ag	rorl	$7,%ebp
178072c33676SMaxim Ag	addl	%esi,%ecx
178172c33676SMaxim Ag	pxor	%xmm10,%xmm4
178272c33676SMaxim Ag	addl	4(%rsp),%ebx
178372c33676SMaxim Ag	xorl	%eax,%edi
178472c33676SMaxim Ag	movl	%ecx,%esi
178572c33676SMaxim Ag	roll	$5,%ecx
178672c33676SMaxim Ag	movdqa	%xmm4,%xmm10
178772c33676SMaxim Ag	movdqa	%xmm8,48(%rsp)
178872c33676SMaxim Ag	xorl	%ebp,%edi
178972c33676SMaxim Ag	addl	%ecx,%ebx
179072c33676SMaxim Ag	rorl	$7,%edx
179172c33676SMaxim Ag	addl	%edi,%ebx
179272c33676SMaxim Ag	pslld	$2,%xmm4
179372c33676SMaxim Ag	addl	8(%rsp),%eax
179472c33676SMaxim Ag	xorl	%ebp,%esi
179572c33676SMaxim Ag	psrld	$30,%xmm10
179672c33676SMaxim Ag	movl	%ebx,%edi
179772c33676SMaxim Ag	roll	$5,%ebx
179872c33676SMaxim Ag	xorl	%edx,%esi
179972c33676SMaxim Ag	addl	%ebx,%eax
180072c33676SMaxim Ag	rorl	$7,%ecx
180172c33676SMaxim Ag	addl	%esi,%eax
180272c33676SMaxim Ag	por	%xmm10,%xmm4
180372c33676SMaxim Ag	addl	12(%rsp),%ebp
180472c33676SMaxim Ag	xorl	%edx,%edi
180572c33676SMaxim Ag	movdqa	%xmm4,%xmm8
180672c33676SMaxim Ag	movl	%eax,%esi
180772c33676SMaxim Ag	roll	$5,%eax
180872c33676SMaxim Ag	xorl	%ecx,%edi
180972c33676SMaxim Ag	addl	%eax,%ebp
181072c33676SMaxim Ag	rorl	$7,%ebx
181172c33676SMaxim Ag	addl	%edi,%ebp
181272c33676SMaxim Ag	addl	16(%rsp),%edx
181372c33676SMaxim Ag	pxor	%xmm1,%xmm5
181472c33676SMaxim Ag.byte	102,68,15,58,15,195,8
181572c33676SMaxim Ag	xorl	%ecx,%esi
181672c33676SMaxim Ag	movl	%ebp,%edi
181772c33676SMaxim Ag	roll	$5,%ebp
181872c33676SMaxim Ag	pxor	%xmm6,%xmm5
181972c33676SMaxim Ag	xorl	%ebx,%esi
182072c33676SMaxim Ag	addl	%ebp,%edx
182172c33676SMaxim Ag	movdqa	%xmm9,%xmm10
182272c33676SMaxim Ag	paddd	%xmm4,%xmm9
182372c33676SMaxim Ag	rorl	$7,%eax
182472c33676SMaxim Ag	addl	%esi,%edx
182572c33676SMaxim Ag	pxor	%xmm8,%xmm5
182672c33676SMaxim Ag	addl	20(%rsp),%ecx
182772c33676SMaxim Ag	xorl	%ebx,%edi
182872c33676SMaxim Ag	movl	%edx,%esi
182972c33676SMaxim Ag	roll	$5,%edx
183072c33676SMaxim Ag	movdqa	%xmm5,%xmm8
183172c33676SMaxim Ag	movdqa	%xmm9,0(%rsp)
183272c33676SMaxim Ag	xorl	%eax,%edi
183372c33676SMaxim Ag	addl	%edx,%ecx
183472c33676SMaxim Ag	rorl	$7,%ebp
183572c33676SMaxim Ag	addl	%edi,%ecx
183672c33676SMaxim Ag	pslld	$2,%xmm5
183772c33676SMaxim Ag	addl	24(%rsp),%ebx
183872c33676SMaxim Ag	xorl	%eax,%esi
183972c33676SMaxim Ag	psrld	$30,%xmm8
184072c33676SMaxim Ag	movl	%ecx,%edi
184172c33676SMaxim Ag	roll	$5,%ecx
184272c33676SMaxim Ag	xorl	%ebp,%esi
184372c33676SMaxim Ag	addl	%ecx,%ebx
184472c33676SMaxim Ag	rorl	$7,%edx
184572c33676SMaxim Ag	addl	%esi,%ebx
184672c33676SMaxim Ag	por	%xmm8,%xmm5
184772c33676SMaxim Ag	addl	28(%rsp),%eax
184872c33676SMaxim Ag	xorl	%ebp,%edi
184972c33676SMaxim Ag	movdqa	%xmm5,%xmm9
185072c33676SMaxim Ag	movl	%ebx,%esi
185172c33676SMaxim Ag	roll	$5,%ebx
185272c33676SMaxim Ag	xorl	%edx,%edi
185372c33676SMaxim Ag	addl	%ebx,%eax
185472c33676SMaxim Ag	rorl	$7,%ecx
185572c33676SMaxim Ag	addl	%edi,%eax
185672c33676SMaxim Ag	movl	%ecx,%edi
185772c33676SMaxim Ag	pxor	%xmm2,%xmm6
185872c33676SMaxim Ag.byte	102,68,15,58,15,204,8
185972c33676SMaxim Ag	xorl	%edx,%ecx
186072c33676SMaxim Ag	addl	32(%rsp),%ebp
186172c33676SMaxim Ag	andl	%edx,%edi
186272c33676SMaxim Ag	pxor	%xmm7,%xmm6
186372c33676SMaxim Ag	andl	%ecx,%esi
186472c33676SMaxim Ag	rorl	$7,%ebx
186572c33676SMaxim Ag	movdqa	%xmm10,%xmm8
186672c33676SMaxim Ag	paddd	%xmm5,%xmm10
186772c33676SMaxim Ag	addl	%edi,%ebp
186872c33676SMaxim Ag	movl	%eax,%edi
186972c33676SMaxim Ag	pxor	%xmm9,%xmm6
187072c33676SMaxim Ag	roll	$5,%eax
187172c33676SMaxim Ag	addl	%esi,%ebp
187272c33676SMaxim Ag	xorl	%edx,%ecx
187372c33676SMaxim Ag	addl	%eax,%ebp
187472c33676SMaxim Ag	movdqa	%xmm6,%xmm9
187572c33676SMaxim Ag	movdqa	%xmm10,16(%rsp)
187672c33676SMaxim Ag	movl	%ebx,%esi
187772c33676SMaxim Ag	xorl	%ecx,%ebx
187872c33676SMaxim Ag	addl	36(%rsp),%edx
187972c33676SMaxim Ag	andl	%ecx,%esi
188072c33676SMaxim Ag	pslld	$2,%xmm6
188172c33676SMaxim Ag	andl	%ebx,%edi
188272c33676SMaxim Ag	rorl	$7,%eax
188372c33676SMaxim Ag	psrld	$30,%xmm9
188472c33676SMaxim Ag	addl	%esi,%edx
188572c33676SMaxim Ag	movl	%ebp,%esi
188672c33676SMaxim Ag	roll	$5,%ebp
188772c33676SMaxim Ag	addl	%edi,%edx
188872c33676SMaxim Ag	xorl	%ecx,%ebx
188972c33676SMaxim Ag	addl	%ebp,%edx
189072c33676SMaxim Ag	por	%xmm9,%xmm6
189172c33676SMaxim Ag	movl	%eax,%edi
189272c33676SMaxim Ag	xorl	%ebx,%eax
189372c33676SMaxim Ag	movdqa	%xmm6,%xmm10
189472c33676SMaxim Ag	addl	40(%rsp),%ecx
189572c33676SMaxim Ag	andl	%ebx,%edi
189672c33676SMaxim Ag	andl	%eax,%esi
189772c33676SMaxim Ag	rorl	$7,%ebp
189872c33676SMaxim Ag	addl	%edi,%ecx
189972c33676SMaxim Ag	movl	%edx,%edi
190072c33676SMaxim Ag	roll	$5,%edx
190172c33676SMaxim Ag	addl	%esi,%ecx
190272c33676SMaxim Ag	xorl	%ebx,%eax
190372c33676SMaxim Ag	addl	%edx,%ecx
190472c33676SMaxim Ag	movl	%ebp,%esi
190572c33676SMaxim Ag	xorl	%eax,%ebp
190672c33676SMaxim Ag	addl	44(%rsp),%ebx
190772c33676SMaxim Ag	andl	%eax,%esi
190872c33676SMaxim Ag	andl	%ebp,%edi
190972c33676SMaxim Ag	rorl	$7,%edx
191072c33676SMaxim Ag	addl	%esi,%ebx
191172c33676SMaxim Ag	movl	%ecx,%esi
191272c33676SMaxim Ag	roll	$5,%ecx
191372c33676SMaxim Ag	addl	%edi,%ebx
191472c33676SMaxim Ag	xorl	%eax,%ebp
191572c33676SMaxim Ag	addl	%ecx,%ebx
191672c33676SMaxim Ag	movl	%edx,%edi
191772c33676SMaxim Ag	pxor	%xmm3,%xmm7
191872c33676SMaxim Ag.byte	102,68,15,58,15,213,8
191972c33676SMaxim Ag	xorl	%ebp,%edx
192072c33676SMaxim Ag	addl	48(%rsp),%eax
192172c33676SMaxim Ag	andl	%ebp,%edi
192272c33676SMaxim Ag	pxor	%xmm0,%xmm7
192372c33676SMaxim Ag	andl	%edx,%esi
192472c33676SMaxim Ag	rorl	$7,%ecx
192572c33676SMaxim Ag	movdqa	48(%r11),%xmm9
192672c33676SMaxim Ag	paddd	%xmm6,%xmm8
192772c33676SMaxim Ag	addl	%edi,%eax
192872c33676SMaxim Ag	movl	%ebx,%edi
192972c33676SMaxim Ag	pxor	%xmm10,%xmm7
193072c33676SMaxim Ag	roll	$5,%ebx
193172c33676SMaxim Ag	addl	%esi,%eax
193272c33676SMaxim Ag	xorl	%ebp,%edx
193372c33676SMaxim Ag	addl	%ebx,%eax
193472c33676SMaxim Ag	movdqa	%xmm7,%xmm10
193572c33676SMaxim Ag	movdqa	%xmm8,32(%rsp)
193672c33676SMaxim Ag	movl	%ecx,%esi
193772c33676SMaxim Ag	xorl	%edx,%ecx
193872c33676SMaxim Ag	addl	52(%rsp),%ebp
193972c33676SMaxim Ag	andl	%edx,%esi
194072c33676SMaxim Ag	pslld	$2,%xmm7
194172c33676SMaxim Ag	andl	%ecx,%edi
194272c33676SMaxim Ag	rorl	$7,%ebx
194372c33676SMaxim Ag	psrld	$30,%xmm10
194472c33676SMaxim Ag	addl	%esi,%ebp
194572c33676SMaxim Ag	movl	%eax,%esi
194672c33676SMaxim Ag	roll	$5,%eax
194772c33676SMaxim Ag	addl	%edi,%ebp
194872c33676SMaxim Ag	xorl	%edx,%ecx
194972c33676SMaxim Ag	addl	%eax,%ebp
195072c33676SMaxim Ag	por	%xmm10,%xmm7
195172c33676SMaxim Ag	movl	%ebx,%edi
195272c33676SMaxim Ag	xorl	%ecx,%ebx
195372c33676SMaxim Ag	movdqa	%xmm7,%xmm8
195472c33676SMaxim Ag	addl	56(%rsp),%edx
195572c33676SMaxim Ag	andl	%ecx,%edi
195672c33676SMaxim Ag	andl	%ebx,%esi
195772c33676SMaxim Ag	rorl	$7,%eax
195872c33676SMaxim Ag	addl	%edi,%edx
195972c33676SMaxim Ag	movl	%ebp,%edi
196072c33676SMaxim Ag	roll	$5,%ebp
196172c33676SMaxim Ag	addl	%esi,%edx
196272c33676SMaxim Ag	xorl	%ecx,%ebx
196372c33676SMaxim Ag	addl	%ebp,%edx
196472c33676SMaxim Ag	movl	%eax,%esi
196572c33676SMaxim Ag	xorl	%ebx,%eax
196672c33676SMaxim Ag	addl	60(%rsp),%ecx
196772c33676SMaxim Ag	andl	%ebx,%esi
196872c33676SMaxim Ag	andl	%eax,%edi
196972c33676SMaxim Ag	rorl	$7,%ebp
197072c33676SMaxim Ag	addl	%esi,%ecx
197172c33676SMaxim Ag	movl	%edx,%esi
197272c33676SMaxim Ag	roll	$5,%edx
197372c33676SMaxim Ag	addl	%edi,%ecx
197472c33676SMaxim Ag	xorl	%ebx,%eax
197572c33676SMaxim Ag	addl	%edx,%ecx
197672c33676SMaxim Ag	movl	%ebp,%edi
197772c33676SMaxim Ag	pxor	%xmm4,%xmm0
197872c33676SMaxim Ag.byte	102,68,15,58,15,198,8
197972c33676SMaxim Ag	xorl	%eax,%ebp
198072c33676SMaxim Ag	addl	0(%rsp),%ebx
198172c33676SMaxim Ag	andl	%eax,%edi
198272c33676SMaxim Ag	pxor	%xmm1,%xmm0
198372c33676SMaxim Ag	andl	%ebp,%esi
198472c33676SMaxim Ag	rorl	$7,%edx
198572c33676SMaxim Ag	movdqa	%xmm9,%xmm10
198672c33676SMaxim Ag	paddd	%xmm7,%xmm9
198772c33676SMaxim Ag	addl	%edi,%ebx
198872c33676SMaxim Ag	movl	%ecx,%edi
198972c33676SMaxim Ag	pxor	%xmm8,%xmm0
199072c33676SMaxim Ag	roll	$5,%ecx
199172c33676SMaxim Ag	addl	%esi,%ebx
199272c33676SMaxim Ag	xorl	%eax,%ebp
199372c33676SMaxim Ag	addl	%ecx,%ebx
199472c33676SMaxim Ag	movdqa	%xmm0,%xmm8
199572c33676SMaxim Ag	movdqa	%xmm9,48(%rsp)
199672c33676SMaxim Ag	movl	%edx,%esi
199772c33676SMaxim Ag	xorl	%ebp,%edx
199872c33676SMaxim Ag	addl	4(%rsp),%eax
199972c33676SMaxim Ag	andl	%ebp,%esi
200072c33676SMaxim Ag	pslld	$2,%xmm0
200172c33676SMaxim Ag	andl	%edx,%edi
200272c33676SMaxim Ag	rorl	$7,%ecx
200372c33676SMaxim Ag	psrld	$30,%xmm8
200472c33676SMaxim Ag	addl	%esi,%eax
200572c33676SMaxim Ag	movl	%ebx,%esi
200672c33676SMaxim Ag	roll	$5,%ebx
200772c33676SMaxim Ag	addl	%edi,%eax
200872c33676SMaxim Ag	xorl	%ebp,%edx
200972c33676SMaxim Ag	addl	%ebx,%eax
201072c33676SMaxim Ag	por	%xmm8,%xmm0
201172c33676SMaxim Ag	movl	%ecx,%edi
201272c33676SMaxim Ag	xorl	%edx,%ecx
201372c33676SMaxim Ag	movdqa	%xmm0,%xmm9
201472c33676SMaxim Ag	addl	8(%rsp),%ebp
201572c33676SMaxim Ag	andl	%edx,%edi
201672c33676SMaxim Ag	andl	%ecx,%esi
201772c33676SMaxim Ag	rorl	$7,%ebx
201872c33676SMaxim Ag	addl	%edi,%ebp
201972c33676SMaxim Ag	movl	%eax,%edi
202072c33676SMaxim Ag	roll	$5,%eax
202172c33676SMaxim Ag	addl	%esi,%ebp
202272c33676SMaxim Ag	xorl	%edx,%ecx
202372c33676SMaxim Ag	addl	%eax,%ebp
202472c33676SMaxim Ag	movl	%ebx,%esi
202572c33676SMaxim Ag	xorl	%ecx,%ebx
202672c33676SMaxim Ag	addl	12(%rsp),%edx
202772c33676SMaxim Ag	andl	%ecx,%esi
202872c33676SMaxim Ag	andl	%ebx,%edi
202972c33676SMaxim Ag	rorl	$7,%eax
203072c33676SMaxim Ag	addl	%esi,%edx
203172c33676SMaxim Ag	movl	%ebp,%esi
203272c33676SMaxim Ag	roll	$5,%ebp
203372c33676SMaxim Ag	addl	%edi,%edx
203472c33676SMaxim Ag	xorl	%ecx,%ebx
203572c33676SMaxim Ag	addl	%ebp,%edx
203672c33676SMaxim Ag	movl	%eax,%edi
203772c33676SMaxim Ag	pxor	%xmm5,%xmm1
203872c33676SMaxim Ag.byte	102,68,15,58,15,207,8
203972c33676SMaxim Ag	xorl	%ebx,%eax
204072c33676SMaxim Ag	addl	16(%rsp),%ecx
204172c33676SMaxim Ag	andl	%ebx,%edi
204272c33676SMaxim Ag	pxor	%xmm2,%xmm1
204372c33676SMaxim Ag	andl	%eax,%esi
204472c33676SMaxim Ag	rorl	$7,%ebp
204572c33676SMaxim Ag	movdqa	%xmm10,%xmm8
204672c33676SMaxim Ag	paddd	%xmm0,%xmm10
204772c33676SMaxim Ag	addl	%edi,%ecx
204872c33676SMaxim Ag	movl	%edx,%edi
204972c33676SMaxim Ag	pxor	%xmm9,%xmm1
205072c33676SMaxim Ag	roll	$5,%edx
205172c33676SMaxim Ag	addl	%esi,%ecx
205272c33676SMaxim Ag	xorl	%ebx,%eax
205372c33676SMaxim Ag	addl	%edx,%ecx
205472c33676SMaxim Ag	movdqa	%xmm1,%xmm9
205572c33676SMaxim Ag	movdqa	%xmm10,0(%rsp)
205672c33676SMaxim Ag	movl	%ebp,%esi
205772c33676SMaxim Ag	xorl	%eax,%ebp
205872c33676SMaxim Ag	addl	20(%rsp),%ebx
205972c33676SMaxim Ag	andl	%eax,%esi
206072c33676SMaxim Ag	pslld	$2,%xmm1
206172c33676SMaxim Ag	andl	%ebp,%edi
206272c33676SMaxim Ag	rorl	$7,%edx
206372c33676SMaxim Ag	psrld	$30,%xmm9
206472c33676SMaxim Ag	addl	%esi,%ebx
206572c33676SMaxim Ag	movl	%ecx,%esi
206672c33676SMaxim Ag	roll	$5,%ecx
206772c33676SMaxim Ag	addl	%edi,%ebx
206872c33676SMaxim Ag	xorl	%eax,%ebp
206972c33676SMaxim Ag	addl	%ecx,%ebx
207072c33676SMaxim Ag	por	%xmm9,%xmm1
207172c33676SMaxim Ag	movl	%edx,%edi
207272c33676SMaxim Ag	xorl	%ebp,%edx
207372c33676SMaxim Ag	movdqa	%xmm1,%xmm10
207472c33676SMaxim Ag	addl	24(%rsp),%eax
207572c33676SMaxim Ag	andl	%ebp,%edi
207672c33676SMaxim Ag	andl	%edx,%esi
207772c33676SMaxim Ag	rorl	$7,%ecx
207872c33676SMaxim Ag	addl	%edi,%eax
207972c33676SMaxim Ag	movl	%ebx,%edi
208072c33676SMaxim Ag	roll	$5,%ebx
208172c33676SMaxim Ag	addl	%esi,%eax
208272c33676SMaxim Ag	xorl	%ebp,%edx
208372c33676SMaxim Ag	addl	%ebx,%eax
208472c33676SMaxim Ag	movl	%ecx,%esi
208572c33676SMaxim Ag	xorl	%edx,%ecx
208672c33676SMaxim Ag	addl	28(%rsp),%ebp
208772c33676SMaxim Ag	andl	%edx,%esi
208872c33676SMaxim Ag	andl	%ecx,%edi
208972c33676SMaxim Ag	rorl	$7,%ebx
209072c33676SMaxim Ag	addl	%esi,%ebp
209172c33676SMaxim Ag	movl	%eax,%esi
209272c33676SMaxim Ag	roll	$5,%eax
209372c33676SMaxim Ag	addl	%edi,%ebp
209472c33676SMaxim Ag	xorl	%edx,%ecx
209572c33676SMaxim Ag	addl	%eax,%ebp
209672c33676SMaxim Ag	movl	%ebx,%edi
209772c33676SMaxim Ag	pxor	%xmm6,%xmm2
209872c33676SMaxim Ag.byte	102,68,15,58,15,208,8
209972c33676SMaxim Ag	xorl	%ecx,%ebx
210072c33676SMaxim Ag	addl	32(%rsp),%edx
210172c33676SMaxim Ag	andl	%ecx,%edi
210272c33676SMaxim Ag	pxor	%xmm3,%xmm2
210372c33676SMaxim Ag	andl	%ebx,%esi
210472c33676SMaxim Ag	rorl	$7,%eax
210572c33676SMaxim Ag	movdqa	%xmm8,%xmm9
210672c33676SMaxim Ag	paddd	%xmm1,%xmm8
210772c33676SMaxim Ag	addl	%edi,%edx
210872c33676SMaxim Ag	movl	%ebp,%edi
210972c33676SMaxim Ag	pxor	%xmm10,%xmm2
211072c33676SMaxim Ag	roll	$5,%ebp
211172c33676SMaxim Ag	addl	%esi,%edx
211272c33676SMaxim Ag	xorl	%ecx,%ebx
211372c33676SMaxim Ag	addl	%ebp,%edx
211472c33676SMaxim Ag	movdqa	%xmm2,%xmm10
211572c33676SMaxim Ag	movdqa	%xmm8,16(%rsp)
211672c33676SMaxim Ag	movl	%eax,%esi
211772c33676SMaxim Ag	xorl	%ebx,%eax
211872c33676SMaxim Ag	addl	36(%rsp),%ecx
211972c33676SMaxim Ag	andl	%ebx,%esi
212072c33676SMaxim Ag	pslld	$2,%xmm2
212172c33676SMaxim Ag	andl	%eax,%edi
212272c33676SMaxim Ag	rorl	$7,%ebp
212372c33676SMaxim Ag	psrld	$30,%xmm10
212472c33676SMaxim Ag	addl	%esi,%ecx
212572c33676SMaxim Ag	movl	%edx,%esi
212672c33676SMaxim Ag	roll	$5,%edx
212772c33676SMaxim Ag	addl	%edi,%ecx
212872c33676SMaxim Ag	xorl	%ebx,%eax
212972c33676SMaxim Ag	addl	%edx,%ecx
213072c33676SMaxim Ag	por	%xmm10,%xmm2
213172c33676SMaxim Ag	movl	%ebp,%edi
213272c33676SMaxim Ag	xorl	%eax,%ebp
213372c33676SMaxim Ag	movdqa	%xmm2,%xmm8
213472c33676SMaxim Ag	addl	40(%rsp),%ebx
213572c33676SMaxim Ag	andl	%eax,%edi
213672c33676SMaxim Ag	andl	%ebp,%esi
213772c33676SMaxim Ag	rorl	$7,%edx
213872c33676SMaxim Ag	addl	%edi,%ebx
213972c33676SMaxim Ag	movl	%ecx,%edi
214072c33676SMaxim Ag	roll	$5,%ecx
214172c33676SMaxim Ag	addl	%esi,%ebx
214272c33676SMaxim Ag	xorl	%eax,%ebp
214372c33676SMaxim Ag	addl	%ecx,%ebx
214472c33676SMaxim Ag	movl	%edx,%esi
214572c33676SMaxim Ag	xorl	%ebp,%edx
214672c33676SMaxim Ag	addl	44(%rsp),%eax
214772c33676SMaxim Ag	andl	%ebp,%esi
214872c33676SMaxim Ag	andl	%edx,%edi
214972c33676SMaxim Ag	rorl	$7,%ecx
215072c33676SMaxim Ag	addl	%esi,%eax
215172c33676SMaxim Ag	movl	%ebx,%esi
215272c33676SMaxim Ag	roll	$5,%ebx
215372c33676SMaxim Ag	addl	%edi,%eax
215472c33676SMaxim Ag	xorl	%ebp,%edx
215572c33676SMaxim Ag	addl	%ebx,%eax
215672c33676SMaxim Ag	addl	48(%rsp),%ebp
215772c33676SMaxim Ag	pxor	%xmm7,%xmm3
215872c33676SMaxim Ag.byte	102,68,15,58,15,193,8
215972c33676SMaxim Ag	xorl	%edx,%esi
216072c33676SMaxim Ag	movl	%eax,%edi
216172c33676SMaxim Ag	roll	$5,%eax
216272c33676SMaxim Ag	pxor	%xmm4,%xmm3
216372c33676SMaxim Ag	xorl	%ecx,%esi
216472c33676SMaxim Ag	addl	%eax,%ebp
216572c33676SMaxim Ag	movdqa	%xmm9,%xmm10
216672c33676SMaxim Ag	paddd	%xmm2,%xmm9
216772c33676SMaxim Ag	rorl	$7,%ebx
216872c33676SMaxim Ag	addl	%esi,%ebp
216972c33676SMaxim Ag	pxor	%xmm8,%xmm3
217072c33676SMaxim Ag	addl	52(%rsp),%edx
217172c33676SMaxim Ag	xorl	%ecx,%edi
217272c33676SMaxim Ag	movl	%ebp,%esi
217372c33676SMaxim Ag	roll	$5,%ebp
217472c33676SMaxim Ag	movdqa	%xmm3,%xmm8
217572c33676SMaxim Ag	movdqa	%xmm9,32(%rsp)
217672c33676SMaxim Ag	xorl	%ebx,%edi
217772c33676SMaxim Ag	addl	%ebp,%edx
217872c33676SMaxim Ag	rorl	$7,%eax
217972c33676SMaxim Ag	addl	%edi,%edx
218072c33676SMaxim Ag	pslld	$2,%xmm3
218172c33676SMaxim Ag	addl	56(%rsp),%ecx
218272c33676SMaxim Ag	xorl	%ebx,%esi
218372c33676SMaxim Ag	psrld	$30,%xmm8
218472c33676SMaxim Ag	movl	%edx,%edi
218572c33676SMaxim Ag	roll	$5,%edx
218672c33676SMaxim Ag	xorl	%eax,%esi
218772c33676SMaxim Ag	addl	%edx,%ecx
218872c33676SMaxim Ag	rorl	$7,%ebp
218972c33676SMaxim Ag	addl	%esi,%ecx
219072c33676SMaxim Ag	por	%xmm8,%xmm3
219172c33676SMaxim Ag	addl	60(%rsp),%ebx
219272c33676SMaxim Ag	xorl	%eax,%edi
219372c33676SMaxim Ag	movl	%ecx,%esi
219472c33676SMaxim Ag	roll	$5,%ecx
219572c33676SMaxim Ag	xorl	%ebp,%edi
219672c33676SMaxim Ag	addl	%ecx,%ebx
219772c33676SMaxim Ag	rorl	$7,%edx
219872c33676SMaxim Ag	addl	%edi,%ebx
219972c33676SMaxim Ag	addl	0(%rsp),%eax
220072c33676SMaxim Ag	paddd	%xmm3,%xmm10
220172c33676SMaxim Ag	xorl	%ebp,%esi
220272c33676SMaxim Ag	movl	%ebx,%edi
220372c33676SMaxim Ag	roll	$5,%ebx
220472c33676SMaxim Ag	xorl	%edx,%esi
220572c33676SMaxim Ag	movdqa	%xmm10,48(%rsp)
220672c33676SMaxim Ag	addl	%ebx,%eax
220772c33676SMaxim Ag	rorl	$7,%ecx
220872c33676SMaxim Ag	addl	%esi,%eax
220972c33676SMaxim Ag	addl	4(%rsp),%ebp
221072c33676SMaxim Ag	xorl	%edx,%edi
221172c33676SMaxim Ag	movl	%eax,%esi
221272c33676SMaxim Ag	roll	$5,%eax
221372c33676SMaxim Ag	xorl	%ecx,%edi
221472c33676SMaxim Ag	addl	%eax,%ebp
221572c33676SMaxim Ag	rorl	$7,%ebx
221672c33676SMaxim Ag	addl	%edi,%ebp
221772c33676SMaxim Ag	addl	8(%rsp),%edx
221872c33676SMaxim Ag	xorl	%ecx,%esi
221972c33676SMaxim Ag	movl	%ebp,%edi
222072c33676SMaxim Ag	roll	$5,%ebp
222172c33676SMaxim Ag	xorl	%ebx,%esi
222272c33676SMaxim Ag	addl	%ebp,%edx
222372c33676SMaxim Ag	rorl	$7,%eax
222472c33676SMaxim Ag	addl	%esi,%edx
222572c33676SMaxim Ag	addl	12(%rsp),%ecx
222672c33676SMaxim Ag	xorl	%ebx,%edi
222772c33676SMaxim Ag	movl	%edx,%esi
222872c33676SMaxim Ag	roll	$5,%edx
222972c33676SMaxim Ag	xorl	%eax,%edi
223072c33676SMaxim Ag	addl	%edx,%ecx
223172c33676SMaxim Ag	rorl	$7,%ebp
223272c33676SMaxim Ag	addl	%edi,%ecx
223372c33676SMaxim Ag	cmpq	%r10,%r9
223472c33676SMaxim Ag	je	.Ldone_ssse3
223572c33676SMaxim Ag	movdqa	64(%r11),%xmm6
223672c33676SMaxim Ag	movdqa	0(%r11),%xmm9
223772c33676SMaxim Ag	movdqu	0(%r9),%xmm0
223872c33676SMaxim Ag	movdqu	16(%r9),%xmm1
223972c33676SMaxim Ag	movdqu	32(%r9),%xmm2
224072c33676SMaxim Ag	movdqu	48(%r9),%xmm3
224172c33676SMaxim Ag.byte	102,15,56,0,198
224272c33676SMaxim Ag	addq	$64,%r9
224372c33676SMaxim Ag	addl	16(%rsp),%ebx
224472c33676SMaxim Ag	xorl	%eax,%esi
224572c33676SMaxim Ag.byte	102,15,56,0,206
224672c33676SMaxim Ag	movl	%ecx,%edi
224772c33676SMaxim Ag	roll	$5,%ecx
224872c33676SMaxim Ag	paddd	%xmm9,%xmm0
224972c33676SMaxim Ag	xorl	%ebp,%esi
225072c33676SMaxim Ag	addl	%ecx,%ebx
225172c33676SMaxim Ag	rorl	$7,%edx
225272c33676SMaxim Ag	addl	%esi,%ebx
225372c33676SMaxim Ag	movdqa	%xmm0,0(%rsp)
225472c33676SMaxim Ag	addl	20(%rsp),%eax
225572c33676SMaxim Ag	xorl	%ebp,%edi
225672c33676SMaxim Ag	psubd	%xmm9,%xmm0
225772c33676SMaxim Ag	movl	%ebx,%esi
225872c33676SMaxim Ag	roll	$5,%ebx
225972c33676SMaxim Ag	xorl	%edx,%edi
226072c33676SMaxim Ag	addl	%ebx,%eax
226172c33676SMaxim Ag	rorl	$7,%ecx
226272c33676SMaxim Ag	addl	%edi,%eax
226372c33676SMaxim Ag	addl	24(%rsp),%ebp
226472c33676SMaxim Ag	xorl	%edx,%esi
226572c33676SMaxim Ag	movl	%eax,%edi
226672c33676SMaxim Ag	roll	$5,%eax
226772c33676SMaxim Ag	xorl	%ecx,%esi
226872c33676SMaxim Ag	addl	%eax,%ebp
226972c33676SMaxim Ag	rorl	$7,%ebx
227072c33676SMaxim Ag	addl	%esi,%ebp
227172c33676SMaxim Ag	addl	28(%rsp),%edx
227272c33676SMaxim Ag	xorl	%ecx,%edi
227372c33676SMaxim Ag	movl	%ebp,%esi
227472c33676SMaxim Ag	roll	$5,%ebp
227572c33676SMaxim Ag	xorl	%ebx,%edi
227672c33676SMaxim Ag	addl	%ebp,%edx
227772c33676SMaxim Ag	rorl	$7,%eax
227872c33676SMaxim Ag	addl	%edi,%edx
227972c33676SMaxim Ag	addl	32(%rsp),%ecx
228072c33676SMaxim Ag	xorl	%ebx,%esi
228172c33676SMaxim Ag.byte	102,15,56,0,214
228272c33676SMaxim Ag	movl	%edx,%edi
228372c33676SMaxim Ag	roll	$5,%edx
228472c33676SMaxim Ag	paddd	%xmm9,%xmm1
228572c33676SMaxim Ag	xorl	%eax,%esi
228672c33676SMaxim Ag	addl	%edx,%ecx
228772c33676SMaxim Ag	rorl	$7,%ebp
228872c33676SMaxim Ag	addl	%esi,%ecx
228972c33676SMaxim Ag	movdqa	%xmm1,16(%rsp)
229072c33676SMaxim Ag	addl	36(%rsp),%ebx
229172c33676SMaxim Ag	xorl	%eax,%edi
229272c33676SMaxim Ag	psubd	%xmm9,%xmm1
229372c33676SMaxim Ag	movl	%ecx,%esi
229472c33676SMaxim Ag	roll	$5,%ecx
229572c33676SMaxim Ag	xorl	%ebp,%edi
229672c33676SMaxim Ag	addl	%ecx,%ebx
229772c33676SMaxim Ag	rorl	$7,%edx
229872c33676SMaxim Ag	addl	%edi,%ebx
229972c33676SMaxim Ag	addl	40(%rsp),%eax
230072c33676SMaxim Ag	xorl	%ebp,%esi
230172c33676SMaxim Ag	movl	%ebx,%edi
230272c33676SMaxim Ag	roll	$5,%ebx
230372c33676SMaxim Ag	xorl	%edx,%esi
230472c33676SMaxim Ag	addl	%ebx,%eax
230572c33676SMaxim Ag	rorl	$7,%ecx
230672c33676SMaxim Ag	addl	%esi,%eax
230772c33676SMaxim Ag	addl	44(%rsp),%ebp
230872c33676SMaxim Ag	xorl	%edx,%edi
230972c33676SMaxim Ag	movl	%eax,%esi
231072c33676SMaxim Ag	roll	$5,%eax
231172c33676SMaxim Ag	xorl	%ecx,%edi
231272c33676SMaxim Ag	addl	%eax,%ebp
231372c33676SMaxim Ag	rorl	$7,%ebx
231472c33676SMaxim Ag	addl	%edi,%ebp
231572c33676SMaxim Ag	addl	48(%rsp),%edx
231672c33676SMaxim Ag	xorl	%ecx,%esi
231772c33676SMaxim Ag.byte	102,15,56,0,222
231872c33676SMaxim Ag	movl	%ebp,%edi
231972c33676SMaxim Ag	roll	$5,%ebp
232072c33676SMaxim Ag	paddd	%xmm9,%xmm2
232172c33676SMaxim Ag	xorl	%ebx,%esi
232272c33676SMaxim Ag	addl	%ebp,%edx
232372c33676SMaxim Ag	rorl	$7,%eax
232472c33676SMaxim Ag	addl	%esi,%edx
232572c33676SMaxim Ag	movdqa	%xmm2,32(%rsp)
232672c33676SMaxim Ag	addl	52(%rsp),%ecx
232772c33676SMaxim Ag	xorl	%ebx,%edi
232872c33676SMaxim Ag	psubd	%xmm9,%xmm2
232972c33676SMaxim Ag	movl	%edx,%esi
233072c33676SMaxim Ag	roll	$5,%edx
233172c33676SMaxim Ag	xorl	%eax,%edi
233272c33676SMaxim Ag	addl	%edx,%ecx
233372c33676SMaxim Ag	rorl	$7,%ebp
233472c33676SMaxim Ag	addl	%edi,%ecx
233572c33676SMaxim Ag	addl	56(%rsp),%ebx
233672c33676SMaxim Ag	xorl	%eax,%esi
233772c33676SMaxim Ag	movl	%ecx,%edi
233872c33676SMaxim Ag	roll	$5,%ecx
233972c33676SMaxim Ag	xorl	%ebp,%esi
234072c33676SMaxim Ag	addl	%ecx,%ebx
234172c33676SMaxim Ag	rorl	$7,%edx
234272c33676SMaxim Ag	addl	%esi,%ebx
234372c33676SMaxim Ag	addl	60(%rsp),%eax
234472c33676SMaxim Ag	xorl	%ebp,%edi
234572c33676SMaxim Ag	movl	%ebx,%esi
234672c33676SMaxim Ag	roll	$5,%ebx
234772c33676SMaxim Ag	xorl	%edx,%edi
234872c33676SMaxim Ag	addl	%ebx,%eax
234972c33676SMaxim Ag	rorl	$7,%ecx
235072c33676SMaxim Ag	addl	%edi,%eax
235172c33676SMaxim Ag	addl	0(%r8),%eax
235272c33676SMaxim Ag	addl	4(%r8),%esi
235372c33676SMaxim Ag	addl	8(%r8),%ecx
235472c33676SMaxim Ag	addl	12(%r8),%edx
235572c33676SMaxim Ag	movl	%eax,0(%r8)
235672c33676SMaxim Ag	addl	16(%r8),%ebp
235772c33676SMaxim Ag	movl	%esi,4(%r8)
235872c33676SMaxim Ag	movl	%esi,%ebx
235972c33676SMaxim Ag	movl	%ecx,8(%r8)
236072c33676SMaxim Ag	movl	%edx,12(%r8)
236172c33676SMaxim Ag	movl	%ebp,16(%r8)
236272c33676SMaxim Ag	jmp	.Loop_ssse3
236372c33676SMaxim Ag
236472c33676SMaxim Ag.align	16
236572c33676SMaxim Ag.Ldone_ssse3:
236672c33676SMaxim Ag	addl	16(%rsp),%ebx
236772c33676SMaxim Ag	xorl	%eax,%esi
236872c33676SMaxim Ag	movl	%ecx,%edi
236972c33676SMaxim Ag	roll	$5,%ecx
237072c33676SMaxim Ag	xorl	%ebp,%esi
237172c33676SMaxim Ag	addl	%ecx,%ebx
237272c33676SMaxim Ag	rorl	$7,%edx
237372c33676SMaxim Ag	addl	%esi,%ebx
237472c33676SMaxim Ag	addl	20(%rsp),%eax
237572c33676SMaxim Ag	xorl	%ebp,%edi
237672c33676SMaxim Ag	movl	%ebx,%esi
237772c33676SMaxim Ag	roll	$5,%ebx
237872c33676SMaxim Ag	xorl	%edx,%edi
237972c33676SMaxim Ag	addl	%ebx,%eax
238072c33676SMaxim Ag	rorl	$7,%ecx
238172c33676SMaxim Ag	addl	%edi,%eax
238272c33676SMaxim Ag	addl	24(%rsp),%ebp
238372c33676SMaxim Ag	xorl	%edx,%esi
238472c33676SMaxim Ag	movl	%eax,%edi
238572c33676SMaxim Ag	roll	$5,%eax
238672c33676SMaxim Ag	xorl	%ecx,%esi
238772c33676SMaxim Ag	addl	%eax,%ebp
238872c33676SMaxim Ag	rorl	$7,%ebx
238972c33676SMaxim Ag	addl	%esi,%ebp
239072c33676SMaxim Ag	addl	28(%rsp),%edx
239172c33676SMaxim Ag	xorl	%ecx,%edi
239272c33676SMaxim Ag	movl	%ebp,%esi
239372c33676SMaxim Ag	roll	$5,%ebp
239472c33676SMaxim Ag	xorl	%ebx,%edi
239572c33676SMaxim Ag	addl	%ebp,%edx
239672c33676SMaxim Ag	rorl	$7,%eax
239772c33676SMaxim Ag	addl	%edi,%edx
239872c33676SMaxim Ag	addl	32(%rsp),%ecx
239972c33676SMaxim Ag	xorl	%ebx,%esi
240072c33676SMaxim Ag	movl	%edx,%edi
240172c33676SMaxim Ag	roll	$5,%edx
240272c33676SMaxim Ag	xorl	%eax,%esi
240372c33676SMaxim Ag	addl	%edx,%ecx
240472c33676SMaxim Ag	rorl	$7,%ebp
240572c33676SMaxim Ag	addl	%esi,%ecx
240672c33676SMaxim Ag	addl	36(%rsp),%ebx
240772c33676SMaxim Ag	xorl	%eax,%edi
240872c33676SMaxim Ag	movl	%ecx,%esi
240972c33676SMaxim Ag	roll	$5,%ecx
241072c33676SMaxim Ag	xorl	%ebp,%edi
241172c33676SMaxim Ag	addl	%ecx,%ebx
241272c33676SMaxim Ag	rorl	$7,%edx
241372c33676SMaxim Ag	addl	%edi,%ebx
241472c33676SMaxim Ag	addl	40(%rsp),%eax
241572c33676SMaxim Ag	xorl	%ebp,%esi
241672c33676SMaxim Ag	movl	%ebx,%edi
241772c33676SMaxim Ag	roll	$5,%ebx
241872c33676SMaxim Ag	xorl	%edx,%esi
241972c33676SMaxim Ag	addl	%ebx,%eax
242072c33676SMaxim Ag	rorl	$7,%ecx
242172c33676SMaxim Ag	addl	%esi,%eax
242272c33676SMaxim Ag	addl	44(%rsp),%ebp
242372c33676SMaxim Ag	xorl	%edx,%edi
242472c33676SMaxim Ag	movl	%eax,%esi
242572c33676SMaxim Ag	roll	$5,%eax
242672c33676SMaxim Ag	xorl	%ecx,%edi
242772c33676SMaxim Ag	addl	%eax,%ebp
242872c33676SMaxim Ag	rorl	$7,%ebx
242972c33676SMaxim Ag	addl	%edi,%ebp
243072c33676SMaxim Ag	addl	48(%rsp),%edx
243172c33676SMaxim Ag	xorl	%ecx,%esi
243272c33676SMaxim Ag	movl	%ebp,%edi
243372c33676SMaxim Ag	roll	$5,%ebp
243472c33676SMaxim Ag	xorl	%ebx,%esi
243572c33676SMaxim Ag	addl	%ebp,%edx
243672c33676SMaxim Ag	rorl	$7,%eax
243772c33676SMaxim Ag	addl	%esi,%edx
243872c33676SMaxim Ag	addl	52(%rsp),%ecx
243972c33676SMaxim Ag	xorl	%ebx,%edi
244072c33676SMaxim Ag	movl	%edx,%esi
244172c33676SMaxim Ag	roll	$5,%edx
244272c33676SMaxim Ag	xorl	%eax,%edi
244372c33676SMaxim Ag	addl	%edx,%ecx
244472c33676SMaxim Ag	rorl	$7,%ebp
244572c33676SMaxim Ag	addl	%edi,%ecx
244672c33676SMaxim Ag	addl	56(%rsp),%ebx
244772c33676SMaxim Ag	xorl	%eax,%esi
244872c33676SMaxim Ag	movl	%ecx,%edi
244972c33676SMaxim Ag	roll	$5,%ecx
245072c33676SMaxim Ag	xorl	%ebp,%esi
245172c33676SMaxim Ag	addl	%ecx,%ebx
245272c33676SMaxim Ag	rorl	$7,%edx
245372c33676SMaxim Ag	addl	%esi,%ebx
245472c33676SMaxim Ag	addl	60(%rsp),%eax
245572c33676SMaxim Ag	xorl	%ebp,%edi
245672c33676SMaxim Ag	movl	%ebx,%esi
245772c33676SMaxim Ag	roll	$5,%ebx
245872c33676SMaxim Ag	xorl	%edx,%edi
245972c33676SMaxim Ag	addl	%ebx,%eax
246072c33676SMaxim Ag	rorl	$7,%ecx
246172c33676SMaxim Ag	addl	%edi,%eax
246272c33676SMaxim Ag	addl	0(%r8),%eax
246372c33676SMaxim Ag	addl	4(%r8),%esi
246472c33676SMaxim Ag	addl	8(%r8),%ecx
246572c33676SMaxim Ag	movl	%eax,0(%r8)
246672c33676SMaxim Ag	addl	12(%r8),%edx
246772c33676SMaxim Ag	movl	%esi,4(%r8)
246872c33676SMaxim Ag	addl	16(%r8),%ebp
246972c33676SMaxim Ag	movl	%ecx,8(%r8)
247072c33676SMaxim Ag	movl	%edx,12(%r8)
247172c33676SMaxim Ag	movl	%ebp,16(%r8)
247272c33676SMaxim Ag	leaq	64(%rsp),%rsi
247372c33676SMaxim Ag	movq	0(%rsi),%r12
247472c33676SMaxim Ag	movq	8(%rsi),%rbp
247572c33676SMaxim Ag	movq	16(%rsi),%rbx
247672c33676SMaxim Ag	leaq	24(%rsi),%rsp
247772c33676SMaxim Ag.Lepilogue_ssse3:
247872c33676SMaxim Ag	retq
247972c33676SMaxim Ag.size	sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
248072c33676SMaxim Ag.align	64
248172c33676SMaxim AgK_XX_XX:
248272c33676SMaxim Ag.long	0x5a827999,0x5a827999,0x5a827999,0x5a827999
248372c33676SMaxim Ag.long	0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
248472c33676SMaxim Ag.long	0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
248572c33676SMaxim Ag.long	0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
248672c33676SMaxim Ag.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
248772c33676SMaxim Ag.byte	83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
248872c33676SMaxim Ag.align	64
248972c33676SMaxim Ag#if defined(HAVE_GNU_STACK)
249072c33676SMaxim Ag.section .note.GNU-stack,"",%progbits
249172c33676SMaxim Ag#endif
2492