140a457a6:	48 8b ca             	mov    %rdx,%rcx
140a457a9:	48 d1 e9             	shr    $1,%rcx
140a457ac:	49 8b c1             	mov    %r9,%rax
140a457af:	48 2b c1             	sub    %rcx,%rax
140a457b2:	48 3b d0             	cmp    %rax,%rdx
140a457b5:	0f 87 25 01 00 00    	ja     0x140a458e0
140a457bb:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140a457bf:	49 8b fd             	mov    %r13,%rdi
140a457c2:	49 3b c5             	cmp    %r13,%rax
140a457c5:	48 0f 43 f8          	cmovae %rax,%rdi
140a457c9:	49 3b f9             	cmp    %r9,%rdi
140a457cc:	0f 87 0e 01 00 00    	ja     0x140a458e0
140a457d2:	48 8d 0c bf          	lea    (%rdi,%rdi,4),%rcx
140a457d6:	48 c1 e1 03          	shl    $0x3,%rcx
140a457da:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a457df:	48 85 c9             	test   %rcx,%rcx
140a457e2:	75 09                	jne    0x140a457ed
140a457e4:	33 db                	xor    %ebx,%ebx
140a457e6:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a457eb:	eb 45                	jmp    0x140a45832
140a457ed:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a457f4:	72 2c                	jb     0x140a45822
140a457f6:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a457fa:	48 3b c1             	cmp    %rcx,%rax
140a457fd:	0f 86 dd 00 00 00    	jbe    0x140a458e0
140a45803:	48 8b c8             	mov    %rax,%rcx
140a45806:	e8 fd 58 3d 00       	call   0x140e1b108
140a4580b:	48 85 c0             	test   %rax,%rax
140a4580e:	0f 84 d8 00 00 00    	je     0x140a458ec
140a45814:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a45818:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a4581c:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a45820:	eb 08                	jmp    0x140a4582a
140a45822:	e8 e1 58 3d 00       	call   0x140e1b108
140a45827:	48 8b d8             	mov    %rax,%rbx
140a4582a:	4c 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%r8
140a45831:	00
140a45832:	48 89 9c 24 b8 00 00 	mov    %rbx,0xb8(%rsp)
140a45839:	00
140a4583a:	4b 8d 0c b6          	lea    (%r14,%r14,4),%rcx
140a4583e:	4c 8d 34 cb          	lea    (%rbx,%rcx,8),%r14
140a45842:	4d 8d 7e 28          	lea    0x28(%r14),%r15
140a45846:	4c 89 7c 24 28       	mov    %r15,0x28(%rsp)
140a4584b:	4c 89 bc 24 a8 00 00 	mov    %r15,0xa8(%rsp)
140a45852:	00
140a45853:	4c 89 74 24 30       	mov    %r14,0x30(%rsp)
140a45858:	49 c7 06 00 00 00 00 	movq   $0x0,(%r14)
140a4585f:	49 8b d0             	mov    %r8,%rdx
140a45862:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140a45867:	e8 d4 31 76 ff       	call   0x1401a8a40
140a4586c:	48 8b d0             	mov    %rax,%rdx
140a4586f:	49 8b ce             	mov    %r14,%rcx
140a45872:	e8 d9 7e fa ff       	call   0x1409ed750
140a45877:	90                   	nop
140a45878:	4c 89 b4 24 a8 00 00 	mov    %r14,0xa8(%rsp)
140a4587f:	00
140a45880:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a45884:	48 8b 0e             	mov    (%rsi),%rcx
140a45887:	4c 8b ce             	mov    %rsi,%r9
140a4588a:	4c 8b c3             	mov    %rbx,%r8
140a4588d:	4c 3b e2             	cmp    %rdx,%r12
140a45890:	75 07                	jne    0x140a45899
140a45892:	e8 a9 a2 f8 ff       	call   0x1409cfb40
140a45897:	eb 23                	jmp    0x140a458bc
140a45899:	49 8b d4             	mov    %r12,%rdx
140a4589c:	e8 3f a5 f8 ff       	call   0x1409cfde0
140a458a1:	48 89 9c 24 a8 00 00 	mov    %rbx,0xa8(%rsp)
140a458a8:	00
140a458a9:	4c 8b ce             	mov    %rsi,%r9
140a458ac:	4d 8b c7             	mov    %r15,%r8
140a458af:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a458b3:	49 8b cc             	mov    %r12,%rcx
140a458b6:	e8 25 a5 f8 ff       	call   0x1409cfde0
140a458bb:	90                   	nop
140a458bc:	4c 8b cf             	mov    %rdi,%r9
140a458bf:	4d 8b c5             	mov    %r13,%r8
140a458c2:	48 8b d3             	mov    %rbx,%rdx
140a458c5:	48 8b ce             	mov    %rsi,%rcx
140a458c8:	e8 13 07 fb ff       	call   0x1409f5fe0
140a458cd:	49 8b c6             	mov    %r14,%rax
140a458d0:	48 83 c4 60          	add    $0x60,%rsp
140a458d4:	41 5f                	pop    %r15
140a458d6:	41 5e                	pop    %r14
140a458d8:	41 5d                	pop    %r13
140a458da:	41 5c                	pop    %r12
140a458dc:	5f                   	pop    %rdi
140a458dd:	5e                   	pop    %rsi
140a458de:	5b                   	pop    %rbx
140a458df:	c3                   	ret
140a458e0:	e8 ab 78 75 ff       	call   0x14019d190
140a458e5:	cc                   	int3
140a458e6:	e8 a5 7c 75 ff       	call   0x14019d590
140a458eb:	cc                   	int3
140a458ec:	e8 b3 48 3e 00       	call   0x140e2a1a4
140a458f1:	cc                   	int3
140a458f2:	cc                   	int3
140a458f3:	cc                   	int3
140a458f4:	cc                   	int3
140a458f5:	cc                   	int3
140a458f6:	cc                   	int3
140a458f7:	cc                   	int3
140a458f8:	cc                   	int3
140a458f9:	cc                   	int3
140a458fa:	cc                   	int3
140a458fb:	cc                   	int3
140a458fc:	cc                   	int3
140a458fd:	cc                   	int3
140a458fe:	cc                   	int3
140a458ff:	cc                   	int3
140a45900:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a45905:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a4590a:	53                   	push   %rbx
140a4590b:	56                   	push   %rsi
140a4590c:	57                   	push   %rdi
140a4590d:	41 54                	push   %r12
140a4590f:	41 55                	push   %r13
140a45911:	41 56                	push   %r14
140a45913:	41 57                	push   %r15
140a45915:	48 83 ec 40          	sub    $0x40,%rsp
140a45919:	4c 8b e2             	mov    %rdx,%r12
140a4591c:	48 8b f1             	mov    %rcx,%rsi
140a4591f:	4c 8b 11             	mov    (%rcx),%r10
140a45922:	4c 8b ca             	mov    %rdx,%r9
140a45925:	4d 2b ca             	sub    %r10,%r9
140a45928:	49 bb 67 66 66 66 66 	movabs $0x6666666666666667,%r11
140a4592f:	66 66 66
140a45932:	49 8b c3             	mov    %r11,%rax
140a45935:	49 f7 e9             	imul   %r9
140a45938:	4c 8b f2             	mov    %rdx,%r14
140a4593b:	49 c1 fe 04          	sar    $0x4,%r14
140a4593f:	49 8b c6             	mov    %r14,%rax
140a45942:	48 c1 e8 3f          	shr    $0x3f,%rax
140a45946:	4c 03 f0             	add    %rax,%r14
140a45949:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a4594d:	49 2b ca             	sub    %r10,%rcx
140a45950:	49 8b c3             	mov    %r11,%rax
140a45953:	48 f7 e9             	imul   %rcx
140a45956:	48 c1 fa 04          	sar    $0x4,%rdx
140a4595a:	48 8b c2             	mov    %rdx,%rax
140a4595d:	48 c1 e8 3f          	shr    $0x3f,%rax
140a45961:	48 03 d0             	add    %rax,%rdx
140a45964:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
140a4596b:	66 66 06
140a4596e:	49 3b d1             	cmp    %r9,%rdx
140a45971:	0f 84 53 01 00 00    	je     0x140a45aca
140a45977:	4c 8d 6a 01          	lea    0x1(%rdx),%r13
140a4597b:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140a4597f:	49 2b ca             	sub    %r10,%rcx
140a45982:	49 8b c3             	mov    %r11,%rax
140a45985:	48 f7 e9             	imul   %rcx
140a45988:	48 c1 fa 04          	sar    $0x4,%rdx
140a4598c:	48 8b c2             	mov    %rdx,%rax
140a4598f:	48 c1 e8 3f          	shr    $0x3f,%rax
140a45993:	48 03 d0             	add    %rax,%rdx
140a45996:	48 8b ca             	mov    %rdx,%rcx
140a45999:	48 d1 e9             	shr    $1,%rcx
140a4599c:	49 8b c1             	mov    %r9,%rax
140a4599f:	48 2b c1             	sub    %rcx,%rax
140a459a2:	48 3b d0             	cmp    %rax,%rdx
140a459a5:	0f 87 19 01 00 00    	ja     0x140a45ac4
140a459ab:	48 8d 04 11          	lea    (%rcx,%rdx,1),%rax
140a459af:	49 8b fd             	mov    %r13,%rdi
140a459b2:	49 3b c5             	cmp    %r13,%rax
140a459b5:	48 0f 43 f8          	cmovae %rax,%rdi
140a459b9:	49 3b f9             	cmp    %r9,%rdi
140a459bc:	0f 87 02 01 00 00    	ja     0x140a45ac4
140a459c2:	48 8d 0c bf          	lea    (%rdi,%rdi,4),%rcx
140a459c6:	48 c1 e1 03          	shl    $0x3,%rcx
140a459ca:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a459cf:	48 85 c9             	test   %rcx,%rcx
140a459d2:	75 09                	jne    0x140a459dd
140a459d4:	33 db                	xor    %ebx,%ebx
140a459d6:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a459db:	eb 45                	jmp    0x140a45a22
140a459dd:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140a459e4:	72 2c                	jb     0x140a45a12
140a459e6:	48 8d 41 27          	lea    0x27(%rcx),%rax
140a459ea:	48 3b c1             	cmp    %rcx,%rax
140a459ed:	0f 86 d1 00 00 00    	jbe    0x140a45ac4
140a459f3:	48 8b c8             	mov    %rax,%rcx
140a459f6:	e8 0d 57 3d 00       	call   0x140e1b108
140a459fb:	48 85 c0             	test   %rax,%rax
140a459fe:	0f 84 cc 00 00 00    	je     0x140a45ad0
140a45a04:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a45a08:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a45a0c:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a45a10:	eb 08                	jmp    0x140a45a1a
140a45a12:	e8 f1 56 3d 00       	call   0x140e1b108
140a45a17:	48 8b d8             	mov    %rax,%rbx
140a45a1a:	4c 8b 84 24 90 00 00 	mov    0x90(%rsp),%r8
140a45a21:	00
140a45a22:	48 89 9c 24 98 00 00 	mov    %rbx,0x98(%rsp)
140a45a29:	00
140a45a2a:	4b 8d 0c b6          	lea    (%r14,%r14,4),%rcx
140a45a2e:	4c 8d 34 cb          	lea    (%rbx,%rcx,8),%r14
140a45a32:	4d 8d 7e 28          	lea    0x28(%r14),%r15
140a45a36:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140a45a3b:	4c 89 bc 24 88 00 00 	mov    %r15,0x88(%rsp)
140a45a42:	00
140a45a43:	49 c7 06 ff ff ff ff 	movq   $0xffffffffffffffff,(%r14)
140a45a4a:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
140a45a4f:	48 8d 54 24 28       	lea    0x28(%rsp),%rdx
140a45a54:	49 8b c8             	mov    %r8,%rcx
140a45a57:	e8 64 c4 f8 ff       	call   0x1409d1ec0
140a45a5c:	4c 89 b4 24 88 00 00 	mov    %r14,0x88(%rsp)
140a45a63:	00
140a45a64:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a45a68:	48 8b 0e             	mov    (%rsi),%rcx
140a45a6b:	4c 8b ce             	mov    %rsi,%r9
140a45a6e:	4c 8b c3             	mov    %rbx,%r8
140a45a71:	4c 3b e2             	cmp    %rdx,%r12
140a45a74:	75 07                	jne    0x140a45a7d
140a45a76:	e8 c5 a0 f8 ff       	call   0x1409cfb40
140a45a7b:	eb 23                	jmp    0x140a45aa0
140a45a7d:	49 8b d4             	mov    %r12,%rdx
140a45a80:	e8 5b a3 f8 ff       	call   0x1409cfde0
140a45a85:	48 89 9c 24 88 00 00 	mov    %rbx,0x88(%rsp)
140a45a8c:	00
140a45a8d:	4c 8b ce             	mov    %rsi,%r9
140a45a90:	4d 8b c7             	mov    %r15,%r8
140a45a93:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140a45a97:	49 8b cc             	mov    %r12,%rcx
140a45a9a:	e8 41 a3 f8 ff       	call   0x1409cfde0
140a45a9f:	90                   	nop
140a45aa0:	4c 8b cf             	mov    %rdi,%r9
140a45aa3:	4d 8b c5             	mov    %r13,%r8
140a45aa6:	48 8b d3             	mov    %rbx,%rdx
140a45aa9:	48 8b ce             	mov    %rsi,%rcx
140a45aac:	e8 2f 05 fb ff       	call   0x1409f5fe0
140a45ab1:	49 8b c6             	mov    %r14,%rax
140a45ab4:	48 83 c4 40          	add    $0x40,%rsp
140a45ab8:	41 5f                	pop    %r15
140a45aba:	41 5e                	pop    %r14
140a45abc:	41 5d                	pop    %r13
140a45abe:	41 5c                	pop    %r12
140a45ac0:	5f                   	pop    %rdi
140a45ac1:	5e                   	pop    %rsi
140a45ac2:	5b                   	pop    %rbx
140a45ac3:	c3                   	ret
140a45ac4:	e8 c7 76 75 ff       	call   0x14019d190
140a45ac9:	cc                   	int3
140a45aca:	e8 c1 7a 75 ff       	call   0x14019d590
140a45acf:	cc                   	int3
140a45ad0:	e8 cf 46 3e 00       	call   0x140e2a1a4
140a45ad5:	cc                   	int3
140a45ad6:	cc                   	int3
140a45ad7:	cc                   	int3
140a45ad8:	cc                   	int3
140a45ad9:	cc                   	int3
140a45ada:	cc                   	int3
140a45adb:	cc                   	int3
140a45adc:	cc                   	int3
140a45add:	cc                   	int3
140a45ade:	cc                   	int3
140a45adf:	cc                   	int3
140a45ae0:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140a45ae5:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140a45aea:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a45aef:	56                   	push   %rsi
140a45af0:	57                   	push   %rdi
140a45af1:	41 56                	push   %r14
140a45af3:	48 83 ec 20          	sub    $0x20,%rsp
140a45af7:	4c 8b f2             	mov    %rdx,%r14
140a45afa:	48 8b d9             	mov    %rcx,%rbx
140a45afd:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140a45b01:	4c 2b 01             	sub    (%rcx),%r8
140a45b04:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140a45b0b:	66 66 66
140a45b0e:	49 f7 e8             	imul   %r8
140a45b11:	48 8b fa             	mov    %rdx,%rdi
140a45b14:	48 c1 ff 04          	sar    $0x4,%rdi
140a45b18:	48 8b c7             	mov    %rdi,%rax
140a45b1b:	48 c1 e8 3f          	shr    $0x3f,%rax
140a45b1f:	48 03 f8             	add    %rax,%rdi
140a45b22:	49 8b d6             	mov    %r14,%rdx
140a45b25:	e8 76 b6 94 ff       	call   0x1403911a0
140a45b2a:	48 8b f0             	mov    %rax,%rsi
140a45b2d:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140a45b32:	4c 8b cb             	mov    %rbx,%r9
140a45b35:	4c 8b c0             	mov    %rax,%r8
140a45b38:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140a45b3c:	48 8b 0b             	mov    (%rbx),%rcx
140a45b3f:	e8 fc 9f f8 ff       	call   0x1409cfb40
140a45b44:	90                   	nop
140a45b45:	4d 8b 0e             	mov    (%r14),%r9
140a45b48:	4c 8b c7             	mov    %rdi,%r8
140a45b4b:	48 8b d6             	mov    %rsi,%rdx
140a45b4e:	48 8b cb             	mov    %rbx,%rcx
140a45b51:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
140a45b56:	48 83 c4 20          	add    $0x20,%rsp
140a45b5a:	41 5e                	pop    %r14
140a45b5c:	5f                   	pop    %rdi
140a45b5d:	5e                   	pop    %rsi
140a45b5e:	e9 7d 04 fb ff       	jmp    0x1409f5fe0
140a45b63:	cc                   	int3
140a45b64:	cc                   	int3
140a45b65:	cc                   	int3
140a45b66:	cc                   	int3
140a45b67:	cc                   	int3
140a45b68:	cc                   	int3
140a45b69:	cc                   	int3
140a45b6a:	cc                   	int3
140a45b6b:	cc                   	int3
140a45b6c:	cc                   	int3
140a45b6d:	cc                   	int3
140a45b6e:	cc                   	int3
140a45b6f:	cc                   	int3
140a45b70:	40 53                	rex push %rbx
140a45b72:	48 83 ec 30          	sub    $0x30,%rsp
140a45b76:	48 8b 02             	mov    (%rdx),%rax
140a45b79:	4d 8b c8             	mov    %r8,%r9
140a45b7c:	48 8b d9             	mov    %rcx,%rbx
140a45b7f:	48 83 f8 1d          	cmp    $0x1d,%rax
140a45b83:	0f 87 02 01 00 00    	ja     0x140a45c8b
140a45b89:	48 8d 0d 70 a4 5b ff 	lea    -0xa45b90(%rip),%rcx        # 0x140000000
140a45b90:	8b 84 81 a4 5c a4 00 	mov    0xa45ca4(%rcx,%rax,4),%eax
140a45b97:	48 03 c1             	add    %rcx,%rax
140a45b9a:	ff e0                	jmp    *%rax
140a45b9c:	49 8b 09             	mov    (%r9),%rcx
140a45b9f:	4c 8d 42 08          	lea    0x8(%rdx),%r8
140a45ba3:	48 8b d3             	mov    %rbx,%rdx
140a45ba6:	e8 e5 13 00 00       	call   0x140a46f90
140a45bab:	48 8b c3             	mov    %rbx,%rax
140a45bae:	48 83 c4 30          	add    $0x30,%rsp
140a45bb2:	5b                   	pop    %rbx
140a45bb3:	c3                   	ret
140a45bb4:	0f 57 c0             	xorps  %xmm0,%xmm0
140a45bb7:	48 8b c3             	mov    %rbx,%rax
140a45bba:	f2 48 0f 2a 42 08    	cvtsi2sdq 0x8(%rdx),%xmm0
140a45bc0:	c6 03 01             	movb   $0x1,(%rbx)
140a45bc3:	f2 0f 11 43 08       	movsd  %xmm0,0x8(%rbx)
140a45bc8:	48 83 c4 30          	add    $0x30,%rsp
140a45bcc:	5b                   	pop    %rbx
140a45bcd:	c3                   	ret
140a45bce:	49 8b 09             	mov    (%r9),%rcx
140a45bd1:	4c 8d 42 08          	lea    0x8(%rdx),%r8
140a45bd5:	48 ff c1             	inc    %rcx
140a45bd8:	48 8b d3             	mov    %rbx,%rdx
140a45bdb:	e8 b0 20 00 00       	call   0x140a47c90
140a45be0:	48 8b c3             	mov    %rbx,%rax
140a45be3:	48 83 c4 30          	add    $0x30,%rsp
140a45be7:	5b                   	pop    %rbx
140a45be8:	c3                   	ret
140a45be9:	f2 0f 10 42 08       	movsd  0x8(%rdx),%xmm0
140a45bee:	48 8b c3             	mov    %rbx,%rax
140a45bf1:	c6 03 01             	movb   $0x1,(%rbx)
140a45bf4:	f2 0f 11 43 08       	movsd  %xmm0,0x8(%rbx)
140a45bf9:	48 83 c4 30          	add    $0x30,%rsp
140a45bfd:	5b                   	pop    %rbx
140a45bfe:	c3                   	ret