140087691:	41 5e                	pop    %r14
140087693:	41 5d                	pop    %r13
140087695:	41 5c                	pop    %r12
140087697:	5f                   	pop    %rdi
140087698:	c3                   	ret
140087699:	90                   	nop
14008769a:	90                   	nop
14008769b:	90                   	nop
14008769c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400876a1:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1400876a6:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400876ab:	57                   	push   %rdi
1400876ac:	41 54                	push   %r12
1400876ae:	41 55                	push   %r13
1400876b0:	41 56                	push   %r14
1400876b2:	41 57                	push   %r15
1400876b4:	48 83 ec 20          	sub    $0x20,%rsp
1400876b8:	4d 8b f0             	mov    %r8,%r14
1400876bb:	4d 8d 60 f0          	lea    -0x10(%r8),%r12
1400876bf:	4c 2b f2             	sub    %rdx,%r14
1400876c2:	49 8b dc             	mov    %r12,%rbx
1400876c5:	49 c1 fe 05          	sar    $0x5,%r14
1400876c9:	48 2b da             	sub    %rdx,%rbx
1400876cc:	49 c1 e6 04          	shl    $0x4,%r14
1400876d0:	4c 8b e9             	mov    %rcx,%r13
1400876d3:	4c 03 f2             	add    %rdx,%r14
1400876d6:	48 c1 fb 04          	sar    $0x4,%rbx
1400876da:	4d 8b f8             	mov    %r8,%r15
1400876dd:	48 8b ea             	mov    %rdx,%rbp
1400876e0:	48 8b ca             	mov    %rdx,%rcx
1400876e3:	48 83 fb 28          	cmp    $0x28,%rbx
1400876e7:	7e 50                	jle    0x140087739
1400876e9:	48 ff c3             	inc    %rbx
1400876ec:	48 c1 fb 03          	sar    $0x3,%rbx
1400876f0:	48 8b fb             	mov    %rbx,%rdi
1400876f3:	48 c1 e3 04          	shl    $0x4,%rbx
1400876f7:	48 c1 e7 05          	shl    $0x5,%rdi
1400876fb:	48 8d 34 13          	lea    (%rbx,%rdx,1),%rsi
1400876ff:	4c 8d 04 3a          	lea    (%rdx,%rdi,1),%r8
140087703:	48 8b d6             	mov    %rsi,%rdx
140087706:	e8 4d 18 00 00       	call   0x140088f58
14008770b:	49 8b ce             	mov    %r14,%rcx
14008770e:	4e 8d 04 33          	lea    (%rbx,%r14,1),%r8
140087712:	48 2b cb             	sub    %rbx,%rcx
140087715:	49 8b d6             	mov    %r14,%rdx
140087718:	e8 3b 18 00 00       	call   0x140088f58
14008771d:	49 8b cc             	mov    %r12,%rcx
140087720:	49 8b d4             	mov    %r12,%rdx
140087723:	48 2b cf             	sub    %rdi,%rcx
140087726:	48 2b d3             	sub    %rbx,%rdx
140087729:	4d 8b c4             	mov    %r12,%r8
14008772c:	e8 27 18 00 00       	call   0x140088f58
140087731:	4c 8b c2             	mov    %rdx,%r8
140087734:	48 8b ce             	mov    %rsi,%rcx
140087737:	eb 03                	jmp    0x14008773c
140087739:	4d 8b c4             	mov    %r12,%r8
14008773c:	49 8b d6             	mov    %r14,%rdx
14008773f:	e8 14 18 00 00       	call   0x140088f58
140087744:	49 8d 56 10          	lea    0x10(%r14),%rdx
140087748:	49 3b ee             	cmp    %r14,%rbp
14008774b:	73 2e                	jae    0x14008777b
14008774d:	49 8b 06             	mov    (%r14),%rax
140087750:	48 8b 08             	mov    (%rax),%rcx
140087753:	f3 0f 10 09          	movss  (%rcx),%xmm1
140087757:	4d 8d 46 f0          	lea    -0x10(%r14),%r8
14008775b:	49 8b 00             	mov    (%r8),%rax
14008775e:	4c 8b 08             	mov    (%rax),%r9
140087761:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140087766:	0f 2f c8             	comiss %xmm0,%xmm1
140087769:	77 10                	ja     0x14008777b
14008776b:	0f 2f c1             	comiss %xmm1,%xmm0
14008776e:	77 0b                	ja     0x14008777b
140087770:	4d 8b f0             	mov    %r8,%r14
140087773:	49 8b c9             	mov    %r9,%rcx
140087776:	49 3b e8             	cmp    %r8,%rbp
140087779:	72 d8                	jb     0x140087753
14008777b:	bb 10 00 00 00       	mov    $0x10,%ebx
140087780:	49 3b d7             	cmp    %r15,%rdx
140087783:	73 26                	jae    0x1400877ab
140087785:	49 8b 06             	mov    (%r14),%rax
140087788:	48 8b 08             	mov    (%rax),%rcx
14008778b:	f3 0f 10 09          	movss  (%rcx),%xmm1
14008778f:	48 8b 02             	mov    (%rdx),%rax
140087792:	48 8b 08             	mov    (%rax),%rcx
140087795:	f3 0f 10 01          	movss  (%rcx),%xmm0
140087799:	0f 2f c8             	comiss %xmm0,%xmm1
14008779c:	77 0d                	ja     0x1400877ab
14008779e:	0f 2f c1             	comiss %xmm1,%xmm0
1400877a1:	77 08                	ja     0x1400877ab
1400877a3:	48 03 d3             	add    %rbx,%rdx
1400877a6:	49 3b d7             	cmp    %r15,%rdx
1400877a9:	72 e4                	jb     0x14008778f
1400877ab:	4c 8b c2             	mov    %rdx,%r8
1400877ae:	4d 8b ce             	mov    %r14,%r9
1400877b1:	eb 42                	jmp    0x1400877f5
1400877b3:	49 8b 06             	mov    (%r14),%rax
1400877b6:	4d 8b 18             	mov    (%r8),%r11
1400877b9:	48 8b 08             	mov    (%rax),%rcx
1400877bc:	49 8b 03             	mov    (%r11),%rax
1400877bf:	f3 0f 10 01          	movss  (%rcx),%xmm0
1400877c3:	f3 0f 10 08          	movss  (%rax),%xmm1
1400877c7:	0f 2f c8             	comiss %xmm0,%xmm1
1400877ca:	77 26                	ja     0x1400877f2
1400877cc:	0f 2f c1             	comiss %xmm1,%xmm0
1400877cf:	77 29                	ja     0x1400877fa
1400877d1:	49 3b d0             	cmp    %r8,%rdx
1400877d4:	74 19                	je     0x1400877ef
1400877d6:	48 8b 02             	mov    (%rdx),%rax
1400877d9:	4c 89 1a             	mov    %r11,(%rdx)
1400877dc:	49 89 00             	mov    %rax,(%r8)
1400877df:	49 8b 40 08          	mov    0x8(%r8),%rax
1400877e3:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
1400877e7:	48 89 42 08          	mov    %rax,0x8(%rdx)
1400877eb:	49 89 48 08          	mov    %rcx,0x8(%r8)
1400877ef:	48 03 d3             	add    %rbx,%rdx
1400877f2:	4c 03 c3             	add    %rbx,%r8
1400877f5:	4d 3b c7             	cmp    %r15,%r8
1400877f8:	72 b9                	jb     0x1400877b3
1400877fa:	4c 3b cd             	cmp    %rbp,%r9
1400877fd:	76 51                	jbe    0x140087850
1400877ff:	4d 8d 51 f0          	lea    -0x10(%r9),%r10
140087803:	4d 8b 1a             	mov    (%r10),%r11
140087806:	49 8b 03             	mov    (%r11),%rax
140087809:	f3 0f 10 00          	movss  (%rax),%xmm0
14008780d:	49 8b 06             	mov    (%r14),%rax
140087810:	48 8b 08             	mov    (%rax),%rcx
140087813:	f3 0f 10 09          	movss  (%rcx),%xmm1
140087817:	0f 2f c8             	comiss %xmm0,%xmm1
14008781a:	77 26                	ja     0x140087842
14008781c:	0f 2f c1             	comiss %xmm1,%xmm0
14008781f:	77 2c                	ja     0x14008784d
140087821:	4c 2b f3             	sub    %rbx,%r14
140087824:	4d 3b f2             	cmp    %r10,%r14
140087827:	74 19                	je     0x140087842
140087829:	49 8b 06             	mov    (%r14),%rax
14008782c:	4d 89 1e             	mov    %r11,(%r14)
14008782f:	49 89 02             	mov    %rax,(%r10)
140087832:	49 8b 42 08          	mov    0x8(%r10),%rax
140087836:	49 8b 4e 08          	mov    0x8(%r14),%rcx
14008783a:	49 89 46 08          	mov    %rax,0x8(%r14)
14008783e:	49 89 4a 08          	mov    %rcx,0x8(%r10)
140087842:	4c 2b cb             	sub    %rbx,%r9
140087845:	4c 2b d3             	sub    %rbx,%r10
140087848:	49 3b e9             	cmp    %r9,%rbp
14008784b:	72 b6                	jb     0x140087803
14008784d:	4c 3b cd             	cmp    %rbp,%r9
140087850:	75 51                	jne    0x1400878a3
140087852:	4d 3b c7             	cmp    %r15,%r8
140087855:	0f 84 ba 00 00 00    	je     0x140087915
14008785b:	49 3b d0             	cmp    %r8,%rdx
14008785e:	74 1c                	je     0x14008787c
140087860:	48 8b 02             	mov    (%rdx),%rax
140087863:	49 8b 0e             	mov    (%r14),%rcx
140087866:	49 89 06             	mov    %rax,(%r14)
140087869:	48 8b 42 08          	mov    0x8(%rdx),%rax
14008786d:	48 89 0a             	mov    %rcx,(%rdx)
140087870:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140087874:	49 89 46 08          	mov    %rax,0x8(%r14)
140087878:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
14008787c:	49 8b 0e             	mov    (%r14),%rcx
14008787f:	48 03 d3             	add    %rbx,%rdx
140087882:	49 8b 00             	mov    (%r8),%rax
140087885:	49 89 06             	mov    %rax,(%r14)
140087888:	49 8b 40 08          	mov    0x8(%r8),%rax
14008788c:	49 89 08             	mov    %rcx,(%r8)
14008788f:	49 8b 4e 08          	mov    0x8(%r14),%rcx
140087893:	49 89 46 08          	mov    %rax,0x8(%r14)
140087897:	4c 03 f3             	add    %rbx,%r14
14008789a:	49 89 48 08          	mov    %rcx,0x8(%r8)
14008789e:	e9 4f ff ff ff       	jmp    0x1400877f2
1400878a3:	49 83 c1 f0          	add    $0xfffffffffffffff0,%r9
1400878a7:	4d 3b c7             	cmp    %r15,%r8
1400878aa:	75 48                	jne    0x1400878f4
1400878ac:	4c 2b f3             	sub    %rbx,%r14
1400878af:	4d 8d 56 08          	lea    0x8(%r14),%r10
1400878b3:	4d 3b ce             	cmp    %r14,%r9
1400878b6:	74 1a                	je     0x1400878d2
1400878b8:	49 8b 06             	mov    (%r14),%rax
1400878bb:	49 8b 09             	mov    (%r9),%rcx
1400878be:	49 89 01             	mov    %rax,(%r9)
1400878c1:	49 8b 02             	mov    (%r10),%rax
1400878c4:	49 89 0e             	mov    %rcx,(%r14)
1400878c7:	49 8b 49 08          	mov    0x8(%r9),%rcx
1400878cb:	49 89 41 08          	mov    %rax,0x8(%r9)
1400878cf:	49 89 0a             	mov    %rcx,(%r10)
1400878d2:	49 8b 0e             	mov    (%r14),%rcx
1400878d5:	48 2b d3             	sub    %rbx,%rdx
1400878d8:	48 8b 02             	mov    (%rdx),%rax
1400878db:	49 89 06             	mov    %rax,(%r14)
1400878de:	48 8b 42 08          	mov    0x8(%rdx),%rax
1400878e2:	48 89 0a             	mov    %rcx,(%rdx)
1400878e5:	49 8b 0a             	mov    (%r10),%rcx
1400878e8:	49 89 02             	mov    %rax,(%r10)
1400878eb:	48 89 4a 08          	mov    %rcx,0x8(%rdx)
1400878ef:	e9 01 ff ff ff       	jmp    0x1400877f5
1400878f4:	49 8b 01             	mov    (%r9),%rax
1400878f7:	49 8b 08             	mov    (%r8),%rcx
1400878fa:	49 89 00             	mov    %rax,(%r8)
1400878fd:	49 8b 41 08          	mov    0x8(%r9),%rax
140087901:	49 89 09             	mov    %rcx,(%r9)
140087904:	49 8b 48 08          	mov    0x8(%r8),%rcx
140087908:	49 89 40 08          	mov    %rax,0x8(%r8)
14008790c:	49 89 49 08          	mov    %rcx,0x8(%r9)
140087910:	e9 dd fe ff ff       	jmp    0x1400877f2
140087915:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
14008791a:	49 8b c5             	mov    %r13,%rax
14008791d:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140087922:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140087927:	4d 89 75 00          	mov    %r14,0x0(%r13)
14008792b:	49 89 55 08          	mov    %rdx,0x8(%r13)
14008792f:	48 83 c4 20          	add    $0x20,%rsp
140087933:	41 5f                	pop    %r15
140087935:	41 5e                	pop    %r14
140087937:	41 5d                	pop    %r13
140087939:	41 5c                	pop    %r12
14008793b:	5f                   	pop    %rdi
14008793c:	c3                   	ret
14008793d:	90                   	nop
14008793e:	90                   	nop
14008793f:	90                   	nop
140087940:	40 53                	rex push %rbx
140087942:	56                   	push   %rsi
140087943:	57                   	push   %rdi
140087944:	41 54                	push   %r12
140087946:	41 55                	push   %r13
140087948:	41 56                	push   %r14
14008794a:	41 57                	push   %r15
14008794c:	48 83 ec 50          	sub    $0x50,%rsp
140087950:	4d 8b f8             	mov    %r8,%r15
140087953:	4c 8b e2             	mov    %rdx,%r12
140087956:	48 8b f9             	mov    %rcx,%rdi
140087959:	48 2b 11             	sub    (%rcx),%rdx
14008795c:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
140087963:	92 24 49
140087966:	48 f7 ea             	imul   %rdx
140087969:	48 8b f2             	mov    %rdx,%rsi
14008796c:	48 c1 fe 04          	sar    $0x4,%rsi
140087970:	48 8b c6             	mov    %rsi,%rax
140087973:	48 c1 e8 3f          	shr    $0x3f,%rax
140087977:	48 03 f0             	add    %rax,%rsi
14008797a:	48 8b 41 08          	mov    0x8(%rcx),%rax
14008797e:	48 2b 01             	sub    (%rcx),%rax
140087981:	48 c1 f8 03          	sar    $0x3,%rax
140087985:	48 ba b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rdx
14008798c:	db b6 6d
14008798f:	48 0f af c2          	imul   %rdx,%rax
140087993:	49 b9 92 24 49 92 24 	movabs $0x492492492492492,%r9
14008799a:	49 92 04
14008799d:	49 3b c1             	cmp    %r9,%rax
1400879a0:	0f 84 7a 02 00 00    	je     0x140087c20
1400879a6:	4c 8d 40 01          	lea    0x1(%rax),%r8
1400879aa:	4c 89 84 24 98 00 00 	mov    %r8,0x98(%rsp)
1400879b1:	00
1400879b2:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400879b6:	48 2b 0f             	sub    (%rdi),%rcx
1400879b9:	48 c1 f9 03          	sar    $0x3,%rcx
1400879bd:	48 0f af ca          	imul   %rdx,%rcx
1400879c1:	48 8b d1             	mov    %rcx,%rdx
1400879c4:	48 d1 ea             	shr    $1,%rdx
1400879c7:	49 8b c1             	mov    %r9,%rax
1400879ca:	48 2b c2             	sub    %rdx,%rax
1400879cd:	48 3b c8             	cmp    %rax,%rcx
1400879d0:	76 05                	jbe    0x1400879d7
1400879d2:	49 8b c1             	mov    %r9,%rax
1400879d5:	eb 0b                	jmp    0x1400879e2
1400879d7:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
1400879db:	49 3b c0             	cmp    %r8,%rax
1400879de:	49 0f 42 c0          	cmovb  %r8,%rax
1400879e2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400879e7:	49 3b c1             	cmp    %r9,%rax
1400879ea:	0f 87 2a 02 00 00    	ja     0x140087c1a
1400879f0:	4c 6b e8 38          	imul   $0x38,%rax,%r13
1400879f4:	4d 85 ed             	test   %r13,%r13
1400879f7:	0f 85 97 00 00 00    	jne    0x140087a94
1400879fd:	33 db                	xor    %ebx,%ebx
1400879ff:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140087a04:	48 6b f6 38          	imul   $0x38,%rsi,%rsi
140087a08:	48 03 f3             	add    %rbx,%rsi
140087a0b:	48 89 b4 24 a8 00 00 	mov    %rsi,0xa8(%rsp)
140087a12:	00
140087a13:	4c 8d 76 38          	lea    0x38(%rsi),%r14
140087a17:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140087a1c:	4c 89 b4 24 90 00 00 	mov    %r14,0x90(%rsp)
140087a23:	00
140087a24:	41 8b 07             	mov    (%r15),%eax
140087a27:	89 06                	mov    %eax,(%rsi)
140087a29:	41 8a 47 04          	mov    0x4(%r15),%al
140087a2d:	88 46 04             	mov    %al,0x4(%rsi)
140087a30:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140087a34:	49 8d 57 08          	lea    0x8(%r15),%rdx
140087a38:	e8 97 75 fb ff       	call   0x14003efd4
140087a3d:	48 89 b4 24 90 00 00 	mov    %rsi,0x90(%rsp)
140087a44:	00
140087a45:	4c 8b 7f 08          	mov    0x8(%rdi),%r15
140087a49:	48 8b 37             	mov    (%rdi),%rsi
140087a4c:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140087a51:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140087a56:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140087a5b:	4d 3b e7             	cmp    %r15,%r12
140087a5e:	0f 85 80 00 00 00    	jne    0x140087ae4
140087a64:	4c 8b f3             	mov    %rbx,%r14
140087a67:	49 3b f7             	cmp    %r15,%rsi
140087a6a:	74 76                	je     0x140087ae2
140087a6c:	8b 06                	mov    (%rsi),%eax
140087a6e:	41 89 06             	mov    %eax,(%r14)
140087a71:	8a 46 04             	mov    0x4(%rsi),%al
140087a74:	41 88 46 04          	mov    %al,0x4(%r14)
140087a78:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140087a7c:	48 8d 56 08          	lea    0x8(%rsi),%rdx
140087a80:	e8 bf 74 fb ff       	call   0x14003ef44
140087a85:	49 83 c6 38          	add    $0x38,%r14
140087a89:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140087a8e:	48 83 c6 38          	add    $0x38,%rsi
140087a92:	eb d3                	jmp    0x140087a67
140087a94:	49 81 fd 00 10 00 00 	cmp    $0x1000,%r13
140087a9b:	72 29                	jb     0x140087ac6
140087a9d:	49 8d 4d 27          	lea    0x27(%r13),%rcx
140087aa1:	49 3b cd             	cmp    %r13,%rcx
140087aa4:	0f 86 70 01 00 00    	jbe    0x140087c1a
140087aaa:	ff 15 18 4e a8 00    	call   *0xa84e18(%rip)        # 0x140b0c8c8
140087ab0:	48 85 c0             	test   %rax,%rax
140087ab3:	74 26                	je     0x140087adb
140087ab5:	48 8d 58 27          	lea    0x27(%rax),%rbx
140087ab9:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140087abd:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140087ac1:	e9 39 ff ff ff       	jmp    0x1400879ff
140087ac6:	49 8b cd             	mov    %r13,%rcx
140087ac9:	ff 15 f9 4d a8 00    	call   *0xa84df9(%rip)        # 0x140b0c8c8
140087acf:	48 8b d8             	mov    %rax,%rbx
140087ad2:	48 85 c0             	test   %rax,%rax
140087ad5:	0f 85 24 ff ff ff    	jne    0x1400879ff
140087adb:	ff 15 b7 49 a8 00    	call   *0xa849b7(%rip)        # 0x140b0c498
140087ae1:	90                   	nop
140087ae2:	eb 7d                	jmp    0x140087b61
140087ae4:	4c 8b fb             	mov    %rbx,%r15
140087ae7:	49 3b f4             	cmp    %r12,%rsi
140087aea:	74 28                	je     0x140087b14
140087aec:	8b 06                	mov    (%rsi),%eax
140087aee:	41 89 07             	mov    %eax,(%r15)
140087af1:	8a 46 04             	mov    0x4(%rsi),%al
140087af4:	41 88 47 04          	mov    %al,0x4(%r15)
140087af8:	49 8d 4f 08          	lea    0x8(%r15),%rcx
140087afc:	48 8d 56 08          	lea    0x8(%rsi),%rdx
140087b00:	e8 cf 74 fb ff       	call   0x14003efd4
140087b05:	49 83 c7 38          	add    $0x38,%r15
140087b09:	4c 89 7c 24 40       	mov    %r15,0x40(%rsp)
140087b0e:	48 83 c6 38          	add    $0x38,%rsi
140087b12:	eb d3                	jmp    0x140087ae7
140087b14:	48 89 9c 24 90 00 00 	mov    %rbx,0x90(%rsp)
140087b1b:	00