14001816d:	74 2d                	je     0x14001819c
14001816f:	8b 7d bb             	mov    -0x45(%rbp),%edi
140018172:	03 7d f7             	add    -0x9(%rbp),%edi
140018175:	8b 75 ef             	mov    -0x11(%rbp),%esi
140018178:	49 3b 76 18          	cmp    0x18(%r14),%rsi
14001817c:	76 0a                	jbe    0x140018188
14001817e:	49 8b 06             	mov    (%r14),%rax
140018181:	8b d6                	mov    %esi,%edx
140018183:	49 8b ce             	mov    %r14,%rcx
140018186:	ff 10                	call   *(%rax)
140018188:	49 8b 46 18          	mov    0x18(%r14),%rax
14001818c:	48 3b f0             	cmp    %rax,%rsi
14001818f:	48 0f 46 c6          	cmovbe %rsi,%rax
140018193:	49 89 46 10          	mov    %rax,0x10(%r14)
140018197:	e9 0f 01 00 00       	jmp    0x1400182ab
14001819c:	8b 4d ef             	mov    -0x11(%rbp),%ecx
14001819f:	8b 45 bb             	mov    -0x45(%rbp),%eax
1400181a2:	41 2b cd             	sub    %r13d,%ecx
1400181a5:	44 8b 55 f3          	mov    -0xd(%rbp),%r10d
1400181a9:	ff c8                	dec    %eax
1400181ab:	03 c8                	add    %eax,%ecx
1400181ad:	4c 89 65 ef          	mov    %r12,-0x11(%rbp)
1400181b1:	89 4d bb             	mov    %ecx,-0x45(%rbp)
1400181b4:	41 f6 c7 04          	test   $0x4,%r15b
1400181b8:	74 54                	je     0x14001820e
1400181ba:	0f 57 c0             	xorps  %xmm0,%xmm0
1400181bd:	f2 0f 5a c6          	cvtsd2ss %xmm6,%xmm0
1400181c1:	66 0f 7e c0          	movd   %xmm0,%eax
1400181c5:	8b c8                	mov    %eax,%ecx
1400181c7:	c1 e8 17             	shr    $0x17,%eax
1400181ca:	81 e1 ff ff 7f 00    	and    $0x7fffff,%ecx
1400181d0:	44 0f b6 c0          	movzbl %al,%r8d
1400181d4:	48 89 4d e7          	mov    %rcx,-0x19(%rbp)
1400181d8:	48 85 c9             	test   %rcx,%rcx
1400181db:	75 1c                	jne    0x1400181f9
1400181dd:	41 83 f8 01          	cmp    $0x1,%r8d
1400181e1:	76 16                	jbe    0x1400181f9
1400181e3:	b2 01                	mov    $0x1,%dl
1400181e5:	48 8d 81 00 00 80 00 	lea    0x800000(%rcx),%rax
1400181ec:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
1400181f0:	41 8d 80 6a ff ff ff 	lea    -0x96(%r8),%eax
1400181f7:	eb 63                	jmp    0x14001825c
1400181f9:	32 d2                	xor    %dl,%dl
1400181fb:	84 c0                	test   %al,%al
1400181fd:	75 e6                	jne    0x1400181e5
1400181ff:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140018205:	41 8d 80 6a ff ff ff 	lea    -0x96(%r8),%eax
14001820c:	eb 4e                	jmp    0x14001825c
14001820e:	66 48 0f 7e f1       	movq   %xmm6,%rcx
140018213:	48 ba ff ff ff ff ff 	movabs $0xfffffffffffff,%rdx
14001821a:	ff 0f 00
14001821d:	48 8b c1             	mov    %rcx,%rax
140018220:	48 c1 e9 34          	shr    $0x34,%rcx
140018224:	48 23 c2             	and    %rdx,%rax
140018227:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
14001822d:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
140018231:	48 85 c0             	test   %rax,%rax
140018234:	0f 85 0b 01 00 00    	jne    0x140018345
14001823a:	83 f9 01             	cmp    $0x1,%ecx
14001823d:	0f 86 02 01 00 00    	jbe    0x140018345
140018243:	b2 01                	mov    $0x1,%dl
140018245:	49 b8 00 00 00 00 00 	movabs $0x10000000000000,%r8
14001824c:	00 10 00
14001824f:	49 03 c0             	add    %r8,%rax
140018252:	48 89 45 e7          	mov    %rax,-0x19(%rbp)
140018256:	8d 81 cd fb ff ff    	lea    -0x433(%rcx),%eax
14001825c:	0f 10 45 e7          	movups -0x19(%rbp),%xmm0
140018260:	84 d2                	test   %dl,%dl
140018262:	89 45 f7             	mov    %eax,-0x9(%rbp)
140018265:	f2 0f 10 4d f7       	movsd  -0x9(%rbp),%xmm1
14001826a:	48 8d 4d c7          	lea    -0x39(%rbp),%rcx
14001826e:	41 0f 95 c4          	setne  %r12b
140018272:	0f 29 45 c7          	movaps %xmm0,-0x39(%rbp)
140018276:	b8 ff 02 00 00       	mov    $0x2ff,%eax
14001827b:	f2 0f 11 4d d7       	movsd  %xmm1,-0x29(%rbp)
140018280:	41 8b d4             	mov    %r12d,%edx
140018283:	4d 8b ce             	mov    %r14,%r9
140018286:	83 ca 04             	or     $0x4,%edx
140018289:	80 fb 02             	cmp    $0x2,%bl
14001828c:	41 0f 45 d4          	cmovne %r12d,%edx
140018290:	44 3b d0             	cmp    %eax,%r10d
140018293:	44 0f 4f d0          	cmovg  %eax,%r10d
140018297:	48 8d 45 bb          	lea    -0x45(%rbp),%rax
14001829b:	45 8b c2             	mov    %r10d,%r8d
14001829e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400182a3:	e8 38 a8 fe ff       	call   0x140002ae0
1400182a8:	8b 7d bb             	mov    -0x45(%rbp),%edi
1400182ab:	4c 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13
1400182b2:	00
1400182b3:	48 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%rsi
1400182ba:	00
1400182bb:	80 fb 02             	cmp    $0x2,%bl
1400182be:	74 51                	je     0x140018311
1400182c0:	41 f6 c7 08          	test   $0x8,%r15b
1400182c4:	75 4b                	jne    0x140018311
1400182c6:	49 8b 5e 10          	mov    0x10(%r14),%rbx
1400182ca:	48 85 db             	test   %rbx,%rbx
1400182cd:	74 21                	je     0x1400182f0
1400182cf:	49 8b 4e 08          	mov    0x8(%r14),%rcx
1400182d3:	48 ff c9             	dec    %rcx
1400182d6:	48 03 cb             	add    %rbx,%rcx
1400182d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400182e0:	80 39 30             	cmpb   $0x30,(%rcx)
1400182e3:	75 0b                	jne    0x1400182f0
1400182e5:	48 ff c9             	dec    %rcx
1400182e8:	ff c7                	inc    %edi
1400182ea:	48 83 eb 01          	sub    $0x1,%rbx
1400182ee:	75 f0                	jne    0x1400182e0
1400182f0:	49 3b 5e 18          	cmp    0x18(%r14),%rbx
1400182f4:	76 0c                	jbe    0x140018302
1400182f6:	4d 8b 06             	mov    (%r14),%r8
1400182f9:	48 8b d3             	mov    %rbx,%rdx
1400182fc:	49 8b ce             	mov    %r14,%rcx
1400182ff:	41 ff 10             	call   *(%r8)
140018302:	49 8b 4e 18          	mov    0x18(%r14),%rcx
140018306:	48 3b d9             	cmp    %rcx,%rbx
140018309:	48 0f 46 cb          	cmovbe %rbx,%rcx
14001830d:	49 89 4e 10          	mov    %rcx,0x10(%r14)
140018311:	8b c7                	mov    %edi,%eax
140018313:	48 8b bc 24 a8 00 00 	mov    0xa8(%rsp),%rdi
14001831a:	00
14001831b:	4c 8b a4 24 a0 00 00 	mov    0xa0(%rsp),%r12
140018322:	00
140018323:	48 8b 4d ff          	mov    -0x1(%rbp),%rcx
140018327:	48 33 cc             	xor    %rsp,%rcx
14001832a:	e8 d1 14 04 00       	call   0x140059800
14001832f:	0f 28 b4 24 80 00 00 	movaps 0x80(%rsp),%xmm6
140018336:	00
140018337:	48 81 c4 b8 00 00 00 	add    $0xb8,%rsp
14001833e:	41 5f                	pop    %r15
140018340:	41 5e                	pop    %r14
140018342:	5b                   	pop    %rbx
140018343:	5d                   	pop    %rbp
140018344:	c3                   	ret
140018345:	32 d2                	xor    %dl,%dl
140018347:	85 c9                	test   %ecx,%ecx
140018349:	0f 85 f6 fe ff ff    	jne    0x140018245
14001834f:	b9 01 00 00 00       	mov    $0x1,%ecx
140018354:	e9 fd fe ff ff       	jmp    0x140018256
140018359:	cc                   	int3
14001835a:	cc                   	int3
14001835b:	cc                   	int3
14001835c:	cc                   	int3
14001835d:	cc                   	int3
14001835e:	cc                   	int3
14001835f:	cc                   	int3
140018360:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018365:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14001836a:	57                   	push   %rdi
14001836b:	48 83 ec 30          	sub    $0x30,%rsp
14001836f:	44 0f b6 09          	movzbl (%rcx),%r9d
140018373:	49 8b f0             	mov    %r8,%rsi
140018376:	4c 8b d2             	mov    %rdx,%r10
140018379:	48 8b f9             	mov    %rcx,%rdi
14001837c:	41 8d 41 d0          	lea    -0x30(%r9),%eax
140018380:	3c 09                	cmp    $0x9,%al
140018382:	0f 87 c2 00 00 00    	ja     0x14001844a
140018388:	33 db                	xor    %ebx,%ebx
14001838a:	41 80 f9 30          	cmp    $0x30,%r9b
14001838e:	74 57                	je     0x1400183e7
140018390:	44 8b c3             	mov    %ebx,%r8d
140018393:	48 ff c1             	inc    %rcx
140018396:	41 0f be d1          	movsbl %r9b,%edx
14001839a:	8d 1c 9b             	lea    (%rbx,%rbx,4),%ebx
14001839d:	8d 5b e8             	lea    -0x18(%rbx),%ebx
1400183a0:	8d 1c 5a             	lea    (%rdx,%rbx,2),%ebx
1400183a3:	49 3b ca             	cmp    %r10,%rcx
1400183a6:	74 10                	je     0x1400183b8
1400183a8:	44 0f b6 09          	movzbl (%rcx),%r9d
1400183ac:	41 80 f9 30          	cmp    $0x30,%r9b
1400183b0:	7c 06                	jl     0x1400183b8
1400183b2:	41 80 f9 39          	cmp    $0x39,%r9b
1400183b6:	7e d8                	jle    0x140018390
1400183b8:	48 8b c1             	mov    %rcx,%rax
1400183bb:	48 2b c7             	sub    %rdi,%rax
1400183be:	48 8b f9             	mov    %rcx,%rdi
1400183c1:	48 83 f8 09          	cmp    $0x9,%rax
1400183c5:	7e 23                	jle    0x1400183ea
1400183c7:	48 83 f8 0a          	cmp    $0xa,%rax
1400183cb:	75 13                	jne    0x1400183e0
1400183cd:	8d 42 d0             	lea    -0x30(%rdx),%eax
1400183d0:	4b 8d 0c 80          	lea    (%r8,%r8,4),%rcx
1400183d4:	48 8d 04 48          	lea    (%rax,%rcx,2),%rax
1400183d8:	48 3d ff ff ff 7f    	cmp    $0x7fffffff,%rax
1400183de:	76 0a                	jbe    0x1400183ea
1400183e0:	bb ff ff ff 7f       	mov    $0x7fffffff,%ebx
1400183e5:	eb 03                	jmp    0x1400183ea
1400183e7:	48 ff c7             	inc    %rdi
1400183ea:	49 3b fa             	cmp    %r10,%rdi
1400183ed:	0f 84 ef 00 00 00    	je     0x1400184e2
1400183f3:	0f b6 07             	movzbl (%rdi),%eax
1400183f6:	3c 7d                	cmp    $0x7d,%al
1400183f8:	74 08                	je     0x140018402
1400183fa:	3c 3a                	cmp    $0x3a,%al
1400183fc:	0f 85 e0 00 00 00    	jne    0x1400184e2
140018402:	48 8b 06             	mov    (%rsi),%rax
140018405:	83 78 10 00          	cmpl   $0x0,0x10(%rax)
140018409:	7e 22                	jle    0x14001842d
14001840b:	48 8d 0d e6 7e 04 00 	lea    0x47ee6(%rip),%rcx        # 0x1400602f8
140018412:	e8 19 b8 fe ff       	call   0x140003c30
140018417:	48 8b c7             	mov    %rdi,%rax
14001841a:	89 5e 08             	mov    %ebx,0x8(%rsi)
14001841d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140018422:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140018427:	48 83 c4 30          	add    $0x30,%rsp
14001842b:	5f                   	pop    %rdi
14001842c:	c3                   	ret
14001842d:	c7 40 10 ff ff ff ff 	movl   $0xffffffff,0x10(%rax)
140018434:	48 8b c7             	mov    %rdi,%rax
140018437:	89 5e 08             	mov    %ebx,0x8(%rsi)
14001843a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14001843f:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140018444:	48 83 c4 30          	add    $0x30,%rsp
140018448:	5f                   	pop    %rdi
140018449:	c3                   	ret
14001844a:	41 80 e9 41          	sub    $0x41,%r9b
14001844e:	41 80 f9 39          	cmp    $0x39,%r9b
140018452:	0f 87 8a 00 00 00    	ja     0x1400184e2
140018458:	48 b9 ff ff ff 43 ff 	movabs $0x3ffffff43ffffff,%rcx
14001845f:	ff ff 03
140018462:	4c 0f a3 c9          	bt     %r9,%rcx
140018466:	73 7a                	jae    0x1400184e2
140018468:	48 8b df             	mov    %rdi,%rbx
14001846b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018470:	48 ff c3             	inc    %rbx
140018473:	49 3b da             	cmp    %r10,%rbx
140018476:	74 21                	je     0x140018499
140018478:	0f b6 03             	movzbl (%rbx),%eax
14001847b:	3c 61                	cmp    $0x61,%al
14001847d:	7c 06                	jl     0x140018485
14001847f:	3c 7a                	cmp    $0x7a,%al
140018481:	7e ed                	jle    0x140018470
140018483:	eb 0c                	jmp    0x140018491
140018485:	3c 41                	cmp    $0x41,%al
140018487:	7c 04                	jl     0x14001848d
140018489:	3c 5a                	cmp    $0x5a,%al
14001848b:	7e e3                	jle    0x140018470
14001848d:	3c 5f                	cmp    $0x5f,%al
14001848f:	74 df                	je     0x140018470
140018491:	3c 30                	cmp    $0x30,%al
140018493:	7c 04                	jl     0x140018499
140018495:	3c 39                	cmp    $0x39,%al
140018497:	7e d7                	jle    0x140018470
140018499:	49 8b 08             	mov    (%r8),%rcx
14001849c:	48 8b d3             	mov    %rbx,%rdx
14001849f:	48 2b d7             	sub    %rdi,%rdx
1400184a2:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1400184a7:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
1400184ac:	48 83 c1 20          	add    $0x20,%rcx
1400184b0:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1400184b5:	e8 16 c1 ff ff       	call   0x1400145d0
1400184ba:	8b f8                	mov    %eax,%edi
1400184bc:	85 c0                	test   %eax,%eax
1400184be:	79 0c                	jns    0x1400184cc
1400184c0:	48 8d 0d 11 78 04 00 	lea    0x47811(%rip),%rcx        # 0x14005fcd8
1400184c7:	e8 64 b7 fe ff       	call   0x140003c30
1400184cc:	89 7e 08             	mov    %edi,0x8(%rsi)
1400184cf:	48 8b c3             	mov    %rbx,%rax
1400184d2:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400184d7:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400184dc:	48 83 c4 30          	add    $0x30,%rsp
1400184e0:	5f                   	pop    %rdi
1400184e1:	c3                   	ret
1400184e2:	48 8d 0d 97 77 04 00 	lea    0x47797(%rip),%rcx        # 0x14005fc80
1400184e9:	e8 42 b7 fe ff       	call   0x140003c30
1400184ee:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1400184f3:	48 8b c7             	mov    %rdi,%rax
1400184f6:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1400184fb:	48 83 c4 30          	add    $0x30,%rsp
1400184ff:	5f                   	pop    %rdi
140018500:	c3                   	ret
140018501:	cc                   	int3
140018502:	cc                   	int3
140018503:	cc                   	int3
140018504:	cc                   	int3
140018505:	cc                   	int3
140018506:	cc                   	int3
140018507:	cc                   	int3
140018508:	cc                   	int3
140018509:	cc                   	int3
14001850a:	cc                   	int3
14001850b:	cc                   	int3
14001850c:	cc                   	int3
14001850d:	cc                   	int3
14001850e:	cc                   	int3
14001850f:	cc                   	int3
140018510:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140018515:	53                   	push   %rbx
140018516:	56                   	push   %rsi
140018517:	57                   	push   %rdi
140018518:	41 54                	push   %r12
14001851a:	41 55                	push   %r13
14001851c:	41 56                	push   %r14
14001851e:	41 57                	push   %r15
140018520:	48 81 ec 70 02 00 00 	sub    $0x270,%rsp
140018527:	48 8b 05 12 fb 05 00 	mov    0x5fb12(%rip),%rax        # 0x140078040
14001852e:	48 33 c4             	xor    %rsp,%rax
140018531:	48 89 84 24 60 02 00 	mov    %rax,0x260(%rsp)
140018538:	00
140018539:	49 8b f1             	mov    %r9,%rsi
14001853c:	4c 8b f2             	mov    %rdx,%r14
14001853f:	48 8b f9             	mov    %rcx,%rdi
140018542:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140018547:	33 db                	xor    %ebx,%ebx
140018549:	8b 41 40             	mov    0x40(%rcx),%eax
14001854c:	83 f8 02             	cmp    $0x2,%eax
14001854f:	0f 9e 44 24 20       	setle  0x20(%rsp)
140018554:	44 0f b6 b9 d8 00 00 	movzbl 0xd8(%rcx),%r15d
14001855b:	00
14001855c:	7e 09                	jle    0x140018567
14001855e:	45 84 ff             	test   %r15b,%r15b
140018561:	0f 84 fb 01 00 00    	je     0x140018762
140018567:	33 d2                	xor    %edx,%edx
140018569:	41 b8 20 01 00 00    	mov    $0x120,%r8d
14001856f:	48 8d 8c 24 40 01 00 	lea    0x140(%rsp),%rcx
140018576:	00
140018577:	e8 2e 22 04 00       	call   0x14005a7aa
14001857c:	48 89 9c 24 50 01 00 	mov    %rbx,0x150(%rsp)
140018583:	00
140018584:	48 8d 05 15 9c 04 00 	lea    0x49c15(%rip),%rax        # 0x1400621a0
14001858b:	48 89 84 24 40 01 00 	mov    %rax,0x140(%rsp)
140018592:	00
140018593:	48 8d 84 24 60 01 00 	lea    0x160(%rsp),%rax
14001859a:	00
14001859b:	48 89 84 24 48 01 00 	mov    %rax,0x148(%rsp)
1400185a2:	00
1400185a3:	48 c7 84 24 58 01 00 	movq   $0xfa,0x158(%rsp)
1400185aa:	00 fa 00 00 00
1400185af:	48 8d 05 4a 7a 04 00 	lea    0x47a4a(%rip),%rax        # 0x140060000
1400185b6:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
1400185bd:	00
1400185be:	0f 28 84 24 80 00 00 	movaps 0x80(%rsp),%xmm0
1400185c5:	00
1400185c6:	66 0f 7f 84 24 80 00 	movdqa %xmm0,0x80(%rsp)
1400185cd:	00 00
1400185cf:	48 c7 44 24 60 0c 00 	movq   $0xc,0x60(%rsp)
1400185d6:	00 00
1400185d8:	48 8d 84 24 80 00 00 	lea    0x80(%rsp),%rax
1400185df:	00
1400185e0:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1400185e5:	0f 28 44 24 60       	movaps 0x60(%rsp),%xmm0
1400185ea:	66 0f 7f 44 24 60    	movdqa %xmm0,0x60(%rsp)
1400185f0:	0f 10 0e             	movups (%rsi),%xmm1
1400185f3:	0f 29 8c 24 b0 00 00 	movaps %xmm1,0xb0(%rsp)
1400185fa:	00
1400185fb:	4c 8b cb             	mov    %rbx,%r9
1400185fe:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
140018603:	48 8d 94 24 b0 00 00 	lea    0xb0(%rsp),%rdx
14001860a:	00
14001860b:	48 8d 8c 24 40 01 00 	lea    0x140(%rsp),%rcx