140a105dc:	48 83 c2 27          	add    $0x27,%rdx
140a105e0:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140a105e4:	49 2b c8             	sub    %r8,%rcx
140a105e7:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140a105eb:	48 83 f8 1f          	cmp    $0x1f,%rax
140a105ef:	0f 87 8b 00 00 00    	ja     0x140a10680
140a105f5:	49 8b c8             	mov    %r8,%rcx
140a105f8:	e8 47 ab 40 00       	call   0x140e1b144
140a105fd:	b8 0f 00 00 00       	mov    $0xf,%eax
140a10602:	c6 03 00             	movb   $0x0,(%rbx)
140a10605:	0f 10 44 24 28       	movups 0x28(%rsp),%xmm0
140a1060a:	0f 11 03             	movups %xmm0,(%rbx)
140a1060d:	0f 11 73 10          	movups %xmm6,0x10(%rbx)
140a10611:	c6 44 24 28 00       	movb   $0x0,0x28(%rsp)
140a10616:	eb 05                	jmp    0x140a1061d
140a10618:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140a1061d:	48 83 f8 0f          	cmp    $0xf,%rax
140a10621:	76 30                	jbe    0x140a10653
140a10623:	48 8d 50 01          	lea    0x1(%rax),%rdx
140a10627:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a1062c:	48 8b c1             	mov    %rcx,%rax
140a1062f:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a10636:	72 15                	jb     0x140a1064d
140a10638:	48 83 c2 27          	add    $0x27,%rdx
140a1063c:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140a10640:	48 2b c1             	sub    %rcx,%rax
140a10643:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140a10647:	48 83 f8 1f          	cmp    $0x1f,%rax
140a1064b:	77 2d                	ja     0x140a1067a
140a1064d:	e8 f2 aa 40 00       	call   0x140e1b144
140a10652:	90                   	nop
140a10653:	48 8b c7             	mov    %rdi,%rax
140a10656:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
140a1065b:	48 33 cc             	xor    %rsp,%rcx
140a1065e:	e8 9d ae 40 00       	call   0x140e1b500
140a10663:	4c 8d 5c 24 60       	lea    0x60(%rsp),%r11
140a10668:	49 8b 5b 20          	mov    0x20(%r11),%rbx
140a1066c:	49 8b 73 28          	mov    0x28(%r11),%rsi
140a10670:	0f 28 74 24 50       	movaps 0x50(%rsp),%xmm6
140a10675:	49 8b e3             	mov    %r11,%rsp
140a10678:	5f                   	pop    %rdi
140a10679:	c3                   	ret
140a1067a:	e8 25 9b 41 00       	call   0x140e2a1a4
140a1067f:	90                   	nop
140a10680:	e8 1f 9b 41 00       	call   0x140e2a1a4
140a10685:	cc                   	int3
140a10686:	cc                   	int3
140a10687:	cc                   	int3
140a10688:	cc                   	int3
140a10689:	cc                   	int3
140a1068a:	cc                   	int3
140a1068b:	cc                   	int3
140a1068c:	cc                   	int3
140a1068d:	cc                   	int3
140a1068e:	cc                   	int3
140a1068f:	cc                   	int3
140a10690:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140a10695:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140a1069a:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a1069f:	57                   	push   %rdi
140a106a0:	48 83 ec 30          	sub    $0x30,%rsp
140a106a4:	48 8b d9             	mov    %rcx,%rbx
140a106a7:	33 ff                	xor    %edi,%edi
140a106a9:	48 89 39             	mov    %rdi,(%rcx)
140a106ac:	48 8b 4a 08          	mov    0x8(%rdx),%rcx
140a106b0:	48 85 c9             	test   %rcx,%rcx
140a106b3:	74 04                	je     0x140a106b9
140a106b5:	48 89 7a 08          	mov    %rdi,0x8(%rdx)
140a106b9:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
140a106be:	48 8d 74 24 20       	lea    0x20(%rsp),%rsi
140a106c3:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
140a106c8:	48 83 3b 05          	cmpq   $0x5,(%rbx)
140a106cc:	74 20                	je     0x140a106ee
140a106ce:	48 8b cb             	mov    %rbx,%rcx
140a106d1:	e8 ea 5e fe ff       	call   0x1409f65c0
140a106d6:	48 c7 03 05 00 00 00 	movq   $0x5,(%rbx)
140a106dd:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140a106e2:	48 85 c9             	test   %rcx,%rcx
140a106e5:	74 10                	je     0x140a106f7
140a106e7:	48 89 7c 24 28       	mov    %rdi,0x28(%rsp)
140a106ec:	eb 09                	jmp    0x140a106f7
140a106ee:	48 8b 43 10          	mov    0x10(%rbx),%rax
140a106f2:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140a106f7:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
140a106fb:	48 8b 7e 08          	mov    0x8(%rsi),%rdi
140a106ff:	48 85 ff             	test   %rdi,%rdi
140a10702:	74 3a                	je     0x140a1073e
140a10704:	48 8b 87 e8 00 00 00 	mov    0xe8(%rdi),%rax
140a1070b:	90                   	nop
140a1070c:	48 83 f8 01          	cmp    $0x1,%rax
140a10710:	74 16                	je     0x140a10728
140a10712:	48 c7 c0 ff ff ff ff 	mov    $0xffffffffffffffff,%rax
140a10719:	f0 48 0f c1 87 e8 00 	lock xadd %rax,0xe8(%rdi)
140a10720:	00 00
140a10722:	48 83 f8 01          	cmp    $0x1,%rax
140a10726:	75 16                	jne    0x140a1073e
140a10728:	48 8b cf             	mov    %rdi,%rcx
140a1072b:	e8 60 42 fe ff       	call   0x1409f4990
140a10730:	ba f0 00 00 00       	mov    $0xf0,%edx
140a10735:	48 8b cf             	mov    %rdi,%rcx
140a10738:	e8 07 aa 40 00       	call   0x140e1b144
140a1073d:	90                   	nop
140a1073e:	48 8b c3             	mov    %rbx,%rax
140a10741:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140a10746:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140a1074b:	48 83 c4 30          	add    $0x30,%rsp
140a1074f:	5f                   	pop    %rdi
140a10750:	c3                   	ret
140a10751:	cc                   	int3
140a10752:	cc                   	int3
140a10753:	cc                   	int3
140a10754:	cc                   	int3
140a10755:	cc                   	int3
140a10756:	cc                   	int3
140a10757:	cc                   	int3
140a10758:	cc                   	int3
140a10759:	cc                   	int3
140a1075a:	cc                   	int3
140a1075b:	cc                   	int3
140a1075c:	cc                   	int3
140a1075d:	cc                   	int3
140a1075e:	cc                   	int3
140a1075f:	cc                   	int3
140a10760:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a10765:	57                   	push   %rdi
140a10766:	48 81 ec 80 00 00 00 	sub    $0x80,%rsp
140a1076d:	48 8b fa             	mov    %rdx,%rdi
140a10770:	48 8b d9             	mov    %rcx,%rbx
140a10773:	48 83 7a 10 00       	cmpq   $0x0,0x10(%rdx)
140a10778:	0f 84 9c 00 00 00    	je     0x140a1081a
140a1077e:	41 b9 40 00 00 00    	mov    $0x40,%r9d
140a10784:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140a1078a:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a1078e:	e8 cd 75 9a ff       	call   0x1403b7d60
140a10793:	48 8b 43 08          	mov    0x8(%rbx),%rax
140a10797:	48 83 b8 90 00 00 00 	cmpq   $0x0,0x90(%rax)
140a1079e:	00
140a1079f:	74 79                	je     0x140a1081a
140a107a1:	48 8b 1b             	mov    (%rbx),%rbx
140a107a4:	48 8d 05 a5 d9 66 00 	lea    0x66d9a5(%rip),%rax        # 0x14107e150
140a107ab:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140a107b0:	48 c7 44 24 28 12 00 	movq   $0x12,0x28(%rsp)
140a107b7:	00 00
140a107b9:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140a107be:	48 89 84 24 98 00 00 	mov    %rax,0x98(%rsp)
140a107c5:	00
140a107c6:	48 c7 44 24 50 00 00 	movq   $0x0,0x50(%rsp)
140a107cd:	00 00
140a107cf:	48 8b d7             	mov    %rdi,%rdx
140a107d2:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140a107d7:	e8 64 82 79 ff       	call   0x1401a8a40
140a107dc:	48 8b d0             	mov    %rax,%rdx
140a107df:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140a107e4:	e8 67 cf fd ff       	call   0x1409ed750
140a107e9:	90                   	nop
140a107ea:	0f 28 44 24 20       	movaps 0x20(%rsp),%xmm0
140a107ef:	66 0f 7f 44 24 20    	movdqa %xmm0,0x20(%rsp)
140a107f5:	4c 8d 44 24 50       	lea    0x50(%rsp),%r8
140a107fa:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140a107ff:	48 8b cb             	mov    %rbx,%rcx
140a10802:	e8 09 45 01 00       	call   0x140a24d10
140a10807:	b0 01                	mov    $0x1,%al
140a10809:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
140a10810:	00
140a10811:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140a10818:	5f                   	pop    %rdi
140a10819:	c3                   	ret
140a1081a:	32 c0                	xor    %al,%al
140a1081c:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
140a10823:	00
140a10824:	48 81 c4 80 00 00 00 	add    $0x80,%rsp
140a1082b:	5f                   	pop    %rdi
140a1082c:	c3                   	ret
140a1082d:	cc                   	int3
140a1082e:	cc                   	int3
140a1082f:	cc                   	int3
140a10830:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a10835:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140a1083a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140a1083f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140a10844:	41 56                	push   %r14
140a10846:	48 83 ec 20          	sub    $0x20,%rsp
140a1084a:	4c 8b f1             	mov    %rcx,%r14
140a1084d:	48 8b ea             	mov    %rdx,%rbp
140a10850:	48 8b 09             	mov    (%rcx),%rcx
140a10853:	49 8b f0             	mov    %r8,%rsi
140a10856:	49 8b 56 10          	mov    0x10(%r14),%rdx
140a1085a:	48 2b d1             	sub    %rcx,%rdx
140a1085d:	4c 3b c2             	cmp    %rdx,%r8
140a10860:	0f 86 d4 00 00 00    	jbe    0x140a1093a
140a10866:	48 bf ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdi
140a1086d:	ff ff 7f
140a10870:	4c 3b c7             	cmp    %rdi,%r8
140a10873:	0f 87 26 01 00 00    	ja     0x140a1099f
140a10879:	4c 8b c2             	mov    %rdx,%r8
140a1087c:	48 8b c7             	mov    %rdi,%rax
140a1087f:	49 d1 e8             	shr    $1,%r8
140a10882:	49 2b c0             	sub    %r8,%rax
140a10885:	48 3b d0             	cmp    %rax,%rdx
140a10888:	77 0b                	ja     0x140a10895
140a1088a:	49 8d 3c 10          	lea    (%r8,%rdx,1),%rdi
140a1088e:	48 3b fe             	cmp    %rsi,%rdi
140a10891:	48 0f 42 fe          	cmovb  %rsi,%rdi
140a10895:	33 db                	xor    %ebx,%ebx
140a10897:	48 85 c9             	test   %rcx,%rcx
140a1089a:	74 35                	je     0x140a108d1
140a1089c:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140a108a3:	72 1c                	jb     0x140a108c1
140a108a5:	4c 8b 41 f8          	mov    -0x8(%rcx),%r8
140a108a9:	48 83 c2 27          	add    $0x27,%rdx
140a108ad:	49 2b c8             	sub    %r8,%rcx
140a108b0:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140a108b4:	48 83 f8 1f          	cmp    $0x1f,%rax
140a108b8:	0f 87 db 00 00 00    	ja     0x140a10999
140a108be:	49 8b c8             	mov    %r8,%rcx
140a108c1:	e8 7e a8 40 00       	call   0x140e1b144
140a108c6:	49 89 1e             	mov    %rbx,(%r14)
140a108c9:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140a108cd:	49 89 5e 10          	mov    %rbx,0x10(%r14)
140a108d1:	48 85 ff             	test   %rdi,%rdi
140a108d4:	74 3d                	je     0x140a10913
140a108d6:	48 81 ff 00 10 00 00 	cmp    $0x1000,%rdi
140a108dd:	72 29                	jb     0x140a10908
140a108df:	48 8d 4f 27          	lea    0x27(%rdi),%rcx
140a108e3:	48 3b cf             	cmp    %rdi,%rcx
140a108e6:	0f 86 b9 00 00 00    	jbe    0x140a109a5
140a108ec:	e8 17 a8 40 00       	call   0x140e1b108
140a108f1:	48 85 c0             	test   %rax,%rax
140a108f4:	0f 84 9f 00 00 00    	je     0x140a10999
140a108fa:	48 8d 58 27          	lea    0x27(%rax),%rbx
140a108fe:	48 83 e3 e0          	and    $0xffffffffffffffe0,%rbx
140a10902:	48 89 43 f8          	mov    %rax,-0x8(%rbx)
140a10906:	eb 0b                	jmp    0x140a10913
140a10908:	48 8b cf             	mov    %rdi,%rcx
140a1090b:	e8 f8 a7 40 00       	call   0x140e1b108
140a10910:	48 8b d8             	mov    %rax,%rbx
140a10913:	49 89 1e             	mov    %rbx,(%r14)
140a10916:	48 8d 0c 3b          	lea    (%rbx,%rdi,1),%rcx
140a1091a:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140a1091e:	4c 8b c6             	mov    %rsi,%r8
140a10921:	49 89 4e 10          	mov    %rcx,0x10(%r14)
140a10925:	48 8b d5             	mov    %rbp,%rdx
140a10928:	48 8b cb             	mov    %rbx,%rcx
140a1092b:	e8 e0 e6 4c 00       	call   0x140edf010
140a10930:	48 8d 04 33          	lea    (%rbx,%rsi,1),%rax
140a10934:	49 89 46 08          	mov    %rax,0x8(%r14)
140a10938:	eb 44                	jmp    0x140a1097e
140a1093a:	49 8b 7e 08          	mov    0x8(%r14),%rdi
140a1093e:	48 8b d5             	mov    %rbp,%rdx
140a10941:	48 2b f9             	sub    %rcx,%rdi
140a10944:	48 3b f7             	cmp    %rdi,%rsi
140a10947:	76 28                	jbe    0x140a10971
140a10949:	4c 8b c7             	mov    %rdi,%r8
140a1094c:	e8 bf e6 4c 00       	call   0x140edf010
140a10951:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140a10955:	48 8d 14 2f          	lea    (%rdi,%rbp,1),%rdx
140a10959:	48 2b f7             	sub    %rdi,%rsi
140a1095c:	48 8b cb             	mov    %rbx,%rcx
140a1095f:	4c 8b c6             	mov    %rsi,%r8
140a10962:	e8 a9 e6 4c 00       	call   0x140edf010
140a10967:	48 8d 04 1e          	lea    (%rsi,%rbx,1),%rax
140a1096b:	49 89 46 08          	mov    %rax,0x8(%r14)
140a1096f:	eb 0d                	jmp    0x140a1097e
140a10971:	4a 8d 1c 01          	lea    (%rcx,%r8,1),%rbx
140a10975:	e8 96 e6 4c 00       	call   0x140edf010
140a1097a:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140a1097e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a10983:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140a10988:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140a1098d:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140a10992:	48 83 c4 20          	add    $0x20,%rsp
140a10996:	41 5e                	pop    %r14
140a10998:	c3                   	ret
140a10999:	e8 06 98 41 00       	call   0x140e2a1a4
140a1099e:	cc                   	int3
140a1099f:	e8 ec cb 78 ff       	call   0x14019d590
140a109a4:	cc                   	int3
140a109a5:	e8 e6 c7 78 ff       	call   0x14019d190
140a109aa:	cc                   	int3
140a109ab:	cc                   	int3
140a109ac:	cc                   	int3
140a109ad:	cc                   	int3
140a109ae:	cc                   	int3
140a109af:	cc                   	int3
140a109b0:	48 3b ca             	cmp    %rdx,%rcx
140a109b3:	74 30                	je     0x140a109e5
140a109b5:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140a109ba:	57                   	push   %rdi
140a109bb:	48 83 ec 20          	sub    $0x20,%rsp
140a109bf:	48 8b fa             	mov    %rdx,%rdi
140a109c2:	48 8b d9             	mov    %rcx,%rbx
140a109c5:	48 8b 0b             	mov    (%rbx),%rcx
140a109c8:	48 85 c9             	test   %rcx,%rcx
140a109cb:	74 05                	je     0x140a109d2
140a109cd:	e8 72 a7 40 00       	call   0x140e1b144
140a109d2:	48 83 c3 20          	add    $0x20,%rbx
140a109d6:	48 3b df             	cmp    %rdi,%rbx
140a109d9:	75 ea                	jne    0x140a109c5
140a109db:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140a109e0:	48 83 c4 20          	add    $0x20,%rsp
140a109e4:	5f                   	pop    %rdi
140a109e5:	c3                   	ret
140a109e6:	cc                   	int3
140a109e7:	cc                   	int3
140a109e8:	cc                   	int3
140a109e9:	cc                   	int3
140a109ea:	cc                   	int3
140a109eb:	cc                   	int3
140a109ec:	cc                   	int3
140a109ed:	cc                   	int3
140a109ee:	cc                   	int3
140a109ef:	cc                   	int3
140a109f0:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140a109f5:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140a109fa:	53                   	push   %rbx
140a109fb:	56                   	push   %rsi
140a109fc:	57                   	push   %rdi
140a109fd:	41 54                	push   %r12
140a109ff:	41 55                	push   %r13
140a10a01:	41 56                	push   %r14
140a10a03:	41 57                	push   %r15
140a10a05:	48 83 ec 50          	sub    $0x50,%rsp
140a10a09:	0f 29 74 24 40       	movaps %xmm6,0x40(%rsp)
140a10a0e:	4c 8b e2             	mov    %rdx,%r12
140a10a11:	48 8b f1             	mov    %rcx,%rsi
140a10a14:	4c 8b 11             	mov    (%rcx),%r10
140a10a17:	4c 8b ca             	mov    %rdx,%r9
140a10a1a:	4d 2b ca             	sub    %r10,%r9
140a10a1d:	49 bb 67 66 66 66 66 	movabs $0x6666666666666667,%r11
140a10a24:	66 66 66
140a10a27:	49 8b c3             	mov    %r11,%rax
140a10a2a:	49 f7 e9             	imul   %r9
140a10a2d:	4c 8b f2             	mov    %rdx,%r14
140a10a30:	49 c1 fe 04          	sar    $0x4,%r14
140a10a34:	49 8b c6             	mov    %r14,%rax
140a10a37:	48 c1 e8 3f          	shr    $0x3f,%rax
140a10a3b:	4c 03 f0             	add    %rax,%r14
140a10a3e:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140a10a42:	49 2b ca             	sub    %r10,%rcx
140a10a45:	49 8b c3             	mov    %r11,%rax
140a10a48:	48 f7 e9             	imul   %rcx
140a10a4b:	48 c1 fa 04          	sar    $0x4,%rdx
140a10a4f:	48 8b c2             	mov    %rdx,%rax
140a10a52:	48 c1 e8 3f          	shr    $0x3f,%rax
140a10a56:	48 03 d0             	add    %rax,%rdx
140a10a59:	49 b9 66 66 66 66 66 	movabs $0x666666666666666,%r9
140a10a60:	66 66 06
140a10a63:	49 3b d1             	cmp    %r9,%rdx
140a10a66:	0f 84 65 01 00 00    	je     0x140a10bd1
140a10a6c:	4c 8d 6a 01          	lea    0x1(%rdx),%r13