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
140087b1c:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140087b20:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140087b25:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140087b2a:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
140087b2f:	4c 3b e6             	cmp    %rsi,%r12
140087b32:	74 2d                	je     0x140087b61
140087b34:	41 8b 04 24          	mov    (%r12),%eax
140087b38:	41 89 06             	mov    %eax,(%r14)
140087b3b:	41 8a 44 24 04       	mov    0x4(%r12),%al
140087b40:	41 88 46 04          	mov    %al,0x4(%r14)
140087b44:	49 8d 4e 08          	lea    0x8(%r14),%rcx
140087b48:	49 8d 54 24 08       	lea    0x8(%r12),%rdx
140087b4d:	e8 82 74 fb ff       	call   0x14003efd4
140087b52:	49 83 c6 38          	add    $0x38,%r14
140087b56:	4c 89 74 24 40       	mov    %r14,0x40(%rsp)
140087b5b:	49 83 c4 38          	add    $0x38,%r12
140087b5f:	eb ce                	jmp    0x140087b2f
140087b61:	48 8b 37             	mov    (%rdi),%rsi
140087b64:	48 85 f6             	test   %rsi,%rsi
140087b67:	74 77                	je     0x140087be0
140087b69:	4c 8b 7f 08          	mov    0x8(%rdi),%r15
140087b6d:	49 3b f7             	cmp    %r15,%rsi
140087b70:	74 2c                	je     0x140087b9e
140087b72:	4c 8d 76 08          	lea    0x8(%rsi),%r14
140087b76:	4d 8b 06             	mov    (%r14),%r8
140087b79:	4d 8b 40 08          	mov    0x8(%r8),%r8
140087b7d:	49 8b d6             	mov    %r14,%rdx
140087b80:	49 8b ce             	mov    %r14,%rcx
140087b83:	e8 a4 6a f9 ff       	call   0x14001e62c
140087b88:	49 8b 0e             	mov    (%r14),%rcx
140087b8b:	ff 15 2f 4d a8 00    	call   *0xa84d2f(%rip)        # 0x140b0c8c0
140087b91:	48 83 c6 38          	add    $0x38,%rsi
140087b95:	49 83 c6 38          	add    $0x38,%r14
140087b99:	49 3b f7             	cmp    %r15,%rsi
140087b9c:	75 d8                	jne    0x140087b76
140087b9e:	48 8b 0f             	mov    (%rdi),%rcx
140087ba1:	48 8b 47 10          	mov    0x10(%rdi),%rax
140087ba5:	48 2b c1             	sub    %rcx,%rax
140087ba8:	48 c1 f8 03          	sar    $0x3,%rax
140087bac:	48 ba b7 6d db b6 6d 	movabs $0x6db6db6db6db6db7,%rdx
140087bb3:	db b6 6d
140087bb6:	48 0f af c2          	imul   %rdx,%rax
140087bba:	48 6b c0 38          	imul   $0x38,%rax,%rax
140087bbe:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140087bc4:	72 14                	jb     0x140087bda
140087bc6:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140087bca:	48 2b ca             	sub    %rdx,%rcx
140087bcd:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140087bd1:	48 83 f8 1f          	cmp    $0x1f,%rax
140087bd5:	77 3c                	ja     0x140087c13
140087bd7:	48 8b ca             	mov    %rdx,%rcx
140087bda:	ff 15 e0 4c a8 00    	call   *0xa84ce0(%rip)        # 0x140b0c8c0
140087be0:	48 89 1f             	mov    %rbx,(%rdi)
140087be3:	48 6b 8c 24 98 00 00 	imul   $0x38,0x98(%rsp),%rcx
140087bea:	00 38
140087bec:	48 03 cb             	add    %rbx,%rcx
140087bef:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140087bf3:	4a 8d 0c 2b          	lea    (%rbx,%r13,1),%rcx
140087bf7:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140087bfb:	48 8b 84 24 a8 00 00 	mov    0xa8(%rsp),%rax
140087c02:	00
140087c03:	48 83 c4 50          	add    $0x50,%rsp
140087c07:	41 5f                	pop    %r15
140087c09:	41 5e                	pop    %r14
140087c0b:	41 5d                	pop    %r13
140087c0d:	41 5c                	pop    %r12
140087c0f:	5f                   	pop    %rdi
140087c10:	5e                   	pop    %rsi
140087c11:	5b                   	pop    %rbx
140087c12:	c3                   	ret
140087c13:	ff 15 7f 4d a8 00    	call   *0xa84d7f(%rip)        # 0x140b0c998
140087c19:	cc                   	int3
140087c1a:	e8 b1 c0 f7 ff       	call   0x140003cd0
140087c1f:	cc                   	int3
140087c20:	e8 43 41 f9 ff       	call   0x14001bd68
140087c25:	cc                   	int3
140087c26:	90                   	nop
140087c27:	90                   	nop
140087c28:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140087c2d:	57                   	push   %rdi
140087c2e:	48 83 ec 20          	sub    $0x20,%rsp
140087c32:	48 8b 79 08          	mov    0x8(%rcx),%rdi
140087c36:	48 8b 19             	mov    (%rcx),%rbx
140087c39:	eb 47                	jmp    0x140087c82
140087c3b:	48 8b 0b             	mov    (%rbx),%rcx
140087c3e:	48 85 c9             	test   %rcx,%rcx
140087c41:	74 3b                	je     0x140087c7e
140087c43:	48 8b 43 10          	mov    0x10(%rbx),%rax
140087c47:	48 2b c1             	sub    %rcx,%rax
140087c4a:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
140087c4e:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140087c54:	72 14                	jb     0x140087c6a
140087c56:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140087c5a:	48 2b ca             	sub    %rdx,%rcx
140087c5d:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140087c61:	48 83 f8 1f          	cmp    $0x1f,%rax
140087c65:	77 2b                	ja     0x140087c92
140087c67:	48 8b ca             	mov    %rdx,%rcx
140087c6a:	ff 15 50 4c a8 00    	call   *0xa84c50(%rip)        # 0x140b0c8c0
140087c70:	48 83 23 00          	andq   $0x0,(%rbx)
140087c74:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140087c79:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
140087c7e:	48 83 c3 20          	add    $0x20,%rbx
140087c82:	48 3b df             	cmp    %rdi,%rbx
140087c85:	75 b4                	jne    0x140087c3b
140087c87:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140087c8c:	48 83 c4 20          	add    $0x20,%rsp
140087c90:	5f                   	pop    %rdi
140087c91:	c3                   	ret
140087c92:	ff 15 00 4d a8 00    	call   *0xa84d00(%rip)        # 0x140b0c998
140087c98:	cc                   	int3
140087c99:	90                   	nop
140087c9a:	90                   	nop
140087c9b:	90                   	nop
140087c9c:	48 8b c4             	mov    %rsp,%rax
140087c9f:	48 89 58 10          	mov    %rbx,0x10(%rax)
140087ca3:	48 89 70 18          	mov    %rsi,0x18(%rax)
140087ca7:	48 89 78 20          	mov    %rdi,0x20(%rax)
140087cab:	48 89 48 08          	mov    %rcx,0x8(%rax)
140087caf:	55                   	push   %rbp
140087cb0:	41 54                	push   %r12
140087cb2:	41 55                	push   %r13
140087cb4:	41 56                	push   %r14
140087cb6:	41 57                	push   %r15
140087cb8:	48 8b ec             	mov    %rsp,%rbp
140087cbb:	48 83 ec 50          	sub    $0x50,%rsp
140087cbf:	48 b9 ab aa aa aa aa 	movabs $0xaaaaaaaaaaaaaaab,%rcx
140087cc6:	aa aa aa
140087cc9:	49 8d 58 d0          	lea    -0x30(%r8),%rbx
140087ccd:	49 8b c0             	mov    %r8,%rax
140087cd0:	4d 8b e8             	mov    %r8,%r13
140087cd3:	48 2b c2             	sub    %rdx,%rax
140087cd6:	4c 8b e2             	mov    %rdx,%r12
140087cd9:	48 c1 f8 04          	sar    $0x4,%rax
140087cdd:	48 0f af c1          	imul   %rcx,%rax
140087ce1:	48 d1 f8             	sar    $1,%rax
140087ce4:	4c 8d 3c 40          	lea    (%rax,%rax,2),%r15
140087ce8:	48 8b c3             	mov    %rbx,%rax
140087ceb:	48 2b c2             	sub    %rdx,%rax
140087cee:	49 c1 e7 04          	shl    $0x4,%r15
140087cf2:	48 c1 f8 04          	sar    $0x4,%rax
140087cf6:	4c 03 fa             	add    %rdx,%r15
140087cf9:	48 0f af c1          	imul   %rcx,%rax
140087cfd:	48 8b ca             	mov    %rdx,%rcx
140087d00:	48 83 f8 28          	cmp    $0x28,%rax
140087d04:	7e 51                	jle    0x140087d57
140087d06:	48 ff c0             	inc    %rax
140087d09:	48 c1 f8 03          	sar    $0x3,%rax
140087d0d:	48 8d 3c 40          	lea    (%rax,%rax,2),%rdi
140087d11:	48 8d 34 40          	lea    (%rax,%rax,2),%rsi
140087d15:	48 c1 e7 04          	shl    $0x4,%rdi
140087d19:	48 c1 e6 05          	shl    $0x5,%rsi
140087d1d:	4c 8d 34 17          	lea    (%rdi,%rdx,1),%r14
140087d21:	4c 8d 04 16          	lea    (%rsi,%rdx,1),%r8
140087d25:	49 8b d6             	mov    %r14,%rdx
140087d28:	e8 c3 12 00 00       	call   0x140088ff0
140087d2d:	49 8b cf             	mov    %r15,%rcx
140087d30:	4e 8d 04 3f          	lea    (%rdi,%r15,1),%r8
140087d34:	48 2b cf             	sub    %rdi,%rcx
140087d37:	49 8b d7             	mov    %r15,%rdx
140087d3a:	e8 b1 12 00 00       	call   0x140088ff0
140087d3f:	4d 8d 45 d0          	lea    -0x30(%r13),%r8
140087d43:	48 2b df             	sub    %rdi,%rbx
140087d46:	49 8b c8             	mov    %r8,%rcx
140087d49:	48 8b d3             	mov    %rbx,%rdx
140087d4c:	48 2b ce             	sub    %rsi,%rcx
140087d4f:	e8 9c 12 00 00       	call   0x140088ff0
140087d54:	49 8b ce             	mov    %r14,%rcx
140087d57:	4c 8b c3             	mov    %rbx,%r8
140087d5a:	49 8b d7             	mov    %r15,%rdx
140087d5d:	e8 8e 12 00 00       	call   0x140088ff0
140087d62:	49 8d 5f 30          	lea    0x30(%r15),%rbx
140087d66:	eb 26                	jmp    0x140087d8e
140087d68:	f3 41 0f 10 47 e4    	movss  -0x1c(%r15),%xmm0
140087d6e:	f3 41 0f 10 4f 14    	movss  0x14(%r15),%xmm1