14016b6db:	56                   	push   %rsi
14016b6dc:	57                   	push   %rdi
14016b6dd:	41 57                	push   %r15
14016b6df:	48 8b ec             	mov    %rsp,%rbp
14016b6e2:	48 83 ec 50          	sub    $0x50,%rsp
14016b6e6:	49 8b 00             	mov    (%r8),%rax
14016b6e9:	45 33 ff             	xor    %r15d,%r15d
14016b6ec:	49 8b f9             	mov    %r9,%rdi
14016b6ef:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14016b6f4:	49 8b d8             	mov    %r8,%rbx
14016b6f7:	66 44 89 7d e8       	mov    %r15w,-0x18(%rbp)
14016b6fc:	48 8b f1             	mov    %rcx,%rsi
14016b6ff:	4c 89 7d f0          	mov    %r15,-0x10(%rbp)
14016b703:	8a 10                	mov    (%rax),%dl
14016b705:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
14016b709:	88 55 e0             	mov    %dl,-0x20(%rbp)
14016b70c:	45 8d 47 01          	lea    0x1(%r15),%r8d
14016b710:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14016b714:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
14016b718:	e8 5f d3 ff ff       	call   0x140168a7c
14016b71d:	0f b7 45 e8          	movzwl -0x18(%rbp),%eax
14016b721:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
14016b725:	66 89 46 18          	mov    %ax,0x18(%rsi)
14016b729:	45 8d 47 01          	lea    0x1(%r15),%r8d
14016b72d:	48 8b 43 08          	mov    0x8(%rbx),%rax
14016b731:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14016b735:	66 44 89 7d e8       	mov    %r15w,-0x18(%rbp)
14016b73a:	4c 89 7d f0          	mov    %r15,-0x10(%rbp)
14016b73e:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14016b743:	8a 08                	mov    (%rax),%cl
14016b745:	88 4d e0             	mov    %cl,-0x20(%rbp)
14016b748:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx
14016b74c:	e8 2b d3 ff ff       	call   0x140168a7c
14016b751:	0f b7 45 e8          	movzwl -0x18(%rbp),%eax
14016b755:	66 89 46 1a          	mov    %ax,0x1a(%rsi)
14016b759:	48 83 c4 50          	add    $0x50,%rsp
14016b75d:	41 5f                	pop    %r15
14016b75f:	5f                   	pop    %rdi
14016b760:	5e                   	pop    %rsi
14016b761:	5b                   	pop    %rbx
14016b762:	5d                   	pop    %rbp
14016b763:	c3                   	ret
14016b764:	48 8b c4             	mov    %rsp,%rax
14016b767:	48 89 58 08          	mov    %rbx,0x8(%rax)
14016b76b:	48 89 68 10          	mov    %rbp,0x10(%rax)
14016b76f:	48 89 70 18          	mov    %rsi,0x18(%rax)
14016b773:	57                   	push   %rdi
14016b774:	48 83 ec 50          	sub    $0x50,%rsp
14016b778:	48 8b e9             	mov    %rcx,%rbp
14016b77b:	49 8b d8             	mov    %r8,%rbx
14016b77e:	48 8d 48 c8          	lea    -0x38(%rax),%rcx
14016b782:	e8 05 df ff ff       	call   0x14016968c
14016b787:	48 8d 75 2c          	lea    0x2c(%rbp),%rsi
14016b78b:	0f 10 00             	movups (%rax),%xmm0
14016b78e:	0f 11 06             	movups %xmm0,(%rsi)
14016b791:	0f 10 48 10          	movups 0x10(%rax),%xmm1
14016b795:	0f 11 4e 10          	movups %xmm1,0x10(%rsi)
14016b799:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
14016b79e:	f2 0f 11 46 20       	movsd  %xmm0,0x20(%rsi)
14016b7a3:	8b 40 28             	mov    0x28(%rax),%eax
14016b7a6:	89 46 28             	mov    %eax,0x28(%rsi)
14016b7a9:	e8 92 5d 02 00       	call   0x140191540
14016b7ae:	48 8b f8             	mov    %rax,%rdi
14016b7b1:	48 85 c0             	test   %rax,%rax
14016b7b4:	74 14                	je     0x14016b7ca
14016b7b6:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
14016b7ba:	48 8b d0             	mov    %rax,%rdx
14016b7bd:	e8 5e ad f6 ff       	call   0x1400d6520
14016b7c2:	48 8b cf             	mov    %rdi,%rcx
14016b7c5:	e8 52 3d 02 00       	call   0x14018f51c
14016b7ca:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
14016b7cf:	48 8d 0d 7a 32 0d 00 	lea    0xd327a(%rip),%rcx        # 0x14023ea50
14016b7d6:	4c 8b c6             	mov    %rsi,%r8
14016b7d9:	48 0f 45 4b 08       	cmovne 0x8(%rbx),%rcx
14016b7de:	33 d2                	xor    %edx,%edx
14016b7e0:	e8 eb 01 00 00       	call   0x14016b9d0
14016b7e5:	48 89 45 10          	mov    %rax,0x10(%rbp)
14016b7e9:	e8 b6 5e 02 00       	call   0x1401916a4
14016b7ee:	48 8b f8             	mov    %rax,%rdi
14016b7f1:	48 85 c0             	test   %rax,%rax
14016b7f4:	74 14                	je     0x14016b80a
14016b7f6:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14016b7fa:	48 8b d0             	mov    %rax,%rdx
14016b7fd:	e8 1e ad f6 ff       	call   0x1400d6520
14016b802:	48 8b cf             	mov    %rdi,%rcx
14016b805:	e8 12 3d 02 00       	call   0x14018f51c
14016b80a:	48 83 7b 18 00       	cmpq   $0x0,0x18(%rbx)
14016b80f:	48 8d 0d fa 30 0d 00 	lea    0xd30fa(%rip),%rcx        # 0x14023e910
14016b816:	4c 8b c6             	mov    %rsi,%r8
14016b819:	48 0f 45 4b 18       	cmovne 0x18(%rbx),%rcx
14016b81e:	33 d2                	xor    %edx,%edx
14016b820:	e8 ab 01 00 00       	call   0x14016b9d0
14016b825:	4c 8b c6             	mov    %rsi,%r8
14016b828:	48 89 45 18          	mov    %rax,0x18(%rbp)
14016b82c:	33 d2                	xor    %edx,%edx
14016b82e:	48 8d 0d e3 33 0d 00 	lea    0xd33e3(%rip),%rcx        # 0x14023ec18
14016b835:	e8 96 01 00 00       	call   0x14016b9d0
14016b83a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14016b83f:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14016b844:	48 89 45 20          	mov    %rax,0x20(%rbp)
14016b848:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14016b84d:	48 83 c4 50          	add    $0x50,%rsp
14016b851:	5f                   	pop    %rdi
14016b852:	c3                   	ret
14016b853:	cc                   	int3
14016b854:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14016b859:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14016b85e:	57                   	push   %rdi
14016b85f:	48 83 ec 50          	sub    $0x50,%rsp
14016b863:	48 8b f1             	mov    %rcx,%rsi
14016b866:	49 8b d8             	mov    %r8,%rbx
14016b869:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14016b86e:	e8 19 de ff ff       	call   0x14016968c
14016b873:	0f 10 00             	movups (%rax),%xmm0
14016b876:	0f 11 46 2c          	movups %xmm0,0x2c(%rsi)
14016b87a:	0f 10 48 10          	movups 0x10(%rax),%xmm1
14016b87e:	0f 11 4e 3c          	movups %xmm1,0x3c(%rsi)
14016b882:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
14016b887:	f2 0f 11 46 4c       	movsd  %xmm0,0x4c(%rsi)
14016b88c:	8b 40 28             	mov    0x28(%rax),%eax
14016b88f:	89 46 54             	mov    %eax,0x54(%rsi)
14016b892:	e8 f9 7c 02 00       	call   0x140193590
14016b897:	48 8b f8             	mov    %rax,%rdi
14016b89a:	48 85 c0             	test   %rax,%rax
14016b89d:	74 14                	je     0x14016b8b3
14016b89f:	48 8d 4b 28          	lea    0x28(%rbx),%rcx
14016b8a3:	48 8b d0             	mov    %rax,%rdx
14016b8a6:	e8 c5 ed fb ff       	call   0x14012a670
14016b8ab:	48 8b cf             	mov    %rdi,%rcx
14016b8ae:	e8 69 3c 02 00       	call   0x14018f51c
14016b8b3:	48 83 7b 28 00       	cmpq   $0x0,0x28(%rbx)
14016b8b8:	48 8d 0d e1 30 0d 00 	lea    0xd30e1(%rip),%rcx        # 0x14023e9a0
14016b8bf:	48 0f 45 4b 28       	cmovne 0x28(%rbx),%rcx
14016b8c4:	e8 37 ed fb ff       	call   0x14012a600
14016b8c9:	48 89 46 10          	mov    %rax,0x10(%rsi)
14016b8cd:	e8 5e 7e 02 00       	call   0x140193730
14016b8d2:	48 8b f8             	mov    %rax,%rdi
14016b8d5:	48 85 c0             	test   %rax,%rax
14016b8d8:	74 14                	je     0x14016b8ee
14016b8da:	48 8d 4b 38          	lea    0x38(%rbx),%rcx
14016b8de:	48 8b d0             	mov    %rax,%rdx
14016b8e1:	e8 8a ed fb ff       	call   0x14012a670
14016b8e6:	48 8b cf             	mov    %rdi,%rcx
14016b8e9:	e8 2e 3c 02 00       	call   0x14018f51c
14016b8ee:	48 83 7b 38 00       	cmpq   $0x0,0x38(%rbx)
14016b8f3:	48 8d 0d b6 31 0d 00 	lea    0xd31b6(%rip),%rcx        # 0x14023eab0
14016b8fa:	48 0f 45 4b 38       	cmovne 0x38(%rbx),%rcx
14016b8ff:	e8 fc ec fb ff       	call   0x14012a600
14016b904:	48 8d 0d 2d 33 0d 00 	lea    0xd332d(%rip),%rcx        # 0x14023ec38
14016b90b:	48 89 46 18          	mov    %rax,0x18(%rsi)
14016b90f:	e8 ec ec fb ff       	call   0x14012a600
14016b914:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14016b919:	48 89 46 20          	mov    %rax,0x20(%rsi)
14016b91d:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14016b922:	48 83 c4 50          	add    $0x50,%rsp
14016b926:	5f                   	pop    %rdi
14016b927:	c3                   	ret
14016b928:	4c 8d 0c 12          	lea    (%rdx,%rdx,1),%r9
14016b92c:	49 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%r8
14016b933:	9c f2 cb
14016b936:	33 d2                	xor    %edx,%edx
14016b938:	4d 85 c9             	test   %r9,%r9
14016b93b:	74 1d                	je     0x14016b95a
14016b93d:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
14016b941:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
14016b948:	01 00 00
14016b94b:	4c 33 c0             	xor    %rax,%r8
14016b94e:	48 ff c2             	inc    %rdx
14016b951:	4d 0f af c2          	imul   %r10,%r8
14016b955:	49 3b d1             	cmp    %r9,%rdx
14016b958:	72 e3                	jb     0x14016b93d
14016b95a:	49 8b c0             	mov    %r8,%rax
14016b95d:	c3                   	ret
14016b95e:	cc                   	int3
14016b95f:	cc                   	int3
14016b960:	eb 18                	jmp    0x14016b97a
14016b962:	4d 3b c1             	cmp    %r9,%r8
14016b965:	74 18                	je     0x14016b97f
14016b967:	41 0f b7 00          	movzwl (%r8),%eax
14016b96b:	66 39 01             	cmp    %ax,(%rcx)
14016b96e:	72 27                	jb     0x14016b997
14016b970:	77 1f                	ja     0x14016b991
14016b972:	48 83 c1 02          	add    $0x2,%rcx
14016b976:	49 83 c0 02          	add    $0x2,%r8
14016b97a:	48 3b ca             	cmp    %rdx,%rcx
14016b97d:	75 e3                	jne    0x14016b962
14016b97f:	33 c0                	xor    %eax,%eax
14016b981:	48 3b ca             	cmp    %rdx,%rcx
14016b984:	0f 95 c0             	setne  %al
14016b987:	83 c9 ff             	or     $0xffffffff,%ecx
14016b98a:	4d 3b c1             	cmp    %r9,%r8
14016b98d:	0f 45 c1             	cmovne %ecx,%eax
14016b990:	c3                   	ret
14016b991:	b8 01 00 00 00       	mov    $0x1,%eax
14016b996:	c3                   	ret
14016b997:	83 c8 ff             	or     $0xffffffff,%eax
14016b99a:	c3                   	ret
14016b99b:	cc                   	int3
14016b99c:	40 53                	rex push %rbx
14016b99e:	48 83 ec 20          	sub    $0x20,%rsp
14016b9a2:	48 2b d1             	sub    %rcx,%rdx
14016b9a5:	49 8b d9             	mov    %r9,%rbx
14016b9a8:	49 2b d8             	sub    %r8,%rbx
14016b9ab:	48 d1 fa             	sar    $1,%rdx
14016b9ae:	48 d1 fb             	sar    $1,%rbx
14016b9b1:	49 8b c0             	mov    %r8,%rax
14016b9b4:	48 3b da             	cmp    %rdx,%rbx
14016b9b7:	7f 0c                	jg     0x14016b9c5
14016b9b9:	4c 8d 04 1b          	lea    (%rbx,%rbx,1),%r8
14016b9bd:	48 8b d0             	mov    %rax,%rdx
14016b9c0:	e8 fb c9 01 00       	call   0x1401883c0
14016b9c5:	48 8b c3             	mov    %rbx,%rax
14016b9c8:	48 83 c4 20          	add    $0x20,%rsp
14016b9cc:	5b                   	pop    %rbx
14016b9cd:	c3                   	ret
14016b9ce:	cc                   	int3
14016b9cf:	cc                   	int3
14016b9d0:	48 8b c4             	mov    %rsp,%rax
14016b9d3:	48 89 58 10          	mov    %rbx,0x10(%rax)
14016b9d7:	48 89 68 18          	mov    %rbp,0x18(%rax)
14016b9db:	56                   	push   %rsi
14016b9dc:	57                   	push   %rdi
14016b9dd:	41 54                	push   %r12
14016b9df:	41 56                	push   %r14
14016b9e1:	41 57                	push   %r15
14016b9e3:	48 83 ec 40          	sub    $0x40,%rsp
14016b9e7:	45 33 e4             	xor    %r12d,%r12d
14016b9ea:	4d 8b f8             	mov    %r8,%r15
14016b9ed:	4c 89 60 20          	mov    %r12,0x20(%rax)
14016b9f1:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
14016b9f5:	48 8b e9             	mov    %rcx,%rbp
14016b9f8:	48 ff c7             	inc    %rdi
14016b9fb:	44 38 24 0f          	cmp    %r12b,(%rdi,%rcx,1)
14016b9ff:	75 f7                	jne    0x14016b9f8
14016ba01:	48 83 c7 01          	add    $0x1,%rdi
14016ba05:	49 8b dc             	mov    %r12,%rbx
14016ba08:	48 8b f7             	mov    %rdi,%rsi
14016ba0b:	4c 8b f1             	mov    %rcx,%r14
14016ba0e:	74 2e                	je     0x14016ba3e
14016ba10:	4c 8d 8c 24 88 00 00 	lea    0x88(%rsp),%r9
14016ba17:	00
14016ba18:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14016ba1d:	4c 8b c6             	mov    %rsi,%r8
14016ba20:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
14016ba25:	49 8b d6             	mov    %r14,%rdx
14016ba28:	e8 4f d0 ff ff       	call   0x140168a7c
14016ba2d:	85 c0                	test   %eax,%eax
14016ba2f:	7e 0d                	jle    0x14016ba3e
14016ba31:	48 98                	cltq
14016ba33:	48 ff c3             	inc    %rbx
14016ba36:	4c 03 f0             	add    %rax,%r14
14016ba39:	48 2b f0             	sub    %rax,%rsi
14016ba3c:	75 d2                	jne    0x14016ba10
14016ba3e:	48 ff c3             	inc    %rbx
14016ba41:	ba 02 00 00 00       	mov    $0x2,%edx
14016ba46:	48 8b cb             	mov    %rbx,%rcx
14016ba49:	e8 be 62 02 00       	call   0x140191d0c
14016ba4e:	4c 8b f0             	mov    %rax,%r14
14016ba51:	48 85 c0             	test   %rax,%rax
14016ba54:	74 58                	je     0x14016baae
14016ba56:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
14016ba5b:	48 8b f0             	mov    %rax,%rsi
14016ba5e:	48 85 db             	test   %rbx,%rbx
14016ba61:	74 2b                	je     0x14016ba8e
14016ba63:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
14016ba68:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14016ba6d:	4c 8b c7             	mov    %rdi,%r8
14016ba70:	48 8b d5             	mov    %rbp,%rdx
14016ba73:	48 8b ce             	mov    %rsi,%rcx
14016ba76:	e8 01 d0 ff ff       	call   0x140168a7c
14016ba7b:	85 c0                	test   %eax,%eax
14016ba7d:	7e 0f                	jle    0x14016ba8e
14016ba7f:	48 98                	cltq
14016ba81:	48 83 c6 02          	add    $0x2,%rsi
14016ba85:	48 03 e8             	add    %rax,%rbp
14016ba88:	48 83 eb 01          	sub    $0x1,%rbx
14016ba8c:	75 d5                	jne    0x14016ba63
14016ba8e:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
14016ba93:	66 44 89 26          	mov    %r12w,(%rsi)
14016ba97:	49 8b 5b 38          	mov    0x38(%r11),%rbx
14016ba9b:	49 8b c6             	mov    %r14,%rax
14016ba9e:	49 8b 6b 40          	mov    0x40(%r11),%rbp
14016baa2:	49 8b e3             	mov    %r11,%rsp
14016baa5:	41 5f                	pop    %r15
14016baa7:	41 5e                	pop    %r14
14016baa9:	41 5c                	pop    %r12
14016baab:	5f                   	pop    %rdi
14016baac:	5e                   	pop    %rsi
14016baad:	c3                   	ret
14016baae:	e8 6d b1 ff ff       	call   0x140166c20
14016bab3:	cc                   	int3
14016bab4:	48 8b c4             	mov    %rsp,%rax
14016bab7:	48 89 58 08          	mov    %rbx,0x8(%rax)
14016babb:	48 89 68 10          	mov    %rbp,0x10(%rax)
14016babf:	48 89 70 18          	mov    %rsi,0x18(%rax)
14016bac3:	48 89 78 20          	mov    %rdi,0x20(%rax)
14016bac7:	41 54                	push   %r12
14016bac9:	41 56                	push   %r14
14016bacb:	41 57                	push   %r15
14016bacd:	48 83 ec 20          	sub    $0x20,%rsp
14016bad1:	48 bb fe ff ff ff ff 	movabs $0x7ffffffffffffffe,%rbx
14016bad8:	ff ff 7f
14016badb:	4d 8b f9             	mov    %r9,%r15
14016bade:	4c 8b f2             	mov    %rdx,%r14
14016bae1:	48 8b f9             	mov    %rcx,%rdi
14016bae4:	48 3b d3             	cmp    %rbx,%rdx
14016bae7:	0f 87 fe 00 00 00    	ja     0x14016bbeb
14016baed:	48 8b 69 18          	mov    0x18(%rcx),%rbp
14016baf1:	45 33 e4             	xor    %r12d,%r12d
14016baf4:	48 8b ca             	mov    %rdx,%rcx
14016baf7:	48 83 c9 07          	or     $0x7,%rcx
14016bafb:	48 3b cb             	cmp    %rbx,%rcx
14016bafe:	77 11                	ja     0x14016bb11
14016bb00:	48 8b d5             	mov    %rbp,%rdx
14016bb03:	48 8b c3             	mov    %rbx,%rax
14016bb06:	48 d1 ea             	shr    $1,%rdx
14016bb09:	48 2b c2             	sub    %rdx,%rax
14016bb0c:	48 3b e8             	cmp    %rax,%rbp
14016bb0f:	76 09                	jbe    0x14016bb1a
14016bb11:	48 c7 c1 fe ff ff ff 	mov    $0xfffffffffffffffe,%rcx
14016bb18:	eb 31                	jmp    0x14016bb4b
14016bb1a:	48 8d 04 2a          	lea    (%rdx,%rbp,1),%rax
14016bb1e:	48 8b d9             	mov    %rcx,%rbx
14016bb21:	48 3b c8             	cmp    %rax,%rcx
14016bb24:	48 0f 42 d8          	cmovb  %rax,%rbx
14016bb28:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14016bb2f:	ff ff 7f
14016bb32:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
14016bb36:	48 3b c8             	cmp    %rax,%rcx
14016bb39:	0f 87 a0 00 00 00    	ja     0x14016bbdf
14016bb3f:	48 03 c9             	add    %rcx,%rcx
14016bb42:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
14016bb49:	72 0a                	jb     0x14016bb55
14016bb4b:	e8 40 ac f5 ff       	call   0x1400c6790
14016bb50:	48 8b f0             	mov    %rax,%rsi
14016bb53:	eb 0f                	jmp    0x14016bb64
14016bb55:	48 85 c9             	test   %rcx,%rcx
14016bb58:	74 07                	je     0x14016bb61
14016bb5a:	e8 91 a7 01 00       	call   0x1401862f0
14016bb5f:	eb ef                	jmp    0x14016bb50
14016bb61:	49 8b f4             	mov    %r12,%rsi
14016bb64:	48 89 5f 18          	mov    %rbx,0x18(%rdi)
14016bb68:	49 8b d7             	mov    %r15,%rdx
14016bb6b:	4b 8d 1c 36          	lea    (%r14,%r14,1),%rbx
14016bb6f:	4c 89 77 10          	mov    %r14,0x10(%rdi)
14016bb73:	4c 8b c3             	mov    %rbx,%r8
14016bb76:	48 8b ce             	mov    %rsi,%rcx
14016bb79:	e8 42 c8 01 00       	call   0x1401883c0
14016bb7e:	66 44 89 24 33       	mov    %r12w,(%rbx,%rsi,1)
14016bb83:	48 83 fd 08          	cmp    $0x8,%rbp