1406795e6:	48 8b 5c c8 08       	mov    0x8(%rax,%rcx,8),%rbx
1406795eb:	48 8d 55 08          	lea    0x8(%rbp),%rdx
1406795ef:	4c 8b 22             	mov    (%rdx),%r12
1406795f2:	49 3b dc             	cmp    %r12,%rbx
1406795f5:	75 08                	jne    0x1406795ff
1406795f7:	49 8b dc             	mov    %r12,%rbx
1406795fa:	4d 8b fc             	mov    %r12,%r15
1406795fd:	eb 4e                	jmp    0x14067964d
1406795ff:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
140679603:	49 8b 00             	mov    (%r8),%rax
140679606:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14067960a:	74 13                	je     0x14067961f
14067960c:	0f 1f 40 00          	nopl   0x0(%rax)
140679610:	48 3b d9             	cmp    %rcx,%rbx
140679613:	74 32                	je     0x140679647
140679615:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140679619:	48 3b 43 10          	cmp    0x10(%rbx),%rax
14067961d:	75 f1                	jne    0x140679610
14067961f:	49 89 1e             	mov    %rbx,(%r14)
140679622:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140679627:	49 8b c6             	mov    %r14,%rax
14067962a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
14067962f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140679634:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140679639:	48 83 c4 30          	add    $0x30,%rsp
14067963d:	41 5f                	pop    %r15
14067963f:	41 5e                	pop    %r14
140679641:	41 5d                	pop    %r13
140679643:	41 5c                	pop    %r12
140679645:	5f                   	pop    %rdi
140679646:	c3                   	ret
140679647:	4c 8b e3             	mov    %rbx,%r12
14067964a:	4c 8b fb             	mov    %rbx,%r15
14067964d:	48 b8 ff ff ff ff ff 	movabs $0x7ffffffffffffff,%rax
140679654:	ff ff 07
140679657:	48 39 45 10          	cmp    %rax,0x10(%rbp)
14067965b:	0f 84 c9 01 00 00    	je     0x14067982a
140679661:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140679666:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
14067966d:	00 00
14067966f:	b9 20 00 00 00       	mov    $0x20,%ecx
140679674:	e8 8f 1a 7a 00       	call   0x140e1b108
140679679:	48 8b f8             	mov    %rax,%rdi
14067967c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140679681:	48 8b 0e             	mov    (%rsi),%rcx
140679684:	48 89 48 10          	mov    %rcx,0x10(%rax)
140679688:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
14067968f:	00
140679690:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140679694:	48 83 c1 01          	add    $0x1,%rcx
140679698:	0f 57 c0             	xorps  %xmm0,%xmm0
14067969b:	78 07                	js     0x1406796a4
14067969d:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
1406796a2:	eb 15                	jmp    0x1406796b9
1406796a4:	48 8b c1             	mov    %rcx,%rax
1406796a7:	48 d1 e8             	shr    $1,%rax
1406796aa:	83 e1 01             	and    $0x1,%ecx
1406796ad:	48 0b c1             	or     %rcx,%rax
1406796b0:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1406796b5:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1406796b9:	48 8b 75 38          	mov    0x38(%rbp),%rsi
1406796bd:	f3 0f 10 5d 00       	movss  0x0(%rbp),%xmm3
1406796c2:	0f 57 d2             	xorps  %xmm2,%xmm2
1406796c5:	48 85 f6             	test   %rsi,%rsi
1406796c8:	78 07                	js     0x1406796d1
1406796ca:	f3 48 0f 2a d6       	cvtsi2ss %rsi,%xmm2
1406796cf:	eb 18                	jmp    0x1406796e9
1406796d1:	48 8b ce             	mov    %rsi,%rcx
1406796d4:	48 d1 e9             	shr    $1,%rcx
1406796d7:	48 8b c6             	mov    %rsi,%rax
1406796da:	83 e0 01             	and    $0x1,%eax
1406796dd:	48 0b c8             	or     %rax,%rcx
1406796e0:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
1406796e5:	f3 0f 58 d2          	addss  %xmm2,%xmm2
1406796e9:	0f 28 c8             	movaps %xmm0,%xmm1
1406796ec:	f3 0f 5e ca          	divss  %xmm2,%xmm1
1406796f0:	0f 2f cb             	comiss %xmm3,%xmm1
1406796f3:	0f 86 c9 00 00 00    	jbe    0x1406797c2
1406796f9:	f3 0f 5e c3          	divss  %xmm3,%xmm0
1406796fd:	e8 1e 7a 7b 00       	call   0x140e31120
140679702:	33 c9                	xor    %ecx,%ecx
140679704:	f3 0f 10 0d 58 4f 93 	movss  0x934f58(%rip),%xmm1        # 0x140fae664
14067970b:	00
14067970c:	0f 2f c1             	comiss %xmm1,%xmm0
14067970f:	72 16                	jb     0x140679727
140679711:	f3 0f 5c c1          	subss  %xmm1,%xmm0
140679715:	0f 2f c1             	comiss %xmm1,%xmm0
140679718:	73 0d                	jae    0x140679727
14067971a:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
140679721:	00 00 80
140679724:	48 8b c8             	mov    %rax,%rcx
140679727:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
14067972c:	48 03 c1             	add    %rcx,%rax
14067972f:	b9 08 00 00 00       	mov    $0x8,%ecx
140679734:	48 3b c1             	cmp    %rcx,%rax
140679737:	48 0f 47 c8          	cmova  %rax,%rcx
14067973b:	48 3b f1             	cmp    %rcx,%rsi
14067973e:	73 19                	jae    0x140679759
140679740:	48 81 fe 00 02 00 00 	cmp    $0x200,%rsi
140679747:	73 0d                	jae    0x140679756
140679749:	48 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%rsi
140679750:	00
140679751:	48 3b f1             	cmp    %rcx,%rsi
140679754:	73 03                	jae    0x140679759
140679756:	48 8b f1             	mov    %rcx,%rsi
140679759:	48 8b d6             	mov    %rsi,%rdx
14067975c:	48 8b cd             	mov    %rbp,%rcx
14067975f:	e8 2c 1f fe ff       	call   0x14065b690
140679764:	48 8b 4d 30          	mov    0x30(%rbp),%rcx
140679768:	49 23 cd             	and    %r13,%rcx
14067976b:	48 03 c9             	add    %rcx,%rcx
14067976e:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140679772:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140679777:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
14067977b:	48 3b c3             	cmp    %rbx,%rax
14067977e:	75 0b                	jne    0x14067978b
140679780:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679787:	00 00
140679789:	eb 2a                	jmp    0x1406797b5
14067978b:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
14067978f:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140679793:	48 3b 48 10          	cmp    0x10(%rax),%rcx
140679797:	74 19                	je     0x1406797b2
140679799:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1406797a0:	48 8b d8             	mov    %rax,%rbx
1406797a3:	48 3b c2             	cmp    %rdx,%rax
1406797a6:	74 4e                	je     0x1406797f6
1406797a8:	48 8b 40 08          	mov    0x8(%rax),%rax
1406797ac:	48 3b 48 10          	cmp    0x10(%rax),%rcx
1406797b0:	75 ee                	jne    0x1406797a0
1406797b2:	48 8b 18             	mov    (%rax),%rbx
1406797b5:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1406797ba:	4c 8b fb             	mov    %rbx,%r15
1406797bd:	4c 8b 64 24 20       	mov    0x20(%rsp),%r12
1406797c2:	48 8b 53 08          	mov    0x8(%rbx),%rdx
1406797c6:	48 ff 45 10          	incq   0x10(%rbp)
1406797ca:	4c 89 27             	mov    %r12,(%rdi)
1406797cd:	48 89 57 08          	mov    %rdx,0x8(%rdi)
1406797d1:	48 89 3a             	mov    %rdi,(%rdx)
1406797d4:	48 89 7b 08          	mov    %rdi,0x8(%rbx)
1406797d8:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1406797dc:	48 8b 45 30          	mov    0x30(%rbp),%rax
1406797e0:	49 23 c5             	and    %r13,%rax
1406797e3:	48 03 c0             	add    %rax,%rax
1406797e6:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
1406797ea:	4c 3b 45 08          	cmp    0x8(%rbp),%r8
1406797ee:	75 16                	jne    0x140679806
1406797f0:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
1406797f4:	eb 22                	jmp    0x140679818
1406797f6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1406797fb:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679802:	00 00
140679804:	eb b4                	jmp    0x1406797ba
140679806:	4d 3b c7             	cmp    %r15,%r8
140679809:	75 06                	jne    0x140679811
14067980b:	48 89 3c c1          	mov    %rdi,(%rcx,%rax,8)
14067980f:	eb 0c                	jmp    0x14067981d
140679811:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140679816:	75 05                	jne    0x14067981d
140679818:	48 89 7c c1 08       	mov    %rdi,0x8(%rcx,%rax,8)
14067981d:	49 89 3e             	mov    %rdi,(%r14)
140679820:	41 c6 46 08 01       	movb   $0x1,0x8(%r14)
140679825:	e9 fd fd ff ff       	jmp    0x140679627
14067982a:	48 8d 0d 6f 4c 93 00 	lea    0x934c6f(%rip),%rcx        # 0x140fae4a0
140679831:	e8 7e 1b 78 00       	call   0x140dfb3b4
140679836:	cc                   	int3
140679837:	cc                   	int3
140679838:	cc                   	int3
140679839:	cc                   	int3
14067983a:	cc                   	int3
14067983b:	cc                   	int3
14067983c:	cc                   	int3
14067983d:	cc                   	int3
14067983e:	cc                   	int3
14067983f:	cc                   	int3
140679840:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140679845:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14067984a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14067984f:	57                   	push   %rdi
140679850:	41 54                	push   %r12
140679852:	41 55                	push   %r13
140679854:	41 56                	push   %r14
140679856:	41 57                	push   %r15
140679858:	48 83 ec 40          	sub    $0x40,%rsp
14067985c:	49 8b d8             	mov    %r8,%rbx
14067985f:	4c 8b fa             	mov    %rdx,%r15
140679862:	4c 8b e9             	mov    %rcx,%r13
140679865:	4d 8b 48 10          	mov    0x10(%r8),%r9
140679869:	49 83 78 18 0f       	cmpq   $0xf,0x18(%r8)
14067986e:	76 03                	jbe    0x140679873
140679870:	4d 8b 00             	mov    (%r8),%r8
140679873:	48 bf 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rdi
14067987a:	9c f2 cb
14067987d:	45 33 e4             	xor    %r12d,%r12d
140679880:	41 8b d4             	mov    %r12d,%edx
140679883:	4d 85 c9             	test   %r9,%r9
140679886:	74 2c                	je     0x1406798b4
140679888:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
14067988f:	01 00 00
140679892:	0f 1f 40 00          	nopl   0x0(%rax)
140679896:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
14067989d:	00 00 00
1406798a0:	41 0f b6 04 10       	movzbl (%r8,%rdx,1),%eax
1406798a5:	48 33 f8             	xor    %rax,%rdi
1406798a8:	48 0f af f9          	imul   %rcx,%rdi
1406798ac:	48 ff c2             	inc    %rdx
1406798af:	49 3b d1             	cmp    %r9,%rdx
1406798b2:	72 ec                	jb     0x1406798a0
1406798b4:	4c 8b cf             	mov    %rdi,%r9
1406798b7:	4c 8b c3             	mov    %rbx,%r8
1406798ba:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1406798bf:	49 8b cd             	mov    %r13,%rcx
1406798c2:	e8 39 a9 b9 ff       	call   0x140214200
1406798c7:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
1406798cc:	48 85 c0             	test   %rax,%rax
1406798cf:	74 0c                	je     0x1406798dd
1406798d1:	49 89 07             	mov    %rax,(%r15)
1406798d4:	45 88 67 08          	mov    %r12b,0x8(%r15)
1406798d8:	e9 14 02 00 00       	jmp    0x140679af1
1406798dd:	48 b8 92 24 49 92 24 	movabs $0x492492492492492,%rax
1406798e4:	49 92 04
1406798e7:	49 39 45 10          	cmp    %rax,0x10(%r13)
1406798eb:	0f 84 23 02 00 00    	je     0x140679b14
1406798f1:	49 8d 6d 08          	lea    0x8(%r13),%rbp
1406798f5:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1406798fa:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
1406798ff:	b9 38 00 00 00       	mov    $0x38,%ecx
140679904:	e8 ff 17 7a 00       	call   0x140e1b108
140679909:	48 8b f0             	mov    %rax,%rsi
14067990c:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140679911:	48 8b d3             	mov    %rbx,%rdx
140679914:	48 8d 48 10          	lea    0x10(%rax),%rcx
140679918:	e8 23 f1 b2 ff       	call   0x1401a8a40
14067991d:	4c 89 66 30          	mov    %r12,0x30(%rsi)
140679921:	49 8b 4d 10          	mov    0x10(%r13),%rcx
140679925:	f3 41 0f 10 5d 00    	movss  0x0(%r13),%xmm3
14067992b:	48 83 c1 01          	add    $0x1,%rcx
14067992f:	0f 57 c0             	xorps  %xmm0,%xmm0
140679932:	78 07                	js     0x14067993b
140679934:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140679939:	eb 15                	jmp    0x140679950
14067993b:	48 8b c1             	mov    %rcx,%rax
14067993e:	48 d1 e8             	shr    $1,%rax
140679941:	83 e1 01             	and    $0x1,%ecx
140679944:	48 0b c1             	or     %rcx,%rax
140679947:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
14067994c:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140679950:	49 8b 5d 38          	mov    0x38(%r13),%rbx
140679954:	0f 57 d2             	xorps  %xmm2,%xmm2
140679957:	48 85 db             	test   %rbx,%rbx
14067995a:	78 07                	js     0x140679963
14067995c:	f3 48 0f 2a d3       	cvtsi2ss %rbx,%xmm2
140679961:	eb 18                	jmp    0x14067997b
140679963:	48 8b cb             	mov    %rbx,%rcx
140679966:	48 d1 e9             	shr    $1,%rcx
140679969:	48 8b c3             	mov    %rbx,%rax
14067996c:	83 e0 01             	and    $0x1,%eax
14067996f:	48 0b c8             	or     %rax,%rcx
140679972:	f3 48 0f 2a d1       	cvtsi2ss %rcx,%xmm2
140679977:	f3 0f 58 d2          	addss  %xmm2,%xmm2
14067997b:	0f 28 c8             	movaps %xmm0,%xmm1
14067997e:	f3 0f 5e ca          	divss  %xmm2,%xmm1
140679982:	0f 2f cb             	comiss %xmm3,%xmm1
140679985:	0f 86 0e 01 00 00    	jbe    0x140679a99
14067998b:	f3 0f 5e c3          	divss  %xmm3,%xmm0
14067998f:	e8 8c 77 7b 00       	call   0x140e31120
140679994:	33 c9                	xor    %ecx,%ecx
140679996:	f3 0f 10 0d c6 4c 93 	movss  0x934cc6(%rip),%xmm1        # 0x140fae664
14067999d:	00
14067999e:	0f 2f c1             	comiss %xmm1,%xmm0
1406799a1:	72 16                	jb     0x1406799b9
1406799a3:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1406799a7:	0f 2f c1             	comiss %xmm1,%xmm0
1406799aa:	73 0d                	jae    0x1406799b9
1406799ac:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1406799b3:	00 00 80
1406799b6:	48 8b c8             	mov    %rax,%rcx
1406799b9:	f3 48 0f 2c c0       	cvttss2si %xmm0,%rax
1406799be:	48 03 c1             	add    %rcx,%rax
1406799c1:	b9 08 00 00 00       	mov    $0x8,%ecx
1406799c6:	48 3b c1             	cmp    %rcx,%rax
1406799c9:	48 0f 47 c8          	cmova  %rax,%rcx
1406799cd:	48 3b d9             	cmp    %rcx,%rbx
1406799d0:	73 19                	jae    0x1406799eb
1406799d2:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
1406799d9:	73 0d                	jae    0x1406799e8
1406799db:	48 8d 1c dd 00 00 00 	lea    0x0(,%rbx,8),%rbx
1406799e2:	00
1406799e3:	48 3b d9             	cmp    %rcx,%rbx
1406799e6:	73 03                	jae    0x1406799eb
1406799e8:	48 8b d9             	mov    %rcx,%rbx
1406799eb:	48 8b d3             	mov    %rbx,%rdx
1406799ee:	49 8b cd             	mov    %r13,%rcx
1406799f1:	e8 5a 36 d1 ff       	call   0x14038d050
1406799f6:	49 8b 45 30          	mov    0x30(%r13),%rax
1406799fa:	48 23 c7             	and    %rdi,%rax
1406799fd:	48 03 c0             	add    %rax,%rax
140679a00:	49 8b 55 18          	mov    0x18(%r13),%rdx
140679a04:	48 8b 5c c2 08       	mov    0x8(%rdx,%rax,8),%rbx
140679a09:	48 8b 4d 00          	mov    0x0(%rbp),%rcx
140679a0d:	48 3b d9             	cmp    %rcx,%rbx
140679a10:	75 0c                	jne    0x140679a1e
140679a12:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140679a17:	4c 89 64 24 28       	mov    %r12,0x28(%rsp)
140679a1c:	eb 70                	jmp    0x140679a8e
140679a1e:	4c 8b 24 c2          	mov    (%rdx,%rax,8),%r12
140679a22:	48 8b 6e 20          	mov    0x20(%rsi),%rbp
140679a26:	66 66 0f 1f 84 00 00 	data16 nopw 0x0(%rax,%rax,1)
140679a2d:	00 00 00
140679a30:	48 8d 53 10          	lea    0x10(%rbx),%rdx
140679a34:	48 8b 42 10          	mov    0x10(%rdx),%rax
140679a38:	48 83 7a 18 0f       	cmpq   $0xf,0x18(%rdx)
140679a3d:	76 03                	jbe    0x140679a42
140679a3f:	48 8b 12             	mov    (%rdx),%rdx
140679a42:	48 8d 4e 10          	lea    0x10(%rsi),%rcx
140679a46:	48 83 7e 28 0f       	cmpq   $0xf,0x28(%rsi)
140679a4b:	76 04                	jbe    0x140679a51
140679a4d:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140679a51:	48 3b e8             	cmp    %rax,%rbp
140679a54:	75 0c                	jne    0x140679a62
140679a56:	4c 8b c5             	mov    %rbp,%r8
140679a59:	e8 f2 5f 86 00       	call   0x140edfa50
140679a5e:	85 c0                	test   %eax,%eax
140679a60:	74 0b                	je     0x140679a6d
140679a62:	49 3b dc             	cmp    %r12,%rbx
140679a65:	74 15                	je     0x140679a7c
140679a67:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140679a6b:	eb c3                	jmp    0x140679a30
140679a6d:	48 8b 03             	mov    (%rbx),%rax
140679a70:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140679a75:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140679a7a:	eb 0e                	jmp    0x140679a8a
140679a7c:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140679a81:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679a88:	00 00
140679a8a:	49 8d 6d 08          	lea    0x8(%r13),%rbp
140679a8e:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140679a93:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140679a99:	48 8b 54 24 20       	mov    0x20(%rsp),%rdx
140679a9e:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140679aa2:	49 ff 45 10          	incq   0x10(%r13)
140679aa6:	48 89 16             	mov    %rdx,(%rsi)
140679aa9:	4c 89 46 08          	mov    %r8,0x8(%rsi)
140679aad:	49 89 30             	mov    %rsi,(%r8)
140679ab0:	48 89 72 08          	mov    %rsi,0x8(%rdx)
140679ab4:	49 8b 4d 18          	mov    0x18(%r13),%rcx
140679ab8:	49 8b 45 30          	mov    0x30(%r13),%rax
140679abc:	48 23 c7             	and    %rdi,%rax
140679abf:	48 03 c0             	add    %rax,%rax
140679ac2:	4c 8b 0c c1          	mov    (%rcx,%rax,8),%r9