140658251:	0f 57 c9             	xorps  %xmm1,%xmm1
140658254:	48 85 c9             	test   %rcx,%rcx
140658257:	78 07                	js     0x140658260
140658259:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
14065825e:	eb 15                	jmp    0x140658275
140658260:	48 8b c1             	mov    %rcx,%rax
140658263:	48 d1 e8             	shr    $1,%rax
140658266:	83 e1 01             	and    $0x1,%ecx
140658269:	48 0b c1             	or     %rcx,%rax
14065826c:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140658271:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140658275:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140658279:	0f 2f 06             	comiss (%rsi),%xmm0
14065827c:	76 54                	jbe    0x1406582d2
14065827e:	48 8b ce             	mov    %rsi,%rcx
140658281:	e8 ba d3 fb ff       	call   0x140615640
140658286:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
14065828a:	49 23 cc             	and    %r12,%rcx
14065828d:	48 03 c9             	add    %rcx,%rcx
140658290:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140658294:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140658299:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14065829d:	48 3b c3             	cmp    %rbx,%rax
1406582a0:	74 23                	je     0x1406582c5
1406582a2:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1406582a6:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1406582aa:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406582ae:	74 12                	je     0x1406582c2
1406582b0:	48 8b d8             	mov    %rax,%rbx
1406582b3:	48 3b c2             	cmp    %rdx,%rax
1406582b6:	74 4e                	je     0x140658306
1406582b8:	48 8b 40 08          	mov    0x8(%rax),%rax
1406582bc:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406582c0:	75 ee                	jne    0x1406582b0
1406582c2:	48 8b 18             	mov    (%rax),%rbx
1406582c5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406582ca:	48 8b eb             	mov    %rbx,%rbp
1406582cd:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
1406582d2:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406582d6:	48 ff 46 10          	incq   0x10(%rsi)
1406582da:	4c 89 3f             	mov    %r15,(%rdi)
1406582dd:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1406582e1:	48 89 3a             	mov    %rdi,(%rdx)
1406582e4:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1406582e8:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
1406582ec:	48 8b 46 30          	mov    0x30(%rsi),%rax
1406582f0:	49 23 c4             	and    %r12,%rax
1406582f3:	48 03 c0             	add    %rax,%rax
1406582f6:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1406582fa:	4c 3b 46 08          	cmp    0x8(%rsi),%r8
1406582fe:	75 0d                	jne    0x14065830d
140658300:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140658304:	eb 19                	jmp    0x14065831f
140658306:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14065830b:	eb bd                	jmp    0x1406582ca
14065830d:	4c 3b c5             	cmp    %rbp,%r8
140658310:	75 06                	jne    0x140658318
140658312:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140658316:	eb 0c                	jmp    0x140658324
140658318:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
14065831d:	75 05                	jne    0x140658324
14065831f:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
140658324:	49 89 3e             	mov    %rdi,(%r14)
140658327:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
14065832c:	e9 86 fe ff ff       	jmp    0x1406581b7
140658331:	48 8d 0d 68 61 95 00 	lea    0x956168(%rip),%rcx        # 0x140fae4a0
140658338:	e8 77 30 7a 00       	call   0x140dfb3b4
14065833d:	cc                   	int3
14065833e:	cc                   	int3
14065833f:	cc                   	int3
140658340:	44 0f b6 02          	movzbl (%rdx),%r8d
140658344:	4c 8b c9             	mov    %rcx,%r9
140658347:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14065834e:	01 00 00
140658351:	4c 8b d2             	mov    %rdx,%r10
140658354:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
14065835b:	9c f2 cb
14065835e:	4c 33 c0             	xor    %rax,%r8
140658361:	0f b6 42 01          	movzbl 0x1(%rdx),%eax
140658365:	4c 0f af c1          	imul   %rcx,%r8
140658369:	4c 33 c0             	xor    %rax,%r8
14065836c:	0f b6 42 02          	movzbl 0x2(%rdx),%eax
140658370:	4c 0f af c1          	imul   %rcx,%r8
140658374:	4c 33 c0             	xor    %rax,%r8
140658377:	0f b6 42 03          	movzbl 0x3(%rdx),%eax
14065837b:	49 8b 51 30          	mov    0x30(%r9),%rdx
14065837f:	4c 0f af c1          	imul   %rcx,%r8
140658383:	4c 33 c0             	xor    %rax,%r8
140658386:	4c 0f af c1          	imul   %rcx,%r8
14065838a:	49 23 d0             	and    %r8,%rdx
14065838d:	45 33 c0             	xor    %r8d,%r8d
140658390:	48 c1 e2 04          	shl    $0x4,%rdx
140658394:	49 03 51 18          	add    0x18(%r9),%rdx
140658398:	48 8b 42 08          	mov    0x8(%rdx),%rax
14065839c:	49 3b 41 08          	cmp    0x8(%r9),%rax
1406583a0:	74 27                	je     0x1406583c9
1406583a2:	41 8b 0a             	mov    (%r10),%ecx
1406583a5:	48 8b 12             	mov    (%rdx),%rdx
1406583a8:	3b 48 10             	cmp    0x10(%rax),%ecx
1406583ab:	74 1f                	je     0x1406583cc
1406583ad:	0f 1f 00             	nopl   (%rax)
1406583b0:	48 3b c2             	cmp    %rdx,%rax
1406583b3:	74 14                	je     0x1406583c9
1406583b5:	48 8b 40 08          	mov    0x8(%rax),%rax
1406583b9:	3b 48 10             	cmp    0x10(%rax),%ecx
1406583bc:	75 f2                	jne    0x1406583b0
1406583be:	48 85 c0             	test   %rax,%rax
1406583c1:	41 0f 95 c0          	setne  %r8b
1406583c5:	49 8b c0             	mov    %r8,%rax
1406583c8:	c3                   	ret
1406583c9:	49 8b c0             	mov    %r8,%rax
1406583cc:	48 85 c0             	test   %rax,%rax
1406583cf:	41 0f 95 c0          	setne  %r8b
1406583d3:	49 8b c0             	mov    %r8,%rax
1406583d6:	c3                   	ret
1406583d7:	cc                   	int3
1406583d8:	cc                   	int3
1406583d9:	cc                   	int3
1406583da:	cc                   	int3
1406583db:	cc                   	int3
1406583dc:	cc                   	int3
1406583dd:	cc                   	int3
1406583de:	cc                   	int3
1406583df:	cc                   	int3
1406583e0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1406583e5:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1406583ea:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406583ef:	57                   	push   %rdi
1406583f0:	41 54                	push   %r12
1406583f2:	41 55                	push   %r13
1406583f4:	41 56                	push   %r14
1406583f6:	41 57                	push   %r15
1406583f8:	48 83 ec 30          	sub    $0x30,%rsp
1406583fc:	4d 8b e8             	mov    %r8,%r13
1406583ff:	4c 8b f2             	mov    %rdx,%r14
140658402:	48 8b f1             	mov    %rcx,%rsi
140658405:	45 0f b6 20          	movzbl (%r8),%r12d
140658409:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140658410:	9c f2 cb
140658413:	4c 33 e0             	xor    %rax,%r12
140658416:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14065841d:	01 00 00
140658420:	4c 0f af e1          	imul   %rcx,%r12
140658424:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140658429:	4c 33 e0             	xor    %rax,%r12
14065842c:	4c 0f af e1          	imul   %rcx,%r12
140658430:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140658435:	4c 33 e0             	xor    %rax,%r12
140658438:	4c 0f af e1          	imul   %rcx,%r12
14065843c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140658441:	4c 33 e0             	xor    %rax,%r12
140658444:	4c 0f af e1          	imul   %rcx,%r12
140658448:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
14065844d:	4c 33 e0             	xor    %rax,%r12
140658450:	4c 0f af e1          	imul   %rcx,%r12
140658454:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140658459:	4c 33 e0             	xor    %rax,%r12
14065845c:	4c 0f af e1          	imul   %rcx,%r12
140658460:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140658465:	4c 33 e0             	xor    %rax,%r12
140658468:	4c 0f af e1          	imul   %rcx,%r12
14065846c:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140658471:	4c 33 e0             	xor    %rax,%r12
140658474:	4c 0f af e1          	imul   %rcx,%r12
140658478:	49 8b cc             	mov    %r12,%rcx
14065847b:	48 23 4e 30          	and    0x30(%rsi),%rcx
14065847f:	48 03 c9             	add    %rcx,%rcx
140658482:	48 8b 56 18          	mov    0x18(%rsi),%rdx
140658486:	48 8b 5c ca 08       	mov    0x8(%rdx,%rcx,8),%rbx
14065848b:	48 8d 46 08          	lea    0x8(%rsi),%rax
14065848f:	4c 8b 38             	mov    (%rax),%r15
140658492:	49 3b df             	cmp    %r15,%rbx
140658495:	75 08                	jne    0x14065849f
140658497:	49 8b df             	mov    %r15,%rbx
14065849a:	49 8b ef             	mov    %r15,%rbp
14065849d:	eb 52                	jmp    0x1406584f1
14065849f:	48 8b 0c ca          	mov    (%rdx,%rcx,8),%rcx
1406584a3:	49 8b 00             	mov    (%r8),%rax
1406584a6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1406584aa:	74 13                	je     0x1406584bf
1406584ac:	0f 1f 40 00          	nopl   0x0(%rax)
1406584b0:	48 3b d9             	cmp    %rcx,%rbx
1406584b3:	74 32                	je     0x1406584e7
1406584b5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
1406584b9:	48 3b 43 10          	cmp    0x10(%rbx),%rax
1406584bd:	75 f1                	jne    0x1406584b0
1406584bf:	49 89 1e             	mov    %rbx,(%r14)
1406584c2:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
1406584c7:	49 8b c6             	mov    %r14,%rax
1406584ca:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1406584cf:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1406584d4:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1406584d9:	48 83 c4 30          	add    $0x30,%rsp
1406584dd:	41 5f                	pop    %r15
1406584df:	41 5e                	pop    %r14
1406584e1:	41 5d                	pop    %r13
1406584e3:	41 5c                	pop    %r12
1406584e5:	5f                   	pop    %rdi
1406584e6:	c3                   	ret
1406584e7:	4c 8b fb             	mov    %rbx,%r15
1406584ea:	48 8b eb             	mov    %rbx,%rbp
1406584ed:	48 8d 46 08          	lea    0x8(%rsi),%rax
1406584f1:	48 b9 aa aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaa,%rcx
1406584f8:	aa aa 0a
1406584fb:	48 39 4e 10          	cmp    %rcx,0x10(%rsi)
1406584ff:	0f 84 57 01 00 00    	je     0x14065865c
140658505:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14065850a:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140658511:	00 00
140658513:	b9 18 00 00 00       	mov    $0x18,%ecx
140658518:	e8 eb 2b 7c 00       	call   0x140e1b108
14065851d:	48 8b f8             	mov    %rax,%rdi
140658520:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140658525:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140658529:	48 89 48 10          	mov    %rcx,0x10(%rax)
14065852d:	48 8b 56 10          	mov    0x10(%rsi),%rdx
140658531:	48 83 c2 01          	add    $0x1,%rdx
140658535:	0f 57 c0             	xorps  %xmm0,%xmm0
140658538:	78 07                	js     0x140658541
14065853a:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
14065853f:	eb 18                	jmp    0x140658559
140658541:	48 8b ca             	mov    %rdx,%rcx
140658544:	48 d1 e9             	shr    $1,%rcx
140658547:	48 8b c2             	mov    %rdx,%rax
14065854a:	83 e0 01             	and    $0x1,%eax
14065854d:	48 0b c8             	or     %rax,%rcx
140658550:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140658555:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140658559:	48 8b 4e 38          	mov    0x38(%rsi),%rcx
14065855d:	0f 57 c9             	xorps  %xmm1,%xmm1
140658560:	48 85 c9             	test   %rcx,%rcx
140658563:	78 07                	js     0x14065856c
140658565:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
14065856a:	eb 15                	jmp    0x140658581
14065856c:	48 8b c1             	mov    %rcx,%rax
14065856f:	48 d1 e8             	shr    $1,%rax
140658572:	83 e1 01             	and    $0x1,%ecx
140658575:	48 0b c1             	or     %rcx,%rax
140658578:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
14065857d:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140658581:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140658585:	0f 2f 06             	comiss (%rsi),%xmm0
140658588:	76 6a                	jbe    0x1406585f4
14065858a:	48 8b ce             	mov    %rsi,%rcx
14065858d:	e8 4e cd f5 ff       	call   0x1405b52e0
140658592:	48 8b d0             	mov    %rax,%rdx
140658595:	48 8b ce             	mov    %rsi,%rcx
140658598:	e8 b3 37 00 00       	call   0x14065bd50
14065859d:	48 8b 4e 30          	mov    0x30(%rsi),%rcx
1406585a1:	49 23 cc             	and    %r12,%rcx
1406585a4:	48 03 c9             	add    %rcx,%rcx
1406585a7:	48 8b 56 18          	mov    0x18(%rsi),%rdx
1406585ab:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
1406585b0:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
1406585b4:	48 3b c3             	cmp    %rbx,%rax
1406585b7:	75 0b                	jne    0x1406585c4
1406585b9:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
1406585c0:	00 00
1406585c2:	eb 23                	jmp    0x1406585e7
1406585c4:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
1406585c8:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
1406585cc:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406585d0:	74 12                	je     0x1406585e4
1406585d2:	48 8b d8             	mov    %rax,%rbx
1406585d5:	48 3b c2             	cmp    %rdx,%rax
1406585d8:	74 4e                	je     0x140658628
1406585da:	48 8b 40 08          	mov    0x8(%rax),%rax
1406585de:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406585e2:	75 ee                	jne    0x1406585d2
1406585e4:	48 8b 18             	mov    (%rax),%rbx
1406585e7:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406585ec:	48 8b eb             	mov    %rbx,%rbp
1406585ef:	4c 8b 7c 24 20       	mov    0x20(%rsp),%r15
1406585f4:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406585f8:	48 ff 46 10          	incq   0x10(%rsi)
1406585fc:	4c 89 3f             	mov    %r15,(%rdi)
1406585ff:	48 89 57 08          	mov    %rdx,0x8(%rdi)
140658603:	48 89 3a             	mov    %rdi,(%rdx)
140658606:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
14065860a:	48 8b 4e 18          	mov    0x18(%rsi),%rcx
14065860e:	48 8b 46 30          	mov    0x30(%rsi),%rax
140658612:	49 23 c4             	and    %r12,%rax
140658615:	48 03 c0             	add    %rax,%rax
140658618:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
14065861c:	4c 3b 46 08          	cmp    0x8(%rsi),%r8
140658620:	75 16                	jne    0x140658638
140658622:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140658626:	eb 22                	jmp    0x14065864a
140658628:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
14065862d:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140658634:	00 00
140658636:	eb b4                	jmp    0x1406585ec
140658638:	4c 3b c5             	cmp    %rbp,%r8
14065863b:	75 06                	jne    0x140658643
14065863d:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
140658641:	eb 0c                	jmp    0x14065864f
140658643:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140658648:	75 05                	jne    0x14065864f
14065864a:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14065864f:	49 89 3e             	mov    %rdi,(%r14)
140658652:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140658657:	e9 6b fe ff ff       	jmp    0x1406584c7
14065865c:	48 8d 0d 3d 5e 95 00 	lea    0x955e3d(%rip),%rcx        # 0x140fae4a0
140658663:	e8 4c 2d 7a 00       	call   0x140dfb3b4
140658668:	cc                   	int3
140658669:	cc                   	int3
14065866a:	cc                   	int3
14065866b:	cc                   	int3
14065866c:	cc                   	int3
14065866d:	cc                   	int3
14065866e:	cc                   	int3
14065866f:	cc                   	int3
140658670:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140658675:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14065867a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14065867f:	57                   	push   %rdi
140658680:	41 54                	push   %r12
140658682:	41 55                	push   %r13
140658684:	41 56                	push   %r14
140658686:	41 57                	push   %r15
140658688:	48 83 ec 30          	sub    $0x30,%rsp
14065868c:	49 8b f0             	mov    %r8,%rsi
14065868f:	4c 8b fa             	mov    %rdx,%r15
140658692:	48 8b e9             	mov    %rcx,%rbp
140658695:	41 0f b6 38          	movzbl (%r8),%edi
140658699:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1406586a0:	9c f2 cb
1406586a3:	48 33 f8             	xor    %rax,%rdi
1406586a6:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
1406586ad:	01 00 00
1406586b0:	48 0f af f9          	imul   %rcx,%rdi
1406586b4:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
1406586b9:	48 33 f8             	xor    %rax,%rdi
1406586bc:	48 0f af f9          	imul   %rcx,%rdi
1406586c0:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
1406586c5:	48 33 f8             	xor    %rax,%rdi
1406586c8:	48 0f af f9          	imul   %rcx,%rdi
1406586cc:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
1406586d1:	48 33 f8             	xor    %rax,%rdi
1406586d4:	48 0f af f9          	imul   %rcx,%rdi
1406586d8:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
1406586dd:	48 33 f8             	xor    %rax,%rdi
1406586e0:	48 0f af f9          	imul   %rcx,%rdi
1406586e4:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
1406586e9:	48 33 f8             	xor    %rax,%rdi
1406586ec:	48 0f af f9          	imul   %rcx,%rdi
1406586f0:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
1406586f5:	48 33 f8             	xor    %rax,%rdi
1406586f8:	48 0f af f9          	imul   %rcx,%rdi
1406586fc:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax