1405663b2:	48 ff c6             	inc    %rsi
1405663b5:	49 3b f6             	cmp    %r14,%rsi
1405663b8:	75 b7                	jne    0x140566371
1405663ba:	49 8b 57 10          	mov    0x10(%r15),%rdx
1405663be:	49 83 7f 18 0f       	cmpq   $0xf,0x18(%r15)
1405663c3:	76 08                	jbe    0x1405663cd
1405663c5:	49 03 17             	add    (%r15),%rdx
1405663c8:	4d 8b 0f             	mov    (%r15),%r9
1405663cb:	eb 06                	jmp    0x1405663d3
1405663cd:	49 03 d7             	add    %r15,%rdx
1405663d0:	4d 8b cf             	mov    %r15,%r9
1405663d3:	44 89 64 24 28       	mov    %r12d,0x28(%rsp)
1405663d8:	4c 8b c7             	mov    %rdi,%r8
1405663db:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1405663e0:	48 8d 55 9f          	lea    -0x61(%rbp),%rdx
1405663e4:	41 0f ba e4 0a       	bt     $0xa,%r12d
1405663e9:	73 0b                	jae    0x1405663f6
1405663eb:	48 8d 4d 5f          	lea    0x5f(%rbp),%rcx
1405663ef:	e8 fc f9 ff ff       	call   0x140565df0
1405663f4:	eb 09                	jmp    0x1405663ff
1405663f6:	48 8d 4d 8f          	lea    -0x71(%rbp),%rcx
1405663fa:	e8 31 f3 ff ff       	call   0x140565730
1405663ff:	48 8b 38             	mov    (%rax),%rdi
140566402:	48 8b 4d b7          	mov    -0x49(%rbp),%rcx
140566406:	48 8b 75 af          	mov    -0x51(%rbp),%rsi
14056640a:	48 2b ce             	sub    %rsi,%rcx
14056640d:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
140566414:	aa aa 2a
140566417:	49 8b c1             	mov    %r9,%rax
14056641a:	48 f7 e9             	imul   %rcx
14056641d:	48 c1 fa 02          	sar    $0x2,%rdx
140566421:	48 8b c2             	mov    %rdx,%rax
140566424:	48 c1 e8 3f          	shr    $0x3f,%rax
140566428:	48 03 d0             	add    %rax,%rdx
14056642b:	48 8d 45 f7          	lea    -0x9(%rbp),%rax
14056642f:	48 0f 45 c6          	cmovne %rsi,%rax
140566433:	4c 8b 70 08          	mov    0x8(%rax),%r14
140566437:	4c 8b 55 67          	mov    0x67(%rbp),%r10
14056643b:	4d 3b f2             	cmp    %r10,%r14
14056643e:	74 76                	je     0x1405664b6
140566440:	41 0f ba e5 0c       	bt     $0xc,%r13d
140566445:	72 6f                	jb     0x1405664b6
140566447:	48 85 d2             	test   %rdx,%rdx
14056644a:	75 0a                	jne    0x140566456
14056644c:	48 8d 75 f7          	lea    -0x9(%rbp),%rsi
140566450:	48 8d 45 f7          	lea    -0x9(%rbp),%rax
140566454:	eb 03                	jmp    0x140566459
140566456:	48 8b c6             	mov    %rsi,%rax
140566459:	48 8b 0e             	mov    (%rsi),%rcx
14056645c:	48 8b 50 08          	mov    0x8(%rax),%rdx
140566460:	48 3b ca             	cmp    %rdx,%rcx
140566463:	74 05                	je     0x14056646a
140566465:	41 0f ba ec 08       	bts    $0x8,%r12d
14056646a:	b8 00 20 00 00       	mov    $0x2000,%eax
14056646f:	48 3b ca             	cmp    %rdx,%rcx
140566472:	b9 00 00 00 00       	mov    $0x0,%ecx
140566477:	0f 45 c1             	cmovne %ecx,%eax
14056647a:	41 0b c4             	or     %r12d,%eax
14056647d:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140566482:	89 44 24 20          	mov    %eax,0x20(%rsp)
140566486:	4c 8b 4d 6f          	mov    0x6f(%rbp),%r9
14056648a:	4c 8d 45 9f          	lea    -0x61(%rbp),%r8
14056648e:	49 8b d2             	mov    %r10,%rdx
140566491:	49 8b ce             	mov    %r14,%rcx
140566494:	e8 c7 00 00 00       	call   0x140566560
140566499:	84 c0                	test   %al,%al
14056649b:	8b 45 7f             	mov    0x7f(%rbp),%eax
14056649e:	0f 85 bc fe ff ff    	jne    0x140566360
1405664a4:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
1405664ab:	aa aa 2a
1405664ae:	48 8b 75 af          	mov    -0x51(%rbp),%rsi
1405664b2:	4c 8b 55 67          	mov    0x67(%rbp),%r10
1405664b6:	41 0f ba e5 0b       	bt     $0xb,%r13d
1405664bb:	72 1f                	jb     0x1405664dc
1405664bd:	4c 8b cf             	mov    %rdi,%r9
1405664c0:	4d 8b c2             	mov    %r10,%r8
1405664c3:	49 8b d6             	mov    %r14,%rdx
1405664c6:	48 8d 4d 5f          	lea    0x5f(%rbp),%rcx
1405664ca:	e8 b1 f1 ff ff       	call   0x140565680
1405664cf:	48 8b 38             	mov    (%rax),%rdi
1405664d2:	49 b9 ab aa aa aa aa 	movabs $0x2aaaaaaaaaaaaaab,%r9
1405664d9:	aa aa 2a
1405664dc:	48 8b 5d 4f          	mov    0x4f(%rbp),%rbx
1405664e0:	48 89 3b             	mov    %rdi,(%rbx)
1405664e3:	48 85 f6             	test   %rsi,%rsi
1405664e6:	74 4c                	je     0x140566534
1405664e8:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
1405664ec:	48 2b ce             	sub    %rsi,%rcx
1405664ef:	49 8b c1             	mov    %r9,%rax
1405664f2:	48 f7 e9             	imul   %rcx
1405664f5:	48 c1 fa 02          	sar    $0x2,%rdx
1405664f9:	48 8b c2             	mov    %rdx,%rax
1405664fc:	48 c1 e8 3f          	shr    $0x3f,%rax
140566500:	48 03 d0             	add    %rax,%rdx
140566503:	48 8d 14 52          	lea    (%rdx,%rdx,2),%rdx
140566507:	48 c1 e2 03          	shl    $0x3,%rdx
14056650b:	48 8b c6             	mov    %rsi,%rax
14056650e:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140566515:	72 15                	jb     0x14056652c
140566517:	48 83 c2 27          	add    $0x27,%rdx
14056651b:	48 8b 76 f8          	mov    -0x8(%rsi),%rsi
14056651f:	48 2b c6             	sub    %rsi,%rax
140566522:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140566526:	48 83 f8 1f          	cmp    $0x1f,%rax
14056652a:	77 26                	ja     0x140566552
14056652c:	48 8b ce             	mov    %rsi,%rcx
14056652f:	e8 10 4c 8b 00       	call   0x140e1b144
140566534:	48 8b c3             	mov    %rbx,%rax
140566537:	48 8b 9c 24 f8 00 00 	mov    0xf8(%rsp),%rbx
14056653e:	00
14056653f:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
140566546:	41 5f                	pop    %r15
140566548:	41 5e                	pop    %r14
14056654a:	41 5d                	pop    %r13
14056654c:	41 5c                	pop    %r12
14056654e:	5f                   	pop    %rdi
14056654f:	5e                   	pop    %rsi
140566550:	5d                   	pop    %rbp
140566551:	c3                   	ret
140566552:	e8 4d 3c 8c 00       	call   0x140e2a1a4
140566557:	cc                   	int3
140566558:	cc                   	int3
140566559:	cc                   	int3
14056655a:	cc                   	int3
14056655b:	cc                   	int3
14056655c:	cc                   	int3
14056655d:	cc                   	int3
14056655e:	cc                   	int3
14056655f:	cc                   	int3
140566560:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140566565:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14056656a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14056656f:	57                   	push   %rdi
140566570:	41 56                	push   %r14
140566572:	41 57                	push   %r15
140566574:	48 81 ec 30 01 00 00 	sub    $0x130,%rsp
14056657b:	49 8b f0             	mov    %r8,%rsi
14056657e:	48 8b fa             	mov    %rdx,%rdi
140566581:	48 8b d9             	mov    %rcx,%rbx
140566584:	49 8b 11             	mov    (%r9),%rdx
140566587:	48 85 d2             	test   %rdx,%rdx
14056658a:	75 07                	jne    0x140566593
14056658c:	32 c0                	xor    %al,%al
14056658e:	e9 99 01 00 00       	jmp    0x14056672c
140566593:	40 32 ed             	xor    %bpl,%bpl
140566596:	4c 8b fb             	mov    %rbx,%r15
140566599:	44 8b b4 24 70 01 00 	mov    0x170(%rsp),%r14d
1405665a0:	00
1405665a1:	41 0f ba e6 0e       	bt     $0xe,%r14d
1405665a6:	73 08                	jae    0x1405665b0
1405665a8:	48 3b df             	cmp    %rdi,%rbx
1405665ab:	74 03                	je     0x1405665b0
1405665ad:	48 ff c3             	inc    %rbx
1405665b0:	8b 42 20             	mov    0x20(%rdx),%eax
1405665b3:	8b 4a 28             	mov    0x28(%rdx),%ecx
1405665b6:	49 83 c1 08          	add    $0x8,%r9
1405665ba:	44 89 74 24 38       	mov    %r14d,0x38(%rsp)
1405665bf:	89 44 24 30          	mov    %eax,0x30(%rsp)
1405665c3:	89 4c 24 28          	mov    %ecx,0x28(%rsp)
1405665c7:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
1405665cc:	4c 8b c7             	mov    %rdi,%r8
1405665cf:	48 8b d3             	mov    %rbx,%rdx
1405665d2:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1405665d7:	e8 94 03 00 00       	call   0x140566970
1405665dc:	90                   	nop
1405665dd:	45 33 c0             	xor    %r8d,%r8d
1405665e0:	48 8b d6             	mov    %rsi,%rdx
1405665e3:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1405665e8:	e8 93 fa ff ff       	call   0x140566080
1405665ed:	84 c0                	test   %al,%al
1405665ef:	0f 85 9f 00 00 00    	jne    0x140566694
1405665f5:	48 3b df             	cmp    %rdi,%rbx
1405665f8:	0f 84 b7 00 00 00    	je     0x1405666b5
1405665fe:	41 f6 c6 40          	test   $0x40,%r14b
140566602:	0f 85 ad 00 00 00    	jne    0x1405666b5
140566608:	8b 84 24 fc 00 00 00 	mov    0xfc(%rsp),%eax
14056660f:	0f ba f0 0d          	btr    $0xd,%eax
140566613:	0f ba e8 08          	bts    $0x8,%eax
140566617:	89 84 24 fc 00 00 00 	mov    %eax,0xfc(%rsp)
14056661e:	48 8d 53 01          	lea    0x1(%rbx),%rdx
140566622:	45 33 c9             	xor    %r9d,%r9d
140566625:	4c 8b c7             	mov    %rdi,%r8
140566628:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14056662d:	e8 2e 64 00 00       	call   0x14056ca60
140566632:	48 8b d8             	mov    %rax,%rbx
140566635:	48 3b c7             	cmp    %rdi,%rax
140566638:	74 3e                	je     0x140566678
14056663a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140566640:	48 89 9c 24 e8 00 00 	mov    %rbx,0xe8(%rsp)
140566647:	00
140566648:	45 33 c0             	xor    %r8d,%r8d
14056664b:	48 8b d6             	mov    %rsi,%rdx
14056664e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140566653:	e8 28 fa ff ff       	call   0x140566080
140566658:	84 c0                	test   %al,%al
14056665a:	75 38                	jne    0x140566694
14056665c:	48 8d 53 01          	lea    0x1(%rbx),%rdx
140566660:	45 33 c9             	xor    %r9d,%r9d
140566663:	4c 8b c7             	mov    %rdi,%r8
140566666:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14056666b:	e8 f0 63 00 00       	call   0x14056ca60
140566670:	48 8b d8             	mov    %rax,%rbx
140566673:	48 3b c7             	cmp    %rdi,%rax
140566676:	75 c8                	jne    0x140566640
140566678:	48 89 bc 24 e8 00 00 	mov    %rdi,0xe8(%rsp)
14056667f:	00
140566680:	45 33 c0             	xor    %r8d,%r8d
140566683:	48 8b d6             	mov    %rsi,%rdx
140566686:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
14056668b:	e8 f0 f9 ff ff       	call   0x140566080
140566690:	84 c0                	test   %al,%al
140566692:	74 21                	je     0x1405666b5
140566694:	40 b5 01             	mov    $0x1,%bpl
140566697:	48 85 f6             	test   %rsi,%rsi
14056669a:	74 19                	je     0x1405666b5
14056669c:	48 8b 84 24 78 01 00 	mov    0x178(%rsp),%rax
1405666a3:	00
1405666a4:	48 89 06             	mov    %rax,(%rsi)
1405666a7:	4c 89 7e 28          	mov    %r15,0x28(%rsi)
1405666ab:	4c 3b 7e 30          	cmp    0x30(%rsi),%r15
1405666af:	0f 95 c0             	setne  %al
1405666b2:	88 46 38             	mov    %al,0x38(%rsi)
1405666b5:	48 8b 8c 24 c0 00 00 	mov    0xc0(%rsp),%rcx
1405666bc:	00
1405666bd:	48 85 c9             	test   %rcx,%rcx
1405666c0:	74 4f                	je     0x140566711
1405666c2:	48 8b 94 24 d0 00 00 	mov    0xd0(%rsp),%rdx
1405666c9:	00
1405666ca:	48 2b d1             	sub    %rcx,%rdx
1405666cd:	48 83 e2 f0          	and    $0xfffffffffffffff0,%rdx
1405666d1:	48 8b c1             	mov    %rcx,%rax
1405666d4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
1405666db:	72 15                	jb     0x1405666f2
1405666dd:	48 83 c2 27          	add    $0x27,%rdx
1405666e1:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1405666e5:	48 2b c1             	sub    %rcx,%rax
1405666e8:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
1405666ec:	48 83 f8 1f          	cmp    $0x1f,%rax
1405666f0:	77 57                	ja     0x140566749
1405666f2:	e8 4d 4a 8b 00       	call   0x140e1b144
1405666f7:	33 c0                	xor    %eax,%eax
1405666f9:	48 89 84 24 c0 00 00 	mov    %rax,0xc0(%rsp)
140566700:	00
140566701:	48 89 84 24 c8 00 00 	mov    %rax,0xc8(%rsp)
140566708:	00
140566709:	48 89 84 24 d0 00 00 	mov    %rax,0xd0(%rsp)
140566710:	00
140566711:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
140566718:	00
140566719:	e8 e2 25 e4 ff       	call   0x1403a8d00
14056671e:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140566723:	e8 d8 25 e4 ff       	call   0x1403a8d00
140566728:	40 0f b6 c5          	movzbl %bpl,%eax
14056672c:	4c 8d 9c 24 30 01 00 	lea    0x130(%rsp),%r11
140566733:	00
140566734:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140566738:	49 8b 6b 28          	mov    0x28(%r11),%rbp
14056673c:	49 8b 73 30          	mov    0x30(%r11),%rsi
140566740:	49 8b e3             	mov    %r11,%rsp
140566743:	41 5f                	pop    %r15
140566745:	41 5e                	pop    %r14
140566747:	5f                   	pop    %rdi
140566748:	c3                   	ret
140566749:	e8 56 3a 8c 00       	call   0x140e2a1a4
14056674e:	cc                   	int3
14056674f:	cc                   	int3
140566750:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140566755:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
14056675a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14056675f:	56                   	push   %rsi
140566760:	57                   	push   %rdi
140566761:	41 54                	push   %r12
140566763:	41 56                	push   %r14
140566765:	41 57                	push   %r15
140566767:	48 83 ec 40          	sub    $0x40,%rsp
14056676b:	49 8b e8             	mov    %r8,%rbp
14056676e:	4c 8b fa             	mov    %rdx,%r15
140566771:	48 8b d9             	mov    %rcx,%rbx
140566774:	45 33 e4             	xor    %r12d,%r12d
140566777:	44 89 64 24 30       	mov    %r12d,0x30(%rsp)
14056677c:	4c 89 21             	mov    %r12,(%rcx)
14056677f:	4c 89 61 08          	mov    %r12,0x8(%rcx)
140566783:	4c 89 61 10          	mov    %r12,0x10(%rcx)
140566787:	c7 44 24 30 01 00 00 	movl   $0x1,0x30(%rsp)
14056678e:	00
14056678f:	41 8b f4             	mov    %r12d,%esi
140566792:	48 8b 0a             	mov    (%rdx),%rcx
140566795:	48 8b 42 08          	mov    0x8(%rdx),%rax
140566799:	48 2b c1             	sub    %rcx,%rax
14056679c:	48 c1 f8 03          	sar    $0x3,%rax
1405667a0:	48 85 c0             	test   %rax,%rax
1405667a3:	0f 84 7c 00 00 00    	je     0x140566825
1405667a9:	45 8b f4             	mov    %r12d,%r14d
1405667ac:	0f 1f 40 00          	nopl   0x0(%rax)
1405667b0:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
1405667b5:	4c 8d 0d 84 4a e5 00 	lea    0xe54a84(%rip),%r9        # 0x1413bb240
1405667bc:	4c 8d 05 15 4a e5 00 	lea    0xe54a15(%rip),%r8        # 0x1413bb1d8
1405667c3:	33 d2                	xor    %edx,%edx
1405667c5:	49 8b 0c 0e          	mov    (%r14,%rcx,1),%rcx
1405667c9:	e8 5e 73 8b 00       	call   0x140e1db2c
1405667ce:	48 8b f8             	mov    %rax,%rdi
1405667d1:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1405667d6:	48 85 c0             	test   %rax,%rax
1405667d9:	74 30                	je     0x14056680b
1405667db:	48 8b d0             	mov    %rax,%rdx
1405667de:	48 8b cd             	mov    %rbp,%rcx
1405667e1:	e8 5a 4b 00 00       	call   0x14056b340
1405667e6:	84 c0                	test   %al,%al
1405667e8:	74 21                	je     0x14056680b
1405667ea:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1405667ee:	48 3b 53 10          	cmp    0x10(%rbx),%rdx
1405667f2:	74 0a                	je     0x1405667fe
1405667f4:	48 89 3a             	mov    %rdi,(%rdx)
1405667f7:	48 83 43 08 08       	addq   $0x8,0x8(%rbx)
1405667fc:	eb 0d                	jmp    0x14056680b
1405667fe:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140566803:	48 8b cb             	mov    %rbx,%rcx
140566806:	e8 b5 47 e1 ff       	call   0x14037afc0
14056680b:	48 ff c6             	inc    %rsi
14056680e:	49 8b 0f             	mov    (%r15),%rcx
140566811:	49 83 c6 08          	add    $0x8,%r14
140566815:	49 8b 47 08          	mov    0x8(%r15),%rax
140566819:	48 2b c1             	sub    %rcx,%rax
14056681c:	48 c1 f8 03          	sar    $0x3,%rax
140566820:	48 3b f0             	cmp    %rax,%rsi
140566823:	72 8b                	jb     0x1405667b0
140566825:	48 8b c3             	mov    %rbx,%rax
140566828:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
14056682d:	49 8b 5b 40          	mov    0x40(%r11),%rbx
140566831:	49 8b 6b 48          	mov    0x48(%r11),%rbp
140566835:	49 8b e3             	mov    %r11,%rsp
140566838:	41 5f                	pop    %r15
14056683a:	41 5e                	pop    %r14
14056683c:	41 5c                	pop    %r12
14056683e:	5f                   	pop    %rdi
14056683f:	5e                   	pop    %rsi
140566840:	c3                   	ret
140566841:	cc                   	int3
140566842:	cc                   	int3
140566843:	cc                   	int3
140566844:	cc                   	int3
140566845:	cc                   	int3
140566846:	cc                   	int3
140566847:	cc                   	int3
140566848:	cc                   	int3
140566849:	cc                   	int3
14056684a:	cc                   	int3
14056684b:	cc                   	int3
14056684c:	cc                   	int3
14056684d:	cc                   	int3