14000462d:	41 f6 c1 02          	test   $0x2,%r9b
140004631:	74 05                	je     0x140004638
140004633:	48 85 c9             	test   %rcx,%rcx
140004636:	74 6c                	je     0x1400046a4
140004638:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
14000463d:	48 8d 3c 5e          	lea    (%rsi,%rbx,2),%rdi
140004641:	41 f6 c1 01          	test   $0x1,%r9b
140004645:	74 1b                	je     0x140004662
140004647:	4d 85 c0             	test   %r8,%r8
14000464a:	74 16                	je     0x140004662
14000464c:	49 89 36             	mov    %rsi,(%r14)
14000464f:	48 2b d7             	sub    %rdi,%rdx
140004652:	49 8b 43 38          	mov    0x38(%r11),%rax
140004656:	48 d1 fa             	sar    $1,%rdx
140004659:	48 89 38             	mov    %rdi,(%rax)
14000465c:	49 8b 43 50          	mov    0x50(%r11),%rax
140004660:	89 10                	mov    %edx,(%rax)
140004662:	41 f6 c1 02          	test   $0x2,%r9b
140004666:	74 32                	je     0x14000469a
140004668:	48 85 c9             	test   %rcx,%rcx
14000466b:	74 2d                	je     0x14000469a
14000466d:	49 8b 43 58          	mov    0x58(%r11),%rax
140004671:	48 63 10             	movslq (%rax),%rdx
140004674:	49 8b 43 40          	mov    0x40(%r11),%rax
140004678:	48 8b 08             	mov    (%rax),%rcx
14000467b:	49 8b 43 20          	mov    0x20(%r11),%rax
14000467f:	4c 8d 04 51          	lea    (%rcx,%rdx,2),%r8
140004683:	48 89 30             	mov    %rsi,(%rax)
140004686:	4c 2b c7             	sub    %rdi,%r8
140004689:	49 8b 43 40          	mov    0x40(%r11),%rax
14000468d:	49 d1 f8             	sar    $1,%r8
140004690:	48 89 38             	mov    %rdi,(%rax)
140004693:	49 8b 43 58          	mov    0x58(%r11),%rax
140004697:	44 89 00             	mov    %r8d,(%rax)
14000469a:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
14000469f:	49 89 1a             	mov    %rbx,(%r10)
1400046a2:	eb 07                	jmp    0x1400046ab
1400046a4:	49 c7 02 ff ff ff ff 	movq   $0xffffffffffffffff,(%r10)
1400046ab:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
1400046b0:	33 c0                	xor    %eax,%eax
1400046b2:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
1400046b7:	49 c7 42 08 00 00 00 	movq   $0x0,0x8(%r10)
1400046be:	00
1400046bf:	49 89 42 10          	mov    %rax,0x10(%r10)
1400046c3:	49 8b c2             	mov    %r10,%rax
1400046c6:	41 5e                	pop    %r14
1400046c8:	c3                   	ret
1400046c9:	cc                   	int3
1400046ca:	cc                   	int3
1400046cb:	cc                   	int3
1400046cc:	cc                   	int3
1400046cd:	cc                   	int3
1400046ce:	cc                   	int3
1400046cf:	cc                   	int3
1400046d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400046d5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400046da:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400046df:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1400046e4:	41 56                	push   %r14
1400046e6:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
1400046ea:	49 8b f8             	mov    %r8,%rdi
1400046ed:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400046f1:	4c 8b d2             	mov    %rdx,%r10
1400046f4:	4c 8b d9             	mov    %rcx,%r11
1400046f7:	48 8b 30             	mov    (%rax),%rsi
1400046fa:	74 04                	je     0x140004700
1400046fc:	33 d2                	xor    %edx,%edx
1400046fe:	eb 16                	jmp    0x140004716
140004700:	48 8b 41 40          	mov    0x40(%rcx),%rax
140004704:	48 8b 10             	mov    (%rax),%rdx
140004707:	48 85 d2             	test   %rdx,%rdx
14000470a:	74 0a                	je     0x140004716
14000470c:	48 39 51 68          	cmp    %rdx,0x68(%rcx)
140004710:	73 04                	jae    0x140004716
140004712:	48 89 51 68          	mov    %rdx,0x68(%rcx)
140004716:	4c 8b 71 18          	mov    0x18(%rcx),%r14
14000471a:	48 8b 69 68          	mov    0x68(%rcx),%rbp
14000471e:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
140004722:	4c 8b c5             	mov    %rbp,%r8
140004725:	49 8b 1e             	mov    (%r14),%rbx
140004728:	4c 2b c3             	sub    %rbx,%r8
14000472b:	49 d1 f8             	sar    $1,%r8
14000472e:	45 85 c9             	test   %r9d,%r9d
140004731:	74 62                	je     0x140004795
140004733:	41 83 e9 01          	sub    $0x1,%r9d
140004737:	74 0f                	je     0x140004748
140004739:	41 83 f9 01          	cmp    $0x1,%r9d
14000473d:	0f 85 d6 00 00 00    	jne    0x140004819
140004743:	49 8b c0             	mov    %r8,%rax
140004746:	eb 4f                	jmp    0x140004797
140004748:	8b c1                	mov    %ecx,%eax
14000474a:	83 e0 03             	and    $0x3,%eax
14000474d:	3c 03                	cmp    $0x3,%al
14000474f:	0f 84 c4 00 00 00    	je     0x140004819
140004755:	f6 c1 01             	test   $0x1,%cl
140004758:	74 19                	je     0x140004773
14000475a:	48 85 f6             	test   %rsi,%rsi
14000475d:	75 09                	jne    0x140004768
14000475f:	48 85 db             	test   %rbx,%rbx
140004762:	0f 85 b1 00 00 00    	jne    0x140004819
140004768:	48 8b c6             	mov    %rsi,%rax
14000476b:	48 2b c3             	sub    %rbx,%rax
14000476e:	48 d1 f8             	sar    $1,%rax
140004771:	eb 24                	jmp    0x140004797
140004773:	f6 c1 02             	test   $0x2,%cl
140004776:	0f 84 9d 00 00 00    	je     0x140004819
14000477c:	48 85 d2             	test   %rdx,%rdx
14000477f:	75 09                	jne    0x14000478a
140004781:	48 85 db             	test   %rbx,%rbx
140004784:	0f 85 8f 00 00 00    	jne    0x140004819
14000478a:	48 8b c2             	mov    %rdx,%rax
14000478d:	48 2b c3             	sub    %rbx,%rax
140004790:	48 d1 f8             	sar    $1,%rax
140004793:	eb 02                	jmp    0x140004797
140004795:	33 c0                	xor    %eax,%eax
140004797:	4c 8d 0c 38          	lea    (%rax,%rdi,1),%r9
14000479b:	4d 3b c8             	cmp    %r8,%r9
14000479e:	77 79                	ja     0x140004819
1400047a0:	4d 85 c9             	test   %r9,%r9
1400047a3:	74 14                	je     0x1400047b9
1400047a5:	f6 c1 01             	test   $0x1,%cl
1400047a8:	74 05                	je     0x1400047af
1400047aa:	48 85 f6             	test   %rsi,%rsi
1400047ad:	74 6a                	je     0x140004819
1400047af:	f6 c1 02             	test   $0x2,%cl
1400047b2:	74 05                	je     0x1400047b9
1400047b4:	48 85 d2             	test   %rdx,%rdx
1400047b7:	74 60                	je     0x140004819
1400047b9:	4a 8d 3c 4b          	lea    (%rbx,%r9,2),%rdi
1400047bd:	f6 c1 01             	test   $0x1,%cl
1400047c0:	74 1b                	je     0x1400047dd
1400047c2:	48 85 f6             	test   %rsi,%rsi
1400047c5:	74 16                	je     0x1400047dd
1400047c7:	49 89 1e             	mov    %rbx,(%r14)
1400047ca:	48 2b ef             	sub    %rdi,%rbp
1400047cd:	49 8b 43 38          	mov    0x38(%r11),%rax
1400047d1:	48 d1 fd             	sar    $1,%rbp
1400047d4:	48 89 38             	mov    %rdi,(%rax)
1400047d7:	49 8b 43 50          	mov    0x50(%r11),%rax
1400047db:	89 28                	mov    %ebp,(%rax)
1400047dd:	f6 c1 02             	test   $0x2,%cl
1400047e0:	74 32                	je     0x140004814
1400047e2:	48 85 d2             	test   %rdx,%rdx
1400047e5:	74 2d                	je     0x140004814
1400047e7:	49 8b 43 58          	mov    0x58(%r11),%rax
1400047eb:	48 63 10             	movslq (%rax),%rdx
1400047ee:	49 8b 43 40          	mov    0x40(%r11),%rax
1400047f2:	48 8b 08             	mov    (%rax),%rcx
1400047f5:	49 8b 43 20          	mov    0x20(%r11),%rax
1400047f9:	4c 8d 04 51          	lea    (%rcx,%rdx,2),%r8
1400047fd:	48 89 18             	mov    %rbx,(%rax)
140004800:	4c 2b c7             	sub    %rdi,%r8
140004803:	49 8b 43 40          	mov    0x40(%r11),%rax
140004807:	49 d1 f8             	sar    $1,%r8
14000480a:	48 89 38             	mov    %rdi,(%rax)
14000480d:	49 8b 43 58          	mov    0x58(%r11),%rax
140004811:	44 89 00             	mov    %r8d,(%rax)
140004814:	4d 89 0a             	mov    %r9,(%r10)
140004817:	eb 07                	jmp    0x140004820
140004819:	49 c7 02 ff ff ff ff 	movq   $0xffffffffffffffff,(%r10)
140004820:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140004825:	33 c0                	xor    %eax,%eax
140004827:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
14000482c:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
140004831:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
140004836:	49 c7 42 08 00 00 00 	movq   $0x0,0x8(%r10)
14000483d:	00
14000483e:	49 89 42 10          	mov    %rax,0x10(%r10)
140004842:	49 8b c2             	mov    %r10,%rax
140004845:	41 5e                	pop    %r14
140004847:	c3                   	ret
140004848:	cc                   	int3
140004849:	cc                   	int3
14000484a:	cc                   	int3
14000484b:	cc                   	int3
14000484c:	cc                   	int3
14000484d:	cc                   	int3
14000484e:	cc                   	int3
14000484f:	cc                   	int3
140004850:	48 83 ec 18          	sub    $0x18,%rsp
140004854:	4c 8b 51 38          	mov    0x38(%rcx),%r10
140004858:	4c 8b c1             	mov    %rcx,%r8
14000485b:	4d 8b 0a             	mov    (%r10),%r9
14000485e:	4d 85 c9             	test   %r9,%r9
140004861:	74 64                	je     0x1400048c7
140004863:	48 8b 49 50          	mov    0x50(%rcx),%rcx
140004867:	48 63 11             	movslq (%rcx),%rdx
14000486a:	49 8d 0c 51          	lea    (%r9,%rdx,2),%rcx
14000486e:	4c 3b c9             	cmp    %rcx,%r9
140004871:	73 0c                	jae    0x14000487f
140004873:	0f ae e8             	lfence
140004876:	41 0f b7 01          	movzwl (%r9),%eax
14000487a:	48 83 c4 18          	add    $0x18,%rsp
14000487e:	c3                   	ret
14000487f:	49 8b 40 40          	mov    0x40(%r8),%rax
140004883:	48 8b 08             	mov    (%rax),%rcx
140004886:	48 85 c9             	test   %rcx,%rcx
140004889:	74 3c                	je     0x1400048c7
14000488b:	41 f6 40 70 04       	testb  $0x4,0x70(%r8)
140004890:	75 35                	jne    0x1400048c7
140004892:	49 8b 50 68          	mov    0x68(%r8),%rdx
140004896:	48 3b d1             	cmp    %rcx,%rdx
140004899:	48 0f 42 d1          	cmovb  %rcx,%rdx
14000489d:	49 3b d1             	cmp    %r9,%rdx
1400048a0:	76 25                	jbe    0x1400048c7
1400048a2:	49 89 50 68          	mov    %rdx,0x68(%r8)
1400048a6:	49 8b 0a             	mov    (%r10),%rcx
1400048a9:	49 89 0a             	mov    %rcx,(%r10)
1400048ac:	48 2b d1             	sub    %rcx,%rdx
1400048af:	49 8b 40 50          	mov    0x50(%r8),%rax
1400048b3:	48 d1 fa             	sar    $1,%rdx
1400048b6:	89 10                	mov    %edx,(%rax)
1400048b8:	49 8b 40 38          	mov    0x38(%r8),%rax
1400048bc:	48 8b 08             	mov    (%rax),%rcx
1400048bf:	0f b7 01             	movzwl (%rcx),%eax
1400048c2:	48 83 c4 18          	add    $0x18,%rsp
1400048c6:	c3                   	ret
1400048c7:	b8 ff ff 00 00       	mov    $0xffff,%eax
1400048cc:	48 83 c4 18          	add    $0x18,%rsp
1400048d0:	c3                   	ret
1400048d1:	cc                   	int3
1400048d2:	cc                   	int3
1400048d3:	cc                   	int3
1400048d4:	cc                   	int3
1400048d5:	cc                   	int3
1400048d6:	cc                   	int3
1400048d7:	cc                   	int3
1400048d8:	cc                   	int3
1400048d9:	cc                   	int3
1400048da:	cc                   	int3
1400048db:	cc                   	int3
1400048dc:	cc                   	int3
1400048dd:	cc                   	int3
1400048de:	cc                   	int3
1400048df:	cc                   	int3
1400048e0:	48 8b 41 38          	mov    0x38(%rcx),%rax
1400048e4:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
1400048ea:	4c 8b 00             	mov    (%rax),%r8
1400048ed:	4d 85 c0             	test   %r8,%r8
1400048f0:	74 48                	je     0x14000493a
1400048f2:	48 8b 41 18          	mov    0x18(%rcx),%rax
1400048f6:	4c 3b 00             	cmp    (%rax),%r8
1400048f9:	76 3f                	jbe    0x14000493a
1400048fb:	66 44 3b ca          	cmp    %dx,%r9w
1400048ff:	74 0d                	je     0x14000490e
140004901:	66 41 3b 50 fe       	cmp    -0x2(%r8),%dx
140004906:	74 06                	je     0x14000490e
140004908:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
14000490c:	75 2c                	jne    0x14000493a
14000490e:	48 8b 41 50          	mov    0x50(%rcx),%rax
140004912:	ff 00                	incl   (%rax)
140004914:	48 8b 41 38          	mov    0x38(%rcx),%rax
140004918:	48 83 00 fe          	addq   $0xfffffffffffffffe,(%rax)
14000491c:	66 44 3b ca          	cmp    %dx,%r9w
140004920:	74 0a                	je     0x14000492c
140004922:	48 8b 41 38          	mov    0x38(%rcx),%rax
140004926:	48 8b 08             	mov    (%rax),%rcx
140004929:	66 89 11             	mov    %dx,(%rcx)
14000492c:	33 c0                	xor    %eax,%eax
14000492e:	66 41 3b d1          	cmp    %r9w,%dx
140004932:	66 0f 44 d0          	cmove  %ax,%dx
140004936:	0f b7 c2             	movzwl %dx,%eax
140004939:	c3                   	ret
14000493a:	41 0f b7 c1          	movzwl %r9w,%eax
14000493e:	c3                   	ret
14000493f:	cc                   	int3
140004940:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140004945:	55                   	push   %rbp
140004946:	56                   	push   %rsi
140004947:	57                   	push   %rdi
140004948:	41 54                	push   %r12
14000494a:	41 57                	push   %r15
14000494c:	48 83 ec 20          	sub    $0x20,%rsp
140004950:	f6 41 70 02          	testb  $0x2,0x70(%rcx)
140004954:	0f b7 ea             	movzwl %dx,%ebp
140004957:	48 8b d9             	mov    %rcx,%rbx
14000495a:	41 b9 ff ff 00 00    	mov    $0xffff,%r9d
140004960:	0f 85 99 00 00 00    	jne    0x1400049ff
140004966:	45 33 ff             	xor    %r15d,%r15d
140004969:	66 44 3b ca          	cmp    %dx,%r9w
14000496d:	75 15                	jne    0x140004984
14000496f:	41 0f b7 c7          	movzwl %r15w,%eax
140004973:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140004978:	48 83 c4 20          	add    $0x20,%rsp
14000497c:	41 5f                	pop    %r15
14000497e:	41 5c                	pop    %r12
140004980:	5f                   	pop    %rdi
140004981:	5e                   	pop    %rsi
140004982:	5d                   	pop    %rbp
140004983:	c3                   	ret
140004984:	48 8b 41 40          	mov    0x40(%rcx),%rax
140004988:	48 8b 49 58          	mov    0x58(%rcx),%rcx
14000498c:	4c 8b 00             	mov    (%rax),%r8
14000498f:	48 63 11             	movslq (%rcx),%rdx
140004992:	49 8d 34 50          	lea    (%r8,%rdx,2),%rsi
140004996:	4d 85 c0             	test   %r8,%r8
140004999:	74 79                	je     0x140004a14
14000499b:	4c 3b c6             	cmp    %rsi,%r8
14000499e:	73 32                	jae    0x1400049d2
1400049a0:	8d 42 ff             	lea    -0x1(%rdx),%eax
1400049a3:	89 01                	mov    %eax,(%rcx)
1400049a5:	48 8b 4b 40          	mov    0x40(%rbx),%rcx
1400049a9:	48 8b 11             	mov    (%rcx),%rdx
1400049ac:	48 8d 42 02          	lea    0x2(%rdx),%rax
1400049b0:	48 89 01             	mov    %rax,(%rcx)
1400049b3:	49 8d 40 02          	lea    0x2(%r8),%rax
1400049b7:	66 89 2a             	mov    %bp,(%rdx)
1400049ba:	48 89 43 68          	mov    %rax,0x68(%rbx)
1400049be:	0f b7 c5             	movzwl %bp,%eax
1400049c1:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400049c6:	48 83 c4 20          	add    $0x20,%rsp
1400049ca:	41 5f                	pop    %r15
1400049cc:	41 5c                	pop    %r12
1400049ce:	5f                   	pop    %rdi
1400049cf:	5e                   	pop    %rsi
1400049d0:	5d                   	pop    %rbp
1400049d1:	c3                   	ret
1400049d2:	48 8b 43 18          	mov    0x18(%rbx),%rax
1400049d6:	48 8b 38             	mov    (%rax),%rdi
1400049d9:	48 2b f7             	sub    %rdi,%rsi
1400049dc:	48 d1 fe             	sar    $1,%rsi
1400049df:	48 83 fe 20          	cmp    $0x20,%rsi
1400049e3:	72 39                	jb     0x140004a1e
1400049e5:	48 81 fe ff ff ff 3f 	cmp    $0x3fffffff,%rsi
1400049ec:	73 06                	jae    0x1400049f4
1400049ee:	4c 8d 24 36          	lea    (%rsi,%rsi,1),%r12
1400049f2:	eb 30                	jmp    0x140004a24
1400049f4:	41 bc ff ff ff 7f    	mov    $0x7fffffff,%r12d
1400049fa:	49 3b f4             	cmp    %r12,%rsi
1400049fd:	72 25                	jb     0x140004a24
1400049ff:	41 0f b7 c1          	movzwl %r9w,%eax
140004a03:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140004a08:	48 83 c4 20          	add    $0x20,%rsp
140004a0c:	41 5f                	pop    %r15
140004a0e:	41 5c                	pop    %r12
140004a10:	5f                   	pop    %rdi
140004a11:	5e                   	pop    %rsi
140004a12:	5d                   	pop    %rbp
140004a13:	c3                   	ret
140004a14:	48 8b 43 18          	mov    0x18(%rbx),%rax
140004a18:	49 8b f7             	mov    %r15,%rsi
140004a1b:	48 8b 38             	mov    (%rax),%rdi
140004a1e:	41 bc 20 00 00 00    	mov    $0x20,%r12d
140004a24:	48 8d 4b 74          	lea    0x74(%rbx),%rcx
140004a28:	4c 89 74 24 58       	mov    %r14,0x58(%rsp)
140004a2d:	49 8b d4             	mov    %r12,%rdx
140004a30:	e8 5b 7b 00 00       	call   0x14000c590
140004a35:	48 03 f6             	add    %rsi,%rsi
140004a38:	48 8b d7             	mov    %rdi,%rdx
140004a3b:	4c 8b c6             	mov    %rsi,%r8