140197694:	48 89 45 af          	mov    %rax,-0x51(%rbp)
140197698:	49 8b c0             	mov    %r8,%rax
14019769b:	48 c1 e8 35          	shr    $0x35,%rax
14019769f:	45 8b 04 84          	mov    (%r12,%rax,4),%r8d
1401976a3:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
1401976a7:	41 8b c8             	mov    %r8d,%ecx
1401976aa:	c1 e9 10             	shr    $0x10,%ecx
1401976ad:	80 e1 3f             	and    $0x3f,%cl
1401976b0:	66 44 89 02          	mov    %r8w,(%rdx)
1401976b4:	49 d3 e2             	shl    %cl,%r10
1401976b7:	41 0f b6 c9          	movzbl %r9b,%ecx
1401976bb:	80 e1 3f             	and    $0x3f,%cl
1401976be:	49 c1 e8 18          	shr    $0x18,%r8
1401976c2:	48 d3 e0             	shl    %cl,%rax
1401976c5:	4c 03 c2             	add    %rdx,%r8
1401976c8:	48 8b 55 97          	mov    -0x69(%rbp),%rdx
1401976cc:	48 0f bc c8          	bsf    %rax,%rcx
1401976d0:	8b c1                	mov    %ecx,%eax
1401976d2:	80 e1 07             	and    $0x7,%cl
1401976d5:	c1 f8 03             	sar    $0x3,%eax
1401976d8:	48 98                	cltq
1401976da:	48 2b d0             	sub    %rax,%rdx
1401976dd:	49 8b c2             	mov    %r10,%rax
1401976e0:	48 c1 e8 35          	shr    $0x35,%rax
1401976e4:	48 89 55 97          	mov    %rdx,-0x69(%rbp)
1401976e8:	4c 8b 0a             	mov    (%rdx),%r9
1401976eb:	41 8b 14 84          	mov    (%r12,%rax,4),%edx
1401976ef:	49 83 c9 01          	or     $0x1,%r9
1401976f3:	48 8b 45 87          	mov    -0x79(%rbp),%rax
1401976f7:	49 d3 e1             	shl    %cl,%r9
1401976fa:	8b ca                	mov    %edx,%ecx
1401976fc:	c1 e9 10             	shr    $0x10,%ecx
1401976ff:	80 e1 3f             	and    $0x3f,%cl
140197702:	66 41 89 10          	mov    %dx,(%r8)
140197706:	49 d3 e2             	shl    %cl,%r10
140197709:	41 0f b6 cb          	movzbl %r11b,%ecx
14019770d:	80 e1 3f             	and    $0x3f,%cl
140197710:	48 c1 ea 18          	shr    $0x18,%rdx
140197714:	48 d3 e0             	shl    %cl,%rax
140197717:	49 03 d0             	add    %r8,%rdx
14019771a:	4c 8b 45 9f          	mov    -0x61(%rbp),%r8
14019771e:	48 0f bc c8          	bsf    %rax,%rcx
140197722:	4c 89 4d 6f          	mov    %r9,0x6f(%rbp)
140197726:	8b c1                	mov    %ecx,%eax
140197728:	4c 89 4d b7          	mov    %r9,-0x49(%rbp)
14019772c:	c1 f8 03             	sar    $0x3,%eax
14019772f:	80 e1 07             	and    $0x7,%cl
140197732:	48 98                	cltq
140197734:	4c 2b c0             	sub    %rax,%r8
140197737:	4c 89 45 9f          	mov    %r8,-0x61(%rbp)
14019773b:	4d 8b 18             	mov    (%r8),%r11
14019773e:	49 83 cb 01          	or     $0x1,%r11
140197742:	49 d3 e3             	shl    %cl,%r11
140197745:	49 8b c2             	mov    %r10,%rax
140197748:	4c 89 5d bf          	mov    %r11,-0x41(%rbp)
14019774c:	48 c1 e8 35          	shr    $0x35,%rax
140197750:	41 8b 0c 84          	mov    (%r12,%rax,4),%ecx
140197754:	66 89 0a             	mov    %cx,(%rdx)
140197757:	8b f1                	mov    %ecx,%esi
140197759:	c1 e9 10             	shr    $0x10,%ecx
14019775c:	80 e1 3f             	and    $0x3f,%cl
14019775f:	48 c1 ee 18          	shr    $0x18,%rsi
140197763:	49 d3 e2             	shl    %cl,%r10
140197766:	48 03 f2             	add    %rdx,%rsi
140197769:	48 8b 55 a7          	mov    -0x59(%rbp),%rdx
14019776d:	49 0f bc c2          	bsf    %r10,%rax
140197771:	48 63 c8             	movslq %eax,%rcx
140197774:	48 8b c1             	mov    %rcx,%rax
140197777:	80 e1 07             	and    $0x7,%cl
14019777a:	48 c1 f8 03          	sar    $0x3,%rax
14019777e:	48 2b d0             	sub    %rax,%rdx
140197781:	48 89 55 a7          	mov    %rdx,-0x59(%rbp)
140197785:	4c 8b 12             	mov    (%rdx),%r10
140197788:	49 83 ca 01          	or     $0x1,%r10
14019778c:	49 d3 e2             	shl    %cl,%r10
14019778f:	4c 89 55 7f          	mov    %r10,0x7f(%rbp)
140197793:	4c 89 55 c7          	mov    %r10,-0x39(%rbp)
140197797:	4c 8b 55 77          	mov    0x77(%rbp),%r10
14019779b:	48 3b f3             	cmp    %rbx,%rsi
14019779e:	0f 82 6c fc ff ff    	jb     0x140197410
1401977a4:	48 8b 4d ff          	mov    -0x1(%rbp),%rcx
1401977a8:	4c 8b 45 07          	mov    0x7(%rbp),%r8
1401977ac:	48 8b 5d 0f          	mov    0xf(%rbp),%rbx
1401977b0:	48 89 75 e7          	mov    %rsi,-0x19(%rbp)
1401977b4:	4c 89 75 d7          	mov    %r14,-0x29(%rbp)
1401977b8:	4c 89 7d df          	mov    %r15,-0x21(%rbp)
1401977bc:	4c 89 6d 8f          	mov    %r13,-0x71(%rbp)
1401977c0:	48 89 7d cf          	mov    %rdi,-0x31(%rbp)
1401977c4:	e9 69 fb ff ff       	jmp    0x140197332
1401977c9:	48 8b 7d 67          	mov    0x67(%rbp),%rdi
1401977cd:	0f 10 45 af          	movups -0x51(%rbp),%xmm0
1401977d1:	0f 10 4d bf          	movups -0x41(%rbp),%xmm1
1401977d5:	0f 11 47 40          	movups %xmm0,0x40(%rdi)
1401977d9:	0f 10 45 8f          	movups -0x71(%rbp),%xmm0
1401977dd:	0f 11 4f 50          	movups %xmm1,0x50(%rdi)
1401977e1:	0f 10 4d 9f          	movups -0x61(%rbp),%xmm1
1401977e5:	0f 11 07             	movups %xmm0,(%rdi)
1401977e8:	0f 10 45 cf          	movups -0x31(%rbp),%xmm0
1401977ec:	0f 11 4f 10          	movups %xmm1,0x10(%rdi)
1401977f0:	0f 10 4d df          	movups -0x21(%rbp),%xmm1
1401977f4:	0f 11 47 20          	movups %xmm0,0x20(%rdi)
1401977f8:	0f 11 4f 30          	movups %xmm1,0x30(%rdi)
1401977fc:	48 81 c4 98 00 00 00 	add    $0x98,%rsp
140197803:	41 5f                	pop    %r15
140197805:	41 5e                	pop    %r14
140197807:	41 5d                	pop    %r13
140197809:	41 5c                	pop    %r12
14019780b:	5f                   	pop    %rdi
14019780c:	5e                   	pop    %rsi
14019780d:	5b                   	pop    %rbx
14019780e:	5d                   	pop    %rbp
14019780f:	c3                   	ret
140197810:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140197815:	56                   	push   %rsi
140197816:	57                   	push   %rdi
140197817:	41 57                	push   %r15
140197819:	48 83 ec 30          	sub    $0x30,%rsp
14019781d:	49 8b f1             	mov    %r9,%rsi
140197820:	49 8b f8             	mov    %r8,%rdi
140197823:	4c 8b fa             	mov    %rdx,%r15
140197826:	48 8b e9             	mov    %rcx,%rbp
140197829:	4d 85 c0             	test   %r8,%r8
14019782c:	75 15                	jne    0x140197843
14019782e:	48 c7 c0 ba ff ff ff 	mov    $0xffffffffffffffba,%rax
140197835:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
14019783a:	48 83 c4 30          	add    $0x30,%rsp
14019783e:	41 5f                	pop    %r15
140197840:	5f                   	pop    %rdi
140197841:	5e                   	pop    %rsi
140197842:	c3                   	ret
140197843:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140197848:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
14019784d:	48 85 db             	test   %rbx,%rbx
140197850:	75 0c                	jne    0x14019785e
140197852:	48 c7 c0 ec ff ff ff 	mov    $0xffffffffffffffec,%rax
140197859:	e9 e8 00 00 00       	jmp    0x140197946
14019785e:	48 3b df             	cmp    %rdi,%rbx
140197861:	72 07                	jb     0x14019786a
140197863:	b8 0f 00 00 00       	mov    $0xf,%eax
140197868:	eb 0c                	jmp    0x140197876
14019786a:	48 8b c3             	mov    %rbx,%rax
14019786d:	33 d2                	xor    %edx,%edx
14019786f:	48 c1 e0 04          	shl    $0x4,%rax
140197873:	48 f7 f7             	div    %rdi
140197876:	4c 8b 4c 24 78       	mov    0x78(%rsp),%r9
14019787b:	4c 8d 05 fe d8 1a 00 	lea    0x1ad8fe(%rip),%r8        # 0x140345180
140197882:	8b c0                	mov    %eax,%eax
140197884:	48 8b d7             	mov    %rdi,%rdx
140197887:	48 03 c0             	add    %rax,%rax
14019788a:	48 c1 ea 08          	shr    $0x8,%rdx
14019788e:	8b ca                	mov    %edx,%ecx
140197890:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
140197895:	44 8b b4 24 88 00 00 	mov    0x88(%rsp),%r14d
14019789c:	00
14019789d:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
1401978a2:	41 0f af 4c c0 0c    	imul   0xc(%r8,%rax,8),%ecx
1401978a8:	41 0f af 54 c0 04    	imul   0x4(%r8,%rax,8),%edx
1401978ae:	41 03 4c c0 08       	add    0x8(%r8,%rax,8),%ecx
1401978b3:	41 03 14 c0          	add    (%r8,%rax,8),%edx
1401978b7:	8b c1                	mov    %ecx,%eax
1401978b9:	c1 e8 05             	shr    $0x5,%eax
1401978bc:	4c 8b c3             	mov    %rbx,%r8
1401978bf:	03 c1                	add    %ecx,%eax
1401978c1:	48 8b cd             	mov    %rbp,%rcx
1401978c4:	3b c2                	cmp    %edx,%eax
1401978c6:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1401978cd:	00
1401978ce:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401978d3:	48 8b d6             	mov    %rsi,%rdx
1401978d6:	73 31                	jae    0x140197909
1401978d8:	e8 83 0f 00 00       	call   0x140198860
1401978dd:	48 83 f8 88          	cmp    $0xffffffffffffff88,%rax
1401978e1:	77 5e                	ja     0x140197941
1401978e3:	48 3b c3             	cmp    %rbx,%rax
1401978e6:	73 31                	jae    0x140197919
1401978e8:	48 2b d8             	sub    %rax,%rbx
1401978eb:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
1401978f0:	4c 8b cb             	mov    %rbx,%r9
1401978f3:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1401978f8:	4c 8d 04 30          	lea    (%rax,%rsi,1),%r8
1401978fc:	48 8b d7             	mov    %rdi,%rdx
1401978ff:	49 8b cf             	mov    %r15,%rcx
140197902:	e8 79 d5 ff ff       	call   0x140194e80
140197907:	eb 38                	jmp    0x140197941
140197909:	e8 c2 08 00 00       	call   0x1401981d0
14019790e:	48 83 f8 88          	cmp    $0xffffffffffffff88,%rax
140197912:	77 2d                	ja     0x140197941
140197914:	48 3b c3             	cmp    %rbx,%rax
140197917:	72 09                	jb     0x140197922
140197919:	48 c7 c0 b8 ff ff ff 	mov    $0xffffffffffffffb8,%rax
140197920:	eb 1f                	jmp    0x140197941
140197922:	48 2b d8             	sub    %rax,%rbx
140197925:	44 89 74 24 28       	mov    %r14d,0x28(%rsp)
14019792a:	4c 8b cb             	mov    %rbx,%r9
14019792d:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140197932:	4c 8d 04 30          	lea    (%rax,%rsi,1),%r8
140197936:	48 8b d7             	mov    %rdi,%rdx
140197939:	49 8b cf             	mov    %r15,%rcx
14019793c:	e8 ff bb ff ff       	call   0x140193540
140197941:	4c 8b 74 24 58       	mov    0x58(%rsp),%r14
140197946:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14019794b:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
140197950:	48 83 c4 30          	add    $0x30,%rsp
140197954:	41 5f                	pop    %r15
140197956:	5f                   	pop    %rdi
140197957:	5e                   	pop    %rsi
140197958:	c3                   	ret
140197959:	cc                   	int3
14019795a:	cc                   	int3
14019795b:	cc                   	int3
14019795c:	cc                   	int3
14019795d:	cc                   	int3
14019795e:	cc                   	int3
14019795f:	cc                   	int3
140197960:	48 83 ec 38          	sub    $0x38,%rsp
140197964:	4c 8b 54 24 60       	mov    0x60(%rsp),%r10
140197969:	41 8b 02             	mov    (%r10),%eax
14019796c:	c1 e8 08             	shr    $0x8,%eax
14019796f:	84 c0                	test   %al,%al
140197971:	8b 44 24 68          	mov    0x68(%rsp),%eax
140197975:	89 44 24 28          	mov    %eax,0x28(%rsp)
140197979:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
14019797e:	74 0a                	je     0x14019798a
140197980:	e8 fb d4 ff ff       	call   0x140194e80
140197985:	48 83 c4 38          	add    $0x38,%rsp
140197989:	c3                   	ret
14019798a:	e8 b1 bb ff ff       	call   0x140193540
14019798f:	48 83 c4 38          	add    $0x38,%rsp
140197993:	c3                   	ret
140197994:	cc                   	int3
140197995:	cc                   	int3
140197996:	cc                   	int3
140197997:	cc                   	int3
140197998:	cc                   	int3
140197999:	cc                   	int3
14019799a:	cc                   	int3
14019799b:	cc                   	int3
14019799c:	cc                   	int3
14019799d:	cc                   	int3
14019799e:	cc                   	int3
14019799f:	cc                   	int3
1401979a0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1401979a5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1401979aa:	89 54 24 10          	mov    %edx,0x10(%rsp)
1401979ae:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401979b3:	53                   	push   %rbx
1401979b4:	56                   	push   %rsi
1401979b5:	41 54                	push   %r12
1401979b7:	41 55                	push   %r13
1401979b9:	41 56                	push   %r14
1401979bb:	48 81 ec c0 00 00 00 	sub    $0xc0,%rsp
1401979c2:	8b 84 24 18 01 00 00 	mov    0x118(%rsp),%eax
1401979c9:	4c 8b e9             	mov    %rcx,%r13
1401979cc:	8b 8c 24 20 01 00 00 	mov    0x120(%rsp),%ecx
1401979d3:	4d 8b f1             	mov    %r9,%r14
1401979d6:	44 8b e1             	mov    %ecx,%r12d
1401979d9:	44 8b d1             	mov    %ecx,%r10d
1401979dc:	44 2b e2             	sub    %edx,%r12d
1401979df:	44 2b d0             	sub    %eax,%r10d
1401979e2:	ff c0                	inc    %eax
1401979e4:	44 89 64 24 40       	mov    %r12d,0x40(%rsp)
1401979e9:	48 63 f0             	movslq %eax,%rsi
1401979ec:	44 8b ca             	mov    %edx,%r9d
1401979ef:	ba 01 00 00 00       	mov    $0x1,%edx
1401979f4:	44 89 94 24 18 01 00 	mov    %r10d,0x118(%rsp)
1401979fb:	00
1401979fc:	89 54 24 44          	mov    %edx,0x44(%rsp)
140197a00:	49 8b d8             	mov    %r8,%rbx
140197a03:	48 89 74 24 60       	mov    %rsi,0x60(%rsp)
140197a08:	44 8b da             	mov    %edx,%r11d
140197a0b:	48 3b f2             	cmp    %rdx,%rsi
140197a0e:	0f 8e 9d 02 00 00    	jle    0x140197cb1
140197a14:	48 8b 94 24 10 01 00 	mov    0x110(%rsp),%rdx
140197a1b:	00
140197a1c:	49 8b c6             	mov    %r14,%rax
140197a1f:	48 89 ac 24 b8 00 00 	mov    %rbp,0xb8(%rsp)
140197a26:	00
140197a27:	48 2b c2             	sub    %rdx,%rax
140197a2a:	48 89 bc 24 b0 00 00 	mov    %rdi,0xb0(%rsp)
140197a31:	00
140197a32:	48 8d 6e ff          	lea    -0x1(%rsi),%rbp
140197a36:	4c 89 bc 24 a8 00 00 	mov    %r15,0xa8(%rsp)
140197a3d:	00
140197a3e:	48 8d 7a 04          	lea    0x4(%rdx),%rdi
140197a42:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
140197a49:	00
140197a4a:	48 89 7c 24 68       	mov    %rdi,0x68(%rsp)
140197a4f:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
140197a54:	0f 1f 40 00          	nopl   0x0(%rax)
140197a58:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
140197a5f:	00
140197a60:	48 63 14 38          	movslq (%rax,%rdi,1),%rdx
140197a64:	44 8b f9             	mov    %ecx,%r15d
140197a67:	4c 63 44 38 04       	movslq 0x4(%rax,%rdi,1),%r8
140197a6c:	45 2b fb             	sub    %r11d,%r15d
140197a6f:	41 8b c1             	mov    %r9d,%eax
140197a72:	41 bb 01 00 00 00    	mov    $0x1,%r11d
140197a78:	41 2b c7             	sub    %r15d,%eax
140197a7b:	8b c8                	mov    %eax,%ecx
140197a7d:	83 e1 1f             	and    $0x1f,%ecx
140197a80:	41 d3 e3             	shl    %cl,%r11d
140197a83:	44 89 5c 24 54       	mov    %r11d,0x54(%rsp)
140197a88:	41 3b c2             	cmp    %r10d,%eax
140197a8b:	0f 82 30 02 00 00    	jb     0x140197cc1
140197a91:	47 8d 0c 27          	lea    (%r15,%r12,1),%r9d
140197a95:	48 89 54 24 58       	mov    %rdx,0x58(%rsp)
140197a9a:	41 83 f9 01          	cmp    $0x1,%r9d
140197a9e:	4c 89 84 24 88 00 00 	mov    %r8,0x88(%rsp)
140197aa5:	00
140197aa6:	b8 01 00 00 00       	mov    $0x1,%eax
140197aab:	4c 8b e2             	mov    %rdx,%r12
140197aae:	44 0f 4c c8          	cmovl  %eax,%r9d
140197ab2:	44 89 4c 24 50       	mov    %r9d,0x50(%rsp)
140197ab7:	49 3b d0             	cmp    %r8,%rdx
140197aba:	0f 84 98 01 00 00    	je     0x140197c58
140197ac0:	48 63 17             	movslq (%rdi),%rdx
140197ac3:	41 8b c7             	mov    %r15d,%eax
140197ac6:	4c 6b d0 34          	imul   $0x34,%rax,%r10
140197aca:	49 63 cb             	movslq %r11d,%rcx
140197acd:	48 8d 3c 95 00 00 00 	lea    0x0(,%rdx,4),%rdi
140197ad4:	00
140197ad5:	4c 03 94 24 10 01 00 	add    0x110(%rsp),%r10
140197adc:	00
140197add:	45 8b c1             	mov    %r9d,%r8d
140197ae0:	49 03 fd             	add    %r13,%rdi
140197ae3:	4c 89 94 24 80 00 00 	mov    %r10,0x80(%rsp)
140197aea:	00
140197aeb:	48 8d 04 8d 00 00 00 	lea    0x0(,%rcx,4),%rax
140197af2:	00
140197af3:	4c 89 44 24 78       	mov    %r8,0x78(%rsp)
140197af8:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140197afd:	0f 1f 00             	nopl   (%rax)
140197b00:	46 0f b6 2c 23       	movzbl (%rbx,%r12,1),%r13d
140197b05:	41 83 f9 01          	cmp    $0x1,%r9d
140197b09:	76 6c                	jbe    0x140197b77
140197b0b:	41 8d 97 00 01 00 00 	lea    0x100(%r15),%edx
140197b12:	48 b8 01 00 00 00 01 	movabs $0x100000001,%rax
140197b19:	00 00 00
140197b1c:	c1 e2 10             	shl    $0x10,%edx
140197b1f:	41 03 d5             	add    %r13d,%edx
140197b22:	48 0f af d0          	imul   %rax,%rdx
140197b26:	41 83 fb 02          	cmp    $0x2,%r11d
140197b2a:	74 43                	je     0x140197b6f
140197b2c:	41 83 fb 04          	cmp    $0x4,%r11d
140197b30:	74 39                	je     0x140197b6b
140197b32:	4b 63 0c 82          	movslq (%r10,%r8,4),%rcx
140197b36:	48 85 c9             	test   %rcx,%rcx
140197b39:	7e 37                	jle    0x140197b72
140197b3b:	48 ff c9             	dec    %rcx
140197b3e:	48 8d 47 10          	lea    0x10(%rdi),%rax