140559415:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140559419:	48 2b d1             	sub    %rcx,%rdx
14055941c:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
140559420:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140559427:	72 18                	jb     0x140559441
140559429:	48 83 c2 27          	add    $0x27,%rdx
14055942d:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140559431:	49 2b c8             	sub    %r8,%rcx
140559434:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140559438:	48 83 f8 1f          	cmp    $0x1f,%rax
14055943c:	77 3d                	ja     0x14055947b
14055943e:	49 8b c8             	mov    %r8,%rcx
140559441:	e8 fe 1c 8c 00       	call   0x140e1b144
140559446:	48 89 1f             	mov    %rbx,(%rdi)
140559449:	49 c1 e6 04          	shl    $0x4,%r14
14055944d:	4c 03 f3             	add    %rbx,%r14
140559450:	4c 89 77 08          	mov    %r14,0x8(%rdi)
140559454:	48 8d 0c 1e          	lea    (%rsi,%rbx,1),%rcx
140559458:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
14055945c:	49 8b c7             	mov    %r15,%rax
14055945f:	48 83 c4 20          	add    $0x20,%rsp
140559463:	41 5f                	pop    %r15
140559465:	41 5e                	pop    %r14
140559467:	41 5d                	pop    %r13
140559469:	41 5c                	pop    %r12
14055946b:	5f                   	pop    %rdi
14055946c:	5e                   	pop    %rsi
14055946d:	5b                   	pop    %rbx
14055946e:	c3                   	ret
14055946f:	e8 1c 3d c4 ff       	call   0x14019d190
140559474:	cc                   	int3
140559475:	e8 16 41 c4 ff       	call   0x14019d590
14055947a:	cc                   	int3
14055947b:	e8 24 0d 8d 00       	call   0x140e2a1a4
140559480:	cc                   	int3
140559481:	cc                   	int3
140559482:	cc                   	int3
140559483:	cc                   	int3
140559484:	cc                   	int3
140559485:	cc                   	int3
140559486:	cc                   	int3
140559487:	cc                   	int3
140559488:	cc                   	int3
140559489:	cc                   	int3
14055948a:	cc                   	int3
14055948b:	cc                   	int3
14055948c:	cc                   	int3
14055948d:	cc                   	int3
14055948e:	cc                   	int3
14055948f:	cc                   	int3
140559490:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
140559495:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
14055949a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14055949f:	53                   	push   %rbx
1405594a0:	56                   	push   %rsi
1405594a1:	57                   	push   %rdi
1405594a2:	41 54                	push   %r12
1405594a4:	41 55                	push   %r13
1405594a6:	41 56                	push   %r14
1405594a8:	41 57                	push   %r15
1405594aa:	48 83 ec 40          	sub    $0x40,%rsp
1405594ae:	4c 8b ea             	mov    %rdx,%r13
1405594b1:	48 8b f1             	mov    %rcx,%rsi
1405594b4:	4c 8b 19             	mov    (%rcx),%r11
1405594b7:	4c 8b d2             	mov    %rdx,%r10
1405594ba:	4d 2b d3             	sub    %r11,%r10
1405594bd:	49 b9 25 49 92 24 49 	movabs $0x4924924924924925,%r9
1405594c4:	92 24 49
1405594c7:	49 8b c1             	mov    %r9,%rax
1405594ca:	49 f7 ea             	imul   %r10
1405594cd:	4c 8b f2             	mov    %rdx,%r14
1405594d0:	49 c1 fe 04          	sar    $0x4,%r14
1405594d4:	49 8b c6             	mov    %r14,%rax
1405594d7:	48 c1 e8 3f          	shr    $0x3f,%rax
1405594db:	4c 03 f0             	add    %rax,%r14
1405594de:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1405594e2:	49 2b cb             	sub    %r11,%rcx
1405594e5:	49 8b c1             	mov    %r9,%rax
1405594e8:	48 f7 e9             	imul   %rcx
1405594eb:	48 c1 fa 04          	sar    $0x4,%rdx
1405594ef:	48 8b c2             	mov    %rdx,%rax
1405594f2:	48 c1 e8 3f          	shr    $0x3f,%rax
1405594f6:	48 03 d0             	add    %rax,%rdx
1405594f9:	49 b8 92 24 49 92 24 	movabs $0x492492492492492,%r8
140559500:	49 92 04
140559503:	49 3b d0             	cmp    %r8,%rdx
140559506:	0f 84 93 01 00 00    	je     0x14055969f
14055950c:	4c 8d 62 01          	lea    0x1(%rdx),%r12
140559510:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140559514:	49 2b cb             	sub    %r11,%rcx
140559517:	49 8b c1             	mov    %r9,%rax
14055951a:	48 f7 e9             	imul   %rcx
14055951d:	48 c1 fa 04          	sar    $0x4,%rdx
140559521:	48 8b c2             	mov    %rdx,%rax
140559524:	48 c1 e8 3f          	shr    $0x3f,%rax
140559528:	48 03 d0             	add    %rax,%rdx
14055952b:	48 8b ca             	mov    %rdx,%rcx
14055952e:	48 d1 e9             	shr    $1,%rcx
140559531:	49 8b c0             	mov    %r8,%rax
140559534:	48 2b c1             	sub    %rcx,%rax
140559537:	48 3b d0             	cmp    %rax,%rdx
14055953a:	0f 87 59 01 00 00    	ja     0x140559699
140559540:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140559544:	49 8b fc             	mov    %r12,%rdi
140559547:	49 3b c4             	cmp    %r12,%rax
14055954a:	48 0f 43 f8          	cmovae %rax,%rdi
14055954e:	49 3b f8             	cmp    %r8,%rdi
140559551:	0f 87 42 01 00 00    	ja     0x140559699
140559557:	48 6b cf 38          	imul   $0x38,%rdi,%rcx
14055955b:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140559560:	48 85 c9             	test   %rcx,%rcx
140559563:	75 09                	jne    0x14055956e
140559565:	33 db                	xor    %ebx,%ebx
140559567:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14055956c:	eb 3d                	jmp    0x1405595ab
14055956e:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140559575:	72 2c                	jb     0x1405595a3
140559577:	48 8d 41 27          	lea    0x27(%rcx),%rax
14055957b:	48 3b c1             	cmp    %rcx,%rax
14055957e:	0f 86 15 01 00 00    	jbe    0x140559699
140559584:	48 8b c8             	mov    %rax,%rcx
140559587:	e8 7c 1b 8c 00       	call   0x140e1b108
14055958c:	48 85 c0             	test   %rax,%rax
14055958f:	0f 84 10 01 00 00    	je     0x1405596a5
140559595:	48 8d 58 27          	lea    0x27(%rax),%rbx
140559599:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14055959d:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1405595a1:	eb 08                	jmp    0x1405595ab
1405595a3:	e8 60 1b 8c 00       	call   0x140e1b108
1405595a8:	48 8b d8             	mov    %rax,%rbx
1405595ab:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
1405595b2:	00
1405595b3:	4d 6b f6 38          	imul   $0x38,%r14,%r14
1405595b7:	4c 03 f3             	add    %rbx,%r14
1405595ba:	4d 8d 7e 38          	lea    0x38(%r14),%r15
1405595be:	4c 89 7c 24 38       	mov    %r15,0x38(%rsp)
1405595c3:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
1405595ca:	00
1405595cb:	f2 0f 10 08          	movsd  (%rax),%xmm1
1405595cf:	c6 44 24 28 00       	movb   $0x0,0x28(%rsp)
1405595d4:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
1405595db:	00
1405595dc:	4c 8b 48 10          	mov    0x10(%rax),%r9
1405595e0:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
1405595e7:	00
1405595e8:	4c 8b 40 08          	mov    0x8(%rax),%r8
1405595ec:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
1405595f3:	00
1405595f4:	48 8b 10             	mov    (%rax),%rdx
1405595f7:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1405595fe:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
140559605:	00
140559606:	48 8b 09             	mov    (%rcx),%rcx
140559609:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
140559610:	00
140559611:	8b 00                	mov    (%rax),%eax
140559613:	41 89 06             	mov    %eax,(%r14)
140559616:	49 89 4e 08          	mov    %rcx,0x8(%r14)
14055961a:	49 89 56 10          	mov    %rdx,0x10(%r14)
14055961e:	4d 89 46 18          	mov    %r8,0x18(%r14)
140559622:	4d 89 4e 20          	mov    %r9,0x20(%r14)
140559626:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
14055962b:	f2 0f 10 c1          	movsd  %xmm1,%xmm0
14055962f:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
140559634:	41 0f 11 46 28       	movups %xmm0,0x28(%r14)
140559639:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
14055963e:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140559642:	48 8b 0e             	mov    (%rsi),%rcx
140559645:	4c 3b ea             	cmp    %rdx,%r13
140559648:	75 05                	jne    0x14055964f
14055964a:	4c 8b fb             	mov    %rbx,%r15
14055964d:	eb 1a                	jmp    0x140559669
14055964f:	4c 8b ce             	mov    %rsi,%r9
140559652:	4c 8b c3             	mov    %rbx,%r8
140559655:	49 8b d5             	mov    %r13,%rdx
140559658:	e8 43 04 00 00       	call   0x140559aa0
14055965d:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140559662:	49 8b cd             	mov    %r13,%rcx
140559665:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140559669:	4c 8b ce             	mov    %rsi,%r9
14055966c:	4d 8b c7             	mov    %r15,%r8
14055966f:	e8 2c 04 00 00       	call   0x140559aa0
140559674:	90                   	nop
140559675:	4c 8b cf             	mov    %rdi,%r9
140559678:	4d 8b c4             	mov    %r12,%r8
14055967b:	48 8b d3             	mov    %rbx,%rdx
14055967e:	48 8b ce             	mov    %rsi,%rcx
140559681:	e8 9a 7b 00 00       	call   0x140561220
140559686:	49 8b c6             	mov    %r14,%rax
140559689:	48 83 c4 40          	add    $0x40,%rsp
14055968d:	41 5f                	pop    %r15
14055968f:	41 5e                	pop    %r14
140559691:	41 5d                	pop    %r13
140559693:	41 5c                	pop    %r12
140559695:	5f                   	pop    %rdi
140559696:	5e                   	pop    %rsi
140559697:	5b                   	pop    %rbx
140559698:	c3                   	ret
140559699:	e8 f2 3a c4 ff       	call   0x14019d190
14055969e:	cc                   	int3
14055969f:	e8 ec 3e c4 ff       	call   0x14019d590
1405596a4:	cc                   	int3
1405596a5:	e8 fa 0a 8d 00       	call   0x140e2a1a4
1405596aa:	cc                   	int3
1405596ab:	cc                   	int3
1405596ac:	cc                   	int3
1405596ad:	cc                   	int3
1405596ae:	cc                   	int3
1405596af:	cc                   	int3
1405596b0:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
1405596b5:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
1405596ba:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1405596bf:	53                   	push   %rbx
1405596c0:	56                   	push   %rsi
1405596c1:	57                   	push   %rdi
1405596c2:	41 54                	push   %r12
1405596c4:	41 55                	push   %r13
1405596c6:	41 56                	push   %r14
1405596c8:	41 57                	push   %r15
1405596ca:	48 83 ec 40          	sub    $0x40,%rsp
1405596ce:	4c 8b ea             	mov    %rdx,%r13
1405596d1:	48 8b f1             	mov    %rcx,%rsi
1405596d4:	4c 8b 19             	mov    (%rcx),%r11
1405596d7:	4c 8b d2             	mov    %rdx,%r10
1405596da:	4d 2b d3             	sub    %r11,%r10
1405596dd:	49 b9 25 49 92 24 49 	movabs $0x4924924924924925,%r9
1405596e4:	92 24 49
1405596e7:	49 8b c1             	mov    %r9,%rax
1405596ea:	49 f7 ea             	imul   %r10
1405596ed:	4c 8b f2             	mov    %rdx,%r14
1405596f0:	49 c1 fe 04          	sar    $0x4,%r14
1405596f4:	49 8b c6             	mov    %r14,%rax
1405596f7:	48 c1 e8 3f          	shr    $0x3f,%rax
1405596fb:	4c 03 f0             	add    %rax,%r14
1405596fe:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140559702:	49 2b cb             	sub    %r11,%rcx
140559705:	49 8b c1             	mov    %r9,%rax
140559708:	48 f7 e9             	imul   %rcx
14055970b:	48 c1 fa 04          	sar    $0x4,%rdx
14055970f:	48 8b c2             	mov    %rdx,%rax
140559712:	48 c1 e8 3f          	shr    $0x3f,%rax
140559716:	48 03 d0             	add    %rax,%rdx
140559719:	49 b8 92 24 49 92 24 	movabs $0x492492492492492,%r8
140559720:	49 92 04
140559723:	49 3b d0             	cmp    %r8,%rdx
140559726:	0f 84 8e 01 00 00    	je     0x1405598ba
14055972c:	4c 8d 62 01          	lea    0x1(%rdx),%r12
140559730:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140559734:	49 2b cb             	sub    %r11,%rcx
140559737:	49 8b c1             	mov    %r9,%rax
14055973a:	48 f7 e9             	imul   %rcx
14055973d:	48 c1 fa 04          	sar    $0x4,%rdx
140559741:	48 8b c2             	mov    %rdx,%rax
140559744:	48 c1 e8 3f          	shr    $0x3f,%rax
140559748:	48 03 d0             	add    %rax,%rdx
14055974b:	48 8b ca             	mov    %rdx,%rcx
14055974e:	48 d1 e9             	shr    $1,%rcx
140559751:	49 8b c0             	mov    %r8,%rax
140559754:	48 2b c1             	sub    %rcx,%rax
140559757:	48 3b d0             	cmp    %rax,%rdx
14055975a:	0f 87 54 01 00 00    	ja     0x1405598b4
140559760:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140559764:	49 8b fc             	mov    %r12,%rdi
140559767:	49 3b c4             	cmp    %r12,%rax
14055976a:	48 0f 43 f8          	cmovae %rax,%rdi
14055976e:	49 3b f8             	cmp    %r8,%rdi
140559771:	0f 87 3d 01 00 00    	ja     0x1405598b4
140559777:	48 6b cf 38          	imul   $0x38,%rdi,%rcx
14055977b:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
140559780:	48 85 c9             	test   %rcx,%rcx
140559783:	75 09                	jne    0x14055978e
140559785:	33 db                	xor    %ebx,%ebx
140559787:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
14055978c:	eb 3d                	jmp    0x1405597cb
14055978e:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140559795:	72 2c                	jb     0x1405597c3
140559797:	48 8d 41 27          	lea    0x27(%rcx),%rax
14055979b:	48 3b c1             	cmp    %rcx,%rax
14055979e:	0f 86 10 01 00 00    	jbe    0x1405598b4
1405597a4:	48 8b c8             	mov    %rax,%rcx
1405597a7:	e8 5c 19 8c 00       	call   0x140e1b108
1405597ac:	48 85 c0             	test   %rax,%rax
1405597af:	0f 84 0b 01 00 00    	je     0x1405598c0
1405597b5:	48 8d 58 27          	lea    0x27(%rax),%rbx
1405597b9:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1405597bd:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1405597c1:	eb 08                	jmp    0x1405597cb
1405597c3:	e8 40 19 8c 00       	call   0x140e1b108
1405597c8:	48 8b d8             	mov    %rax,%rbx
1405597cb:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
1405597d2:	00
1405597d3:	4d 6b f6 38          	imul   $0x38,%r14,%r14
1405597d7:	4c 03 f3             	add    %rbx,%r14
1405597da:	4d 8d 7e 38          	lea    0x38(%r14),%r15
1405597de:	4c 89 7c 24 38       	mov    %r15,0x38(%rsp)
1405597e3:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
1405597ea:	00
1405597eb:	48 8b 08             	mov    (%rax),%rcx
1405597ee:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1405597f3:	c6 44 24 28 01       	movb   $0x1,0x28(%rsp)
1405597f8:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
1405597ff:	00
140559800:	4c 8b 48 10          	mov    0x10(%rax),%r9
140559804:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
14055980b:	00
14055980c:	4c 8b 40 08          	mov    0x8(%rax),%r8
140559810:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
140559817:	00
140559818:	48 8b 10             	mov    (%rax),%rdx
14055981b:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
140559822:	48 8b 8c 24 98 00 00 	mov    0x98(%rsp),%rcx
140559829:	00
14055982a:	48 8b 09             	mov    (%rcx),%rcx
14055982d:	48 8b 84 24 90 00 00 	mov    0x90(%rsp),%rax
140559834:	00
140559835:	8b 00                	mov    (%rax),%eax
140559837:	41 89 06             	mov    %eax,(%r14)
14055983a:	49 89 4e 08          	mov    %rcx,0x8(%r14)
14055983e:	49 89 56 10          	mov    %rdx,0x10(%r14)
140559842:	4d 89 46 18          	mov    %r8,0x18(%r14)
140559846:	4d 89 4e 20          	mov    %r9,0x20(%r14)
14055984a:	0f 10 44 24 20       	movups 0x20(%rsp),%xmm0
14055984f:	41 0f 11 46 28       	movups %xmm0,0x28(%r14)
140559854:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140559859:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14055985d:	48 8b 0e             	mov    (%rsi),%rcx
140559860:	4c 3b ea             	cmp    %rdx,%r13
140559863:	75 05                	jne    0x14055986a
140559865:	4c 8b fb             	mov    %rbx,%r15
140559868:	eb 1a                	jmp    0x140559884
14055986a:	4c 8b ce             	mov    %rsi,%r9
14055986d:	4c 8b c3             	mov    %rbx,%r8
140559870:	49 8b d5             	mov    %r13,%rdx
140559873:	e8 28 02 00 00       	call   0x140559aa0
140559878:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14055987d:	49 8b cd             	mov    %r13,%rcx
140559880:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140559884:	4c 8b ce             	mov    %rsi,%r9
140559887:	4d 8b c7             	mov    %r15,%r8
14055988a:	e8 11 02 00 00       	call   0x140559aa0
14055988f:	90                   	nop
140559890:	4c 8b cf             	mov    %rdi,%r9
140559893:	4d 8b c4             	mov    %r12,%r8
140559896:	48 8b d3             	mov    %rbx,%rdx
140559899:	48 8b ce             	mov    %rsi,%rcx
14055989c:	e8 7f 79 00 00       	call   0x140561220
1405598a1:	49 8b c6             	mov    %r14,%rax
1405598a4:	48 83 c4 40          	add    $0x40,%rsp
1405598a8:	41 5f                	pop    %r15
1405598aa:	41 5e                	pop    %r14