14008ef72:	4c 8b 0c c3          	mov    (%rbx,%rax,8),%r9
14008ef76:	49 ff c0             	inc    %r8
14008ef79:	43 80 3c 01 00       	cmpb   $0x0,(%r9,%r8,1)
14008ef7e:	75 f6                	jne    0x14008ef76
14008ef80:	33 c0                	xor    %eax,%eax
14008ef82:	4d 3b d8             	cmp    %r8,%r11
14008ef85:	0f 96 c0             	setbe  %al
14008ef88:	44 8d 04 02          	lea    (%rdx,%rax,1),%r8d
14008ef8c:	49 8b d3             	mov    %r11,%rdx
14008ef8f:	4c 03 c1             	add    %rcx,%r8
14008ef92:	49 8b ca             	mov    %r10,%rcx
14008ef95:	4e 8b 04 c3          	mov    (%rbx,%r8,8),%r8
14008ef99:	e8 a2 cb ff ff       	call   0x14008bb40
14008ef9e:	85 c0                	test   %eax,%eax
14008efa0:	0f 85 45 01 00 00    	jne    0x14008f0eb
14008efa6:	45 33 c0             	xor    %r8d,%r8d
14008efa9:	41 8b c0             	mov    %r8d,%eax
14008efac:	e9 2a 01 00 00       	jmp    0x14008f0db
14008efb1:	48 8b d3             	mov    %rbx,%rdx
14008efb4:	80 e3 20             	and    $0x20,%bl
14008efb7:	48 c1 ea 04          	shr    $0x4,%rdx
14008efbb:	83 e2 01             	and    $0x1,%edx
14008efbe:	83 ca 02             	or     $0x2,%edx
14008efc1:	f6 db                	neg    %bl
14008efc3:	1b db                	sbb    %ebx,%ebx
14008efc5:	23 9c 24 a0 00 00 00 	and    0xa0(%rsp),%ebx
14008efcc:	83 e9 41             	sub    $0x41,%ecx
14008efcf:	0f 84 ce 00 00 00    	je     0x14008f0a3
14008efd5:	83 e9 04             	sub    $0x4,%ecx
14008efd8:	0f 84 8b 00 00 00    	je     0x14008f069
14008efde:	83 e9 01             	sub    $0x1,%ecx
14008efe1:	74 55                	je     0x14008f038
14008efe3:	83 e9 01             	sub    $0x1,%ecx
14008efe6:	74 13                	je     0x14008effb
14008efe8:	83 e9 1a             	sub    $0x1a,%ecx
14008efeb:	0f 84 b2 00 00 00    	je     0x14008f0a3
14008eff1:	83 e9 04             	sub    $0x4,%ecx
14008eff4:	74 73                	je     0x14008f069
14008eff6:	83 f9 01             	cmp    $0x1,%ecx
14008eff9:	74 3d                	je     0x14008f038
14008effb:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14008f002:	00
14008f003:	48 8b cf             	mov    %rdi,%rcx
14008f006:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14008f00b:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
14008f012:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
14008f016:	89 54 24 38          	mov    %edx,0x38(%rsp)
14008f01a:	49 8b d2             	mov    %r10,%rdx
14008f01d:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
14008f022:	89 44 24 28          	mov    %eax,0x28(%rsp)
14008f026:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14008f02b:	4d 8b c3             	mov    %r11,%r8
14008f02e:	e8 91 0a 00 00       	call   0x14008fac4
14008f033:	e9 a3 00 00 00       	jmp    0x14008f0db
14008f038:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14008f03f:	00
14008f040:	49 8b d2             	mov    %r10,%rdx
14008f043:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14008f048:	48 8b cf             	mov    %rdi,%rcx
14008f04b:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
14008f052:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
14008f056:	89 44 24 28          	mov    %eax,0x28(%rsp)
14008f05a:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14008f05f:	4d 8b c3             	mov    %r11,%r8
14008f062:	e8 85 09 00 00       	call   0x14008f9ec
14008f067:	eb 72                	jmp    0x14008f0db
14008f069:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14008f070:	00
14008f071:	48 8b cf             	mov    %rdi,%rcx
14008f074:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14008f079:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
14008f080:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
14008f084:	89 54 24 38          	mov    %edx,0x38(%rsp)
14008f088:	49 8b d2             	mov    %r10,%rdx
14008f08b:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
14008f090:	89 44 24 28          	mov    %eax,0x28(%rsp)
14008f094:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14008f099:	4d 8b c3             	mov    %r11,%r8
14008f09c:	e8 47 02 00 00       	call   0x14008f2e8
14008f0a1:	eb 38                	jmp    0x14008f0db
14008f0a3:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
14008f0aa:	00
14008f0ab:	48 8b cf             	mov    %rdi,%rcx
14008f0ae:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
14008f0b3:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
14008f0ba:	89 5c 24 40          	mov    %ebx,0x40(%rsp)
14008f0be:	89 54 24 38          	mov    %edx,0x38(%rsp)
14008f0c2:	49 8b d2             	mov    %r10,%rdx
14008f0c5:	40 88 74 24 30       	mov    %sil,0x30(%rsp)
14008f0ca:	89 44 24 28          	mov    %eax,0x28(%rsp)
14008f0ce:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
14008f0d3:	4d 8b c3             	mov    %r11,%r8
14008f0d6:	e8 21 04 00 00       	call   0x14008f4fc
14008f0db:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14008f0e0:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
14008f0e5:	48 83 c4 50          	add    $0x50,%rsp
14008f0e9:	5f                   	pop    %rdi
14008f0ea:	c3                   	ret
14008f0eb:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14008f0f1:	45 33 c9             	xor    %r9d,%r9d
14008f0f4:	45 33 c0             	xor    %r8d,%r8d
14008f0f7:	33 d2                	xor    %edx,%edx
14008f0f9:	33 c9                	xor    %ecx,%ecx
14008f0fb:	e8 04 f7 ff ff       	call   0x14008e804
14008f100:	cc                   	int3
14008f101:	cc                   	int3
14008f102:	cc                   	int3
14008f103:	cc                   	int3
14008f104:	4c 8b dc             	mov    %rsp,%r11
14008f107:	49 89 5b 08          	mov    %rbx,0x8(%r11)
14008f10b:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14008f10f:	49 89 73 18          	mov    %rsi,0x18(%r11)
14008f113:	49 89 7b 20          	mov    %rdi,0x20(%r11)
14008f117:	41 55                	push   %r13
14008f119:	41 56                	push   %r14
14008f11b:	41 57                	push   %r15
14008f11d:	48 83 ec 30          	sub    $0x30,%rsp
14008f121:	33 c0                	xor    %eax,%eax
14008f123:	49 63 e8             	movslq %r8d,%rbp
14008f126:	45 85 c0             	test   %r8d,%r8d
14008f129:	45 8a e9             	mov    %r9b,%r13b
14008f12c:	4c 8b fa             	mov    %rdx,%r15
14008f12f:	48 8b f9             	mov    %rcx,%rdi
14008f132:	0f 4f c5             	cmovg  %ebp,%eax
14008f135:	83 c0 09             	add    $0x9,%eax
14008f138:	48 98                	cltq
14008f13a:	48 3b d0             	cmp    %rax,%rdx
14008f13d:	77 4d                	ja     0x14008f18c
14008f13f:	48 8b 8c 24 88 00 00 	mov    0x88(%rsp),%rcx
14008f146:	00
14008f147:	bb 22 00 00 00       	mov    $0x22,%ebx
14008f14c:	49 89 4b e0          	mov    %rcx,-0x20(%r11)
14008f150:	45 33 c9             	xor    %r9d,%r9d
14008f153:	49 83 63 d8 00       	andq   $0x0,-0x28(%r11)
14008f158:	45 33 c0             	xor    %r8d,%r8d
14008f15b:	33 d2                	xor    %edx,%edx
14008f15d:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
14008f161:	89 59 2c             	mov    %ebx,0x2c(%rcx)
14008f164:	33 c9                	xor    %ecx,%ecx
14008f166:	e8 45 f8 ff ff       	call   0x14008e9b0
14008f16b:	8b c3                	mov    %ebx,%eax
14008f16d:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14008f172:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
14008f177:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14008f17c:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
14008f181:	48 83 c4 30          	add    $0x30,%rsp
14008f185:	41 5f                	pop    %r15
14008f187:	41 5e                	pop    %r14
14008f189:	41 5d                	pop    %r13
14008f18b:	c3                   	ret
14008f18c:	80 bc 24 80 00 00 00 	cmpb   $0x0,0x80(%rsp)
14008f193:	00
14008f194:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
14008f199:	74 2a                	je     0x14008f1c5
14008f19b:	33 d2                	xor    %edx,%edx
14008f19d:	83 3e 2d             	cmpl   $0x2d,(%rsi)
14008f1a0:	0f 94 c2             	sete   %dl
14008f1a3:	48 03 d7             	add    %rdi,%rdx
14008f1a6:	45 85 c0             	test   %r8d,%r8d
14008f1a9:	7e 1a                	jle    0x14008f1c5
14008f1ab:	49 83 c8 ff          	or     $0xffffffffffffffff,%r8
14008f1af:	49 ff c0             	inc    %r8
14008f1b2:	42 80 3c 02 00       	cmpb   $0x0,(%rdx,%r8,1)
14008f1b7:	75 f6                	jne    0x14008f1af
14008f1b9:	49 ff c0             	inc    %r8
14008f1bc:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
14008f1c0:	e8 ab e9 00 00       	call   0x14009db70
14008f1c5:	83 3e 2d             	cmpl   $0x2d,(%rsi)
14008f1c8:	48 8b df             	mov    %rdi,%rbx
14008f1cb:	75 07                	jne    0x14008f1d4
14008f1cd:	c6 07 2d             	movb   $0x2d,(%rdi)
14008f1d0:	48 8d 5f 01          	lea    0x1(%rdi),%rbx
14008f1d4:	85 ed                	test   %ebp,%ebp
14008f1d6:	7e 31                	jle    0x14008f209
14008f1d8:	8a 43 01             	mov    0x1(%rbx),%al
14008f1db:	4c 8b b4 24 88 00 00 	mov    0x88(%rsp),%r14
14008f1e2:	00
14008f1e3:	88 03                	mov    %al,(%rbx)
14008f1e5:	48 ff c3             	inc    %rbx
14008f1e8:	41 80 7e 28 00       	cmpb   $0x0,0x28(%r14)
14008f1ed:	75 08                	jne    0x14008f1f7
14008f1ef:	49 8b ce             	mov    %r14,%rcx
14008f1f2:	e8 89 2f fe ff       	call   0x140072180
14008f1f7:	49 8b 46 18          	mov    0x18(%r14),%rax
14008f1fb:	48 8b 88 f8 00 00 00 	mov    0xf8(%rax),%rcx
14008f202:	48 8b 01             	mov    (%rcx),%rax
14008f205:	8a 08                	mov    (%rax),%cl
14008f207:	88 0b                	mov    %cl,(%rbx)
14008f209:	0f b6 8c 24 80 00 00 	movzbl 0x80(%rsp),%ecx
14008f210:	00
14008f211:	4c 8d 05 54 b5 04 00 	lea    0x4b554(%rip),%r8        # 0x1400da76c
14008f218:	48 83 f1 01          	xor    $0x1,%rcx
14008f21c:	48 03 dd             	add    %rbp,%rbx
14008f21f:	48 03 d9             	add    %rcx,%rbx
14008f222:	48 2b fb             	sub    %rbx,%rdi
14008f225:	48 8b cb             	mov    %rbx,%rcx
14008f228:	49 83 ff ff          	cmp    $0xffffffffffffffff,%r15
14008f22c:	49 8d 14 3f          	lea    (%r15,%rdi,1),%rdx
14008f230:	49 0f 44 d7          	cmove  %r15,%rdx
14008f234:	e8 07 c9 ff ff       	call   0x14008bb40
14008f239:	85 c0                	test   %eax,%eax
14008f23b:	0f 85 8e 00 00 00    	jne    0x14008f2cf
14008f241:	48 8d 4b 02          	lea    0x2(%rbx),%rcx
14008f245:	45 84 ed             	test   %r13b,%r13b
14008f248:	74 03                	je     0x14008f24d
14008f24a:	c6 03 45             	movb   $0x45,(%rbx)
14008f24d:	48 8b 46 08          	mov    0x8(%rsi),%rax
14008f251:	80 38 30             	cmpb   $0x30,(%rax)
14008f254:	74 57                	je     0x14008f2ad
14008f256:	44 8b 46 04          	mov    0x4(%rsi),%r8d
14008f25a:	41 83 e8 01          	sub    $0x1,%r8d
14008f25e:	79 07                	jns    0x14008f267
14008f260:	41 f7 d8             	neg    %r8d
14008f263:	c6 43 01 2d          	movb   $0x2d,0x1(%rbx)
14008f267:	41 83 f8 64          	cmp    $0x64,%r8d
14008f26b:	7c 1b                	jl     0x14008f288
14008f26d:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
14008f272:	41 f7 e8             	imul   %r8d
14008f275:	c1 fa 05             	sar    $0x5,%edx
14008f278:	8b c2                	mov    %edx,%eax
14008f27a:	c1 e8 1f             	shr    $0x1f,%eax
14008f27d:	03 d0                	add    %eax,%edx
14008f27f:	00 53 02             	add    %dl,0x2(%rbx)
14008f282:	6b c2 9c             	imul   $0xffffff9c,%edx,%eax
14008f285:	44 03 c0             	add    %eax,%r8d
14008f288:	41 83 f8 0a          	cmp    $0xa,%r8d
14008f28c:	7c 1b                	jl     0x14008f2a9
14008f28e:	b8 67 66 66 66       	mov    $0x66666667,%eax
14008f293:	41 f7 e8             	imul   %r8d
14008f296:	c1 fa 02             	sar    $0x2,%edx
14008f299:	8b c2                	mov    %edx,%eax
14008f29b:	c1 e8 1f             	shr    $0x1f,%eax
14008f29e:	03 d0                	add    %eax,%edx
14008f2a0:	00 53 03             	add    %dl,0x3(%rbx)
14008f2a3:	6b c2 f6             	imul   $0xfffffff6,%edx,%eax
14008f2a6:	44 03 c0             	add    %eax,%r8d
14008f2a9:	44 00 43 04          	add    %r8b,0x4(%rbx)
14008f2ad:	83 7c 24 70 02       	cmpl   $0x2,0x70(%rsp)
14008f2b2:	75 14                	jne    0x14008f2c8
14008f2b4:	80 39 30             	cmpb   $0x30,(%rcx)
14008f2b7:	75 0f                	jne    0x14008f2c8
14008f2b9:	48 8d 51 01          	lea    0x1(%rcx),%rdx
14008f2bd:	41 b8 03 00 00 00    	mov    $0x3,%r8d
14008f2c3:	e8 a8 e8 00 00       	call   0x14009db70
14008f2c8:	33 c0                	xor    %eax,%eax
14008f2ca:	e9 9e fe ff ff       	jmp    0x14008f16d
14008f2cf:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14008f2d5:	45 33 c9             	xor    %r9d,%r9d
14008f2d8:	45 33 c0             	xor    %r8d,%r8d
14008f2db:	33 d2                	xor    %edx,%edx
14008f2dd:	33 c9                	xor    %ecx,%ecx
14008f2df:	e8 20 f5 ff ff       	call   0x14008e804
14008f2e4:	cc                   	int3
14008f2e5:	cc                   	int3
14008f2e6:	cc                   	int3
14008f2e7:	cc                   	int3
14008f2e8:	4c 8b dc             	mov    %rsp,%r11
14008f2eb:	49 89 5b 08          	mov    %rbx,0x8(%r11)
14008f2ef:	49 89 6b 10          	mov    %rbp,0x10(%r11)
14008f2f3:	49 89 73 18          	mov    %rsi,0x18(%r11)
14008f2f7:	49 89 7b 20          	mov    %rdi,0x20(%r11)
14008f2fb:	41 56                	push   %r14
14008f2fd:	48 83 ec 50          	sub    $0x50,%rsp
14008f301:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
14008f308:	00
14008f309:	49 8b f0             	mov    %r8,%rsi
14008f30c:	8b ac 24 88 00 00 00 	mov    0x88(%rsp),%ebp
14008f313:	48 8b fa             	mov    %rdx,%rdi
14008f316:	48 8b 09             	mov    (%rcx),%rcx
14008f319:	41 b8 01 00 00 00    	mov    $0x1,%r8d
14008f31f:	49 89 43 d0          	mov    %rax,-0x30(%r11)
14008f323:	4d 89 4b c8          	mov    %r9,-0x38(%r11)
14008f327:	4d 8d 4b e8          	lea    -0x18(%r11),%r9
14008f32b:	8d 55 01             	lea    0x1(%rbp),%edx
14008f32e:	e8 dd b2 00 00       	call   0x14009a610
14008f333:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
14008f33a:	00
14008f33b:	44 8d 45 01          	lea    0x1(%rbp),%r8d
14008f33f:	45 33 c9             	xor    %r9d,%r9d
14008f342:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
14008f347:	83 7c 24 40 2d       	cmpl   $0x2d,0x40(%rsp)
14008f34c:	44 8b d0             	mov    %eax,%r10d
14008f34f:	8b 84 24 a0 00 00 00 	mov    0xa0(%rsp),%eax
14008f356:	48 8b d6             	mov    %rsi,%rdx
14008f359:	41 0f 94 c1          	sete   %r9b
14008f35d:	89 44 24 28          	mov    %eax,0x28(%rsp)
14008f361:	33 c9                	xor    %ecx,%ecx
14008f363:	44 89 54 24 20       	mov    %r10d,0x20(%rsp)
14008f368:	85 ed                	test   %ebp,%ebp
14008f36a:	0f 9f c1             	setg   %cl
14008f36d:	48 2b d1             	sub    %rcx,%rdx
14008f370:	49 2b d1             	sub    %r9,%rdx
14008f373:	48 83 fe ff          	cmp    $0xffffffffffffffff,%rsi
14008f377:	48 0f 44 d6          	cmove  %rsi,%rdx
14008f37b:	49 03 c9             	add    %r9,%rcx
14008f37e:	48 03 cf             	add    %rdi,%rcx
14008f381:	4c 8d 4c 24 40       	lea    0x40(%rsp),%r9
14008f386:	e8 1d b0 00 00       	call   0x14009a3a8
14008f38b:	85 c0                	test   %eax,%eax
14008f38d:	74 05                	je     0x14008f394
14008f38f:	c6 07 00             	movb   $0x0,(%rdi)
14008f392:	eb 35                	jmp    0x14008f3c9
14008f394:	44 8a 8c 24 90 00 00 	mov    0x90(%rsp),%r9b
14008f39b:	00
14008f39c:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14008f3a1:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
14008f3a6:	44 8b c5             	mov    %ebp,%r8d
14008f3a9:	c6 44 24 30 00       	movb   $0x0,0x30(%rsp)
14008f3ae:	48 8b d6             	mov    %rsi,%rdx
14008f3b1:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14008f3b6:	48 8b cf             	mov    %rdi,%rcx
14008f3b9:	8b 84 24 98 00 00 00 	mov    0x98(%rsp),%eax
14008f3c0:	89 44 24 20          	mov    %eax,0x20(%rsp)
14008f3c4:	e8 3b fd ff ff       	call   0x14008f104
14008f3c9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14008f3ce:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
14008f3d3:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
14008f3d8:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
14008f3dd:	48 83 c4 50          	add    $0x50,%rsp
14008f3e1:	41 5e                	pop    %r14
14008f3e3:	c3                   	ret
14008f3e4:	48 8b c4             	mov    %rsp,%rax
14008f3e7:	48 89 58 08          	mov    %rbx,0x8(%rax)
14008f3eb:	48 89 68 10          	mov    %rbp,0x10(%rax)
14008f3ef:	48 89 70 18          	mov    %rsi,0x18(%rax)
14008f3f3:	48 89 78 20          	mov    %rdi,0x20(%rax)
14008f3f7:	41 54                	push   %r12
14008f3f9:	41 56                	push   %r14
14008f3fb:	41 57                	push   %r15
14008f3fd:	48 83 ec 20          	sub    $0x20,%rsp
14008f401:	48 8b 19             	mov    (%rcx),%rbx
14008f404:	49 bc ff ff ff ff ff 	movabs $0xfffffffffffff,%r12
14008f40b:	ff 0f 00
14008f40e:	48 23 da             	and    %rdx,%rbx
14008f411:	45 0f bf f0          	movswl %r8w,%r14d
14008f415:	49 23 dc             	and    %r12,%rbx
14008f418:	48 8b f9             	mov    %rcx,%rdi
14008f41b:	41 8b ce             	mov    %r14d,%ecx
14008f41e:	45 33 ff             	xor    %r15d,%r15d
14008f421:	48 d3 eb             	shr    %cl,%rbx
14008f424:	48 8b ea             	mov    %rdx,%rbp
14008f427:	45 85 c9             	test   %r9d,%r9d
14008f42a:	75 0c                	jne    0x14008f438
14008f42c:	66 83 fb 08          	cmp    $0x8,%bx
14008f430:	0f 93 c0             	setae  %al
14008f433:	e9 a3 00 00 00       	jmp    0x14008f4db
14008f438:	e8 c7 0a 00 00       	call   0x14008ff04
14008f43d:	85 c0                	test   %eax,%eax
14008f43f:	75 72                	jne    0x14008f4b3
14008f441:	4c 8b 07             	mov    (%rdi),%r8