14005d98f:	e8 dc e4 ff ff       	call   0x14005be70
14005d994:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005d998:	48 89 f0             	mov    %rsi,%rax
14005d99b:	79 03                	jns    0x14005d9a0
14005d99d:	48 8b 06             	mov    (%rsi),%rax
14005d9a0:	49 83 ff 02          	cmp    $0x2,%r15
14005d9a4:	0f 82 ec 02 00 00    	jb     0x14005dc96
14005d9aa:	b9 01 00 00 00       	mov    $0x1,%ecx
14005d9af:	45 31 c0             	xor    %r8d,%r8d
14005d9b2:	31 ff                	xor    %edi,%edi
14005d9b4:	43 0f b7 14 44       	movzwl (%r12,%r8,2),%edx
14005d9b9:	41 89 d1             	mov    %edx,%r9d
14005d9bc:	41 81 e1 00 fc 00 00 	and    $0xfc00,%r9d
14005d9c3:	41 81 f9 00 d8 00 00 	cmp    $0xd800,%r9d
14005d9ca:	0f 84 e8 02 00 00    	je     0x14005dcb8
14005d9d0:	41 89 d0             	mov    %edx,%r8d
14005d9d3:	41 81 e0 00 f8 00 00 	and    $0xf800,%r8d
14005d9da:	41 b9 fd ff 00 00    	mov    $0xfffd,%r9d
14005d9e0:	41 81 f8 00 d8 00 00 	cmp    $0xd800,%r8d
14005d9e7:	74 36                	je     0x14005da1f
14005d9e9:	81 fa 00 d8 00 00    	cmp    $0xd800,%edx
14005d9ef:	41 0f 93 c0          	setae  %r8b
14005d9f3:	44 8d 92 00 20 ff ff 	lea    -0xe000(%rdx),%r10d
14005d9fa:	41 81 fa 00 20 10 00 	cmp    $0x102000,%r10d
14005da01:	41 0f 93 c2          	setae  %r10b
14005da05:	45 84 d0             	test   %r10b,%r8b
14005da08:	75 15                	jne    0x14005da1f
14005da0a:	66 83 fa 7f          	cmp    $0x7f,%dx
14005da0e:	76 3d                	jbe    0x14005da4d
14005da10:	81 fa ff 07 00 00    	cmp    $0x7ff,%edx
14005da16:	0f 86 8c 02 00 00    	jbe    0x14005dca8
14005da1c:	41 89 d1             	mov    %edx,%r9d
14005da1f:	44 89 ca             	mov    %r9d,%edx
14005da22:	c1 ea 0c             	shr    $0xc,%edx
14005da25:	80 ca e0             	or     $0xe0,%dl
14005da28:	88 14 38             	mov    %dl,(%rax,%rdi,1)
14005da2b:	48 ff c7             	inc    %rdi
14005da2e:	45 89 c8             	mov    %r9d,%r8d
14005da31:	41 c1 e8 06          	shr    $0x6,%r8d
14005da35:	41 80 e0 3f          	and    $0x3f,%r8b
14005da39:	41 80 c8 80          	or     $0x80,%r8b
14005da3d:	44 89 ca             	mov    %r9d,%edx
14005da40:	44 88 04 38          	mov    %r8b,(%rax,%rdi,1)
14005da44:	48 ff c7             	inc    %rdi
14005da47:	80 e2 3f             	and    $0x3f,%dl
14005da4a:	80 ca 80             	or     $0x80,%dl
14005da4d:	49 89 c8             	mov    %rcx,%r8
14005da50:	88 14 38             	mov    %dl,(%rax,%rdi,1)
14005da53:	48 ff c7             	inc    %rdi
14005da56:	48 ff c1             	inc    %rcx
14005da59:	4c 39 f9             	cmp    %r15,%rcx
14005da5c:	0f 82 52 ff ff ff    	jb     0x14005d9b4
14005da62:	4d 39 f8             	cmp    %r15,%r8
14005da65:	0f 83 84 00 00 00    	jae    0x14005daef
14005da6b:	43 0f b7 0c 44       	movzwl (%r12,%r8,2),%ecx
14005da70:	41 89 c8             	mov    %ecx,%r8d
14005da73:	41 81 e0 00 f8 00 00 	and    $0xf800,%r8d
14005da7a:	ba fd ff 00 00       	mov    $0xfffd,%edx
14005da7f:	41 81 f8 00 d8 00 00 	cmp    $0xd800,%r8d
14005da86:	74 35                	je     0x14005dabd
14005da88:	81 f9 00 d8 00 00    	cmp    $0xd800,%ecx
14005da8e:	41 0f 93 c0          	setae  %r8b
14005da92:	44 8d 89 00 20 ff ff 	lea    -0xe000(%rcx),%r9d
14005da99:	41 81 f9 00 20 10 00 	cmp    $0x102000,%r9d
14005daa0:	41 0f 93 c1          	setae  %r9b
14005daa4:	45 84 c8             	test   %r9b,%r8b
14005daa7:	75 14                	jne    0x14005dabd
14005daa9:	66 83 f9 7f          	cmp    $0x7f,%cx
14005daad:	76 3a                	jbe    0x14005dae9
14005daaf:	81 f9 ff 07 00 00    	cmp    $0x7ff,%ecx
14005dab5:	0f 86 72 02 00 00    	jbe    0x14005dd2d
14005dabb:	89 ca                	mov    %ecx,%edx
14005dabd:	89 d1                	mov    %edx,%ecx
14005dabf:	c1 e9 0c             	shr    $0xc,%ecx
14005dac2:	80 c9 e0             	or     $0xe0,%cl
14005dac5:	88 0c 38             	mov    %cl,(%rax,%rdi,1)
14005dac8:	48 ff c7             	inc    %rdi
14005dacb:	41 89 d0             	mov    %edx,%r8d
14005dace:	41 c1 e8 06          	shr    $0x6,%r8d
14005dad2:	41 80 e0 3f          	and    $0x3f,%r8b
14005dad6:	41 80 c8 80          	or     $0x80,%r8b
14005dada:	89 d1                	mov    %edx,%ecx
14005dadc:	44 88 04 38          	mov    %r8b,(%rax,%rdi,1)
14005dae0:	48 ff c7             	inc    %rdi
14005dae3:	80 e1 3f             	and    $0x3f,%cl
14005dae6:	80 c9 80             	or     $0x80,%cl
14005dae9:	88 0c 38             	mov    %cl,(%rax,%rdi,1)
14005daec:	48 ff c7             	inc    %rdi
14005daef:	48 89 f1             	mov    %rsi,%rcx
14005daf2:	48 89 fa             	mov    %rdi,%rdx
14005daf5:	45 31 c0             	xor    %r8d,%r8d
14005daf8:	e8 73 e3 ff ff       	call   0x14005be70
14005dafd:	4c 0f be 76 17       	movsbq 0x17(%rsi),%r14
14005db02:	4d 85 f6             	test   %r14,%r14
14005db05:	78 4a                	js     0x14005db51
14005db07:	44 89 f0             	mov    %r14d,%eax
14005db0a:	0c 07                	or     $0x7,%al
14005db0c:	3c 17                	cmp    $0x17,%al
14005db0e:	0f b6 c8             	movzbl %al,%ecx
14005db11:	b8 18 00 00 00       	mov    $0x18,%eax
14005db16:	0f 45 c1             	cmovne %ecx,%eax
14005db19:	41 80 fe 17          	cmp    $0x17,%r14b
14005db1d:	0f 82 99 fd ff ff    	jb     0x14005d8bc
14005db23:	44 0f b6 f8          	movzbl %al,%r15d
14005db27:	41 80 ff 16          	cmp    $0x16,%r15b
14005db2b:	76 16                	jbe    0x14005db43
14005db2d:	49 8d 4f 01          	lea    0x1(%r15),%rcx
14005db31:	e8 5e 03 01 00       	call   0x14006de94
14005db36:	48 89 c7             	mov    %rax,%rdi
14005db39:	31 ed                	xor    %ebp,%ebp
14005db3b:	45 31 e4             	xor    %r12d,%r12d
14005db3e:	48 89 f3             	mov    %rsi,%rbx
14005db41:	eb 74                	jmp    0x14005dbb7
14005db43:	48 8b 1e             	mov    (%rsi),%rbx
14005db46:	40 b5 01             	mov    $0x1,%bpl
14005db49:	41 b4 01             	mov    $0x1,%r12b
14005db4c:	48 89 f7             	mov    %rsi,%rdi
14005db4f:	eb 66                	jmp    0x14005dbb7
14005db51:	4c 8b 76 08          	mov    0x8(%rsi),%r14
14005db55:	4c 89 f0             	mov    %r14,%rax
14005db58:	48 83 c8 07          	or     $0x7,%rax
14005db5c:	48 83 f8 17          	cmp    $0x17,%rax
14005db60:	bb 18 00 00 00       	mov    $0x18,%ebx
14005db65:	48 0f 45 d8          	cmovne %rax,%rbx
14005db69:	49 83 fe 17          	cmp    $0x17,%r14
14005db6d:	41 bf 16 00 00 00    	mov    $0x16,%r15d
14005db73:	4c 0f 43 fb          	cmovae %rbx,%r15
14005db77:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14005db7e:	ff ff 7f
14005db81:	48 83 c8 08          	or     $0x8,%rax
14005db85:	48 23 46 10          	and    0x10(%rsi),%rax
14005db89:	48 ff c8             	dec    %rax
14005db8c:	49 39 c7             	cmp    %rax,%r15
14005db8f:	0f 84 27 fd ff ff    	je     0x14005d8bc
14005db95:	48 89 f7             	mov    %rsi,%rdi
14005db98:	49 83 ff 17          	cmp    $0x17,%r15
14005db9c:	40 0f 92 c5          	setb   %bpl
14005dba0:	72 0f                	jb     0x14005dbb1
14005dba2:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
14005dba6:	e8 e9 02 01 00       	call   0x14006de94
14005dbab:	48 89 c7             	mov    %rax,%rdi
14005dbae:	49 89 df             	mov    %rbx,%r15
14005dbb1:	48 8b 1e             	mov    (%rsi),%rbx
14005dbb4:	41 b4 01             	mov    $0x1,%r12b
14005dbb7:	4d 89 f0             	mov    %r14,%r8
14005dbba:	49 ff c0             	inc    %r8
14005dbbd:	0f 88 db 00 00 00    	js     0x14005dc9e
14005dbc3:	48 39 fb             	cmp    %rdi,%rbx
14005dbc6:	72 0d                	jb     0x14005dbd5
14005dbc8:	4a 8d 04 07          	lea    (%rdi,%r8,1),%rax
14005dbcc:	48 39 c3             	cmp    %rax,%rbx
14005dbcf:	0f 82 c9 00 00 00    	jb     0x14005dc9e
14005dbd5:	4d 85 c0             	test   %r8,%r8
14005dbd8:	74 0b                	je     0x14005dbe5
14005dbda:	48 89 f9             	mov    %rdi,%rcx
14005dbdd:	48 89 da             	mov    %rbx,%rdx
14005dbe0:	e8 8b ff 03 00       	call   0x14009db70
14005dbe5:	45 84 e4             	test   %r12b,%r12b
14005dbe8:	74 08                	je     0x14005dbf2
14005dbea:	48 89 d9             	mov    %rbx,%rcx
14005dbed:	e8 de 02 01 00       	call   0x14006ded0
14005dbf2:	40 84 ed             	test   %bpl,%bpl
14005dbf5:	75 24                	jne    0x14005dc1b
14005dbf7:	49 ff c7             	inc    %r15
14005dbfa:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14005dc01:	ff ff 7f
14005dc04:	48 83 c0 09          	add    $0x9,%rax
14005dc08:	4c 09 f8             	or     %r15,%rax
14005dc0b:	48 89 46 10          	mov    %rax,0x10(%rsi)
14005dc0f:	4c 89 76 08          	mov    %r14,0x8(%rsi)
14005dc13:	48 89 3e             	mov    %rdi,(%rsi)
14005dc16:	e9 a1 fc ff ff       	jmp    0x14005d8bc
14005dc1b:	41 80 e6 7f          	and    $0x7f,%r14b
14005dc1f:	44 88 76 17          	mov    %r14b,0x17(%rsi)
14005dc23:	e9 94 fc ff ff       	jmp    0x14005d8bc
14005dc28:	48 bb f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rbx
14005dc2f:	ff ff 7f
14005dc32:	48 8b 46 10          	mov    0x10(%rsi),%rax
14005dc36:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
14005dc3a:	48 21 c1             	and    %rax,%rcx
14005dc3d:	4c 8d 69 ff          	lea    -0x1(%rcx),%r13
14005dc41:	4c 89 fa             	mov    %r15,%rdx
14005dc44:	4c 29 ea             	sub    %r13,%rdx
14005dc47:	77 11                	ja     0x14005dc5a
14005dc49:	48 89 f7             	mov    %rsi,%rdi
14005dc4c:	48 85 c0             	test   %rax,%rax
14005dc4f:	0f 89 38 fc ff ff    	jns    0x14005d88d
14005dc55:	e9 e3 00 00 00       	jmp    0x14005dd3d
14005dc5a:	48 89 d8             	mov    %rbx,%rax
14005dc5d:	48 29 c8             	sub    %rcx,%rax
14005dc60:	48 ff c0             	inc    %rax
14005dc63:	48 39 c2             	cmp    %rax,%rdx
14005dc66:	77 38                	ja     0x14005dca0
14005dc68:	4c 8b 36             	mov    (%rsi),%r14
14005dc6b:	48 b8 f3 ff ff ff ff 	movabs $0x3ffffffffffffff3,%rax
14005dc72:	ff ff 3f
14005dc75:	49 39 c5             	cmp    %rax,%r13
14005dc78:	0f 82 97 fc ff ff    	jb     0x14005d915
14005dc7e:	48 89 d9             	mov    %rbx,%rcx
14005dc81:	e8 0e 02 01 00       	call   0x14006de94
14005dc86:	48 89 c7             	mov    %rax,%rdi
14005dc89:	4c 89 f1             	mov    %r14,%rcx
14005dc8c:	e8 3f 02 01 00       	call   0x14006ded0
14005dc91:	e9 c8 fc ff ff       	jmp    0x14005d95e
14005dc96:	45 31 c0             	xor    %r8d,%r8d
14005dc99:	e9 c4 fd ff ff       	jmp    0x14005da62
14005dc9e:	0f 0b                	ud2
14005dca0:	48 89 f1             	mov    %rsi,%rcx
14005dca3:	e8 98 16 04 00       	call   0x14009f340
14005dca8:	41 89 d0             	mov    %edx,%r8d
14005dcab:	41 c1 e8 06          	shr    $0x6,%r8d
14005dcaf:	41 80 c8 c0          	or     $0xc0,%r8b
14005dcb3:	e9 88 fd ff ff       	jmp    0x14005da40
14005dcb8:	45 0f b7 14 4c       	movzwl (%r12,%rcx,2),%r10d
14005dcbd:	45 89 d1             	mov    %r10d,%r9d
14005dcc0:	41 81 e1 00 fc 00 00 	and    $0xfc00,%r9d
14005dcc7:	41 81 f9 00 dc 00 00 	cmp    $0xdc00,%r9d
14005dcce:	0f 85 fc fc ff ff    	jne    0x14005d9d0
14005dcd4:	c1 e2 0a             	shl    $0xa,%edx
14005dcd7:	42 8d 0c 12          	lea    (%rdx,%r10,1),%ecx
14005dcdb:	81 c1 00 44 9f fc    	add    $0xfc9f4400,%ecx
14005dce1:	49 83 c0 02          	add    $0x2,%r8
14005dce5:	41 b9 fd ff 00 00    	mov    $0xfffd,%r9d
14005dceb:	81 f9 00 20 10 00    	cmp    $0x102000,%ecx
14005dcf1:	72 08                	jb     0x14005dcfb
14005dcf3:	4c 89 c1             	mov    %r8,%rcx
14005dcf6:	e9 24 fd ff ff       	jmp    0x14005da1f
14005dcfb:	44 01 d2             	add    %r10d,%edx
14005dcfe:	81 c2 00 24 a0 fc    	add    $0xfca02400,%edx
14005dd04:	89 d1                	mov    %edx,%ecx
14005dd06:	c1 e9 12             	shr    $0x12,%ecx
14005dd09:	80 c9 f0             	or     $0xf0,%cl
14005dd0c:	88 0c 38             	mov    %cl,(%rax,%rdi,1)
14005dd0f:	89 d1                	mov    %edx,%ecx
14005dd11:	c1 e9 0c             	shr    $0xc,%ecx
14005dd14:	80 e1 3f             	and    $0x3f,%cl
14005dd17:	80 c9 80             	or     $0x80,%cl
14005dd1a:	88 4c 38 01          	mov    %cl,0x1(%rax,%rdi,1)
14005dd1e:	48 83 c7 02          	add    $0x2,%rdi
14005dd22:	41 89 d1             	mov    %edx,%r9d
14005dd25:	4c 89 c1             	mov    %r8,%rcx
14005dd28:	e9 01 fd ff ff       	jmp    0x14005da2e
14005dd2d:	41 89 c8             	mov    %ecx,%r8d
14005dd30:	41 c1 e8 06          	shr    $0x6,%r8d
14005dd34:	41 80 c8 c0          	or     $0xc0,%r8b
14005dd38:	e9 9f fd ff ff       	jmp    0x14005dadc
14005dd3d:	48 8b 3e             	mov    (%rsi),%rdi
14005dd40:	e9 48 fb ff ff       	jmp    0x14005d88d
14005dd45:	cc                   	int3
14005dd46:	cc                   	int3
14005dd47:	cc                   	int3
14005dd48:	cc                   	int3
14005dd49:	cc                   	int3
14005dd4a:	cc                   	int3
14005dd4b:	cc                   	int3
14005dd4c:	cc                   	int3
14005dd4d:	cc                   	int3
14005dd4e:	cc                   	int3
14005dd4f:	cc                   	int3
14005dd50:	41 57                	push   %r15
14005dd52:	41 56                	push   %r14
14005dd54:	41 55                	push   %r13
14005dd56:	41 54                	push   %r12
14005dd58:	56                   	push   %rsi
14005dd59:	57                   	push   %rdi
14005dd5a:	55                   	push   %rbp
14005dd5b:	53                   	push   %rbx
14005dd5c:	48 83 ec 38          	sub    $0x38,%rsp
14005dd60:	48 89 ce             	mov    %rcx,%rsi
14005dd63:	49 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%r8
14005dd6a:	ff ff 7f
14005dd6d:	4c 8b 2a             	mov    (%rdx),%r13
14005dd70:	48 8b 6a 08          	mov    0x8(%rdx),%rbp
14005dd74:	0f 57 c0             	xorps  %xmm0,%xmm0
14005dd77:	0f 11 01             	movups %xmm0,(%rcx)
14005dd7a:	48 c7 41 10 00 00 00 	movq   $0x0,0x10(%rcx)
14005dd81:	00
14005dd82:	4c 39 c5             	cmp    %r8,%rbp
14005dd85:	0f 87 de 01 00 00    	ja     0x14005df69
14005dd8b:	48 83 fd 17          	cmp    $0x17,%rbp
14005dd8f:	73 0a                	jae    0x14005dd9b
14005dd91:	48 85 ed             	test   %rbp,%rbp
14005dd94:	75 5c                	jne    0x14005ddf2
14005dd96:	e9 e0 00 00 00       	jmp    0x14005de7b
14005dd9b:	4c 89 c3             	mov    %r8,%rbx
14005dd9e:	48 89 e8             	mov    %rbp,%rax
14005dda1:	48 83 c8 07          	or     $0x7,%rax
14005dda5:	48 8d 48 01          	lea    0x1(%rax),%rcx
14005dda9:	48 83 f8 17          	cmp    $0x17,%rax
14005ddad:	bf 19 00 00 00       	mov    $0x19,%edi
14005ddb2:	48 0f 45 f9          	cmovne %rcx,%rdi
14005ddb6:	48 89 f9             	mov    %rdi,%rcx
14005ddb9:	e8 d6 00 01 00       	call   0x14006de94
14005ddbe:	48 8d 48 01          	lea    0x1(%rax),%rcx
14005ddc2:	48 39 c6             	cmp    %rax,%rsi
14005ddc5:	0f 92 c2             	setb   %dl
14005ddc8:	48 39 ce             	cmp    %rcx,%rsi
14005ddcb:	0f 93 c1             	setae  %cl
14005ddce:	08 d1                	or     %dl,%cl
14005ddd0:	0f 84 91 01 00 00    	je     0x14005df67
14005ddd6:	c6 00 00             	movb   $0x0,(%rax)
14005ddd9:	49 89 d8             	mov    %rbx,%r8
14005dddc:	48 8d 4b 09          	lea    0x9(%rbx),%rcx
14005dde0:	48 09 cf             	or     %rcx,%rdi
14005dde3:	48 89 7e 10          	mov    %rdi,0x10(%rsi)
14005dde7:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14005ddee:	00
14005ddef:	48 89 06             	mov    %rax,(%rsi)
14005ddf2:	31 db                	xor    %ebx,%ebx
14005ddf4:	41 b9 19 00 00 00    	mov    $0x19,%r9d
14005ddfa:	41 ba 17 00 00 00    	mov    $0x17,%r10d
14005de00:	4d 8d 58 09          	lea    0x9(%r8),%r11
14005de04:	4d 8d 70 08          	lea    0x8(%r8),%r14
14005de08:	eb 2d                	jmp    0x14005de37
14005de0a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
14005de10:	40 80 ff 16          	cmp    $0x16,%dil
14005de14:	0f 84 9c 00 00 00    	je     0x14005deb6
14005de1a:	8d 47 01             	lea    0x1(%rdi),%eax
14005de1d:	24 7f                	and    $0x7f,%al
14005de1f:	88 46 17             	mov    %al,0x17(%rsi)
14005de22:	49 89 f7             	mov    %rsi,%r15
14005de25:	45 88 24 3f          	mov    %r12b,(%r15,%rdi,1)
14005de29:	41 c6 44 3f 01 00    	movb   $0x0,0x1(%r15,%rdi,1)
14005de2f:	48 ff c3             	inc    %rbx
14005de32:	48 39 dd             	cmp    %rbx,%rbp
14005de35:	74 44                	je     0x14005de7b
14005de37:	41 0f b6 44 1d 00    	movzbl 0x0(%r13,%rbx,1),%eax
14005de3d:	8d 48 bf             	lea    -0x41(%rax),%ecx
14005de40:	8d 50 20             	lea    0x20(%rax),%edx
14005de43:	80 f9 1a             	cmp    $0x1a,%cl
14005de46:	44 0f b6 e2          	movzbl %dl,%r12d
14005de4a:	44 0f 43 e0          	cmovae %eax,%r12d
14005de4e:	48 0f be 7e 17       	movsbq 0x17(%rsi),%rdi
14005de53:	48 85 ff             	test   %rdi,%rdi
14005de56:	79 b8                	jns    0x14005de10
14005de58:	48 8b 7e 10          	mov    0x10(%rsi),%rdi
14005de5c:	4c 21 f7             	and    %r14,%rdi
14005de5f:	48 ff cf             	dec    %rdi
14005de62:	48 8b 46 08          	mov    0x8(%rsi),%rax
14005de66:	48 39 f8             	cmp    %rdi,%rax
14005de69:	74 24                	je     0x14005de8f
14005de6b:	4c 8b 3e             	mov    (%rsi),%r15
14005de6e:	48 89 c7             	mov    %rax,%rdi
14005de71:	48 8d 47 01          	lea    0x1(%rdi),%rax
14005de75:	48 89 46 08          	mov    %rax,0x8(%rsi)
14005de79:	eb aa                	jmp    0x14005de25
14005de7b:	48 89 f0             	mov    %rsi,%rax
14005de7e:	48 83 c4 38          	add    $0x38,%rsp
14005de82:	5b                   	pop    %rbx
14005de83:	5d                   	pop    %rbp