1405591db:	48 d1 ea             	shr    $1,%rdx
1405591de:	49 8b c0             	mov    %r8,%rax
1405591e1:	48 2b c2             	sub    %rdx,%rax
1405591e4:	48 3b c8             	cmp    %rax,%rcx
1405591e7:	0f 87 e7 00 00 00    	ja     0x1405592d4
1405591ed:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
1405591f1:	49 8b fc             	mov    %r12,%rdi
1405591f4:	49 3b c4             	cmp    %r12,%rax
1405591f7:	48 0f 43 f8          	cmovae %rax,%rdi
1405591fb:	49 3b f8             	cmp    %r8,%rdi
1405591fe:	0f 87 d0 00 00 00    	ja     0x1405592d4
140559204:	48 8b cf             	mov    %rdi,%rcx
140559207:	48 c1 e1 04          	shl    $0x4,%rcx
14055920b:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140559210:	48 85 c9             	test   %rcx,%rcx
140559213:	75 09                	jne    0x14055921e
140559215:	33 db                	xor    %ebx,%ebx
140559217:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14055921c:	eb 3d                	jmp    0x14055925b
14055921e:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140559225:	72 2c                	jb     0x140559253
140559227:	48 8d 41 27          	lea    0x27(%rcx),%rax
14055922b:	48 3b c1             	cmp    %rcx,%rax
14055922e:	0f 86 a0 00 00 00    	jbe    0x1405592d4
140559234:	48 8b c8             	mov    %rax,%rcx
140559237:	e8 cc 1e 8c 00       	call   0x140e1b108
14055923c:	48 85 c0             	test   %rax,%rax
14055923f:	0f 84 9b 00 00 00    	je     0x1405592e0
140559245:	48 8d 58 27          	lea    0x27(%rax),%rbx
140559249:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
14055924d:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140559251:	eb 08                	jmp    0x14055925b
140559253:	e8 b0 1e 8c 00       	call   0x140e1b108
140559258:	48 8b d8             	mov    %rax,%rbx
14055925b:	48 89 5c 24 78       	mov    %rbx,0x78(%rsp)
140559260:	49 83 e6 f0          	and    $0xfffffffffffffff0,%r14
140559264:	4c 03 f3             	add    %rbx,%r14
140559267:	49 8b 55 00          	mov    0x0(%r13),%rdx
14055926b:	48 8b 8c 24 80 00 00 	mov    0x80(%rsp),%rcx
140559272:	00
140559273:	48 8b 09             	mov    (%rcx),%rcx
140559276:	49 89 0e             	mov    %rcx,(%r14)
140559279:	49 89 56 08          	mov    %rdx,0x8(%r14)
14055927d:	4c 8b 46 08          	mov    0x8(%rsi),%r8
140559281:	48 8b 16             	mov    (%rsi),%rdx
140559284:	48 8b cb             	mov    %rbx,%rcx
140559287:	4d 3b f8             	cmp    %r8,%r15
14055928a:	75 05                	jne    0x140559291
14055928c:	4c 2b c2             	sub    %rdx,%r8
14055928f:	eb 19                	jmp    0x1405592aa
140559291:	4d 8b c7             	mov    %r15,%r8
140559294:	4c 2b c2             	sub    %rdx,%r8
140559297:	e8 74 5d 98 00       	call   0x140edf010
14055929c:	49 8d 4e 10          	lea    0x10(%r14),%rcx
1405592a0:	4c 8b 46 08          	mov    0x8(%rsi),%r8
1405592a4:	4d 2b c7             	sub    %r15,%r8
1405592a7:	49 8b d7             	mov    %r15,%rdx
1405592aa:	e8 61 5d 98 00       	call   0x140edf010
1405592af:	90                   	nop
1405592b0:	4c 8b cf             	mov    %rdi,%r9
1405592b3:	4d 8b c4             	mov    %r12,%r8
1405592b6:	48 8b d3             	mov    %rbx,%rdx
1405592b9:	48 8b ce             	mov    %rsi,%rcx
1405592bc:	e8 0f 7e 00 00       	call   0x1405610d0
1405592c1:	49 8b c6             	mov    %r14,%rax
1405592c4:	48 83 c4 30          	add    $0x30,%rsp
1405592c8:	41 5f                	pop    %r15
1405592ca:	41 5e                	pop    %r14
1405592cc:	41 5d                	pop    %r13
1405592ce:	41 5c                	pop    %r12
1405592d0:	5f                   	pop    %rdi
1405592d1:	5e                   	pop    %rsi
1405592d2:	5b                   	pop    %rbx
1405592d3:	c3                   	ret
1405592d4:	e8 b7 3e c4 ff       	call   0x14019d190
1405592d9:	cc                   	int3
1405592da:	e8 b1 42 c4 ff       	call   0x14019d590
1405592df:	cc                   	int3
1405592e0:	e8 bf 0e 8d 00       	call   0x140e2a1a4
1405592e5:	cc                   	int3
1405592e6:	cc                   	int3
1405592e7:	cc                   	int3
1405592e8:	cc                   	int3
1405592e9:	cc                   	int3
1405592ea:	cc                   	int3
1405592eb:	cc                   	int3
1405592ec:	cc                   	int3
1405592ed:	cc                   	int3
1405592ee:	cc                   	int3
1405592ef:	cc                   	int3
1405592f0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1405592f5:	53                   	push   %rbx
1405592f6:	56                   	push   %rsi
1405592f7:	57                   	push   %rdi
1405592f8:	41 54                	push   %r12
1405592fa:	41 55                	push   %r13
1405592fc:	41 56                	push   %r14
1405592fe:	41 57                	push   %r15
140559300:	48 83 ec 20          	sub    $0x20,%rsp
140559304:	4d 8b e8             	mov    %r8,%r13
140559307:	4c 8b e2             	mov    %rdx,%r12
14055930a:	48 8b f9             	mov    %rcx,%rdi
14055930d:	48 8b 01             	mov    (%rcx),%rax
140559310:	4c 8b fa             	mov    %rdx,%r15
140559313:	4c 2b f8             	sub    %rax,%r15
140559316:	4c 8b 71 08          	mov    0x8(%rcx),%r14
14055931a:	4c 2b f0             	sub    %rax,%r14
14055931d:	49 c1 fe 04          	sar    $0x4,%r14
140559321:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
140559328:	ff ff 0f
14055932b:	4d 3b f0             	cmp    %r8,%r14
14055932e:	0f 84 41 01 00 00    	je     0x140559475
140559334:	49 ff c6             	inc    %r14
140559337:	48 8b 49 10          	mov    0x10(%rcx),%rcx
14055933b:	48 2b c8             	sub    %rax,%rcx
14055933e:	48 c1 f9 04          	sar    $0x4,%rcx
140559342:	48 8b d1             	mov    %rcx,%rdx
140559345:	48 d1 ea             	shr    $1,%rdx
140559348:	49 8b c0             	mov    %r8,%rax
14055934b:	48 2b c2             	sub    %rdx,%rax
14055934e:	48 3b c8             	cmp    %rax,%rcx
140559351:	0f 87 18 01 00 00    	ja     0x14055946f
140559357:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
14055935b:	49 8b ce             	mov    %r14,%rcx
14055935e:	49 3b c6             	cmp    %r14,%rax
140559361:	48 0f 43 c8          	cmovae %rax,%rcx
140559365:	49 3b c8             	cmp    %r8,%rcx
140559368:	0f 87 01 01 00 00    	ja     0x14055946f
14055936e:	48 8b f1             	mov    %rcx,%rsi
140559371:	48 c1 e6 04          	shl    $0x4,%rsi
140559375:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
14055937a:	48 85 f6             	test   %rsi,%rsi
14055937d:	75 09                	jne    0x140559388
14055937f:	33 db                	xor    %ebx,%ebx
140559381:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
140559386:	eb 3d                	jmp    0x1405593c5
140559388:	48 81 fe 00 10 00 00 	cmp    $0x1000,%rsi
14055938f:	72 29                	jb     0x1405593ba
140559391:	48 8d 4e 27          	lea    0x27(%rsi),%rcx
140559395:	48 3b ce             	cmp    %rsi,%rcx
140559398:	0f 86 d1 00 00 00    	jbe    0x14055946f
14055939e:	e8 65 1d 8c 00       	call   0x140e1b108
1405593a3:	48 85 c0             	test   %rax,%rax
1405593a6:	0f 84 cf 00 00 00    	je     0x14055947b
1405593ac:	48 8d 58 27          	lea    0x27(%rax),%rbx
1405593b0:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
1405593b4:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
1405593b8:	eb 0b                	jmp    0x1405593c5
1405593ba:	48 8b ce             	mov    %rsi,%rcx
1405593bd:	e8 46 1d 8c 00       	call   0x140e1b108
1405593c2:	48 8b d8             	mov    %rax,%rbx
1405593c5:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
1405593ca:	49 83 e7 f0          	and    $0xfffffffffffffff0,%r15
1405593ce:	4c 03 fb             	add    %rbx,%r15
1405593d1:	41 0f 10 45 00       	movups 0x0(%r13),%xmm0
1405593d6:	41 0f 11 07          	movups %xmm0,(%r15)
1405593da:	4c 8b 47 08          	mov    0x8(%rdi),%r8
1405593de:	48 8b 17             	mov    (%rdi),%rdx
1405593e1:	48 8b cb             	mov    %rbx,%rcx
1405593e4:	4d 3b e0             	cmp    %r8,%r12
1405593e7:	75 05                	jne    0x1405593ee
1405593e9:	4c 2b c2             	sub    %rdx,%r8
1405593ec:	eb 19                	jmp    0x140559407
1405593ee:	4d 8b c4             	mov    %r12,%r8
1405593f1:	4c 2b c2             	sub    %rdx,%r8
1405593f4:	e8 17 5c 98 00       	call   0x140edf010
1405593f9:	49 8d 4f 10          	lea    0x10(%r15),%rcx
1405593fd:	4c 8b 47 08          	mov    0x8(%rdi),%r8
140559401:	4d 2b c4             	sub    %r12,%r8
140559404:	49 8b d4             	mov    %r12,%rdx
140559407:	e8 04 5c 98 00       	call   0x140edf010
14055940c:	90                   	nop
14055940d:	48 8b 0f             	mov    (%rdi),%rcx
140559410:	48 85 c9             	test   %rcx,%rcx
140559413:	74 31                	je     0x140559446
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