140874247:	48 c1 e9 03          	shr    $0x3,%rcx
14087424b:	8d 04 89             	lea    (%rcx,%rcx,4),%eax
14087424e:	03 c0                	add    %eax,%eax
140874250:	44 2b c0             	sub    %eax,%r8d
140874253:	41 83 f8 04          	cmp    $0x4,%r8d
140874257:	7d 21                	jge    0x14087427a
140874259:	48 b8 cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rax
140874260:	cc cc cc
140874263:	48 f7 e1             	mul    %rcx
140874266:	48 c1 ea 03          	shr    $0x3,%rdx
14087426a:	48 8d 04 92          	lea    (%rdx,%rdx,4),%rax
14087426e:	48 03 c0             	add    %rax,%rax
140874271:	48 2b c8             	sub    %rax,%rcx
140874274:	48 83 f9 01          	cmp    $0x1,%rcx
140874278:	75 03                	jne    0x14087427d
14087427a:	45 8b c1             	mov    %r9d,%r8d
14087427d:	43 8d 04 00          	lea    (%r8,%r8,1),%eax
140874281:	48 63 c8             	movslq %eax,%rcx
140874284:	48 8d 15 75 bd 78 ff 	lea    -0x87428b(%rip),%rdx        # 0x140000000
14087428b:	0f b6 84 11 01 82 04 	movzbl 0x1048201(%rcx,%rdx,1),%eax
140874292:	01
140874293:	0f b6 8c 11 00 82 04 	movzbl 0x1048200(%rcx,%rdx,1),%ecx
14087429a:	01
14087429b:	41 88 43 ff          	mov    %al,-0x1(%r11)
14087429f:	49 83 eb 02          	sub    $0x2,%r11
1408742a3:	41 88 0b             	mov    %cl,(%r11)
1408742a6:	41 0f b6 4f 04       	movzbl 0x4(%r15),%ecx
1408742ab:	48 8d 05 0e 3e 7d 00 	lea    0x7d3e0e(%rip),%rax        # 0x1410480c0
1408742b2:	45 0f b6 47 01       	movzbl 0x1(%r15),%r8d
1408742b7:	48 03 c8             	add    %rax,%rcx
1408742ba:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1408742c0:	33 d2                	xor    %edx,%edx
1408742c2:	48 8b c3             	mov    %rbx,%rax
1408742c5:	49 f7 f0             	div    %r8
1408742c8:	49 ff cb             	dec    %r11
1408742cb:	48 8b d8             	mov    %rax,%rbx
1408742ce:	0f b6 04 0a          	movzbl (%rdx,%rcx,1),%eax
1408742d2:	41 88 03             	mov    %al,(%r11)
1408742d5:	48 85 db             	test   %rbx,%rbx
1408742d8:	75 e6                	jne    0x1408742c0
1408742da:	41 8b ca             	mov    %r10d,%ecx
1408742dd:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
1408742e2:	41 2b cb             	sub    %r11d,%ecx
1408742e5:	ff c9                	dec    %ecx
1408742e7:	41 03 ce             	add    %r14d,%ecx
1408742ea:	41 3b cc             	cmp    %r12d,%ecx
1408742ed:	7d 23                	jge    0x140874312
1408742ef:	44 2b e1             	sub    %ecx,%r12d
1408742f2:	41 8b c4             	mov    %r12d,%eax
1408742f5:	41 03 cc             	add    %r12d,%ecx
1408742f8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1408742ff:	00
140874300:	49 ff cb             	dec    %r11
140874303:	41 c6 03 30          	movb   $0x30,(%r11)
140874307:	48 83 e8 01          	sub    $0x1,%rax
14087430b:	75 f3                	jne    0x140874300
14087430d:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874312:	45 84 ed             	test   %r13b,%r13b
140874315:	74 64                	je     0x14087437b
140874317:	ff c9                	dec    %ecx
140874319:	b8 56 55 55 55       	mov    $0x55555556,%eax
14087431e:	f7 e9                	imul   %ecx
140874320:	8b c2                	mov    %edx,%eax
140874322:	c1 e8 1f             	shr    $0x1f,%eax
140874325:	03 d0                	add    %eax,%edx
140874327:	4c 63 c2             	movslq %edx,%r8
14087432a:	4d 2b d8             	sub    %r8,%r11
14087432d:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874332:	8d 04 52             	lea    (%rdx,%rdx,2),%eax
140874335:	2b c8                	sub    %eax,%ecx
140874337:	33 c0                	xor    %eax,%eax
140874339:	8b d0                	mov    %eax,%edx
14087433b:	44 8d 49 01          	lea    0x1(%rcx),%r9d
14087433f:	4d 85 c0             	test   %r8,%r8
140874342:	7e 37                	jle    0x14087437b
140874344:	0f 1f 40 00          	nopl   0x0(%rax)
140874348:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14087434f:	00
140874350:	49 8d 04 10          	lea    (%r8,%rdx,1),%rax
140874354:	42 0f b6 0c 18       	movzbl (%rax,%r11,1),%ecx
140874359:	42 88 0c 1a          	mov    %cl,(%rdx,%r11,1)
14087435d:	41 83 e9 01          	sub    $0x1,%r9d
140874361:	75 10                	jne    0x140874373
140874363:	48 ff c2             	inc    %rdx
140874366:	41 b9 03 00 00 00    	mov    $0x3,%r9d
14087436c:	49 ff c8             	dec    %r8
14087436f:	46 88 2c 1a          	mov    %r13b,(%rdx,%r11,1)
140874373:	48 ff c2             	inc    %rdx
140874376:	4d 85 c0             	test   %r8,%r8
140874379:	7f d5                	jg     0x140874350
14087437b:	40 84 ff             	test   %dil,%dil
14087437e:	74 0b                	je     0x14087438b
140874380:	49 ff cb             	dec    %r11
140874383:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
140874388:	41 88 3b             	mov    %dil,(%r11)
14087438b:	40 84 f6             	test   %sil,%sil
14087438e:	74 36                	je     0x1408743c6
140874390:	41 0f b6 47 05       	movzbl 0x5(%r15),%eax
140874395:	84 c0                	test   %al,%al
140874397:	74 2d                	je     0x1408743c6
140874399:	48 8d 0d 44 3d 7d 00 	lea    0x7d3d44(%rip),%rcx        # 0x1410480e4
1408743a0:	48 03 c1             	add    %rcx,%rax
1408743a3:	0f b6 08             	movzbl (%rax),%ecx
1408743a6:	84 c9                	test   %cl,%cl
1408743a8:	74 1c                	je     0x1408743c6
1408743aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1408743b0:	49 ff cb             	dec    %r11
1408743b3:	48 8d 40 01          	lea    0x1(%rax),%rax
1408743b7:	41 88 0b             	mov    %cl,(%r11)
1408743ba:	0f b6 08             	movzbl (%rax),%ecx
1408743bd:	84 c9                	test   %cl,%cl
1408743bf:	75 ef                	jne    0x1408743b0
1408743c1:	4c 89 5c 24 28       	mov    %r11,0x28(%rsp)
1408743c6:	45 2b d3             	sub    %r11d,%r10d
1408743c9:	41 8d 7a ff          	lea    -0x1(%r10),%edi
1408743cd:	41 03 fe             	add    %r14d,%edi
1408743d0:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
1408743d5:	44 0f b6 74 24 21    	movzbl 0x21(%rsp),%r14d
1408743db:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1408743e0:	45 33 ff             	xor    %r15d,%r15d
1408743e3:	4c 8b 64 24 40       	mov    0x40(%rsp),%r12
1408743e8:	2b df                	sub    %edi,%ebx
1408743ea:	85 db                	test   %ebx,%ebx
1408743ec:	0f 8e f1 0f 00 00    	jle    0x1408753e3
1408743f2:	45 84 f6             	test   %r14b,%r14b
1408743f5:	75 44                	jne    0x14087443b
1408743f7:	41 8b 4c 24 18       	mov    0x18(%r12),%ecx
1408743fc:	44 8b c3             	mov    %ebx,%r8d
1408743ff:	48 63 c3             	movslq %ebx,%rax
140874402:	48 03 c8             	add    %rax,%rcx
140874405:	41 8b 44 24 10       	mov    0x10(%r12),%eax
14087440a:	48 3b c8             	cmp    %rax,%rcx
14087440d:	7c 11                	jl     0x140874420
14087440f:	8b d3                	mov    %ebx,%edx
140874411:	49 8b cc             	mov    %r12,%rcx
140874414:	e8 b7 d0 08 00       	call   0x1409014d0
140874419:	44 8b c0             	mov    %eax,%r8d
14087441c:	85 c0                	test   %eax,%eax
14087441e:	7e 1b                	jle    0x14087443b
140874420:	41 8b 54 24 18       	mov    0x18(%r12),%edx
140874425:	41 ff c8             	dec    %r8d
140874428:	49 8b 4c 24 08       	mov    0x8(%r12),%rcx
14087442d:	c6 04 0a 20          	movb   $0x20,(%rdx,%rcx,1)
140874431:	41 ff 44 24 18       	incl   0x18(%r12)
140874436:	45 85 c0             	test   %r8d,%r8d
140874439:	7f e5                	jg     0x140874420
14087443b:	41 8b 44 24 18       	mov    0x18(%r12),%eax
140874440:	8d 0c 38             	lea    (%rax,%rdi,1),%ecx
140874443:	41 3b 4c 24 10       	cmp    0x10(%r12),%ecx
140874448:	0f 82 29 0c 00 00    	jb     0x140875077
14087444e:	44 8b c7             	mov    %edi,%r8d
140874451:	48 8b d6             	mov    %rsi,%rdx
140874454:	49 8b cc             	mov    %r12,%rcx
140874457:	e8 84 b5 02 00       	call   0x14089f9e0
14087445c:	e9 32 0c 00 00       	jmp    0x140875093
140874461:	80 7c 24 22 00       	cmpb   $0x0,0x22(%rsp)
140874466:	74 53                	je     0x1408744bb
140874468:	4c 8b 4c 24 60       	mov    0x60(%rsp),%r9
14087446d:	49 63 51 04          	movslq 0x4(%r9),%rdx
140874471:	41 39 11             	cmp    %edx,(%r9)
140874474:	7f 06                	jg     0x14087447c
140874476:	41 0f 28 f6          	movaps %xmm14,%xmm6
14087447a:	eb 4c                	jmp    0x1408744c8
14087447c:	49 8b 41 08          	mov    0x8(%r9),%rax
140874480:	48 8b 0c d0          	mov    (%rax,%rdx,8),%rcx
140874484:	8d 42 01             	lea    0x1(%rdx),%eax
140874487:	41 89 41 04          	mov    %eax,0x4(%r9)
14087448b:	0f b7 41 14          	movzwl 0x14(%rcx),%eax
14087448f:	a8 08                	test   $0x8,%al
140874491:	74 06                	je     0x140874499
140874493:	f2 0f 10 31          	movsd  (%rcx),%xmm6
140874497:	eb 2f                	jmp    0x1408744c8
140874499:	a8 24                	test   $0x24,%al
14087449b:	74 0a                	je     0x1408744a7
14087449d:	0f 57 f6             	xorps  %xmm6,%xmm6
1408744a0:	f2 48 0f 2a 31       	cvtsi2sdq (%rcx),%xmm6
1408744a5:	eb 21                	jmp    0x1408744c8
1408744a7:	a8 12                	test   $0x12,%al
1408744a9:	74 cb                	je     0x140874476
1408744ab:	e8 30 f5 03 00       	call   0x1408b39e0
1408744b0:	44 0f b6 54 24 23    	movzbl 0x23(%rsp),%r10d
1408744b6:	0f 28 f0             	movaps %xmm0,%xmm6
1408744b9:	eb 0d                	jmp    0x1408744c8
1408744bb:	f2 0f 10 33          	movsd  (%rbx),%xmm6
1408744bf:	49 83 c3 08          	add    $0x8,%r11
1408744c3:	4c 89 5c 24 50       	mov    %r11,0x50(%rsp)
1408744c8:	45 85 e4             	test   %r12d,%r12d
1408744cb:	79 08                	jns    0x1408744d5
1408744cd:	41 bc 06 00 00 00    	mov    $0x6,%r12d
1408744d3:	eb 0c                	jmp    0x1408744e1
1408744d5:	b8 00 e1 f5 05       	mov    $0x5f5e100,%eax
1408744da:	44 3b e0             	cmp    %eax,%r12d
1408744dd:	44 0f 4f e0          	cmovg  %eax,%r12d
1408744e1:	66 44 0f 2f f6       	comisd %xmm6,%xmm14
1408744e6:	4c 89 64 24 70       	mov    %r12,0x70(%rsp)
1408744eb:	76 11                	jbe    0x1408744fe
1408744ed:	0f 57 35 ac a1 73 00 	xorps  0x73a1ac(%rip),%xmm6        # 0x140fae6a0
1408744f4:	41 b1 2d             	mov    $0x2d,%r9b
1408744f7:	44 88 4c 24 24       	mov    %r9b,0x24(%rsp)
1408744fc:	eb 06                	jmp    0x140874504
1408744fe:	44 0f b6 4c 24 24    	movzbl 0x24(%rsp),%r9d
140874504:	41 80 fa 03          	cmp    $0x3,%r10b
140874508:	75 0d                	jne    0x140874517
14087450a:	45 85 e4             	test   %r12d,%r12d
14087450d:	7e 08                	jle    0x140874517
14087450f:	41 ff cc             	dec    %r12d
140874512:	4c 89 64 24 70       	mov    %r12,0x70(%rsp)
140874517:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
14087451c:	45 8b c4             	mov    %r12d,%r8d
14087451f:	41 81 e0 ff 0f 00 00 	and    $0xfff,%r8d
140874526:	41 f7 e0             	mul    %r8d
140874529:	41 8b c0             	mov    %r8d,%eax
14087452c:	c1 ea 03             	shr    $0x3,%edx
14087452f:	8d 0c 92             	lea    (%rdx,%rdx,4),%ecx
140874532:	03 c9                	add    %ecx,%ecx
140874534:	2b c1                	sub    %ecx,%eax
140874536:	48 63 c8             	movslq %eax,%rcx
140874539:	48 8d 05 c0 ba 78 ff 	lea    -0x874540(%rip),%rax        # 0x140000000
140874540:	f2 0f 10 94 c8 80 81 	movsd  0x1048180(%rax,%rcx,8),%xmm2
140874547:	04 01
140874549:	41 83 f8 0a          	cmp    $0xa,%r8d
14087454d:	72 0d                	jb     0x14087455c
14087454f:	8b c2                	mov    %edx,%eax
140874551:	f2 41 0f 59 d3       	mulsd  %xmm11,%xmm2
140874556:	48 83 e8 01          	sub    $0x1,%rax
14087455a:	75 f5                	jne    0x140874551
14087455c:	41 80 fa 01          	cmp    $0x1,%r10b
140874560:	75 3e                	jne    0x1408745a0
140874562:	66 48 0f 7e f1       	movq   %xmm6,%rcx
140874567:	b8 56 55 55 55       	mov    $0x55555556,%eax
14087456c:	48 c1 e9 34          	shr    $0x34,%rcx
140874570:	81 e1 ff 07 00 00    	and    $0x7ff,%ecx
140874576:	81 e9 ff 03 00 00    	sub    $0x3ff,%ecx
14087457c:	f7 e9                	imul   %ecx
14087457e:	8b c2                	mov    %edx,%eax
140874580:	c1 e8 1f             	shr    $0x1f,%eax
140874583:	03 d0                	add    %eax,%edx
140874585:	41 03 d4             	add    %r12d,%edx
140874588:	83 fa 0f             	cmp    $0xf,%edx
14087458b:	7d 0f                	jge    0x14087459c
14087458d:	0f 28 c6             	movaps %xmm6,%xmm0
140874590:	f2 0f 59 05 f0 f4 7d 	mulsd  0x7df4f0(%rip),%xmm0        # 0x141053a88
140874597:	00
140874598:	f2 0f 58 d0          	addsd  %xmm0,%xmm2
14087459c:	f2 0f 58 f2          	addsd  %xmm2,%xmm6
1408745a0:	33 d2                	xor    %edx,%edx
1408745a2:	66 48 0f 7e f0       	movq   %xmm6,%rax
1408745a7:	48 b9 ff ff ff ff ff 	movabs $0xfffffffffffff,%rcx
1408745ae:	ff 0f 00
1408745b1:	49 b8 00 00 00 00 00 	movabs $0x7ff0000000000000,%r8
1408745b8:	00 f0 7f
1408745bb:	48 85 c1             	test   %rax,%rcx
1408745be:	8b f2                	mov    %edx,%esi
1408745c0:	0f 95 c1             	setne  %cl
1408745c3:	49 23 c0             	and    %r8,%rax
1408745c6:	49 3b c0             	cmp    %r8,%rax
1408745c9:	0f 94 c0             	sete   %al
1408745cc:	84 c8                	test   %cl,%al
1408745ce:	74 11                	je     0x1408745e1
1408745d0:	48 8d 35 6d a7 7d 00 	lea    0x7da76d(%rip),%rsi        # 0x14104ed44
1408745d7:	bf 03 00 00 00       	mov    $0x3,%edi
1408745dc:	e9 f4 fd ff ff       	jmp    0x1408743d5
1408745e1:	66 41 0f 2f f6       	comisd %xmm14,%xmm6
1408745e6:	0f 86 f3 00 00 00    	jbe    0x1408746df
1408745ec:	66 41 0f 2f f0       	comisd %xmm8,%xmm6
1408745f1:	41 0f 28 c9          	movaps %xmm9,%xmm1
1408745f5:	72 1e                	jb     0x140874615
1408745f7:	81 fe 5e 01 00 00    	cmp    $0x15e,%esi
1408745fd:	7f 16                	jg     0x140874615
1408745ff:	f2 41 0f 59 c8       	mulsd  %xmm8,%xmm1
140874604:	83 c6 64             	add    $0x64,%esi
140874607:	0f 28 c1             	movaps %xmm1,%xmm0
14087460a:	f2 41 0f 59 c0       	mulsd  %xmm8,%xmm0
14087460f:	66 0f 2f f0          	comisd %xmm0,%xmm6
140874613:	73 e2                	jae    0x1408745f7
140874615:	0f 28 c1             	movaps %xmm1,%xmm0
140874618:	f2 41 0f 59 c5       	mulsd  %xmm13,%xmm0
14087461d:	66 0f 2f f0          	comisd %xmm0,%xmm6
140874621:	72 19                	jb     0x14087463c
140874623:	81 fe 5e 01 00 00    	cmp    $0x15e,%esi
140874629:	7f 11                	jg     0x14087463c
14087462b:	0f 28 c8             	movaps %xmm0,%xmm1
14087462e:	83 c6 0a             	add    $0xa,%esi
140874631:	f2 41 0f 59 c5       	mulsd  %xmm13,%xmm0
140874636:	66 0f 2f f0          	comisd %xmm0,%xmm6
14087463a:	73 e7                	jae    0x140874623
14087463c:	0f 28 c1             	movaps %xmm1,%xmm0
14087463f:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
140874643:	66 0f 2f f0          	comisd %xmm0,%xmm6
140874647:	72 1e                	jb     0x140874667
140874649:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140874650:	81 fe 5e 01 00 00    	cmp    $0x15e,%esi
140874656:	7f 0f                	jg     0x140874667
140874658:	0f 28 c8             	movaps %xmm0,%xmm1
14087465b:	ff c6                	inc    %esi
14087465d:	f2 0f 59 c7          	mulsd  %xmm7,%xmm0
140874661:	66 0f 2f f0          	comisd %xmm0,%xmm6
140874665:	73 e9                	jae    0x140874650
140874667:	f2 0f 5e f1          	divsd  %xmm1,%xmm6
14087466b:	66 44 0f 2f d6       	comisd %xmm6,%xmm10
140874670:	76 1d                	jbe    0x14087468f
140874672:	0f 1f 40 00          	nopl   0x0(%rax)
140874676:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14087467d:	00 00 00
140874680:	f2 41 0f 59 f4       	mulsd  %xmm12,%xmm6
140874685:	83 ee 08             	sub    $0x8,%esi
140874688:	66 44 0f 2f d6       	comisd %xmm6,%xmm10
14087468d:	77 f1                	ja     0x140874680
14087468f:	66 44 0f 2f ce       	comisd %xmm6,%xmm9
140874694:	76 17                	jbe    0x1408746ad
140874696:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14087469d:	00 00 00
1408746a0:	f2 0f 59 f7          	mulsd  %xmm7,%xmm6
1408746a4:	ff ce                	dec    %esi
1408746a6:	66 44 0f 2f ce       	comisd %xmm6,%xmm9
1408746ab:	77 f3                	ja     0x1408746a0
1408746ad:	81 fe 5e 01 00 00    	cmp    $0x15e,%esi
1408746b3:	7e 2a                	jle    0x1408746df
1408746b5:	45 84 c9             	test   %r9b,%r9b
1408746b8:	44 88 4d 80          	mov    %r9b,-0x80(%rbp)
1408746bc:	48 8b c2             	mov    %rdx,%rax
1408746bf:	48 8d 75 80          	lea    -0x80(%rbp),%rsi
1408746c3:	0f 95 c0             	setne  %al
1408746c6:	8b fa                	mov    %edx,%edi
1408746c8:	45 84 c9             	test   %r9b,%r9b
1408746cb:	40 0f 95 c7          	setne  %dil
1408746cf:	83 c7 03             	add    $0x3,%edi
1408746d2:	c7 44 05 80 49 6e 66 	movl   $0x666e49,-0x80(%rbp,%rax,1)
1408746d9:	00
1408746da:	e9 f6 fc ff ff       	jmp    0x1408743d5
1408746df:	48 8d 7d 80          	lea    -0x80(%rbp),%rdi
1408746e3:	8b c6                	mov    %esi,%eax
1408746e5:	41 80 fa 01          	cmp    $0x1,%r10b
1408746e9:	0f 84 df 00 00 00    	je     0x1408747ce
1408746ef:	f2 0f 58 f2          	addsd  %xmm2,%xmm6
1408746f3:	66 0f 2f f7          	comisd %xmm7,%xmm6
1408746f7:	0f 28 c6             	movaps %xmm6,%xmm0
1408746fa:	72 08                	jb     0x140874704
1408746fc:	f2 0f 59 35 3c f3 78 	mulsd  0x78f33c(%rip),%xmm6        # 0x141003a40
140874703:	00
140874704:	ff c6                	inc    %esi
140874706:	66 0f 2f c7          	comisd %xmm7,%xmm0
14087470a:	0f 42 f0             	cmovb  %eax,%esi
14087470d:	41 80 fa 03          	cmp    $0x3,%r10b
140874711:	0f 85 b7 00 00 00    	jne    0x1408747ce
140874717:	45 84 f6             	test   %r14b,%r14b
14087471a:	41 0f 94 c5          	sete   %r13b
14087471e:	83 fe fc             	cmp    $0xfffffffc,%esi
140874721:	0f 8c 9b 00 00 00    	jl     0x1408747c2
140874727:	41 3b f4             	cmp    %r12d,%esi