140abe9d8:	2b cb                	sub    %ebx,%ecx
140abe9da:	48 8d 1d 1f 16 54 ff 	lea    -0xabe9e1(%rip),%rbx        # 0x140000000
140abe9e1:	41 03 ca             	add    %r10d,%ecx
140abe9e4:	66 0f ba e2 0e       	bt     $0xe,%dx
140abe9e9:	48 63 c1             	movslq %ecx,%rax
140abe9ec:	44 0f b7 94 43 74 2e 	movzwl 0x10d2e74(%rbx,%rax,2),%r10d
140abe9f3:	0d 01
140abe9f5:	73 17                	jae    0x140abea0e
140abe9f7:	8d 41 03             	lea    0x3(%rcx),%eax
140abe9fa:	41 c1 e2 10          	shl    $0x10,%r10d
140abe9fe:	48 63 c8             	movslq %eax,%rcx
140abea01:	0f b7 94 4b 70 2e 0d 	movzwl 0x10d2e70(%rbx,%rcx,2),%edx
140abea08:	01
140abea09:	41 0b d2             	or     %r10d,%edx
140abea0c:	eb 03                	jmp    0x140abea11
140abea0e:	41 8b d2             	mov    %r10d,%edx
140abea11:	85 d2                	test   %edx,%edx
140abea13:	7e 46                	jle    0x140abea5b
140abea15:	41 f6 c4 02          	test   $0x2,%r12b
140abea19:	74 2a                	je     0x140abea45
140abea1b:	48 63 c2             	movslq %edx,%rax
140abea1e:	48 c1 f8 08          	sar    $0x8,%rax
140abea22:	0f b7 8c 43 60 cf 08 	movzwl 0x108cf60(%rbx,%rax,2),%ecx
140abea29:	01
140abea2a:	0f b6 c2             	movzbl %dl,%eax
140abea2d:	03 c8                	add    %eax,%ecx
140abea2f:	0f b7 84 4b 60 f1 08 	movzwl 0x108f160(%rbx,%rcx,2),%eax
140abea36:	01
140abea37:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abea3b:	f6 84 cb 74 3f 0a 01 	testb  $0x2,0x10a3f74(%rbx,%rcx,8)
140abea42:	02
140abea43:	75 16                	jne    0x140abea5b
140abea45:	4c 8b 54 24 48       	mov    0x48(%rsp),%r10
140abea4a:	33 c0                	xor    %eax,%eax
140abea4c:	41 89 11             	mov    %edx,(%r9)
140abea4f:	44 8b c0             	mov    %eax,%r8d
140abea52:	48 8d 15 a7 15 54 ff 	lea    -0xabea59(%rip),%rdx        # 0x140000000
140abea59:	eb 51                	jmp    0x140abeaac
140abea5b:	49 8b dd             	mov    %r13,%rbx
140abea5e:	48 8d 15 9b 15 54 ff 	lea    -0xabea65(%rip),%rdx        # 0x140000000
140abea65:	4c 8b 54 24 48       	mov    0x48(%rsp),%r10
140abea6a:	41 89 7d 00          	mov    %edi,0x0(%r13)
140abea6e:	41 0f b7 8c 16 62 3f 	movzwl 0x10a3f62(%r14,%rdx,1),%ecx
140abea75:	0a 01
140abea77:	66 85 c9             	test   %cx,%cx
140abea7a:	74 0f                	je     0x140abea8b
140abea7c:	66 3b ce             	cmp    %si,%cx
140abea7f:	0f b7 c1             	movzwl %cx,%eax
140abea82:	66 0f 4e c6          	cmovle %si,%ax
140abea86:	0f b7 f0             	movzwl %ax,%esi
140abea89:	eb 05                	jmp    0x140abea90
140abea8b:	be ff ff ff ff       	mov    $0xffffffff,%esi
140abea90:	49 ff c2             	inc    %r10
140abea93:	49 83 c5 04          	add    $0x4,%r13
140abea97:	66 85 c9             	test   %cx,%cx
140abea9a:	4c 89 54 24 48       	mov    %r10,0x48(%rsp)
140abea9f:	b8 00 00 00 00       	mov    $0x0,%eax
140abeaa4:	4c 0f 44 cb          	cmove  %rbx,%r9
140abeaa8:	4c 0f 44 c0          	cmove  %rax,%r8
140abeaac:	48 ff c5             	inc    %rbp
140abeaaf:	49 3b ef             	cmp    %r15,%rbp
140abeab2:	0f 8c a8 fd ff ff    	jl     0x140abe860
140abeab8:	4c 8b 34 24          	mov    (%rsp),%r14
140abeabc:	4c 8b 6c 24 08       	mov    0x8(%rsp),%r13
140abeac1:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
140abeac6:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140abeacb:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140abead0:	49 8b c2             	mov    %r10,%rax
140abead3:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
140abead8:	48 83 c4 28          	add    $0x28,%rsp
140abeadc:	41 5f                	pop    %r15
140abeade:	41 5c                	pop    %r12
140abeae0:	c3                   	ret
140abeae1:	49 8b c7             	mov    %r15,%rax
140abeae4:	48 83 c4 28          	add    $0x28,%rsp
140abeae8:	41 5f                	pop    %r15
140abeaea:	41 5c                	pop    %r12
140abeaec:	c3                   	ret
140abeaed:	cc                   	int3
140abeaee:	cc                   	int3
140abeaef:	cc                   	int3
140abeaf0:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
140abeaf5:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140abeafa:	41 56                	push   %r14
140abeafc:	48 83 ec 20          	sub    $0x20,%rsp
140abeb00:	41 8b f8             	mov    %r8d,%edi
140abeb03:	4c 8b f1             	mov    %rcx,%r14
140abeb06:	e8 15 fc ff ff       	call   0x140abe720
140abeb0b:	48 8b e8             	mov    %rax,%rbp
140abeb0e:	48 85 c0             	test   %rax,%rax
140abeb11:	0f 88 35 01 00 00    	js     0x140abec4c
140abeb17:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140abeb1c:	33 db                	xor    %ebx,%ebx
140abeb1e:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140abeb23:	8b f3                	mov    %ebx,%esi
140abeb25:	0f ba e7 0b          	bt     $0xb,%edi
140abeb29:	0f 83 e0 00 00 00    	jae    0x140abec0f
140abeb2f:	44 8b c3             	mov    %ebx,%r8d
140abeb32:	48 85 c0             	test   %rax,%rax
140abeb35:	0f 8e ff 00 00 00    	jle    0x140abec3a
140abeb3b:	49 8b d6             	mov    %r14,%rdx
140abeb3e:	66 90                	xchg   %ax,%ax
140abeb40:	43 8b 04 86          	mov    (%r14,%r8,4),%eax
140abeb44:	85 c0                	test   %eax,%eax
140abeb46:	79 16                	jns    0x140abeb5e
140abeb48:	83 f8 ff             	cmp    $0xffffffff,%eax
140abeb4b:	0f 85 a7 00 00 00    	jne    0x140abebf8
140abeb51:	c6 02 ff             	movb   $0xff,(%rdx)
140abeb54:	b8 01 00 00 00       	mov    $0x1,%eax
140abeb59:	e9 9d 00 00 00       	jmp    0x140abebfb
140abeb5e:	3d 80 00 00 00       	cmp    $0x80,%eax
140abeb63:	7d 0c                	jge    0x140abeb71
140abeb65:	88 02                	mov    %al,(%rdx)
140abeb67:	b8 01 00 00 00       	mov    $0x1,%eax
140abeb6c:	e9 8a 00 00 00       	jmp    0x140abebfb
140abeb71:	3d 00 08 00 00       	cmp    $0x800,%eax
140abeb76:	7d 18                	jge    0x140abeb90
140abeb78:	8b c8                	mov    %eax,%ecx
140abeb7a:	24 3f                	and    $0x3f,%al
140abeb7c:	c1 f9 06             	sar    $0x6,%ecx
140abeb7f:	80 e9 40             	sub    $0x40,%cl
140abeb82:	04 80                	add    $0x80,%al
140abeb84:	88 0a                	mov    %cl,(%rdx)
140abeb86:	88 42 01             	mov    %al,0x1(%rdx)
140abeb89:	b8 02 00 00 00       	mov    $0x2,%eax
140abeb8e:	eb 6b                	jmp    0x140abebfb
140abeb90:	3d 00 00 01 00       	cmp    $0x10000,%eax
140abeb95:	7d 26                	jge    0x140abebbd
140abeb97:	8b c8                	mov    %eax,%ecx
140abeb99:	c1 f9 0c             	sar    $0xc,%ecx
140abeb9c:	80 e9 20             	sub    $0x20,%cl
140abeb9f:	88 0a                	mov    %cl,(%rdx)
140abeba1:	8b c8                	mov    %eax,%ecx
140abeba3:	c1 f9 06             	sar    $0x6,%ecx
140abeba6:	24 3f                	and    $0x3f,%al
140abeba8:	80 e1 3f             	and    $0x3f,%cl
140abebab:	80 c1 80             	add    $0x80,%cl
140abebae:	04 80                	add    $0x80,%al
140abebb0:	88 4a 01             	mov    %cl,0x1(%rdx)
140abebb3:	88 42 02             	mov    %al,0x2(%rdx)
140abebb6:	b8 03 00 00 00       	mov    $0x3,%eax
140abebbb:	eb 3e                	jmp    0x140abebfb
140abebbd:	3d 00 00 11 00       	cmp    $0x110000,%eax
140abebc2:	7d 34                	jge    0x140abebf8
140abebc4:	8b c8                	mov    %eax,%ecx
140abebc6:	c1 f9 12             	sar    $0x12,%ecx
140abebc9:	80 e9 10             	sub    $0x10,%cl
140abebcc:	88 0a                	mov    %cl,(%rdx)
140abebce:	8b c8                	mov    %eax,%ecx
140abebd0:	c1 f9 0c             	sar    $0xc,%ecx
140abebd3:	80 e1 3f             	and    $0x3f,%cl
140abebd6:	80 c1 80             	add    $0x80,%cl
140abebd9:	88 4a 01             	mov    %cl,0x1(%rdx)
140abebdc:	8b c8                	mov    %eax,%ecx
140abebde:	c1 f9 06             	sar    $0x6,%ecx
140abebe1:	24 3f                	and    $0x3f,%al
140abebe3:	80 e1 3f             	and    $0x3f,%cl
140abebe6:	80 c1 80             	add    $0x80,%cl
140abebe9:	04 80                	add    $0x80,%al
140abebeb:	88 4a 02             	mov    %cl,0x2(%rdx)
140abebee:	88 42 03             	mov    %al,0x3(%rdx)
140abebf1:	b8 04 00 00 00       	mov    $0x4,%eax
140abebf6:	eb 03                	jmp    0x140abebfb
140abebf8:	48 8b c3             	mov    %rbx,%rax
140abebfb:	48 03 f0             	add    %rax,%rsi
140abebfe:	49 ff c0             	inc    %r8
140abec01:	48 03 d0             	add    %rax,%rdx
140abec04:	4c 3b c5             	cmp    %rbp,%r8
140abec07:	0f 8c 33 ff ff ff    	jl     0x140abeb40
140abec0d:	eb 2b                	jmp    0x140abec3a
140abec0f:	48 85 ed             	test   %rbp,%rbp
140abec12:	7e 26                	jle    0x140abec3a
140abec14:	49 8b fe             	mov    %r14,%rdi
140abec17:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140abec1e:	00 00
140abec20:	41 8b 0c 9e          	mov    (%r14,%rbx,4),%ecx
140abec24:	48 8b d7             	mov    %rdi,%rdx
140abec27:	e8 74 f4 ff ff       	call   0x140abe0a0
140abec2c:	48 03 f0             	add    %rax,%rsi
140abec2f:	48 03 f8             	add    %rax,%rdi
140abec32:	48 ff c3             	inc    %rbx
140abec35:	48 3b dd             	cmp    %rbp,%rbx
140abec38:	7c e6                	jl     0x140abec20
140abec3a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140abec3f:	48 8b c6             	mov    %rsi,%rax
140abec42:	42 c6 04 36 00       	movb   $0x0,(%rsi,%r14,1)
140abec47:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140abec4c:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140abec51:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140abec56:	48 83 c4 20          	add    $0x20,%rsp
140abec5a:	41 5e                	pop    %r14
140abec5c:	c3                   	ret
140abec5d:	cc                   	int3
140abec5e:	cc                   	int3
140abec5f:	cc                   	int3
140abec60:	4c 63 c1             	movslq %ecx,%r8
140abec63:	4c 8d 0d 96 13 54 ff 	lea    -0xabec6a(%rip),%r9        # 0x140000000
140abec6a:	41 81 f8 ff ff 10 00 	cmp    $0x10ffff,%r8d
140abec71:	77 30                	ja     0x140abeca3
140abec73:	49 8b c0             	mov    %r8,%rax
140abec76:	48 c1 f8 08          	sar    $0x8,%rax
140abec7a:	41 0f b7 94 41 60 cf 	movzwl 0x108cf60(%r9,%rax,2),%edx
140abec81:	08 01
140abec83:	41 0f b6 c0          	movzbl %r8b,%eax
140abec87:	03 d0                	add    %eax,%edx
140abec89:	41 0f b7 84 51 60 f1 	movzwl 0x108f160(%r9,%rdx,2),%eax
140abec90:	08 01
140abec92:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abec96:	48 8d 05 d1 52 5e 00 	lea    0x5e52d1(%rip),%rax        # 0x1410a3f6e
140abec9d:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abeca1:	eb 07                	jmp    0x140abecaa
140abeca3:	48 8d 05 c4 52 5e 00 	lea    0x5e52c4(%rip),%rax        # 0x1410a3f6e
140abecaa:	0f b7 08             	movzwl (%rax),%ecx
140abecad:	b8 ff ff 00 00       	mov    $0xffff,%eax
140abecb2:	66 3b c8             	cmp    %ax,%cx
140abecb5:	74 3e                	je     0x140abecf5
140abecb7:	48 8d 0c 4d a0 70 08 	lea    0x10870a0(,%rcx,2),%rcx
140abecbe:	01
140abecbf:	42 0f b7 14 09       	movzwl (%rcx,%r9,1),%edx
140abecc4:	8b c2                	mov    %edx,%eax
140abecc6:	25 00 f8 00 00       	and    $0xf800,%eax
140abeccb:	3d 00 d8 00 00       	cmp    $0xd800,%eax
140abecd0:	75 20                	jne    0x140abecf2
140abecd2:	42 0f b7 44 09 02    	movzwl 0x2(%rcx,%r9,1),%eax
140abecd8:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
140abecde:	8b ca                	mov    %edx,%ecx
140abece0:	25 ff 03 00 00       	and    $0x3ff,%eax
140abece5:	c1 e1 0a             	shl    $0xa,%ecx
140abece8:	8b d0                	mov    %eax,%edx
140abecea:	0b d1                	or     %ecx,%edx
140abecec:	81 c2 00 00 01 00    	add    $0x10000,%edx
140abecf2:	8b c2                	mov    %edx,%eax
140abecf4:	c3                   	ret
140abecf5:	41 8b c0             	mov    %r8d,%eax
140abecf8:	c3                   	ret
140abecf9:	cc                   	int3
140abecfa:	cc                   	int3
140abecfb:	cc                   	int3
140abecfc:	cc                   	int3
140abecfd:	cc                   	int3
140abecfe:	cc                   	int3
140abecff:	cc                   	int3
140abed00:	4c 63 c1             	movslq %ecx,%r8
140abed03:	4c 8d 0d f6 12 54 ff 	lea    -0xabed0a(%rip),%r9        # 0x140000000
140abed0a:	41 81 f8 ff ff 10 00 	cmp    $0x10ffff,%r8d
140abed11:	77 30                	ja     0x140abed43
140abed13:	49 8b c0             	mov    %r8,%rax
140abed16:	48 c1 f8 08          	sar    $0x8,%rax
140abed1a:	41 0f b7 94 41 60 cf 	movzwl 0x108cf60(%r9,%rax,2),%edx
140abed21:	08 01
140abed23:	41 0f b6 c0          	movzbl %r8b,%eax
140abed27:	03 d0                	add    %eax,%edx
140abed29:	41 0f b7 84 51 60 f1 	movzwl 0x108f160(%r9,%rdx,2),%eax
140abed30:	08 01
140abed32:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abed36:	48 8d 05 33 52 5e 00 	lea    0x5e5233(%rip),%rax        # 0x1410a3f70
140abed3d:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abed41:	eb 07                	jmp    0x140abed4a
140abed43:	48 8d 05 26 52 5e 00 	lea    0x5e5226(%rip),%rax        # 0x1410a3f70
140abed4a:	0f b7 08             	movzwl (%rax),%ecx
140abed4d:	b8 ff ff 00 00       	mov    $0xffff,%eax
140abed52:	66 3b c8             	cmp    %ax,%cx
140abed55:	74 3e                	je     0x140abed95
140abed57:	48 8d 0c 4d a0 70 08 	lea    0x10870a0(,%rcx,2),%rcx
140abed5e:	01
140abed5f:	42 0f b7 14 09       	movzwl (%rcx,%r9,1),%edx
140abed64:	8b c2                	mov    %edx,%eax
140abed66:	25 00 f8 00 00       	and    $0xf800,%eax
140abed6b:	3d 00 d8 00 00       	cmp    $0xd800,%eax
140abed70:	75 20                	jne    0x140abed92
140abed72:	42 0f b7 44 09 02    	movzwl 0x2(%rcx,%r9,1),%eax
140abed78:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
140abed7e:	8b ca                	mov    %edx,%ecx
140abed80:	25 ff 03 00 00       	and    $0x3ff,%eax
140abed85:	c1 e1 0a             	shl    $0xa,%ecx
140abed88:	8b d0                	mov    %eax,%edx
140abed8a:	0b d1                	or     %ecx,%edx
140abed8c:	81 c2 00 00 01 00    	add    $0x10000,%edx
140abed92:	8b c2                	mov    %edx,%eax
140abed94:	c3                   	ret
140abed95:	41 8b c0             	mov    %r8d,%eax
140abed98:	c3                   	ret
140abed99:	cc                   	int3
140abed9a:	cc                   	int3
140abed9b:	cc                   	int3
140abed9c:	cc                   	int3
140abed9d:	cc                   	int3
140abed9e:	cc                   	int3
140abed9f:	cc                   	int3
140abeda0:	4c 63 c1             	movslq %ecx,%r8
140abeda3:	4c 8d 0d 56 12 54 ff 	lea    -0xabedaa(%rip),%r9        # 0x140000000
140abedaa:	41 81 f8 ff ff 10 00 	cmp    $0x10ffff,%r8d
140abedb1:	77 30                	ja     0x140abede3
140abedb3:	49 8b c0             	mov    %r8,%rax
140abedb6:	48 c1 f8 08          	sar    $0x8,%rax
140abedba:	41 0f b7 94 41 60 cf 	movzwl 0x108cf60(%r9,%rax,2),%edx
140abedc1:	08 01
140abedc3:	41 0f b6 c0          	movzbl %r8b,%eax
140abedc7:	03 d0                	add    %eax,%edx
140abedc9:	41 0f b7 84 51 60 f1 	movzwl 0x108f160(%r9,%rdx,2),%eax
140abedd0:	08 01
140abedd2:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abedd6:	48 8d 05 8f 51 5e 00 	lea    0x5e518f(%rip),%rax        # 0x1410a3f6c
140abeddd:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abede1:	eb 07                	jmp    0x140abedea
140abede3:	48 8d 05 82 51 5e 00 	lea    0x5e5182(%rip),%rax        # 0x1410a3f6c
140abedea:	0f b7 08             	movzwl (%rax),%ecx
140abeded:	b8 ff ff 00 00       	mov    $0xffff,%eax
140abedf2:	66 3b c8             	cmp    %ax,%cx
140abedf5:	74 3e                	je     0x140abee35
140abedf7:	48 8d 0c 4d a0 70 08 	lea    0x10870a0(,%rcx,2),%rcx
140abedfe:	01
140abedff:	42 0f b7 14 09       	movzwl (%rcx,%r9,1),%edx
140abee04:	8b c2                	mov    %edx,%eax
140abee06:	25 00 f8 00 00       	and    $0xf800,%eax
140abee0b:	3d 00 d8 00 00       	cmp    $0xd800,%eax
140abee10:	75 20                	jne    0x140abee32
140abee12:	42 0f b7 44 09 02    	movzwl 0x2(%rcx,%r9,1),%eax
140abee18:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
140abee1e:	8b ca                	mov    %edx,%ecx
140abee20:	25 ff 03 00 00       	and    $0x3ff,%eax
140abee25:	c1 e1 0a             	shl    $0xa,%ecx
140abee28:	8b d0                	mov    %eax,%edx
140abee2a:	0b d1                	or     %ecx,%edx
140abee2c:	81 c2 00 00 01 00    	add    $0x10000,%edx
140abee32:	8b c2                	mov    %edx,%eax
140abee34:	c3                   	ret
140abee35:	41 8b c0             	mov    %r8d,%eax
140abee38:	c3                   	ret
140abee39:	cc                   	int3
140abee3a:	cc                   	int3
140abee3b:	cc                   	int3
140abee3c:	cc                   	int3
140abee3d:	cc                   	int3
140abee3e:	cc                   	int3
140abee3f:	cc                   	int3
140abee40:	48 8d 05 dd 6a 61 00 	lea    0x616add(%rip),%rax        # 0x1410d5924
140abee47:	c3                   	ret
140abee48:	cc                   	int3
140abee49:	cc                   	int3
140abee4a:	cc                   	int3
140abee4b:	cc                   	int3
140abee4c:	cc                   	int3
140abee4d:	cc                   	int3
140abee4e:	cc                   	int3
140abee4f:	cc                   	int3
140abee50:	48 8d 05 c5 6a 61 00 	lea    0x616ac5(%rip),%rax        # 0x1410d591c
140abee57:	c3                   	ret
140abee58:	cc                   	int3
140abee59:	cc                   	int3