140abd6c5:	25 00 f8 00 00       	and    $0xf800,%eax
140abd6ca:	3d 00 d8 00 00       	cmp    $0xd800,%eax
140abd6cf:	75 23                	jne    0x140abd6f4
140abd6d1:	0f b7 53 02          	movzwl 0x2(%rbx),%edx
140abd6d5:	81 e1 ff 03 00 00    	and    $0x3ff,%ecx
140abd6db:	8b c1                	mov    %ecx,%eax
140abd6dd:	48 83 c3 02          	add    $0x2,%rbx
140abd6e1:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
140abd6e7:	c1 e0 0a             	shl    $0xa,%eax
140abd6ea:	8b ca                	mov    %edx,%ecx
140abd6ec:	0b c8                	or     %eax,%ecx
140abd6ee:	81 c1 00 00 01 00    	add    $0x10000,%ecx
140abd6f4:	4c 8b c5             	mov    %rbp,%r8
140abd6f7:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140abd6fc:	4c 2b c6             	sub    %rsi,%r8
140abd6ff:	49 8d 14 b4          	lea    (%r12,%rsi,4),%rdx
140abd703:	48 3b ee             	cmp    %rsi,%rbp
140abd706:	45 8b cf             	mov    %r15d,%r9d
140abd709:	4d 0f 4e c5          	cmovle %r13,%r8
140abd70d:	e8 9e 02 00 00       	call   0x140abd9b0
140abd712:	48 03 f0             	add    %rax,%rsi
140abd715:	78 0e                	js     0x140abd725
140abd717:	48 83 c3 02          	add    $0x2,%rbx
140abd71b:	83 ef 01             	sub    $0x1,%edi
140abd71e:	79 a0                	jns    0x140abd6c0
140abd720:	48 8b c6             	mov    %rsi,%rax
140abd723:	eb 07                	jmp    0x140abd72c
140abd725:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
140abd72c:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140abd731:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140abd736:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140abd73b:	48 83 c4 30          	add    $0x30,%rsp
140abd73f:	41 5f                	pop    %r15
140abd741:	41 5e                	pop    %r14
140abd743:	41 5d                	pop    %r13
140abd745:	41 5c                	pop    %r12
140abd747:	5f                   	pop    %rdi
140abd748:	c3                   	ret
140abd749:	cc                   	int3
140abd74a:	cc                   	int3
140abd74b:	cc                   	int3
140abd74c:	cc                   	int3
140abd74d:	cc                   	int3
140abd74e:	cc                   	int3
140abd74f:	cc                   	int3
140abd750:	48 83 ec 38          	sub    $0x38,%rsp
140abd754:	33 c0                	xor    %eax,%eax
140abd756:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
140abd75b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abd760:	41 b9 0b 00 00 00    	mov    $0xb,%r9d
140abd766:	33 d2                	xor    %edx,%edx
140abd768:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140abd76d:	e8 ae 0e 00 00       	call   0x140abe620
140abd772:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140abd777:	48 83 c4 38          	add    $0x38,%rsp
140abd77b:	c3                   	ret
140abd77c:	cc                   	int3
140abd77d:	cc                   	int3
140abd77e:	cc                   	int3
140abd77f:	cc                   	int3
140abd780:	48 83 ec 38          	sub    $0x38,%rsp
140abd784:	33 c0                	xor    %eax,%eax
140abd786:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
140abd78b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abd790:	41 b9 13 00 00 00    	mov    $0x13,%r9d
140abd796:	33 d2                	xor    %edx,%edx
140abd798:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140abd79d:	e8 7e 0e 00 00       	call   0x140abe620
140abd7a2:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140abd7a7:	48 83 c4 38          	add    $0x38,%rsp
140abd7ab:	c3                   	ret
140abd7ac:	cc                   	int3
140abd7ad:	cc                   	int3
140abd7ae:	cc                   	int3
140abd7af:	cc                   	int3
140abd7b0:	48 83 ec 38          	sub    $0x38,%rsp
140abd7b4:	33 c0                	xor    %eax,%eax
140abd7b6:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
140abd7bb:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abd7c0:	41 b9 0f 00 00 00    	mov    $0xf,%r9d
140abd7c6:	33 d2                	xor    %edx,%edx
140abd7c8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140abd7cd:	e8 4e 0e 00 00       	call   0x140abe620
140abd7d2:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140abd7d7:	48 83 c4 38          	add    $0x38,%rsp
140abd7db:	c3                   	ret
140abd7dc:	cc                   	int3
140abd7dd:	cc                   	int3
140abd7de:	cc                   	int3
140abd7df:	cc                   	int3
140abd7e0:	48 83 ec 38          	sub    $0x38,%rsp
140abd7e4:	33 c0                	xor    %eax,%eax
140abd7e6:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
140abd7eb:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abd7f0:	41 b9 2f 04 00 00    	mov    $0x42f,%r9d
140abd7f6:	33 d2                	xor    %edx,%edx
140abd7f8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140abd7fd:	e8 1e 0e 00 00       	call   0x140abe620
140abd802:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140abd807:	48 83 c4 38          	add    $0x38,%rsp
140abd80b:	c3                   	ret
140abd80c:	cc                   	int3
140abd80d:	cc                   	int3
140abd80e:	cc                   	int3
140abd80f:	cc                   	int3
140abd810:	48 83 ec 38          	sub    $0x38,%rsp
140abd814:	33 c0                	xor    %eax,%eax
140abd816:	4c 8d 44 24 48       	lea    0x48(%rsp),%r8
140abd81b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abd820:	41 b9 17 00 00 00    	mov    $0x17,%r9d
140abd826:	33 d2                	xor    %edx,%edx
140abd828:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140abd82d:	e8 ee 0d 00 00       	call   0x140abe620
140abd832:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140abd837:	48 83 c4 38          	add    $0x38,%rsp
140abd83b:	c3                   	ret
140abd83c:	cc                   	int3
140abd83d:	cc                   	int3
140abd83e:	cc                   	int3
140abd83f:	cc                   	int3
140abd840:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abd846:	77 35                	ja     0x140abd87d
140abd848:	48 63 c1             	movslq %ecx,%rax
140abd84b:	4c 8d 05 ae 27 54 ff 	lea    -0xabd852(%rip),%r8        # 0x140000000
140abd852:	48 c1 f8 08          	sar    $0x8,%rax
140abd856:	41 0f b7 94 40 60 cf 	movzwl 0x108cf60(%r8,%rax,2),%edx
140abd85d:	08 01
140abd85f:	0f b6 c1             	movzbl %cl,%eax
140abd862:	03 d0                	add    %eax,%edx
140abd864:	41 0f b7 84 50 60 f1 	movzwl 0x108f160(%r8,%rdx,2),%eax
140abd86b:	08 01
140abd86d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abd871:	48 8d 05 e8 66 5e 00 	lea    0x5e66e8(%rip),%rax        # 0x1410a3f60
140abd878:	0f bf 04 c8          	movswl (%rax,%rcx,8),%eax
140abd87c:	c3                   	ret
140abd87d:	48 8d 05 dc 66 5e 00 	lea    0x5e66dc(%rip),%rax        # 0x1410a3f60
140abd884:	0f bf 00             	movswl (%rax),%eax
140abd887:	c3                   	ret
140abd888:	cc                   	int3
140abd889:	cc                   	int3
140abd88a:	cc                   	int3
140abd88b:	cc                   	int3
140abd88c:	cc                   	int3
140abd88d:	cc                   	int3
140abd88e:	cc                   	int3
140abd88f:	cc                   	int3
140abd890:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abd896:	77 47                	ja     0x140abd8df
140abd898:	48 63 c1             	movslq %ecx,%rax
140abd89b:	4c 8d 05 5e 27 54 ff 	lea    -0xabd8a2(%rip),%r8        # 0x140000000
140abd8a2:	48 c1 f8 08          	sar    $0x8,%rax
140abd8a6:	41 0f b7 94 40 60 cf 	movzwl 0x108cf60(%r8,%rax,2),%edx
140abd8ad:	08 01
140abd8af:	0f b6 c1             	movzbl %cl,%eax
140abd8b2:	03 d0                	add    %eax,%edx
140abd8b4:	41 0f b7 84 50 60 f1 	movzwl 0x108f160(%r8,%rdx,2),%eax
140abd8bb:	08 01
140abd8bd:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abd8c1:	48 8d 05 98 66 5e 00 	lea    0x5e6698(%rip),%rax        # 0x1410a3f60
140abd8c8:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abd8cc:	48 0f bf 00          	movswq (%rax),%rax
140abd8d0:	48 8d 0d e9 7f 61 00 	lea    0x617fe9(%rip),%rcx        # 0x1410d58c0
140abd8d7:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140abd8db:	48 03 c1             	add    %rcx,%rax
140abd8de:	c3                   	ret
140abd8df:	48 8d 05 7a 66 5e 00 	lea    0x5e667a(%rip),%rax        # 0x1410a3f60
140abd8e6:	48 0f bf 00          	movswq (%rax),%rax
140abd8ea:	48 8d 0d cf 7f 61 00 	lea    0x617fcf(%rip),%rcx        # 0x1410d58c0
140abd8f1:	48 8d 04 40          	lea    (%rax,%rax,2),%rax
140abd8f5:	48 03 c1             	add    %rcx,%rax
140abd8f8:	c3                   	ret
140abd8f9:	cc                   	int3
140abd8fa:	cc                   	int3
140abd8fb:	cc                   	int3
140abd8fc:	cc                   	int3
140abd8fd:	cc                   	int3
140abd8fe:	cc                   	int3
140abd8ff:	cc                   	int3
140abd900:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abd906:	77 3d                	ja     0x140abd945
140abd908:	48 63 c1             	movslq %ecx,%rax
140abd90b:	4c 8d 05 ee 26 54 ff 	lea    -0xabd912(%rip),%r8        # 0x140000000
140abd912:	48 c1 f8 08          	sar    $0x8,%rax
140abd916:	41 0f b7 94 40 60 cf 	movzwl 0x108cf60(%r8,%rax,2),%edx
140abd91d:	08 01
140abd91f:	0f b6 c1             	movzbl %cl,%eax
140abd922:	03 d0                	add    %eax,%edx
140abd924:	41 0f b7 84 50 60 f1 	movzwl 0x108f160(%r8,%rdx,2),%eax
140abd92b:	08 01
140abd92d:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abd931:	48 8d 05 3c 66 5e 00 	lea    0x5e663c(%rip),%rax        # 0x1410a3f74
140abd938:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abd93c:	8b 00                	mov    (%rax),%eax
140abd93e:	c1 e8 04             	shr    $0x4,%eax
140abd941:	83 e0 03             	and    $0x3,%eax
140abd944:	c3                   	ret
140abd945:	48 8d 05 28 66 5e 00 	lea    0x5e6628(%rip),%rax        # 0x1410a3f74
140abd94c:	8b 00                	mov    (%rax),%eax
140abd94e:	c1 e8 04             	shr    $0x4,%eax
140abd951:	83 e0 03             	and    $0x3,%eax
140abd954:	c3                   	ret
140abd955:	cc                   	int3
140abd956:	cc                   	int3
140abd957:	cc                   	int3
140abd958:	cc                   	int3
140abd959:	cc                   	int3
140abd95a:	cc                   	int3
140abd95b:	cc                   	int3
140abd95c:	cc                   	int3
140abd95d:	cc                   	int3
140abd95e:	cc                   	int3
140abd95f:	cc                   	int3
140abd960:	8d 81 00 28 ff ff    	lea    -0xd800(%rcx),%eax
140abd966:	3d ff 07 00 00       	cmp    $0x7ff,%eax
140abd96b:	76 0b                	jbe    0x140abd978
140abd96d:	81 f9 00 00 11 00    	cmp    $0x110000,%ecx
140abd973:	73 03                	jae    0x140abd978
140abd975:	b0 01                	mov    $0x1,%al
140abd977:	c3                   	ret
140abd978:	32 c0                	xor    %al,%al
140abd97a:	c3                   	ret
140abd97b:	cc                   	int3
140abd97c:	cc                   	int3
140abd97d:	cc                   	int3
140abd97e:	cc                   	int3
140abd97f:	cc                   	int3
140abd980:	48 83 ec 48          	sub    $0x48,%rsp
140abd984:	33 c0                	xor    %eax,%eax
140abd986:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140abd98b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140abd990:	8b 44 24 70          	mov    0x70(%rsp),%eax
140abd994:	89 44 24 20          	mov    %eax,0x20(%rsp)
140abd998:	e8 83 04 00 00       	call   0x140abde20
140abd99d:	48 83 c4 48          	add    $0x48,%rsp
140abd9a1:	c3                   	ret
140abd9a2:	cc                   	int3
140abd9a3:	cc                   	int3
140abd9a4:	cc                   	int3
140abd9a5:	cc                   	int3
140abd9a6:	cc                   	int3
140abd9a7:	cc                   	int3
140abd9a8:	cc                   	int3
140abd9a9:	cc                   	int3
140abd9aa:	cc                   	int3
140abd9ab:	cc                   	int3
140abd9ac:	cc                   	int3
140abd9ad:	cc                   	int3
140abd9ae:	cc                   	int3
140abd9af:	cc                   	int3
140abd9b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140abd9b5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140abd9ba:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140abd9bf:	41 56                	push   %r14
140abd9c1:	48 83 ec 30          	sub    $0x30,%rsp
140abd9c5:	4c 8b 5c 24 60       	mov    0x60(%rsp),%r11
140abd9ca:	49 8b d8             	mov    %r8,%rbx
140abd9cd:	48 8b fa             	mov    %rdx,%rdi
140abd9d0:	44 8b d1             	mov    %ecx,%r10d
140abd9d3:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abd9d9:	0f 87 16 04 00 00    	ja     0x140abddf5
140abd9df:	4c 8d 35 1a 26 54 ff 	lea    -0xabd9e6(%rip),%r14        # 0x140000000
140abd9e6:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140abd9ed:	00 00 00
140abd9f0:	49 63 c2             	movslq %r10d,%rax
140abd9f3:	49 8d 96 60 3f 0a 01 	lea    0x10a3f60(%r14),%rdx
140abd9fa:	48 c1 f8 08          	sar    $0x8,%rax
140abd9fe:	45 8d 82 00 54 ff ff 	lea    -0xac00(%r10),%r8d
140abda05:	41 8b f1             	mov    %r9d,%esi
140abda08:	41 0f b7 8c 46 60 cf 	movzwl 0x108cf60(%r14,%rax,2),%ecx
140abda0f:	08 01
140abda11:	41 0f b6 c2          	movzbl %r10b,%eax
140abda15:	03 c8                	add    %eax,%ecx
140abda17:	41 0f b7 84 4e 60 f1 	movzwl 0x108f160(%r14,%rcx,2),%eax
140abda1e:	08 01
140abda20:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abda24:	48 8d 14 ca          	lea    (%rdx,%rcx,8),%rdx
140abda28:	0f b7 0a             	movzwl (%rdx),%ecx
140abda2b:	83 e6 18             	and    $0x18,%esi
140abda2e:	74 0d                	je     0x140abda3d
140abda30:	41 81 f8 a3 2b 00 00 	cmp    $0x2ba3,%r8d
140abda37:	0f 86 5d 02 00 00    	jbe    0x140abdc9a
140abda3d:	41 f6 c1 40          	test   $0x40,%r9b
140abda41:	74 09                	je     0x140abda4c
140abda43:	66 85 c9             	test   %cx,%cx
140abda46:	0f 84 a9 03 00 00    	je     0x140abddf5
140abda4c:	41 f6 c1 20          	test   $0x20,%r9b
140abda50:	74 0a                	je     0x140abda5c
140abda52:	f6 42 14 04          	testb  $0x4,0x14(%rdx)
140abda56:	0f 85 d7 02 00 00    	jne    0x140abdd33
140abda5c:	41 0f ba e1 0e       	bt     $0xe,%r9d
140abda61:	73 09                	jae    0x140abda6c
140abda63:	66 85 c9             	test   %cx,%cx
140abda66:	0f 84 c7 02 00 00    	je     0x140abdd33
140abda6c:	41 0f ba e1 0c       	bt     $0xc,%r9d
140abda71:	0f 83 ab 02 00 00    	jae    0x140abdd22
140abda77:	66 83 f9 17          	cmp    $0x17,%cx
140abda7b:	75 10                	jne    0x140abda8d
140abda7d:	41 ba 20 00 00 00    	mov    $0x20,%r10d
140abda83:	41 0f ba f1 0c       	btr    $0xc,%r9d
140abda88:	e9 63 ff ff ff       	jmp    0x140abd9f0
140abda8d:	41 8d 82 e8 df ff ff 	lea    -0x2018(%r10),%eax
140abda94:	83 f8 01             	cmp    $0x1,%eax
140abda97:	0f 86 ed 01 00 00    	jbe    0x140abdc8a
140abda9d:	41 81 fa bc 02 00 00 	cmp    $0x2bc,%r10d
140abdaa4:	0f 84 e0 01 00 00    	je     0x140abdc8a
140abdaaa:	41 81 fa c8 02 00 00 	cmp    $0x2c8,%r10d
140abdab1:	0f 84 d3 01 00 00    	je     0x140abdc8a
140abdab7:	66 83 f9 0d          	cmp    $0xd,%cx
140abdabb:	0f 84 b9 01 00 00    	je     0x140abdc7a
140abdac1:	41 81 fa 12 22 00 00 	cmp    $0x2212,%r10d
140abdac8:	0f 84 ac 01 00 00    	je     0x140abdc7a
140abdace:	41 81 fa 44 20 00 00 	cmp    $0x2044,%r10d
140abdad5:	0f 84 8f 01 00 00    	je     0x140abdc6a
140abdadb:	41 81 fa 15 22 00 00 	cmp    $0x2215,%r10d
140abdae2:	0f 84 82 01 00 00    	je     0x140abdc6a
140abdae8:	41 81 fa 36 22 00 00 	cmp    $0x2236,%r10d
140abdaef:	75 10                	jne    0x140abdb01
140abdaf1:	41 ba 3a 00 00 00    	mov    $0x3a,%r10d
140abdaf7:	41 0f ba f1 0c       	btr    $0xc,%r9d
140abdafc:	e9 ef fe ff ff       	jmp    0x140abd9f0
140abdb01:	41 81 fa 39 20 00 00 	cmp    $0x2039,%r10d
140abdb08:	0f 84 4c 01 00 00    	je     0x140abdc5a
140abdb0e:	41 81 fa 29 23 00 00 	cmp    $0x2329,%r10d
140abdb15:	0f 84 3f 01 00 00    	je     0x140abdc5a
140abdb1b:	41 81 fa 08 30 00 00 	cmp    $0x3008,%r10d
140abdb22:	0f 84 32 01 00 00    	je     0x140abdc5a
140abdb28:	41 81 fa 3a 20 00 00 	cmp    $0x203a,%r10d
140abdb2f:	0f 84 15 01 00 00    	je     0x140abdc4a
140abdb35:	41 81 fa 2a 23 00 00 	cmp    $0x232a,%r10d
140abdb3c:	0f 84 08 01 00 00    	je     0x140abdc4a
140abdb42:	41 81 fa 09 30 00 00 	cmp    $0x3009,%r10d
140abdb49:	0f 84 fb 00 00 00    	je     0x140abdc4a
140abdb4f:	41 81 fa 16 22 00 00 	cmp    $0x2216,%r10d
140abdb56:	75 10                	jne    0x140abdb68
140abdb58:	41 ba 5c 00 00 00    	mov    $0x5c,%r10d
140abdb5e:	41 0f ba f1 0c       	btr    $0xc,%r9d
140abdb63:	e9 88 fe ff ff       	jmp    0x140abd9f0
140abdb68:	41 81 fa c4 02 00 00 	cmp    $0x2c4,%r10d
140abdb6f:	0f 84 c5 00 00 00    	je     0x140abdc3a
140abdb75:	41 81 fa c6 02 00 00 	cmp    $0x2c6,%r10d
140abdb7c:	0f 84 b8 00 00 00    	je     0x140abdc3a
140abdb82:	41 81 fa 38 20 00 00 	cmp    $0x2038,%r10d
140abdb89:	0f 84 ab 00 00 00    	je     0x140abdc3a
140abdb8f:	41 81 fa 03 23 00 00 	cmp    $0x2303,%r10d
140abdb96:	0f 84 9e 00 00 00    	je     0x140abdc3a
140abdb9c:	66 83 f9 0c          	cmp    $0xc,%cx
140abdba0:	0f 84 84 00 00 00    	je     0x140abdc2a
140abdba6:	41 81 fa cd 02 00 00 	cmp    $0x2cd,%r10d
140abdbad:	74 7b                	je     0x140abdc2a
140abdbaf:	41 81 fa cb 02 00 00 	cmp    $0x2cb,%r10d