14000a448:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14000a44d:	48 83 c4 30          	add    $0x30,%rsp
14000a451:	41 5e                	pop    %r14
14000a453:	c3                   	ret
14000a454:	8a 11                	mov    (%rcx),%dl
14000a456:	33 c0                	xor    %eax,%eax
14000a458:	84 d2                	test   %dl,%dl
14000a45a:	78 04                	js     0x14000a460
14000a45c:	0f 95 c0             	setne  %al
14000a45f:	c3                   	ret
14000a460:	8a c2                	mov    %dl,%al
14000a462:	24 e0                	and    $0xe0,%al
14000a464:	3c c0                	cmp    $0xc0,%al
14000a466:	75 06                	jne    0x14000a46e
14000a468:	b8 02 00 00 00       	mov    $0x2,%eax
14000a46d:	c3                   	ret
14000a46e:	8a c2                	mov    %dl,%al
14000a470:	24 f0                	and    $0xf0,%al
14000a472:	3c e0                	cmp    $0xe0,%al
14000a474:	75 06                	jne    0x14000a47c
14000a476:	b8 03 00 00 00       	mov    $0x3,%eax
14000a47b:	c3                   	ret
14000a47c:	83 c8 ff             	or     $0xffffffff,%eax
14000a47f:	80 e2 f8             	and    $0xf8,%dl
14000a482:	80 fa f0             	cmp    $0xf0,%dl
14000a485:	8d 48 05             	lea    0x5(%rax),%ecx
14000a488:	0f 44 c1             	cmove  %ecx,%eax
14000a48b:	c3                   	ret
14000a48c:	40 53                	rex push %rbx
14000a48e:	55                   	push   %rbp
14000a48f:	56                   	push   %rsi
14000a490:	57                   	push   %rdi
14000a491:	41 54                	push   %r12
14000a493:	41 56                	push   %r14
14000a495:	41 57                	push   %r15
14000a497:	48 83 ec 40          	sub    $0x40,%rsp
14000a49b:	48 8b 05 9e ab 00 00 	mov    0xab9e(%rip),%rax        # 0x140015040
14000a4a2:	48 33 c4             	xor    %rsp,%rax
14000a4a5:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14000a4aa:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
14000a4b1:	00
14000a4b2:	48 8d 1d 5f c7 00 00 	lea    0xc75f(%rip),%rbx        # 0x140016c18
14000a4b9:	45 33 e4             	xor    %r12d,%r12d
14000a4bc:	48 8d 3d b3 40 00 00 	lea    0x40b3(%rip),%rdi        # 0x14000e576
14000a4c3:	4d 85 c9             	test   %r9,%r9
14000a4c6:	48 8b c2             	mov    %rdx,%rax
14000a4c9:	4c 8b fa             	mov    %rdx,%r15
14000a4cc:	49 0f 45 d9          	cmovne %r9,%rbx
14000a4d0:	48 85 d2             	test   %rdx,%rdx
14000a4d3:	41 8d 6c 24 01       	lea    0x1(%r12),%ebp
14000a4d8:	49 0f 45 e8          	cmovne %r8,%rbp
14000a4dc:	48 0f 45 fa          	cmovne %rdx,%rdi
14000a4e0:	48 f7 d8             	neg    %rax
14000a4e3:	4d 1b f6             	sbb    %r14,%r14
14000a4e6:	4c 23 f1             	and    %rcx,%r14
14000a4e9:	48 85 ed             	test   %rbp,%rbp
14000a4ec:	75 0c                	jne    0x14000a4fa
14000a4ee:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
14000a4f5:	e9 33 01 00 00       	jmp    0x14000a62d
14000a4fa:	66 44 39 63 06       	cmp    %r12w,0x6(%rbx)
14000a4ff:	75 4f                	jne    0x14000a550
14000a501:	48 8b cf             	mov    %rdi,%rcx
14000a504:	e8 4b ff ff ff       	call   0x14000a454
14000a509:	4c 63 c0             	movslq %eax,%r8
14000a50c:	0f b6 07             	movzbl (%rdi),%eax
14000a50f:	48 ff c7             	inc    %rdi
14000a512:	41 83 f8 01          	cmp    $0x1,%r8d
14000a516:	76 28                	jbe    0x14000a540
14000a518:	41 8d 48 fe          	lea    -0x2(%r8),%ecx
14000a51c:	83 f9 02             	cmp    $0x2,%ecx
14000a51f:	0f 87 fd 00 00 00    	ja     0x14000a622
14000a525:	41 0f b6 d0          	movzbl %r8b,%edx
14000a529:	b9 07 00 00 00       	mov    $0x7,%ecx
14000a52e:	2b ca                	sub    %edx,%ecx
14000a530:	45 8a c8             	mov    %r8b,%r9b
14000a533:	ba 01 00 00 00       	mov    $0x1,%edx
14000a538:	d3 e2                	shl    %cl,%edx
14000a53a:	ff ca                	dec    %edx
14000a53c:	23 d0                	and    %eax,%edx
14000a53e:	eb 39                	jmp    0x14000a579
14000a540:	4d 85 f6             	test   %r14,%r14
14000a543:	74 03                	je     0x14000a548
14000a545:	41 89 06             	mov    %eax,(%r14)
14000a548:	49 8b c0             	mov    %r8,%rax
14000a54b:	e9 dd 00 00 00       	jmp    0x14000a62d
14000a550:	44 8a 43 04          	mov    0x4(%rbx),%r8b
14000a554:	8b 13                	mov    (%rbx),%edx
14000a556:	44 8a 4b 06          	mov    0x6(%rbx),%r9b
14000a55a:	41 8d 40 fe          	lea    -0x2(%r8),%eax
14000a55e:	3c 02                	cmp    $0x2,%al
14000a560:	0f 87 bc 00 00 00    	ja     0x14000a622
14000a566:	41 80 f9 01          	cmp    $0x1,%r9b
14000a56a:	0f 82 b2 00 00 00    	jb     0x14000a622
14000a570:	45 3a c8             	cmp    %r8b,%r9b
14000a573:	0f 83 a9 00 00 00    	jae    0x14000a622
14000a579:	45 0f b6 d9          	movzbl %r9b,%r11d
14000a57d:	4c 3b dd             	cmp    %rbp,%r11
14000a580:	45 8b d3             	mov    %r11d,%r10d
14000a583:	4c 0f 43 d5          	cmovae %rbp,%r10
14000a587:	eb 1e                	jmp    0x14000a5a7
14000a589:	0f b6 0f             	movzbl (%rdi),%ecx
14000a58c:	48 ff c7             	inc    %rdi
14000a58f:	8a c1                	mov    %cl,%al
14000a591:	24 c0                	and    $0xc0,%al
14000a593:	3c 80                	cmp    $0x80,%al
14000a595:	0f 85 87 00 00 00    	jne    0x14000a622
14000a59b:	8b c2                	mov    %edx,%eax
14000a59d:	83 e1 3f             	and    $0x3f,%ecx
14000a5a0:	c1 e0 06             	shl    $0x6,%eax
14000a5a3:	8b d1                	mov    %ecx,%edx
14000a5a5:	0b d0                	or     %eax,%edx
14000a5a7:	48 8b c7             	mov    %rdi,%rax
14000a5aa:	49 2b c7             	sub    %r15,%rax
14000a5ad:	49 3b c2             	cmp    %r10,%rax
14000a5b0:	72 d7                	jb     0x14000a589
14000a5b2:	4d 3b d3             	cmp    %r11,%r10
14000a5b5:	73 1a                	jae    0x14000a5d1
14000a5b7:	41 0f b6 c0          	movzbl %r8b,%eax
14000a5bb:	45 2a ca             	sub    %r10b,%r9b
14000a5be:	66 89 43 04          	mov    %ax,0x4(%rbx)
14000a5c2:	41 0f b6 c1          	movzbl %r9b,%eax
14000a5c6:	66 89 43 06          	mov    %ax,0x6(%rbx)
14000a5ca:	89 13                	mov    %edx,(%rbx)
14000a5cc:	e9 1d ff ff ff       	jmp    0x14000a4ee
14000a5d1:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
14000a5d7:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14000a5dc:	76 44                	jbe    0x14000a622
14000a5de:	81 fa 00 00 11 00    	cmp    $0x110000,%edx
14000a5e4:	73 3c                	jae    0x14000a622
14000a5e6:	41 0f b6 c0          	movzbl %r8b,%eax
14000a5ea:	c7 44 24 20 80 00 00 	movl   $0x80,0x20(%rsp)
14000a5f1:	00
14000a5f2:	c7 44 24 24 00 08 00 	movl   $0x800,0x24(%rsp)
14000a5f9:	00
14000a5fa:	c7 44 24 28 00 00 01 	movl   $0x10000,0x28(%rsp)
14000a601:	00
14000a602:	3b 54 84 18          	cmp    0x18(%rsp,%rax,4),%edx
14000a606:	72 1a                	jb     0x14000a622
14000a608:	4d 85 f6             	test   %r14,%r14
14000a60b:	74 03                	je     0x14000a610
14000a60d:	41 89 16             	mov    %edx,(%r14)
14000a610:	f7 da                	neg    %edx
14000a612:	48 8b d3             	mov    %rbx,%rdx
14000a615:	48 1b c9             	sbb    %rcx,%rcx
14000a618:	49 23 cb             	and    %r11,%rcx
14000a61b:	e8 d0 1b 00 00       	call   0x14000c1f0
14000a620:	eb 0b                	jmp    0x14000a62d
14000a622:	48 8b d6             	mov    %rsi,%rdx
14000a625:	48 8b cb             	mov    %rbx,%rcx
14000a628:	e8 cb 1b 00 00       	call   0x14000c1f8
14000a62d:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14000a632:	48 33 cc             	xor    %rsp,%rcx
14000a635:	e8 76 6c ff ff       	call   0x1400012b0
14000a63a:	48 83 c4 40          	add    $0x40,%rsp
14000a63e:	41 5f                	pop    %r15
14000a640:	41 5e                	pop    %r14
14000a642:	41 5c                	pop    %r12
14000a644:	5f                   	pop    %rdi
14000a645:	5e                   	pop    %rsi
14000a646:	5d                   	pop    %rbp
14000a647:	5b                   	pop    %rbx
14000a648:	c3                   	ret
14000a649:	90                   	nop
14000a64a:	90                   	nop
14000a64b:	90                   	nop
14000a64c:	40 53                	rex push %rbx
14000a64e:	48 83 ec 40          	sub    $0x40,%rsp
14000a652:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
14000a657:	48 8b d9             	mov    %rcx,%rbx
14000a65a:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
14000a65f:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14000a664:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14000a669:	e8 1e fe ff ff       	call   0x14000a48c
14000a66e:	48 83 f8 04          	cmp    $0x4,%rax
14000a672:	77 19                	ja     0x14000a68d
14000a674:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
14000a678:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
14000a67e:	76 05                	jbe    0x14000a685
14000a680:	b9 fd ff 00 00       	mov    $0xfffd,%ecx
14000a685:	48 85 db             	test   %rbx,%rbx
14000a688:	74 03                	je     0x14000a68d
14000a68a:	66 89 0b             	mov    %cx,(%rbx)
14000a68d:	48 83 c4 40          	add    $0x40,%rsp
14000a691:	5b                   	pop    %rbx
14000a692:	c3                   	ret
14000a693:	90                   	nop
14000a694:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14000a699:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
14000a69e:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14000a6a3:	57                   	push   %rdi
14000a6a4:	41 54                	push   %r12
14000a6a6:	41 55                	push   %r13
14000a6a8:	41 56                	push   %r14
14000a6aa:	41 57                	push   %r15
14000a6ac:	48 83 ec 30          	sub    $0x30,%rsp
14000a6b0:	48 8b 3a             	mov    (%rdx),%rdi
14000a6b3:	45 33 ed             	xor    %r13d,%r13d
14000a6b6:	4d 8b e1             	mov    %r9,%r12
14000a6b9:	49 8b f0             	mov    %r8,%rsi
14000a6bc:	4c 8b f2             	mov    %rdx,%r14
14000a6bf:	48 8b e9             	mov    %rcx,%rbp
14000a6c2:	48 85 c9             	test   %rcx,%rcx
14000a6c5:	0f 84 eb 00 00 00    	je     0x14000a7b6
14000a6cb:	48 8b d9             	mov    %rcx,%rbx
14000a6ce:	4d 85 c0             	test   %r8,%r8
14000a6d1:	0f 84 b3 00 00 00    	je     0x14000a78a
14000a6d7:	4c 8b bc 24 80 00 00 	mov    0x80(%rsp),%r15
14000a6de:	00
14000a6df:	44 38 2f             	cmp    %r13b,(%rdi)
14000a6e2:	75 08                	jne    0x14000a6ec
14000a6e4:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14000a6ea:	eb 1d                	jmp    0x14000a709
14000a6ec:	44 38 6f 01          	cmp    %r13b,0x1(%rdi)
14000a6f0:	75 08                	jne    0x14000a6fa
14000a6f2:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14000a6f8:	eb 0f                	jmp    0x14000a709
14000a6fa:	8a 47 02             	mov    0x2(%rdi),%al
14000a6fd:	f6 d8                	neg    %al
14000a6ff:	4d 1b c0             	sbb    %r8,%r8
14000a702:	49 f7 d8             	neg    %r8
14000a705:	49 83 c0 03          	add    $0x3,%r8
14000a709:	4d 8b cc             	mov    %r12,%r9
14000a70c:	44 89 6c 24 60       	mov    %r13d,0x60(%rsp)
14000a711:	48 8b d7             	mov    %rdi,%rdx
14000a714:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14000a719:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
14000a71e:	e8 69 fd ff ff       	call   0x14000a48c
14000a723:	48 8b d0             	mov    %rax,%rdx
14000a726:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14000a72a:	74 78                	je     0x14000a7a4
14000a72c:	48 85 c0             	test   %rax,%rax
14000a72f:	74 6a                	je     0x14000a79b
14000a731:	8b 4c 24 60          	mov    0x60(%rsp),%ecx
14000a735:	81 f9 ff ff 00 00    	cmp    $0xffff,%ecx
14000a73b:	76 39                	jbe    0x14000a776
14000a73d:	48 83 fe 01          	cmp    $0x1,%rsi
14000a741:	76 47                	jbe    0x14000a78a
14000a743:	81 c1 00 00 ff ff    	add    $0xffff0000,%ecx
14000a749:	41 b8 00 d8 00 00    	mov    $0xd800,%r8d
14000a74f:	8b c1                	mov    %ecx,%eax
14000a751:	89 4c 24 60          	mov    %ecx,0x60(%rsp)
14000a755:	c1 e8 0a             	shr    $0xa,%eax
14000a758:	48 ff ce             	dec    %rsi
14000a75b:	66 41 0b c0          	or     %r8w,%ax
14000a75f:	66 89 03             	mov    %ax,(%rbx)
14000a762:	b8 ff 03 00 00       	mov    $0x3ff,%eax
14000a767:	66 23 c8             	and    %ax,%cx
14000a76a:	48 83 c3 02          	add    $0x2,%rbx
14000a76e:	b8 00 dc 00 00       	mov    $0xdc00,%eax
14000a773:	66 0b c8             	or     %ax,%cx
14000a776:	66 89 0b             	mov    %cx,(%rbx)
14000a779:	48 03 fa             	add    %rdx,%rdi
14000a77c:	48 83 c3 02          	add    $0x2,%rbx
14000a780:	48 83 ee 01          	sub    $0x1,%rsi
14000a784:	0f 85 55 ff ff ff    	jne    0x14000a6df
14000a78a:	48 2b dd             	sub    %rbp,%rbx
14000a78d:	49 89 3e             	mov    %rdi,(%r14)
14000a790:	48 d1 fb             	sar    $1,%rbx
14000a793:	48 8b c3             	mov    %rbx,%rax
14000a796:	e9 91 00 00 00       	jmp    0x14000a82c
14000a79b:	49 8b fd             	mov    %r13,%rdi
14000a79e:	66 44 89 2b          	mov    %r13w,(%rbx)
14000a7a2:	eb e6                	jmp    0x14000a78a
14000a7a4:	49 89 3e             	mov    %rdi,(%r14)
14000a7a7:	41 c6 47 30 01       	movb   $0x1,0x30(%r15)
14000a7ac:	41 c7 47 2c 2a 00 00 	movl   $0x2a,0x2c(%r15)
14000a7b3:	00
14000a7b4:	eb 72                	jmp    0x14000a828
14000a7b6:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
14000a7bd:	00
14000a7be:	49 8b dd             	mov    %r13,%rbx
14000a7c1:	44 38 2f             	cmp    %r13b,(%rdi)
14000a7c4:	75 08                	jne    0x14000a7ce
14000a7c6:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14000a7cc:	eb 1d                	jmp    0x14000a7eb
14000a7ce:	44 38 6f 01          	cmp    %r13b,0x1(%rdi)
14000a7d2:	75 08                	jne    0x14000a7dc
14000a7d4:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14000a7da:	eb 0f                	jmp    0x14000a7eb
14000a7dc:	8a 47 02             	mov    0x2(%rdi),%al
14000a7df:	f6 d8                	neg    %al
14000a7e1:	4d 1b c0             	sbb    %r8,%r8
14000a7e4:	49 f7 d8             	neg    %r8
14000a7e7:	49 83 c0 03          	add    $0x3,%r8
14000a7eb:	4d 8b cc             	mov    %r12,%r9
14000a7ee:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14000a7f3:	48 8b d7             	mov    %rdi,%rdx
14000a7f6:	33 c9                	xor    %ecx,%ecx
14000a7f8:	e8 8f fc ff ff       	call   0x14000a48c
14000a7fd:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14000a801:	74 1a                	je     0x14000a81d
14000a803:	48 85 c0             	test   %rax,%rax
14000a806:	74 8b                	je     0x14000a793
14000a808:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
14000a80c:	48 03 f8             	add    %rax,%rdi
14000a80f:	48 83 f8 04          	cmp    $0x4,%rax
14000a813:	48 0f 45 cb          	cmovne %rbx,%rcx
14000a817:	48 8d 59 01          	lea    0x1(%rcx),%rbx
14000a81b:	eb a4                	jmp    0x14000a7c1
14000a81d:	c6 46 30 01          	movb   $0x1,0x30(%rsi)
14000a821:	c7 46 2c 2a 00 00 00 	movl   $0x2a,0x2c(%rsi)
14000a828:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14000a82c:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
14000a831:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
14000a836:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
14000a83b:	48 83 c4 30          	add    $0x30,%rsp
14000a83f:	41 5f                	pop    %r15
14000a841:	41 5e                	pop    %r14
14000a843:	41 5d                	pop    %r13
14000a845:	41 5c                	pop    %r12
14000a847:	5f                   	pop    %rdi
14000a848:	c3                   	ret
14000a849:	90                   	nop
14000a84a:	90                   	nop
14000a84b:	90                   	nop
14000a84c:	48 83 ec 28          	sub    $0x28,%rsp
14000a850:	48 85 c9             	test   %rcx,%rcx
14000a853:	75 15                	jne    0x14000a86a
14000a855:	e8 ce be ff ff       	call   0x140006728
14000a85a:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
14000a860:	e8 cf bb ff ff       	call   0x140006434
14000a865:	83 c8 ff             	or     $0xffffffff,%eax
14000a868:	eb 03                	jmp    0x14000a86d
14000a86a:	8b 41 18             	mov    0x18(%rcx),%eax
14000a86d:	48 83 c4 28          	add    $0x28,%rsp
14000a871:	c3                   	ret
14000a872:	90                   	nop
14000a873:	90                   	nop
14000a874:	90                   	nop
14000a875:	90                   	nop
14000a876:	90                   	nop
14000a877:	90                   	nop
14000a878:	90                   	nop
14000a879:	90                   	nop
14000a87a:	90                   	nop
14000a87b:	90                   	nop
14000a87c:	90                   	nop
14000a87d:	90                   	nop
14000a87e:	90                   	nop
14000a87f:	90                   	nop
14000a880:	41 54                	push   %r12
14000a882:	41 55                	push   %r13
14000a884:	41 56                	push   %r14
14000a886:	41 57                	push   %r15
14000a888:	48 81 ec 48 04 00 00 	sub    $0x448,%rsp
14000a88f:	48 8b 05 aa a7 00 00 	mov    0xa7aa(%rip),%rax        # 0x140015040
14000a896:	48 33 c4             	xor    %rsp,%rax
14000a899:	48 89 84 24 10 04 00 	mov    %rax,0x410(%rsp)
14000a8a0:	00
14000a8a1:	4d 8b e1             	mov    %r9,%r12