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
140679ac6:	4c 3b 4d 00          	cmp    0x0(%rbp),%r9
140679aca:	75 06                	jne    0x140679ad2
140679acc:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
140679ad0:	eb 12                	jmp    0x140679ae4
140679ad2:	4c 3b ca             	cmp    %rdx,%r9
140679ad5:	75 06                	jne    0x140679add
140679ad7:	48 89 34 c1          	mov    %rsi,(%rcx,%rax,8)
140679adb:	eb 0c                	jmp    0x140679ae9
140679add:	4c 39 44 c1 08       	cmp    %r8,0x8(%rcx,%rax,8)
140679ae2:	75 05                	jne    0x140679ae9
140679ae4:	48 89 74 c1 08       	mov    %rsi,0x8(%rcx,%rax,8)
140679ae9:	49 89 37             	mov    %rsi,(%r15)
140679aec:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140679af1:	49 8b c7             	mov    %r15,%rax
140679af4:	48 8b 5c 24 70       	mov    0x70(%rsp),%rbx
140679af9:	48 8b 6c 24 78       	mov    0x78(%rsp),%rbp
140679afe:	48 8b b4 24 80 00 00 	mov    0x80(%rsp),%rsi
140679b05:	00
140679b06:	48 83 c4 40          	add    $0x40,%rsp
140679b0a:	41 5f                	pop    %r15
140679b0c:	41 5e                	pop    %r14
140679b0e:	41 5d                	pop    %r13
140679b10:	41 5c                	pop    %r12
140679b12:	5f                   	pop    %rdi
140679b13:	c3                   	ret
140679b14:	48 8d 0d 85 49 93 00 	lea    0x934985(%rip),%rcx        # 0x140fae4a0
140679b1b:	e8 94 18 78 00       	call   0x140dfb3b4
140679b20:	cc                   	int3
140679b21:	cc                   	int3
140679b22:	cc                   	int3
140679b23:	cc                   	int3
140679b24:	cc                   	int3
140679b25:	cc                   	int3
140679b26:	cc                   	int3
140679b27:	cc                   	int3
140679b28:	cc                   	int3
140679b29:	cc                   	int3
140679b2a:	cc                   	int3
140679b2b:	cc                   	int3
140679b2c:	cc                   	int3
140679b2d:	cc                   	int3
140679b2e:	cc                   	int3
140679b2f:	cc                   	int3
140679b30:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140679b35:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140679b3a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140679b3f:	57                   	push   %rdi
140679b40:	41 54                	push   %r12
140679b42:	41 55                	push   %r13
140679b44:	41 56                	push   %r14
140679b46:	41 57                	push   %r15
140679b48:	48 83 ec 30          	sub    $0x30,%rsp
140679b4c:	4d 8b e8             	mov    %r8,%r13
140679b4f:	4c 8b f2             	mov    %rdx,%r14
140679b52:	48 8b e9             	mov    %rcx,%rbp
140679b55:	41 0f b6 30          	movzbl (%r8),%esi
140679b59:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
140679b60:	9c f2 cb
140679b63:	48 33 f0             	xor    %rax,%rsi
140679b66:	48 b9 b3 01 00 00 00 	movabs $0x100000001b3,%rcx
140679b6d:	01 00 00
140679b70:	48 0f af f1          	imul   %rcx,%rsi
140679b74:	41 0f b6 40 01       	movzbl 0x1(%r8),%eax
140679b79:	48 33 f0             	xor    %rax,%rsi
140679b7c:	48 0f af f1          	imul   %rcx,%rsi
140679b80:	41 0f b6 40 02       	movzbl 0x2(%r8),%eax
140679b85:	48 33 f0             	xor    %rax,%rsi
140679b88:	48 0f af f1          	imul   %rcx,%rsi
140679b8c:	41 0f b6 40 03       	movzbl 0x3(%r8),%eax
140679b91:	48 33 f0             	xor    %rax,%rsi
140679b94:	48 0f af f1          	imul   %rcx,%rsi
140679b98:	41 0f b6 40 04       	movzbl 0x4(%r8),%eax
140679b9d:	48 33 f0             	xor    %rax,%rsi
140679ba0:	48 0f af f1          	imul   %rcx,%rsi
140679ba4:	41 0f b6 40 05       	movzbl 0x5(%r8),%eax
140679ba9:	48 33 f0             	xor    %rax,%rsi
140679bac:	48 0f af f1          	imul   %rcx,%rsi
140679bb0:	41 0f b6 40 06       	movzbl 0x6(%r8),%eax
140679bb5:	48 33 f0             	xor    %rax,%rsi
140679bb8:	48 0f af f1          	imul   %rcx,%rsi
140679bbc:	41 0f b6 40 07       	movzbl 0x7(%r8),%eax
140679bc1:	48 33 f0             	xor    %rax,%rsi
140679bc4:	48 0f af f1          	imul   %rcx,%rsi
140679bc8:	48 8b ce             	mov    %rsi,%rcx
140679bcb:	48 23 4d 30          	and    0x30(%rbp),%rcx
140679bcf:	48 03 c9             	add    %rcx,%rcx
140679bd2:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140679bd6:	48 8b 5c ca 08       	mov    0x8(%rdx,%rcx,8),%rbx
140679bdb:	48 8d 45 08          	lea    0x8(%rbp),%rax
140679bdf:	4c 8b 20             	mov    (%rax),%r12
140679be2:	49 3b dc             	cmp    %r12,%rbx
140679be5:	75 08                	jne    0x140679bef
140679be7:	49 8b dc             	mov    %r12,%rbx
140679bea:	4d 8b fc             	mov    %r12,%r15
140679bed:	eb 52                	jmp    0x140679c41
140679bef:	48 8b 0c ca          	mov    (%rdx,%rcx,8),%rcx
140679bf3:	49 8b 00             	mov    (%r8),%rax
140679bf6:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140679bfa:	74 13                	je     0x140679c0f
140679bfc:	0f 1f 40 00          	nopl   0x0(%rax)
140679c00:	48 3b d9             	cmp    %rcx,%rbx
140679c03:	74 32                	je     0x140679c37
140679c05:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140679c09:	48 3b 43 10          	cmp    0x10(%rbx),%rax
140679c0d:	75 f1                	jne    0x140679c00
140679c0f:	49 89 1e             	mov    %rbx,(%r14)
140679c12:	41 c6 46 08 00       	movb   $0x0,0x8(%r14)
140679c17:	49 8b c6             	mov    %r14,%rax
140679c1a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140679c1f:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140679c24:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140679c29:	48 83 c4 30          	add    $0x30,%rsp
140679c2d:	41 5f                	pop    %r15
140679c2f:	41 5e                	pop    %r14
140679c31:	41 5d                	pop    %r13
140679c33:	41 5c                	pop    %r12
140679c35:	5f                   	pop    %rdi
140679c36:	c3                   	ret
140679c37:	4c 8b e3             	mov    %rbx,%r12
140679c3a:	4c 8b fb             	mov    %rbx,%r15
140679c3d:	48 8d 45 08          	lea    0x8(%rbp),%rax
140679c41:	48 b9 66 66 66 66 66 	movabs $0x666666666666666,%rcx
140679c48:	66 66 06
140679c4b:	48 39 4d 10          	cmp    %rcx,0x10(%rbp)
140679c4f:	0f 84 3e 01 00 00    	je     0x140679d93
140679c55:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140679c5a:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140679c61:	00 00
140679c63:	b9 28 00 00 00       	mov    $0x28,%ecx
140679c68:	e8 9b 14 7a 00       	call   0x140e1b108
140679c6d:	48 8b f8             	mov    %rax,%rdi
140679c70:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140679c75:	49 8b 4d 00          	mov    0x0(%r13),%rcx
140679c79:	48 89 48 10          	mov    %rcx,0x10(%rax)
140679c7d:	45 33 ed             	xor    %r13d,%r13d
140679c80:	4c 89 68 18          	mov    %r13,0x18(%rax)
140679c84:	4c 89 68 20          	mov    %r13,0x20(%rax)
140679c88:	48 8b 4d 10          	mov    0x10(%rbp),%rcx
140679c8c:	48 83 c1 01          	add    $0x1,%rcx
140679c90:	0f 57 c0             	xorps  %xmm0,%xmm0
140679c93:	78 07                	js     0x140679c9c
140679c95:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140679c9a:	eb 15                	jmp    0x140679cb1
140679c9c:	48 8b c1             	mov    %rcx,%rax
140679c9f:	48 d1 e8             	shr    $1,%rax
140679ca2:	83 e1 01             	and    $0x1,%ecx
140679ca5:	48 0b c1             	or     %rcx,%rax
140679ca8:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
140679cad:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140679cb1:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140679cb5:	0f 57 c9             	xorps  %xmm1,%xmm1
140679cb8:	48 85 c9             	test   %rcx,%rcx
140679cbb:	78 07                	js     0x140679cc4
140679cbd:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140679cc2:	eb 15                	jmp    0x140679cd9
140679cc4:	48 8b c1             	mov    %rcx,%rax
140679cc7:	48 d1 e8             	shr    $1,%rax
140679cca:	83 e1 01             	and    $0x1,%ecx
140679ccd:	48 0b c1             	or     %rcx,%rax
140679cd0:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140679cd5:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140679cd9:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140679cdd:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
140679ce1:	76 54                	jbe    0x140679d37
140679ce3:	48 8b cd             	mov    %rbp,%rcx
140679ce6:	e8 e5 f8 f2 ff       	call   0x1405a95d0
140679ceb:	48 8b ce             	mov    %rsi,%rcx
140679cee:	48 23 4d 30          	and    0x30(%rbp),%rcx
140679cf2:	48 03 c9             	add    %rcx,%rcx
140679cf5:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140679cf9:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140679cfe:	48 8b 5d 08          	mov    0x8(%rbp),%rbx
140679d02:	48 3b c3             	cmp    %rbx,%rax
140679d05:	74 23                	je     0x140679d2a
140679d07:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx