14009f571:	48 89 f1             	mov    %rsi,%rcx
14009f574:	e8 57 e9 fc ff       	call   0x14006ded0
14009f579:	48 89 f0             	mov    %rsi,%rax
14009f57c:	48 83 c4 20          	add    $0x20,%rsp
14009f580:	5b                   	pop    %rbx
14009f581:	5f                   	pop    %rdi
14009f582:	5e                   	pop    %rsi
14009f583:	c3                   	ret
14009f584:	cc                   	int3
14009f585:	cc                   	int3
14009f586:	cc                   	int3
14009f587:	cc                   	int3
14009f588:	cc                   	int3
14009f589:	cc                   	int3
14009f58a:	cc                   	int3
14009f58b:	cc                   	int3
14009f58c:	cc                   	int3
14009f58d:	cc                   	int3
14009f58e:	cc                   	int3
14009f58f:	cc                   	int3
14009f590:	56                   	push   %rsi
14009f591:	57                   	push   %rdi
14009f592:	48 83 ec 28          	sub    $0x28,%rsp
14009f596:	89 d7                	mov    %edx,%edi
14009f598:	48 89 ce             	mov    %rcx,%rsi
14009f59b:	48 8d 05 1e 24 04 00 	lea    0x4241e(%rip),%rax        # 0x1400e19c0
14009f5a2:	48 89 01             	mov    %rax,(%rcx)
14009f5a5:	80 79 57 00          	cmpb   $0x0,0x57(%rcx)
14009f5a9:	79 09                	jns    0x14009f5b4
14009f5ab:	48 8b 4e 40          	mov    0x40(%rsi),%rcx
14009f5af:	e8 1c e9 fc ff       	call   0x14006ded0
14009f5b4:	48 89 f1             	mov    %rsi,%rcx
14009f5b7:	e8 44 1c fb ff       	call   0x140051200
14009f5bc:	85 ff                	test   %edi,%edi
14009f5be:	74 08                	je     0x14009f5c8
14009f5c0:	48 89 f1             	mov    %rsi,%rcx
14009f5c3:	e8 08 e9 fc ff       	call   0x14006ded0
14009f5c8:	48 89 f0             	mov    %rsi,%rax
14009f5cb:	48 83 c4 28          	add    $0x28,%rsp
14009f5cf:	5f                   	pop    %rdi
14009f5d0:	5e                   	pop    %rsi
14009f5d1:	c3                   	ret
14009f5d2:	cc                   	int3
14009f5d3:	cc                   	int3
14009f5d4:	cc                   	int3
14009f5d5:	cc                   	int3
14009f5d6:	cc                   	int3
14009f5d7:	cc                   	int3
14009f5d8:	cc                   	int3
14009f5d9:	cc                   	int3
14009f5da:	cc                   	int3
14009f5db:	cc                   	int3
14009f5dc:	cc                   	int3
14009f5dd:	cc                   	int3
14009f5de:	cc                   	int3
14009f5df:	cc                   	int3
14009f5e0:	56                   	push   %rsi
14009f5e1:	57                   	push   %rdi
14009f5e2:	53                   	push   %rbx
14009f5e3:	8b 44 24 40          	mov    0x40(%rsp),%eax
14009f5e7:	48 8b 71 30          	mov    0x30(%rcx),%rsi
14009f5eb:	4c 8b 51 58          	mov    0x58(%rcx),%r10
14009f5ef:	49 39 f2             	cmp    %rsi,%r10
14009f5f2:	73 07                	jae    0x14009f5fb
14009f5f4:	48 89 71 58          	mov    %rsi,0x58(%rcx)
14009f5f8:	49 89 f2             	mov    %rsi,%r10
14009f5fb:	89 c7                	mov    %eax,%edi
14009f5fd:	49 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%r11
14009f604:	83 e7 18             	and    $0x18,%edi
14009f607:	74 36                	je     0x14009f63f
14009f609:	83 f7 18             	xor    $0x18,%edi
14009f60c:	44 89 cb             	mov    %r9d,%ebx
14009f60f:	83 f3 01             	xor    $0x1,%ebx
14009f612:	09 fb                	or     %edi,%ebx
14009f614:	74 29                	je     0x14009f63f
14009f616:	4d 85 d2             	test   %r10,%r10
14009f619:	74 36                	je     0x14009f651
14009f61b:	48 8d 59 40          	lea    0x40(%rcx),%rbx
14009f61f:	80 79 57 00          	cmpb   $0x0,0x57(%rcx)
14009f623:	79 03                	jns    0x14009f628
14009f625:	48 8b 1b             	mov    (%rbx),%rbx
14009f628:	4c 89 d7             	mov    %r10,%rdi
14009f62b:	48 29 df             	sub    %rbx,%rdi
14009f62e:	45 85 c9             	test   %r9d,%r9d
14009f631:	74 39                	je     0x14009f66c
14009f633:	41 83 f9 02          	cmp    $0x2,%r9d
14009f637:	74 38                	je     0x14009f671
14009f639:	41 83 f9 01          	cmp    $0x1,%r9d
14009f63d:	74 16                	je     0x14009f655
14009f63f:	48 c7 02 00 00 00 00 	movq   $0x0,(%rdx)
14009f646:	4c 89 5a 08          	mov    %r11,0x8(%rdx)
14009f64a:	48 89 d0             	mov    %rdx,%rax
14009f64d:	5b                   	pop    %rbx
14009f64e:	5f                   	pop    %rdi
14009f64f:	5e                   	pop    %rsi
14009f650:	c3                   	ret
14009f651:	31 ff                	xor    %edi,%edi
14009f653:	eb d9                	jmp    0x14009f62e
14009f655:	a8 08                	test   $0x8,%al
14009f657:	74 0a                	je     0x14009f663
14009f659:	4c 8b 49 18          	mov    0x18(%rcx),%r9
14009f65d:	4c 2b 49 10          	sub    0x10(%rcx),%r9
14009f661:	eb 11                	jmp    0x14009f674
14009f663:	49 89 f1             	mov    %rsi,%r9
14009f666:	4c 2b 49 28          	sub    0x28(%rcx),%r9
14009f66a:	eb 08                	jmp    0x14009f674
14009f66c:	45 89 c9             	mov    %r9d,%r9d
14009f66f:	eb 03                	jmp    0x14009f674
14009f671:	49 89 f9             	mov    %rdi,%r9
14009f674:	4d 01 c1             	add    %r8,%r9
14009f677:	41 0f 98 c0          	sets   %r8b
14009f67b:	4c 39 cf             	cmp    %r9,%rdi
14009f67e:	0f 9c c3             	setl   %bl
14009f681:	44 08 c3             	or     %r8b,%bl
14009f684:	75 b9                	jne    0x14009f63f
14009f686:	4d 85 c9             	test   %r9,%r9
14009f689:	74 1d                	je     0x14009f6a8
14009f68b:	a8 08                	test   $0x8,%al
14009f68d:	74 07                	je     0x14009f696
14009f68f:	48 83 79 18 00       	cmpq   $0x0,0x18(%rcx)
14009f694:	74 a9                	je     0x14009f63f
14009f696:	41 89 c0             	mov    %eax,%r8d
14009f699:	41 c0 e8 04          	shr    $0x4,%r8b
14009f69d:	48 85 f6             	test   %rsi,%rsi
14009f6a0:	0f 94 c3             	sete   %bl
14009f6a3:	41 84 d8             	test   %bl,%r8b
14009f6a6:	75 97                	jne    0x14009f63f
14009f6a8:	a8 08                	test   $0x8,%al
14009f6aa:	74 19                	je     0x14009f6c5
14009f6ac:	4c 8b 41 10          	mov    0x10(%rcx),%r8
14009f6b0:	4d 39 c2             	cmp    %r8,%r10
14009f6b3:	72 2d                	jb     0x14009f6e2
14009f6b5:	4d 01 c8             	add    %r9,%r8
14009f6b8:	4d 39 c2             	cmp    %r8,%r10
14009f6bb:	72 25                	jb     0x14009f6e2
14009f6bd:	4c 89 41 18          	mov    %r8,0x18(%rcx)
14009f6c1:	4c 89 51 20          	mov    %r10,0x20(%rcx)
14009f6c5:	a8 10                	test   $0x10,%al
14009f6c7:	74 11                	je     0x14009f6da
14009f6c9:	48 8b 41 28          	mov    0x28(%rcx),%rax
14009f6cd:	48 39 41 38          	cmp    %rax,0x38(%rcx)
14009f6d1:	72 0f                	jb     0x14009f6e2
14009f6d3:	4c 01 c8             	add    %r9,%rax
14009f6d6:	48 89 41 30          	mov    %rax,0x30(%rcx)
14009f6da:	4d 89 cb             	mov    %r9,%r11
14009f6dd:	e9 5d ff ff ff       	jmp    0x14009f63f
14009f6e2:	0f 0b                	ud2
14009f6e4:	cc                   	int3
14009f6e5:	cc                   	int3
14009f6e6:	cc                   	int3
14009f6e7:	cc                   	int3
14009f6e8:	cc                   	int3
14009f6e9:	cc                   	int3
14009f6ea:	cc                   	int3
14009f6eb:	cc                   	int3
14009f6ec:	cc                   	int3
14009f6ed:	cc                   	int3
14009f6ee:	cc                   	int3
14009f6ef:	cc                   	int3
14009f6f0:	56                   	push   %rsi
14009f6f1:	48 83 ec 30          	sub    $0x30,%rsp
14009f6f5:	48 89 d6             	mov    %rdx,%rsi
14009f6f8:	4d 8b 40 08          	mov    0x8(%r8),%r8
14009f6fc:	48 8b 01             	mov    (%rcx),%rax
14009f6ff:	48 8b 40 18          	mov    0x18(%rax),%rax
14009f703:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
14009f708:	45 31 c9             	xor    %r9d,%r9d
14009f70b:	ff 15 f7 75 05 00    	call   *0x575f7(%rip)        # 0x1400f6d08
14009f711:	48 89 f0             	mov    %rsi,%rax
14009f714:	48 83 c4 30          	add    $0x30,%rsp
14009f718:	5e                   	pop    %rsi
14009f719:	c3                   	ret
14009f71a:	cc                   	int3
14009f71b:	cc                   	int3
14009f71c:	cc                   	int3
14009f71d:	cc                   	int3
14009f71e:	cc                   	int3
14009f71f:	cc                   	int3
14009f720:	48 8b 41 30          	mov    0x30(%rcx),%rax
14009f724:	4c 8b 41 58          	mov    0x58(%rcx),%r8
14009f728:	49 39 c0             	cmp    %rax,%r8
14009f72b:	73 07                	jae    0x14009f734
14009f72d:	48 89 41 58          	mov    %rax,0x58(%rcx)
14009f731:	49 89 c0             	mov    %rax,%r8
14009f734:	4c 8b 51 10          	mov    0x10(%rcx),%r10
14009f738:	4c 8b 49 18          	mov    0x18(%rcx),%r9
14009f73c:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
14009f741:	4d 39 ca             	cmp    %r9,%r10
14009f744:	73 2b                	jae    0x14009f771
14009f746:	83 fa ff             	cmp    $0xffffffff,%edx
14009f749:	74 27                	je     0x14009f772
14009f74b:	f6 41 60 10          	testb  $0x10,0x60(%rcx)
14009f74f:	75 06                	jne    0x14009f757
14009f751:	41 38 51 ff          	cmp    %dl,-0x1(%r9)
14009f755:	75 1a                	jne    0x14009f771
14009f757:	4d 39 d0             	cmp    %r10,%r8
14009f75a:	72 2e                	jb     0x14009f78a
14009f75c:	49 ff c9             	dec    %r9
14009f75f:	4d 39 c8             	cmp    %r9,%r8
14009f762:	72 26                	jb     0x14009f78a
14009f764:	4c 89 49 18          	mov    %r9,0x18(%rcx)
14009f768:	4c 89 41 20          	mov    %r8,0x20(%rcx)
14009f76c:	41 88 11             	mov    %dl,(%r9)
14009f76f:	89 d0                	mov    %edx,%eax
14009f771:	c3                   	ret
14009f772:	4d 39 d0             	cmp    %r10,%r8
14009f775:	72 13                	jb     0x14009f78a
14009f777:	49 ff c9             	dec    %r9
14009f77a:	4d 39 c8             	cmp    %r9,%r8
14009f77d:	72 0b                	jb     0x14009f78a
14009f77f:	4c 89 49 18          	mov    %r9,0x18(%rcx)
14009f783:	4c 89 41 20          	mov    %r8,0x20(%rcx)
14009f787:	31 c0                	xor    %eax,%eax
14009f789:	c3                   	ret
14009f78a:	0f 0b                	ud2
14009f78c:	cc                   	int3
14009f78d:	cc                   	int3
14009f78e:	cc                   	int3
14009f78f:	cc                   	int3
14009f790:	48 83 ec 48          	sub    $0x48,%rsp
14009f794:	48 8b 05 a5 18 06 00 	mov    0x618a5(%rip),%rax        # 0x140101040
14009f79b:	48 31 e0             	xor    %rsp,%rax
14009f79e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
14009f7a3:	c7 44 24 3c aa aa aa 	movl   $0xaaaaaaaa,0x3c(%rsp)
14009f7aa:	aa
14009f7ab:	66 83 f9 7f          	cmp    $0x7f,%cx
14009f7af:	76 6a                	jbe    0x14009f81b
14009f7b1:	0f b7 c1             	movzwl %cx,%eax
14009f7b4:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14009f7b9:	76 44                	jbe    0x14009f7ff
14009f7bb:	44 8d 89 00 20 00 00 	lea    0x2000(%rcx),%r9d
14009f7c2:	45 0f b7 c9          	movzwl %r9w,%r9d
14009f7c6:	41 81 f9 ff f7 00 00 	cmp    $0xf7ff,%r9d
14009f7cd:	77 2c                	ja     0x14009f7fb
14009f7cf:	41 89 c1             	mov    %eax,%r9d
14009f7d2:	41 c1 e9 0c          	shr    $0xc,%r9d
14009f7d6:	41 80 c9 e0          	or     $0xe0,%r9b
14009f7da:	44 88 4c 24 3c       	mov    %r9b,0x3c(%rsp)
14009f7df:	c1 e8 06             	shr    $0x6,%eax
14009f7e2:	24 3f                	and    $0x3f,%al
14009f7e4:	0c 80                	or     $0x80,%al
14009f7e6:	88 44 24 3d          	mov    %al,0x3d(%rsp)
14009f7ea:	80 e1 3f             	and    $0x3f,%cl
14009f7ed:	80 c9 80             	or     $0x80,%cl
14009f7f0:	88 4c 24 3e          	mov    %cl,0x3e(%rsp)
14009f7f4:	b9 03 00 00 00       	mov    $0x3,%ecx
14009f7f9:	eb 29                	jmp    0x14009f824
14009f7fb:	31 c0                	xor    %eax,%eax
14009f7fd:	eb 5a                	jmp    0x14009f859
14009f7ff:	89 c8                	mov    %ecx,%eax
14009f801:	c1 e8 06             	shr    $0x6,%eax
14009f804:	0c c0                	or     $0xc0,%al
14009f806:	88 44 24 3c          	mov    %al,0x3c(%rsp)
14009f80a:	80 e1 3f             	and    $0x3f,%cl
14009f80d:	80 c9 80             	or     $0x80,%cl
14009f810:	88 4c 24 3d          	mov    %cl,0x3d(%rsp)
14009f814:	b9 02 00 00 00       	mov    $0x2,%ecx
14009f819:	eb 09                	jmp    0x14009f824
14009f81b:	88 4c 24 3c          	mov    %cl,0x3c(%rsp)
14009f81f:	b9 01 00 00 00       	mov    $0x1,%ecx
14009f824:	44 8a 52 01          	mov    0x1(%rdx),%r10b
14009f828:	45 84 d2             	test   %r10b,%r10b
14009f82b:	74 48                	je     0x14009f875
14009f82d:	8b 42 04             	mov    0x4(%rdx),%eax
14009f830:	44 8b 4a 08          	mov    0x8(%rdx),%r9d
14009f834:	41 80 e2 01          	and    $0x1,%r10b
14009f838:	4c 8d 5c 24 3c       	lea    0x3c(%rsp),%r11
14009f83d:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
14009f842:	4c 89 1a             	mov    %r11,(%rdx)
14009f845:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14009f849:	44 88 54 24 20       	mov    %r10b,0x20(%rsp)
14009f84e:	4c 89 c1             	mov    %r8,%rcx
14009f851:	41 89 c0             	mov    %eax,%r8d
14009f854:	e8 e7 05 00 00       	call   0x14009fe40
14009f859:	48 8b 4c 24 40       	mov    0x40(%rsp),%rcx
14009f85e:	48 31 e1             	xor    %rsp,%rcx
14009f861:	48 3b 0d d8 17 06 00 	cmp    0x617d8(%rip),%rcx        # 0x140101040
14009f868:	74 06                	je     0x14009f870
14009f86a:	e8 61 fa fc ff       	call   0x14006f2d0
14009f86f:	cc                   	int3
14009f870:	48 83 c4 48          	add    $0x48,%rsp
14009f874:	c3                   	ret
14009f875:	48 8d 44 24 3c       	lea    0x3c(%rsp),%rax
14009f87a:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
14009f87f:	48 89 02             	mov    %rax,(%rdx)
14009f882:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14009f886:	4c 89 c1             	mov    %r8,%rcx
14009f889:	e8 32 24 fb ff       	call   0x140051cc0
14009f88e:	b0 01                	mov    $0x1,%al
14009f890:	eb c7                	jmp    0x14009f859
14009f892:	cc                   	int3
14009f893:	cc                   	int3
14009f894:	cc                   	int3
14009f895:	cc                   	int3
14009f896:	cc                   	int3
14009f897:	cc                   	int3
14009f898:	cc                   	int3
14009f899:	cc                   	int3
14009f89a:	cc                   	int3
14009f89b:	cc                   	int3
14009f89c:	cc                   	int3
14009f89d:	cc                   	int3
14009f89e:	cc                   	int3
14009f89f:	cc                   	int3
14009f8a0:	56                   	push   %rsi
14009f8a1:	57                   	push   %rdi
14009f8a2:	55                   	push   %rbp
14009f8a3:	53                   	push   %rbx
14009f8a4:	48 83 ec 28          	sub    $0x28,%rsp
14009f8a8:	4c 89 c6             	mov    %r8,%rsi
14009f8ab:	48 89 d3             	mov    %rdx,%rbx
14009f8ae:	89 cd                	mov    %ecx,%ebp
14009f8b0:	8b 42 04             	mov    0x4(%rdx),%eax
14009f8b3:	31 ff                	xor    %edi,%edi
14009f8b5:	85 c0                	test   %eax,%eax
14009f8b7:	0f 4e c7             	cmovle %edi,%eax
14009f8ba:	48 83 e8 01          	sub    $0x1,%rax
14009f8be:	48 0f 43 f8          	cmovae %rax,%rdi
14009f8c2:	f6 42 01 01          	testb  $0x1,0x1(%rdx)
14009f8c6:	75 0e                	jne    0x14009f8d6
14009f8c8:	48 89 f1             	mov    %rsi,%rcx
14009f8cb:	48 89 fa             	mov    %rdi,%rdx
14009f8ce:	41 b0 20             	mov    $0x20,%r8b
14009f8d1:	e8 ba 01 00 00       	call   0x14009fa90
14009f8d6:	ba 01 00 00 00       	mov    $0x1,%edx
14009f8db:	48 89 f1             	mov    %rsi,%rcx
14009f8de:	41 89 e8             	mov    %ebp,%r8d
14009f8e1:	e8 aa 01 00 00       	call   0x14009fa90
14009f8e6:	f6 43 01 01          	testb  $0x1,0x1(%rbx)
14009f8ea:	75 09                	jne    0x14009f8f5
14009f8ec:	48 83 c4 28          	add    $0x28,%rsp
14009f8f0:	5b                   	pop    %rbx
14009f8f1:	5d                   	pop    %rbp
14009f8f2:	5f                   	pop    %rdi
14009f8f3:	5e                   	pop    %rsi
14009f8f4:	c3                   	ret
14009f8f5:	48 89 f1             	mov    %rsi,%rcx
14009f8f8:	48 89 fa             	mov    %rdi,%rdx
14009f8fb:	41 b0 20             	mov    $0x20,%r8b
14009f8fe:	48 83 c4 28          	add    $0x28,%rsp
14009f902:	5b                   	pop    %rbx
14009f903:	5d                   	pop    %rbp
14009f904:	5f                   	pop    %rdi
14009f905:	5e                   	pop    %rsi
14009f906:	e9 85 01 00 00       	jmp    0x14009fa90
14009f90b:	cc                   	int3
14009f90c:	cc                   	int3
14009f90d:	cc                   	int3
14009f90e:	cc                   	int3
14009f90f:	cc                   	int3