14008f444:	41 8b ce             	mov    %r14d,%ecx
14008f447:	49 8b c0             	mov    %r8,%rax
14008f44a:	48 23 c5             	and    %rbp,%rax
14008f44d:	49 23 c4             	and    %r12,%rax
14008f450:	48 d3 e8             	shr    %cl,%rax
14008f453:	66 83 f8 08          	cmp    $0x8,%ax
14008f457:	76 07                	jbe    0x14008f460
14008f459:	ba 01 00 00 00       	mov    $0x1,%edx
14008f45e:	eb 4f                	jmp    0x14008f4af
14008f460:	73 05                	jae    0x14008f467
14008f462:	41 8a d7             	mov    %r15b,%dl
14008f465:	eb 48                	jmp    0x14008f4af
14008f467:	ba 01 00 00 00       	mov    $0x1,%edx
14008f46c:	8b c2                	mov    %edx,%eax
14008f46e:	48 d3 e0             	shl    %cl,%rax
14008f471:	48 2b c2             	sub    %rdx,%rax
14008f474:	49 23 c0             	and    %r8,%rax
14008f477:	49 85 c4             	test   %rax,%r12
14008f47a:	75 33                	jne    0x14008f4af
14008f47c:	41 83 fe 30          	cmp    $0x30,%r14d
14008f480:	74 19                	je     0x14008f49b
14008f482:	49 c1 e8 04          	shr    $0x4,%r8
14008f486:	48 b8 ff ff ff ff ff 	movabs $0xffffffffffff,%rax
14008f48d:	ff 00 00
14008f490:	4c 23 c5             	and    %rbp,%r8
14008f493:	4c 23 c0             	and    %rax,%r8
14008f496:	49 d3 e8             	shr    %cl,%r8
14008f499:	eb 11                	jmp    0x14008f4ac
14008f49b:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
14008f4a2:	00 f0 7f
14008f4a5:	4c 85 c0             	test   %r8,%rax
14008f4a8:	41 0f 95 c0          	setne  %r8b
14008f4ac:	41 22 d0             	and    %r8b,%dl
14008f4af:	8a c2                	mov    %dl,%al
14008f4b1:	eb 28                	jmp    0x14008f4db
14008f4b3:	3d 00 02 00 00       	cmp    $0x200,%eax
14008f4b8:	75 0c                	jne    0x14008f4c6
14008f4ba:	66 85 db             	test   %bx,%bx
14008f4bd:	74 a3                	je     0x14008f462
14008f4bf:	4c 39 3f             	cmp    %r15,(%rdi)
14008f4c2:	7c 9e                	jl     0x14008f462
14008f4c4:	eb 93                	jmp    0x14008f459
14008f4c6:	3d 00 01 00 00       	cmp    $0x100,%eax
14008f4cb:	75 0c                	jne    0x14008f4d9
14008f4cd:	66 85 db             	test   %bx,%bx
14008f4d0:	74 90                	je     0x14008f462
14008f4d2:	4c 39 3f             	cmp    %r15,(%rdi)
14008f4d5:	7d 8b                	jge    0x14008f462
14008f4d7:	eb 80                	jmp    0x14008f459
14008f4d9:	32 c0                	xor    %al,%al
14008f4db:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14008f4e0:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14008f4e5:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14008f4ea:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14008f4ef:	48 83 c4 20          	add    $0x20,%rsp
14008f4f3:	41 5f                	pop    %r15
14008f4f5:	41 5e                	pop    %r14
14008f4f7:	41 5c                	pop    %r12
14008f4f9:	c3                   	ret
14008f4fa:	cc                   	int3
14008f4fb:	cc                   	int3
14008f4fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14008f501:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14008f506:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14008f50b:	57                   	push   %rdi
14008f50c:	41 54                	push   %r12
14008f50e:	41 55                	push   %r13
14008f510:	41 56                	push   %r14
14008f512:	41 57                	push   %r15
14008f514:	48 83 ec 50          	sub    $0x50,%rsp
14008f518:	8b 84 24 a8 00 00 00 	mov    0xa8(%rsp),%eax
14008f51f:	45 33 db             	xor    %r11d,%r11d
14008f522:	85 c0                	test   %eax,%eax
14008f524:	44 88 1a             	mov    %r11b,(%rdx)
14008f527:	41 8b fb             	mov    %r11d,%edi
14008f52a:	4d 8b d1             	mov    %r9,%r10
14008f52d:	0f 49 f8             	cmovns %eax,%edi
14008f530:	48 8b da             	mov    %rdx,%rbx
14008f533:	4c 8b f1             	mov    %rcx,%r14
14008f536:	8d 47 0b             	lea    0xb(%rdi),%eax
14008f539:	4c 63 c8             	movslq %eax,%r9
14008f53c:	4d 3b c1             	cmp    %r9,%r8
14008f53f:	77 33                	ja     0x14008f574
14008f541:	48 8b 8c 24 c8 00 00 	mov    0xc8(%rsp),%rcx
14008f548:	00
14008f549:	41 8d 5b 22          	lea    0x22(%r11),%ebx
14008f54d:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14008f552:	45 33 c9             	xor    %r9d,%r9d
14008f555:	45 33 c0             	xor    %r8d,%r8d
14008f558:	4c 89 5c 24 20       	mov    %r11,0x20(%rsp)
14008f55d:	33 d2                	xor    %edx,%edx
14008f55f:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
14008f563:	89 59 2c             	mov    %ebx,0x2c(%rcx)
14008f566:	33 c9                	xor    %ecx,%ecx
14008f568:	e8 43 f4 ff ff       	call   0x14008e9b0
14008f56d:	8b c3                	mov    %ebx,%eax
14008f56f:	e9 01 03 00 00       	jmp    0x14008f875
14008f574:	48 8b 01             	mov    (%rcx),%rax
14008f577:	b9 ff 07 00 00       	mov    $0x7ff,%ecx
14008f57c:	48 c1 e8 34          	shr    $0x34,%rax
14008f580:	48 23 c1             	and    %rcx,%rax
14008f583:	48 3b c1             	cmp    %rcx,%rax
14008f586:	0f 85 81 00 00 00    	jne    0x14008f60d
14008f58c:	48 8b 84 24 c8 00 00 	mov    0xc8(%rsp),%rax
14008f593:	00
14008f594:	4d 8b ca             	mov    %r10,%r9
14008f597:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14008f59c:	49 8b ce             	mov    %r14,%rcx
14008f59f:	8b 84 24 c0 00 00 00 	mov    0xc0(%rsp),%eax
14008f5a6:	89 44 24 40          	mov    %eax,0x40(%rsp)
14008f5aa:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
14008f5b1:	89 44 24 38          	mov    %eax,0x38(%rsp)
14008f5b5:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
14008f5bc:	00
14008f5bd:	44 88 5c 24 30       	mov    %r11b,0x30(%rsp)
14008f5c2:	89 7c 24 28          	mov    %edi,0x28(%rsp)
14008f5c6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14008f5cb:	e8 18 fd ff ff       	call   0x14008f2e8
14008f5d0:	85 c0                	test   %eax,%eax
14008f5d2:	74 08                	je     0x14008f5dc
14008f5d4:	c6 03 00             	movb   $0x0,(%rbx)
14008f5d7:	e9 99 02 00 00       	jmp    0x14008f875
14008f5dc:	ba 65 00 00 00       	mov    $0x65,%edx
14008f5e1:	48 8b cb             	mov    %rbx,%rcx
14008f5e4:	e8 73 16 fe ff       	call   0x140070c5c
14008f5e9:	48 85 c0             	test   %rax,%rax
14008f5ec:	0f 84 81 02 00 00    	je     0x14008f873
14008f5f2:	8a 8c 24 b0 00 00 00 	mov    0xb0(%rsp),%cl
14008f5f9:	80 f1 01             	xor    $0x1,%cl
14008f5fc:	c0 e1 05             	shl    $0x5,%cl
14008f5ff:	80 c1 50             	add    $0x50,%cl
14008f602:	88 08                	mov    %cl,(%rax)
14008f604:	c6 40 03 00          	movb   $0x0,0x3(%rax)
14008f608:	e9 66 02 00 00       	jmp    0x14008f873
14008f60d:	b8 2d 00 00 00       	mov    $0x2d,%eax
14008f612:	4d 39 1e             	cmp    %r11,(%r14)
14008f615:	7d 05                	jge    0x14008f61c
14008f617:	88 02                	mov    %al,(%rdx)
14008f619:	48 ff c3             	inc    %rbx
14008f61c:	8a 84 24 b0 00 00 00 	mov    0xb0(%rsp),%al
14008f623:	4c 8d 63 01          	lea    0x1(%rbx),%r12
14008f627:	34 01                	xor    $0x1,%al
14008f629:	41 bf ff 03 00 00    	mov    $0x3ff,%r15d
14008f62f:	44 0f b6 e8          	movzbl %al,%r13d
14008f633:	41 b8 30 00 00 00    	mov    $0x30,%r8d
14008f639:	41 8b ed             	mov    %r13d,%ebp
14008f63c:	48 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%rax
14008f643:	00 f0 7f
14008f646:	c1 e5 05             	shl    $0x5,%ebp
14008f649:	49 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%r9
14008f650:	ff 0f 00
14008f653:	83 c5 07             	add    $0x7,%ebp
14008f656:	49 85 06             	test   %rax,(%r14)
14008f659:	75 18                	jne    0x14008f673
14008f65b:	44 88 03             	mov    %r8b,(%rbx)
14008f65e:	49 8b 06             	mov    (%r14),%rax
14008f661:	49 23 c1             	and    %r9,%rax
14008f664:	48 f7 d8             	neg    %rax
14008f667:	4d 1b ff             	sbb    %r15,%r15
14008f66a:	41 81 e7 fe 03 00 00 	and    $0x3fe,%r15d
14008f671:	eb 03                	jmp    0x14008f676
14008f673:	c6 03 31             	movb   $0x31,(%rbx)
14008f676:	49 8d 74 24 01       	lea    0x1(%r12),%rsi
14008f67b:	85 ff                	test   %edi,%edi
14008f67d:	75 05                	jne    0x14008f684
14008f67f:	41 8a c3             	mov    %r11b,%al
14008f682:	eb 37                	jmp    0x14008f6bb
14008f684:	48 8b 9c 24 c8 00 00 	mov    0xc8(%rsp),%rbx
14008f68b:	00
14008f68c:	44 38 5b 28          	cmp    %r11b,0x28(%rbx)
14008f690:	75 19                	jne    0x14008f6ab
14008f692:	48 8b cb             	mov    %rbx,%rcx
14008f695:	e8 e6 2a fe ff       	call   0x140072180
14008f69a:	45 33 db             	xor    %r11d,%r11d
14008f69d:	49 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%r9
14008f6a4:	ff 0f 00
14008f6a7:	45 8d 43 30          	lea    0x30(%r11),%r8d
14008f6ab:	48 8b 43 18          	mov    0x18(%rbx),%rax
14008f6af:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
14008f6b6:	48 8b 01             	mov    (%rcx),%rax
14008f6b9:	8a 00                	mov    (%rax),%al
14008f6bb:	41 88 04 24          	mov    %al,(%r12)
14008f6bf:	4d 85 0e             	test   %r9,(%r14)
14008f6c2:	0f 86 8a 00 00 00    	jbe    0x14008f752
14008f6c8:	41 0f b7 d0          	movzwl %r8w,%edx
14008f6cc:	49 ba 00 00 00 00 00 	movabs $0xf000000000000,%r10
14008f6d3:	00 0f 00
14008f6d6:	0f b7 ca             	movzwl %dx,%ecx
14008f6d9:	85 ff                	test   %edi,%edi
14008f6db:	7e 2c                	jle    0x14008f709
14008f6dd:	49 8b 06             	mov    (%r14),%rax
14008f6e0:	49 23 c2             	and    %r10,%rax
14008f6e3:	49 23 c1             	and    %r9,%rax
14008f6e6:	48 d3 e8             	shr    %cl,%rax
14008f6e9:	66 41 03 c0          	add    %r8w,%ax
14008f6ed:	66 83 f8 39          	cmp    $0x39,%ax
14008f6f1:	76 03                	jbe    0x14008f6f6
14008f6f3:	66 03 c5             	add    %bp,%ax
14008f6f6:	88 06                	mov    %al,(%rsi)
14008f6f8:	ff cf                	dec    %edi
14008f6fa:	48 ff c6             	inc    %rsi
14008f6fd:	49 c1 ea 04          	shr    $0x4,%r10
14008f701:	66 83 c2 fc          	add    $0xfffc,%dx
14008f705:	79 cf                	jns    0x14008f6d6
14008f707:	eb 49                	jmp    0x14008f752
14008f709:	44 8b 8c 24 c0 00 00 	mov    0xc0(%rsp),%r9d
14008f710:	00
14008f711:	44 0f b7 c1          	movzwl %cx,%r8d
14008f715:	49 8b ce             	mov    %r14,%rcx
14008f718:	49 8b d2             	mov    %r10,%rdx
14008f71b:	e8 c4 fc ff ff       	call   0x14008f3e4
14008f720:	45 33 db             	xor    %r11d,%r11d
14008f723:	84 c0                	test   %al,%al
14008f725:	74 4c                	je     0x14008f773
14008f727:	48 8d 4e ff          	lea    -0x1(%rsi),%rcx
14008f72b:	8a 11                	mov    (%rcx),%dl
14008f72d:	8d 42 ba             	lea    -0x46(%rdx),%eax
14008f730:	a8 df                	test   $0xdf,%al
14008f732:	75 08                	jne    0x14008f73c
14008f734:	c6 01 30             	movb   $0x30,(%rcx)
14008f737:	48 ff c9             	dec    %rcx
14008f73a:	eb ef                	jmp    0x14008f72b
14008f73c:	49 3b cc             	cmp    %r12,%rcx
14008f73f:	74 0e                	je     0x14008f74f
14008f741:	80 fa 39             	cmp    $0x39,%dl
14008f744:	75 03                	jne    0x14008f749
14008f746:	40 02 d5             	add    %bpl,%dl
14008f749:	fe c2                	inc    %dl
14008f74b:	88 11                	mov    %dl,(%rcx)
14008f74d:	eb 03                	jmp    0x14008f752
14008f74f:	fe 41 ff             	incb   -0x1(%rcx)
14008f752:	85 ff                	test   %edi,%edi
14008f754:	7e 1d                	jle    0x14008f773
14008f756:	44 8b c7             	mov    %edi,%r8d
14008f759:	48 8b ce             	mov    %rsi,%rcx
14008f75c:	8b df                	mov    %edi,%ebx
14008f75e:	bf 30 00 00 00       	mov    $0x30,%edi
14008f763:	40 8a d7             	mov    %dil,%dl
14008f766:	e8 a5 ea 00 00       	call   0x14009e210
14008f76b:	48 03 f3             	add    %rbx,%rsi
14008f76e:	45 33 db             	xor    %r11d,%r11d
14008f771:	eb 05                	jmp    0x14008f778
14008f773:	bf 30 00 00 00       	mov    $0x30,%edi
14008f778:	45 38 1c 24          	cmp    %r11b,(%r12)
14008f77c:	49 0f 44 f4          	cmove  %r12,%rsi
14008f780:	41 c0 e5 05          	shl    $0x5,%r13b
14008f784:	41 80 c5 50          	add    $0x50,%r13b
14008f788:	44 88 2e             	mov    %r13b,(%rsi)
14008f78b:	4c 8d 4e 02          	lea    0x2(%rsi),%r9
14008f78f:	49 8b 06             	mov    (%r14),%rax
14008f792:	48 c1 e8 34          	shr    $0x34,%rax
14008f796:	25 ff 07 00 00       	and    $0x7ff,%eax
14008f79b:	8b c8                	mov    %eax,%ecx
14008f79d:	49 2b cf             	sub    %r15,%rcx
14008f7a0:	48 8b d1             	mov    %rcx,%rdx
14008f7a3:	79 06                	jns    0x14008f7ab
14008f7a5:	49 8b cf             	mov    %r15,%rcx
14008f7a8:	48 2b c8             	sub    %rax,%rcx
14008f7ab:	48 85 d2             	test   %rdx,%rdx
14008f7ae:	b8 2b 00 00 00       	mov    $0x2b,%eax
14008f7b3:	4d 8b c1             	mov    %r9,%r8
14008f7b6:	8d 50 02             	lea    0x2(%rax),%edx
14008f7b9:	0f 48 c2             	cmovs  %edx,%eax
14008f7bc:	88 46 01             	mov    %al,0x1(%rsi)
14008f7bf:	41 88 39             	mov    %dil,(%r9)
14008f7c2:	48 81 f9 e8 03 00 00 	cmp    $0x3e8,%rcx
14008f7c9:	7c 34                	jl     0x14008f7ff
14008f7cb:	48 b8 cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rax
14008f7d2:	9b c4 20
14008f7d5:	4d 8d 41 01          	lea    0x1(%r9),%r8
14008f7d9:	48 f7 e9             	imul   %rcx
14008f7dc:	48 c1 fa 07          	sar    $0x7,%rdx
14008f7e0:	48 8b c2             	mov    %rdx,%rax
14008f7e3:	48 c1 e8 3f          	shr    $0x3f,%rax
14008f7e7:	48 03 d0             	add    %rax,%rdx
14008f7ea:	8d 04 17             	lea    (%rdi,%rdx,1),%eax
14008f7ed:	41 88 01             	mov    %al,(%r9)
14008f7f0:	48 69 c2 18 fc ff ff 	imul   $0xfffffffffffffc18,%rdx,%rax
14008f7f7:	48 03 c8             	add    %rax,%rcx
14008f7fa:	4d 3b c1             	cmp    %r9,%r8
14008f7fd:	75 06                	jne    0x14008f805
14008f7ff:	48 83 f9 64          	cmp    $0x64,%rcx
14008f803:	7c 33                	jl     0x14008f838
14008f805:	48 b8 0b d7 a3 70 3d 	movabs $0xa3d70a3d70a3d70b,%rax
14008f80c:	0a d7 a3
14008f80f:	48 f7 e9             	imul   %rcx
14008f812:	48 03 d1             	add    %rcx,%rdx
14008f815:	48 c1 fa 06          	sar    $0x6,%rdx
14008f819:	48 8b c2             	mov    %rdx,%rax
14008f81c:	48 c1 e8 3f          	shr    $0x3f,%rax
14008f820:	48 03 d0             	add    %rax,%rdx
14008f823:	8d 04 17             	lea    (%rdi,%rdx,1),%eax
14008f826:	41 88 00             	mov    %al,(%r8)
14008f829:	49 ff c0             	inc    %r8
14008f82c:	48 6b c2 9c          	imul   $0xffffffffffffff9c,%rdx,%rax
14008f830:	48 03 c8             	add    %rax,%rcx
14008f833:	4d 3b c1             	cmp    %r9,%r8
14008f836:	75 06                	jne    0x14008f83e
14008f838:	48 83 f9 0a          	cmp    $0xa,%rcx
14008f83c:	7c 2b                	jl     0x14008f869
14008f83e:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
14008f845:	66 66 66
14008f848:	48 f7 e9             	imul   %rcx
14008f84b:	48 c1 fa 02          	sar    $0x2,%rdx
14008f84f:	48 8b c2             	mov    %rdx,%rax
14008f852:	48 c1 e8 3f          	shr    $0x3f,%rax
14008f856:	48 03 d0             	add    %rax,%rdx
14008f859:	8d 04 17             	lea    (%rdi,%rdx,1),%eax
14008f85c:	41 88 00             	mov    %al,(%r8)
14008f85f:	49 ff c0             	inc    %r8
14008f862:	48 6b c2 f6          	imul   $0xfffffffffffffff6,%rdx,%rax
14008f866:	48 03 c8             	add    %rax,%rcx
14008f869:	40 02 cf             	add    %dil,%cl
14008f86c:	41 88 08             	mov    %cl,(%r8)
14008f86f:	45 88 58 01          	mov    %r11b,0x1(%r8)
14008f873:	33 c0                	xor    %eax,%eax
14008f875:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
14008f87a:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14008f87e:	49 8b 6b 40          	mov    0x40(%r11),%rbp
14008f882:	49 8b 73 48          	mov    0x48(%r11),%rsi
14008f886:	49 8b e3             	mov    %r11,%rsp
14008f889:	41 5f                	pop    %r15
14008f88b:	41 5e                	pop    %r14
14008f88d:	41 5d                	pop    %r13
14008f88f:	41 5c                	pop    %r12
14008f891:	5f                   	pop    %rdi
14008f892:	c3                   	ret
14008f893:	cc                   	int3
14008f894:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14008f899:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14008f89e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14008f8a3:	57                   	push   %rdi
14008f8a4:	41 56                	push   %r14
14008f8a6:	41 57                	push   %r15
14008f8a8:	48 83 ec 20          	sub    $0x20,%rsp
14008f8ac:	80 7c 24 60 00       	cmpb   $0x0,0x60(%rsp)
14008f8b1:	48 8b d9             	mov    %rcx,%rbx
14008f8b4:	49 63 49 04          	movslq 0x4(%r9),%rcx
14008f8b8:	4d 8b f1             	mov    %r9,%r14
14008f8bb:	41 8b e8             	mov    %r8d,%ebp
14008f8be:	74 1b                	je     0x14008f8db
14008f8c0:	8d 41 ff             	lea    -0x1(%rcx),%eax
14008f8c3:	41 3b c0             	cmp    %r8d,%eax
14008f8c6:	75 13                	jne    0x14008f8db
14008f8c8:	33 c0                	xor    %eax,%eax
14008f8ca:	41 83 39 2d          	cmpl   $0x2d,(%r9)
14008f8ce:	0f 94 c0             	sete   %al
14008f8d1:	48 03 c3             	add    %rbx,%rax
14008f8d4:	66 c7 44 01 ff 30 00 	movw   $0x30,-0x1(%rcx,%rax,1)
14008f8db:	41 83 39 2d          	cmpl   $0x2d,(%r9)