140eac636:	49 2b c8             	sub    %r8,%rcx
140eac639:	49 8b c6             	mov    %r14,%rax
140eac63c:	48 f7 e9             	imul   %rcx
140eac63f:	48 c1 fa 04          	sar    $0x4,%rdx
140eac643:	48 8b c2             	mov    %rdx,%rax
140eac646:	48 c1 e8 3f          	shr    $0x3f,%rax
140eac64a:	48 03 d0             	add    %rax,%rdx
140eac64d:	49 63 c3             	movslq %r11d,%rax
140eac650:	48 3b c2             	cmp    %rdx,%rax
140eac653:	76 10                	jbe    0x140eac665
140eac655:	48 89 1e             	mov    %rbx,(%rsi)
140eac658:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
140eac65c:	48 89 5e 10          	mov    %rbx,0x10(%rsi)
140eac660:	e9 cc 00 00 00       	jmp    0x140eac731
140eac665:	49 8b c0             	mov    %r8,%rax
140eac668:	45 85 d2             	test   %r10d,%r10d
140eac66b:	79 06                	jns    0x140eac673
140eac66d:	41 ff c2             	inc    %r10d
140eac670:	44 03 d2             	add    %edx,%r10d
140eac673:	49 8b c8             	mov    %r8,%rcx
140eac676:	45 85 db             	test   %r11d,%r11d
140eac679:	79 06                	jns    0x140eac681
140eac67b:	44 8b db             	mov    %ebx,%r11d
140eac67e:	48 8b c8             	mov    %rax,%rcx
140eac681:	4d 8b c8             	mov    %r8,%r9
140eac684:	45 85 d2             	test   %r10d,%r10d
140eac687:	79 06                	jns    0x140eac68f
140eac689:	44 8b d3             	mov    %ebx,%r10d
140eac68c:	4c 8b c9             	mov    %rcx,%r9
140eac68f:	41 8b c2             	mov    %r10d,%eax
140eac692:	48 3b c2             	cmp    %rdx,%rax
140eac695:	76 06                	jbe    0x140eac69d
140eac697:	44 8b d2             	mov    %edx,%r10d
140eac69a:	4d 8b c1             	mov    %r9,%r8
140eac69d:	49 63 ca             	movslq %r10d,%rcx
140eac6a0:	48 8d 14 89          	lea    (%rcx,%rcx,4),%rdx
140eac6a4:	49 8d 2c d0          	lea    (%r8,%rdx,8),%rbp
140eac6a8:	41 8b cb             	mov    %r11d,%ecx
140eac6ab:	48 8d 14 89          	lea    (%rcx,%rcx,4),%rdx
140eac6af:	49 8d 3c d0          	lea    (%r8,%rdx,8),%rdi
140eac6b3:	48 89 1e             	mov    %rbx,(%rsi)
140eac6b6:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
140eac6ba:	48 89 5e 10          	mov    %rbx,0x10(%rsi)
140eac6be:	48 8b cd             	mov    %rbp,%rcx
140eac6c1:	48 2b cf             	sub    %rdi,%rcx
140eac6c4:	49 8b c6             	mov    %r14,%rax
140eac6c7:	48 f7 e9             	imul   %rcx
140eac6ca:	48 c1 fa 04          	sar    $0x4,%rdx
140eac6ce:	48 8b c2             	mov    %rdx,%rax
140eac6d1:	48 c1 e8 3f          	shr    $0x3f,%rax
140eac6d5:	48 03 d0             	add    %rax,%rdx
140eac6d8:	74 57                	je     0x140eac731
140eac6da:	48 b8 66 66 66 66 66 	movabs $0x666666666666666,%rax
140eac6e1:	66 66 06
140eac6e4:	48 3b d0             	cmp    %rax,%rdx
140eac6e7:	77 5e                	ja     0x140eac747
140eac6e9:	48 8b ce             	mov    %rsi,%rcx
140eac6ec:	e8 6f 72 4e ff       	call   0x140393960
140eac6f1:	48 89 74 24 68       	mov    %rsi,0x68(%rsp)
140eac6f6:	48 8b 1e             	mov    (%rsi),%rbx
140eac6f9:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140eac6fe:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140eac703:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140eac708:	48 3b fd             	cmp    %rbp,%rdi
140eac70b:	74 20                	je     0x140eac72d
140eac70d:	0f 1f 00             	nopl   (%rax)
140eac710:	48 8b d7             	mov    %rdi,%rdx
140eac713:	48 8b cb             	mov    %rbx,%rcx
140eac716:	e8 c5 66 4e ff       	call   0x140392de0
140eac71b:	48 83 c3 28          	add    $0x28,%rbx
140eac71f:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140eac724:	48 83 c7 28          	add    $0x28,%rdi
140eac728:	48 3b fd             	cmp    %rbp,%rdi
140eac72b:	75 e3                	jne    0x140eac710
140eac72d:	48 89 5e 08          	mov    %rbx,0x8(%rsi)
140eac731:	48 8b c6             	mov    %rsi,%rax
140eac734:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140eac739:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140eac73e:	48 83 c4 40          	add    $0x40,%rsp
140eac742:	41 5e                	pop    %r14
140eac744:	5f                   	pop    %rdi
140eac745:	5e                   	pop    %rsi
140eac746:	c3                   	ret
140eac747:	e8 44 0e 2f ff       	call   0x14019d590
140eac74c:	cc                   	int3
140eac74d:	cc                   	int3
140eac74e:	cc                   	int3
140eac74f:	cc                   	int3
140eac750:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140eac755:	55                   	push   %rbp
140eac756:	57                   	push   %rdi
140eac757:	41 56                	push   %r14
140eac759:	48 83 ec 20          	sub    $0x20,%rsp
140eac75d:	48 8b fa             	mov    %rdx,%rdi
140eac760:	48 8d 05 f9 33 35 00 	lea    0x3533f9(%rip),%rax        # 0x1411ffb60
140eac767:	4c 8b f1             	mov    %rcx,%r14
140eac76a:	33 ed                	xor    %ebp,%ebp
140eac76c:	0f 57 c0             	xorps  %xmm0,%xmm0
140eac76f:	0f 11 01             	movups %xmm0,(%rcx)
140eac772:	48 c7 41 08 01 00 00 	movq   $0x1,0x8(%rcx)
140eac779:	00
140eac77a:	48 89 01             	mov    %rax,(%rcx)
140eac77d:	48 8b 52 10          	mov    0x10(%rdx),%rdx
140eac781:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
140eac785:	48 8b 07             	mov    (%rdi),%rax
140eac788:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140eac78c:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140eac790:	48 89 2f             	mov    %rbp,(%rdi)
140eac793:	49 89 4e 18          	mov    %rcx,0x18(%r14)
140eac797:	49 8d 4e 28          	lea    0x28(%r14),%rcx
140eac79b:	49 89 56 20          	mov    %rdx,0x20(%r14)
140eac79f:	48 8d 57 18          	lea    0x18(%rdi),%rdx
140eac7a3:	49 89 46 10          	mov    %rax,0x10(%r14)
140eac7a7:	e8 64 62 4e ff       	call   0x140392a10
140eac7ac:	48 8b 47 68          	mov    0x68(%rdi),%rax
140eac7b0:	48 89 6f 68          	mov    %rbp,0x68(%rdi)
140eac7b4:	49 89 46 78          	mov    %rax,0x78(%r14)
140eac7b8:	48 8b 4f 68          	mov    0x68(%rdi),%rcx
140eac7bc:	48 85 c9             	test   %rcx,%rcx
140eac7bf:	74 10                	je     0x140eac7d1
140eac7c1:	48 83 29 01          	subq   $0x1,(%rcx)
140eac7c5:	75 0a                	jne    0x140eac7d1
140eac7c7:	ba 18 00 00 00       	mov    $0x18,%edx
140eac7cc:	e8 73 e9 f6 ff       	call   0x140e1b144
140eac7d1:	48 8d 4f 50          	lea    0x50(%rdi),%rcx
140eac7d5:	e8 86 bb 2e ff       	call   0x140198360
140eac7da:	40 38 6f 48          	cmp    %bpl,0x48(%rdi)
140eac7de:	74 09                	je     0x140eac7e9
140eac7e0:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140eac7e4:	e8 17 0d 2f ff       	call   0x14019d500
140eac7e9:	48 8b 1f             	mov    (%rdi),%rbx
140eac7ec:	48 85 db             	test   %rbx,%rbx
140eac7ef:	0f 84 85 00 00 00    	je     0x140eac87a
140eac7f5:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140eac7fa:	48 8b 77 08          	mov    0x8(%rdi),%rsi
140eac7fe:	48 3b de             	cmp    %rsi,%rbx
140eac801:	74 11                	je     0x140eac814
140eac803:	48 8b cb             	mov    %rbx,%rcx
140eac806:	e8 e5 6b 4e ff       	call   0x1403933f0
140eac80b:	48 83 c3 28          	add    $0x28,%rbx
140eac80f:	48 3b de             	cmp    %rsi,%rbx
140eac812:	75 ef                	jne    0x140eac803
140eac814:	4c 8b 07             	mov    (%rdi),%r8
140eac817:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
140eac81e:	66 66 66
140eac821:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140eac825:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140eac82a:	49 2b c8             	sub    %r8,%rcx
140eac82d:	48 f7 e9             	imul   %rcx
140eac830:	48 c1 fa 04          	sar    $0x4,%rdx
140eac834:	48 8b c2             	mov    %rdx,%rax
140eac837:	48 c1 e8 3f          	shr    $0x3f,%rax
140eac83b:	48 03 d0             	add    %rax,%rdx
140eac83e:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140eac842:	48 c1 e2 03          	shl    $0x3,%rdx
140eac846:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140eac84d:	72 18                	jb     0x140eac867
140eac84f:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
140eac853:	48 83 c2 27          	add    $0x27,%rdx
140eac857:	4c 2b c1             	sub    %rcx,%r8
140eac85a:	49 8d 40 f8          	lea    -0x8(%r8),%rax
140eac85e:	48 83 f8 1f          	cmp    $0x1f,%rax
140eac862:	77 27                	ja     0x140eac88b
140eac864:	4c 8b c1             	mov    %rcx,%r8
140eac867:	49 8b c8             	mov    %r8,%rcx
140eac86a:	e8 d5 e8 f6 ff       	call   0x140e1b144
140eac86f:	48 89 2f             	mov    %rbp,(%rdi)
140eac872:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140eac876:	48 89 6f 10          	mov    %rbp,0x10(%rdi)
140eac87a:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140eac87f:	49 8b c6             	mov    %r14,%rax
140eac882:	48 83 c4 20          	add    $0x20,%rsp
140eac886:	41 5e                	pop    %r14
140eac888:	5f                   	pop    %rdi
140eac889:	5d                   	pop    %rbp
140eac88a:	c3                   	ret
140eac88b:	e8 14 d9 f7 ff       	call   0x140e2a1a4
140eac890:	cc                   	int3
140eac891:	cc                   	int3
140eac892:	cc                   	int3
140eac893:	cc                   	int3
140eac894:	cc                   	int3
140eac895:	cc                   	int3
140eac896:	cc                   	int3
140eac897:	cc                   	int3
140eac898:	cc                   	int3
140eac899:	cc                   	int3
140eac89a:	cc                   	int3
140eac89b:	cc                   	int3
140eac89c:	cc                   	int3
140eac89d:	cc                   	int3
140eac89e:	cc                   	int3
140eac89f:	cc                   	int3
140eac8a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140eac8a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140eac8aa:	57                   	push   %rdi
140eac8ab:	48 83 ec 20          	sub    $0x20,%rsp
140eac8af:	4c 8b 4a 10          	mov    0x10(%rdx),%r9
140eac8b3:	33 f6                	xor    %esi,%esi
140eac8b5:	4c 8b 42 08          	mov    0x8(%rdx),%r8
140eac8b9:	48 8b da             	mov    %rdx,%rbx
140eac8bc:	48 8b 02             	mov    (%rdx),%rax
140eac8bf:	48 8b f9             	mov    %rcx,%rdi
140eac8c2:	48 89 72 10          	mov    %rsi,0x10(%rdx)
140eac8c6:	48 89 72 08          	mov    %rsi,0x8(%rdx)
140eac8ca:	48 89 32             	mov    %rsi,(%rdx)
140eac8cd:	48 83 c2 18          	add    $0x18,%rdx
140eac8d1:	48 89 01             	mov    %rax,(%rcx)
140eac8d4:	4c 89 41 08          	mov    %r8,0x8(%rcx)
140eac8d8:	4c 89 49 10          	mov    %r9,0x10(%rcx)
140eac8dc:	48 83 c1 18          	add    $0x18,%rcx
140eac8e0:	e8 2b 61 4e ff       	call   0x140392a10
140eac8e5:	48 8b 43 68          	mov    0x68(%rbx),%rax
140eac8e9:	48 89 73 68          	mov    %rsi,0x68(%rbx)
140eac8ed:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140eac8f2:	48 89 47 68          	mov    %rax,0x68(%rdi)
140eac8f6:	8b 43 74             	mov    0x74(%rbx),%eax
140eac8f9:	89 47 74             	mov    %eax,0x74(%rdi)
140eac8fc:	0f b6 43 78          	movzbl 0x78(%rbx),%eax
140eac900:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140eac905:	88 47 78             	mov    %al,0x78(%rdi)
140eac908:	48 8b c7             	mov    %rdi,%rax
140eac90b:	48 83 c4 20          	add    $0x20,%rsp
140eac90f:	5f                   	pop    %rdi
140eac910:	c3                   	ret
140eac911:	cc                   	int3
140eac912:	cc                   	int3
140eac913:	cc                   	int3
140eac914:	cc                   	int3
140eac915:	cc                   	int3
140eac916:	cc                   	int3
140eac917:	cc                   	int3
140eac918:	cc                   	int3
140eac919:	cc                   	int3
140eac91a:	cc                   	int3
140eac91b:	cc                   	int3
140eac91c:	cc                   	int3
140eac91d:	cc                   	int3
140eac91e:	cc                   	int3
140eac91f:	cc                   	int3
140eac920:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140eac925:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
140eac92a:	56                   	push   %rsi
140eac92b:	57                   	push   %rdi
140eac92c:	41 54                	push   %r12
140eac92e:	41 56                	push   %r14
140eac930:	41 57                	push   %r15
140eac932:	48 83 ec 20          	sub    $0x20,%rsp
140eac936:	4c 8b e1             	mov    %rcx,%r12
140eac939:	48 3b ca             	cmp    %rdx,%rcx
140eac93c:	0f 84 58 01 00 00    	je     0x140eaca9a
140eac942:	48 8b 3a             	mov    (%rdx),%rdi
140eac945:	49 ba 67 66 66 66 66 	movabs $0x6666666666666667,%r10
140eac94c:	66 66 66
140eac94f:	48 8b 52 08          	mov    0x8(%rdx),%rdx
140eac953:	49 8b c2             	mov    %r10,%rax
140eac956:	4c 8b 49 08          	mov    0x8(%rcx),%r9
140eac95a:	48 2b d7             	sub    %rdi,%rdx
140eac95d:	48 8b 19             	mov    (%rcx),%rbx
140eac960:	48 f7 ea             	imul   %rdx
140eac963:	49 8b c2             	mov    %r10,%rax
140eac966:	4c 8b c2             	mov    %rdx,%r8
140eac969:	49 c1 f8 04          	sar    $0x4,%r8
140eac96d:	49 8b c8             	mov    %r8,%rcx
140eac970:	48 c1 e9 3f          	shr    $0x3f,%rcx
140eac974:	4c 03 c1             	add    %rcx,%r8
140eac977:	49 8b c9             	mov    %r9,%rcx
140eac97a:	48 2b cb             	sub    %rbx,%rcx
140eac97d:	48 f7 e9             	imul   %rcx
140eac980:	48 c1 fa 04          	sar    $0x4,%rdx
140eac984:	48 8b c2             	mov    %rdx,%rax
140eac987:	48 c1 e8 3f          	shr    $0x3f,%rax
140eac98b:	48 03 d0             	add    %rax,%rdx
140eac98e:	49 3b d0             	cmp    %r8,%rdx
140eac991:	0f 85 1c 01 00 00    	jne    0x140eacab3
140eac997:	49 3b d9             	cmp    %r9,%rbx
140eac99a:	0f 84 fa 00 00 00    	je     0x140eaca9a
140eac9a0:	48 8b cb             	mov    %rbx,%rcx
140eac9a3:	48 83 c3 28          	add    $0x28,%rbx
140eac9a7:	e8 34 53 dd ff       	call   0x140c81ce0
140eac9ac:	48 8b cf             	mov    %rdi,%rcx
140eac9af:	4c 8b f0             	mov    %rax,%r14
140eac9b2:	48 83 c7 28          	add    $0x28,%rdi
140eac9b6:	e8 25 53 dd ff       	call   0x140c81ce0
140eac9bb:	49 8b 0e             	mov    (%r14),%rcx
140eac9be:	48 8b f0             	mov    %rax,%rsi
140eac9c1:	e8 6a 4d 4e ff       	call   0x140391730
140eac9c6:	48 8b 0e             	mov    (%rsi),%rcx
140eac9c9:	4c 8b f8             	mov    %rax,%r15
140eac9cc:	e8 5f 4d 4e ff       	call   0x140391730
140eac9d1:	48 83 78 18 0f       	cmpq   $0xf,0x18(%rax)
140eac9d6:	48 8b 48 10          	mov    0x10(%rax),%rcx
140eac9da:	76 03                	jbe    0x140eac9df
140eac9dc:	48 8b 00             	mov    (%rax),%rax
140eac9df:	49 83 7f 18 0f       	cmpq   $0xf,0x18(%r15)
140eac9e4:	4d 8b 47 10          	mov    0x10(%r15),%r8
140eac9e8:	76 03                	jbe    0x140eac9ed
140eac9ea:	4d 8b 3f             	mov    (%r15),%r15
140eac9ed:	4c 3b c1             	cmp    %rcx,%r8
140eac9f0:	0f 85 bd 00 00 00    	jne    0x140eacab3
140eac9f6:	48 8b d0             	mov    %rax,%rdx
140eac9f9:	49 8b cf             	mov    %r15,%rcx
140eac9fc:	e8 4f 30 03 00       	call   0x140edfa50
140eaca01:	85 c0                	test   %eax,%eax
140eaca03:	0f 85 aa 00 00 00    	jne    0x140eacab3
140eaca09:	8b 46 70             	mov    0x70(%rsi),%eax
140eaca0c:	41 39 46 70          	cmp    %eax,0x70(%r14)
140eaca10:	0f 85 9d 00 00 00    	jne    0x140eacab3
140eaca16:	8b 46 74             	mov    0x74(%rsi),%eax
140eaca19:	41 39 46 74          	cmp    %eax,0x74(%r14)
140eaca1d:	0f 85 90 00 00 00    	jne    0x140eacab3
140eaca23:	8b 46 78             	mov    0x78(%rsi),%eax
140eaca26:	41 39 46 78          	cmp    %eax,0x78(%r14)
140eaca2a:	0f 85 83 00 00 00    	jne    0x140eacab3
140eaca30:	48 8b 0e             	mov    (%rsi),%rcx
140eaca33:	48 83 c1 50          	add    $0x50,%rcx
140eaca37:	e8 d4 b2 c0 ff       	call   0x140ab7d10
140eaca3c:	49 8b 0e             	mov    (%r14),%rcx
140eaca3f:	48 8b e8             	mov    %rax,%rbp
140eaca42:	48 83 c1 50          	add    $0x50,%rcx
140eaca46:	e8 c5 b2 c0 ff       	call   0x140ab7d10
140eaca4b:	48 8b d5             	mov    %rbp,%rdx
140eaca4e:	48 8b c8             	mov    %rax,%rcx
140eaca51:	e8 ea 71 c5 ff       	call   0x140b03c40
140eaca56:	84 c0                	test   %al,%al
140eaca58:	74 59                	je     0x140eacab3
140eaca5a:	49 8b 0e             	mov    (%r14),%rcx
140eaca5d:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140eaca62:	48 83 c1 78          	add    $0x78,%rcx
140eaca66:	e8 e5 63 c5 ff       	call   0x140b02e50
140eaca6b:	48 8b 0e             	mov    (%rsi),%rcx
140eaca6e:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140eaca73:	48 83 c1 78          	add    $0x78,%rcx
140eaca77:	e8 d4 63 c5 ff       	call   0x140b02e50
140eaca7c:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
140eaca81:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140eaca86:	e8 95 37 c7 ff       	call   0x140b20220
140eaca8b:	84 c0                	test   %al,%al
140eaca8d:	74 24                	je     0x140eacab3
140eaca8f:	49 3b 5c 24 08       	cmp    0x8(%r12),%rbx
140eaca94:	0f 85 06 ff ff ff    	jne    0x140eac9a0
140eaca9a:	b0 01                	mov    $0x1,%al
140eaca9c:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140eacaa1:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
140eacaa6:	48 83 c4 20          	add    $0x20,%rsp
140eacaaa:	41 5f                	pop    %r15
140eacaac:	41 5e                	pop    %r14
140eacaae:	41 5c                	pop    %r12
140eacab0:	5f                   	pop    %rdi
140eacab1:	5e                   	pop    %rsi