120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.text
220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.globl	gcm_gmult_4bit
420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	gcm_gmult_4bit,@function
520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turnergcm_gmult_4bit:
720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%rbx
820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%rbp
920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%r12
1020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lgmult_prologue:
1120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
1220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	15(%rdi),%r8
1320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	.Lrem_4bit(%rip),%r11
1420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%rax,%rax
1520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%rbx,%rbx
1620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%r8b,%al
1720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%r8b,%bl
1820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
1920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	$14,%rcx
2020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	8(%rsi,%rax,1),%r8
2120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	(%rsi,%rax,1),%r9
2220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andb	$240,%bl
2320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%rdx
2420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jmp	.Loop1
2520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
2620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
2720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Loop1:
2820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
2920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andq	$15,%rdx
3020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
3120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	(%rdi,%rcx,1),%al
3220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
3320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rbx,1),%r8
3420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
3520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rbx,1),%r9
3620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%bl
3720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%r11,%rdx,8),%r9
3820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%rdx
3920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
4020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
4120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	decq	%rcx
4220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	js	.Lbreak1
4320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
4420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
4520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andq	$15,%rdx
4620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
4720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
4820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
4920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
5020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
5120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andb	$240,%bl
5220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%r11,%rdx,8),%r9
5320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%rdx
5420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
5520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jmp	.Loop1
5620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
5720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
5820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lbreak1:
5920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
6020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andq	$15,%rdx
6120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
6220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
6320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
6420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
6520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
6620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andb	$240,%bl
6720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%r11,%rdx,8),%r9
6820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%rdx
6920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
7020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
7120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
7220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andq	$15,%rdx
7320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
7420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
7520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rbx,1),%r8
7620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
7720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rbx,1),%r9
7820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
7920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%r11,%rdx,8),%r9
8020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
8120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	bswapq	%r8
8220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	bswapq	%r9
8320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,8(%rdi)
8420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,(%rdi)
8520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
8620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	16(%rsp),%rbx
8720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	24(%rsp),%rsp
8820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lgmult_epilogue:
8920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	.byte	0xf3,0xc3
9020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.size	gcm_gmult_4bit,.-gcm_gmult_4bit
9120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.globl	gcm_ghash_4bit
9220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	gcm_ghash_4bit,@function
9320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
9420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turnergcm_ghash_4bit:
9520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%rbx
9620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%rbp
9720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%r12
9820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%r13
9920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%r14
10020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pushq	%r15
10120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	subq	$280,%rsp
10220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lghash_prologue:
10320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rdx,%r14
10420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rcx,%r15
10520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	subq	$-128,%rsi
10620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	16+128(%rsp),%rbp
10720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorl	%edx,%edx
10820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	0+0-128(%rsi),%r8
10920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	0+8-128(%rsi),%rax
11020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
11120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
11220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
11320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
11420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	16+0-128(%rsi),%r9
11520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
11620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	16+8-128(%rsi),%rbx
11720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
11820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,0(%rsp)
11920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
12020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
12120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
12220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
12320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
12420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,0(%rbp)
12520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	32+0-128(%rsi),%r8
12620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
12720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,0-128(%rbp)
12820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	32+8-128(%rsi),%rax
12920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
13020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,1(%rsp)
13120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
13220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
13320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
13420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
13520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
13620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,8(%rbp)
13720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	48+0-128(%rsi),%r9
13820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
13920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,8-128(%rbp)
14020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	48+8-128(%rsi),%rbx
14120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
14220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,2(%rsp)
14320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
14420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
14520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
14620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
14720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
14820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,16(%rbp)
14920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	64+0-128(%rsi),%r8
15020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
15120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,16-128(%rbp)
15220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	64+8-128(%rsi),%rax
15320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
15420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,3(%rsp)
15520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
15620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
15720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
15820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
15920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
16020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,24(%rbp)
16120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	80+0-128(%rsi),%r9
16220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
16320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,24-128(%rbp)
16420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	80+8-128(%rsi),%rbx
16520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
16620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,4(%rsp)
16720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
16820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
16920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
17020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
17120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
17220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,32(%rbp)
17320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	96+0-128(%rsi),%r8
17420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
17520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,32-128(%rbp)
17620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	96+8-128(%rsi),%rax
17720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
17820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,5(%rsp)
17920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
18020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
18120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
18220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
18320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
18420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,40(%rbp)
18520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	112+0-128(%rsi),%r9
18620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
18720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,40-128(%rbp)
18820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	112+8-128(%rsi),%rbx
18920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
19020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,6(%rsp)
19120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
19220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
19320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
19420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
19520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
19620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,48(%rbp)
19720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	128+0-128(%rsi),%r8
19820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
19920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,48-128(%rbp)
20020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	128+8-128(%rsi),%rax
20120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
20220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,7(%rsp)
20320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
20420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
20520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
20620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
20720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
20820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,56(%rbp)
20920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	144+0-128(%rsi),%r9
21020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
21120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,56-128(%rbp)
21220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	144+8-128(%rsi),%rbx
21320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
21420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,8(%rsp)
21520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
21620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
21720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
21820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
21920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
22020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,64(%rbp)
22120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	160+0-128(%rsi),%r8
22220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
22320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,64-128(%rbp)
22420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	160+8-128(%rsi),%rax
22520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
22620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,9(%rsp)
22720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
22820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
22920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
23020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
23120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
23220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,72(%rbp)
23320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	176+0-128(%rsi),%r9
23420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
23520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,72-128(%rbp)
23620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	176+8-128(%rsi),%rbx
23720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
23820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,10(%rsp)
23920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
24020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
24120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
24220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
24320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
24420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,80(%rbp)
24520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	192+0-128(%rsi),%r8
24620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
24720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,80-128(%rbp)
24820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	192+8-128(%rsi),%rax
24920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
25020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,11(%rsp)
25120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
25220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
25320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
25420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
25520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
25620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,88(%rbp)
25720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	208+0-128(%rsi),%r9
25820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
25920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,88-128(%rbp)
26020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	208+8-128(%rsi),%rbx
26120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
26220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,12(%rsp)
26320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
26420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
26520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
26620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
26720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
26820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,96(%rbp)
26920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	224+0-128(%rsi),%r8
27020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
27120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,96-128(%rbp)
27220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	224+8-128(%rsi),%rax
27320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
27420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,13(%rsp)
27520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
27620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%al,%dl
27720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rax
27820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,%r10
27920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
28020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,104(%rbp)
28120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	240+0-128(%rsi),%r9
28220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
28320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,104-128(%rbp)
28420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	240+8-128(%rsi),%rbx
28520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
28620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,14(%rsp)
28720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rax
28820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%bl,%dl
28920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%rbx
29020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
29120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
29220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,112(%rbp)
29320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%dl
29420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rax,112-128(%rbp)
29520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
29620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,15(%rsp)
29720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	orq	%r10,%rbx
29820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,120(%rbp)
29920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rbx,120-128(%rbp)
30020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	addq	$-128,%rsi
30120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	8(%rdi),%r8
30220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	0(%rdi),%r9
30320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	addq	%r14,%r15
30420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	.Lrem_8bit(%rip),%r11
30520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jmp	.Louter_loop
30620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
30720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Louter_loop:
30820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%r14),%r9
30920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	8(%r14),%rdx
31020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	16(%r14),%r14
31120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%rdx
31220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,(%rdi)
31320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%rdx,8(%rdi)
31420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$32,%rdx
31520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%rax,%rax
31620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
31720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
31820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
31920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
32020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
32120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
32220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	8(%rsi,%rax,1),%r8
32320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	(%rsi,%rax,1),%r9
32420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
32520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
32620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
32720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
32820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
32920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
33020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
33120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
33220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
33320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
33420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
33520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
33620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
33720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
33820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
33920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
34020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
34120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
34220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
34320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
34420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
34520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
34620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
34720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
34820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
34920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
35020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
35120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
35220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
35320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
35420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
35520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
35620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
35720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
35820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
35920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
36020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
36120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
36220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
36320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
36420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
36520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
36620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
36720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
36820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
36920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
37020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
37120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
37220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
37320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movl	8(%rdi),%edx
37420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
37520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
37620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
37720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
37820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
37920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
38020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
38120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
38220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
38320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
38420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
38520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
38620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
38720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
38820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
38920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
39020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
39120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
39220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
39320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
39420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
39520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
39620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
39720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
39820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
39920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
40020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
40120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
40220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
40320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
40420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
40520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
40620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
40720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
40820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
40920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
41020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
41120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
41220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
41320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
41420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
41520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
41620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
41720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
41820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
41920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
42020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
42120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
42220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
42320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
42420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
42520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
42620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
42720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
42820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
42920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
43020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
43120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
43220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
43320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
43420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
43520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
43620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
43720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
43820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
43920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
44020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
44120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
44220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
44320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
44420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
44520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
44620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
44720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
44820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
44920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
45020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
45120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
45220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
45320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
45420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movl	4(%rdi),%edx
45520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
45620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
45720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
45820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
45920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
46020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
46120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
46220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
46320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
46420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
46520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
46620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
46720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
46820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
46920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
47020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
47120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
47220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
47320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
47420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
47520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
47620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
47720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
47820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
47920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
48020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
48120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
48220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
48320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
48420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
48520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
48620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
48720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
48820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
48920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
49020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
49120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
49220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
49320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
49420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
49520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
49620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
49720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
49820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
49920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
50020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
50120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
50220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
50320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
50420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
50520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
50620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
50720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
50820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
50920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
51020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
51120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
51220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
51320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
51420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
51520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
51620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
51720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
51820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
51920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
52020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
52120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
52220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
52320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
52420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
52520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
52620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
52720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
52820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
52920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
53020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
53120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
53220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
53320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
53420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
53520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movl	0(%rdi),%edx
53620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
53720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
53820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
53920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
54020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
54120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
54220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
54320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
54420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
54520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
54620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
54720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
54820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
54920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
55020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
55120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
55220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
55320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
55420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
55520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
55620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
55720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
55820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
55920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
56020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
56120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
56220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
56320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
56420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
56520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
56620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
56720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
56820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
56920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ecx
57020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
57120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
57220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
57320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
57420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
57520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
57620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
57720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
57820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
57920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
58020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
58120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
58220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
58320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
58420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
58520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
58620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ebx
58720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
58820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rcx,1),%r13
58920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrl	$4,%ebx
59020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
59120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r13
59220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
59320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
59420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
59520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r13b,%r13
59620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
59720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rcx,8),%r8
59820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
59920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rcx,8),%r9
60020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	roll	$8,%edx
60120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
60220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
60320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movb	%dl,%al
60420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
60520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
60620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbl	%dl,%ecx
60720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%al
60820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	(%rsp,%rbx,1),%r12
60920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	andl	$240,%ecx
61020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
61120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r8,%r12
61220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
61320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
61420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r8
61520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r12b,%r12
61620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movl	-4(%rdi),%edx
61720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$8,%r9
61820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	-128(%rbp,%rbx,8),%r8
61920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$56,%r10
62020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rbp,%rbx,8),%r9
62120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r12,2),%r12
62220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rax,1),%r8
62320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rax,1),%r9
62420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r12
62520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
62620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r12,%r9
62720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzbq	%r8b,%r13
62820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r8
62920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,%r10
63020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlb	$4,%r13b
63120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shrq	$4,%r9
63220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	8(%rsi,%rcx,1),%r8
63320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movzwq	(%r11,%r13,2),%r13
63420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$60,%r10
63520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	(%rsi,%rcx,1),%r9
63620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r10,%r8
63720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	shlq	$48,%r13
63820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	bswapq	%r8
63920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	xorq	%r13,%r9
64020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	bswapq	%r9
64120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	cmpq	%r15,%r14
64220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jb	.Louter_loop
64320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r8,8(%rdi)
64420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	%r9,(%rdi)
64520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
64620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	280(%rsp),%rsi
64720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	0(%rsi),%r15
64820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	8(%rsi),%r14
64920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	16(%rsi),%r13
65020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	24(%rsi),%r12
65120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	32(%rsi),%rbp
65220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movq	40(%rsi),%rbx
65320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	48(%rsi),%rsp
65420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lghash_epilogue:
65520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	.byte	0xf3,0xc3
65620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.size	gcm_ghash_4bit,.-gcm_ghash_4bit
65720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.globl	gcm_init_clmul
65820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	gcm_init_clmul,@function
65920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
66020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turnergcm_init_clmul:
66120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rsi),%xmm2
66220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm2,%xmm2
66320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
66420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
66520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$255,%xmm2,%xmm4
66620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm2,%xmm3
66720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$1,%xmm2
66820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm5,%xmm5
66920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$63,%xmm3
67020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pcmpgtd	%xmm4,%xmm5
67120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm3
67220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	por	%xmm3,%xmm2
67320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
67420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
67520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pand	.L0x1c2_polynomial(%rip),%xmm5
67620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm5,%xmm2
67720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
67820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
67920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm2,%xmm0
68020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm1
68120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm0,%xmm3
68220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm2,%xmm4
68320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
68420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm2,%xmm4
68520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,194,0
68620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,202,17
68720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,220,0
68820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
68920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm3
69020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
69120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm3,%xmm4
69220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm3
69320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm4
69420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm1
69520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
69620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
69720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm3
69820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$1,%xmm0
69920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
70020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$5,%xmm0
70120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
70220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$57,%xmm0
70320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
70420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm0
70520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm4
70620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
70720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm1
70820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
70920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
71020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
71120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$5,%xmm0
71220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
71320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
71420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
71520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm4
71620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
71720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
71820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	%xmm2,(%rdi)
71920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	%xmm0,16(%rdi)
72020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	.byte	0xf3,0xc3
72120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.size	gcm_init_clmul,.-gcm_init_clmul
72220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.globl	gcm_gmult_clmul
72320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	gcm_gmult_clmul,@function
72420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
72520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turnergcm_gmult_clmul:
72620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rdi),%xmm0
72720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	.Lbswap_mask(%rip),%xmm5
72820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rsi),%xmm2
72920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,197
73020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm1
73120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm0,%xmm3
73220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm2,%xmm4
73320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
73420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm2,%xmm4
73520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,194,0
73620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,202,17
73720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,220,0
73820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
73920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm3
74020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
74120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm3,%xmm4
74220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm3
74320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm4
74420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm1
74520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
74620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
74720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm3
74820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$1,%xmm0
74920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
75020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$5,%xmm0
75120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
75220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$57,%xmm0
75320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
75420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm0
75520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm4
75620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
75720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm1
75820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
75920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
76020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
76120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$5,%xmm0
76220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
76320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
76420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
76520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm4
76620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
76720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
76820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,197
76920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	%xmm0,(%rdi)
77020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	.byte	0xf3,0xc3
77120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.size	gcm_gmult_clmul,.-gcm_gmult_clmul
77220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.globl	gcm_ghash_clmul
77320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	gcm_ghash_clmul,@function
77420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	16
77520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turnergcm_ghash_clmul:
77620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	.Lbswap_mask(%rip),%xmm5
77720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
77820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rdi),%xmm0
77920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rsi),%xmm2
78020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,197
78120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
78220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	subq	$16,%rcx
78320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jz	.Lodd_tail
78420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
78520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	16(%rsi),%xmm8
78620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
78720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
78820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
78920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
79020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
79120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rdx),%xmm3
79220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	16(%rdx),%xmm6
79320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,221
79420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,245
79520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
79620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm6,%xmm7
79720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm6,%xmm3
79820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm2,%xmm4
79920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm6,%xmm3
80020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm2,%xmm4
80120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,242,0
80220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,250,17
80320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,220,0
80420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm6,%xmm3
80520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm7,%xmm3
80620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
80720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm3,%xmm4
80820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm3
80920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm4
81020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm7
81120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm6
81220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm1
81320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm0,%xmm3
81420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm8,%xmm4
81520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
81620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm8,%xmm4
81720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
81820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	32(%rdx),%rdx
81920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	subq	$32,%rcx
82020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jbe	.Leven_tail
82120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
82220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lmod_loop:
82320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,65,15,58,68,192,0
82420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,65,15,58,68,200,17
82520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,220,0
82620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
82720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm3
82820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
82920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm3,%xmm4
83020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm3
83120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm4
83220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm1
83320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
83420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rdx),%xmm3
83520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm6,%xmm0
83620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm7,%xmm1
83720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
83820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	16(%rdx),%xmm6
83920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,221
84020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,245
84120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
84220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm6,%xmm7
84320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm6,%xmm9
84420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm2,%xmm10
84520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm6,%xmm9
84620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm2,%xmm10
84720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm1
84820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
84920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm3
85020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$1,%xmm0
85120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
85220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$5,%xmm0
85320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
85420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,242,0
85520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$57,%xmm0
85620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
85720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm0
85820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm4
85920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
86020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm1
86120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
86220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,250,17
86320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
86420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$5,%xmm0
86520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
86620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
86720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
86820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm4
86920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
87020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
87120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
87220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,69,15,58,68,202,0
87320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm1
87420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm0,%xmm3
87520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm8,%xmm4
87620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
87720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm8,%xmm4
87820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
87920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm6,%xmm9
88020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm7,%xmm9
88120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm9,%xmm10
88220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm9
88320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm10
88420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm9,%xmm7
88520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm10,%xmm6
88620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
88720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	leaq	32(%rdx),%rdx
88820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	subq	$32,%rcx
88920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	ja	.Lmod_loop
89020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
89120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Leven_tail:
89220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,65,15,58,68,192,0
89320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,65,15,58,68,200,17
89420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,220,0
89520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
89620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm3
89720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
89820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm3,%xmm4
89920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm3
90020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm4
90120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm1
90220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
90320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm6,%xmm0
90420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm7,%xmm1
90520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
90620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm3
90720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$1,%xmm0
90820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
90920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$5,%xmm0
91020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
91120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$57,%xmm0
91220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
91320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm0
91420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm4
91520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
91620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm1
91720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
91820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
91920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
92020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$5,%xmm0
92120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
92220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
92320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
92420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm4
92520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
92620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
92720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	testq	%rcx,%rcx
92820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	jnz	.Ldone
92920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
93020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lodd_tail:
93120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	(%rdx),%xmm3
93220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,221
93320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
93420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm1
93520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm0,%xmm3
93620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pshufd	$78,%xmm2,%xmm4
93720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
93820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm2,%xmm4
93920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,194,0
94020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,202,17
94120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,58,68,220,0
94220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm0,%xmm3
94320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm3
94420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
94520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm3,%xmm4
94620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm3
94720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm4
94820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm1
94920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
95020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
95120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm3
95220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$1,%xmm0
95320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
95420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$5,%xmm0
95520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
95620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psllq	$57,%xmm0
95720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
95820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pslldq	$8,%xmm0
95920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrldq	$8,%xmm4
96020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm3,%xmm0
96120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm1
96220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
96320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
96420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqa	%xmm0,%xmm4
96520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$5,%xmm0
96620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
96720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
96820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
96920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm1,%xmm4
97020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	psrlq	$1,%xmm0
97120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	pxor	%xmm4,%xmm0
97220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Ldone:
97320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	102,15,56,0,197
97420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	movdqu	%xmm0,(%rdi)
97520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner	.byte	0xf3,0xc3
97620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.LSEH_end_gcm_ghash_clmul:
97720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.size	gcm_ghash_clmul,.-gcm_ghash_clmul
97820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	64
97920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lbswap_mask:
98020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
98120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.L0x1c2_polynomial:
98220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0xc2
98320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	64
98420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	.Lrem_4bit,@object
98520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lrem_4bit:
98620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.long	0,0,0,471859200,0,943718400,0,610271232
98720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.long	0,1887436800,0,1822425088,0,1220542464,0,1423966208
98820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.long	0,3774873600,0,4246732800,0,3644850176,0,3311403008
98920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.long	0,2441084928,0,2376073216,0,2847932416,0,3051356160
99020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.type	.Lrem_8bit,@object
99120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.Lrem_8bit:
99220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x0000,0x01C2,0x0384,0x0246,0x0708,0x06CA,0x048C,0x054E
99320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x0E10,0x0FD2,0x0D94,0x0C56,0x0918,0x08DA,0x0A9C,0x0B5E
99420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x1C20,0x1DE2,0x1FA4,0x1E66,0x1B28,0x1AEA,0x18AC,0x196E
99520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x1230,0x13F2,0x11B4,0x1076,0x1538,0x14FA,0x16BC,0x177E
99620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x3840,0x3982,0x3BC4,0x3A06,0x3F48,0x3E8A,0x3CCC,0x3D0E
99720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x3650,0x3792,0x35D4,0x3416,0x3158,0x309A,0x32DC,0x331E
99820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x2460,0x25A2,0x27E4,0x2626,0x2368,0x22AA,0x20EC,0x212E
99920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x2A70,0x2BB2,0x29F4,0x2836,0x2D78,0x2CBA,0x2EFC,0x2F3E
100020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x7080,0x7142,0x7304,0x72C6,0x7788,0x764A,0x740C,0x75CE
100120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x7E90,0x7F52,0x7D14,0x7CD6,0x7998,0x785A,0x7A1C,0x7BDE
100220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x6CA0,0x6D62,0x6F24,0x6EE6,0x6BA8,0x6A6A,0x682C,0x69EE
100320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x62B0,0x6372,0x6134,0x60F6,0x65B8,0x647A,0x663C,0x67FE
100420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x48C0,0x4902,0x4B44,0x4A86,0x4FC8,0x4E0A,0x4C4C,0x4D8E
100520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x46D0,0x4712,0x4554,0x4496,0x41D8,0x401A,0x425C,0x439E
100620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x54E0,0x5522,0x5764,0x56A6,0x53E8,0x522A,0x506C,0x51AE
100720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x5AF0,0x5B32,0x5974,0x58B6,0x5DF8,0x5C3A,0x5E7C,0x5FBE
100820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xE100,0xE0C2,0xE284,0xE346,0xE608,0xE7CA,0xE58C,0xE44E
100920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xEF10,0xEED2,0xEC94,0xED56,0xE818,0xE9DA,0xEB9C,0xEA5E
101020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xFD20,0xFCE2,0xFEA4,0xFF66,0xFA28,0xFBEA,0xF9AC,0xF86E
101120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xF330,0xF2F2,0xF0B4,0xF176,0xF438,0xF5FA,0xF7BC,0xF67E
101220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xD940,0xD882,0xDAC4,0xDB06,0xDE48,0xDF8A,0xDDCC,0xDC0E
101320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xD750,0xD692,0xD4D4,0xD516,0xD058,0xD19A,0xD3DC,0xD21E
101420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xC560,0xC4A2,0xC6E4,0xC726,0xC268,0xC3AA,0xC1EC,0xC02E
101520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xCB70,0xCAB2,0xC8F4,0xC936,0xCC78,0xCDBA,0xCFFC,0xCE3E
101620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x9180,0x9042,0x9204,0x93C6,0x9688,0x974A,0x950C,0x94CE
101720777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x9F90,0x9E52,0x9C14,0x9DD6,0x9898,0x995A,0x9B1C,0x9ADE
101820777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x8DA0,0x8C62,0x8E24,0x8FE6,0x8AA8,0x8B6A,0x892C,0x88EE
101920777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0x83B0,0x8272,0x8034,0x81F6,0x84B8,0x857A,0x873C,0x86FE
102020777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xA9C0,0xA802,0xAA44,0xAB86,0xAEC8,0xAF0A,0xAD4C,0xAC8E
102120777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xA7D0,0xA612,0xA454,0xA596,0xA0D8,0xA11A,0xA35C,0xA29E
102220777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xB5E0,0xB422,0xB664,0xB7A6,0xB2E8,0xB32A,0xB16C,0xB0AE
102320777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.value	0xBBF0,0xBA32,0xB874,0xB9B6,0xBCF8,0xBD3A,0xBF7C,0xBEBE
102420777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner
102520777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.byte	71,72,65,83,72,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
102620777798f5184ef65e59bb5eb91ac9e839d7afebDavid 'Digit' Turner.align	64
1027