14002b5b9:	48 85 f6             	test   %rsi,%rsi
14002b5bc:	0f 84 f9 00 00 00    	je     0x14002b6bb
14002b5c2:	4c 8b 76 10          	mov    0x10(%rsi),%r14
14002b5c6:	48 8b 76 18          	mov    0x18(%rsi),%rsi
14002b5ca:	49 2b f6             	sub    %r14,%rsi
14002b5cd:	48 c1 fe 03          	sar    $0x3,%rsi
14002b5d1:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14002b5d6:	e8 a1 f3 ff ff       	call   0x14002a97c
14002b5db:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14002b5e0:	48 8b 1f             	mov    (%rdi),%rbx
14002b5e3:	48 89 07             	mov    %rax,(%rdi)
14002b5e6:	48 85 db             	test   %rbx,%rbx
14002b5e9:	74 26                	je     0x14002b611
14002b5eb:	83 c8 ff             	or     $0xffffffff,%eax
14002b5ee:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
14002b5f3:	83 f8 01             	cmp    $0x1,%eax
14002b5f6:	75 19                	jne    0x14002b611
14002b5f8:	48 8b 03             	mov    (%rbx),%rax
14002b5fb:	33 d2                	xor    %edx,%edx
14002b5fd:	48 8b cb             	mov    %rbx,%rcx
14002b600:	48 8b 00             	mov    (%rax),%rax
14002b603:	ff 15 8f 8f 00 00    	call   *0x8f8f(%rip)        # 0x140034598
14002b609:	48 8b cb             	mov    %rbx,%rcx
14002b60c:	e8 a5 4a 00 00       	call   0x1400300b6
14002b611:	48 8b 0f             	mov    (%rdi),%rcx
14002b614:	48 85 c9             	test   %rcx,%rcx
14002b617:	0f 84 9e 00 00 00    	je     0x14002b6bb
14002b61d:	48 83 c1 10          	add    $0x10,%rcx
14002b621:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
14002b626:	48 8b 41 10          	mov    0x10(%rcx),%rax
14002b62a:	48 2b 01             	sub    (%rcx),%rax
14002b62d:	48 c1 f8 03          	sar    $0x3,%rax
14002b631:	48 3b f0             	cmp    %rax,%rsi
14002b634:	76 19                	jbe    0x14002b64f
14002b636:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
14002b63d:	ff ff 1f
14002b640:	48 3b f0             	cmp    %rax,%rsi
14002b643:	77 70                	ja     0x14002b6b5
14002b645:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
14002b64a:	e8 55 f7 ff ff       	call   0x14002ada4
14002b64f:	33 ed                	xor    %ebp,%ebp
14002b651:	48 85 f6             	test   %rsi,%rsi
14002b654:	74 49                	je     0x14002b69f
14002b656:	48 8b 1f             	mov    (%rdi),%rbx
14002b659:	48 85 db             	test   %rbx,%rbx
14002b65c:	74 5d                	je     0x14002b6bb
14002b65e:	48 8b 53 18          	mov    0x18(%rbx),%rdx
14002b662:	48 3b 53 20          	cmp    0x20(%rbx),%rdx
14002b666:	74 1f                	je     0x14002b687
14002b668:	49 8b 0e             	mov    (%r14),%rcx
14002b66b:	48 89 0a             	mov    %rcx,(%rdx)
14002b66e:	48 85 c9             	test   %rcx,%rcx
14002b671:	74 0d                	je     0x14002b680
14002b673:	48 8b 01             	mov    (%rcx),%rax
14002b676:	48 8b 40 08          	mov    0x8(%rax),%rax
14002b67a:	ff 15 18 8f 00 00    	call   *0x8f18(%rip)        # 0x140034598
14002b680:	48 83 43 18 08       	addq   $0x8,0x18(%rbx)
14002b685:	eb 0c                	jmp    0x14002b693
14002b687:	4d 8b c6             	mov    %r14,%r8
14002b68a:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
14002b68e:	e8 81 f3 ff ff       	call   0x14002aa14
14002b693:	48 ff c5             	inc    %rbp
14002b696:	49 83 c6 08          	add    $0x8,%r14
14002b69a:	48 3b ee             	cmp    %rsi,%rbp
14002b69d:	72 b7                	jb     0x14002b656
14002b69f:	48 8b c7             	mov    %rdi,%rax
14002b6a2:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
14002b6a7:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
14002b6ac:	48 83 c4 20          	add    $0x20,%rsp
14002b6b0:	41 5e                	pop    %r14
14002b6b2:	5f                   	pop    %rdi
14002b6b3:	5e                   	pop    %rsi
14002b6b4:	c3                   	ret
14002b6b5:	e8 d6 bd fe ff       	call   0x140017490
14002b6ba:	cc                   	int3
14002b6bb:	33 d2                	xor    %edx,%edx
14002b6bd:	b9 40 38 3c 1e       	mov    $0x1e3c3840,%ecx
14002b6c2:	e8 7b 47 00 00       	call   0x14002fe42
14002b6c7:	cc                   	int3
14002b6c8:	40 53                	rex push %rbx
14002b6ca:	48 83 ec 20          	sub    $0x20,%rsp
14002b6ce:	e8 f1 e1 ff ff       	call   0x1400298c4
14002b6d3:	32 db                	xor    %bl,%bl
14002b6d5:	38 18                	cmp    %bl,(%rax)
14002b6d7:	7c 05                	jl     0x14002b6de
14002b6d9:	0f 95 c0             	setne  %al
14002b6dc:	eb 08                	jmp    0x14002b6e6
14002b6de:	48 8b c8             	mov    %rax,%rcx
14002b6e1:	e8 6c 48 00 00       	call   0x14002ff52
14002b6e6:	84 c0                	test   %al,%al
14002b6e8:	74 12                	je     0x14002b6fc
14002b6ea:	e8 ed 4a 00 00       	call   0x1400301dc
14002b6ef:	85 c0                	test   %eax,%eax
14002b6f1:	78 07                	js     0x14002b6fa
14002b6f3:	83 f8 38             	cmp    $0x38,%eax
14002b6f6:	74 02                	je     0x14002b6fa
14002b6f8:	b3 01                	mov    $0x1,%bl
14002b6fa:	8a c3                	mov    %bl,%al
14002b6fc:	48 83 c4 20          	add    $0x20,%rsp
14002b700:	5b                   	pop    %rbx
14002b701:	c3                   	ret
14002b702:	90                   	nop
14002b703:	90                   	nop
14002b704:	90                   	nop
14002b705:	90                   	nop
14002b706:	90                   	nop
14002b707:	90                   	nop
14002b708:	90                   	nop
14002b709:	90                   	nop
14002b70a:	90                   	nop
14002b70b:	90                   	nop
14002b70c:	90                   	nop
14002b70d:	90                   	nop
14002b70e:	90                   	nop
14002b70f:	90                   	nop
14002b710:	48 83 ec 78          	sub    $0x78,%rsp
14002b714:	48 8b 05 25 7a 01 00 	mov    0x17a25(%rip),%rax        # 0x140043140
14002b71b:	48 33 c4             	xor    %rsp,%rax
14002b71e:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
14002b723:	48 8d 05 e6 9f 00 00 	lea    0x9fe6(%rip),%rax        # 0x140035710
14002b72a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14002b72f:	8a 41 10             	mov    0x10(%rcx),%al
14002b732:	88 44 24 28          	mov    %al,0x28(%rsp)
14002b736:	48 8d 44 24 20       	lea    0x20(%rsp),%rax
14002b73b:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14002b740:	e8 29 49 00 00       	call   0x14003006e
14002b745:	48 8b c8             	mov    %rax,%rcx
14002b748:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14002b74d:	e8 30 46 00 00       	call   0x14002fd82
14002b752:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14002b757:	48 85 c9             	test   %rcx,%rcx
14002b75a:	74 18                	je     0x14002b774
14002b75c:	48 8b 01             	mov    (%rcx),%rax
14002b75f:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
14002b764:	48 3b ca             	cmp    %rdx,%rcx
14002b767:	0f 95 c2             	setne  %dl
14002b76a:	48 8b 40 20          	mov    0x20(%rax),%rax
14002b76e:	ff 15 24 8e 00 00    	call   *0x8e24(%rip)        # 0x140034598
14002b774:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
14002b779:	48 33 cc             	xor    %rsp,%rcx
14002b77c:	e8 af 53 00 00       	call   0x140030b30
14002b781:	48 83 c4 78          	add    $0x78,%rsp
14002b785:	c3                   	ret
14002b786:	90                   	nop
14002b787:	90                   	nop
14002b788:	90                   	nop
14002b789:	90                   	nop
14002b78a:	90                   	nop
14002b78b:	90                   	nop
14002b78c:	90                   	nop
14002b78d:	90                   	nop
14002b78e:	90                   	nop
14002b78f:	90                   	nop
14002b790:	40 53                	rex push %rbx
14002b792:	48 83 ec 20          	sub    $0x20,%rsp
14002b796:	48 8b 12             	mov    (%rdx),%rdx
14002b799:	48 8d 59 10          	lea    0x10(%rcx),%rbx
14002b79d:	48 8d 05 54 9f 00 00 	lea    0x9f54(%rip),%rax        # 0x1400356f8
14002b7a4:	48 8b cb             	mov    %rbx,%rcx
14002b7a7:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
14002b7ac:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14002b7b1:	e8 be fa ff ff       	call   0x14002b274
14002b7b6:	84 c0                	test   %al,%al
14002b7b8:	74 5d                	je     0x14002b817
14002b7ba:	8a 5b 01             	mov    0x1(%rbx),%bl
14002b7bd:	ba 01 00 00 00       	mov    $0x1,%edx
14002b7c2:	8d 4a 17             	lea    0x17(%rdx),%ecx
14002b7c5:	e8 da 48 00 00       	call   0x1400300a4
14002b7ca:	48 85 c0             	test   %rax,%rax
14002b7cd:	74 4e                	je     0x14002b81d
14002b7cf:	c7 40 08 01 00 00 00 	movl   $0x1,0x8(%rax)
14002b7d6:	48 8d 0d 63 9f 00 00 	lea    0x9f63(%rip),%rcx        # 0x140035740
14002b7dd:	48 89 08             	mov    %rcx,(%rax)
14002b7e0:	88 58 10             	mov    %bl,0x10(%rax)
14002b7e3:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14002b7e8:	e8 81 48 00 00       	call   0x14003006e
14002b7ed:	48 8b c8             	mov    %rax,%rcx
14002b7f0:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14002b7f5:	e8 52 eb fd ff       	call   0x14000a34c
14002b7fa:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14002b7ff:	48 85 c9             	test   %rcx,%rcx
14002b802:	74 13                	je     0x14002b817
14002b804:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
14002b80a:	48 8b 01             	mov    (%rcx),%rax
14002b80d:	48 8b 40 10          	mov    0x10(%rax),%rax
14002b811:	ff 15 81 8d 00 00    	call   *0x8d81(%rip)        # 0x140034598
14002b817:	48 83 c4 20          	add    $0x20,%rsp
14002b81b:	5b                   	pop    %rbx
14002b81c:	c3                   	ret
14002b81d:	b9 62 f4 31 01       	mov    $0x131f462,%ecx
14002b822:	e8 ad 48 00 00       	call   0x1400300d4
14002b827:	cc                   	int3
14002b828:	90                   	nop
14002b829:	90                   	nop
14002b82a:	90                   	nop
14002b82b:	90                   	nop
14002b82c:	90                   	nop
14002b82d:	90                   	nop
14002b82e:	90                   	nop
14002b82f:	90                   	nop
14002b830:	48 83 ec 28          	sub    $0x28,%rsp
14002b834:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14002b838:	48 8b 02             	mov    (%rdx),%rax
14002b83b:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14002b840:	48 85 c9             	test   %rcx,%rcx
14002b843:	74 17                	je     0x14002b85c
14002b845:	48 8b 01             	mov    (%rcx),%rax
14002b848:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14002b84d:	48 8b 40 18          	mov    0x18(%rax),%rax
14002b851:	ff 15 41 8d 00 00    	call   *0x8d41(%rip)        # 0x140034598
14002b857:	48 83 c4 28          	add    $0x28,%rsp
14002b85b:	c3                   	ret
14002b85c:	33 d2                	xor    %edx,%edx
14002b85e:	b9 40 38 3c 1e       	mov    $0x1e3c3840,%ecx
14002b863:	e8 da 45 00 00       	call   0x14002fe42
14002b868:	cc                   	int3
14002b869:	90                   	nop
14002b86a:	90                   	nop
14002b86b:	90                   	nop
14002b86c:	90                   	nop
14002b86d:	90                   	nop
14002b86e:	90                   	nop
14002b86f:	90                   	nop
14002b870:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002b875:	57                   	push   %rdi
14002b876:	48 83 ec 20          	sub    $0x20,%rsp
14002b87a:	49 8b f8             	mov    %r8,%rdi
14002b87d:	48 8b da             	mov    %rdx,%rbx
14002b880:	48 8b 52 08          	mov    0x8(%rdx),%rdx
14002b884:	48 8b 0b             	mov    (%rbx),%rcx
14002b887:	e8 dc b2 ff ff       	call   0x140026b68
14002b88c:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
14002b890:	48 3b c1             	cmp    %rcx,%rax
14002b893:	75 27                	jne    0x14002b8bc
14002b895:	48 3b 4b 10          	cmp    0x10(%rbx),%rcx
14002b899:	74 0f                	je     0x14002b8aa
14002b89b:	48 8b d7             	mov    %rdi,%rdx
14002b89e:	e8 89 3e ff ff       	call   0x14001f72c
14002b8a3:	48 83 43 08 50       	addq   $0x50,0x8(%rbx)
14002b8a8:	eb 0e                	jmp    0x14002b8b8
14002b8aa:	4c 8b c7             	mov    %rdi,%r8
14002b8ad:	48 8b d1             	mov    %rcx,%rdx
14002b8b0:	48 8b cb             	mov    %rbx,%rcx
14002b8b3:	e8 14 b1 ff ff       	call   0x1400269cc
14002b8b8:	b0 01                	mov    $0x1,%al
14002b8ba:	eb 02                	jmp    0x14002b8be
14002b8bc:	32 c0                	xor    %al,%al
14002b8be:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002b8c3:	48 83 c4 20          	add    $0x20,%rsp
14002b8c7:	5f                   	pop    %rdi
14002b8c8:	c3                   	ret
14002b8c9:	90                   	nop
14002b8ca:	90                   	nop
14002b8cb:	90                   	nop
14002b8cc:	90                   	nop
14002b8cd:	90                   	nop
14002b8ce:	90                   	nop
14002b8cf:	90                   	nop
14002b8d0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14002b8d5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14002b8da:	55                   	push   %rbp
14002b8db:	57                   	push   %rdi
14002b8dc:	41 56                	push   %r14
14002b8de:	48 8b ec             	mov    %rsp,%rbp
14002b8e1:	48 83 ec 60          	sub    $0x60,%rsp
14002b8e5:	48 8b 05 54 78 01 00 	mov    0x17854(%rip),%rax        # 0x140043140
14002b8ec:	48 33 c4             	xor    %rsp,%rax
14002b8ef:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14002b8f3:	49 8b f0             	mov    %r8,%rsi
14002b8f6:	4c 8b f2             	mov    %rdx,%r14
14002b8f9:	49 8d 50 10          	lea    0x10(%r8),%rdx
14002b8fd:	0f 57 c0             	xorps  %xmm0,%xmm0
14002b900:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
14002b904:	0f 57 c9             	xorps  %xmm1,%xmm1
14002b907:	f3 0f 7f 4d e0       	movdqu %xmm1,-0x20(%rbp)
14002b90c:	4c 8b 42 10          	mov    0x10(%rdx),%r8
14002b910:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
14002b915:	76 03                	jbe    0x14002b91a
14002b917:	48 8b 12             	mov    (%rdx),%rdx
14002b91a:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14002b91e:	e8 6d 33 fe ff       	call   0x14000ec90
14002b923:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
14002b927:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
14002b92b:	48 83 f8 07          	cmp    $0x7,%rax
14002b92f:	48 0f 47 4d d0       	cmova  -0x30(%rbp),%rcx
14002b934:	33 db                	xor    %ebx,%ebx
14002b936:	4c 8b 45 e0          	mov    -0x20(%rbp),%r8
14002b93a:	49 83 f8 0d          	cmp    $0xd,%r8
14002b93e:	75 17                	jne    0x14002b957
14002b940:	48 8d 15 b9 93 00 00 	lea    0x93b9(%rip),%rdx        # 0x140034d00
14002b947:	e8 40 3c fe ff       	call   0x14000f58c
14002b94c:	85 c0                	test   %eax,%eax
14002b94e:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
14002b952:	40 b7 01             	mov    $0x1,%dil
14002b955:	74 03                	je     0x14002b95a
14002b957:	40 8a fb             	mov    %bl,%dil
14002b95a:	48 83 f8 07          	cmp    $0x7,%rax
14002b95e:	76 35                	jbe    0x14002b995
14002b960:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
14002b964:	48 8b d1             	mov    %rcx,%rdx
14002b967:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
14002b96e:	00
14002b96f:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14002b975:	72 18                	jb     0x14002b98f
14002b977:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14002b97b:	48 2b d1             	sub    %rcx,%rdx
14002b97e:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14002b982:	48 83 f8 1f          	cmp    $0x1f,%rax
14002b986:	76 07                	jbe    0x14002b98f
14002b988:	ff 15 12 8b 00 00    	call   *0x8b12(%rip)        # 0x1400344a0
14002b98e:	cc                   	int3
14002b98f:	ff 15 73 8b 00 00    	call   *0x8b73(%rip)        # 0x140034508
14002b995:	40 84 ff             	test   %dil,%dil
14002b998:	75 70                	jne    0x14002ba0a
14002b99a:	49 8b 7e 08          	mov    0x8(%r14),%rdi
14002b99e:	49 8b 1e             	mov    (%r14),%rbx
14002b9a1:	4c 8b ce             	mov    %rsi,%r9
14002b9a4:	4c 8b c7             	mov    %rdi,%r8
14002b9a7:	48 8b d3             	mov    %rbx,%rdx
14002b9aa:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
14002b9ae:	e8 91 f6 ff ff       	call   0x14002b044
14002b9b3:	4c 8b cf             	mov    %rdi,%r9
14002b9b6:	4c 8b 00             	mov    (%rax),%r8
14002b9b9:	48 8d 55 c8          	lea    -0x38(%rbp),%rdx
14002b9bd:	49 8b ce             	mov    %r14,%rcx
14002b9c0:	e8 b3 05 00 00       	call   0x14002bf78
14002b9c5:	49 8b 4e 08          	mov    0x8(%r14),%rcx
14002b9c9:	49 2b 0e             	sub    (%r14),%rcx
14002b9cc:	49 b8 67 66 66 66 66 	movabs $0x6666666666666667,%r8
14002b9d3:	66 66 66
14002b9d6:	49 8b c0             	mov    %r8,%rax
14002b9d9:	48 f7 e9             	imul   %rcx
14002b9dc:	48 8b ca             	mov    %rdx,%rcx
14002b9df:	48 c1 f9 05          	sar    $0x5,%rcx
14002b9e3:	48 2b fb             	sub    %rbx,%rdi
14002b9e6:	49 8b c0             	mov    %r8,%rax
14002b9e9:	48 f7 ef             	imul   %rdi
14002b9ec:	48 c1 fa 05          	sar    $0x5,%rdx
14002b9f0:	48 8b c1             	mov    %rcx,%rax
14002b9f3:	48 c1 e8 3f          	shr    $0x3f,%rax
14002b9f7:	48 03 c8             	add    %rax,%rcx
14002b9fa:	48 8b c2             	mov    %rdx,%rax
14002b9fd:	48 c1 e8 3f          	shr    $0x3f,%rax
14002ba01:	48 03 d0             	add    %rax,%rdx
14002ba04:	48 3b d1             	cmp    %rcx,%rdx
14002ba07:	0f 95 c3             	setne  %bl
14002ba0a:	8a c3                	mov    %bl,%al
14002ba0c:	48 8b 4d f0          	mov    -0x10(%rbp),%rcx
14002ba10:	48 33 cc             	xor    %rsp,%rcx
14002ba13:	e8 18 51 00 00       	call   0x140030b30