14004777c:	48 85 d2             	test   %rdx,%rdx
14004777f:	41 8d 6b 01          	lea    0x1(%r11),%ebp
140047783:	48 0f 45 fa          	cmovne %rdx,%rdi
140047787:	44 8b fd             	mov    %ebp,%r15d
14004778a:	4d 0f 45 f8          	cmovne %r8,%r15
14004778e:	48 f7 d8             	neg    %rax
140047791:	4d 1b f6             	sbb    %r14,%r14
140047794:	4c 23 f1             	and    %rcx,%r14
140047797:	4d 85 ff             	test   %r15,%r15
14004779a:	75 0c                	jne    0x1400477a8
14004779c:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
1400477a3:	e9 4d 01 00 00       	jmp    0x1400478f5
1400477a8:	66 45 39 5a 06       	cmp    %r11w,0x6(%r10)
1400477ad:	75 68                	jne    0x140047817
1400477af:	44 0f b6 0f          	movzbl (%rdi),%r9d
1400477b3:	48 ff c7             	inc    %rdi
1400477b6:	45 84 c9             	test   %r9b,%r9b
1400477b9:	78 17                	js     0x1400477d2
1400477bb:	4d 85 f6             	test   %r14,%r14
1400477be:	74 03                	je     0x1400477c3
1400477c0:	45 89 0e             	mov    %r9d,(%r14)
1400477c3:	45 84 c9             	test   %r9b,%r9b
1400477c6:	41 0f 95 c3          	setne  %r11b
1400477ca:	49 8b c3             	mov    %r11,%rax
1400477cd:	e9 23 01 00 00       	jmp    0x1400478f5
1400477d2:	41 8a c1             	mov    %r9b,%al
1400477d5:	24 e0                	and    $0xe0,%al
1400477d7:	3c c0                	cmp    $0xc0,%al
1400477d9:	75 05                	jne    0x1400477e0
1400477db:	41 b0 02             	mov    $0x2,%r8b
1400477de:	eb 1e                	jmp    0x1400477fe
1400477e0:	41 8a c1             	mov    %r9b,%al
1400477e3:	24 f0                	and    $0xf0,%al
1400477e5:	3c e0                	cmp    $0xe0,%al
1400477e7:	75 05                	jne    0x1400477ee
1400477e9:	41 b0 03             	mov    $0x3,%r8b
1400477ec:	eb 10                	jmp    0x1400477fe
1400477ee:	41 8a c1             	mov    %r9b,%al
1400477f1:	24 f8                	and    $0xf8,%al
1400477f3:	3c f0                	cmp    $0xf0,%al
1400477f5:	0f 85 ef 00 00 00    	jne    0x1400478ea
1400477fb:	41 b0 04             	mov    $0x4,%r8b
1400477fe:	41 0f b6 c0          	movzbl %r8b,%eax
140047802:	b9 07 00 00 00       	mov    $0x7,%ecx
140047807:	2b c8                	sub    %eax,%ecx
140047809:	8b d5                	mov    %ebp,%edx
14004780b:	d3 e2                	shl    %cl,%edx
14004780d:	41 8a d8             	mov    %r8b,%bl
140047810:	2b d5                	sub    %ebp,%edx
140047812:	41 23 d1             	and    %r9d,%edx
140047815:	eb 29                	jmp    0x140047840
140047817:	45 8a 42 04          	mov    0x4(%r10),%r8b
14004781b:	41 8b 12             	mov    (%r10),%edx
14004781e:	41 8a 5a 06          	mov    0x6(%r10),%bl
140047822:	41 8d 40 fe          	lea    -0x2(%r8),%eax
140047826:	3c 02                	cmp    $0x2,%al
140047828:	0f 87 bc 00 00 00    	ja     0x1400478ea
14004782e:	40 3a dd             	cmp    %bpl,%bl
140047831:	0f 82 b3 00 00 00    	jb     0x1400478ea
140047837:	41 3a d8             	cmp    %r8b,%bl
14004783a:	0f 83 aa 00 00 00    	jae    0x1400478ea
140047840:	0f b6 eb             	movzbl %bl,%ebp
140047843:	49 3b ef             	cmp    %r15,%rbp
140047846:	44 8b cd             	mov    %ebp,%r9d
140047849:	4d 0f 43 cf          	cmovae %r15,%r9
14004784d:	eb 1e                	jmp    0x14004786d
14004784f:	0f b6 0f             	movzbl (%rdi),%ecx
140047852:	48 ff c7             	inc    %rdi
140047855:	8a c1                	mov    %cl,%al
140047857:	24 c0                	and    $0xc0,%al
140047859:	3c 80                	cmp    $0x80,%al
14004785b:	0f 85 89 00 00 00    	jne    0x1400478ea
140047861:	8b c2                	mov    %edx,%eax
140047863:	83 e1 3f             	and    $0x3f,%ecx
140047866:	c1 e0 06             	shl    $0x6,%eax
140047869:	8b d1                	mov    %ecx,%edx
14004786b:	0b d0                	or     %eax,%edx
14004786d:	48 8b c7             	mov    %rdi,%rax
140047870:	49 2b c4             	sub    %r12,%rax
140047873:	49 3b c1             	cmp    %r9,%rax
140047876:	72 d7                	jb     0x14004784f
140047878:	4c 3b cd             	cmp    %rbp,%r9
14004787b:	73 1c                	jae    0x140047899
14004787d:	41 0f b6 c0          	movzbl %r8b,%eax
140047881:	41 2a d9             	sub    %r9b,%bl
140047884:	66 41 89 42 04       	mov    %ax,0x4(%r10)
140047889:	0f b6 c3             	movzbl %bl,%eax
14004788c:	66 41 89 42 06       	mov    %ax,0x6(%r10)
140047891:	41 89 12             	mov    %edx,(%r10)
140047894:	e9 03 ff ff ff       	jmp    0x14004779c
140047899:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
14004789f:	3d ff 07 00 00       	cmp    $0x7ff,%eax
1400478a4:	76 44                	jbe    0x1400478ea
1400478a6:	81 fa 00 00 11 00    	cmp    $0x110000,%edx
1400478ac:	73 3c                	jae    0x1400478ea
1400478ae:	41 0f b6 c0          	movzbl %r8b,%eax
1400478b2:	c7 44 24 20 80 00 00 	movl   $0x80,0x20(%rsp)
1400478b9:	00
1400478ba:	c7 44 24 24 00 08 00 	movl   $0x800,0x24(%rsp)
1400478c1:	00
1400478c2:	c7 44 24 28 00 00 01 	movl   $0x10000,0x28(%rsp)
1400478c9:	00
1400478ca:	3b 54 84 18          	cmp    0x18(%rsp,%rax,4),%edx
1400478ce:	72 1a                	jb     0x1400478ea
1400478d0:	4d 85 f6             	test   %r14,%r14
1400478d3:	74 03                	je     0x1400478d8
1400478d5:	41 89 16             	mov    %edx,(%r14)
1400478d8:	f7 da                	neg    %edx
1400478da:	49 8b d2             	mov    %r10,%rdx
1400478dd:	48 1b c9             	sbb    %rcx,%rcx
1400478e0:	48 23 cd             	and    %rbp,%rcx
1400478e3:	e8 34 fe ff ff       	call   0x14004771c
1400478e8:	eb 0b                	jmp    0x1400478f5
1400478ea:	48 8b d6             	mov    %rsi,%rdx
1400478ed:	49 8b ca             	mov    %r10,%rcx
1400478f0:	e8 2f fe ff ff       	call   0x140047724
1400478f5:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400478fa:	48 33 cc             	xor    %rsp,%rcx
1400478fd:	e8 fe d1 fd ff       	call   0x140024b00
140047902:	48 83 c4 40          	add    $0x40,%rsp
140047906:	41 5f                	pop    %r15
140047908:	41 5e                	pop    %r14
14004790a:	41 5c                	pop    %r12
14004790c:	5f                   	pop    %rdi
14004790d:	5e                   	pop    %rsi
14004790e:	5d                   	pop    %rbp
14004790f:	5b                   	pop    %rbx
140047910:	c3                   	ret
140047911:	cc                   	int3
140047912:	cc                   	int3
140047913:	cc                   	int3
140047914:	40 53                	rex push %rbx
140047916:	48 83 ec 20          	sub    $0x20,%rsp
14004791a:	4d 85 c0             	test   %r8,%r8
14004791d:	48 8d 1d e4 0d 03 00 	lea    0x30de4(%rip),%rbx        # 0x140078708
140047924:	b8 00 24 00 00       	mov    $0x2400,%eax
140047929:	4c 8b d1             	mov    %rcx,%r10
14004792c:	49 0f 45 d8          	cmovne %r8,%rbx
140047930:	b9 ff 03 00 00       	mov    $0x3ff,%ecx
140047935:	03 c2                	add    %edx,%eax
140047937:	83 3b 00             	cmpl   $0x0,(%rbx)
14004793a:	75 47                	jne    0x140047983
14004793c:	66 3b c1             	cmp    %cx,%ax
14004793f:	77 0d                	ja     0x14004794e
140047941:	49 8b d1             	mov    %r9,%rdx
140047944:	48 8b cb             	mov    %rbx,%rcx
140047947:	e8 d8 fd ff ff       	call   0x140047724
14004794c:	eb 63                	jmp    0x1400479b1
14004794e:	b8 00 28 00 00       	mov    $0x2800,%eax
140047953:	03 c2                	add    %edx,%eax
140047955:	66 3b c1             	cmp    %cx,%ax
140047958:	77 16                	ja     0x140047970
14004795a:	0f b7 c2             	movzwl %dx,%eax
14004795d:	c1 e0 0a             	shl    $0xa,%eax
140047960:	25 00 fc 9f fc       	and    $0xfc9ffc00,%eax
140047965:	05 00 00 01 00       	add    $0x10000,%eax
14004796a:	89 03                	mov    %eax,(%rbx)
14004796c:	33 c0                	xor    %eax,%eax
14004796e:	eb 41                	jmp    0x1400479b1
140047970:	0f b7 d2             	movzwl %dx,%edx
140047973:	4c 8b c3             	mov    %rbx,%r8
140047976:	49 8b ca             	mov    %r10,%rcx
140047979:	48 83 c4 20          	add    $0x20,%rsp
14004797d:	5b                   	pop    %rbx
14004797e:	e9 ad ce ff ff       	jmp    0x140044830
140047983:	66 3b c1             	cmp    %cx,%ax
140047986:	77 b9                	ja     0x140047941
140047988:	48 83 64 24 40 00    	andq   $0x0,0x40(%rsp)
14004798e:	4c 8d 44 24 40       	lea    0x40(%rsp),%r8
140047993:	0f b7 d2             	movzwl %dx,%edx
140047996:	49 8b ca             	mov    %r10,%rcx
140047999:	81 e2 ff 23 ff ff    	and    $0xffff23ff,%edx
14004799f:	03 13                	add    (%rbx),%edx
1400479a1:	e8 8a ce ff ff       	call   0x140044830
1400479a6:	48 8b d3             	mov    %rbx,%rdx
1400479a9:	48 8b c8             	mov    %rax,%rcx
1400479ac:	e8 6b fd ff ff       	call   0x14004771c
1400479b1:	48 83 c4 20          	add    $0x20,%rsp
1400479b5:	5b                   	pop    %rbx
1400479b6:	c3                   	ret
1400479b7:	cc                   	int3
1400479b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400479bd:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1400479c2:	57                   	push   %rdi
1400479c3:	48 83 ec 20          	sub    $0x20,%rsp
1400479c7:	49 8b f9             	mov    %r9,%rdi
1400479ca:	49 8b d8             	mov    %r8,%rbx
1400479cd:	8b 0a                	mov    (%rdx),%ecx
1400479cf:	e8 98 26 ff ff       	call   0x14003a06c
1400479d4:	90                   	nop
1400479d5:	48 8b 03             	mov    (%rbx),%rax
1400479d8:	48 63 08             	movslq (%rax),%rcx
1400479db:	4c 8b d1             	mov    %rcx,%r10
1400479de:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1400479e2:	48 8b c1             	mov    %rcx,%rax
1400479e5:	48 c1 f8 06          	sar    $0x6,%rax
1400479e9:	4c 8d 0d a0 07 03 00 	lea    0x307a0(%rip),%r9        # 0x140078190
1400479f0:	41 83 e2 3f          	and    $0x3f,%r10d
1400479f4:	4f 8d 04 d2          	lea    (%r10,%r10,8),%r8
1400479f8:	49 8b 04 c1          	mov    (%r9,%rax,8),%rax
1400479fc:	42 f6 44 c0 38 01    	testb  $0x1,0x38(%rax,%r8,8)
140047a02:	74 09                	je     0x140047a0d
140047a04:	e8 eb 00 00 00       	call   0x140047af4
140047a09:	8b d8                	mov    %eax,%ebx
140047a0b:	eb 0e                	jmp    0x140047a1b
140047a0d:	c6 42 30 01          	movb   $0x1,0x30(%rdx)
140047a11:	c7 42 2c 09 00 00 00 	movl   $0x9,0x2c(%rdx)
140047a18:	83 cb ff             	or     $0xffffffff,%ebx
140047a1b:	8b 0f                	mov    (%rdi),%ecx
140047a1d:	e8 72 26 ff ff       	call   0x14003a094
140047a22:	8b c3                	mov    %ebx,%eax
140047a24:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140047a29:	48 83 c4 20          	add    $0x20,%rsp
140047a2d:	5f                   	pop    %rdi
140047a2e:	c3                   	ret
140047a2f:	cc                   	int3
140047a30:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
140047a34:	48 83 ec 58          	sub    $0x58,%rsp
140047a38:	4c 63 c1             	movslq %ecx,%r8
140047a3b:	45 33 c9             	xor    %r9d,%r9d
140047a3e:	41 83 f8 fe          	cmp    $0xfffffffe,%r8d
140047a42:	75 18                	jne    0x140047a5c
140047a44:	c6 42 38 01          	movb   $0x1,0x38(%rdx)
140047a48:	44 89 4a 34          	mov    %r9d,0x34(%rdx)
140047a4c:	c6 42 30 01          	movb   $0x1,0x30(%rdx)
140047a50:	c7 42 2c 09 00 00 00 	movl   $0x9,0x2c(%rdx)
140047a57:	e9 8d 00 00 00       	jmp    0x140047ae9
140047a5c:	85 c9                	test   %ecx,%ecx
140047a5e:	78 60                	js     0x140047ac0
140047a60:	44 3b 05 29 0b 03 00 	cmp    0x30b29(%rip),%r8d        # 0x140078590
140047a67:	73 57                	jae    0x140047ac0
140047a69:	49 8b c8             	mov    %r8,%rcx
140047a6c:	4c 8d 15 1d 07 03 00 	lea    0x3071d(%rip),%r10        # 0x140078190
140047a73:	83 e1 3f             	and    $0x3f,%ecx
140047a76:	49 8b c0             	mov    %r8,%rax
140047a79:	48 c1 f8 06          	sar    $0x6,%rax
140047a7d:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
140047a81:	49 8b 04 c2          	mov    (%r10,%rax,8),%rax
140047a85:	f6 44 c8 38 01       	testb  $0x1,0x38(%rax,%rcx,8)
140047a8a:	74 34                	je     0x140047ac0
140047a8c:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
140047a91:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140047a96:	44 89 44 24 78       	mov    %r8d,0x78(%rsp)
140047a9b:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140047aa0:	44 89 44 24 30       	mov    %r8d,0x30(%rsp)
140047aa5:	4c 8d 4c 24 78       	lea    0x78(%rsp),%r9
140047aaa:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140047aaf:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140047ab4:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
140047ab9:	e8 fa fe ff ff       	call   0x1400479b8
140047abe:	eb 2c                	jmp    0x140047aec
140047ac0:	c6 42 38 01          	movb   $0x1,0x38(%rdx)
140047ac4:	45 33 c0             	xor    %r8d,%r8d
140047ac7:	44 89 4a 34          	mov    %r9d,0x34(%rdx)
140047acb:	33 c9                	xor    %ecx,%ecx
140047acd:	c6 42 30 01          	movb   $0x1,0x30(%rdx)
140047ad1:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
140047ad6:	c7 42 2c 09 00 00 00 	movl   $0x9,0x2c(%rdx)
140047add:	33 d2                	xor    %edx,%edx
140047adf:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140047ae4:	e8 ef 39 fe ff       	call   0x14002b4d8
140047ae9:	83 c8 ff             	or     $0xffffffff,%eax
140047aec:	48 83 c4 58          	add    $0x58,%rsp
140047af0:	c3                   	ret
140047af1:	cc                   	int3
140047af2:	cc                   	int3
140047af3:	cc                   	int3
140047af4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140047af9:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140047afe:	57                   	push   %rdi
140047aff:	48 83 ec 20          	sub    $0x20,%rsp
140047b03:	48 63 f9             	movslq %ecx,%rdi
140047b06:	48 8b f2             	mov    %rdx,%rsi
140047b09:	8b cf                	mov    %edi,%ecx
140047b0b:	e8 68 26 ff ff       	call   0x14003a178
140047b10:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
140047b14:	75 04                	jne    0x140047b1a
140047b16:	33 db                	xor    %ebx,%ebx
140047b18:	eb 5a                	jmp    0x140047b74
140047b1a:	48 8b 05 6f 06 03 00 	mov    0x3066f(%rip),%rax        # 0x140078190
140047b21:	b9 02 00 00 00       	mov    $0x2,%ecx
140047b26:	83 ff 01             	cmp    $0x1,%edi
140047b29:	75 09                	jne    0x140047b34
140047b2b:	40 84 b8 c8 00 00 00 	test   %dil,0xc8(%rax)
140047b32:	75 0d                	jne    0x140047b41
140047b34:	3b f9                	cmp    %ecx,%edi
140047b36:	75 20                	jne    0x140047b58
140047b38:	f6 80 80 00 00 00 01 	testb  $0x1,0x80(%rax)
140047b3f:	74 17                	je     0x140047b58
140047b41:	e8 32 26 ff ff       	call   0x14003a178
140047b46:	b9 01 00 00 00       	mov    $0x1,%ecx
140047b4b:	48 8b d8             	mov    %rax,%rbx
140047b4e:	e8 25 26 ff ff       	call   0x14003a178
140047b53:	48 3b c3             	cmp    %rbx,%rax
140047b56:	74 be                	je     0x140047b16
140047b58:	8b cf                	mov    %edi,%ecx
140047b5a:	e8 19 26 ff ff       	call   0x14003a178
140047b5f:	48 8b c8             	mov    %rax,%rcx
140047b62:	ff 15 48 45 00 00    	call   *0x4548(%rip)        # 0x14004c0b0
140047b68:	85 c0                	test   %eax,%eax
140047b6a:	75 aa                	jne    0x140047b16
140047b6c:	ff 15 a6 44 00 00    	call   *0x44a6(%rip)        # 0x14004c018
140047b72:	8b d8                	mov    %eax,%ebx
140047b74:	8b cf                	mov    %edi,%ecx
140047b76:	e8 41 25 ff ff       	call   0x14003a0bc
140047b7b:	48 8b d7             	mov    %rdi,%rdx
140047b7e:	4c 8d 05 0b 06 03 00 	lea    0x3060b(%rip),%r8        # 0x140078190
140047b85:	83 e2 3f             	and    $0x3f,%edx
140047b88:	48 8b cf             	mov    %rdi,%rcx
140047b8b:	48 c1 f9 06          	sar    $0x6,%rcx
140047b8f:	48 8d 14 d2          	lea    (%rdx,%rdx,8),%rdx
140047b93:	49 8b 0c c8          	mov    (%r8,%rcx,8),%rcx
140047b97:	c6 44 d1 38 00       	movb   $0x0,0x38(%rcx,%rdx,8)
140047b9c:	85 db                	test   %ebx,%ebx
140047b9e:	74 0f                	je     0x140047baf
140047ba0:	48 8b d6             	mov    %rsi,%rdx
140047ba3:	8b cb                	mov    %ebx,%ecx
140047ba5:	e8 4a 3e fe ff       	call   0x14002b9f4
140047baa:	83 c8 ff             	or     $0xffffffff,%eax
140047bad:	eb 02                	jmp    0x140047bb1
140047baf:	33 c0                	xor    %eax,%eax
140047bb1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140047bb6:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140047bbb:	48 83 c4 20          	add    $0x20,%rsp
140047bbf:	5f                   	pop    %rdi
140047bc0:	c3                   	ret
140047bc1:	cc                   	int3
140047bc2:	cc                   	int3
140047bc3:	cc                   	int3
140047bc4:	83 49 18 ff          	orl    $0xffffffff,0x18(%rcx)
140047bc8:	33 c0                	xor    %eax,%eax
140047bca:	48 89 01             	mov    %rax,(%rcx)
140047bcd:	48 89 41 08          	mov    %rax,0x8(%rcx)
140047bd1:	89 41 10             	mov    %eax,0x10(%rcx)
140047bd4:	48 89 41 1c          	mov    %rax,0x1c(%rcx)
140047bd8:	48 89 41 28          	mov    %rax,0x28(%rcx)
140047bdc:	87 41 14             	xchg   %eax,0x14(%rcx)
140047bdf:	c3                   	ret
140047be0:	66 89 4c 24 08       	mov    %cx,0x8(%rsp)
140047be5:	48 83 ec 28          	sub    $0x28,%rsp
140047be9:	e8 ba 04 00 00       	call   0x1400480a8
140047bee:	85 c0                	test   %eax,%eax
140047bf0:	74 1f                	je     0x140047c11
140047bf2:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140047bf7:	ba 01 00 00 00       	mov    $0x1,%edx
140047bfc:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140047c01:	e8 16 05 00 00       	call   0x14004811c
140047c06:	85 c0                	test   %eax,%eax
140047c08:	74 07                	je     0x140047c11
140047c0a:	0f b7 44 24 30       	movzwl 0x30(%rsp),%eax