14005d72c:	e8 ef a5 fc ff       	call   0x140027d20
14005d731:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005d735:	48 89 f0             	mov    %rsi,%rax
14005d738:	79 03                	jns    0x14005d73d
14005d73a:	48 8b 06             	mov    (%rsi),%rax
14005d73d:	40 b5 01             	mov    $0x1,%bpl
14005d740:	48 85 ff             	test   %rdi,%rdi
14005d743:	74 19                	je     0x14005d75e
14005d745:	45 31 db             	xor    %r11d,%r11d
14005d748:	48 8d 0d 55 fa 08 00 	lea    0x8fa55(%rip),%rcx        # 0x1400ed1a4
14005d74f:	4c 8d 05 5f fa 08 00 	lea    0x8fa5f(%rip),%r8        # 0x1400ed1b5
14005d756:	45 31 c9             	xor    %r9d,%r9d
14005d759:	e9 59 ff ff ff       	jmp    0x14005d6b7
14005d75e:	31 d2                	xor    %edx,%edx
14005d760:	48 89 f1             	mov    %rsi,%rcx
14005d763:	45 31 c0             	xor    %r8d,%r8d
14005d766:	e8 b5 a5 fc ff       	call   0x140027d20
14005d76b:	8a 46 17             	mov    0x17(%rsi),%al
14005d76e:	84 c0                	test   %al,%al
14005d770:	78 3b                	js     0x14005d7ad
14005d772:	89 c1                	mov    %eax,%ecx
14005d774:	80 c9 03             	or     $0x3,%cl
14005d777:	80 f9 0b             	cmp    $0xb,%cl
14005d77a:	0f b6 c9             	movzbl %cl,%ecx
14005d77d:	ba 0c 00 00 00       	mov    $0xc,%edx
14005d782:	0f 45 d1             	cmovne %ecx,%edx
14005d785:	3c 0b                	cmp    $0xb,%al
14005d787:	b8 0a 00 00 00       	mov    $0xa,%eax
14005d78c:	0f 43 c2             	cmovae %edx,%eax
14005d78f:	0f b6 d0             	movzbl %al,%edx
14005d792:	b8 0a 00 00 00       	mov    $0xa,%eax
14005d797:	48 39 c2             	cmp    %rax,%rdx
14005d79a:	0f 84 e5 fd ff ff    	je     0x14005d585
14005d7a0:	48 89 f1             	mov    %rsi,%rcx
14005d7a3:	e8 f8 3e fc ff       	call   0x1400216a0
14005d7a8:	e9 d8 fd ff ff       	jmp    0x14005d585
14005d7ad:	48 8b 46 08          	mov    0x8(%rsi),%rax
14005d7b1:	48 89 c1             	mov    %rax,%rcx
14005d7b4:	48 83 c9 03          	or     $0x3,%rcx
14005d7b8:	48 83 f9 0b          	cmp    $0xb,%rcx
14005d7bc:	41 b8 0c 00 00 00    	mov    $0xc,%r8d
14005d7c2:	4c 0f 45 c1          	cmovne %rcx,%r8
14005d7c6:	48 83 f8 0b          	cmp    $0xb,%rax
14005d7ca:	ba 0a 00 00 00       	mov    $0xa,%edx
14005d7cf:	49 0f 43 d0          	cmovae %r8,%rdx
14005d7d3:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
14005d7da:	ff ff 7f
14005d7dd:	48 23 46 10          	and    0x10(%rsi),%rax
14005d7e1:	48 ff c8             	dec    %rax
14005d7e4:	eb b1                	jmp    0x14005d797
14005d7e6:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14005d7ea:	48 89 ca             	mov    %rcx,%rdx
14005d7ed:	48 0f ba f2 3f       	btr    $0x3f,%rdx
14005d7f2:	48 ff ca             	dec    %rdx
14005d7f5:	48 39 fa             	cmp    %rdi,%rdx
14005d7f8:	73 09                	jae    0x14005d803
14005d7fa:	4c 8b 4e 08          	mov    0x8(%rsi),%r9
14005d7fe:	e9 20 fd ff ff       	jmp    0x14005d523
14005d803:	48 c1 e9 38          	shr    $0x38,%rcx
14005d807:	e9 3e fd ff ff       	jmp    0x14005d54a
14005d80c:	cc                   	int3
14005d80d:	cc                   	int3
14005d80e:	cc                   	int3
14005d80f:	cc                   	int3
14005d810:	41 57                	push   %r15
14005d812:	41 56                	push   %r14
14005d814:	41 55                	push   %r13
14005d816:	41 54                	push   %r12
14005d818:	56                   	push   %rsi
14005d819:	57                   	push   %rdi
14005d81a:	55                   	push   %rbp
14005d81b:	53                   	push   %rbx
14005d81c:	48 83 ec 38          	sub    $0x38,%rsp
14005d820:	48 8b 05 19 38 0a 00 	mov    0xa3819(%rip),%rax        # 0x140101040
14005d827:	48 31 e0             	xor    %rsp,%rax
14005d82a:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14005d82f:	4c 8b 7a 08          	mov    0x8(%rdx),%r15
14005d833:	4d 85 ff             	test   %r15,%r15
14005d836:	0f 88 62 04 00 00    	js     0x14005dc9e
14005d83c:	48 89 ce             	mov    %rcx,%rsi
14005d83f:	4c 8b 22             	mov    (%rdx),%r12
14005d842:	0f 94 c0             	sete   %al
14005d845:	4d 85 e4             	test   %r12,%r12
14005d848:	0f 95 c1             	setne  %cl
14005d84b:	08 c1                	or     %al,%cl
14005d84d:	0f 84 4b 04 00 00    	je     0x14005dc9e
14005d853:	0f 57 c0             	xorps  %xmm0,%xmm0
14005d856:	0f 11 06             	movups %xmm0,(%rsi)
14005d859:	48 c7 46 10 00 00 00 	movq   $0x0,0x10(%rsi)
14005d860:	00
14005d861:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
14005d866:	4c 89 21             	mov    %r12,(%rcx)
14005d869:	4c 89 79 08          	mov    %r15,0x8(%rcx)
14005d86d:	e8 ce 0b 00 00       	call   0x14005e440
14005d872:	84 c0                	test   %al,%al
14005d874:	0f 84 09 01 00 00    	je     0x14005d983
14005d87a:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005d87e:	0f 88 a4 03 00 00    	js     0x14005dc28
14005d884:	48 89 f7             	mov    %rsi,%rdi
14005d887:	49 83 ff 17          	cmp    $0x17,%r15
14005d88b:	73 60                	jae    0x14005d8ed
14005d88d:	4d 85 ff             	test   %r15,%r15
14005d890:	74 19                	je     0x14005d8ab
14005d892:	4b 8d 04 3f          	lea    (%r15,%r15,1),%rax
14005d896:	31 c9                	xor    %ecx,%ecx
14005d898:	41 0f b6 14 0c       	movzbl (%r12,%rcx,1),%edx
14005d89d:	88 17                	mov    %dl,(%rdi)
14005d89f:	48 ff c7             	inc    %rdi
14005d8a2:	48 83 c1 02          	add    $0x2,%rcx
14005d8a6:	48 39 c8             	cmp    %rcx,%rax
14005d8a9:	75 ed                	jne    0x14005d898
14005d8ab:	c6 07 00             	movb   $0x0,(%rdi)
14005d8ae:	80 7e 17 00          	cmpb   $0x0,0x17(%rsi)
14005d8b2:	78 1f                	js     0x14005d8d3
14005d8b4:	41 80 e7 7f          	and    $0x7f,%r15b
14005d8b8:	44 88 7e 17          	mov    %r15b,0x17(%rsi)
14005d8bc:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14005d8c1:	48 31 e1             	xor    %rsp,%rcx
14005d8c4:	48 3b 0d 75 37 0a 00 	cmp    0xa3775(%rip),%rcx        # 0x140101040
14005d8cb:	74 0c                	je     0x14005d8d9
14005d8cd:	e8 fe 19 01 00       	call   0x14006f2d0
14005d8d2:	cc                   	int3
14005d8d3:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
14005d8d7:	eb e3                	jmp    0x14005d8bc
14005d8d9:	48 89 f0             	mov    %rsi,%rax
14005d8dc:	48 83 c4 38          	add    $0x38,%rsp
14005d8e0:	5b                   	pop    %rbx
14005d8e1:	5d                   	pop    %rbp
14005d8e2:	5f                   	pop    %rdi
14005d8e3:	5e                   	pop    %rsi
14005d8e4:	41 5c                	pop    %r12
14005d8e6:	41 5d                	pop    %r13
14005d8e8:	41 5e                	pop    %r14
14005d8ea:	41 5f                	pop    %r15
14005d8ec:	c3                   	ret
14005d8ed:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14005d8f4:	ff ff 7f
14005d8f7:	49 8d 0c 07          	lea    (%r15,%rax,1),%rcx
14005d8fb:	48 83 c1 11          	add    $0x11,%rcx
14005d8ff:	48 83 c0 27          	add    $0x27,%rax
14005d903:	41 bd 16 00 00 00    	mov    $0x16,%r13d
14005d909:	49 89 f6             	mov    %rsi,%r14
14005d90c:	48 39 c1             	cmp    %rax,%rcx
14005d90f:	0f 82 8b 03 00 00    	jb     0x14005dca0
14005d915:	4a 8d 04 6d 00 00 00 	lea    0x0(,%r13,2),%rax
14005d91c:	00
14005d91d:	49 39 c7             	cmp    %rax,%r15
14005d920:	49 0f 47 c7          	cmova  %r15,%rax
14005d924:	48 89 c1             	mov    %rax,%rcx
14005d927:	48 83 c9 07          	or     $0x7,%rcx
14005d92b:	48 8d 51 01          	lea    0x1(%rcx),%rdx
14005d92f:	48 83 f9 17          	cmp    $0x17,%rcx
14005d933:	b9 19 00 00 00       	mov    $0x19,%ecx
14005d938:	48 0f 45 ca          	cmovne %rdx,%rcx
14005d93c:	48 83 f8 17          	cmp    $0x17,%rax
14005d940:	bb 17 00 00 00       	mov    $0x17,%ebx
14005d945:	48 0f 43 d9          	cmovae %rcx,%rbx
14005d949:	48 89 d9             	mov    %rbx,%rcx
14005d94c:	e8 43 05 01 00       	call   0x14006de94
14005d951:	48 89 c7             	mov    %rax,%rdi
14005d954:	49 83 fd 16          	cmp    $0x16,%r13
14005d958:	0f 85 2b 03 00 00    	jne    0x14005dc89
14005d95e:	48 89 3e             	mov    %rdi,(%rsi)
14005d961:	48 b8 f7 ff ff ff ff 	movabs $0x7ffffffffffffff7,%rax
14005d968:	ff ff 7f
14005d96b:	48 83 c0 09          	add    $0x9,%rax
14005d96f:	48 09 d8             	or     %rbx,%rax
14005d972:	48 89 46 10          	mov    %rax,0x10(%rsi)
14005d976:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14005d97d:	00
14005d97e:	e9 0f ff ff ff       	jmp    0x14005d892
14005d983:	4b 8d 14 7f          	lea    (%r15,%r15,2),%rdx
14005d987:	31 ff                	xor    %edi,%edi
14005d989:	48 89 f1             	mov    %rsi,%rcx
14005d98c:	45 31 c0             	xor    %r8d,%r8d
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