140016701:	48 8b c7             	mov    %rdi,%rax
140016704:	e9 70 fe ff ff       	jmp    0x140016579
140016709:	cc                   	int3
14001670a:	90                   	nop
14001670b:	90                   	nop
14001670c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140016711:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140016716:	57                   	push   %rdi
140016717:	48 83 ec 20          	sub    $0x20,%rsp
14001671b:	48 8b fa             	mov    %rdx,%rdi
14001671e:	48 8b d9             	mov    %rcx,%rbx
140016721:	0f 57 c0             	xorps  %xmm0,%xmm0
140016724:	0f 11 01             	movups %xmm0,(%rcx)
140016727:	33 f6                	xor    %esi,%esi
140016729:	48 89 71 10          	mov    %rsi,0x10(%rcx)
14001672d:	48 c7 41 18 07 00 00 	movq   $0x7,0x18(%rcx)
140016734:	00
140016735:	66 89 31             	mov    %si,(%rcx)
140016738:	48 85 d2             	test   %rdx,%rdx
14001673b:	74 4e                	je     0x14001678b
14001673d:	8a 02                	mov    (%rdx),%al
14001673f:	eb 46                	jmp    0x140016787
140016741:	44 0f b6 c8          	movzbl %al,%r9d
140016745:	48 ff c7             	inc    %rdi
140016748:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
14001674c:	48 3b 4b 18          	cmp    0x18(%rbx),%rcx
140016750:	73 21                	jae    0x140016773
140016752:	48 8d 41 01          	lea    0x1(%rcx),%rax
140016756:	48 89 43 10          	mov    %rax,0x10(%rbx)
14001675a:	48 8b c3             	mov    %rbx,%rax
14001675d:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140016762:	76 03                	jbe    0x140016767
140016764:	48 8b 03             	mov    (%rbx),%rax
140016767:	66 44 89 0c 48       	mov    %r9w,(%rax,%rcx,2)
14001676c:	66 89 74 48 02       	mov    %si,0x2(%rax,%rcx,2)
140016771:	eb 12                	jmp    0x140016785
140016773:	44 8a 44 24 30       	mov    0x30(%rsp),%r8b
140016778:	ba 01 00 00 00       	mov    $0x1,%edx
14001677d:	48 8b cb             	mov    %rbx,%rcx
140016780:	e8 ab d5 ff ff       	call   0x140013d30
140016785:	8a 07                	mov    (%rdi),%al
140016787:	84 c0                	test   %al,%al
140016789:	75 b6                	jne    0x140016741
14001678b:	48 8b c3             	mov    %rbx,%rax
14001678e:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140016793:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140016798:	48 83 c4 20          	add    $0x20,%rsp
14001679c:	5f                   	pop    %rdi
14001679d:	c3                   	ret
14001679e:	90                   	nop
14001679f:	90                   	nop
1400167a0:	0f b7 41 18          	movzwl 0x18(%rcx),%eax
1400167a4:	c3                   	ret
1400167a5:	90                   	nop
1400167a6:	90                   	nop
1400167a7:	90                   	nop
1400167a8:	90                   	nop
1400167a9:	90                   	nop
1400167aa:	90                   	nop
1400167ab:	90                   	nop
1400167ac:	90                   	nop
1400167ad:	90                   	nop
1400167ae:	90                   	nop
1400167af:	90                   	nop
1400167b0:	48 8b 02             	mov    (%rdx),%rax
1400167b3:	4c 8b c2             	mov    %rdx,%r8
1400167b6:	48 8b d1             	mov    %rcx,%rdx
1400167b9:	49 8b c8             	mov    %r8,%rcx
1400167bc:	48 8b 80 a0 00 00 00 	mov    0xa0(%rax),%rax
1400167c3:	48 ff 25 ce dd 01 00 	rex.W jmp *0x1ddce(%rip)        # 0x140034598
1400167ca:	90                   	nop
1400167cb:	90                   	nop
1400167cc:	40 53                	rex push %rbx
1400167ce:	48 83 ec 20          	sub    $0x20,%rsp
1400167d2:	48 8b 59 08          	mov    0x8(%rcx),%rbx
1400167d6:	e8 3b 99 01 00       	call   0x140030116
1400167db:	33 c9                	xor    %ecx,%ecx
1400167dd:	85 c0                	test   %eax,%eax
1400167df:	75 0f                	jne    0x1400167f0
1400167e1:	48 b8 cc cc cc cc cc 	movabs $0xcccccccccccccccc,%rax
1400167e8:	cc cc cc
1400167eb:	48 3b d8             	cmp    %rax,%rbx
1400167ee:	74 02                	je     0x1400167f2
1400167f0:	b1 01                	mov    $0x1,%cl
1400167f2:	8a c1                	mov    %cl,%al
1400167f4:	48 83 c4 20          	add    $0x20,%rsp
1400167f8:	5b                   	pop    %rbx
1400167f9:	c3                   	ret
1400167fa:	90                   	nop
1400167fb:	90                   	nop
1400167fc:	90                   	nop
1400167fd:	90                   	nop
1400167fe:	90                   	nop
1400167ff:	90                   	nop
140016800:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016805:	57                   	push   %rdi
140016806:	48 83 ec 20          	sub    $0x20,%rsp
14001680a:	48 8b 41 48          	mov    0x48(%rcx),%rax
14001680e:	48 8b d9             	mov    %rcx,%rbx
140016811:	48 83 f8 07          	cmp    $0x7,%rax
140016815:	76 2e                	jbe    0x140016845
140016817:	48 8b 49 30          	mov    0x30(%rcx),%rcx
14001681b:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
140016822:	00
140016823:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140016829:	72 14                	jb     0x14001683f
14001682b:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
14001682f:	48 2b ca             	sub    %rdx,%rcx
140016832:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140016836:	48 83 f8 1f          	cmp    $0x1f,%rax
14001683a:	77 6e                	ja     0x1400168aa
14001683c:	48 8b ca             	mov    %rdx,%rcx
14001683f:	ff 15 c3 dc 01 00    	call   *0x1dcc3(%rip)        # 0x140034508
140016845:	33 ff                	xor    %edi,%edi
140016847:	48 c7 43 48 07 00 00 	movq   $0x7,0x48(%rbx)
14001684e:	00
14001684f:	48 89 7b 40          	mov    %rdi,0x40(%rbx)
140016853:	66 89 7b 30          	mov    %di,0x30(%rbx)
140016857:	48 8b 43 28          	mov    0x28(%rbx),%rax
14001685b:	48 83 f8 07          	cmp    $0x7,%rax
14001685f:	76 2e                	jbe    0x14001688f
140016861:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140016865:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
14001686c:	00
14001686d:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140016873:	72 14                	jb     0x140016889
140016875:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140016879:	48 2b ca             	sub    %rdx,%rcx
14001687c:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
140016880:	48 83 f8 1f          	cmp    $0x1f,%rax
140016884:	77 24                	ja     0x1400168aa
140016886:	48 8b ca             	mov    %rdx,%rcx
140016889:	ff 15 79 dc 01 00    	call   *0x1dc79(%rip)        # 0x140034508
14001688f:	48 89 7b 20          	mov    %rdi,0x20(%rbx)
140016893:	48 c7 43 28 07 00 00 	movq   $0x7,0x28(%rbx)
14001689a:	00
14001689b:	66 89 7b 10          	mov    %di,0x10(%rbx)
14001689f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400168a4:	48 83 c4 20          	add    $0x20,%rsp
1400168a8:	5f                   	pop    %rdi
1400168a9:	c3                   	ret
1400168aa:	ff 15 f0 db 01 00    	call   *0x1dbf0(%rip)        # 0x1400344a0
1400168b0:	cc                   	int3
1400168b1:	90                   	nop
1400168b2:	90                   	nop
1400168b3:	90                   	nop
1400168b4:	41 b8 04 00 00 00    	mov    $0x4,%r8d
1400168ba:	e9 a9 93 01 00       	jmp    0x14002fc68
1400168bf:	90                   	nop
1400168c0:	48 83 ec 28          	sub    $0x28,%rsp
1400168c4:	49 83 f8 19          	cmp    $0x19,%r8
1400168c8:	73 0a                	jae    0x1400168d4
1400168ca:	b8 57 00 07 80       	mov    $0x80070057,%eax
1400168cf:	48 83 c4 28          	add    $0x28,%rsp
1400168d3:	c3                   	ret
1400168d4:	41 b9 04 00 00 00    	mov    $0x4,%r9d
1400168da:	e8 9b 93 01 00       	call   0x14002fc7a
1400168df:	48 83 c4 28          	add    $0x28,%rsp
1400168e3:	c3                   	ret
1400168e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400168e9:	57                   	push   %rdi
1400168ea:	48 83 ec 20          	sub    $0x20,%rsp
1400168ee:	48 8b 41 30          	mov    0x30(%rcx),%rax
1400168f2:	8b fa                	mov    %edx,%edi
1400168f4:	48 8b d9             	mov    %rcx,%rbx
1400168f7:	48 83 f8 07          	cmp    $0x7,%rax
1400168fb:	76 2e                	jbe    0x14001692b
1400168fd:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140016901:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
140016908:	00
140016909:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14001690f:	72 14                	jb     0x140016925
140016911:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140016915:	48 2b ca             	sub    %rdx,%rcx
140016918:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14001691c:	48 83 f8 1f          	cmp    $0x1f,%rax
140016920:	77 37                	ja     0x140016959
140016922:	48 8b ca             	mov    %rdx,%rcx
140016925:	ff 15 dd db 01 00    	call   *0x1dbdd(%rip)        # 0x140034508
14001692b:	33 c0                	xor    %eax,%eax
14001692d:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
140016934:	00
140016935:	48 89 43 28          	mov    %rax,0x28(%rbx)
140016939:	66 89 43 18          	mov    %ax,0x18(%rbx)
14001693d:	40 f6 c7 01          	test   $0x1,%dil
140016941:	74 08                	je     0x14001694b
140016943:	48 8b cb             	mov    %rbx,%rcx
140016946:	e8 3d 59 ff ff       	call   0x14000c288
14001694b:	48 8b c3             	mov    %rbx,%rax
14001694e:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140016953:	48 83 c4 20          	add    $0x20,%rsp
140016957:	5f                   	pop    %rdi
140016958:	c3                   	ret
140016959:	ff 15 41 db 01 00    	call   *0x1db41(%rip)        # 0x1400344a0
14001695f:	cc                   	int3
140016960:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016965:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14001696a:	57                   	push   %rdi
14001696b:	48 83 ec 20          	sub    $0x20,%rsp
14001696f:	48 8b 39             	mov    (%rcx),%rdi
140016972:	48 8b d9             	mov    %rcx,%rbx
140016975:	48 85 ff             	test   %rdi,%rdi
140016978:	74 75                	je     0x1400169ef
14001697a:	48 8b 71 08          	mov    0x8(%rcx),%rsi
14001697e:	eb 0e                	jmp    0x14001698e
140016980:	33 d2                	xor    %edx,%edx
140016982:	48 8b cf             	mov    %rdi,%rcx
140016985:	e8 5a ff ff ff       	call   0x1400168e4
14001698a:	48 83 c7 38          	add    $0x38,%rdi
14001698e:	48 3b fe             	cmp    %rsi,%rdi
140016991:	75 ed                	jne    0x140016980
140016993:	4c 8b 03             	mov    (%rbx),%r8
140016996:	48 b8 25 49 92 24 49 	movabs $0x4924924924924925,%rax
14001699d:	92 24 49
1400169a0:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
1400169a4:	49 2b c8             	sub    %r8,%rcx
1400169a7:	48 f7 e9             	imul   %rcx
1400169aa:	48 c1 fa 04          	sar    $0x4,%rdx
1400169ae:	48 8b c2             	mov    %rdx,%rax
1400169b1:	48 c1 e8 3f          	shr    $0x3f,%rax
1400169b5:	48 03 d0             	add    %rax,%rdx
1400169b8:	48 6b c2 38          	imul   $0x38,%rdx,%rax
1400169bc:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1400169c2:	72 14                	jb     0x1400169d8
1400169c4:	49 8b 48 f8          	mov    -0x8(%r8),%rcx
1400169c8:	4c 2b c1             	sub    %rcx,%r8
1400169cb:	49 8d 40 f8          	lea    -0x8(%r8),%rax
1400169cf:	48 83 f8 1f          	cmp    $0x1f,%rax
1400169d3:	77 2a                	ja     0x1400169ff
1400169d5:	4c 8b c1             	mov    %rcx,%r8
1400169d8:	49 8b c8             	mov    %r8,%rcx
1400169db:	ff 15 27 db 01 00    	call   *0x1db27(%rip)        # 0x140034508
1400169e1:	48 83 23 00          	andq   $0x0,(%rbx)
1400169e5:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
1400169ea:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
1400169ef:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400169f4:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400169f9:	48 83 c4 20          	add    $0x20,%rsp
1400169fd:	5f                   	pop    %rdi
1400169fe:	c3                   	ret
1400169ff:	ff 15 9b da 01 00    	call   *0x1da9b(%rip)        # 0x1400344a0
140016a05:	cc                   	int3
140016a06:	90                   	nop
140016a07:	90                   	nop
140016a08:	48 3b ca             	cmp    %rdx,%rcx
140016a0b:	74 2d                	je     0x140016a3a
140016a0d:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016a12:	57                   	push   %rdi
140016a13:	48 83 ec 20          	sub    $0x20,%rsp
140016a17:	48 8b fa             	mov    %rdx,%rdi
140016a1a:	48 8b d9             	mov    %rcx,%rbx
140016a1d:	33 d2                	xor    %edx,%edx
140016a1f:	48 8b cb             	mov    %rbx,%rcx
140016a22:	e8 bd fe ff ff       	call   0x1400168e4
140016a27:	48 83 c3 38          	add    $0x38,%rbx
140016a2b:	48 3b df             	cmp    %rdi,%rbx
140016a2e:	75 ed                	jne    0x140016a1d
140016a30:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140016a35:	48 83 c4 20          	add    $0x20,%rsp
140016a39:	5f                   	pop    %rdi
140016a3a:	c3                   	ret
140016a3b:	90                   	nop
140016a3c:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140016a41:	53                   	push   %rbx
140016a42:	56                   	push   %rsi
140016a43:	57                   	push   %rdi
140016a44:	41 54                	push   %r12
140016a46:	41 55                	push   %r13
140016a48:	41 56                	push   %r14
140016a4a:	41 57                	push   %r15
140016a4c:	48 83 ec 60          	sub    $0x60,%rsp
140016a50:	4d 8b c8             	mov    %r8,%r9
140016a53:	4c 8b e2             	mov    %rdx,%r12
140016a56:	4c 8b f9             	mov    %rcx,%r15
140016a59:	48 89 8c 24 a8 00 00 	mov    %rcx,0xa8(%rsp)
140016a60:	00
140016a61:	48 2b 11             	sub    (%rcx),%rdx
140016a64:	49 bb 25 49 92 24 49 	movabs $0x4924924924924925,%r11
140016a6b:	92 24 49
140016a6e:	49 8b c3             	mov    %r11,%rax
140016a71:	48 f7 ea             	imul   %rdx
140016a74:	48 8b fa             	mov    %rdx,%rdi
140016a77:	48 c1 ff 04          	sar    $0x4,%rdi
140016a7b:	48 8b c7             	mov    %rdi,%rax
140016a7e:	48 c1 e8 3f          	shr    $0x3f,%rax
140016a82:	48 03 f8             	add    %rax,%rdi
140016a85:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140016a89:	49 2b 0f             	sub    (%r15),%rcx
140016a8c:	49 8b c3             	mov    %r11,%rax
140016a8f:	48 f7 e9             	imul   %rcx
140016a92:	48 c1 fa 04          	sar    $0x4,%rdx
140016a96:	48 8b c2             	mov    %rdx,%rax
140016a99:	48 c1 e8 3f          	shr    $0x3f,%rax
140016a9d:	48 03 d0             	add    %rax,%rdx
140016aa0:	49 ba 92 24 49 92 24 	movabs $0x492492492492492,%r10
140016aa7:	49 92 04
140016aaa:	49 3b d2             	cmp    %r10,%rdx
140016aad:	0f 84 9a 01 00 00    	je     0x140016c4d
140016ab3:	4c 8d 42 01          	lea    0x1(%rdx),%r8
140016ab7:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140016abc:	49 8b 4f 10          	mov    0x10(%r15),%rcx
140016ac0:	49 2b 0f             	sub    (%r15),%rcx
140016ac3:	49 8b c3             	mov    %r11,%rax
140016ac6:	48 f7 e9             	imul   %rcx
140016ac9:	48 c1 fa 04          	sar    $0x4,%rdx
140016acd:	48 8b c2             	mov    %rdx,%rax
140016ad0:	48 c1 e8 3f          	shr    $0x3f,%rax
140016ad4:	48 03 d0             	add    %rax,%rdx
140016ad7:	48 8b ca             	mov    %rdx,%rcx
140016ada:	48 d1 e9             	shr    $1,%rcx
140016add:	49 8b c2             	mov    %r10,%rax
140016ae0:	48 2b c1             	sub    %rcx,%rax
140016ae3:	48 3b d0             	cmp    %rax,%rdx
140016ae6:	76 05                	jbe    0x140016aed
140016ae8:	4d 8b f2             	mov    %r10,%r14
140016aeb:	eb 0b                	jmp    0x140016af8
140016aed:	4c 8d 34 11          	lea    (%rcx,%rdx,1),%r14
140016af1:	4d 3b f0             	cmp    %r8,%r14
140016af4:	4d 0f 42 f0          	cmovb  %r8,%r14
140016af8:	4c 89 74 24 38       	mov    %r14,0x38(%rsp)
140016afd:	4d 3b f2             	cmp    %r10,%r14
140016b00:	0f 87 4d 01 00 00    	ja     0x140016c53
140016b06:	49 6b ce 38          	imul   $0x38,%r14,%rcx
140016b0a:	33 db                	xor    %ebx,%ebx
140016b0c:	48 85 c9             	test   %rcx,%rcx
140016b0f:	74 1d                	je     0x140016b2e
140016b11:	48 81 f9 00 10 00 00 	cmp    $0x1000,%rcx
140016b18:	0f 82 92 00 00 00    	jb     0x140016bb0
140016b1e:	e8 e9 26 ff ff       	call   0x14000920c
140016b23:	4c 8b 8c 24 b0 00 00 	mov    0xb0(%rsp),%r9
140016b2a:	00
140016b2b:	48 8b d8             	mov    %rax,%rbx
140016b2e:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140016b33:	4c 6b ef 38          	imul   $0x38,%rdi,%r13
140016b37:	4c 03 eb             	add    %rbx,%r13
140016b3a:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140016b3f:	49 8d 75 38          	lea    0x38(%r13),%rsi
140016b43:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140016b48:	48 89 b4 24 a0 00 00 	mov    %rsi,0xa0(%rsp)
140016b4f:	00
140016b50:	49 8b d1             	mov    %r9,%rdx
140016b53:	49 8b cd             	mov    %r13,%rcx
140016b56:	e8 05 01 00 00       	call   0x140016c60
140016b5b:	4c 89 ac 24 a0 00 00 	mov    %r13,0xa0(%rsp)
140016b62:	00
140016b63:	49 8b 47 08          	mov    0x8(%r15),%rax
140016b67:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
140016b6e:	00
140016b6f:	49 8b 3f             	mov    (%r15),%rdi
140016b72:	48 89 5c 24 48       	mov    %rbx,0x48(%rsp)