14017a54b:	48 c1 c1 1f          	rol    $0x1f,%rcx
14017a54f:	48 0f af ce          	imul   %rsi,%rcx
14017a553:	48 33 c1             	xor    %rcx,%rax
14017a556:	48 c1 c0 1b          	rol    $0x1b,%rax
14017a55a:	48 0f af c6          	imul   %rsi,%rax
14017a55e:	49 2b c7             	sub    %r15,%rax
14017a561:	48 83 ea 01          	sub    $0x1,%rdx
14017a565:	75 d9                	jne    0x14017a540
14017a567:	4c 8b 7c 24 28       	mov    0x28(%rsp),%r15
14017a56c:	49 b8 f9 79 37 9e b1 	movabs $0x165667b19e3779f9,%r8
14017a573:	67 56 16
14017a576:	49 83 fa 04          	cmp    $0x4,%r10
14017a57a:	72 1d                	jb     0x14017a599
14017a57c:	41 8b 11             	mov    (%r9),%edx
14017a57f:	49 83 c1 04          	add    $0x4,%r9
14017a583:	48 0f af d6          	imul   %rsi,%rdx
14017a587:	48 33 c2             	xor    %rdx,%rax
14017a58a:	48 c1 c0 17          	rol    $0x17,%rax
14017a58e:	48 0f af c5          	imul   %rbp,%rax
14017a592:	49 03 c0             	add    %r8,%rax
14017a595:	49 83 ea 04          	sub    $0x4,%r10
14017a599:	4d 85 d2             	test   %r10,%r10
14017a59c:	74 1f                	je     0x14017a5bd
14017a59e:	66 90                	xchg   %ax,%ax
14017a5a0:	41 0f b6 09          	movzbl (%r9),%ecx
14017a5a4:	4d 8d 49 01          	lea    0x1(%r9),%r9
14017a5a8:	49 0f af ce          	imul   %r14,%rcx
14017a5ac:	48 33 c1             	xor    %rcx,%rax
14017a5af:	48 c1 c0 0b          	rol    $0xb,%rax
14017a5b3:	48 0f af c6          	imul   %rsi,%rax
14017a5b7:	49 83 ea 01          	sub    $0x1,%r10
14017a5bb:	75 e3                	jne    0x14017a5a0
14017a5bd:	48 8b c8             	mov    %rax,%rcx
14017a5c0:	48 c1 e9 21          	shr    $0x21,%rcx
14017a5c4:	48 33 c8             	xor    %rax,%rcx
14017a5c7:	48 0f af cd          	imul   %rbp,%rcx
14017a5cb:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
14017a5d0:	48 8b d1             	mov    %rcx,%rdx
14017a5d3:	48 c1 ea 1d          	shr    $0x1d,%rdx
14017a5d7:	48 33 d1             	xor    %rcx,%rdx
14017a5da:	49 0f af d0          	imul   %r8,%rdx
14017a5de:	48 8b c2             	mov    %rdx,%rax
14017a5e1:	48 c1 e8 20          	shr    $0x20,%rax
14017a5e5:	48 33 c2             	xor    %rdx,%rax
14017a5e8:	41 5e                	pop    %r14
14017a5ea:	5e                   	pop    %rsi
14017a5eb:	c3                   	ret
14017a5ec:	cc                   	int3
14017a5ed:	cc                   	int3
14017a5ee:	cc                   	int3
14017a5ef:	cc                   	int3
14017a5f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14017a5f5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14017a5fa:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
14017a5ff:	48 8d 3c 11          	lea    (%rcx,%rdx,1),%rdi
14017a603:	4c 8b d1             	mov    %rcx,%r10
14017a606:	48 3b cf             	cmp    %rdi,%rcx
14017a609:	0f 83 f9 00 00 00    	jae    0x14017a708
14017a60f:	be 04 00 00 00       	mov    $0x4,%esi
14017a614:	41 0f b6 02          	movzbl (%r10),%eax
14017a618:	84 c0                	test   %al,%al
14017a61a:	78 0b                	js     0x14017a627
14017a61c:	41 b9 01 00 00 00    	mov    $0x1,%r9d
14017a622:	83 e0 7f             	and    $0x7f,%eax
14017a625:	eb 6e                	jmp    0x14017a695
14017a627:	0f b6 d0             	movzbl %al,%edx
14017a62a:	80 e2 e0             	and    $0xe0,%dl
14017a62d:	80 fa c0             	cmp    $0xc0,%dl
14017a630:	75 08                	jne    0x14017a63a
14017a632:	41 b9 02 00 00 00    	mov    $0x2,%r9d
14017a638:	eb 23                	jmp    0x14017a65d
14017a63a:	0f b6 c8             	movzbl %al,%ecx
14017a63d:	80 e1 f0             	and    $0xf0,%cl
14017a640:	80 f9 e0             	cmp    $0xe0,%cl
14017a643:	75 08                	jne    0x14017a64d
14017a645:	41 b9 03 00 00 00    	mov    $0x3,%r9d
14017a64b:	eb 10                	jmp    0x14017a65d
14017a64d:	45 33 c9             	xor    %r9d,%r9d
14017a650:	0f b6 c8             	movzbl %al,%ecx
14017a653:	80 e1 f8             	and    $0xf8,%cl
14017a656:	80 f9 f0             	cmp    $0xf0,%cl
14017a659:	44 0f 44 ce          	cmove  %esi,%r9d
14017a65d:	b1 f0                	mov    $0xf0,%cl
14017a65f:	44 0f b6 c0          	movzbl %al,%r8d
14017a663:	22 c8                	and    %al,%cl
14017a665:	80 fa c0             	cmp    $0xc0,%dl
14017a668:	75 05                	jne    0x14017a66f
14017a66a:	83 e0 1f             	and    $0x1f,%eax
14017a66d:	eb 1d                	jmp    0x14017a68c
14017a66f:	80 f9 e0             	cmp    $0xe0,%cl
14017a672:	75 05                	jne    0x14017a679
14017a674:	83 e0 0f             	and    $0xf,%eax
14017a677:	eb 13                	jmp    0x14017a68c
14017a679:	0f b6 d0             	movzbl %al,%edx
14017a67c:	83 e0 07             	and    $0x7,%eax
14017a67f:	8b c8                	mov    %eax,%ecx
14017a681:	80 e2 f8             	and    $0xf8,%dl
14017a684:	33 c0                	xor    %eax,%eax
14017a686:	80 fa f0             	cmp    $0xf0,%dl
14017a689:	0f 44 c1             	cmove  %ecx,%eax
14017a68c:	45 85 c9             	test   %r9d,%r9d
14017a68f:	0f 84 88 00 00 00    	je     0x14017a71d
14017a695:	45 8b d9             	mov    %r9d,%r11d
14017a698:	4b 8d 1c 13          	lea    (%r11,%r10,1),%rbx
14017a69c:	48 3b df             	cmp    %rdi,%rbx
14017a69f:	0f 87 78 00 00 00    	ja     0x14017a71d
14017a6a5:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14017a6ab:	4d 3b c3             	cmp    %r11,%r8
14017a6ae:	73 20                	jae    0x14017a6d0
14017a6b0:	43 0f b6 14 10       	movzbl (%r8,%r10,1),%edx
14017a6b5:	0f b6 ca             	movzbl %dl,%ecx
14017a6b8:	80 e1 c0             	and    $0xc0,%cl
14017a6bb:	80 f9 80             	cmp    $0x80,%cl
14017a6be:	75 5d                	jne    0x14017a71d
14017a6c0:	83 e2 3f             	and    $0x3f,%edx
14017a6c3:	c1 e0 06             	shl    $0x6,%eax
14017a6c6:	03 c2                	add    %edx,%eax
14017a6c8:	49 ff c0             	inc    %r8
14017a6cb:	4d 3b c3             	cmp    %r11,%r8
14017a6ce:	72 e0                	jb     0x14017a6b0
14017a6d0:	41 83 f9 01          	cmp    $0x1,%r9d
14017a6d4:	74 26                	je     0x14017a6fc
14017a6d6:	41 83 f9 02          	cmp    $0x2,%r9d
14017a6da:	75 07                	jne    0x14017a6e3
14017a6dc:	3d 80 00 00 00       	cmp    $0x80,%eax
14017a6e1:	eb 17                	jmp    0x14017a6fa
14017a6e3:	41 83 f9 03          	cmp    $0x3,%r9d
14017a6e7:	75 07                	jne    0x14017a6f0
14017a6e9:	3d 00 08 00 00       	cmp    $0x800,%eax
14017a6ee:	eb 0a                	jmp    0x14017a6fa
14017a6f0:	44 3b ce             	cmp    %esi,%r9d
14017a6f3:	75 28                	jne    0x14017a71d
14017a6f5:	3d 00 00 01 00       	cmp    $0x10000,%eax
14017a6fa:	72 21                	jb     0x14017a71d
14017a6fc:	4c 8b d3             	mov    %rbx,%r10
14017a6ff:	48 3b df             	cmp    %rdi,%rbx
14017a702:	0f 82 0c ff ff ff    	jb     0x14017a614
14017a708:	b8 01 00 00 00       	mov    $0x1,%eax
14017a70d:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14017a712:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14017a717:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14017a71c:	c3                   	ret
14017a71d:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
14017a722:	33 c0                	xor    %eax,%eax
14017a724:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
14017a729:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
14017a72e:	c3                   	ret
14017a72f:	cc                   	int3
14017a730:	48 83 ec 28          	sub    $0x28,%rsp
14017a734:	0f 57 c0             	xorps  %xmm0,%xmm0
14017a737:	45 33 c0             	xor    %r8d,%r8d
14017a73a:	0f 11 01             	movups %xmm0,(%rcx)
14017a73d:	4c 89 04 24          	mov    %r8,(%rsp)
14017a741:	b8 01 00 00 00       	mov    $0x1,%eax
14017a746:	0f 11 41 10          	movups %xmm0,0x10(%rcx)
14017a74a:	4c 89 44 24 08       	mov    %r8,0x8(%rsp)
14017a74f:	0f 11 41 20          	movups %xmm0,0x20(%rcx)
14017a753:	4c 89 44 24 10       	mov    %r8,0x10(%rsp)
14017a758:	0f 11 41 30          	movups %xmm0,0x30(%rcx)
14017a75c:	0f 11 41 40          	movups %xmm0,0x40(%rcx)
14017a760:	c7 01 04 00 00 00    	movl   $0x4,(%rcx)
14017a766:	4c 89 41 40          	mov    %r8,0x40(%rcx)
14017a76a:	4c 89 41 48          	mov    %r8,0x48(%rcx)
14017a76e:	0f 10 04 24          	movups (%rsp),%xmm0
14017a772:	89 51 08             	mov    %edx,0x8(%rcx)
14017a775:	f2 0f 10 4c 24 10    	movsd  0x10(%rsp),%xmm1
14017a77b:	0f 11 41 50          	movups %xmm0,0x50(%rcx)
14017a77f:	f2 0f 11 49 60       	movsd  %xmm1,0x60(%rcx)
14017a784:	48 83 c4 28          	add    $0x28,%rsp
14017a788:	c3                   	ret
14017a789:	cc                   	int3
14017a78a:	cc                   	int3
14017a78b:	cc                   	int3
14017a78c:	cc                   	int3
14017a78d:	cc                   	int3
14017a78e:	cc                   	int3
14017a78f:	cc                   	int3
14017a790:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
14017a795:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14017a79a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14017a79f:	55                   	push   %rbp
14017a7a0:	56                   	push   %rsi
14017a7a1:	57                   	push   %rdi
14017a7a2:	41 54                	push   %r12
14017a7a4:	41 55                	push   %r13
14017a7a6:	41 56                	push   %r14
14017a7a8:	41 57                	push   %r15
14017a7aa:	48 83 ec 40          	sub    $0x40,%rsp
14017a7ae:	33 ed                	xor    %ebp,%ebp
14017a7b0:	4d 8b e1             	mov    %r9,%r12
14017a7b3:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14017a7b8:	4d 8b e8             	mov    %r8,%r13
14017a7bb:	48 89 6c 24 28       	mov    %rbp,0x28(%rsp)
14017a7c0:	48 8b fa             	mov    %rdx,%rdi
14017a7c3:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14017a7c8:	48 8b f1             	mov    %rcx,%rsi
14017a7cb:	48 89 ac 24 88 00 00 	mov    %rbp,0x88(%rsp)
14017a7d2:	00
14017a7d3:	8b dd                	mov    %ebp,%ebx
14017a7d5:	44 8b fd             	mov    %ebp,%r15d
14017a7d8:	44 8b f5             	mov    %ebp,%r14d
14017a7db:	48 85 d2             	test   %rdx,%rdx
14017a7de:	74 26                	je     0x14017a806
14017a7e0:	b9 08 00 00 00       	mov    $0x8,%ecx
14017a7e5:	ff 15 35 f7 1a 00    	call   *0x1af735(%rip)        # 0x140329f20
14017a7eb:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
14017a7f2:	00
14017a7f3:	48 85 c0             	test   %rax,%rax
14017a7f6:	0f 84 18 02 00 00    	je     0x14017aa14
14017a7fc:	8b 0f                	mov    (%rdi),%ecx
14017a7fe:	89 08                	mov    %ecx,(%rax)
14017a800:	8b 4f 04             	mov    0x4(%rdi),%ecx
14017a803:	89 48 04             	mov    %ecx,0x4(%rax)
14017a806:	4d 3b ec             	cmp    %r12,%r13
14017a809:	0f 84 29 01 00 00    	je     0x14017a938
14017a80f:	b9 00 01 00 00       	mov    $0x100,%ecx
14017a814:	ff 15 06 f7 1a 00    	call   *0x1af706(%rip)        # 0x140329f20
14017a81a:	48 8b f0             	mov    %rax,%rsi
14017a81d:	48 85 c0             	test   %rax,%rax
14017a820:	0f 84 7d 01 00 00    	je     0x14017a9a3
14017a826:	4c 8d a0 00 01 00 00 	lea    0x100(%rax),%r12
14017a82d:	48 8b d8             	mov    %rax,%rbx
14017a830:	49 8b 7d 00          	mov    0x0(%r13),%rdi
14017a834:	4c 8b fd             	mov    %rbp,%r15
14017a837:	4c 8b f5             	mov    %rbp,%r14
14017a83a:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
14017a841:	48 ff c2             	inc    %rdx
14017a844:	40 38 2c 17          	cmp    %bpl,(%rdi,%rdx,1)
14017a848:	75 f7                	jne    0x14017a841
14017a84a:	48 8b cf             	mov    %rdi,%rcx
14017a84d:	e8 9e fd ff ff       	call   0x14017a5f0
14017a852:	85 c0                	test   %eax,%eax
14017a854:	0f 84 49 01 00 00    	je     0x14017a9a3
14017a85a:	49 8b 4d 08          	mov    0x8(%r13),%rcx
14017a85e:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
14017a865:	48 ff c2             	inc    %rdx
14017a868:	40 38 2c 11          	cmp    %bpl,(%rcx,%rdx,1)
14017a86c:	75 f7                	jne    0x14017a865
14017a86e:	e8 7d fd ff ff       	call   0x14017a5f0
14017a873:	85 c0                	test   %eax,%eax
14017a875:	0f 84 28 01 00 00    	je     0x14017a9a3
14017a87b:	48 85 ff             	test   %rdi,%rdi
14017a87e:	74 0c                	je     0x14017a88c
14017a880:	48 8b cf             	mov    %rdi,%rcx
14017a883:	ff 15 f7 f8 1a 00    	call   *0x1af8f7(%rip)        # 0x14032a180
14017a889:	4c 8b f8             	mov    %rax,%r15
14017a88c:	49 8b 4d 08          	mov    0x8(%r13),%rcx
14017a890:	48 85 c9             	test   %rcx,%rcx
14017a893:	74 09                	je     0x14017a89e
14017a895:	ff 15 e5 f8 1a 00    	call   *0x1af8e5(%rip)        # 0x14032a180
14017a89b:	4c 8b f0             	mov    %rax,%r14
14017a89e:	4d 85 ff             	test   %r15,%r15
14017a8a1:	0f 84 fc 00 00 00    	je     0x14017a9a3
14017a8a7:	4d 85 f6             	test   %r14,%r14
14017a8aa:	0f 84 f3 00 00 00    	je     0x14017a9a3
14017a8b0:	49 3b dc             	cmp    %r12,%rbx
14017a8b3:	75 5b                	jne    0x14017a910
14017a8b5:	4c 2b e6             	sub    %rsi,%r12
14017a8b8:	49 81 fc ff ff ff 3f 	cmp    $0x3fffffff,%r12
14017a8bf:	0f 8d de 00 00 00    	jge    0x14017a9a3
14017a8c5:	4b 8d 3c 24          	lea    (%r12,%r12,1),%rdi
14017a8c9:	48 85 f6             	test   %rsi,%rsi
14017a8cc:	74 17                	je     0x14017a8e5
14017a8ce:	48 85 ff             	test   %rdi,%rdi
14017a8d1:	ba 01 00 00 00       	mov    $0x1,%edx
14017a8d6:	48 8b ce             	mov    %rsi,%rcx
14017a8d9:	48 0f 45 d7          	cmovne %rdi,%rdx
14017a8dd:	ff 15 25 f6 1a 00    	call   *0x1af625(%rip)        # 0x140329f08
14017a8e3:	eb 12                	jmp    0x14017a8f7
14017a8e5:	48 85 ff             	test   %rdi,%rdi
14017a8e8:	b9 01 00 00 00       	mov    $0x1,%ecx
14017a8ed:	48 0f 45 cf          	cmovne %rdi,%rcx
14017a8f1:	ff 15 29 f6 1a 00    	call   *0x1af629(%rip)        # 0x140329f20
14017a8f7:	48 8b c8             	mov    %rax,%rcx
14017a8fa:	48 85 c0             	test   %rax,%rax
14017a8fd:	0f 84 a0 00 00 00    	je     0x14017a9a3
14017a903:	48 2b c6             	sub    %rsi,%rax
14017a906:	4c 8d 24 0f          	lea    (%rdi,%rcx,1),%r12
14017a90a:	48 03 d8             	add    %rax,%rbx
14017a90d:	48 8b f1             	mov    %rcx,%rsi
14017a910:	4c 89 3b             	mov    %r15,(%rbx)
14017a913:	49 83 c5 10          	add    $0x10,%r13
14017a917:	4c 89 73 08          	mov    %r14,0x8(%rbx)
14017a91b:	48 83 c3 10          	add    $0x10,%rbx
14017a91f:	4c 3b ac 24 98 00 00 	cmp    0x98(%rsp),%r13
14017a926:	00
14017a927:	0f 85 03 ff ff ff    	jne    0x14017a830
14017a92d:	48 8b ee             	mov    %rsi,%rbp
14017a930:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
14017a937:	00
14017a938:	0f 10 54 24 20       	movups 0x20(%rsp),%xmm2
14017a93d:	33 c0                	xor    %eax,%eax
14017a93f:	8b 8c 24 a0 00 00 00 	mov    0xa0(%rsp),%ecx
14017a946:	f2 0f 10 4c 24 30    	movsd  0x30(%rsp),%xmm1
14017a94c:	0f 57 c0             	xorps  %xmm0,%xmm0
14017a94f:	48 c7 06 03 00 00 00 	movq   $0x3,(%rsi)
14017a956:	0f 11 46 24          	movups %xmm0,0x24(%rsi)
14017a95a:	89 46 34             	mov    %eax,0x34(%rsi)
14017a95d:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
14017a964:	00
14017a965:	48 89 46 08          	mov    %rax,0x8(%rsi)
14017a969:	b8 01 00 00 00       	mov    $0x1,%eax
14017a96e:	0f 11 56 38          	movups %xmm2,0x38(%rsi)
14017a972:	48 89 6e 10          	mov    %rbp,0x10(%rsi)
14017a976:	0f 11 56 50          	movups %xmm2,0x50(%rsi)
14017a97a:	48 89 5e 18          	mov    %rbx,0x18(%rsi)
14017a97e:	f2 0f 11 4e 48       	movsd  %xmm1,0x48(%rsi)
14017a983:	f2 0f 11 4e 60       	movsd  %xmm1,0x60(%rsi)
14017a988:	89 4e 20             	mov    %ecx,0x20(%rsi)
14017a98b:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
14017a992:	00
14017a993:	48 83 c4 40          	add    $0x40,%rsp
14017a997:	41 5f                	pop    %r15
14017a999:	41 5e                	pop    %r14
14017a99b:	41 5d                	pop    %r13
14017a99d:	41 5c                	pop    %r12
14017a99f:	5f                   	pop    %rdi
14017a9a0:	5e                   	pop    %rsi
14017a9a1:	5d                   	pop    %rbp
14017a9a2:	c3                   	ret
14017a9a3:	48 8b 84 24 88 00 00 	mov    0x88(%rsp),%rax
14017a9aa:	00
14017a9ab:	48 85 c0             	test   %rax,%rax
14017a9ae:	74 09                	je     0x14017a9b9
14017a9b0:	48 8b c8             	mov    %rax,%rcx
14017a9b3:	ff 15 5f f5 1a 00    	call   *0x1af55f(%rip)        # 0x140329f18
14017a9b9:	48 3b f3             	cmp    %rbx,%rsi
14017a9bc:	74 2c                	je     0x14017a9ea
14017a9be:	66 90                	xchg   %ax,%ax
14017a9c0:	48 8b 4b f0          	mov    -0x10(%rbx),%rcx
14017a9c4:	48 83 eb 10          	sub    $0x10,%rbx
14017a9c8:	48 8b 7b 08          	mov    0x8(%rbx),%rdi
14017a9cc:	48 85 c9             	test   %rcx,%rcx
14017a9cf:	74 06                	je     0x14017a9d7
14017a9d1:	ff 15 41 f5 1a 00    	call   *0x1af541(%rip)        # 0x140329f18
14017a9d7:	48 85 ff             	test   %rdi,%rdi
14017a9da:	74 09                	je     0x14017a9e5
14017a9dc:	48 8b cf             	mov    %rdi,%rcx
14017a9df:	ff 15 33 f5 1a 00    	call   *0x1af533(%rip)        # 0x140329f18
14017a9e5:	48 3b de             	cmp    %rsi,%rbx
14017a9e8:	75 d6                	jne    0x14017a9c0
14017a9ea:	48 85 f6             	test   %rsi,%rsi
14017a9ed:	74 09                	je     0x14017a9f8
14017a9ef:	48 8b ce             	mov    %rsi,%rcx
14017a9f2:	ff 15 20 f5 1a 00    	call   *0x1af520(%rip)        # 0x140329f18
14017a9f8:	4d 85 ff             	test   %r15,%r15
14017a9fb:	74 09                	je     0x14017aa06
14017a9fd:	49 8b cf             	mov    %r15,%rcx
14017aa00:	ff 15 12 f5 1a 00    	call   *0x1af512(%rip)        # 0x140329f18
14017aa06:	4d 85 f6             	test   %r14,%r14