14002778b:	49 83 e8 01          	sub    $0x1,%r8
14002778f:	75 ef                	jne    0x140027780
140027791:	41 88 51 08          	mov    %dl,0x8(%r9)
140027795:	48 8d 5f 02          	lea    0x2(%rdi),%rbx
140027799:	eb 03                	jmp    0x14002779e
14002779b:	48 8b d9             	mov    %rcx,%rbx
14002779e:	48 8b 16             	mov    (%rsi),%rdx
1400277a1:	0f b6 4a 09          	movzbl 0x9(%rdx),%ecx
1400277a5:	41 32 ce             	xor    %r14b,%cl
1400277a8:	80 e1 0f             	and    $0xf,%cl
1400277ab:	32 4a 09             	xor    0x9(%rdx),%cl
1400277ae:	88 4a 09             	mov    %cl,0x9(%rdx)
1400277b1:	48 3b dd             	cmp    %rbp,%rbx
1400277b4:	0f 84 2e ff ff ff    	je     0x1400276e8
1400277ba:	0f b7 03             	movzwl (%rbx),%eax
1400277bd:	66 83 f8 20          	cmp    $0x20,%ax
1400277c1:	0f 84 b5 00 00 00    	je     0x14002787c
1400277c7:	66 83 f8 2b          	cmp    $0x2b,%ax
1400277cb:	74 5e                	je     0x14002782b
1400277cd:	66 83 f8 2d          	cmp    $0x2d,%ax
1400277d1:	0f 85 08 01 00 00    	jne    0x1400278df
1400277d7:	8b 46 18             	mov    0x18(%rsi),%eax
1400277da:	ff c8                	dec    %eax
1400277dc:	83 f8 0a             	cmp    $0xa,%eax
1400277df:	76 0c                	jbe    0x1400277ed
1400277e1:	48 8d 0d 00 86 03 00 	lea    0x38600(%rip),%rcx        # 0x14005fde8
1400277e8:	e8 43 c4 fd ff       	call   0x140003c30
1400277ed:	48 8b fb             	mov    %rbx,%rdi
1400277f0:	8b 4e 18             	mov    0x18(%rsi),%ecx
1400277f3:	8d 41 ff             	lea    -0x1(%rcx),%eax
1400277f6:	83 f8 07             	cmp    $0x7,%eax
1400277f9:	77 20                	ja     0x14002781b
1400277fb:	83 f9 01             	cmp    $0x1,%ecx
1400277fe:	74 1b                	je     0x14002781b
140027800:	83 f9 03             	cmp    $0x3,%ecx
140027803:	74 16                	je     0x14002781b
140027805:	83 f9 05             	cmp    $0x5,%ecx
140027808:	74 11                	je     0x14002781b
14002780a:	83 f9 08             	cmp    $0x8,%ecx
14002780d:	74 0c                	je     0x14002781b
14002780f:	48 8d 0d 92 8a 03 00 	lea    0x38a92(%rip),%rcx        # 0x1400602a8
140027816:	e8 15 c4 fd ff       	call   0x140003c30
14002781b:	48 8b 0e             	mov    (%rsi),%rcx
14002781e:	0f b6 41 09          	movzbl 0x9(%rcx),%eax
140027822:	24 9f                	and    $0x9f,%al
140027824:	0c 10                	or     $0x10,%al
140027826:	e9 a0 00 00 00       	jmp    0x1400278cb
14002782b:	8b 46 18             	mov    0x18(%rsi),%eax
14002782e:	ff c8                	dec    %eax
140027830:	83 f8 0a             	cmp    $0xa,%eax
140027833:	76 0c                	jbe    0x140027841
140027835:	48 8d 0d ac 85 03 00 	lea    0x385ac(%rip),%rcx        # 0x14005fde8
14002783c:	e8 ef c3 fd ff       	call   0x140003c30
140027841:	48 8b fb             	mov    %rbx,%rdi
140027844:	8b 4e 18             	mov    0x18(%rsi),%ecx
140027847:	8d 41 ff             	lea    -0x1(%rcx),%eax
14002784a:	83 f8 07             	cmp    $0x7,%eax
14002784d:	77 20                	ja     0x14002786f
14002784f:	83 f9 01             	cmp    $0x1,%ecx
140027852:	74 1b                	je     0x14002786f
140027854:	83 f9 03             	cmp    $0x3,%ecx
140027857:	74 16                	je     0x14002786f
140027859:	83 f9 05             	cmp    $0x5,%ecx
14002785c:	74 11                	je     0x14002786f
14002785e:	83 f9 08             	cmp    $0x8,%ecx
140027861:	74 0c                	je     0x14002786f
140027863:	48 8d 0d 3e 8a 03 00 	lea    0x38a3e(%rip),%rcx        # 0x1400602a8
14002786a:	e8 c1 c3 fd ff       	call   0x140003c30
14002786f:	48 8b 0e             	mov    (%rsi),%rcx
140027872:	0f b6 41 09          	movzbl 0x9(%rcx),%eax
140027876:	24 af                	and    $0xaf,%al
140027878:	0c 20                	or     $0x20,%al
14002787a:	eb 4f                	jmp    0x1400278cb
14002787c:	8b 46 18             	mov    0x18(%rsi),%eax
14002787f:	ff c8                	dec    %eax
140027881:	83 f8 0a             	cmp    $0xa,%eax
140027884:	76 0c                	jbe    0x140027892
140027886:	48 8d 0d 5b 85 03 00 	lea    0x3855b(%rip),%rcx        # 0x14005fde8
14002788d:	e8 9e c3 fd ff       	call   0x140003c30
140027892:	48 8b fb             	mov    %rbx,%rdi
140027895:	8b 4e 18             	mov    0x18(%rsi),%ecx
140027898:	8d 41 ff             	lea    -0x1(%rcx),%eax
14002789b:	83 f8 07             	cmp    $0x7,%eax
14002789e:	77 20                	ja     0x1400278c0
1400278a0:	83 f9 01             	cmp    $0x1,%ecx
1400278a3:	74 1b                	je     0x1400278c0
1400278a5:	83 f9 03             	cmp    $0x3,%ecx
1400278a8:	74 16                	je     0x1400278c0
1400278aa:	83 f9 05             	cmp    $0x5,%ecx
1400278ad:	74 11                	je     0x1400278c0
1400278af:	83 f9 08             	cmp    $0x8,%ecx
1400278b2:	74 0c                	je     0x1400278c0
1400278b4:	48 8d 0d ed 89 03 00 	lea    0x389ed(%rip),%rcx        # 0x1400602a8
1400278bb:	e8 70 c3 fd ff       	call   0x140003c30
1400278c0:	48 8b 0e             	mov    (%rsi),%rcx
1400278c3:	0f b6 41 09          	movzbl 0x9(%rcx),%eax
1400278c7:	24 bf                	and    $0xbf,%al
1400278c9:	0c 30                	or     $0x30,%al
1400278cb:	88 41 09             	mov    %al,0x9(%rcx)
1400278ce:	b8 02 00 00 00       	mov    $0x2,%eax
1400278d3:	48 03 d8             	add    %rax,%rbx
1400278d6:	48 3b dd             	cmp    %rbp,%rbx
1400278d9:	0f 84 09 fe ff ff    	je     0x1400276e8
1400278df:	66 83 3b 23          	cmpw   $0x23,(%rbx)
1400278e3:	75 2a                	jne    0x14002790f
1400278e5:	8b 46 18             	mov    0x18(%rsi),%eax
1400278e8:	ff c8                	dec    %eax
1400278ea:	83 f8 0a             	cmp    $0xa,%eax
1400278ed:	76 0c                	jbe    0x1400278fb
1400278ef:	48 8d 0d f2 84 03 00 	lea    0x384f2(%rip),%rcx        # 0x14005fde8
1400278f6:	e8 35 c3 fd ff       	call   0x140003c30
1400278fb:	48 8b 06             	mov    (%rsi),%rax
1400278fe:	80 48 09 80          	orb    $0x80,0x9(%rax)
140027902:	48 83 c3 02          	add    $0x2,%rbx
140027906:	48 3b dd             	cmp    %rbp,%rbx
140027909:	0f 84 d9 fd ff ff    	je     0x1400276e8
14002790f:	bf 30 00 00 00       	mov    $0x30,%edi
140027914:	66 39 3b             	cmp    %di,(%rbx)
140027917:	75 3c                	jne    0x140027955
140027919:	8b 46 18             	mov    0x18(%rsi),%eax
14002791c:	ff c8                	dec    %eax
14002791e:	83 f8 0a             	cmp    $0xa,%eax
140027921:	76 0c                	jbe    0x14002792f
140027923:	48 8d 0d be 84 03 00 	lea    0x384be(%rip),%rcx        # 0x14005fde8
14002792a:	e8 01 c3 fd ff       	call   0x140003c30
14002792f:	48 8b 0e             	mov    (%rsi),%rcx
140027932:	0f b6 41 09          	movzbl 0x9(%rcx),%eax
140027936:	a8 0f                	test   $0xf,%al
140027938:	75 07                	jne    0x140027941
14002793a:	24 f4                	and    $0xf4,%al
14002793c:	0c 04                	or     $0x4,%al
14002793e:	88 41 09             	mov    %al,0x9(%rcx)
140027941:	48 8b 06             	mov    (%rsi),%rax
140027944:	66 89 78 0c          	mov    %di,0xc(%rax)
140027948:	48 83 c3 02          	add    $0x2,%rbx
14002794c:	48 3b dd             	cmp    %rbp,%rbx
14002794f:	0f 84 93 fd ff ff    	je     0x1400276e8
140027955:	0f b7 0b             	movzwl (%rbx),%ecx
140027958:	8d 41 d0             	lea    -0x30(%rcx),%eax
14002795b:	66 83 f8 09          	cmp    $0x9,%ax
14002795f:	77 7c                	ja     0x1400279dd
140027961:	45 33 c0             	xor    %r8d,%r8d
140027964:	48 8b d3             	mov    %rbx,%rdx
140027967:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14002796e:	00 00
140027970:	45 8b d0             	mov    %r8d,%r10d
140027973:	44 0f b7 c9          	movzwl %cx,%r9d
140027977:	47 8d 04 80          	lea    (%r8,%r8,4),%r8d
14002797b:	45 8d 40 e8          	lea    -0x18(%r8),%r8d
14002797f:	47 8d 04 41          	lea    (%r9,%r8,2),%r8d
140027983:	48 83 c2 02          	add    $0x2,%rdx
140027987:	48 3b d5             	cmp    %rbp,%rdx
14002798a:	74 0e                	je     0x14002799a
14002798c:	0f b7 0a             	movzwl (%rdx),%ecx
14002798f:	66 3b f9             	cmp    %cx,%di
140027992:	77 06                	ja     0x14002799a
140027994:	66 83 f9 39          	cmp    $0x39,%cx
140027998:	76 d6                	jbe    0x140027970
14002799a:	48 8b c2             	mov    %rdx,%rax
14002799d:	48 2b c3             	sub    %rbx,%rax
1400279a0:	48 d1 f8             	sar    $1,%rax
1400279a3:	48 8b da             	mov    %rdx,%rbx
1400279a6:	48 83 f8 09          	cmp    $0x9,%rax
1400279aa:	7e 1a                	jle    0x1400279c6
1400279ac:	48 83 f8 0a          	cmp    $0xa,%rax
1400279b0:	75 22                	jne    0x1400279d4
1400279b2:	41 8d 41 d0          	lea    -0x30(%r9),%eax
1400279b6:	4b 8d 0c 92          	lea    (%r10,%r10,4),%rcx
1400279ba:	48 8d 04 48          	lea    (%rax,%rcx,2),%rax
1400279be:	48 3d ff ff ff 7f    	cmp    $0x7fffffff,%rax
1400279c4:	77 0e                	ja     0x1400279d4
1400279c6:	41 83 f8 ff          	cmp    $0xffffffff,%r8d
1400279ca:	74 08                	je     0x1400279d4
1400279cc:	48 8b 06             	mov    (%rsi),%rax
1400279cf:	44 89 00             	mov    %r8d,(%rax)
1400279d2:	eb 5c                	jmp    0x140027a30
1400279d4:	48 8d 0d 65 82 03 00 	lea    0x38265(%rip),%rcx        # 0x14005fc40
1400279db:	eb 4e                	jmp    0x140027a2b
1400279dd:	66 83 f9 7b          	cmp    $0x7b,%cx
1400279e1:	75 4d                	jne    0x140027a30
1400279e3:	48 83 c3 02          	add    $0x2,%rbx
1400279e7:	48 3b dd             	cmp    %rbp,%rbx
1400279ea:	74 38                	je     0x140027a24
1400279ec:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
1400279f1:	0f b7 03             	movzwl (%rbx),%eax
1400279f4:	66 83 f8 7d          	cmp    $0x7d,%ax
1400279f8:	0f 84 cf 00 00 00    	je     0x140027acd
1400279fe:	66 83 f8 3a          	cmp    $0x3a,%ax
140027a02:	0f 84 c5 00 00 00    	je     0x140027acd
140027a08:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
140027a0d:	48 8b d5             	mov    %rbp,%rdx
140027a10:	48 8b cb             	mov    %rbx,%rcx
140027a13:	e8 f8 30 00 00       	call   0x14002ab10
140027a18:	48 8b d8             	mov    %rax,%rbx
140027a1b:	48 3b c5             	cmp    %rbp,%rax
140027a1e:	0f 85 e0 00 00 00    	jne    0x140027b04
140027a24:	48 8d 0d 55 82 03 00 	lea    0x38255(%rip),%rcx        # 0x14005fc80
140027a2b:	e8 00 c2 fd ff       	call   0x140003c30
140027a30:	48 8b fb             	mov    %rbx,%rdi
140027a33:	48 3b dd             	cmp    %rbp,%rbx
140027a36:	0f 84 ac fc ff ff    	je     0x1400276e8
140027a3c:	66 83 3b 2e          	cmpw   $0x2e,(%rbx)
140027a40:	75 16                	jne    0x140027a58
140027a42:	4c 8b c6             	mov    %rsi,%r8
140027a45:	48 8b d5             	mov    %rbp,%rdx
140027a48:	48 8b cb             	mov    %rbx,%rcx
140027a4b:	e8 20 11 00 00       	call   0x140028b70
140027a50:	48 8b f8             	mov    %rax,%rdi
140027a53:	48 3b c5             	cmp    %rbp,%rax
140027a56:	74 5a                	je     0x140027ab2
140027a58:	66 83 3f 4c          	cmpw   $0x4c,(%rdi)
140027a5c:	75 21                	jne    0x140027a7f
140027a5e:	8b 46 18             	mov    0x18(%rsi),%eax
140027a61:	ff c8                	dec    %eax
140027a63:	83 f8 0a             	cmp    $0xa,%eax
140027a66:	76 0c                	jbe    0x140027a74
140027a68:	48 8d 0d 79 83 03 00 	lea    0x38379(%rip),%rcx        # 0x14005fde8
140027a6f:	e8 bc c1 fd ff       	call   0x140003c30
140027a74:	48 8b 06             	mov    (%rsi),%rax
140027a77:	80 48 0a 01          	orb    $0x1,0xa(%rax)
140027a7b:	48 83 c7 02          	add    $0x2,%rdi
140027a7f:	48 3b fd             	cmp    %rbp,%rdi
140027a82:	74 2b                	je     0x140027aaf
140027a84:	0f b7 0f             	movzwl (%rdi),%ecx
140027a87:	66 83 f9 7d          	cmp    $0x7d,%cx
140027a8b:	74 22                	je     0x140027aaf
140027a8d:	48 83 c7 02          	add    $0x2,%rdi
140027a91:	e8 ea 0f 00 00       	call   0x140028a80
140027a96:	84 c0                	test   %al,%al
140027a98:	0f b6 d8             	movzbl %al,%ebx
140027a9b:	75 0c                	jne    0x140027aa9
140027a9d:	48 8d 0d 0c 83 03 00 	lea    0x3830c(%rip),%rcx        # 0x14005fdb0
140027aa4:	e8 87 c1 fd ff       	call   0x140003c30
140027aa9:	48 8b 0e             	mov    (%rsi),%rcx
140027aac:	88 59 08             	mov    %bl,0x8(%rcx)
140027aaf:	48 8b c7             	mov    %rdi,%rax
140027ab2:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140027ab7:	48 33 cc             	xor    %rsp,%rcx
140027aba:	e8 41 1d 03 00       	call   0x140059800
140027abf:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140027ac6:	41 5e                	pop    %r14
140027ac8:	5f                   	pop    %rdi
140027ac9:	5e                   	pop    %rsi
140027aca:	5d                   	pop    %rbp
140027acb:	5b                   	pop    %rbx
140027acc:	c3                   	ret
140027acd:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140027ad2:	48 8b ce             	mov    %rsi,%rcx
140027ad5:	e8 d6 eb fe ff       	call   0x1400166b0
140027ada:	0f 10 00             	movups (%rax),%xmm0
140027add:	0f 29 44 24 30       	movaps %xmm0,0x30(%rsp)
140027ae2:	f2 0f 10 48 10       	movsd  0x10(%rax),%xmm1
140027ae7:	f2 0f 11 4c 24 40    	movsd  %xmm1,0x40(%rsp)
140027aed:	0f b6 54 24 20       	movzbl 0x20(%rsp),%edx
140027af2:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140027af7:	e8 e4 f9 fe ff       	call   0x1400174e0
140027afc:	48 8b 0e             	mov    (%rsi),%rcx
140027aff:	89 01                	mov    %eax,(%rcx)
140027b01:	48 8b c3             	mov    %rbx,%rax
140027b04:	66 83 38 7d          	cmpw   $0x7d,(%rax)
140027b08:	0f 85 16 ff ff ff    	jne    0x140027a24
140027b0e:	48 8d 58 02          	lea    0x2(%rax),%rbx
140027b12:	e9 19 ff ff ff       	jmp    0x140027a30
140027b17:	48 8d 1d 1a 7e 03 00 	lea    0x37e1a(%rip),%rbx        # 0x14005f938
140027b1e:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140027b23:	0f 57 c0             	xorps  %xmm0,%xmm0
140027b26:	0f 11 44 24 38       	movups %xmm0,0x38(%rsp)
140027b2b:	48 8d 05 a6 87 03 00 	lea    0x387a6(%rip),%rax        # 0x1400602d8
140027b32:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
140027b37:	c6 44 24 70 01       	movb   $0x1,0x70(%rsp)
140027b3c:	48 8d 54 24 38       	lea    0x38(%rsp),%rdx
140027b41:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140027b46:	ff 15 7c 78 03 00    	call   *0x3787c(%rip)        # 0x14005f3c8
140027b4c:	48 8d 05 05 8e 03 00 	lea    0x38e05(%rip),%rax        # 0x140060958
140027b53:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140027b58:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
140027b5d:	0f b6 44 24 20       	movzbl 0x20(%rsp),%eax
140027b62:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140027b67:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140027b6c:	e8 2f 54 fe ff       	call   0x14000cfa0
140027b71:	48 8d 15 58 d6 04 00 	lea    0x4d658(%rip),%rdx        # 0x1400751d0
140027b78:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140027b7d:	e8 22 2c 03 00       	call   0x14005a7a4
140027b82:	cc                   	int3
140027b83:	cc                   	int3
140027b84:	cc                   	int3
140027b85:	cc                   	int3
140027b86:	cc                   	int3
140027b87:	cc                   	int3
140027b88:	cc                   	int3
140027b89:	cc                   	int3
140027b8a:	cc                   	int3
140027b8b:	cc                   	int3
140027b8c:	cc                   	int3
140027b8d:	cc                   	int3
140027b8e:	cc                   	int3
140027b8f:	cc                   	int3
140027b90:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140027b95:	55                   	push   %rbp
140027b96:	56                   	push   %rsi
140027b97:	57                   	push   %rdi
140027b98:	41 56                	push   %r14
140027b9a:	41 57                	push   %r15
140027b9c:	48 8b ec             	mov    %rsp,%rbp
140027b9f:	48 83 ec 70          	sub    $0x70,%rsp
140027ba3:	41 8b 40 10          	mov    0x10(%r8),%eax
140027ba7:	4d 8b d8             	mov    %r8,%r11
140027baa:	ff c8                	dec    %eax
140027bac:	4c 8b d2             	mov    %rdx,%r10
140027baf:	48 8b f9             	mov    %rcx,%rdi
140027bb2:	83 f8 0e             	cmp    $0xe,%eax
140027bb5:	0f 87 1f 03 00 00    	ja     0x140027eda
140027bbb:	48 8d 15 3e 84 fd ff 	lea    -0x27bc2(%rip),%rdx        # 0x140000000
140027bc2:	48 98                	cltq
140027bc4:	8b 8c 82 f8 7e 02 00 	mov    0x27ef8(%rdx,%rax,4),%ecx
140027bcb:	48 03 ca             	add    %rdx,%rcx
140027bce:	ff e1                	jmp    *%rcx
140027bd0:	41 8b 10             	mov    (%r8),%edx
140027bd3:	49 8b 42 10          	mov    0x10(%r10),%rax
140027bd7:	4d 8b 4a 08          	mov    0x8(%r10),%r9
140027bdb:	85 d2                	test   %edx,%edx
140027bdd:	79 09                	jns    0x140027be8
140027bdf:	b9 2d 00 00 01       	mov    $0x100002d,%ecx
140027be4:	f7 da                	neg    %edx
140027be6:	eb 24                	jmp    0x140027c0c
140027be8:	33 c9                	xor    %ecx,%ecx
140027bea:	c7 45 c8 2b 00 00 01 	movl   $0x100002b,-0x38(%rbp)
140027bf1:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
140027bf5:	41 0f b6 49 09       	movzbl 0x9(%r9),%ecx
140027bfa:	48 c1 e9 04          	shr    $0x4,%rcx
140027bfe:	83 e1 07             	and    $0x7,%ecx
140027c01:	c7 45 cc 20 00 00 01 	movl   $0x1000020,-0x34(%rbp)
140027c08:	8b 4c 8d c0          	mov    -0x40(%rbp,%rcx,4),%ecx
140027c0c:	44 8b c1             	mov    %ecx,%r8d
140027c0f:	8b ca                	mov    %edx,%ecx
140027c11:	49 8b 12             	mov    (%r10),%rdx
140027c14:	49 c1 e0 20          	shl    $0x20,%r8
140027c18:	4c 0b c1             	or     %rcx,%r8
140027c1b:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140027c20:	48 8b cf             	mov    %rdi,%rcx
140027c23:	e8 98 3b 00 00       	call   0x14002b7c0
140027c28:	e9 b3 02 00 00       	jmp    0x140027ee0
140027c2d:	4d 8b 4a 08          	mov    0x8(%r10),%r9
140027c31:	33 c9                	xor    %ecx,%ecx
140027c33:	49 8b 42 10          	mov    0x10(%r10),%rax
140027c37:	48 89 4d c0          	mov    %rcx,-0x40(%rbp)
140027c3b:	c7 45 c8 2b 00 00 01 	movl   $0x100002b,-0x38(%rbp)
140027c42:	41 0f b6 49 09       	movzbl 0x9(%r9),%ecx
140027c47:	48 c1 e9 04          	shr    $0x4,%rcx
140027c4b:	83 e1 07             	and    $0x7,%ecx