14002adc5:	48 89 f7             	mov    %rsi,%rdi
14002adc8:	48 83 fb 17          	cmp    $0x17,%rbx
14002adcc:	73 63                	jae    0x14002ae31
14002adce:	48 85 db             	test   %rbx,%rbx
14002add1:	74 18                	je     0x14002adeb
14002add3:	48 8d 04 1b          	lea    (%rbx,%rbx,1),%rax
14002add7:	31 c9                	xor    %ecx,%ecx
14002add9:	41 8a 14 0e          	mov    (%r14,%rcx,1),%dl
14002addd:	88 17                	mov    %dl,(%rdi)
14002addf:	48 ff c7             	inc    %rdi
14002ade2:	48 83 c1 02          	add    $0x2,%rcx
14002ade6:	48 39 c8             	cmp    %rcx,%rax
14002ade9:	75 ee                	jne    0x14002add9
14002adeb:	c6 07 00             	movb   $0x0,(%rdi)
14002adee:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14002adf2:	78 24                	js     0x14002ae18
14002adf4:	80 e3 7f             	and    $0x7f,%bl
14002adf7:	88 5e 17             	mov    %bl,0x17(%rsi)
14002adfa:	40 b7 01             	mov    $0x1,%dil
14002adfd:	40 80 e7 01          	and    $0x1,%dil
14002ae01:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14002ae06:	48 31 e1             	xor    %rsp,%rcx
14002ae09:	48 3b 0d 30 62 0d 00 	cmp    0xd6230(%rip),%rcx        # 0x140101040
14002ae10:	74 0c                	je     0x14002ae1e
14002ae12:	e8 b9 44 04 00       	call   0x14006f2d0
14002ae17:	cc                   	int3
14002ae18:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
14002ae1c:	eb dc                	jmp    0x14002adfa
14002ae1e:	89 f8                	mov    %edi,%eax
14002ae20:	48 83 c4 38          	add    $0x38,%rsp
14002ae24:	5b                   	pop    %rbx
14002ae25:	5d                   	pop    %rbp
14002ae26:	5f                   	pop    %rdi
14002ae27:	5e                   	pop    %rsi
14002ae28:	41 5c                	pop    %r12
14002ae2a:	41 5d                	pop    %r13
14002ae2c:	41 5e                	pop    %r14
14002ae2e:	41 5f                	pop    %r15
14002ae30:	c3                   	ret
14002ae31:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14002ae38:	ff ff 7f
14002ae3b:	48 8d 0c 03          	lea    (%rbx,%rax,1),%rcx
14002ae3f:	48 83 c1 11          	add    $0x11,%rcx
14002ae43:	48 83 c0 27          	add    $0x27,%rax
14002ae47:	41 bd 16 00 00 00    	mov    $0x16,%r13d
14002ae4d:	49 89 f4             	mov    %rsi,%r12
14002ae50:	48 39 c1             	cmp    %rax,%rcx
14002ae53:	0f 82 b4 03 00 00    	jb     0x14002b20d
14002ae59:	4a 8d 04 6d 00 00 00 	lea    0x0(,%r13,2),%rax
14002ae60:	00
14002ae61:	48 39 c3             	cmp    %rax,%rbx
14002ae64:	48 0f 47 c3          	cmova  %rbx,%rax
14002ae68:	48 89 c1             	mov    %rax,%rcx
14002ae6b:	48 83 c9 07          	or     $0x7,%rcx
14002ae6f:	48 8d 51 01          	lea    0x1(%rcx),%rdx
14002ae73:	48 83 f9 17          	cmp    $0x17,%rcx
14002ae77:	b9 19 00 00 00       	mov    $0x19,%ecx
14002ae7c:	48 0f 45 ca          	cmovne %rdx,%rcx
14002ae80:	48 83 f8 17          	cmp    $0x17,%rax
14002ae84:	41 bf 17 00 00 00    	mov    $0x17,%r15d
14002ae8a:	4c 0f 43 f9          	cmovae %rcx,%r15
14002ae8e:	4c 89 f9             	mov    %r15,%rcx
14002ae91:	e8 fe 2f 04 00       	call   0x14006de94
14002ae96:	48 89 c7             	mov    %rax,%rdi
14002ae99:	49 83 fd 16          	cmp    $0x16,%r13
14002ae9d:	0f 85 4b 03 00 00    	jne    0x14002b1ee
14002aea3:	48 89 3e             	mov    %rdi,(%rsi)
14002aea6:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14002aead:	ff ff 7f
14002aeb0:	48 83 c0 09          	add    $0x9,%rax
14002aeb4:	4c 09 f8             	or     %r15,%rax
14002aeb7:	48 89 46 10          	mov    %rax,0x10(%rsi)
14002aebb:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14002aec2:	00
14002aec3:	e9 0b ff ff ff       	jmp    0x14002add3
14002aec8:	48 8d 14 5b          	lea    (%rbx,%rbx,2),%rdx
14002aecc:	48 89 f1             	mov    %rsi,%rcx
14002aecf:	45 31 c0             	xor    %r8d,%r8d
14002aed2:	e8 99 0f 03 00       	call   0x14005be70
14002aed7:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14002aedb:	48 89 f0             	mov    %rsi,%rax
14002aede:	79 03                	jns    0x14002aee3
14002aee0:	48 8b 06             	mov    (%rsi),%rax
14002aee3:	40 b7 01             	mov    $0x1,%dil
14002aee6:	48 83 fb 02          	cmp    $0x2,%rbx
14002aeea:	0f 82 0b 03 00 00    	jb     0x14002b1fb
14002aef0:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14002aef6:	31 c9                	xor    %ecx,%ecx
14002aef8:	31 d2                	xor    %edx,%edx
14002aefa:	45 0f b7 0c 4e       	movzwl (%r14,%rcx,2),%r9d
14002aeff:	45 89 ca             	mov    %r9d,%r10d
14002af02:	41 81 e2 00 fc 00 00 	and    $0xfc00,%r10d
14002af09:	41 81 fa 00 d8 00 00 	cmp    $0xd800,%r10d
14002af10:	0f 84 16 03 00 00    	je     0x14002b22c
14002af16:	44 89 c9             	mov    %r9d,%ecx
14002af19:	81 e1 00 f8 00 00    	and    $0xf800,%ecx
14002af1f:	41 ba fd ff 00 00    	mov    $0xfffd,%r10d
14002af25:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
14002af2b:	0f 84 d5 02 00 00    	je     0x14002b206
14002af31:	41 81 f9 00 d8 00 00 	cmp    $0xd800,%r9d
14002af38:	0f 93 c1             	setae  %cl
14002af3b:	45 8d 99 00 20 ff ff 	lea    -0xe000(%r9),%r11d
14002af42:	41 81 fb 00 20 10 00 	cmp    $0x102000,%r11d
14002af49:	41 0f 93 c3          	setae  %r11b
14002af4d:	44 84 d9             	test   %r11b,%cl
14002af50:	0f 85 b0 02 00 00    	jne    0x14002b206
14002af56:	66 41 83 f9 7f       	cmp    $0x7f,%r9w
14002af5b:	76 49                	jbe    0x14002afa6
14002af5d:	41 81 f9 ff 07 00 00 	cmp    $0x7ff,%r9d
14002af64:	0f 86 ab 02 00 00    	jbe    0x14002b215
14002af6a:	45 89 ca             	mov    %r9d,%r10d
14002af6d:	4c 89 c1             	mov    %r8,%rcx
14002af70:	45 89 d0             	mov    %r10d,%r8d
14002af73:	41 c1 e8 0c          	shr    $0xc,%r8d
14002af77:	41 80 c8 e0          	or     $0xe0,%r8b
14002af7b:	44 88 04 10          	mov    %r8b,(%rax,%rdx,1)
14002af7f:	48 ff c2             	inc    %rdx
14002af82:	45 89 d3             	mov    %r10d,%r11d
14002af85:	41 c1 eb 06          	shr    $0x6,%r11d
14002af89:	41 80 e3 3f          	and    $0x3f,%r11b
14002af8d:	41 80 cb 80          	or     $0x80,%r11b
14002af91:	49 89 c8             	mov    %rcx,%r8
14002af94:	45 89 d1             	mov    %r10d,%r9d
14002af97:	44 88 1c 10          	mov    %r11b,(%rax,%rdx,1)
14002af9b:	48 ff c2             	inc    %rdx
14002af9e:	41 80 e1 3f          	and    $0x3f,%r9b
14002afa2:	41 80 c9 80          	or     $0x80,%r9b
14002afa6:	4c 89 c1             	mov    %r8,%rcx
14002afa9:	44 88 0c 10          	mov    %r9b,(%rax,%rdx,1)
14002afad:	48 ff c2             	inc    %rdx
14002afb0:	49 ff c0             	inc    %r8
14002afb3:	49 39 d8             	cmp    %rbx,%r8
14002afb6:	0f 82 3e ff ff ff    	jb     0x14002aefa
14002afbc:	48 39 d9             	cmp    %rbx,%rcx
14002afbf:	0f 83 90 00 00 00    	jae    0x14002b055
14002afc5:	41 0f b7 0c 4e       	movzwl (%r14,%rcx,2),%ecx
14002afca:	41 89 c9             	mov    %ecx,%r9d
14002afcd:	41 81 e1 00 f8 00 00 	and    $0xf800,%r9d
14002afd4:	41 b8 fd ff 00 00    	mov    $0xfffd,%r8d
14002afda:	41 81 f9 00 d8 00 00 	cmp    $0xd800,%r9d
14002afe1:	0f 84 3e 02 00 00    	je     0x14002b225
14002afe7:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
14002afed:	41 0f 93 c1          	setae  %r9b
14002aff1:	44 8d 91 00 20 ff ff 	lea    -0xe000(%rcx),%r10d
14002aff8:	41 81 fa 00 20 10 00 	cmp    $0x102000,%r10d
14002afff:	41 0f 93 c2          	setae  %r10b
14002b003:	45 84 d1             	test   %r10b,%r9b
14002b006:	0f 85 19 02 00 00    	jne    0x14002b225
14002b00c:	66 83 f9 7f          	cmp    $0x7f,%cx
14002b010:	76 3d                	jbe    0x14002b04f
14002b012:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
14002b018:	0f 86 8c 02 00 00    	jbe    0x14002b2aa
14002b01e:	41 89 c8             	mov    %ecx,%r8d
14002b021:	44 89 c1             	mov    %r8d,%ecx
14002b024:	c1 e9 0c             	shr    $0xc,%ecx
14002b027:	80 c9 e0             	or     $0xe0,%cl
14002b02a:	88 0c 10             	mov    %cl,(%rax,%rdx,1)
14002b02d:	48 ff c2             	inc    %rdx
14002b030:	45 89 c1             	mov    %r8d,%r9d
14002b033:	41 c1 e9 06          	shr    $0x6,%r9d
14002b037:	41 80 e1 3f          	and    $0x3f,%r9b
14002b03b:	41 80 c9 80          	or     $0x80,%r9b
14002b03f:	44 89 c1             	mov    %r8d,%ecx
14002b042:	44 88 0c 10          	mov    %r9b,(%rax,%rdx,1)
14002b046:	48 ff c2             	inc    %rdx
14002b049:	80 e1 3f             	and    $0x3f,%cl
14002b04c:	80 c9 80             	or     $0x80,%cl
14002b04f:	88 0c 10             	mov    %cl,(%rax,%rdx,1)
14002b052:	48 ff c2             	inc    %rdx
14002b055:	48 89 f1             	mov    %rsi,%rcx
14002b058:	45 31 c0             	xor    %r8d,%r8d
14002b05b:	e8 10 0e 03 00       	call   0x14005be70
14002b060:	4c 0f be 7e 17       	movsbq 0x17(%rsi),%r15
14002b065:	4d 85 ff             	test   %r15,%r15
14002b068:	78 4b                	js     0x14002b0b5
14002b06a:	44 89 f8             	mov    %r15d,%eax
14002b06d:	0c 07                	or     $0x7,%al
14002b06f:	3c 17                	cmp    $0x17,%al
14002b071:	0f b6 c8             	movzbl %al,%ecx
14002b074:	b8 18 00 00 00       	mov    $0x18,%eax
14002b079:	0f 45 c1             	cmovne %ecx,%eax
14002b07c:	41 80 ff 17          	cmp    $0x17,%r15b
14002b080:	0f 82 77 fd ff ff    	jb     0x14002adfd
14002b086:	44 0f b6 e0          	movzbl %al,%r12d
14002b08a:	41 80 fc 16          	cmp    $0x16,%r12b
14002b08e:	76 17                	jbe    0x14002b0a7
14002b090:	49 8d 4c 24 01       	lea    0x1(%r12),%rcx
14002b095:	e8 fa 2d 04 00       	call   0x14006de94
14002b09a:	48 89 c3             	mov    %rax,%rbx
14002b09d:	31 ed                	xor    %ebp,%ebp
14002b09f:	45 31 ed             	xor    %r13d,%r13d
14002b0a2:	49 89 f6             	mov    %rsi,%r14
14002b0a5:	eb 75                	jmp    0x14002b11c
14002b0a7:	4c 8b 36             	mov    (%rsi),%r14
14002b0aa:	40 b5 01             	mov    $0x1,%bpl
14002b0ad:	41 b5 01             	mov    $0x1,%r13b
14002b0b0:	48 89 f3             	mov    %rsi,%rbx
14002b0b3:	eb 67                	jmp    0x14002b11c
14002b0b5:	4c 8b 7e 08          	mov    0x8(%rsi),%r15
14002b0b9:	4c 89 f8             	mov    %r15,%rax
14002b0bc:	48 83 c8 07          	or     $0x7,%rax
14002b0c0:	48 83 f8 17          	cmp    $0x17,%rax
14002b0c4:	41 be 18 00 00 00    	mov    $0x18,%r14d
14002b0ca:	4c 0f 45 f0          	cmovne %rax,%r14
14002b0ce:	49 83 ff 17          	cmp    $0x17,%r15
14002b0d2:	41 bc 16 00 00 00    	mov    $0x16,%r12d
14002b0d8:	4d 0f 43 e6          	cmovae %r14,%r12
14002b0dc:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14002b0e3:	ff ff 7f
14002b0e6:	48 83 c8 08          	or     $0x8,%rax
14002b0ea:	48 23 46 10          	and    0x10(%rsi),%rax
14002b0ee:	48 ff c8             	dec    %rax
14002b0f1:	49 39 c4             	cmp    %rax,%r12
14002b0f4:	0f 84 03 fd ff ff    	je     0x14002adfd
14002b0fa:	48 89 f3             	mov    %rsi,%rbx
14002b0fd:	49 83 fc 17          	cmp    $0x17,%r12
14002b101:	40 0f 92 c5          	setb   %bpl
14002b105:	72 0f                	jb     0x14002b116
14002b107:	49 8d 4e 01          	lea    0x1(%r14),%rcx
14002b10b:	e8 84 2d 04 00       	call   0x14006de94
14002b110:	48 89 c3             	mov    %rax,%rbx
14002b113:	4d 89 f4             	mov    %r14,%r12
14002b116:	4c 8b 36             	mov    (%rsi),%r14
14002b119:	41 b5 01             	mov    $0x1,%r13b
14002b11c:	4d 89 f8             	mov    %r15,%r8
14002b11f:	49 ff c0             	inc    %r8
14002b122:	0f 88 dc 00 00 00    	js     0x14002b204
14002b128:	49 39 de             	cmp    %rbx,%r14
14002b12b:	72 0d                	jb     0x14002b13a
14002b12d:	4a 8d 04 03          	lea    (%rbx,%r8,1),%rax
14002b131:	49 39 c6             	cmp    %rax,%r14
14002b134:	0f 82 ca 00 00 00    	jb     0x14002b204
14002b13a:	4d 85 c0             	test   %r8,%r8
14002b13d:	74 0b                	je     0x14002b14a
14002b13f:	48 89 d9             	mov    %rbx,%rcx
14002b142:	4c 89 f2             	mov    %r14,%rdx
14002b145:	e8 26 2a 07 00       	call   0x14009db70
14002b14a:	45 84 ed             	test   %r13b,%r13b
14002b14d:	74 08                	je     0x14002b157
14002b14f:	4c 89 f1             	mov    %r14,%rcx
14002b152:	e8 79 2d 04 00       	call   0x14006ded0
14002b157:	40 84 ed             	test   %bpl,%bpl
14002b15a:	75 24                	jne    0x14002b180
14002b15c:	49 ff c4             	inc    %r12
14002b15f:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14002b166:	ff ff 7f
14002b169:	48 83 c0 09          	add    $0x9,%rax
14002b16d:	4c 09 e0             	or     %r12,%rax
14002b170:	48 89 46 10          	mov    %rax,0x10(%rsi)
14002b174:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
14002b178:	48 89 1e             	mov    %rbx,(%rsi)
14002b17b:	e9 7d fc ff ff       	jmp    0x14002adfd
14002b180:	41 80 e7 7f          	and    $0x7f,%r15b
14002b184:	44 88 7e 17          	mov    %r15b,0x17(%rsi)
14002b188:	e9 70 fc ff ff       	jmp    0x14002adfd
14002b18d:	49 bf f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r15
14002b194:	ff ff 7f
14002b197:	48 8b 46 10          	mov    0x10(%rsi),%rax
14002b19b:	49 8d 4f 08          	lea    0x8(%r15),%rcx
14002b19f:	48 21 c1             	and    %rax,%rcx
14002b1a2:	4c 8d 69 ff          	lea    -0x1(%rcx),%r13
14002b1a6:	48 89 da             	mov    %rbx,%rdx
14002b1a9:	4c 29 ea             	sub    %r13,%rdx
14002b1ac:	77 11                	ja     0x14002b1bf
14002b1ae:	48 89 f7             	mov    %rsi,%rdi
14002b1b1:	48 85 c0             	test   %rax,%rax
14002b1b4:	0f 89 14 fc ff ff    	jns    0x14002adce
14002b1ba:	e9 fb 00 00 00       	jmp    0x14002b2ba
14002b1bf:	4c 89 f8             	mov    %r15,%rax
14002b1c2:	48 29 c8             	sub    %rcx,%rax
14002b1c5:	48 ff c0             	inc    %rax
14002b1c8:	48 39 c2             	cmp    %rax,%rdx
14002b1cb:	77 40                	ja     0x14002b20d
14002b1cd:	4c 8b 26             	mov    (%rsi),%r12
14002b1d0:	48 b8 f3 ff ff ff ff 	movabs $0x3ffffffffffffff3,%rax
14002b1d7:	ff ff 3f
14002b1da:	49 39 c5             	cmp    %rax,%r13
14002b1dd:	0f 82 76 fc ff ff    	jb     0x14002ae59
14002b1e3:	4c 89 f9             	mov    %r15,%rcx
14002b1e6:	e8 a9 2c 04 00       	call   0x14006de94
14002b1eb:	48 89 c7             	mov    %rax,%rdi
14002b1ee:	4c 89 e1             	mov    %r12,%rcx
14002b1f1:	e8 da 2c 04 00       	call   0x14006ded0
14002b1f6:	e9 a8 fc ff ff       	jmp    0x14002aea3
14002b1fb:	31 d2                	xor    %edx,%edx
14002b1fd:	31 c9                	xor    %ecx,%ecx
14002b1ff:	e9 b8 fd ff ff       	jmp    0x14002afbc
14002b204:	0f 0b                	ud2
14002b206:	31 ff                	xor    %edi,%edi
14002b208:	e9 60 fd ff ff       	jmp    0x14002af6d
14002b20d:	48 89 f1             	mov    %rsi,%rcx
14002b210:	e8 2b 41 07 00       	call   0x14009f340
14002b215:	45 89 cb             	mov    %r9d,%r11d
14002b218:	41 c1 eb 06          	shr    $0x6,%r11d
14002b21c:	41 80 cb c0          	or     $0xc0,%r11b
14002b220:	e9 72 fd ff ff       	jmp    0x14002af97
14002b225:	31 ff                	xor    %edi,%edi
14002b227:	e9 f5 fd ff ff       	jmp    0x14002b021
14002b22c:	47 0f b7 14 46       	movzwl (%r14,%r8,2),%r10d
14002b231:	45 89 d3             	mov    %r10d,%r11d
14002b234:	41 81 e3 00 fc 00 00 	and    $0xfc00,%r11d
14002b23b:	41 81 fb 00 dc 00 00 	cmp    $0xdc00,%r11d
14002b242:	0f 85 ce fc ff ff    	jne    0x14002af16
14002b248:	41 c1 e1 0a          	shl    $0xa,%r9d
14002b24c:	47 8d 04 11          	lea    (%r9,%r10,1),%r8d
14002b250:	41 81 c0 00 44 9f fc 	add    $0xfc9f4400,%r8d
14002b257:	48 83 c1 02          	add    $0x2,%rcx
14002b25b:	41 81 f8 00 20 10 00 	cmp    $0x102000,%r8d
14002b262:	72 0d                	jb     0x14002b271
14002b264:	31 ff                	xor    %edi,%edi
14002b266:	41 ba fd ff 00 00    	mov    $0xfffd,%r10d
14002b26c:	e9 ff fc ff ff       	jmp    0x14002af70
14002b271:	45 01 d1             	add    %r10d,%r9d
14002b274:	41 81 c1 00 24 a0 fc 	add    $0xfca02400,%r9d
14002b27b:	45 89 c8             	mov    %r9d,%r8d
14002b27e:	41 c1 e8 12          	shr    $0x12,%r8d
14002b282:	41 80 c8 f0          	or     $0xf0,%r8b
14002b286:	44 88 04 10          	mov    %r8b,(%rax,%rdx,1)
14002b28a:	45 89 c8             	mov    %r9d,%r8d
14002b28d:	41 c1 e8 0c          	shr    $0xc,%r8d
14002b291:	41 80 e0 3f          	and    $0x3f,%r8b
14002b295:	41 80 c8 80          	or     $0x80,%r8b
14002b299:	44 88 44 10 01       	mov    %r8b,0x1(%rax,%rdx,1)
14002b29e:	48 83 c2 02          	add    $0x2,%rdx
14002b2a2:	45 89 ca             	mov    %r9d,%r10d
14002b2a5:	e9 d8 fc ff ff       	jmp    0x14002af82
14002b2aa:	41 89 c9             	mov    %ecx,%r9d
14002b2ad:	41 c1 e9 06          	shr    $0x6,%r9d
14002b2b1:	41 80 c9 c0          	or     $0xc0,%r9b
14002b2b5:	e9 88 fd ff ff       	jmp    0x14002b042
14002b2ba:	48 8b 3e             	mov    (%rsi),%rdi
14002b2bd:	e9 0c fb ff ff       	jmp    0x14002adce
14002b2c2:	cc                   	int3
14002b2c3:	cc                   	int3
14002b2c4:	cc                   	int3
14002b2c5:	cc                   	int3
14002b2c6:	cc                   	int3
14002b2c7:	cc                   	int3
14002b2c8:	cc                   	int3
14002b2c9:	cc                   	int3
14002b2ca:	cc                   	int3
14002b2cb:	cc                   	int3
14002b2cc:	cc                   	int3
14002b2cd:	cc                   	int3
14002b2ce:	cc                   	int3
14002b2cf:	cc                   	int3
14002b2d0:	56                   	push   %rsi
14002b2d1:	48 83 ec 20          	sub    $0x20,%rsp
14002b2d5:	48 89 ce             	mov    %rcx,%rsi
14002b2d8:	0f 57 c0             	xorps  %xmm0,%xmm0