14002749e:	48 8b c1             	mov    %rcx,%rax
1400274a1:	41 80 ce 01          	or     $0x1,%r14b
1400274a5:	48 c1 f8 06          	sar    $0x6,%rax
1400274a9:	83 e1 3f             	and    $0x3f,%ecx
1400274ac:	44 88 75 b7          	mov    %r14b,-0x49(%rbp)
1400274b0:	49 8b 04 c7          	mov    (%r15,%rax,8),%rax
1400274b4:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
1400274b8:	44 88 74 c8 38       	mov    %r14b,0x38(%rax,%rcx,8)
1400274bd:	48 63 0f             	movslq (%rdi),%rcx
1400274c0:	48 8b c1             	mov    %rcx,%rax
1400274c3:	83 e1 3f             	and    $0x3f,%ecx
1400274c6:	48 c1 f8 06          	sar    $0x6,%rax
1400274ca:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
1400274ce:	49 8b 04 c7          	mov    (%r15,%rax,8),%rax
1400274d2:	40 88 74 c8 39       	mov    %sil,0x39(%rax,%rcx,8)
1400274d7:	41 f6 c4 02          	test   $0x2,%r12b
1400274db:	74 1d                	je     0x1400274fa
1400274dd:	8b 0f                	mov    (%rdi),%ecx
1400274df:	e8 88 fb ff ff       	call   0x14002706c
1400274e4:	89 45 b3             	mov    %eax,-0x4d(%rbp)
1400274e7:	85 c0                	test   %eax,%eax
1400274e9:	74 0f                	je     0x1400274fa
1400274eb:	8b 0f                	mov    (%rdi),%ecx
1400274ed:	e8 be 63 ff ff       	call   0x14001d8b0
1400274f2:	8b 45 b3             	mov    -0x4d(%rbp),%eax
1400274f5:	e9 48 01 00 00       	jmp    0x140027642
1400274fa:	0f 10 45 b7          	movups -0x49(%rbp),%xmm0
1400274fe:	4c 8d 4d af          	lea    -0x51(%rbp),%r9
140027502:	8b 0f                	mov    (%rdi),%ecx
140027504:	f2 0f 10 4d cf       	movsd  -0x31(%rbp),%xmm1
140027509:	48 8d 55 ff          	lea    -0x1(%rbp),%rdx
14002750d:	45 8b c4             	mov    %r12d,%r8d
140027510:	0f 29 45 ff          	movaps %xmm0,-0x1(%rbp)
140027514:	40 88 75 af          	mov    %sil,-0x51(%rbp)
140027518:	f2 0f 11 4d 0f       	movsd  %xmm1,0xf(%rbp)
14002751d:	e8 aa f6 ff ff       	call   0x140026bcc
140027522:	48 63 0f             	movslq (%rdi),%rcx
140027525:	89 45 b3             	mov    %eax,-0x4d(%rbp)
140027528:	85 c0                	test   %eax,%eax
14002752a:	75 c1                	jne    0x1400274ed
14002752c:	48 8b c1             	mov    %rcx,%rax
14002752f:	48 c1 f9 06          	sar    $0x6,%rcx
140027533:	83 e0 3f             	and    $0x3f,%eax
140027536:	49 8b 0c cf          	mov    (%r15,%rcx,8),%rcx
14002753a:	48 8d 14 c0          	lea    (%rax,%rax,8),%rdx
14002753e:	8a 45 af             	mov    -0x51(%rbp),%al
140027541:	88 44 d1 39          	mov    %al,0x39(%rcx,%rdx,8)
140027545:	48 63 0f             	movslq (%rdi),%rcx
140027548:	48 8b c1             	mov    %rcx,%rax
14002754b:	83 e1 3f             	and    $0x3f,%ecx
14002754e:	48 c1 f8 06          	sar    $0x6,%rax
140027552:	48 8d 14 c9          	lea    (%rcx,%rcx,8),%rdx
140027556:	49 8b 0c c7          	mov    (%r15,%rax,8),%rcx
14002755a:	41 8b c4             	mov    %r12d,%eax
14002755d:	c1 e8 10             	shr    $0x10,%eax
140027560:	24 01                	and    $0x1,%al
140027562:	80 64 d1 3d fe       	andb   $0xfe,0x3d(%rcx,%rdx,8)
140027567:	08 44 d1 3d          	or     %al,0x3d(%rcx,%rdx,8)
14002756b:	41 f6 c6 48          	test   $0x48,%r14b
14002756f:	75 20                	jne    0x140027591
140027571:	41 f6 c4 08          	test   $0x8,%r12b
140027575:	74 1a                	je     0x140027591
140027577:	48 63 0f             	movslq (%rdi),%rcx
14002757a:	48 8b c1             	mov    %rcx,%rax
14002757d:	83 e1 3f             	and    $0x3f,%ecx
140027580:	48 c1 f8 06          	sar    $0x6,%rax
140027584:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140027588:	49 8b 04 c7          	mov    (%r15,%rax,8),%rax
14002758c:	80 4c c8 38 20       	orb    $0x20,0x38(%rax,%rcx,8)
140027591:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
140027596:	8b c3                	mov    %ebx,%eax
140027598:	23 c1                	and    %ecx,%eax
14002759a:	3b c1                	cmp    %ecx,%eax
14002759c:	0f 85 9e 00 00 00    	jne    0x140027640
1400275a2:	41 f6 c4 01          	test   $0x1,%r12b
1400275a6:	0f 84 94 00 00 00    	je     0x140027640
1400275ac:	49 8b cd             	mov    %r13,%rcx
1400275af:	ff 15 93 4c 00 00    	call   *0x4c93(%rip)        # 0x14002c248
1400275b5:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
1400275b9:	4c 8d 4d e7          	lea    -0x19(%rbp),%r9
1400275bd:	44 8b 45 df          	mov    -0x21(%rbp),%r8d
1400275c1:	0f ba f3 1f          	btr    $0x1f,%ebx
1400275c5:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1400275ca:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
1400275ce:	8b 4d bf             	mov    -0x41(%rbp),%ecx
1400275d1:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
1400275d5:	48 8b 4d 5f          	mov    0x5f(%rbp),%rcx
1400275d9:	89 5d bb             	mov    %ebx,-0x45(%rbp)
1400275dc:	48 8b 55 b7          	mov    -0x49(%rbp),%rdx
1400275e0:	48 c1 ea 20          	shr    $0x20,%rdx
1400275e4:	ff 15 b6 4a 00 00    	call   *0x4ab6(%rip)        # 0x14002c0a0
1400275ea:	48 8b d0             	mov    %rax,%rdx
1400275ed:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400275f1:	75 33                	jne    0x140027626
1400275f3:	ff 15 67 4a 00 00    	call   *0x4a67(%rip)        # 0x14002c060
1400275f9:	8b c8                	mov    %eax,%ecx
1400275fb:	e8 7c d3 fe ff       	call   0x14001497c
140027600:	48 63 0f             	movslq (%rdi),%rcx
140027603:	48 8b c1             	mov    %rcx,%rax
140027606:	83 e1 3f             	and    $0x3f,%ecx
140027609:	48 c1 f8 06          	sar    $0x6,%rax
14002760d:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140027611:	49 8b 04 c7          	mov    (%r15,%rax,8),%rax
140027615:	80 64 c8 38 fe       	andb   $0xfe,0x38(%rax,%rcx,8)
14002761a:	8b 0f                	mov    (%rdi),%ecx
14002761c:	e8 8f c6 ff ff       	call   0x140023cb0
140027621:	e9 d7 fc ff ff       	jmp    0x1400272fd
140027626:	48 63 0f             	movslq (%rdi),%rcx
140027629:	48 8b c1             	mov    %rcx,%rax
14002762c:	48 c1 f8 06          	sar    $0x6,%rax
140027630:	83 e1 3f             	and    $0x3f,%ecx
140027633:	49 8b 04 c7          	mov    (%r15,%rax,8),%rax
140027637:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
14002763b:	48 89 54 c8 28       	mov    %rdx,0x28(%rax,%rcx,8)
140027640:	33 c0                	xor    %eax,%eax
140027642:	4c 8d 9c 24 b0 00 00 	lea    0xb0(%rsp),%r11
140027649:	00
14002764a:	49 8b 5b 30          	mov    0x30(%r11),%rbx
14002764e:	49 8b 73 38          	mov    0x38(%r11),%rsi
140027652:	49 8b 7b 48          	mov    0x48(%r11),%rdi
140027656:	49 8b e3             	mov    %r11,%rsp
140027659:	41 5f                	pop    %r15
14002765b:	41 5e                	pop    %r14
14002765d:	41 5d                	pop    %r13
14002765f:	41 5c                	pop    %r12
140027661:	5d                   	pop    %rbp
140027662:	c3                   	ret
140027663:	cc                   	int3
140027664:	40 53                	rex push %rbx
140027666:	48 83 ec 30          	sub    $0x30,%rsp
14002766a:	48 8b d9             	mov    %rcx,%rbx
14002766d:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
140027672:	e8 2d 2c 00 00       	call   0x14002a2a4
140027677:	48 83 f8 04          	cmp    $0x4,%rax
14002767b:	77 1a                	ja     0x140027697
14002767d:	8b 54 24 20          	mov    0x20(%rsp),%edx
140027681:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
140027686:	81 fa ff ff 00 00    	cmp    $0xffff,%edx
14002768c:	0f 47 d1             	cmova  %ecx,%edx
14002768f:	48 85 db             	test   %rbx,%rbx
140027692:	74 03                	je     0x140027697
140027694:	66 89 13             	mov    %dx,(%rbx)
140027697:	48 83 c4 30          	add    $0x30,%rsp
14002769b:	5b                   	pop    %rbx
14002769c:	c3                   	ret
14002769d:	cc                   	int3
14002769e:	cc                   	int3
14002769f:	cc                   	int3
1400276a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400276a5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400276aa:	57                   	push   %rdi
1400276ab:	41 54                	push   %r12
1400276ad:	41 55                	push   %r13
1400276af:	41 56                	push   %r14
1400276b1:	41 57                	push   %r15
1400276b3:	48 83 ec 20          	sub    $0x20,%rsp
1400276b7:	48 8b 3a             	mov    (%rdx),%rdi
1400276ba:	45 33 ed             	xor    %r13d,%r13d
1400276bd:	4d 8b e1             	mov    %r9,%r12
1400276c0:	49 8b e8             	mov    %r8,%rbp
1400276c3:	4c 8b f2             	mov    %rdx,%r14
1400276c6:	4c 8b f9             	mov    %rcx,%r15
1400276c9:	48 85 c9             	test   %rcx,%rcx
1400276cc:	0f 84 ee 00 00 00    	je     0x1400277c0
1400276d2:	48 8b d9             	mov    %rcx,%rbx
1400276d5:	4d 85 c0             	test   %r8,%r8
1400276d8:	0f 84 a1 00 00 00    	je     0x14002777f
1400276de:	44 38 2f             	cmp    %r13b,(%rdi)
1400276e1:	75 08                	jne    0x1400276eb
1400276e3:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400276e9:	eb 1d                	jmp    0x140027708
1400276eb:	44 38 6f 01          	cmp    %r13b,0x1(%rdi)
1400276ef:	75 08                	jne    0x1400276f9
1400276f1:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1400276f7:	eb 0f                	jmp    0x140027708
1400276f9:	8a 47 02             	mov    0x2(%rdi),%al
1400276fc:	f6 d8                	neg    %al
1400276fe:	4d 1b c0             	sbb    %r8,%r8
140027701:	49 f7 d8             	neg    %r8
140027704:	49 83 c0 03          	add    $0x3,%r8
140027708:	4d 8b cc             	mov    %r12,%r9
14002770b:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140027710:	48 8b d7             	mov    %rdi,%rdx
140027713:	e8 8c 2b 00 00       	call   0x14002a2a4
140027718:	48 8b d0             	mov    %rax,%rdx
14002771b:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14002771f:	74 75                	je     0x140027796
140027721:	48 85 c0             	test   %rax,%rax
140027724:	74 67                	je     0x14002778d
140027726:	8b 4c 24 50          	mov    0x50(%rsp),%ecx
14002772a:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
140027730:	76 39                	jbe    0x14002776b
140027732:	48 83 fd 01          	cmp    $0x1,%rbp
140027736:	76 47                	jbe    0x14002777f
140027738:	81 c1 00 00 ff ff    	add    $0xffff0000,%ecx
14002773e:	41 b8 00 d8 00 00    	mov    $0xd800,%r8d
140027744:	8b c1                	mov    %ecx,%eax
140027746:	89 4c 24 50          	mov    %ecx,0x50(%rsp)
14002774a:	c1 e8 0a             	shr    $0xa,%eax
14002774d:	48 ff cd             	dec    %rbp
140027750:	66 41 0b c0          	or     %r8w,%ax
140027754:	66 89 03             	mov    %ax,(%rbx)
140027757:	b8 ff 03 00 00       	mov    $0x3ff,%eax
14002775c:	66 23 c8             	and    %ax,%cx
14002775f:	48 83 c3 02          	add    $0x2,%rbx
140027763:	b8 00 dc 00 00       	mov    $0xdc00,%eax
140027768:	66 0b c8             	or     %ax,%cx
14002776b:	66 89 0b             	mov    %cx,(%rbx)
14002776e:	48 03 fa             	add    %rdx,%rdi
140027771:	48 83 c3 02          	add    $0x2,%rbx
140027775:	48 83 ed 01          	sub    $0x1,%rbp
140027779:	0f 85 5f ff ff ff    	jne    0x1400276de
14002777f:	49 2b df             	sub    %r15,%rbx
140027782:	49 89 3e             	mov    %rdi,(%r14)
140027785:	48 d1 fb             	sar    $1,%rbx
140027788:	48 8b c3             	mov    %rbx,%rax
14002778b:	eb 1b                	jmp    0x1400277a8
14002778d:	49 8b fd             	mov    %r13,%rdi
140027790:	66 44 89 2b          	mov    %r13w,(%rbx)
140027794:	eb e9                	jmp    0x14002777f
140027796:	49 89 3e             	mov    %rdi,(%r14)
140027799:	e8 4e d2 fe ff       	call   0x1400149ec
14002779e:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
1400277a4:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
1400277a8:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400277ad:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400277b2:	48 83 c4 20          	add    $0x20,%rsp
1400277b6:	41 5f                	pop    %r15
1400277b8:	41 5e                	pop    %r14
1400277ba:	41 5d                	pop    %r13
1400277bc:	41 5c                	pop    %r12
1400277be:	5f                   	pop    %rdi
1400277bf:	c3                   	ret
1400277c0:	49 8b dd             	mov    %r13,%rbx
1400277c3:	44 38 2f             	cmp    %r13b,(%rdi)
1400277c6:	75 08                	jne    0x1400277d0
1400277c8:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1400277ce:	eb 1d                	jmp    0x1400277ed
1400277d0:	44 38 6f 01          	cmp    %r13b,0x1(%rdi)
1400277d4:	75 08                	jne    0x1400277de
1400277d6:	41 b8 02 00 00 00    	mov    $0x2,%r8d
1400277dc:	eb 0f                	jmp    0x1400277ed
1400277de:	8a 47 02             	mov    0x2(%rdi),%al
1400277e1:	f6 d8                	neg    %al
1400277e3:	4d 1b c0             	sbb    %r8,%r8
1400277e6:	49 f7 d8             	neg    %r8
1400277e9:	49 83 c0 03          	add    $0x3,%r8
1400277ed:	4d 8b cc             	mov    %r12,%r9
1400277f0:	48 8b d7             	mov    %rdi,%rdx
1400277f3:	33 c9                	xor    %ecx,%ecx
1400277f5:	e8 aa 2a 00 00       	call   0x14002a2a4
1400277fa:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400277fe:	74 99                	je     0x140027799
140027800:	48 85 c0             	test   %rax,%rax
140027803:	74 83                	je     0x140027788
140027805:	48 83 f8 04          	cmp    $0x4,%rax
140027809:	75 03                	jne    0x14002780e
14002780b:	48 ff c3             	inc    %rbx
14002780e:	48 03 f8             	add    %rax,%rdi
140027811:	48 ff c3             	inc    %rbx
140027814:	eb ad                	jmp    0x1400277c3
140027816:	cc                   	int3
140027817:	cc                   	int3
140027818:	48 83 ec 28          	sub    $0x28,%rsp
14002781c:	48 85 c9             	test   %rcx,%rcx
14002781f:	75 0f                	jne    0x140027830
140027821:	33 c0                	xor    %eax,%eax
140027823:	49 89 00             	mov    %rax,(%r8)
140027826:	b8 01 00 00 00       	mov    $0x1,%eax
14002782b:	e9 9a 00 00 00       	jmp    0x1400278ca
140027830:	85 d2                	test   %edx,%edx
140027832:	75 04                	jne    0x140027838
140027834:	88 11                	mov    %dl,(%rcx)
140027836:	eb e9                	jmp    0x140027821
140027838:	f7 c2 80 ff ff ff    	test   $0xffffff80,%edx
14002783e:	75 04                	jne    0x140027844
140027840:	88 11                	mov    %dl,(%rcx)
140027842:	eb e2                	jmp    0x140027826
140027844:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
14002784a:	75 0b                	jne    0x140027857
14002784c:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140027852:	41 b2 c0             	mov    $0xc0,%r10b
140027855:	eb 39                	jmp    0x140027890
140027857:	f7 c2 00 00 ff ff    	test   $0xffff0000,%edx
14002785d:	75 18                	jne    0x140027877
14002785f:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
140027865:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14002786a:	76 4a                	jbe    0x1400278b6
14002786c:	41 b9 02 00 00 00    	mov    $0x2,%r9d
140027872:	41 b2 e0             	mov    $0xe0,%r10b
140027875:	eb 19                	jmp    0x140027890
140027877:	f7 c2 00 00 e0 ff    	test   $0xffe00000,%edx
14002787d:	75 37                	jne    0x1400278b6
14002787f:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
140027885:	77 2f                	ja     0x1400278b6
140027887:	41 b9 03 00 00 00    	mov    $0x3,%r9d
14002788d:	41 b2 f0             	mov    $0xf0,%r10b
140027890:	4d 8b d9             	mov    %r9,%r11
140027893:	8a c2                	mov    %dl,%al
140027895:	c1 ea 06             	shr    $0x6,%edx
140027898:	24 3f                	and    $0x3f,%al
14002789a:	0c 80                	or     $0x80,%al
14002789c:	41 88 04 0b          	mov    %al,(%r11,%rcx,1)
1400278a0:	49 83 eb 01          	sub    $0x1,%r11
1400278a4:	75 ed                	jne    0x140027893
1400278a6:	41 0a d2             	or     %r10b,%dl
1400278a9:	33 c0                	xor    %eax,%eax
1400278ab:	88 11                	mov    %dl,(%rcx)
1400278ad:	49 89 00             	mov    %rax,(%r8)
1400278b0:	49 8d 41 01          	lea    0x1(%r9),%rax
1400278b4:	eb 14                	jmp    0x1400278ca
1400278b6:	33 c0                	xor    %eax,%eax
1400278b8:	49 89 00             	mov    %rax,(%r8)
1400278bb:	e8 2c d1 fe ff       	call   0x1400149ec
1400278c0:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
1400278c6:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
1400278ca:	48 83 c4 28          	add    $0x28,%rsp
1400278ce:	c3                   	ret
1400278cf:	cc                   	int3
1400278d0:	e9 43 ff ff ff       	jmp    0x140027818
1400278d5:	cc                   	int3
1400278d6:	cc                   	int3
1400278d7:	cc                   	int3
1400278d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400278dd:	57                   	push   %rdi
1400278de:	48 83 ec 20          	sub    $0x20,%rsp
1400278e2:	45 8b d8             	mov    %r8d,%r11d
1400278e5:	4c 8b d1             	mov    %rcx,%r10
1400278e8:	48 85 c9             	test   %rcx,%rcx
1400278eb:	75 18                	jne    0x140027905
1400278ed:	e8 fa d0 fe ff       	call   0x1400149ec
1400278f2:	bb 16 00 00 00       	mov    $0x16,%ebx
1400278f7:	89 18                	mov    %ebx,(%rax)
1400278f9:	e8 9a 8e fe ff       	call   0x140010798
1400278fe:	8b c3                	mov    %ebx,%eax
140027900:	e9 aa 00 00 00       	jmp    0x1400279af
140027905:	48 85 d2             	test   %rdx,%rdx
140027908:	74 e3                	je     0x1400278ed
14002790a:	33 c0                	xor    %eax,%eax
14002790c:	c6 01 00             	movb   $0x0,(%rcx)
14002790f:	45 85 db             	test   %r11d,%r11d
140027912:	41 0f 4f c3          	cmovg  %r11d,%eax
140027916:	ff c0                	inc    %eax
140027918:	48 98                	cltq
14002791a:	48 3b d0             	cmp    %rax,%rdx
14002791d:	77 0c                	ja     0x14002792b
14002791f:	e8 c8 d0 fe ff       	call   0x1400149ec
140027924:	bb 22 00 00 00       	mov    $0x22,%ebx
140027929:	eb cc                	jmp    0x1400278f7
14002792b:	4d 85 c9             	test   %r9,%r9