180119afd:	76 14                	jbe    0x180119b13
180119aff:	8b c1                	mov    %ecx,%eax
180119b01:	25 00 f8 00 00       	and    $0xf800,%eax
180119b06:	3d 00 d8 00 00       	cmp    $0xd800,%eax
180119b0b:	0f 84 ef 00 00 00    	je     0x180119c00
180119b11:	ff c2                	inc    %edx
180119b13:	ff c2                	inc    %edx
180119b15:	41 f6 c1 02          	test   $0x2,%r9b
180119b19:	74 27                	je     0x180119b42
180119b1b:	41 0f b7 09          	movzwl (%r9),%ecx
180119b1f:	49 83 c1 02          	add    $0x2,%r9
180119b23:	83 f9 7f             	cmp    $0x7f,%ecx
180119b26:	76 1a                	jbe    0x180119b42
180119b28:	3b cd                	cmp    %ebp,%ecx
180119b2a:	76 14                	jbe    0x180119b40
180119b2c:	8b c1                	mov    %ecx,%eax
180119b2e:	25 00 f8 00 00       	and    $0xf800,%eax
180119b33:	3d 00 d8 00 00       	cmp    $0xd800,%eax
180119b38:	0f 84 c2 00 00 00    	je     0x180119c00
180119b3e:	ff c2                	inc    %edx
180119b40:	ff c2                	inc    %edx
180119b42:	41 ba 80 ff 80 ff    	mov    $0xff80ff80,%r10d
180119b48:	4d 3b c8             	cmp    %r8,%r9
180119b4b:	0f 83 e8 fe ff ff    	jae    0x180119a39
180119b51:	41 8b 41 04          	mov    0x4(%r9),%eax
180119b55:	41 8b 09             	mov    (%r9),%ecx
180119b58:	0b c1                	or     %ecx,%eax
180119b5a:	41 85 c2             	test   %eax,%r10d
180119b5d:	74 3d                	je     0x180119b9c
180119b5f:	a9 00 f8 00 f8       	test   $0xf800f800,%eax
180119b64:	0f 85 86 00 00 00    	jne    0x180119bf0
180119b6a:	f7 c1 00 00 80 ff    	test   $0xff800000,%ecx
180119b70:	8d 42 01             	lea    0x1(%rdx),%eax
180119b73:	0f 44 c2             	cmove  %edx,%eax
180119b76:	f7 c1 80 ff 00 00    	test   $0xff80,%ecx
180119b7c:	8d 48 01             	lea    0x1(%rax),%ecx
180119b7f:	0f 44 c8             	cmove  %eax,%ecx
180119b82:	41 f7 41 04 00 00 80 	testl  $0xff800000,0x4(%r9)
180119b89:	ff
180119b8a:	8d 51 01             	lea    0x1(%rcx),%edx
180119b8d:	0f 44 d1             	cmove  %ecx,%edx
180119b90:	41 f7 41 04 80 ff 00 	testl  $0xff80,0x4(%r9)
180119b97:	00
180119b98:	74 02                	je     0x180119b9c
180119b9a:	ff c2                	inc    %edx
180119b9c:	41 8b 41 0c          	mov    0xc(%r9),%eax
180119ba0:	49 83 c1 08          	add    $0x8,%r9
180119ba4:	41 8b 09             	mov    (%r9),%ecx
180119ba7:	0b c1                	or     %ecx,%eax
180119ba9:	41 85 c2             	test   %eax,%r10d
180119bac:	74 39                	je     0x180119be7
180119bae:	a9 00 f8 00 f8       	test   $0xf800f800,%eax
180119bb3:	75 3b                	jne    0x180119bf0
180119bb5:	f7 c1 00 00 80 ff    	test   $0xff800000,%ecx
180119bbb:	8d 42 01             	lea    0x1(%rdx),%eax
180119bbe:	0f 44 c2             	cmove  %edx,%eax
180119bc1:	f7 c1 80 ff 00 00    	test   $0xff80,%ecx
180119bc7:	8d 48 01             	lea    0x1(%rax),%ecx
180119bca:	0f 44 c8             	cmove  %eax,%ecx
180119bcd:	41 f7 41 04 00 00 80 	testl  $0xff800000,0x4(%r9)
180119bd4:	ff
180119bd5:	8d 51 01             	lea    0x1(%rcx),%edx
180119bd8:	0f 44 d1             	cmove  %ecx,%edx
180119bdb:	41 f7 41 04 80 ff 00 	testl  $0xff80,0x4(%r9)
180119be2:	00
180119be3:	74 02                	je     0x180119be7
180119be5:	ff c2                	inc    %edx
180119be7:	49 83 c1 08          	add    $0x8,%r9
180119beb:	e9 58 ff ff ff       	jmp    0x180119b48
180119bf0:	0f b7 c9             	movzwl %cx,%ecx
180119bf3:	49 83 c1 02          	add    $0x2,%r9
180119bf7:	83 f9 7f             	cmp    $0x7f,%ecx
180119bfa:	0f 86 e5 fe ff ff    	jbe    0x180119ae5
180119c00:	3b cd                	cmp    %ebp,%ecx
180119c02:	76 26                	jbe    0x180119c2a
180119c04:	8d 81 00 28 ff ff    	lea    -0xd800(%rcx),%eax
180119c0a:	3b c5                	cmp    %ebp,%eax
180119c0c:	77 1a                	ja     0x180119c28
180119c0e:	81 f9 ff db 00 00    	cmp    $0xdbff,%ecx
180119c14:	77 1b                	ja     0x180119c31
180119c16:	41 0f b7 01          	movzwl (%r9),%eax
180119c1a:	2d 00 dc 00 00       	sub    $0xdc00,%eax
180119c1f:	41 3b c6             	cmp    %r14d,%eax
180119c22:	77 0d                	ja     0x180119c31
180119c24:	49 83 c1 02          	add    $0x2,%r9
180119c28:	ff c2                	inc    %edx
180119c2a:	ff c2                	inc    %edx
180119c2c:	e9 b4 fe ff ff       	jmp    0x180119ae5
180119c31:	49 83 e9 02          	sub    $0x2,%r9
180119c35:	e9 ff fd ff ff       	jmp    0x180119a39
180119c3a:	ff ca                	dec    %edx
180119c3c:	e9 01 fe ff ff       	jmp    0x180119a42
180119c41:	48 8b 6c 24 10       	mov    0x10(%rsp),%rbp
180119c46:	8b c3                	mov    %ebx,%eax
180119c48:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
180119c4d:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
180119c52:	89 17                	mov    %edx,(%rdi)
180119c54:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
180119c59:	c3                   	ret
180119c5a:	cc                   	int3
180119c5b:	cc                   	int3
180119c5c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180119c61:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180119c66:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180119c6b:	57                   	push   %rdi
180119c6c:	41 55                	push   %r13
180119c6e:	41 56                	push   %r14
180119c70:	48 83 ec 20          	sub    $0x20,%rsp
180119c74:	33 db                	xor    %ebx,%ebx
180119c76:	45 33 d2             	xor    %r10d,%r10d
180119c79:	4d 8b d8             	mov    %r8,%r11
180119c7c:	48 8b f9             	mov    %rcx,%rdi
180119c7f:	48 85 c9             	test   %rcx,%rcx
180119c82:	75 20                	jne    0x180119ca4
180119c84:	4d 85 c0             	test   %r8,%r8
180119c87:	75 0a                	jne    0x180119c93
180119c89:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180119c8e:	e9 c7 02 00 00       	jmp    0x180119f5a
180119c93:	8b 54 24 60          	mov    0x60(%rsp),%edx
180119c97:	49 8b c9             	mov    %r9,%rcx
180119c9a:	e8 69 fd ff ff       	call   0x180119a08
180119c9f:	e9 b6 02 00 00       	jmp    0x180119f5a
180119ca4:	41 be 01 00 00 00    	mov    $0x1,%r14d
180119caa:	44 84 74 24 60       	test   %r14b,0x60(%rsp)
180119caf:	74 0a                	je     0x180119cbb
180119cb1:	b8 f3 00 00 c0       	mov    $0xc00000f3,%eax
180119cb6:	e9 9f 02 00 00       	jmp    0x180119f5a
180119cbb:	8b 44 24 60          	mov    0x60(%rsp),%eax
180119cbf:	41 bd ff 07 00 00    	mov    $0x7ff,%r13d
180119cc5:	48 d1 e8             	shr    $1,%rax
180119cc8:	8b ea                	mov    %edx,%ebp
180119cca:	48 03 ef             	add    %rdi,%rbp
180119ccd:	49 8d 34 41          	lea    (%r9,%rax,2),%rsi
180119cd1:	4c 3b ce             	cmp    %rsi,%r9
180119cd4:	72 0b                	jb     0x180119ce1
180119cd6:	45 85 d2             	test   %r10d,%r10d
180119cd9:	0f 84 74 02 00 00    	je     0x180119f53
180119cdf:	eb 3f                	jmp    0x180119d20
180119ce1:	41 0f b7 11          	movzwl (%r9),%edx
180119ce5:	45 85 d2             	test   %r10d,%r10d
180119ce8:	74 21                	je     0x180119d0b
180119cea:	8d 82 00 24 ff ff    	lea    -0xdc00(%rdx),%eax
180119cf0:	3d ff 03 00 00       	cmp    $0x3ff,%eax
180119cf5:	77 29                	ja     0x180119d20
180119cf7:	41 c1 e2 0a          	shl    $0xa,%r10d
180119cfb:	41 81 c2 00 24 a0 fc 	add    $0xfca02400,%r10d
180119d02:	44 03 d2             	add    %edx,%r10d
180119d05:	49 83 c1 02          	add    $0x2,%r9
180119d09:	eb 15                	jmp    0x180119d20
180119d0b:	44 8b d2             	mov    %edx,%r10d
180119d0e:	49 83 c1 02          	add    $0x2,%r9
180119d12:	41 8d 82 00 28 ff ff 	lea    -0xd800(%r10),%eax
180119d19:	3d ff 03 00 00       	cmp    $0x3ff,%eax
180119d1e:	76 b1                	jbe    0x180119cd1
180119d20:	41 8d 82 00 28 ff ff 	lea    -0xd800(%r10),%eax
180119d27:	41 3b c5             	cmp    %r13d,%eax
180119d2a:	77 0b                	ja     0x180119d37
180119d2c:	bb 07 01 00 00       	mov    $0x107,%ebx
180119d31:	41 ba fd ff 00 00    	mov    $0xfffd,%r10d
180119d37:	49 8b d6             	mov    %r14,%rdx
180119d3a:	41 83 fa 7f          	cmp    $0x7f,%r10d
180119d3e:	76 1c                	jbe    0x180119d5c
180119d40:	49 8b c6             	mov    %r14,%rax
180119d43:	45 3b d5             	cmp    %r13d,%r10d
180119d46:	76 10                	jbe    0x180119d58
180119d48:	33 c0                	xor    %eax,%eax
180119d4a:	41 81 fa ff ff 00 00 	cmp    $0xffff,%r10d
180119d51:	0f 97 c0             	seta   %al
180119d54:	48 83 c0 02          	add    $0x2,%rax
180119d58:	48 8d 50 01          	lea    0x1(%rax),%rdx
180119d5c:	48 8b c5             	mov    %rbp,%rax
180119d5f:	48 2b c2             	sub    %rdx,%rax
180119d62:	48 3b c8             	cmp    %rax,%rcx
180119d65:	0f 87 e3 01 00 00    	ja     0x180119f4e
180119d6b:	41 83 fa 7f          	cmp    $0x7f,%r10d
180119d6f:	76 52                	jbe    0x180119dc3
180119d71:	45 3b d5             	cmp    %r13d,%r10d
180119d74:	77 0a                	ja     0x180119d80
180119d76:	41 8b c2             	mov    %r10d,%eax
180119d79:	c1 e8 06             	shr    $0x6,%eax
180119d7c:	0c c0                	or     $0xc0,%al
180119d7e:	eb 36                	jmp    0x180119db6
180119d80:	41 8b d2             	mov    %r10d,%edx
180119d83:	c1 ea 0c             	shr    $0xc,%edx
180119d86:	41 81 fa ff ff 00 00 	cmp    $0xffff,%r10d
180119d8d:	77 05                	ja     0x180119d94
180119d8f:	80 ca e0             	or     $0xe0,%dl
180119d92:	eb 13                	jmp    0x180119da7
180119d94:	41 8b c2             	mov    %r10d,%eax
180119d97:	80 e2 3f             	and    $0x3f,%dl
180119d9a:	c1 e8 12             	shr    $0x12,%eax
180119d9d:	0c f0                	or     $0xf0,%al
180119d9f:	88 01                	mov    %al,(%rcx)
180119da1:	49 03 ce             	add    %r14,%rcx
180119da4:	80 ca 80             	or     $0x80,%dl
180119da7:	41 8b c2             	mov    %r10d,%eax
180119daa:	88 11                	mov    %dl,(%rcx)
180119dac:	c1 e8 06             	shr    $0x6,%eax
180119daf:	49 03 ce             	add    %r14,%rcx
180119db2:	24 3f                	and    $0x3f,%al
180119db4:	0c 80                	or     $0x80,%al
180119db6:	88 01                	mov    %al,(%rcx)
180119db8:	41 80 e2 3f          	and    $0x3f,%r10b
180119dbc:	49 03 ce             	add    %r14,%rcx
180119dbf:	41 80 ca 80          	or     $0x80,%r10b
180119dc3:	48 8b c6             	mov    %rsi,%rax
180119dc6:	44 88 11             	mov    %r10b,(%rcx)
180119dc9:	49 2b c1             	sub    %r9,%rax
180119dcc:	49 03 ce             	add    %r14,%rcx
180119dcf:	48 8b d5             	mov    %rbp,%rdx
180119dd2:	48 d1 f8             	sar    $1,%rax
180119dd5:	48 2b d1             	sub    %rcx,%rdx
180119dd8:	48 83 f8 0d          	cmp    $0xd,%rax
180119ddc:	77 2c                	ja     0x180119e0a
180119dde:	48 3b d0             	cmp    %rax,%rdx
180119de1:	0f 82 53 01 00 00    	jb     0x180119f3a
180119de7:	4c 3b ce             	cmp    %rsi,%r9
180119dea:	0f 83 63 01 00 00    	jae    0x180119f53
180119df0:	45 0f b7 11          	movzwl (%r9),%r10d
180119df4:	49 83 c1 02          	add    $0x2,%r9
180119df8:	41 83 fa 7f          	cmp    $0x7f,%r10d
180119dfc:	0f 87 10 ff ff ff    	ja     0x180119d12
180119e02:	44 88 11             	mov    %r10b,(%rcx)
180119e05:	49 03 ce             	add    %r14,%rcx
180119e08:	eb dd                	jmp    0x180119de7
180119e0a:	48 3b d0             	cmp    %rax,%rdx
180119e0d:	48 0f 42 c2          	cmovb  %rdx,%rax
180119e11:	4c 8d 50 fb          	lea    -0x5(%rax),%r10
180119e15:	4f 8d 14 51          	lea    (%r9,%r10,2),%r10
180119e19:	e9 13 01 00 00       	jmp    0x180119f31
180119e1e:	41 0f b7 11          	movzwl (%r9),%edx
180119e22:	49 83 c1 02          	add    $0x2,%r9
180119e26:	83 fa 7f             	cmp    $0x7f,%edx
180119e29:	77 75                	ja     0x180119ea0
180119e2b:	88 11                	mov    %dl,(%rcx)
180119e2d:	48 ff c1             	inc    %rcx
180119e30:	41 f6 c1 02          	test   $0x2,%r9b
180119e34:	74 12                	je     0x180119e48
180119e36:	41 0f b7 11          	movzwl (%r9),%edx
180119e3a:	49 83 c1 02          	add    $0x2,%r9
180119e3e:	83 fa 7f             	cmp    $0x7f,%edx
180119e41:	77 5d                	ja     0x180119ea0
180119e43:	88 11                	mov    %dl,(%rcx)
180119e45:	48 ff c1             	inc    %rcx
180119e48:	4d 3b ca             	cmp    %r10,%r9
180119e4b:	0f 83 e9 00 00 00    	jae    0x180119f3a
180119e51:	45 8b 41 04          	mov    0x4(%r9),%r8d
180119e55:	41 8b c0             	mov    %r8d,%eax
180119e58:	41 8b 11             	mov    (%r9),%edx
180119e5b:	0b c2                	or     %edx,%eax
180119e5d:	a9 80 ff 80 ff       	test   $0xff80ff80,%eax
180119e62:	75 26                	jne    0x180119e8a
180119e64:	88 11                	mov    %dl,(%rcx)
180119e66:	49 83 c1 08          	add    $0x8,%r9
180119e6a:	44 88 41 02          	mov    %r8b,0x2(%rcx)
180119e6e:	c1 ea 10             	shr    $0x10,%edx
180119e71:	41 c1 e8 10          	shr    $0x10,%r8d
180119e75:	88 51 01             	mov    %dl,0x1(%rcx)
180119e78:	44 88 41 03          	mov    %r8b,0x3(%rcx)
180119e7c:	48 83 c1 04          	add    $0x4,%rcx
180119e80:	4d 3b ca             	cmp    %r10,%r9
180119e83:	72 cc                	jb     0x180119e51
180119e85:	e9 a7 00 00 00       	jmp    0x180119f31
180119e8a:	0f b7 d2             	movzwl %dx,%edx
180119e8d:	49 83 c1 02          	add    $0x2,%r9
180119e91:	83 fa 7f             	cmp    $0x7f,%edx
180119e94:	77 0a                	ja     0x180119ea0
180119e96:	88 11                	mov    %dl,(%rcx)
180119e98:	49 03 ce             	add    %r14,%rcx
180119e9b:	e9 91 00 00 00       	jmp    0x180119f31
180119ea0:	41 3b d5             	cmp    %r13d,%edx
180119ea3:	77 09                	ja     0x180119eae
180119ea5:	8b c2                	mov    %edx,%eax
180119ea7:	0d 00 30 00 00       	or     $0x3000,%eax
180119eac:	eb 6c                	jmp    0x180119f1a
180119eae:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
180119eb4:	41 3b c5             	cmp    %r13d,%eax
180119eb7:	76 09                	jbe    0x180119ec2
180119eb9:	8b c2                	mov    %edx,%eax
180119ebb:	0d 00 00 0e 00       	or     $0xe0000,%eax
180119ec0:	eb 41                	jmp    0x180119f03
180119ec2:	81 fa ff db 00 00    	cmp    $0xdbff,%edx
180119ec8:	77 7e                	ja     0x180119f48
180119eca:	45 0f b7 01          	movzwl (%r9),%r8d
180119ece:	49 83 c1 02          	add    $0x2,%r9
180119ed2:	41 8d 80 00 24 ff ff 	lea    -0xdc00(%r8),%eax
180119ed9:	3d ff 03 00 00       	cmp    $0x3ff,%eax
180119ede:	77 62                	ja     0x180119f42
180119ee0:	c1 e2 0a             	shl    $0xa,%edx
180119ee3:	81 c2 00 24 a0 fc    	add    $0xfca02400,%edx
180119ee9:	41 03 d0             	add    %r8d,%edx
180119eec:	8b c2                	mov    %edx,%eax
180119eee:	c1 e8 12             	shr    $0x12,%eax
180119ef1:	0c f0                	or     $0xf0,%al
180119ef3:	88 01                	mov    %al,(%rcx)
180119ef5:	8b c2                	mov    %edx,%eax
180119ef7:	25 00 f0 03 00       	and    $0x3f000,%eax
180119efc:	49 03 ce             	add    %r14,%rcx
180119eff:	0f ba e8 13          	bts    $0x13,%eax
180119f03:	c1 e8 0c             	shr    $0xc,%eax
180119f06:	49 83 ea 02          	sub    $0x2,%r10
180119f0a:	88 01                	mov    %al,(%rcx)
180119f0c:	8b c2                	mov    %edx,%eax
180119f0e:	25 c0 0f 00 00       	and    $0xfc0,%eax
180119f13:	49 03 ce             	add    %r14,%rcx
180119f16:	0f ba e8 0d          	bts    $0xd,%eax
180119f1a:	c1 e8 06             	shr    $0x6,%eax
180119f1d:	80 e2 3f             	and    $0x3f,%dl
180119f20:	88 01                	mov    %al,(%rcx)
180119f22:	80 ca 80             	or     $0x80,%dl
180119f25:	49 03 ce             	add    %r14,%rcx
180119f28:	49 83 ea 02          	sub    $0x2,%r10
180119f2c:	88 11                	mov    %dl,(%rcx)
180119f2e:	48 ff c1             	inc    %rcx
180119f31:	4d 3b ca             	cmp    %r10,%r9
180119f34:	0f 82 e4 fe ff ff    	jb     0x180119e1e
180119f3a:	45 33 d2             	xor    %r10d,%r10d
180119f3d:	e9 8f fd ff ff       	jmp    0x180119cd1
180119f42:	49 83 e9 04          	sub    $0x4,%r9
180119f46:	eb f2                	jmp    0x180119f3a
180119f48:	49 83 e9 02          	sub    $0x2,%r9
180119f4c:	eb ec                	jmp    0x180119f3a
180119f4e:	bb 23 00 00 c0       	mov    $0xc0000023,%ebx
180119f53:	2b cf                	sub    %edi,%ecx
180119f55:	8b c3                	mov    %ebx,%eax
180119f57:	41 89 0b             	mov    %ecx,(%r11)
180119f5a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180119f5f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
180119f64:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180119f69:	48 83 c4 20          	add    $0x20,%rsp
180119f6d:	41 5e                	pop    %r14
180119f6f:	41 5d                	pop    %r13
180119f71:	5f                   	pop    %rdi
180119f72:	c3                   	ret
180119f73:	cc                   	int3
180119f74:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180119f79:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180119f7e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
180119f83:	8b da                	mov    %edx,%ebx
180119f85:	45 33 c9             	xor    %r9d,%r9d
180119f88:	48 03 d9             	add    %rcx,%rbx
180119f8b:	45 33 db             	xor    %r11d,%r11d
180119f8e:	83 cd ff             	or     $0xffffffff,%ebp
180119f91:	49 8b f8             	mov    %r8,%rdi
180119f94:	48 3b cb             	cmp    %rbx,%rcx
180119f97:	0f 83 25 02 00 00    	jae    0x18011a1c2
180119f9d:	44 0f be 01          	movsbl (%rcx),%r8d
180119fa1:	48 ff c1             	inc    %rcx
180119fa4:	45 85 c9             	test   %r9d,%r9d
180119fa7:	75 08                	jne    0x180119fb1