140887641:	c1 e8 1f             	shr    $0x1f,%eax
140887644:	44 03 c0             	add    %eax,%r8d
140887647:	b8 67 66 66 66       	mov    $0x66666667,%eax
14088764c:	41 f7 e8             	imul   %r8d
14088764f:	41 8b c8             	mov    %r8d,%ecx
140887652:	c1 fa 02             	sar    $0x2,%edx
140887655:	8b c2                	mov    %edx,%eax
140887657:	c1 e8 1f             	shr    $0x1f,%eax
14088765a:	03 d0                	add    %eax,%edx
14088765c:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
14088765f:	03 c0                	add    %eax,%eax
140887661:	2b c8                	sub    %eax,%ecx
140887663:	41 0f b6 c0          	movzbl %r8b,%eax
140887667:	80 c1 30             	add    $0x30,%cl
14088766a:	41 c0 e0 02          	shl    $0x2,%r8b
14088766e:	41 02 c0             	add    %r8b,%al
140887671:	88 4c 24 63          	mov    %cl,0x63(%rsp)
140887675:	02 c0                	add    %al,%al
140887677:	44 2a c8             	sub    %al,%r9b
14088767a:	b8 67 66 66 66       	mov    $0x66666667,%eax
14088767f:	41 80 c1 30          	add    $0x30,%r9b
140887683:	44 88 4c 24 64       	mov    %r9b,0x64(%rsp)
140887688:	f2 44 0f 2c 4c 24 50 	cvttsd2si 0x50(%rsp),%r9d
14088768f:	41 f7 e9             	imul   %r9d
140887692:	b8 67 66 66 66       	mov    $0x66666667,%eax
140887697:	44 8b c2             	mov    %edx,%r8d
14088769a:	41 c1 f8 02          	sar    $0x2,%r8d
14088769e:	41 8b c8             	mov    %r8d,%ecx
1408876a1:	c1 e9 1f             	shr    $0x1f,%ecx
1408876a4:	44 03 c1             	add    %ecx,%r8d
1408876a7:	41 f7 e8             	imul   %r8d
1408876aa:	41 8b c8             	mov    %r8d,%ecx
1408876ad:	c1 fa 02             	sar    $0x2,%edx
1408876b0:	8b c2                	mov    %edx,%eax
1408876b2:	c1 e8 1f             	shr    $0x1f,%eax
1408876b5:	03 d0                	add    %eax,%edx
1408876b7:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1408876ba:	03 c0                	add    %eax,%eax
1408876bc:	2b c8                	sub    %eax,%ecx
1408876be:	41 0f b6 c0          	movzbl %r8b,%eax
1408876c2:	80 c1 30             	add    $0x30,%cl
1408876c5:	41 c0 e0 02          	shl    $0x2,%r8b
1408876c9:	88 4c 24 66          	mov    %cl,0x66(%rsp)
1408876cd:	41 02 c0             	add    %r8b,%al
1408876d0:	02 c0                	add    %al,%al
1408876d2:	c6 44 24 68 00       	movb   $0x0,0x68(%rsp)
1408876d7:	44 2a c8             	sub    %al,%r9b
1408876da:	48 c7 44 24 20 ff ff 	movq   $0xffffffffffffffff,0x20(%rsp)
1408876e1:	ff ff
1408876e3:	41 80 c1 30          	add    $0x30,%r9b
1408876e7:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
1408876ec:	44 88 4c 24 67       	mov    %r9b,0x67(%rsp)
1408876f1:	41 b8 08 00 00 00    	mov    $0x8,%r8d
1408876f7:	41 b1 01             	mov    $0x1,%r9b
1408876fa:	48 8b cb             	mov    %rbx,%rcx
1408876fd:	e8 3e f6 03 00       	call   0x1408c6d40
140887702:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
140887707:	48 33 cc             	xor    %rsp,%rcx
14088770a:	e8 f1 3d 59 00       	call   0x140e1b500
14088770f:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140887716:	5b                   	pop    %rbx
140887717:	c3                   	ret
140887718:	cc                   	int3
140887719:	cc                   	int3
14088771a:	cc                   	int3
14088771b:	cc                   	int3
14088771c:	cc                   	int3
14088771d:	cc                   	int3
14088771e:	cc                   	int3
14088771f:	cc                   	int3
140887720:	40 53                	rex push %rbx
140887722:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
140887729:	48 8b 05 d0 17 b3 00 	mov    0xb317d0(%rip),%rax        # 0x1413b8f00
140887730:	48 33 c4             	xor    %rsp,%rax
140887733:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
140887738:	4c 8d 4c 24 30       	lea    0x30(%rsp),%r9
14088773d:	48 8b d9             	mov    %rcx,%rbx
140887740:	e8 8b 6c 02 00       	call   0x1408ae3d0
140887745:	85 c0                	test   %eax,%eax
140887747:	0f 85 cd 01 00 00    	jne    0x14088791a
14088774d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140887752:	e8 19 44 01 00       	call   0x14089bb70
140887757:	44 8b 5c 24 38       	mov    0x38(%rsp),%r11d
14088775c:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
140887761:	45 8b cb             	mov    %r11d,%r9d
140887764:	c6 44 24 65 2d       	movb   $0x2d,0x65(%rsp)
140887769:	41 f7 d9             	neg    %r9d
14088776c:	45 85 db             	test   %r11d,%r11d
14088776f:	45 0f 49 cb          	cmovns %r11d,%r9d
140887773:	41 f7 e9             	imul   %r9d
140887776:	8b ca                	mov    %edx,%ecx
140887778:	c1 f9 06             	sar    $0x6,%ecx
14088777b:	8b c1                	mov    %ecx,%eax
14088777d:	c1 e8 1f             	shr    $0x1f,%eax
140887780:	03 c8                	add    %eax,%ecx
140887782:	b8 67 66 66 66       	mov    $0x66666667,%eax
140887787:	f7 e9                	imul   %ecx
140887789:	c1 fa 02             	sar    $0x2,%edx
14088778c:	8b c2                	mov    %edx,%eax
14088778e:	c1 e8 1f             	shr    $0x1f,%eax
140887791:	03 d0                	add    %eax,%edx
140887793:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140887796:	03 c0                	add    %eax,%eax
140887798:	2b c8                	sub    %eax,%ecx
14088779a:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
14088779f:	41 f7 e9             	imul   %r9d
1408877a2:	80 c1 30             	add    $0x30,%cl
1408877a5:	88 4c 24 61          	mov    %cl,0x61(%rsp)
1408877a9:	8b ca                	mov    %edx,%ecx
1408877ab:	c1 f9 05             	sar    $0x5,%ecx
1408877ae:	8b c1                	mov    %ecx,%eax
1408877b0:	c1 e8 1f             	shr    $0x1f,%eax
1408877b3:	03 c8                	add    %eax,%ecx
1408877b5:	b8 67 66 66 66       	mov    $0x66666667,%eax
1408877ba:	f7 e9                	imul   %ecx
1408877bc:	c1 fa 02             	sar    $0x2,%edx
1408877bf:	8b c2                	mov    %edx,%eax
1408877c1:	c1 e8 1f             	shr    $0x1f,%eax
1408877c4:	03 d0                	add    %eax,%edx
1408877c6:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1408877c9:	03 c0                	add    %eax,%eax
1408877cb:	2b c8                	sub    %eax,%ecx
1408877cd:	b8 67 66 66 66       	mov    $0x66666667,%eax
1408877d2:	41 f7 e9             	imul   %r9d
1408877d5:	80 c1 30             	add    $0x30,%cl
1408877d8:	44 8b c2             	mov    %edx,%r8d
1408877db:	88 4c 24 62          	mov    %cl,0x62(%rsp)
1408877df:	41 c1 f8 02          	sar    $0x2,%r8d
1408877e3:	41 8b c0             	mov    %r8d,%eax
1408877e6:	c1 e8 1f             	shr    $0x1f,%eax
1408877e9:	44 03 c0             	add    %eax,%r8d
1408877ec:	b8 67 66 66 66       	mov    $0x66666667,%eax
1408877f1:	41 f7 e8             	imul   %r8d
1408877f4:	41 8b c8             	mov    %r8d,%ecx
1408877f7:	c1 fa 02             	sar    $0x2,%edx
1408877fa:	8b c2                	mov    %edx,%eax
1408877fc:	c1 e8 1f             	shr    $0x1f,%eax
1408877ff:	03 d0                	add    %eax,%edx
140887801:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140887804:	03 c0                	add    %eax,%eax
140887806:	2b c8                	sub    %eax,%ecx
140887808:	41 0f b6 c0          	movzbl %r8b,%eax
14088780c:	41 c0 e0 02          	shl    $0x2,%r8b
140887810:	80 c1 30             	add    $0x30,%cl
140887813:	41 02 c0             	add    %r8b,%al
140887816:	88 4c 24 63          	mov    %cl,0x63(%rsp)
14088781a:	02 c0                	add    %al,%al
14088781c:	44 2a c8             	sub    %al,%r9b
14088781f:	b8 67 66 66 66       	mov    $0x66666667,%eax
140887824:	41 80 c1 30          	add    $0x30,%r9b
140887828:	44 88 4c 24 64       	mov    %r9b,0x64(%rsp)
14088782d:	44 8b 4c 24 3c       	mov    0x3c(%rsp),%r9d
140887832:	41 f7 e9             	imul   %r9d
140887835:	44 8b c2             	mov    %edx,%r8d
140887838:	41 c1 f8 02          	sar    $0x2,%r8d
14088783c:	41 8b c0             	mov    %r8d,%eax
14088783f:	c1 e8 1f             	shr    $0x1f,%eax
140887842:	44 03 c0             	add    %eax,%r8d
140887845:	b8 67 66 66 66       	mov    $0x66666667,%eax
14088784a:	41 f7 e8             	imul   %r8d
14088784d:	c1 fa 02             	sar    $0x2,%edx
140887850:	41 8b c8             	mov    %r8d,%ecx
140887853:	c6 44 24 68 2d       	movb   $0x2d,0x68(%rsp)
140887858:	8b c2                	mov    %edx,%eax
14088785a:	c6 44 24 6b 00       	movb   $0x0,0x6b(%rsp)
14088785f:	c1 e8 1f             	shr    $0x1f,%eax
140887862:	03 d0                	add    %eax,%edx
140887864:	48 c7 44 24 20 ff ff 	movq   $0xffffffffffffffff,0x20(%rsp)
14088786b:	ff ff
14088786d:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140887870:	03 c0                	add    %eax,%eax
140887872:	2b c8                	sub    %eax,%ecx
140887874:	41 0f b6 c0          	movzbl %r8b,%eax
140887878:	80 c1 30             	add    $0x30,%cl
14088787b:	41 c0 e0 02          	shl    $0x2,%r8b
14088787f:	41 02 c0             	add    %r8b,%al
140887882:	88 4c 24 66          	mov    %cl,0x66(%rsp)
140887886:	02 c0                	add    %al,%al
140887888:	44 2a c8             	sub    %al,%r9b
14088788b:	b8 67 66 66 66       	mov    $0x66666667,%eax
140887890:	41 80 c1 30          	add    $0x30,%r9b
140887894:	44 88 4c 24 67       	mov    %r9b,0x67(%rsp)
140887899:	44 8b 4c 24 40       	mov    0x40(%rsp),%r9d
14088789e:	41 f7 e9             	imul   %r9d
1408878a1:	b8 67 66 66 66       	mov    $0x66666667,%eax
1408878a6:	44 8b c2             	mov    %edx,%r8d
1408878a9:	41 c1 f8 02          	sar    $0x2,%r8d
1408878ad:	41 8b c8             	mov    %r8d,%ecx
1408878b0:	c1 e9 1f             	shr    $0x1f,%ecx
1408878b3:	44 03 c1             	add    %ecx,%r8d
1408878b6:	41 f7 e8             	imul   %r8d
1408878b9:	41 8b c8             	mov    %r8d,%ecx
1408878bc:	c1 fa 02             	sar    $0x2,%edx
1408878bf:	8b c2                	mov    %edx,%eax
1408878c1:	c1 e8 1f             	shr    $0x1f,%eax
1408878c4:	03 d0                	add    %eax,%edx
1408878c6:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
1408878c9:	03 c0                	add    %eax,%eax
1408878cb:	2b c8                	sub    %eax,%ecx
1408878cd:	41 0f b6 c0          	movzbl %r8b,%eax
1408878d1:	80 c1 30             	add    $0x30,%cl
1408878d4:	41 c0 e0 02          	shl    $0x2,%r8b
1408878d8:	41 02 c0             	add    %r8b,%al
1408878db:	88 4c 24 69          	mov    %cl,0x69(%rsp)
1408878df:	02 c0                	add    %al,%al
1408878e1:	48 8b cb             	mov    %rbx,%rcx
1408878e4:	44 2a c8             	sub    %al,%r9b
1408878e7:	41 80 c1 30          	add    $0x30,%r9b
1408878eb:	44 88 4c 24 6a       	mov    %r9b,0x6a(%rsp)
1408878f0:	41 b1 01             	mov    $0x1,%r9b
1408878f3:	45 85 db             	test   %r11d,%r11d
1408878f6:	79 12                	jns    0x14088790a
1408878f8:	c6 44 24 60 2d       	movb   $0x2d,0x60(%rsp)
1408878fd:	48 8d 54 24 60       	lea    0x60(%rsp),%rdx
140887902:	41 b8 0b 00 00 00    	mov    $0xb,%r8d
140887908:	eb 0b                	jmp    0x140887915
14088790a:	41 b8 0a 00 00 00    	mov    $0xa,%r8d
140887910:	48 8d 54 24 61       	lea    0x61(%rsp),%rdx
140887915:	e8 26 f4 03 00       	call   0x1408c6d40
14088791a:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
14088791f:	48 33 cc             	xor    %rsp,%rcx
140887922:	e8 d9 3b 59 00       	call   0x140e1b500
140887927:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
14088792e:	5b                   	pop    %rbx
14088792f:	c3                   	ret
140887930:	85 d2                	test   %edx,%edx
140887932:	0f 84 78 15 00 00    	je     0x140888eb0
140887938:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
14088793d:	55                   	push   %rbp
14088793e:	53                   	push   %rbx
14088793f:	56                   	push   %rsi
140887940:	57                   	push   %rdi
140887941:	48 8d 6c 24 f8       	lea    -0x8(%rsp),%rbp
140887946:	48 81 ec 08 01 00 00 	sub    $0x108,%rsp
14088794d:	48 8b f1             	mov    %rcx,%rsi
140887950:	49 8b d8             	mov    %r8,%rbx
140887953:	49 8b 08             	mov    (%r8),%rcx
140887956:	8b fa                	mov    %edx,%edi
140887958:	48 85 c9             	test   %rcx,%rcx
14088795b:	0f 84 44 15 00 00    	je     0x140888ea5
140887961:	44 0f b7 41 14       	movzwl 0x14(%rcx),%r8d
140887966:	ba 02 02 00 00       	mov    $0x202,%edx
14088796b:	41 0f b7 c0          	movzwl %r8w,%eax
14088796f:	4c 89 bc 24 f0 00 00 	mov    %r15,0xf0(%rsp)
140887976:	00
140887977:	66 23 c2             	and    %dx,%ax
14088797a:	66 3b c2             	cmp    %dx,%ax
14088797d:	75 0c                	jne    0x14088798b
14088797f:	80 79 16 01          	cmpb   $0x1,0x16(%rcx)
140887983:	75 06                	jne    0x14088798b
140887985:	4c 8b 79 08          	mov    0x8(%rcx),%r15
140887989:	eb 14                	jmp    0x14088799f
14088798b:	41 f6 c0 01          	test   $0x1,%r8b
14088798f:	0f 85 08 15 00 00    	jne    0x140888e9d
140887995:	b2 01                	mov    $0x1,%dl
140887997:	e8 b4 03 0a 00       	call   0x140927d50
14088799c:	4c 8b f8             	mov    %rax,%r15
14088799f:	4c 89 7d 80          	mov    %r15,-0x80(%rbp)
1408879a3:	4d 85 ff             	test   %r15,%r15
1408879a6:	0f 84 f1 14 00 00    	je     0x140888e9d
1408879ac:	4c 8d 43 08          	lea    0x8(%rbx),%r8
1408879b0:	48 8b ce             	mov    %rsi,%rcx
1408879b3:	8d 57 ff             	lea    -0x1(%rdi),%edx
1408879b6:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
1408879bb:	e8 10 6a 02 00       	call   0x1408ae3d0
1408879c0:	85 c0                	test   %eax,%eax
1408879c2:	0f 85 d5 14 00 00    	jne    0x140888e9d
1408879c8:	48 8b 06             	mov    (%rsi),%rax
1408879cb:	4c 89 a4 24 38 01 00 	mov    %r12,0x138(%rsp)
1408879d2:	00
1408879d3:	45 33 e4             	xor    %r12d,%r12d
1408879d6:	4c 89 b4 24 f8 00 00 	mov    %r14,0xf8(%rsp)
1408879dd:	00
1408879de:	4c 89 ac 24 00 01 00 	mov    %r13,0x100(%rsp)
1408879e5:	00
1408879e6:	48 8b 48 18          	mov    0x18(%rax),%rcx
1408879ea:	0f 29 bc 24 e0 00 00 	movaps %xmm7,0xe0(%rsp)
1408879f1:	00
1408879f2:	44 0f 29 84 24 d0 00 	movaps %xmm8,0xd0(%rsp)
1408879f9:	00 00
1408879fb:	44 0f 29 8c 24 c0 00 	movaps %xmm9,0xc0(%rsp)
140887a02:	00 00
140887a04:	8b 81 88 00 00 00    	mov    0x88(%rcx),%eax
140887a0a:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140887a0f:	4c 89 64 24 38       	mov    %r12,0x38(%rsp)
140887a14:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
140887a19:	44 89 64 24 40       	mov    %r12d,0x40(%rsp)
140887a1e:	89 44 24 44          	mov    %eax,0x44(%rsp)
140887a22:	44 89 64 24 48       	mov    %r12d,0x48(%rsp)
140887a27:	66 44 89 64 24 4c    	mov    %r12w,0x4c(%rsp)
140887a2d:	e8 4e 3d 01 00       	call   0x14089b780
140887a32:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140887a37:	e8 34 41 01 00       	call   0x14089bb70
140887a3c:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140887a41:	e8 7a 3c 01 00       	call   0x14089b6c0
140887a46:	41 0f b6 07          	movzbl (%r15),%eax
140887a4a:	4c 8d 1d af 85 77 ff 	lea    -0x887a51(%rip),%r11        # 0x140000000
140887a51:	45 8b d4             	mov    %r12d,%r10d
140887a54:	45 8b f4             	mov    %r12d,%r14d
140887a57:	84 c0                	test   %al,%al
140887a59:	0f 84 d9 11 00 00    	je     0x140888c38
140887a5f:	0f 10 7c 24 70       	movups 0x70(%rsp),%xmm7
140887a64:	4c 8b 6c 24 50       	mov    0x50(%rsp),%r13
140887a69:	48 ba cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rdx
140887a70:	9b c4 20
140887a73:	44 0f 10 44 24 60    	movups 0x60(%rsp),%xmm8
140887a79:	49 b8 25 49 92 24 49 	movabs $0x4924924924924925,%r8
140887a80:	92 24 49
140887a83:	49 b9 c0 96 5c e7 ce 	movabs $0xffffffcee75c96c0,%r9
140887a8a:	ff ff ff
140887a8d:	44 0f 10 4c 24 50    	movups 0x50(%rsp),%xmm9
140887a93:	48 bf 87 dc 33 fd 75 	movabs $0x636ba875fd33dc87,%rdi
140887a9a:	a8 6b 63
140887a9d:	be 01 00 00 00       	mov    $0x1,%esi
140887aa2:	3c 25                	cmp    $0x25,%al
140887aa4:	0f 85 04 02 00 00    	jne    0x140887cae
140887aaa:	4d 3b d6             	cmp    %r14,%r10
140887aad:	73 69                	jae    0x140887b18
140887aaf:	44 8b 4c 24 48       	mov    0x48(%rsp),%r9d
140887ab4:	4b 8d 14 17          	lea    (%r15,%r10,1),%rdx
140887ab8:	41 8b ce             	mov    %r14d,%ecx
140887abb:	41 2b ca             	sub    %r10d,%ecx
140887abe:	44 03 c9             	add    %ecx,%r9d
140887ac1:	44 3b 4c 24 40       	cmp    0x40(%rsp),%r9d
140887ac6:	72 0f                	jb     0x140887ad7
140887ac8:	44 8b c1             	mov    %ecx,%r8d
140887acb:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140887ad0:	e8 0b 7f 01 00       	call   0x14089f9e0
140887ad5:	eb 1c                	jmp    0x140887af3
140887ad7:	85 c9                	test   %ecx,%ecx
140887ad9:	74 29                	je     0x140887b04
140887adb:	4c 63 c1             	movslq %ecx,%r8
140887ade:	44 89 4c 24 48       	mov    %r9d,0x48(%rsp)
140887ae3:	44 2b c9             	sub    %ecx,%r9d
140887ae6:	41 8b c9             	mov    %r9d,%ecx
140887ae9:	48 03 4c 24 38       	add    0x38(%rsp),%rcx
140887aee:	e8 1d 75 65 00       	call   0x140edf010
140887af3:	49 b8 25 49 92 24 49 	movabs $0x4924924924924925,%r8
140887afa:	92 24 49
140887afd:	4c 8d 1d fc 84 77 ff 	lea    -0x887b04(%rip),%r11        # 0x140000000
140887b04:	48 ba cf f7 53 e3 a5 	movabs $0x20c49ba5e353f7cf,%rdx
140887b0b:	9b c4 20
140887b0e:	49 b9 c0 96 5c e7 ce 	movabs $0xffffffcee75c96c0,%r9
140887b15:	ff ff ff
140887b18:	43 0f be 5c 37 01    	movsbl 0x1(%r15,%r14,1),%ebx
140887b1e:	49 ff c6             	inc    %r14
140887b21:	8d 43 db             	lea    -0x25(%rbx),%eax
140887b24:	4d 8d 56 01          	lea    0x1(%r14),%r10
140887b28:	4c 89 55 48          	mov    %r10,0x48(%rbp)
140887b2c:	83 f8 52             	cmp    $0x52,%eax