1400e97ce:	41 ba 00 24 00 00    	mov    $0x2400,%r10d
1400e97d4:	49 3b ff             	cmp    %r15,%rdi
1400e97d7:	0f 84 27 01 00 00    	je     0x1400e9904
1400e97dd:	41 0f b7 14 24       	movzwl (%r12),%edx
1400e97e2:	40 32 f6             	xor    %sil,%sil
1400e97e5:	0f b7 08             	movzwl (%rax),%ecx
1400e97e8:	66 44 3b ca          	cmp    %dx,%r9w
1400e97ec:	73 1d                	jae    0x1400e980b
1400e97ee:	41 8d 04 0a          	lea    (%r10,%rcx,1),%eax
1400e97f2:	66 41 3b c0          	cmp    %r8w,%ax
1400e97f6:	0f 87 2f 01 00 00    	ja     0x1400e992b
1400e97fc:	8b c2                	mov    %edx,%eax
1400e97fe:	81 e9 00 dc 00 00    	sub    $0xdc00,%ecx
1400e9804:	c1 e0 0a             	shl    $0xa,%eax
1400e9807:	0b c1                	or     %ecx,%eax
1400e9809:	eb 17                	jmp    0x1400e9822
1400e980b:	8b c1                	mov    %ecx,%eax
1400e980d:	66 41 03 cb          	add    %r11w,%cx
1400e9811:	66 41 3b c8          	cmp    %r8w,%cx
1400e9815:	77 0b                	ja     0x1400e9822
1400e9817:	c1 e0 0a             	shl    $0xa,%eax
1400e981a:	40 b6 01             	mov    $0x1,%sil
1400e981d:	2d 00 00 5f 03       	sub    $0x35f0000,%eax
1400e9822:	3d 80 00 00 00       	cmp    $0x80,%eax
1400e9827:	73 0c                	jae    0x1400e9835
1400e9829:	44 0f b6 c0          	movzbl %al,%r8d
1400e982d:	44 8b d5             	mov    %ebp,%r10d
1400e9830:	44 8b dd             	mov    %ebp,%r11d
1400e9833:	eb 4d                	jmp    0x1400e9882
1400e9835:	44 8b c0             	mov    %eax,%r8d
1400e9838:	3d 00 08 00 00       	cmp    $0x800,%eax
1400e983d:	73 10                	jae    0x1400e984f
1400e983f:	41 c1 e8 06          	shr    $0x6,%r8d
1400e9843:	45 8b d1             	mov    %r9d,%r10d
1400e9846:	41 80 c8 c0          	or     $0xc0,%r8b
1400e984a:	45 8b d9             	mov    %r9d,%r11d
1400e984d:	eb 33                	jmp    0x1400e9882
1400e984f:	3d 00 00 01 00       	cmp    $0x10000,%eax
1400e9854:	73 13                	jae    0x1400e9869
1400e9856:	41 c1 e8 0c          	shr    $0xc,%r8d
1400e985a:	41 ba 02 00 00 00    	mov    $0x2,%r10d
1400e9860:	41 80 c8 e0          	or     $0xe0,%r8b
1400e9864:	45 8b da             	mov    %r10d,%r11d
1400e9867:	eb 19                	jmp    0x1400e9882
1400e9869:	41 c1 e8 12          	shr    $0x12,%r8d
1400e986d:	41 ba 03 00 00 00    	mov    $0x3,%r10d
1400e9873:	44 0f b6 de          	movzbl %sil,%r11d
1400e9877:	41 80 c8 f0          	or     $0xf0,%r8b
1400e987b:	41 83 f3 01          	xor    $0x1,%r11d
1400e987f:	45 03 db             	add    %r11d,%r11d
1400e9882:	45 8d 4b 01          	lea    0x1(%r11),%r9d
1400e9886:	49 8b d7             	mov    %r15,%rdx
1400e9889:	48 2b d7             	sub    %rdi,%rdx
1400e988c:	41 8b c9             	mov    %r9d,%ecx
1400e988f:	48 3b d1             	cmp    %rcx,%rdx
1400e9892:	7c 70                	jl     0x1400e9904
1400e9894:	49 83 06 02          	addq   $0x2,(%r14)
1400e9898:	40 84 f6             	test   %sil,%sil
1400e989b:	75 06                	jne    0x1400e98a3
1400e989d:	41 83 fa 03          	cmp    $0x3,%r10d
1400e98a1:	73 0c                	jae    0x1400e98af
1400e98a3:	48 8b 0b             	mov    (%rbx),%rcx
1400e98a6:	45 8b cb             	mov    %r11d,%r9d
1400e98a9:	44 88 01             	mov    %r8b,(%rcx)
1400e98ac:	48 ff 03             	incq   (%rbx)
1400e98af:	45 85 c9             	test   %r9d,%r9d
1400e98b2:	74 2d                	je     0x1400e98e1
1400e98b4:	47 8d 04 52          	lea    (%r10,%r10,2),%r8d
1400e98b8:	45 03 c0             	add    %r8d,%r8d
1400e98bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400e98c0:	41 83 e8 06          	sub    $0x6,%r8d
1400e98c4:	8b d0                	mov    %eax,%edx
1400e98c6:	41 8b c8             	mov    %r8d,%ecx
1400e98c9:	41 ff c9             	dec    %r9d
1400e98cc:	d3 ea                	shr    %cl,%edx
1400e98ce:	48 8b 0b             	mov    (%rbx),%rcx
1400e98d1:	80 e2 3f             	and    $0x3f,%dl
1400e98d4:	80 ca 80             	or     $0x80,%dl
1400e98d7:	88 11                	mov    %dl,(%rcx)
1400e98d9:	48 ff 03             	incq   (%rbx)
1400e98dc:	45 85 c9             	test   %r9d,%r9d
1400e98df:	7f df                	jg     0x1400e98c0
1400e98e1:	c1 e8 0a             	shr    $0xa,%eax
1400e98e4:	41 b9 01 00 00 00    	mov    $0x1,%r9d
1400e98ea:	40 84 f6             	test   %sil,%sil
1400e98ed:	41 8b c9             	mov    %r9d,%ecx
1400e98f0:	0f 45 c8             	cmovne %eax,%ecx
1400e98f3:	66 41 89 0c 24       	mov    %cx,(%r12)
1400e98f8:	49 8b 06             	mov    (%r14),%rax
1400e98fb:	49 3b c5             	cmp    %r13,%rax
1400e98fe:	0f 85 bb fe ff ff    	jne    0x1400e97bf
1400e9904:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400e9909:	49 3b 06             	cmp    (%r14),%rax
1400e990c:	40 0f 94 c5          	sete   %bpl
1400e9910:	8b c5                	mov    %ebp,%eax
1400e9912:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400e9917:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1400e991c:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400e9921:	41 5f                	pop    %r15
1400e9923:	41 5e                	pop    %r14
1400e9925:	41 5d                	pop    %r13
1400e9927:	41 5c                	pop    %r12
1400e9929:	5f                   	pop    %rdi
1400e992a:	c3                   	ret
1400e992b:	b8 02 00 00 00       	mov    $0x2,%eax
1400e9930:	eb e0                	jmp    0x1400e9912
1400e9932:	cc                   	int3
1400e9933:	cc                   	int3
1400e9934:	cc                   	int3
1400e9935:	cc                   	int3
1400e9936:	cc                   	int3
1400e9937:	cc                   	int3
1400e9938:	cc                   	int3
1400e9939:	cc                   	int3
1400e993a:	cc                   	int3
1400e993b:	cc                   	int3
1400e993c:	cc                   	int3
1400e993d:	cc                   	int3
1400e993e:	cc                   	int3
1400e993f:	cc                   	int3
1400e9940:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400e9945:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400e994a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400e994f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1400e9954:	41 54                	push   %r12
1400e9956:	41 55                	push   %r13
1400e9958:	41 56                	push   %r14
1400e995a:	41 57                	push   %r15
1400e995c:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1400e9961:	45 33 f6             	xor    %r14d,%r14d
1400e9964:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1400e9969:	4d 8b e9             	mov    %r9,%r13
1400e996c:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400e9971:	4d 8b e0             	mov    %r8,%r12
1400e9974:	4c 8b fa             	mov    %rdx,%r15
1400e9977:	4c 89 07             	mov    %r8,(%rdi)
1400e997a:	48 89 06             	mov    %rax,(%rsi)
1400e997d:	4c 8b 17             	mov    (%rdi),%r10
1400e9980:	4d 3b d1             	cmp    %r9,%r10
1400e9983:	0f 84 df 01 00 00    	je     0x1400e9b68
1400e9989:	41 8d 56 01          	lea    0x1(%r14),%edx
1400e998d:	41 b9 00 d8 00 00    	mov    $0xd800,%r9d
1400e9993:	41 bb ff 03 00 00    	mov    $0x3ff,%r11d
1400e9999:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400e99a0:	48 8b 44 24 58       	mov    0x58(%rsp),%rax
1400e99a5:	48 39 06             	cmp    %rax,(%rsi)
1400e99a8:	0f 84 ba 01 00 00    	je     0x1400e9b68
1400e99ae:	66 41 83 3f 01       	cmpw   $0x1,(%r15)
1400e99b3:	41 0f b6 02          	movzbl (%r10),%eax
1400e99b7:	76 2e                	jbe    0x1400e99e7
1400e99b9:	8d 48 80             	lea    -0x80(%rax),%ecx
1400e99bc:	83 f9 3f             	cmp    $0x3f,%ecx
1400e99bf:	0f 87 d6 01 00 00    	ja     0x1400e9b9b
1400e99c5:	49 8d 4a 01          	lea    0x1(%r10),%rcx
1400e99c9:	66 83 e0 3f          	and    $0x3f,%ax
1400e99cd:	48 89 0f             	mov    %rcx,(%rdi)
1400e99d0:	48 8b 0e             	mov    (%rsi),%rcx
1400e99d3:	66 41 0b 07          	or     (%r15),%ax
1400e99d7:	66 89 01             	mov    %ax,(%rcx)
1400e99da:	48 83 06 02          	addq   $0x2,(%rsi)
1400e99de:	66 41 89 17          	mov    %dx,(%r15)
1400e99e2:	e9 75 01 00 00       	jmp    0x1400e9b5c
1400e99e7:	3d 80 00 00 00       	cmp    $0x80,%eax
1400e99ec:	73 15                	jae    0x1400e9a03
1400e99ee:	49 8d 52 01          	lea    0x1(%r10),%rdx
1400e99f2:	41 8b de             	mov    %r14d,%ebx
1400e99f5:	48 89 17             	mov    %rdx,(%rdi)
1400e99f8:	41 8b ee             	mov    %r14d,%ebp
1400e99fb:	4d 8b e2             	mov    %r10,%r12
1400e99fe:	e9 ca 00 00 00       	jmp    0x1400e9acd
1400e9a03:	3d c0 00 00 00       	cmp    $0xc0,%eax
1400e9a08:	0f 82 86 01 00 00    	jb     0x1400e9b94
1400e9a0e:	3d e0 00 00 00       	cmp    $0xe0,%eax
1400e9a13:	73 13                	jae    0x1400e9a28
1400e9a15:	83 e0 1f             	and    $0x1f,%eax
1400e9a18:	44 8b ca             	mov    %edx,%r9d
1400e9a1b:	8b da                	mov    %edx,%ebx
1400e9a1d:	45 8b c6             	mov    %r14d,%r8d
1400e9a20:	41 8b ee             	mov    %r14d,%ebp
1400e9a23:	45 8b de             	mov    %r14d,%r11d
1400e9a26:	eb 43                	jmp    0x1400e9a6b
1400e9a28:	3d f0 00 00 00       	cmp    $0xf0,%eax
1400e9a2d:	73 13                	jae    0x1400e9a42
1400e9a2f:	83 e0 0f             	and    $0xf,%eax
1400e9a32:	bb 02 00 00 00       	mov    $0x2,%ebx
1400e9a37:	45 8b c6             	mov    %r14d,%r8d
1400e9a3a:	41 8b ee             	mov    %r14d,%ebp
1400e9a3d:	45 8b de             	mov    %r14d,%r11d
1400e9a40:	eb 26                	jmp    0x1400e9a68
1400e9a42:	44 8b c2             	mov    %edx,%r8d
1400e9a45:	8b ea                	mov    %edx,%ebp
1400e9a47:	44 8b da             	mov    %edx,%r11d
1400e9a4a:	3d f8 00 00 00       	cmp    $0xf8,%eax
1400e9a4f:	73 0a                	jae    0x1400e9a5b
1400e9a51:	83 e0 07             	and    $0x7,%eax
1400e9a54:	bb 03 00 00 00       	mov    $0x3,%ebx
1400e9a59:	eb 0d                	jmp    0x1400e9a68
1400e9a5b:	3d fc 00 00 00       	cmp    $0xfc,%eax
1400e9a60:	1b db                	sbb    %ebx,%ebx
1400e9a62:	83 c3 05             	add    $0x5,%ebx
1400e9a65:	83 e0 03             	and    $0x3,%eax
1400e9a68:	44 8b cb             	mov    %ebx,%r9d
1400e9a6b:	41 8b c9             	mov    %r9d,%ecx
1400e9a6e:	4d 8b e2             	mov    %r10,%r12
1400e9a71:	41 2b cb             	sub    %r11d,%ecx
1400e9a74:	ff c1                	inc    %ecx
1400e9a76:	48 63 d1             	movslq %ecx,%rdx
1400e9a79:	49 8b cd             	mov    %r13,%rcx
1400e9a7c:	49 2b ca             	sub    %r10,%rcx
1400e9a7f:	48 3b ca             	cmp    %rdx,%rcx
1400e9a82:	0f 8c e0 00 00 00    	jl     0x1400e9b68
1400e9a88:	49 8d 52 01          	lea    0x1(%r10),%rdx
1400e9a8c:	48 89 17             	mov    %rdx,(%rdi)
1400e9a8f:	45 3b c1             	cmp    %r9d,%r8d
1400e9a92:	73 2d                	jae    0x1400e9ac1
1400e9a94:	44 0f b6 02          	movzbl (%rdx),%r8d
1400e9a98:	41 8d 48 80          	lea    -0x80(%r8),%ecx
1400e9a9c:	83 f9 3f             	cmp    $0x3f,%ecx
1400e9a9f:	0f 87 f6 00 00 00    	ja     0x1400e9b9b
1400e9aa5:	41 83 e0 3f          	and    $0x3f,%r8d
1400e9aa9:	8b c8                	mov    %eax,%ecx
1400e9aab:	c1 e1 06             	shl    $0x6,%ecx
1400e9aae:	41 ff c9             	dec    %r9d
1400e9ab1:	41 8b c0             	mov    %r8d,%eax
1400e9ab4:	0b c1                	or     %ecx,%eax
1400e9ab6:	48 ff c2             	inc    %rdx
1400e9ab9:	48 89 17             	mov    %rdx,(%rdi)
1400e9abc:	45 3b d9             	cmp    %r9d,%r11d
1400e9abf:	7c d3                	jl     0x1400e9a94
1400e9ac1:	41 bb ff 03 00 00    	mov    $0x3ff,%r11d
1400e9ac7:	41 b9 00 d8 00 00    	mov    $0xd800,%r9d
1400e9acd:	44 8b c0             	mov    %eax,%r8d
1400e9ad0:	41 c1 e0 06          	shl    $0x6,%r8d
1400e9ad4:	85 ed                	test   %ebp,%ebp
1400e9ad6:	44 0f 44 c0          	cmove  %eax,%r8d
1400e9ada:	41 81 f8 ff ff 10 00 	cmp    $0x10ffff,%r8d
1400e9ae1:	0f 87 b4 00 00 00    	ja     0x1400e9b9b
1400e9ae7:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
1400e9aee:	76 30                	jbe    0x1400e9b20
1400e9af0:	48 8b 06             	mov    (%rsi),%rax
1400e9af3:	41 8b c8             	mov    %r8d,%ecx
1400e9af6:	c1 e9 0a             	shr    $0xa,%ecx
1400e9af9:	66 45 23 c3          	and    %r11w,%r8w
1400e9afd:	66 83 e9 40          	sub    $0x40,%cx
1400e9b01:	ba 01 00 00 00       	mov    $0x1,%edx
1400e9b06:	66 41 0b c9          	or     %r9w,%cx
1400e9b0a:	66 89 08             	mov    %cx,(%rax)
1400e9b0d:	b8 00 dc 00 00       	mov    $0xdc00,%eax
1400e9b12:	48 83 06 02          	addq   $0x2,(%rsi)
1400e9b16:	66 44 0b c0          	or     %ax,%r8w
1400e9b1a:	66 45 89 07          	mov    %r8w,(%r15)
1400e9b1e:	eb 3c                	jmp    0x1400e9b5c
1400e9b20:	83 fb 03             	cmp    $0x3,%ebx
1400e9b23:	72 1d                	jb     0x1400e9b42
1400e9b25:	49 3b d5             	cmp    %r13,%rdx
1400e9b28:	74 65                	je     0x1400e9b8f
1400e9b2a:	0f b6 0a             	movzbl (%rdx),%ecx
1400e9b2d:	48 8d 42 01          	lea    0x1(%rdx),%rax
1400e9b31:	48 89 07             	mov    %rax,(%rdi)
1400e9b34:	8d 41 80             	lea    -0x80(%rcx),%eax
1400e9b37:	83 f8 3f             	cmp    $0x3f,%eax
1400e9b3a:	77 5f                	ja     0x1400e9b9b
1400e9b3c:	83 e1 3f             	and    $0x3f,%ecx
1400e9b3f:	44 0b c1             	or     %ecx,%r8d
1400e9b42:	ba 01 00 00 00       	mov    $0x1,%edx
1400e9b47:	66 45 39 37          	cmp    %r14w,(%r15)
1400e9b4b:	75 04                	jne    0x1400e9b51
1400e9b4d:	66 41 89 17          	mov    %dx,(%r15)
1400e9b51:	48 8b 06             	mov    (%rsi),%rax
1400e9b54:	66 44 89 00          	mov    %r8w,(%rax)
1400e9b58:	48 83 06 02          	addq   $0x2,(%rsi)
1400e9b5c:	4c 8b 17             	mov    (%rdi),%r10
1400e9b5f:	4d 3b d5             	cmp    %r13,%r10
1400e9b62:	0f 85 38 fe ff ff    	jne    0x1400e99a0
1400e9b68:	4d 3b e2             	cmp    %r10,%r12
1400e9b6b:	41 0f 94 c6          	sete   %r14b
1400e9b6f:	41 8b c6             	mov    %r14d,%eax
1400e9b72:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
1400e9b77:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
1400e9b7c:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400e9b81:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1400e9b86:	41 5f                	pop    %r15
1400e9b88:	41 5e                	pop    %r14
1400e9b8a:	41 5d                	pop    %r13
1400e9b8c:	41 5c                	pop    %r12
1400e9b8e:	c3                   	ret
1400e9b8f:	4c 89 17             	mov    %r10,(%rdi)
1400e9b92:	eb d4                	jmp    0x1400e9b68
1400e9b94:	49 8d 42 01          	lea    0x1(%r10),%rax
1400e9b98:	48 89 07             	mov    %rax,(%rdi)
1400e9b9b:	b8 02 00 00 00       	mov    $0x2,%eax
1400e9ba0:	eb d0                	jmp    0x1400e9b72
1400e9ba2:	cc                   	int3
1400e9ba3:	cc                   	int3
1400e9ba4:	cc                   	int3
1400e9ba5:	cc                   	int3
1400e9ba6:	cc                   	int3
1400e9ba7:	cc                   	int3
1400e9ba8:	cc                   	int3
1400e9ba9:	cc                   	int3
1400e9baa:	cc                   	int3
1400e9bab:	cc                   	int3
1400e9bac:	cc                   	int3
1400e9bad:	cc                   	int3
1400e9bae:	cc                   	int3
1400e9baf:	cc                   	int3
1400e9bb0:	40 53                	rex push %rbx
1400e9bb2:	48 83 ec 20          	sub    $0x20,%rsp
1400e9bb6:	48 8d 05 83 1b 15 00 	lea    0x151b83(%rip),%rax        # 0x14023b740
1400e9bbd:	48 8b d9             	mov    %rcx,%rbx
1400e9bc0:	48 89 01             	mov    %rax,(%rcx)
1400e9bc3:	48 83 c1 40          	add    $0x40,%rcx
1400e9bc7:	e8 f4 c5 fd ff       	call   0x1400c61c0
1400e9bcc:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
1400e9bd0:	e8 ab c7 fd ff       	call   0x1400c6380
1400e9bd5:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1400e9bd9:	48 85 c9             	test   %rcx,%rcx
1400e9bdc:	74 1e                	je     0x1400e9bfc
1400e9bde:	48 8b 01             	mov    (%rcx),%rax
1400e9be1:	ff 50 10             	call   *0x10(%rax)
1400e9be4:	48 85 c0             	test   %rax,%rax
1400e9be7:	74 13                	je     0x1400e9bfc
1400e9be9:	4c 8b 00             	mov    (%rax),%r8
1400e9bec:	ba 01 00 00 00       	mov    $0x1,%edx
1400e9bf1:	48 8b c8             	mov    %rax,%rcx
1400e9bf4:	48 83 c4 20          	add    $0x20,%rsp
1400e9bf8:	5b                   	pop    %rbx
1400e9bf9:	49 ff 20             	rex.WB jmp *(%r8)
1400e9bfc:	48 83 c4 20          	add    $0x20,%rsp
1400e9c00:	5b                   	pop    %rbx
1400e9c01:	c3                   	ret
1400e9c02:	cc                   	int3
1400e9c03:	cc                   	int3
1400e9c04:	cc                   	int3
1400e9c05:	cc                   	int3
1400e9c06:	cc                   	int3
1400e9c07:	cc                   	int3
1400e9c08:	cc                   	int3
1400e9c09:	cc                   	int3
1400e9c0a:	cc                   	int3
1400e9c0b:	cc                   	int3
1400e9c0c:	cc                   	int3
1400e9c0d:	cc                   	int3
1400e9c0e:	cc                   	int3
1400e9c0f:	cc                   	int3
1400e9c10:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1400e9c15:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1400e9c1a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1400e9c1f:	56                   	push   %rsi
1400e9c20:	57                   	push   %rdi