14007f52c:	41 56                	push   %r14
14007f52e:	41 57                	push   %r15
14007f530:	48 83 ec 70          	sub    $0x70,%rsp
14007f534:	4c 8b e2             	mov    %rdx,%r12
14007f537:	48 8b f9             	mov    %rcx,%rdi
14007f53a:	48 8b 42 08          	mov    0x8(%rdx),%rax
14007f53e:	4c 8b 02             	mov    (%rdx),%r8
14007f541:	4d 8d 2c 00          	lea    (%r8,%rax,1),%r13
14007f545:	4c 8d 48 02          	lea    0x2(%rax),%r9
14007f549:	4d 3b c5             	cmp    %r13,%r8
14007f54c:	74 1c                	je     0x14007f56a
14007f54e:	0f b6 4a 10          	movzbl 0x10(%rdx),%ecx
14007f552:	41 0f b6 00          	movzbl (%r8),%eax
14007f556:	3a c1                	cmp    %cl,%al
14007f558:	74 05                	je     0x14007f55f
14007f55a:	3a 42 11             	cmp    0x11(%rdx),%al
14007f55d:	75 03                	jne    0x14007f562
14007f55f:	49 ff c1             	inc    %r9
14007f562:	49 ff c0             	inc    %r8
14007f565:	4d 3b c5             	cmp    %r13,%r8
14007f568:	75 e8                	jne    0x14007f552
14007f56a:	33 d2                	xor    %edx,%edx
14007f56c:	8b da                	mov    %edx,%ebx
14007f56e:	89 94 24 b8 00 00 00 	mov    %edx,0xb8(%rsp)
14007f575:	48 8b 07             	mov    (%rdi),%rax
14007f578:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f57c:	48 8b 74 39 28       	mov    0x28(%rcx,%rdi,1),%rsi
14007f581:	48 85 f6             	test   %rsi,%rsi
14007f584:	7e 0a                	jle    0x14007f590
14007f586:	49 3b f1             	cmp    %r9,%rsi
14007f589:	76 05                	jbe    0x14007f590
14007f58b:	49 2b f1             	sub    %r9,%rsi
14007f58e:	eb 03                	jmp    0x14007f593
14007f590:	48 8b f2             	mov    %rdx,%rsi
14007f593:	4c 8b f7             	mov    %rdi,%r14
14007f596:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14007f59b:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
14007f5a0:	48 85 c9             	test   %rcx,%rcx
14007f5a3:	74 07                	je     0x14007f5ac
14007f5a5:	48 8b 01             	mov    (%rcx),%rax
14007f5a8:	ff 50 08             	call   *0x8(%rax)
14007f5ab:	90                   	nop
14007f5ac:	48 8b 0f             	mov    (%rdi),%rcx
14007f5af:	48 63 41 04          	movslq 0x4(%rcx),%rax
14007f5b3:	83 7c 38 10 00       	cmpl   $0x0,0x10(%rax,%rdi,1)
14007f5b8:	74 04                	je     0x14007f5be
14007f5ba:	32 c0                	xor    %al,%al
14007f5bc:	eb 2a                	jmp    0x14007f5e8
14007f5be:	48 8b 44 38 50       	mov    0x50(%rax,%rdi,1),%rax
14007f5c3:	48 85 c0             	test   %rax,%rax
14007f5c6:	74 1e                	je     0x14007f5e6
14007f5c8:	48 3b c7             	cmp    %rdi,%rax
14007f5cb:	74 19                	je     0x14007f5e6
14007f5cd:	48 8b c8             	mov    %rax,%rcx
14007f5d0:	e8 cb f2 ff ff       	call   0x14007e8a0
14007f5d5:	48 8b 0f             	mov    (%rdi),%rcx
14007f5d8:	48 63 41 04          	movslq 0x4(%rcx),%rax
14007f5dc:	83 7c 38 10 00       	cmpl   $0x0,0x10(%rax,%rdi,1)
14007f5e1:	0f 94 c0             	sete   %al
14007f5e4:	eb 02                	jmp    0x14007f5e8
14007f5e6:	b0 01                	mov    $0x1,%al
14007f5e8:	88 44 24 28          	mov    %al,0x28(%rsp)
14007f5ec:	84 c0                	test   %al,%al
14007f5ee:	75 0e                	jne    0x14007f5fe
14007f5f0:	41 bf 04 00 00 00    	mov    $0x4,%r15d
14007f5f6:	41 8b df             	mov    %r15d,%ebx
14007f5f9:	e9 b6 02 00 00       	jmp    0x14007f8b4
14007f5fe:	48 63 41 04          	movslq 0x4(%rcx),%rax
14007f602:	8b 4c 38 18          	mov    0x18(%rax,%rdi,1),%ecx
14007f606:	81 e1 c0 01 00 00    	and    $0x1c0,%ecx
14007f60c:	83 f9 40             	cmp    $0x40,%ecx
14007f60f:	74 66                	je     0x14007f677
14007f611:	48 85 f6             	test   %rsi,%rsi
14007f614:	74 61                	je     0x14007f677
14007f616:	48 8b 07             	mov    (%rdi),%rax
14007f619:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f61d:	4c 8b 44 39 48       	mov    0x48(%rcx,%rdi,1),%r8
14007f622:	44 0f b6 4c 39 58    	movzbl 0x58(%rcx,%rdi,1),%r9d
14007f628:	49 8b 40 40          	mov    0x40(%r8),%rax
14007f62c:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f630:	74 24                	je     0x14007f656
14007f632:	49 8b 48 58          	mov    0x58(%r8),%rcx
14007f636:	8b 01                	mov    (%rcx),%eax
14007f638:	85 c0                	test   %eax,%eax
14007f63a:	7e 1a                	jle    0x14007f656
14007f63c:	ff c8                	dec    %eax
14007f63e:	89 01                	mov    %eax,(%rcx)
14007f640:	49 8b 48 40          	mov    0x40(%r8),%rcx
14007f644:	48 8b 11             	mov    (%rcx),%rdx
14007f647:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f64b:	48 89 01             	mov    %rax,(%rcx)
14007f64e:	44 88 0a             	mov    %r9b,(%rdx)
14007f651:	41 8b c1             	mov    %r9d,%eax
14007f654:	eb 0c                	jmp    0x14007f662
14007f656:	49 8b 00             	mov    (%r8),%rax
14007f659:	41 8b d1             	mov    %r9d,%edx
14007f65c:	49 8b c8             	mov    %r8,%rcx
14007f65f:	ff 50 18             	call   *0x18(%rax)
14007f662:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f665:	75 0b                	jne    0x14007f672
14007f667:	41 bf 04 00 00 00    	mov    $0x4,%r15d
14007f66d:	41 8b df             	mov    %r15d,%ebx
14007f670:	eb 5c                	jmp    0x14007f6ce
14007f672:	48 ff ce             	dec    %rsi
14007f675:	eb 9a                	jmp    0x14007f611
14007f677:	48 8b 07             	mov    (%rdi),%rax
14007f67a:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f67e:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
14007f683:	45 0f b6 44 24 10    	movzbl 0x10(%r12),%r8d
14007f689:	48 8b 41 40          	mov    0x40(%rcx),%rax
14007f68d:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f691:	74 24                	je     0x14007f6b7
14007f693:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14007f697:	8b 02                	mov    (%rdx),%eax
14007f699:	85 c0                	test   %eax,%eax
14007f69b:	7e 1a                	jle    0x14007f6b7
14007f69d:	ff c8                	dec    %eax
14007f69f:	89 02                	mov    %eax,(%rdx)
14007f6a1:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14007f6a5:	48 8b 11             	mov    (%rcx),%rdx
14007f6a8:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f6ac:	48 89 01             	mov    %rax,(%rcx)
14007f6af:	44 88 02             	mov    %r8b,(%rdx)
14007f6b2:	41 8b c0             	mov    %r8d,%eax
14007f6b5:	eb 09                	jmp    0x14007f6c0
14007f6b7:	48 8b 01             	mov    (%rcx),%rax
14007f6ba:	41 8b d0             	mov    %r8d,%edx
14007f6bd:	ff 50 18             	call   *0x18(%rax)
14007f6c0:	41 bf 04 00 00 00    	mov    $0x4,%r15d
14007f6c6:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f6c9:	75 0a                	jne    0x14007f6d5
14007f6cb:	41 0b df             	or     %r15d,%ebx
14007f6ce:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f6d5:	4d 8b 34 24          	mov    (%r12),%r14
14007f6d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
14007f6e0:	4d 3b f5             	cmp    %r13,%r14
14007f6e3:	0f 84 d0 00 00 00    	je     0x14007f7b9
14007f6e9:	41 0f b6 06          	movzbl (%r14),%eax
14007f6ed:	41 3a 44 24 10       	cmp    0x10(%r12),%al
14007f6f2:	74 11                	je     0x14007f705
14007f6f4:	41 3a 44 24 11       	cmp    0x11(%r12),%al
14007f6f9:	74 0a                	je     0x14007f705
14007f6fb:	85 db                	test   %ebx,%ebx
14007f6fd:	0f 85 a4 00 00 00    	jne    0x14007f7a7
14007f703:	eb 56                	jmp    0x14007f75b
14007f705:	85 db                	test   %ebx,%ebx
14007f707:	0f 85 9a 00 00 00    	jne    0x14007f7a7
14007f70d:	48 8b 07             	mov    (%rdi),%rax
14007f710:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f714:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
14007f719:	45 0f b6 44 24 11    	movzbl 0x11(%r12),%r8d
14007f71f:	48 8b 41 40          	mov    0x40(%rcx),%rax
14007f723:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f727:	74 24                	je     0x14007f74d
14007f729:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14007f72d:	8b 02                	mov    (%rdx),%eax
14007f72f:	85 c0                	test   %eax,%eax
14007f731:	7e 1a                	jle    0x14007f74d
14007f733:	ff c8                	dec    %eax
14007f735:	89 02                	mov    %eax,(%rdx)
14007f737:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14007f73b:	48 8b 11             	mov    (%rcx),%rdx
14007f73e:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f742:	48 89 01             	mov    %rax,(%rcx)
14007f745:	44 88 02             	mov    %r8b,(%rdx)
14007f748:	41 8b c0             	mov    %r8d,%eax
14007f74b:	eb 09                	jmp    0x14007f756
14007f74d:	48 8b 01             	mov    (%rcx),%rax
14007f750:	41 8b d0             	mov    %r8d,%edx
14007f753:	ff 50 18             	call   *0x18(%rax)
14007f756:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f759:	74 54                	je     0x14007f7af
14007f75b:	48 8b 07             	mov    (%rdi),%rax
14007f75e:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f762:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
14007f767:	45 0f b6 06          	movzbl (%r14),%r8d
14007f76b:	48 8b 41 40          	mov    0x40(%rcx),%rax
14007f76f:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f773:	74 24                	je     0x14007f799
14007f775:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14007f779:	8b 02                	mov    (%rdx),%eax
14007f77b:	85 c0                	test   %eax,%eax
14007f77d:	7e 1a                	jle    0x14007f799
14007f77f:	ff c8                	dec    %eax
14007f781:	89 02                	mov    %eax,(%rdx)
14007f783:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14007f787:	48 8b 11             	mov    (%rcx),%rdx
14007f78a:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f78e:	48 89 01             	mov    %rax,(%rcx)
14007f791:	44 88 02             	mov    %r8b,(%rdx)
14007f794:	41 8b c0             	mov    %r8d,%eax
14007f797:	eb 09                	jmp    0x14007f7a2
14007f799:	48 8b 01             	mov    (%rcx),%rax
14007f79c:	41 8b d0             	mov    %r8d,%edx
14007f79f:	ff 50 18             	call   *0x18(%rax)
14007f7a2:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f7a5:	74 08                	je     0x14007f7af
14007f7a7:	49 ff c6             	inc    %r14
14007f7aa:	e9 31 ff ff ff       	jmp    0x14007f6e0
14007f7af:	83 cb 04             	or     $0x4,%ebx
14007f7b2:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f7b9:	85 db                	test   %ebx,%ebx
14007f7bb:	0f 85 bf 00 00 00    	jne    0x14007f880
14007f7c1:	48 8b 07             	mov    (%rdi),%rax
14007f7c4:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f7c8:	48 8b 4c 39 48       	mov    0x48(%rcx,%rdi,1),%rcx
14007f7cd:	45 0f b6 44 24 10    	movzbl 0x10(%r12),%r8d
14007f7d3:	48 8b 41 40          	mov    0x40(%rcx),%rax
14007f7d7:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f7db:	74 24                	je     0x14007f801
14007f7dd:	48 8b 51 58          	mov    0x58(%rcx),%rdx
14007f7e1:	8b 02                	mov    (%rdx),%eax
14007f7e3:	85 c0                	test   %eax,%eax
14007f7e5:	7e 1a                	jle    0x14007f801
14007f7e7:	ff c8                	dec    %eax
14007f7e9:	89 02                	mov    %eax,(%rdx)
14007f7eb:	48 8b 49 40          	mov    0x40(%rcx),%rcx
14007f7ef:	48 8b 11             	mov    (%rcx),%rdx
14007f7f2:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f7f6:	48 89 01             	mov    %rax,(%rcx)
14007f7f9:	44 88 02             	mov    %r8b,(%rdx)
14007f7fc:	41 8b c0             	mov    %r8d,%eax
14007f7ff:	eb 09                	jmp    0x14007f80a
14007f801:	48 8b 01             	mov    (%rcx),%rax
14007f804:	41 8b d0             	mov    %r8d,%edx
14007f807:	ff 50 18             	call   *0x18(%rax)
14007f80a:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f80d:	75 11                	jne    0x14007f820
14007f80f:	83 cb 04             	or     $0x4,%ebx
14007f812:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f819:	85 db                	test   %ebx,%ebx
14007f81b:	75 63                	jne    0x14007f880
14007f81d:	0f 1f 00             	nopl   (%rax)
14007f820:	48 85 f6             	test   %rsi,%rsi
14007f823:	74 5b                	je     0x14007f880
14007f825:	48 8b 07             	mov    (%rdi),%rax
14007f828:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f82c:	4c 8b 44 39 48       	mov    0x48(%rcx,%rdi,1),%r8
14007f831:	44 0f b6 4c 39 58    	movzbl 0x58(%rcx,%rdi,1),%r9d
14007f837:	49 8b 40 40          	mov    0x40(%r8),%rax
14007f83b:	48 83 38 00          	cmpq   $0x0,(%rax)
14007f83f:	74 24                	je     0x14007f865
14007f841:	49 8b 48 58          	mov    0x58(%r8),%rcx
14007f845:	8b 01                	mov    (%rcx),%eax
14007f847:	85 c0                	test   %eax,%eax
14007f849:	7e 1a                	jle    0x14007f865
14007f84b:	ff c8                	dec    %eax
14007f84d:	89 01                	mov    %eax,(%rcx)
14007f84f:	49 8b 48 40          	mov    0x40(%r8),%rcx
14007f853:	48 8b 11             	mov    (%rcx),%rdx
14007f856:	48 8d 42 01          	lea    0x1(%rdx),%rax
14007f85a:	48 89 01             	mov    %rax,(%rcx)
14007f85d:	44 88 0a             	mov    %r9b,(%rdx)
14007f860:	41 8b c1             	mov    %r9d,%eax
14007f863:	eb 0c                	jmp    0x14007f871
14007f865:	49 8b 00             	mov    (%r8),%rax
14007f868:	41 8b d1             	mov    %r9d,%edx
14007f86b:	49 8b c8             	mov    %r8,%rcx
14007f86e:	ff 50 18             	call   *0x18(%rax)
14007f871:	83 f8 ff             	cmp    $0xffffffff,%eax
14007f874:	75 1f                	jne    0x14007f895
14007f876:	83 cb 04             	or     $0x4,%ebx
14007f879:	89 9c 24 b8 00 00 00 	mov    %ebx,0xb8(%rsp)
14007f880:	48 8b 07             	mov    (%rdi),%rax
14007f883:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f887:	33 d2                	xor    %edx,%edx
14007f889:	48 89 54 39 28       	mov    %rdx,0x28(%rcx,%rdi,1)
14007f88e:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
14007f893:	eb 21                	jmp    0x14007f8b6
14007f895:	48 ff ce             	dec    %rsi
14007f898:	eb 86                	jmp    0x14007f820
14007f89a:	41 bf 04 00 00 00    	mov    $0x4,%r15d
14007f8a0:	48 8b bc 24 b0 00 00 	mov    0xb0(%rsp),%rdi
14007f8a7:	00
14007f8a8:	8b 9c 24 b8 00 00 00 	mov    0xb8(%rsp),%ebx
14007f8af:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
14007f8b4:	33 d2                	xor    %edx,%edx
14007f8b6:	48 8b 07             	mov    (%rdi),%rax
14007f8b9:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f8bd:	48 03 cf             	add    %rdi,%rcx
14007f8c0:	0b 59 10             	or     0x10(%rcx),%ebx
14007f8c3:	48 83 79 48 00       	cmpq   $0x0,0x48(%rcx)
14007f8c8:	44 0f 45 fa          	cmovne %edx,%r15d
14007f8cc:	44 0b fb             	or     %ebx,%r15d
14007f8cf:	41 83 e7 17          	and    $0x17,%r15d
14007f8d3:	44 89 79 10          	mov    %r15d,0x10(%rcx)
14007f8d7:	44 23 79 14          	and    0x14(%rcx),%r15d
14007f8db:	75 3d                	jne    0x14007f91a
14007f8dd:	e8 9a f5 22 00       	call   0x1402aee7c
14007f8e2:	84 c0                	test   %al,%al
14007f8e4:	75 09                	jne    0x14007f8ef
14007f8e6:	49 8b ce             	mov    %r14,%rcx
14007f8e9:	e8 12 f1 ff ff       	call   0x14007ea00
14007f8ee:	90                   	nop
14007f8ef:	49 8b 06             	mov    (%r14),%rax
14007f8f2:	48 63 48 04          	movslq 0x4(%rax),%rcx
14007f8f6:	4a 8b 4c 31 48       	mov    0x48(%rcx,%r14,1),%rcx
14007f8fb:	48 85 c9             	test   %rcx,%rcx
14007f8fe:	74 07                	je     0x14007f907
14007f900:	48 8b 01             	mov    (%rcx),%rax
14007f903:	ff 50 10             	call   *0x10(%rax)
14007f906:	90                   	nop
14007f907:	48 8b c7             	mov    %rdi,%rax
14007f90a:	48 83 c4 70          	add    $0x70,%rsp
14007f90e:	41 5f                	pop    %r15
14007f910:	41 5e                	pop    %r14
14007f912:	41 5d                	pop    %r13
14007f914:	41 5c                	pop    %r12
14007f916:	5f                   	pop    %rdi
14007f917:	5e                   	pop    %rsi
14007f918:	5b                   	pop    %rbx
14007f919:	c3                   	ret
14007f91a:	41 f6 c7 04          	test   $0x4,%r15b
14007f91e:	74 09                	je     0x14007f929
14007f920:	48 8d 1d 69 86 32 00 	lea    0x328669(%rip),%rbx        # 0x1403a7f90
14007f927:	eb 16                	jmp    0x14007f93f
14007f929:	41 f6 c7 02          	test   $0x2,%r15b
14007f92d:	48 8d 1d 74 86 32 00 	lea    0x328674(%rip),%rbx        # 0x1403a7fa8
14007f934:	48 8d 05 85 86 32 00 	lea    0x328685(%rip),%rax        # 0x1403a7fc0
14007f93b:	48 0f 44 d8          	cmove  %rax,%rbx
14007f93f:	ba 01 00 00 00       	mov    $0x1,%edx
14007f944:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14007f949:	e8 72 dc ff ff       	call   0x14007d5c0
14007f94e:	4c 8b c0             	mov    %rax,%r8
14007f951:	48 8b d3             	mov    %rbx,%rdx
14007f954:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14007f959:	e8 e2 e6 ff ff       	call   0x14007e040
14007f95e:	48 8d 15 73 d4 34 00 	lea    0x34d473(%rip),%rdx        # 0x1403ccdd8
14007f965:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14007f96a:	e8 41 2b 23 00       	call   0x1402b24b0
14007f96f:	cc                   	int3
14007f970:	40 53                	rex push %rbx
14007f972:	48 83 ec 20          	sub    $0x20,%rsp
14007f976:	80 79 20 00          	cmpb   $0x0,0x20(%rcx)
14007f97a:	48 8b d9             	mov    %rcx,%rbx
14007f97d:	74 49                	je     0x14007f9c8
14007f97f:	48 8b 51 18          	mov    0x18(%rcx),%rdx
14007f983:	48 83 fa 0f          	cmp    $0xf,%rdx
14007f987:	76 2c                	jbe    0x14007f9b5
14007f989:	48 8b 09             	mov    (%rcx),%rcx
14007f98c:	48 ff c2             	inc    %rdx
14007f98f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14007f996:	72 18                	jb     0x14007f9b0
14007f998:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
14007f99c:	48 83 c2 27          	add    $0x27,%rdx
14007f9a0:	49 2b c8             	sub    %r8,%rcx
14007f9a3:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14007f9a7:	48 83 f8 1f          	cmp    $0x1f,%rax
14007f9ab:	77 21                	ja     0x14007f9ce
14007f9ad:	49 8b c8             	mov    %r8,%rcx