14016fcd6:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
14016fcda:	48 2b c1             	sub    %rcx,%rax
14016fcdd:	48 d1 f8             	sar    $1,%rax
14016fce0:	48 83 f8 0a          	cmp    $0xa,%rax
14016fce4:	0f 83 a2 00 00 00    	jae    0x14016fd8c
14016fcea:	44 3b ee             	cmp    %esi,%r13d
14016fced:	7f 0f                	jg     0x14016fcfe
14016fcef:	45 03 e7             	add    %r15d,%r12d
14016fcf2:	48 85 c0             	test   %rax,%rax
14016fcf5:	74 23                	je     0x14016fd1a
14016fcf7:	44 88 7c 24 3c       	mov    %r15b,0x3c(%rsp)
14016fcfc:	eb 1c                	jmp    0x14016fd1a
14016fcfe:	48 85 c0             	test   %rax,%rax
14016fd01:	75 04                	jne    0x14016fd07
14016fd03:	85 f6                	test   %esi,%esi
14016fd05:	74 13                	je     0x14016fd1a
14016fd07:	48 8d 0d 0a 09 0b 00 	lea    0xb090a(%rip),%rcx        # 0x140220618
14016fd0e:	8a 04 08             	mov    (%rax,%rcx,1),%al
14016fd11:	41 88 06             	mov    %al,(%r14)
14016fd14:	4d 03 f7             	add    %r15,%r14
14016fd17:	41 03 f7             	add    %r15d,%esi
14016fd1a:	44 88 7c 24 30       	mov    %r15b,0x30(%rsp)
14016fd1f:	48 8b 0f             	mov    (%rdi),%rcx
14016fd22:	48 85 c9             	test   %rcx,%rcx
14016fd25:	74 46                	je     0x14016fd6d
14016fd27:	48 8b 41 38          	mov    0x38(%rcx),%rax
14016fd2b:	4c 39 00             	cmp    %r8,(%rax)
14016fd2e:	74 1e                	je     0x14016fd4e
14016fd30:	48 8b 41 50          	mov    0x50(%rcx),%rax
14016fd34:	44 39 00             	cmp    %r8d,(%rax)
14016fd37:	7e 15                	jle    0x14016fd4e
14016fd39:	ff 08                	decl   (%rax)
14016fd3b:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14016fd3f:	48 8b 11             	mov    (%rcx),%rdx
14016fd42:	48 8d 42 02          	lea    0x2(%rdx),%rax
14016fd46:	48 89 01             	mov    %rax,(%rcx)
14016fd49:	0f b7 02             	movzwl (%rdx),%eax
14016fd4c:	eb 10                	jmp    0x14016fd5e
14016fd4e:	48 8b 01             	mov    (%rcx),%rax
14016fd51:	48 8b 40 38          	mov    0x38(%rax),%rax
14016fd55:	ff 15 c5 e8 08 00    	call   *0x8e8c5(%rip)        # 0x1401fe620
14016fd5b:	45 33 c0             	xor    %r8d,%r8d
14016fd5e:	b9 ff ff 00 00       	mov    $0xffff,%ecx
14016fd63:	66 3b c8             	cmp    %ax,%cx
14016fd66:	74 05                	je     0x14016fd6d
14016fd68:	41 8a c0             	mov    %r8b,%al
14016fd6b:	eb 06                	jmp    0x14016fd73
14016fd6d:	4c 89 07             	mov    %r8,(%rdi)
14016fd70:	41 8a c7             	mov    %r15b,%al
14016fd73:	88 47 08             	mov    %al,0x8(%rdi)
14016fd76:	48 8b d3             	mov    %rbx,%rdx
14016fd79:	48 8b cf             	mov    %rdi,%rcx
14016fd7c:	e8 8f 26 01 00       	call   0x140182410
14016fd81:	45 33 c0             	xor    %r8d,%r8d
14016fd84:	84 c0                	test   %al,%al
14016fd86:	0f 84 e1 fe ff ff    	je     0x14016fc6d
14016fd8c:	44 89 64 24 34       	mov    %r12d,0x34(%rsp)
14016fd91:	89 74 24 38          	mov    %esi,0x38(%rsp)
14016fd95:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
14016fd9a:	e9 57 fe ff ff       	jmp    0x14016fbf6
14016fd9f:	48 8b 01             	mov    (%rcx),%rax
14016fda2:	48 8b 40 30          	mov    0x30(%rax),%rax
14016fda6:	ff 15 74 e8 08 00    	call   *0x8e874(%rip)        # 0x1401fe620
14016fdac:	b9 ff ff 00 00       	mov    $0xffff,%ecx
14016fdb1:	66 3b c8             	cmp    %ax,%cx
14016fdb4:	74 06                	je     0x14016fdbc
14016fdb6:	66 89 47 0a          	mov    %ax,0xa(%rdi)
14016fdba:	eb 03                	jmp    0x14016fdbf
14016fdbc:	48 89 1f             	mov    %rbx,(%rdi)
14016fdbf:	c6 47 08 01          	movb   $0x1,0x8(%rdi)
14016fdc3:	0f b7 5f 0a          	movzwl 0xa(%rdi),%ebx
14016fdc7:	49 8b 07             	mov    (%r15),%rax
14016fdca:	49 8b cf             	mov    %r15,%rcx
14016fdcd:	48 8b 40 18          	mov    0x18(%rax),%rax
14016fdd1:	ff 15 49 e8 08 00    	call   *0x8e849(%rip)        # 0x1401fe620
14016fdd7:	66 3b d8             	cmp    %ax,%bx
14016fdda:	75 76                	jne    0x14016fe52
14016fddc:	e8 d3 1f 02 00       	call   0x140191db4
14016fde1:	48 8b 08             	mov    (%rax),%rcx
14016fde4:	8a 01                	mov    (%rcx),%al
14016fde6:	41 88 06             	mov    %al,(%r14)
14016fde9:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14016fdef:	4d 03 f0             	add    %r8,%r14
14016fdf2:	4c 89 74 24 50       	mov    %r14,0x50(%rsp)
14016fdf7:	48 8b 0f             	mov    (%rdi),%rcx
14016fdfa:	33 db                	xor    %ebx,%ebx
14016fdfc:	48 85 c9             	test   %rcx,%rcx
14016fdff:	74 48                	je     0x14016fe49
14016fe01:	48 8b 41 38          	mov    0x38(%rcx),%rax
14016fe05:	48 39 18             	cmp    %rbx,(%rax)
14016fe08:	74 1d                	je     0x14016fe27
14016fe0a:	48 8b 41 50          	mov    0x50(%rcx),%rax
14016fe0e:	39 18                	cmp    %ebx,(%rax)
14016fe10:	7e 15                	jle    0x14016fe27
14016fe12:	ff 08                	decl   (%rax)
14016fe14:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14016fe18:	48 8b 11             	mov    (%rcx),%rdx
14016fe1b:	48 8d 42 02          	lea    0x2(%rdx),%rax
14016fe1f:	48 89 01             	mov    %rax,(%rcx)
14016fe22:	0f b7 02             	movzwl (%rdx),%eax
14016fe25:	eb 13                	jmp    0x14016fe3a
14016fe27:	48 8b 01             	mov    (%rcx),%rax
14016fe2a:	48 8b 40 38          	mov    0x38(%rax),%rax
14016fe2e:	ff 15 ec e7 08 00    	call   *0x8e7ec(%rip)        # 0x1401fe620
14016fe34:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14016fe3a:	b9 ff ff 00 00       	mov    $0xffff,%ecx
14016fe3f:	66 3b c8             	cmp    %ax,%cx
14016fe42:	74 05                	je     0x14016fe49
14016fe44:	88 5f 08             	mov    %bl,0x8(%rdi)
14016fe47:	eb 0b                	jmp    0x14016fe54
14016fe49:	48 89 1f             	mov    %rbx,(%rdi)
14016fe4c:	44 88 47 08          	mov    %r8b,0x8(%rdi)
14016fe50:	eb 02                	jmp    0x14016fe54
14016fe52:	33 db                	xor    %ebx,%ebx
14016fe54:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
14016fe59:	41 81 3c 24 00 ca 9a 	cmpl   $0x3b9aca00,(%r12)
14016fe60:	3b
14016fe61:	0f 84 17 01 00 00    	je     0x14016ff7e
14016fe67:	85 f6                	test   %esi,%esi
14016fe69:	0f 85 0f 01 00 00    	jne    0x14016ff7e
14016fe6f:	49 8b d7             	mov    %r15,%rdx
14016fe72:	48 8b cf             	mov    %rdi,%rcx
14016fe75:	e8 96 25 01 00       	call   0x140182410
14016fe7a:	84 c0                	test   %al,%al
14016fe7c:	0f 85 dc 00 00 00    	jne    0x14016ff5e
14016fe82:	44 8b 6c 24 34       	mov    0x34(%rsp),%r13d
14016fe87:	be 01 00 00 00       	mov    $0x1,%esi
14016fe8c:	41 be ff ff 00 00    	mov    $0xffff,%r14d
14016fe92:	38 5f 08             	cmp    %bl,0x8(%rdi)
14016fe95:	75 41                	jne    0x14016fed8
14016fe97:	48 8b 0f             	mov    (%rdi),%rcx
14016fe9a:	48 85 c9             	test   %rcx,%rcx
14016fe9d:	74 32                	je     0x14016fed1
14016fe9f:	48 8b 41 38          	mov    0x38(%rcx),%rax
14016fea3:	48 8b 10             	mov    (%rax),%rdx
14016fea6:	48 85 d2             	test   %rdx,%rdx
14016fea9:	74 0d                	je     0x14016feb8
14016feab:	48 8b 41 50          	mov    0x50(%rcx),%rax
14016feaf:	39 18                	cmp    %ebx,(%rax)
14016feb1:	7e 05                	jle    0x14016feb8
14016feb3:	0f b7 02             	movzwl (%rdx),%eax
14016feb6:	eb 0d                	jmp    0x14016fec5
14016feb8:	48 8b 01             	mov    (%rcx),%rax
14016febb:	48 8b 40 30          	mov    0x30(%rax),%rax
14016febf:	ff 15 5b e7 08 00    	call   *0x8e75b(%rip)        # 0x1401fe620
14016fec5:	66 44 3b f0          	cmp    %ax,%r14w
14016fec9:	74 06                	je     0x14016fed1
14016fecb:	66 89 47 0a          	mov    %ax,0xa(%rdi)
14016fecf:	eb 03                	jmp    0x14016fed4
14016fed1:	48 89 1f             	mov    %rbx,(%rdi)
14016fed4:	40 88 77 08          	mov    %sil,0x8(%rdi)
14016fed8:	0f b7 47 0a          	movzwl 0xa(%rdi),%eax
14016fedc:	66 3b 45 ef          	cmp    -0x11(%rbp),%ax
14016fee0:	75 69                	jne    0x14016ff4b
14016fee2:	44 2b ee             	sub    %esi,%r13d
14016fee5:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
14016feea:	48 8b 0f             	mov    (%rdi),%rcx
14016feed:	48 85 c9             	test   %rcx,%rcx
14016fef0:	74 3d                	je     0x14016ff2f
14016fef2:	48 8b 41 38          	mov    0x38(%rcx),%rax
14016fef6:	48 39 18             	cmp    %rbx,(%rax)
14016fef9:	74 1d                	je     0x14016ff18
14016fefb:	48 8b 41 50          	mov    0x50(%rcx),%rax
14016feff:	39 18                	cmp    %ebx,(%rax)
14016ff01:	7e 15                	jle    0x14016ff18
14016ff03:	ff 08                	decl   (%rax)
14016ff05:	48 8b 49 38          	mov    0x38(%rcx),%rcx
14016ff09:	48 8b 11             	mov    (%rcx),%rdx
14016ff0c:	48 8d 42 02          	lea    0x2(%rdx),%rax
14016ff10:	48 89 01             	mov    %rax,(%rcx)
14016ff13:	0f b7 02             	movzwl (%rdx),%eax
14016ff16:	eb 0d                	jmp    0x14016ff25
14016ff18:	48 8b 01             	mov    (%rcx),%rax
14016ff1b:	48 8b 40 38          	mov    0x38(%rax),%rax
14016ff1f:	ff 15 fb e6 08 00    	call   *0x8e6fb(%rip)        # 0x1401fe620
14016ff25:	66 44 3b f0          	cmp    %ax,%r14w
14016ff29:	74 04                	je     0x14016ff2f
14016ff2b:	8a c3                	mov    %bl,%al
14016ff2d:	eb 06                	jmp    0x14016ff35
14016ff2f:	48 89 1f             	mov    %rbx,(%rdi)
14016ff32:	40 8a c6             	mov    %sil,%al
14016ff35:	88 47 08             	mov    %al,0x8(%rdi)
14016ff38:	49 8b d7             	mov    %r15,%rdx
14016ff3b:	48 8b cf             	mov    %rdi,%rcx
14016ff3e:	e8 cd 24 01 00       	call   0x140182410
14016ff43:	84 c0                	test   %al,%al
14016ff45:	0f 84 47 ff ff ff    	je     0x14016fe92
14016ff4b:	44 89 6c 24 34       	mov    %r13d,0x34(%rsp)
14016ff50:	4c 8b 74 24 50       	mov    0x50(%rsp),%r14
14016ff55:	8b 74 24 38          	mov    0x38(%rsp),%esi
14016ff59:	44 8b 6c 24 40       	mov    0x40(%rsp),%r13d
14016ff5e:	44 8b 64 24 34       	mov    0x34(%rsp),%r12d
14016ff63:	45 85 e4             	test   %r12d,%r12d
14016ff66:	79 1b                	jns    0x14016ff83
14016ff68:	41 c6 06 30          	movb   $0x30,(%r14)
14016ff6c:	b8 01 00 00 00       	mov    $0x1,%eax
14016ff71:	4c 03 f0             	add    %rax,%r14
14016ff74:	44 03 e0             	add    %eax,%r12d
14016ff77:	44 89 64 24 34       	mov    %r12d,0x34(%rsp)
14016ff7c:	eb 05                	jmp    0x14016ff83
14016ff7e:	44 8b 64 24 34       	mov    0x34(%rsp),%r12d
14016ff83:	49 8b d7             	mov    %r15,%rdx
14016ff86:	48 8b cf             	mov    %rdi,%rcx
14016ff89:	e8 82 24 01 00       	call   0x140182410
14016ff8e:	84 c0                	test   %al,%al
14016ff90:	0f 85 19 01 00 00    	jne    0x1401700af
14016ff96:	41 bc 01 00 00 00    	mov    $0x1,%r12d
14016ff9c:	38 5f 08             	cmp    %bl,0x8(%rdi)
14016ff9f:	75 45                	jne    0x14016ffe6
14016ffa1:	48 8b 0f             	mov    (%rdi),%rcx
14016ffa4:	48 85 c9             	test   %rcx,%rcx
14016ffa7:	74 36                	je     0x14016ffdf
14016ffa9:	48 8b 41 38          	mov    0x38(%rcx),%rax
14016ffad:	48 8b 10             	mov    (%rax),%rdx
14016ffb0:	48 85 d2             	test   %rdx,%rdx
14016ffb3:	74 0d                	je     0x14016ffc2
14016ffb5:	48 8b 41 50          	mov    0x50(%rcx),%rax
14016ffb9:	39 18                	cmp    %ebx,(%rax)
14016ffbb:	7e 05                	jle    0x14016ffc2
14016ffbd:	0f b7 02             	movzwl (%rdx),%eax
14016ffc0:	eb 0d                	jmp    0x14016ffcf
14016ffc2:	48 8b 01             	mov    (%rcx),%rax
14016ffc5:	48 8b 40 30          	mov    0x30(%rax),%rax
14016ffc9:	ff 15 51 e6 08 00    	call   *0x8e651(%rip)        # 0x1401fe620
14016ffcf:	b9 ff ff 00 00       	mov    $0xffff,%ecx
14016ffd4:	66 3b c8             	cmp    %ax,%cx
14016ffd7:	74 06                	je     0x14016ffdf
14016ffd9:	66 89 47 0a          	mov    %ax,0xa(%rdi)
14016ffdd:	eb 03                	jmp    0x14016ffe2
14016ffdf:	48 89 1f             	mov    %rbx,(%rdi)
14016ffe2:	44 88 67 08          	mov    %r12b,0x8(%rdi)
14016ffe6:	0f b7 4f 0a          	movzwl 0xa(%rdi),%ecx
14016ffea:	48 8d 45 ef          	lea    -0x11(%rbp),%rax
14016ffee:	66 39 08             	cmp    %cx,(%rax)
14016fff1:	74 0d                	je     0x140170000
14016fff3:	48 83 c0 02          	add    $0x2,%rax
14016fff7:	48 8d 55 0b          	lea    0xb(%rbp),%rdx
14016fffb:	48 3b c2             	cmp    %rdx,%rax
14016fffe:	75 ee                	jne    0x14016ffee
140170000:	48 8d 4d ef          	lea    -0x11(%rbp),%rcx
140170004:	48 2b c1             	sub    %rcx,%rax
140170007:	48 d1 f8             	sar    $1,%rax
14017000a:	48 83 f8 0a          	cmp    $0xa,%rax
14017000e:	0f 83 96 00 00 00    	jae    0x1401700aa
140170014:	41 3b f5             	cmp    %r13d,%esi
140170017:	7d 15                	jge    0x14017002e
140170019:	48 8d 0d f8 05 0b 00 	lea    0xb05f8(%rip),%rcx        # 0x140220618
140170020:	8a 04 08             	mov    (%rax,%rcx,1),%al
140170023:	41 88 06             	mov    %al,(%r14)
140170026:	4d 03 f4             	add    %r12,%r14
140170029:	41 03 f4             	add    %r12d,%esi
14017002c:	eb 12                	jmp    0x140170040
14017002e:	8b 4c 24 3c          	mov    0x3c(%rsp),%ecx
140170032:	0f b6 c9             	movzbl %cl,%ecx
140170035:	48 85 c0             	test   %rax,%rax
140170038:	41 0f 45 cc          	cmovne %r12d,%ecx
14017003c:	89 4c 24 3c          	mov    %ecx,0x3c(%rsp)
140170040:	44 88 64 24 30       	mov    %r12b,0x30(%rsp)
140170045:	48 8b 0f             	mov    (%rdi),%rcx
140170048:	48 85 c9             	test   %rcx,%rcx
14017004b:	74 41                	je     0x14017008e
14017004d:	48 8b 41 38          	mov    0x38(%rcx),%rax
140170051:	48 39 18             	cmp    %rbx,(%rax)
140170054:	74 1d                	je     0x140170073
140170056:	48 8b 41 50          	mov    0x50(%rcx),%rax
14017005a:	39 18                	cmp    %ebx,(%rax)
14017005c:	7e 15                	jle    0x140170073
14017005e:	ff 08                	decl   (%rax)
140170060:	48 8b 49 38          	mov    0x38(%rcx),%rcx
140170064:	48 8b 11             	mov    (%rcx),%rdx
140170067:	48 8d 42 02          	lea    0x2(%rdx),%rax
14017006b:	48 89 01             	mov    %rax,(%rcx)
14017006e:	0f b7 02             	movzwl (%rdx),%eax
140170071:	eb 0d                	jmp    0x140170080
140170073:	48 8b 01             	mov    (%rcx),%rax
140170076:	48 8b 40 38          	mov    0x38(%rax),%rax
14017007a:	ff 15 a0 e5 08 00    	call   *0x8e5a0(%rip)        # 0x1401fe620
140170080:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140170085:	66 3b c8             	cmp    %ax,%cx
140170088:	74 04                	je     0x14017008e
14017008a:	8a c3                	mov    %bl,%al
14017008c:	eb 06                	jmp    0x140170094
14017008e:	48 89 1f             	mov    %rbx,(%rdi)
140170091:	41 8a c4             	mov    %r12b,%al
140170094:	88 47 08             	mov    %al,0x8(%rdi)
140170097:	49 8b d7             	mov    %r15,%rdx
14017009a:	48 8b cf             	mov    %rdi,%rcx
14017009d:	e8 6e 23 01 00       	call   0x140182410
1401700a2:	84 c0                	test   %al,%al
1401700a4:	0f 84 f2 fe ff ff    	je     0x14016ff9c
1401700aa:	44 8b 64 24 34       	mov    0x34(%rsp),%r12d
1401700af:	45 33 ed             	xor    %r13d,%r13d
1401700b2:	44 38 6c 24 3c       	cmp    %r13b,0x3c(%rsp)
1401700b7:	74 4e                	je     0x140170107
1401700b9:	49 8d 5e ff          	lea    -0x1(%r14),%rbx
1401700bd:	4c 8b 7d 9f          	mov    -0x61(%rbp),%r15
1401700c1:	49 3b df             	cmp    %r15,%rbx
1401700c4:	74 25                	je     0x1401700eb
1401700c6:	e8 e9 1c 02 00       	call   0x140191db4
1401700cb:	8a 0b                	mov    (%rbx),%cl
1401700cd:	48 8b 00             	mov    (%rax),%rax
1401700d0:	3a 08                	cmp    (%rax),%cl
1401700d2:	74 08                	je     0x1401700dc
1401700d4:	80 f9 39             	cmp    $0x39,%cl
1401700d7:	75 08                	jne    0x1401700e1
1401700d9:	c6 03 30             	movb   $0x30,(%rbx)
1401700dc:	48 ff cb             	dec    %rbx
1401700df:	eb e0                	jmp    0x1401700c1
1401700e1:	80 c1 01             	add    $0x1,%cl
1401700e4:	88 0b                	mov    %cl,(%rbx)
1401700e6:	49 3b df             	cmp    %r15,%rbx
1401700e9:	75 17                	jne    0x140170102
1401700eb:	c6 03 31             	movb   $0x31,(%rbx)
1401700ee:	bb 01 00 00 00       	mov    $0x1,%ebx
1401700f3:	44 03 e3             	add    %ebx,%r12d
1401700f6:	44 89 64 24 34       	mov    %r12d,0x34(%rsp)
1401700fb:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
140170100:	eb 0a                	jmp    0x14017010c
140170102:	4c 8b 7c 24 48       	mov    0x48(%rsp),%r15
140170107:	bb 01 00 00 00       	mov    $0x1,%ebx
14017010c:	40 8a 74 24 30       	mov    0x30(%rsp),%sil
140170111:	40 84 f6             	test   %sil,%sil
140170114:	0f 84 cc 04 00 00    	je     0x1401705e6
14017011a:	49 8b d7             	mov    %r15,%rdx
14017011d:	48 8b cf             	mov    %rdi,%rcx
140170120:	e8 eb 22 01 00       	call   0x140182410
140170125:	84 c0                	test   %al,%al
140170127:	0f 85 b9 04 00 00    	jne    0x1401705e6
14017012d:	8a 4f 08             	mov    0x8(%rdi),%cl
140170130:	84 c9                	test   %cl,%cl
140170132:	75 47                	jne    0x14017017b
140170134:	48 8b 0f             	mov    (%rdi),%rcx
140170137:	48 85 c9             	test   %rcx,%rcx
14017013a:	74 37                	je     0x140170173
14017013c:	48 8b 41 38          	mov    0x38(%rcx),%rax
140170140:	48 8b 10             	mov    (%rax),%rdx
140170143:	48 85 d2             	test   %rdx,%rdx
140170146:	74 0e                	je     0x140170156
140170148:	48 8b 41 50          	mov    0x50(%rcx),%rax
14017014c:	44 39 28             	cmp    %r13d,(%rax)
14017014f:	7e 05                	jle    0x140170156
140170151:	0f b7 02             	movzwl (%rdx),%eax
140170154:	eb 0d                	jmp    0x140170163
140170156:	48 8b 01             	mov    (%rcx),%rax
140170159:	48 8b 40 30          	mov    0x30(%rax),%rax
14017015d:	ff 15 bd e4 08 00    	call   *0x8e4bd(%rip)        # 0x1401fe620
140170163:	b9 ff ff 00 00       	mov    $0xffff,%ecx
140170168:	66 3b c8             	cmp    %ax,%cx
14017016b:	74 06                	je     0x140170173
14017016d:	66 89 47 0a          	mov    %ax,0xa(%rdi)