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
140abee5a:	cc                   	int3
140abee5b:	cc                   	int3
140abee5c:	cc                   	int3
140abee5d:	cc                   	int3
140abee5e:	cc                   	int3
140abee5f:	cc                   	int3
140abee60:	40 53                	rex push %rbx
140abee62:	48 83 ec 20          	sub    $0x20,%rsp
140abee66:	48 8b d9             	mov    %rcx,%rbx
140abee69:	48 8b 09             	mov    (%rcx),%rcx
140abee6c:	48 85 c9             	test   %rcx,%rcx
140abee6f:	74 0c                	je     0x140abee7d
140abee71:	f6 43 10 04          	testb  $0x4,0x10(%rbx)
140abee75:	75 06                	jne    0x140abee7d
140abee77:	ff 15 13 48 4c 00    	call   *0x4c4813(%rip)        # 0x140f83690
140abee7d:	33 c0                	xor    %eax,%eax
140abee7f:	48 89 03             	mov    %rax,(%rbx)
140abee82:	89 43 10             	mov    %eax,0x10(%rbx)
140abee85:	48 89 43 18          	mov    %rax,0x18(%rbx)
140abee89:	48 83 c4 20          	add    $0x20,%rsp
140abee8d:	5b                   	pop    %rbx
140abee8e:	c3                   	ret
140abee8f:	cc                   	int3
140abee90:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140abee95:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140abee9a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140abee9f:	57                   	push   %rdi
140abeea0:	48 83 ec 20          	sub    $0x20,%rsp
140abeea4:	48 8b d9             	mov    %rcx,%rbx
140abeea7:	49 8b f9             	mov    %r9,%rdi
140abeeaa:	48 8b 09             	mov    (%rcx),%rcx
140abeead:	49 8b e8             	mov    %r8,%rbp
140abeeb0:	48 8b f2             	mov    %rdx,%rsi
140abeeb3:	48 85 c9             	test   %rcx,%rcx
140abeeb6:	74 06                	je     0x140abeebe
140abeeb8:	ff 15 d2 47 4c 00    	call   *0x4c47d2(%rip)        # 0x140f83690
140abeebe:	4c 8b c7             	mov    %rdi,%r8
140abeec1:	48 8b d5             	mov    %rbp,%rdx
140abeec4:	48 8b ce             	mov    %rsi,%rcx
140abeec7:	ff 15 cb 47 4c 00    	call   *0x4c47cb(%rip)        # 0x140f83698
140abeecd:	48 85 c0             	test   %rax,%rax
140abeed0:	75 05                	jne    0x140abeed7
140abeed2:	48 89 03             	mov    %rax,(%rbx)
140abeed5:	eb 15                	jmp    0x140abeeec
140abeed7:	48 89 03             	mov    %rax,(%rbx)
140abeeda:	48 8b c3             	mov    %rbx,%rax
140abeedd:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
140abeee1:	48 89 73 18          	mov    %rsi,0x18(%rbx)
140abeee5:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
140abeeec:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140abeef1:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140abeef6:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140abeefb:	48 83 c4 20          	add    $0x20,%rsp
140abeeff:	5f                   	pop    %rdi
140abef00:	c3                   	ret
140abef01:	cc                   	int3
140abef02:	cc                   	int3
140abef03:	cc                   	int3
140abef04:	cc                   	int3
140abef05:	cc                   	int3
140abef06:	cc                   	int3
140abef07:	cc                   	int3
140abef08:	cc                   	int3
140abef09:	cc                   	int3
140abef0a:	cc                   	int3
140abef0b:	cc                   	int3
140abef0c:	cc                   	int3
140abef0d:	cc                   	int3
140abef0e:	cc                   	int3
140abef0f:	cc                   	int3
140abef10:	40 53                	rex push %rbx
140abef12:	48 83 ec 20          	sub    $0x20,%rsp
140abef16:	48 8b d9             	mov    %rcx,%rbx
140abef19:	33 c9                	xor    %ecx,%ecx
140abef1b:	ff 15 7f 47 4c 00    	call   *0x4c477f(%rip)        # 0x140f836a0
140abef21:	48 89 03             	mov    %rax,(%rbx)
140abef24:	48 85 c0             	test   %rax,%rax
140abef27:	74 0d                	je     0x140abef36
140abef29:	c7 43 10 07 00 00 00 	movl   $0x7,0x10(%rbx)
140abef30:	48 83 c4 20          	add    $0x20,%rsp
140abef34:	5b                   	pop    %rbx
140abef35:	c3                   	ret
140abef36:	b9 01 00 00 00       	mov    $0x1,%ecx
140abef3b:	e8 cc 47 37 00       	call   0x140e3370c
140abef40:	cc                   	int3
140abef41:	cc                   	int3
140abef42:	cc                   	int3
140abef43:	cc                   	int3
140abef44:	cc                   	int3
140abef45:	cc                   	int3
140abef46:	cc                   	int3
140abef47:	cc                   	int3
140abef48:	cc                   	int3
140abef49:	cc                   	int3
140abef4a:	cc                   	int3
140abef4b:	cc                   	int3
140abef4c:	cc                   	int3
140abef4d:	cc                   	int3
140abef4e:	cc                   	int3
140abef4f:	cc                   	int3
140abef50:	83 61 10 fd          	andl   $0xfffffffd,0x10(%rcx)
140abef54:	83 4a 10 02          	orl    $0x2,0x10(%rdx)
140abef58:	48 8b 0a             	mov    (%rdx),%rcx
140abef5b:	48 ff 25 26 47 4c 00 	rex.W jmp *0x4c4726(%rip)        # 0x140f83688
140abef62:	cc                   	int3
140abef63:	cc                   	int3
140abef64:	cc                   	int3
140abef65:	cc                   	int3
140abef66:	cc                   	int3
140abef67:	cc                   	int3
140abef68:	cc                   	int3
140abef69:	cc                   	int3
140abef6a:	cc                   	int3
140abef6b:	cc                   	int3
140abef6c:	cc                   	int3
140abef6d:	cc                   	int3
140abef6e:	cc                   	int3
140abef6f:	cc                   	int3
140abef70:	48 ff 25 f9 48 4c 00 	rex.W jmp *0x4c48f9(%rip)        # 0x140f83870
140abef77:	cc                   	int3
140abef78:	cc                   	int3
140abef79:	cc                   	int3
140abef7a:	cc                   	int3
140abef7b:	cc                   	int3
140abef7c:	cc                   	int3
140abef7d:	cc                   	int3
140abef7e:	cc                   	int3
140abef7f:	cc                   	int3
140abef80:	48 83 ec 18          	sub    $0x18,%rsp
140abef84:	48 89 0c 24          	mov    %rcx,(%rsp)
140abef88:	48 8b c1             	mov    %rcx,%rax
140abef8b:	48 c1 e8 38          	shr    $0x38,%rax
140abef8f:	88 04 24             	mov    %al,(%rsp)
140abef92:	0f b6 44 24 06       	movzbl 0x6(%rsp),%eax
140abef97:	88 4c 24 07          	mov    %cl,0x7(%rsp)
140abef9b:	0f b6 4c 24 01       	movzbl 0x1(%rsp),%ecx
140abefa0:	88 44 24 01          	mov    %al,0x1(%rsp)
140abefa4:	0f b6 44 24 05       	movzbl 0x5(%rsp),%eax
140abefa9:	88 4c 24 06          	mov    %cl,0x6(%rsp)
140abefad:	0f b6 4c 24 02       	movzbl 0x2(%rsp),%ecx
140abefb2:	88 44 24 02          	mov    %al,0x2(%rsp)
140abefb6:	0f b6 44 24 04       	movzbl 0x4(%rsp),%eax
140abefbb:	88 4c 24 05          	mov    %cl,0x5(%rsp)
140abefbf:	0f b6 4c 24 03       	movzbl 0x3(%rsp),%ecx
140abefc4:	88 44 24 03          	mov    %al,0x3(%rsp)
140abefc8:	88 4c 24 04          	mov    %cl,0x4(%rsp)
140abefcc:	48 8b 04 24          	mov    (%rsp),%rax
140abefd0:	48 83 c4 18          	add    $0x18,%rsp
140abefd4:	c3                   	ret
140abefd5:	cc                   	int3
140abefd6:	cc                   	int3
140abefd7:	cc                   	int3
140abefd8:	cc                   	int3
140abefd9:	cc                   	int3
140abefda:	cc                   	int3
140abefdb:	cc                   	int3
140abefdc:	cc                   	int3
140abefdd:	cc                   	int3
140abefde:	cc                   	int3
140abefdf:	cc                   	int3
140abefe0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140abefe5:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140abefea:	55                   	push   %rbp
140abefeb:	57                   	push   %rdi
140abefec:	41 56                	push   %r14
140abefee:	48 8d ac 24 70 ff ff 	lea    -0x90(%rsp),%rbp
140abeff5:	ff
140abeff6:	48 81 ec 90 01 00 00 	sub    $0x190,%rsp
140abeffd:	48 8b 05 fc 9e 8f 00 	mov    0x8f9efc(%rip),%rax        # 0x1413b8f00
140abf004:	48 33 c4             	xor    %rsp,%rax
140abf007:	48 89 85 80 00 00 00 	mov    %rax,0x80(%rbp)
140abf00e:	49 8b f9             	mov    %r9,%rdi
140abf011:	49 8b d8             	mov    %r8,%rbx
140abf014:	48 8b f2             	mov    %rdx,%rsi
140abf017:	4c 8b f1             	mov    %rcx,%r14