140067720:	49 39 f1             	cmp    %rsi,%r9
140067723:	0f 84 a4 03 00 00    	je     0x140067acd
140067729:	4d 8d 41 f8          	lea    -0x8(%r9),%r8
14006772d:	41 39 41 f8          	cmp    %eax,-0x8(%r9)
140067731:	4d 89 c1             	mov    %r8,%r9
140067734:	76 ea                	jbe    0x140067720
140067736:	49 89 cc             	mov    %rcx,%r12
140067739:	4c 39 c1             	cmp    %r8,%rcx
14006773c:	0f 82 e8 03 00 00    	jb     0x140067b2a
140067742:	4d 8d 6c 24 f8       	lea    -0x8(%r12),%r13
140067747:	4c 39 ee             	cmp    %r13,%rsi
14006774a:	74 07                	je     0x140067753
14006774c:	49 8b 55 00          	mov    0x0(%r13),%rdx
140067750:	48 89 16             	mov    %rdx,(%rsi)
140067753:	49 89 45 00          	mov    %rax,0x0(%r13)
140067757:	4c 39 c1             	cmp    %r8,%rcx
14006775a:	0f 82 9e 04 00 00    	jb     0x140067bfe
140067760:	48 89 f1             	mov    %rsi,%rcx
140067763:	4c 89 ea             	mov    %r13,%rdx
140067766:	e8 25 07 00 00       	call   0x140067e90
14006776b:	89 c5                	mov    %eax,%ebp
14006776d:	4c 89 e1             	mov    %r12,%rcx
140067770:	48 89 fa             	mov    %rdi,%rdx
140067773:	e8 18 07 00 00       	call   0x140067e90
140067778:	84 c0                	test   %al,%al
14006777a:	0f 84 75 04 00 00    	je     0x140067bf5
140067780:	49 89 f4             	mov    %rsi,%r12
140067783:	4c 89 ef             	mov    %r13,%rdi
140067786:	40 84 ed             	test   %bpl,%bpl
140067789:	0f 84 8d fe ff ff    	je     0x14006761c
14006778f:	48 83 c4 28          	add    $0x28,%rsp
140067793:	5b                   	pop    %rbx
140067794:	5d                   	pop    %rbp
140067795:	5f                   	pop    %rdi
140067796:	5e                   	pop    %rsi
140067797:	41 5c                	pop    %r12
140067799:	41 5d                	pop    %r13
14006779b:	41 5e                	pop    %r14
14006779d:	41 5f                	pop    %r15
14006779f:	c3                   	ret
1400677a0:	48 39 fe             	cmp    %rdi,%rsi
1400677a3:	0f 94 c2             	sete   %dl
1400677a6:	48 8d 46 08          	lea    0x8(%rsi),%rax
1400677aa:	48 39 f8             	cmp    %rdi,%rax
1400677ad:	0f 94 c1             	sete   %cl
1400677b0:	08 d1                	or     %dl,%cl
1400677b2:	f6 c3 01             	test   $0x1,%bl
1400677b5:	0f 84 14 03 00 00    	je     0x140067acf
1400677bb:	84 c9                	test   %cl,%cl
1400677bd:	75 d0                	jne    0x14006778f
1400677bf:	b9 08 00 00 00       	mov    $0x8,%ecx
1400677c4:	48 89 f2             	mov    %rsi,%rdx
1400677c7:	eb 13                	jmp    0x1400677dc
1400677c9:	49 01 f0             	add    %rsi,%r8
1400677cc:	49 89 00             	mov    %rax,(%r8)
1400677cf:	48 8d 42 08          	lea    0x8(%rdx),%rax
1400677d3:	48 83 c1 08          	add    $0x8,%rcx
1400677d7:	48 39 f8             	cmp    %rdi,%rax
1400677da:	74 b3                	je     0x14006778f
1400677dc:	49 89 d0             	mov    %rdx,%r8
1400677df:	48 89 c2             	mov    %rax,%rdx
1400677e2:	8b 00                	mov    (%rax),%eax
1400677e4:	41 3b 00             	cmp    (%r8),%eax
1400677e7:	76 e6                	jbe    0x1400677cf
1400677e9:	48 8b 02             	mov    (%rdx),%rax
1400677ec:	49 89 c9             	mov    %rcx,%r9
1400677ef:	90                   	nop
1400677f0:	4e 8b 44 0e f8       	mov    -0x8(%rsi,%r9,1),%r8
1400677f5:	4e 89 04 0e          	mov    %r8,(%rsi,%r9,1)
1400677f9:	49 83 f9 08          	cmp    $0x8,%r9
1400677fd:	0f 84 82 03 00 00    	je     0x140067b85
140067803:	4d 8d 41 f8          	lea    -0x8(%r9),%r8
140067807:	42 39 44 0e f0       	cmp    %eax,-0x10(%rsi,%r9,1)
14006780c:	4d 89 c1             	mov    %r8,%r9
14006780f:	72 df                	jb     0x1400677f0
140067811:	eb b6                	jmp    0x1400677c9
140067813:	44 8b 4c c6 04       	mov    0x4(%rsi,%rax,8),%r9d
140067818:	4c 8b 44 c6 08       	mov    0x8(%rsi,%rax,8),%r8
14006781d:	4c 89 04 c6          	mov    %r8,(%rsi,%rax,8)
140067821:	89 6c c6 08          	mov    %ebp,0x8(%rsi,%rax,8)
140067825:	44 89 4c c6 0c       	mov    %r9d,0xc(%rsi,%rax,8)
14006782a:	44 39 c2             	cmp    %r8d,%edx
14006782d:	0f 83 a0 fe ff ff    	jae    0x1400676d3
140067833:	44 8b 4c c6 fc       	mov    -0x4(%rsi,%rax,8),%r9d
140067838:	4c 89 44 c6 f8       	mov    %r8,-0x8(%rsi,%rax,8)
14006783d:	89 14 c6             	mov    %edx,(%rsi,%rax,8)
140067840:	44 89 4c c6 04       	mov    %r9d,0x4(%rsi,%rax,8)
140067845:	e9 89 fe ff ff       	jmp    0x1400676d3
14006784a:	8b 51 04             	mov    0x4(%rcx),%edx
14006784d:	4c 8b 47 f8          	mov    -0x8(%rdi),%r8
140067851:	4c 89 01             	mov    %r8,(%rcx)
140067854:	44 89 5f f8          	mov    %r11d,-0x8(%rdi)
140067858:	89 57 fc             	mov    %edx,-0x4(%rdi)
14006785b:	8b 16                	mov    (%rsi),%edx
14006785d:	39 11                	cmp    %edx,(%rcx)
14006785f:	0f 86 17 fe ff ff    	jbe    0x14006767c
140067865:	44 8b 46 04          	mov    0x4(%rsi),%r8d
140067869:	4c 8b 09             	mov    (%rcx),%r9
14006786c:	4c 89 0e             	mov    %r9,(%rsi)
14006786f:	89 11                	mov    %edx,(%rcx)
140067871:	44 89 41 04          	mov    %r8d,0x4(%rcx)
140067875:	e9 02 fe ff ff       	jmp    0x14006767c
14006787a:	8b 54 c6 fc          	mov    -0x4(%rsi,%rax,8),%edx
14006787e:	4c 8b 47 f0          	mov    -0x10(%rdi),%r8
140067882:	4c 89 44 c6 f8       	mov    %r8,-0x8(%rsi,%rax,8)
140067887:	44 89 5f f0          	mov    %r11d,-0x10(%rdi)
14006788b:	89 57 f4             	mov    %edx,-0xc(%rdi)
14006788e:	8b 56 08             	mov    0x8(%rsi),%edx
140067891:	39 54 c6 f8          	cmp    %edx,-0x8(%rsi,%rax,8)
140067895:	0f 86 fe fd ff ff    	jbe    0x140067699
14006789b:	44 8b 46 0c          	mov    0xc(%rsi),%r8d
14006789f:	4c 8b 4c c6 f8       	mov    -0x8(%rsi,%rax,8),%r9
1400678a4:	4c 89 4e 08          	mov    %r9,0x8(%rsi)
1400678a8:	89 54 c6 f8          	mov    %edx,-0x8(%rsi,%rax,8)
1400678ac:	44 89 44 c6 fc       	mov    %r8d,-0x4(%rsi,%rax,8)
1400678b1:	e9 e3 fd ff ff       	jmp    0x140067699
1400678b6:	8b 54 c6 0c          	mov    0xc(%rsi,%rax,8),%edx
1400678ba:	4c 8b 47 e8          	mov    -0x18(%rdi),%r8
1400678be:	4c 89 44 c6 08       	mov    %r8,0x8(%rsi,%rax,8)
1400678c3:	44 89 5f e8          	mov    %r11d,-0x18(%rdi)
1400678c7:	89 57 ec             	mov    %edx,-0x14(%rdi)
1400678ca:	8b 56 10             	mov    0x10(%rsi),%edx
1400678cd:	39 54 c6 08          	cmp    %edx,0x8(%rsi,%rax,8)
1400678d1:	0f 86 df fd ff ff    	jbe    0x1400676b6
1400678d7:	44 8b 46 14          	mov    0x14(%rsi),%r8d
1400678db:	4c 8b 4c c6 08       	mov    0x8(%rsi,%rax,8),%r9
1400678e0:	4c 89 4e 10          	mov    %r9,0x10(%rsi)
1400678e4:	89 54 c6 08          	mov    %edx,0x8(%rsi,%rax,8)
1400678e8:	44 89 44 c6 0c       	mov    %r8d,0xc(%rsi,%rax,8)
1400678ed:	e9 c4 fd ff ff       	jmp    0x1400676b6
1400678f2:	44 89 10             	mov    %r10d,(%rax)
1400678f5:	66 44 89 48 04       	mov    %r9w,0x4(%rax)
1400678fa:	44 88 40 06          	mov    %r8b,0x6(%rax)
1400678fe:	88 50 07             	mov    %dl,0x7(%rax)
140067901:	49 8d 44 24 ff       	lea    -0x1(%r12),%rax
140067906:	49 83 fc 02          	cmp    $0x2,%r12
14006790a:	49 89 c4             	mov    %rax,%r12
14006790d:	0f 8e 7c fe ff ff    	jle    0x14006778f
140067913:	48 89 f9             	mov    %rdi,%rcx
140067916:	44 8b 16             	mov    (%rsi),%r10d
140067919:	44 0f b7 4e 04       	movzwl 0x4(%rsi),%r9d
14006791e:	44 8a 46 06          	mov    0x6(%rsi),%r8b
140067922:	8a 56 07             	mov    0x7(%rsi),%dl
140067925:	4d 8d 5c 24 fe       	lea    -0x2(%r12),%r11
14006792a:	49 d1 eb             	shr    $1,%r11
14006792d:	48 89 f7             	mov    %rsi,%rdi
140067930:	45 31 f6             	xor    %r14d,%r14d
140067933:	eb 1b                	jmp    0x140067950
140067935:	49 83 c6 10          	add    $0x10,%r14
140067939:	4c 89 f0             	mov    %r14,%rax
14006793c:	4c 89 fb             	mov    %r15,%rbx
14006793f:	4c 8b 30             	mov    (%rax),%r14
140067942:	4c 89 37             	mov    %r14,(%rdi)
140067945:	48 89 c7             	mov    %rax,%rdi
140067948:	49 89 de             	mov    %rbx,%r14
14006794b:	4c 39 db             	cmp    %r11,%rbx
14006794e:	7f 2d                	jg     0x14006797d
140067950:	4a 8d 04 f7          	lea    (%rdi,%r14,8),%rax
140067954:	48 83 c0 08          	add    $0x8,%rax
140067958:	4a 8d 1c 75 01 00 00 	lea    0x1(,%r14,2),%rbx
14006795f:	00
140067960:	4e 8d 3c 75 02 00 00 	lea    0x2(,%r14,2),%r15
140067967:	00
140067968:	4d 39 e7             	cmp    %r12,%r15
14006796b:	7d d2                	jge    0x14006793f
14006796d:	4e 8d 34 f7          	lea    (%rdi,%r14,8),%r14
140067971:	41 8b 6e 08          	mov    0x8(%r14),%ebp
140067975:	41 3b 6e 10          	cmp    0x10(%r14),%ebp
140067979:	76 c4                	jbe    0x14006793f
14006797b:	eb b8                	jmp    0x140067935
14006797d:	48 8d 79 f8          	lea    -0x8(%rcx),%rdi
140067981:	48 39 f8             	cmp    %rdi,%rax
140067984:	0f 84 68 ff ff ff    	je     0x1400678f2
14006798a:	4c 8b 59 f8          	mov    -0x8(%rcx),%r11
14006798e:	4c 89 18             	mov    %r11,(%rax)
140067991:	44 89 51 f8          	mov    %r10d,-0x8(%rcx)
140067995:	66 44 89 49 fc       	mov    %r9w,-0x4(%rcx)
14006799a:	44 88 41 fe          	mov    %r8b,-0x2(%rcx)
14006799e:	88 51 ff             	mov    %dl,-0x1(%rcx)
1400679a1:	48 89 c1             	mov    %rax,%rcx
1400679a4:	48 29 f1             	sub    %rsi,%rcx
1400679a7:	48 83 c1 08          	add    $0x8,%rcx
1400679ab:	48 c1 f9 03          	sar    $0x3,%rcx
1400679af:	48 83 f9 02          	cmp    $0x2,%rcx
1400679b3:	0f 8c 48 ff ff ff    	jl     0x140067901
1400679b9:	48 83 c1 fe          	add    $0xfffffffffffffffe,%rcx
1400679bd:	48 d1 e9             	shr    $1,%rcx
1400679c0:	8b 14 ce             	mov    (%rsi,%rcx,8),%edx
1400679c3:	3b 10                	cmp    (%rax),%edx
1400679c5:	0f 86 36 ff ff ff    	jbe    0x140067901
1400679cb:	4c 8d 0c ce          	lea    (%rsi,%rcx,8),%r9
1400679cf:	48 8b 10             	mov    (%rax),%rdx
1400679d2:	4d 89 c8             	mov    %r9,%r8
1400679d5:	4d 8b 09             	mov    (%r9),%r9
1400679d8:	4c 89 08             	mov    %r9,(%rax)
1400679db:	48 85 c9             	test   %rcx,%rcx
1400679de:	74 12                	je     0x1400679f2
1400679e0:	48 ff c9             	dec    %rcx
1400679e3:	48 d1 e9             	shr    $1,%rcx
1400679e6:	4c 8d 0c ce          	lea    (%rsi,%rcx,8),%r9
1400679ea:	4c 89 c0             	mov    %r8,%rax
1400679ed:	41 39 11             	cmp    %edx,(%r9)
1400679f0:	77 e0                	ja     0x1400679d2
1400679f2:	49 89 10             	mov    %rdx,(%r8)
1400679f5:	e9 07 ff ff ff       	jmp    0x140067901
1400679fa:	8b 46 f8             	mov    -0x8(%rsi),%eax
1400679fd:	3b 06                	cmp    (%rsi),%eax
1400679ff:	0f 87 e3 fc ff ff    	ja     0x1400676e8
140067a05:	48 8b 06             	mov    (%rsi),%rax
140067a08:	41 39 07             	cmp    %eax,(%r15)
140067a0b:	72 19                	jb     0x140067a26
140067a0d:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140067a11:	49 89 cc             	mov    %rcx,%r12
140067a14:	48 39 f9             	cmp    %rdi,%rcx
140067a17:	73 29                	jae    0x140067a42
140067a19:	49 8d 4c 24 08       	lea    0x8(%r12),%rcx
140067a1e:	41 39 04 24          	cmp    %eax,(%r12)
140067a22:	73 ed                	jae    0x140067a11
140067a24:	eb 1c                	jmp    0x140067a42
140067a26:	48 8d 4e 08          	lea    0x8(%rsi),%rcx
140067a2a:	48 39 f9             	cmp    %rdi,%rcx
140067a2d:	0f 84 9a 00 00 00    	je     0x140067acd
140067a33:	4c 8d 61 08          	lea    0x8(%rcx),%r12
140067a37:	39 01                	cmp    %eax,(%rcx)
140067a39:	4c 89 e1             	mov    %r12,%rcx
140067a3c:	73 ec                	jae    0x140067a2a
140067a3e:	49 83 c4 f8          	add    $0xfffffffffffffff8,%r12
140067a42:	48 89 f9             	mov    %rdi,%rcx
140067a45:	49 39 fc             	cmp    %rdi,%r12
140067a48:	73 14                	jae    0x140067a5e
140067a4a:	48 89 fa             	mov    %rdi,%rdx
140067a4d:	48 39 f2             	cmp    %rsi,%rdx
140067a50:	74 7b                	je     0x140067acd
140067a52:	48 8d 4a f8          	lea    -0x8(%rdx),%rcx
140067a56:	39 42 f8             	cmp    %eax,-0x8(%rdx)
140067a59:	48 89 ca             	mov    %rcx,%rdx
140067a5c:	72 ef                	jb     0x140067a4d
140067a5e:	49 39 cc             	cmp    %rcx,%r12
140067a61:	73 52                	jae    0x140067ab5
140067a63:	41 8b 14 24          	mov    (%r12),%edx
140067a67:	45 8b 44 24 04       	mov    0x4(%r12),%r8d
140067a6c:	4c 8b 09             	mov    (%rcx),%r9
140067a6f:	4d 89 0c 24          	mov    %r9,(%r12)
140067a73:	89 11                	mov    %edx,(%rcx)
140067a75:	44 89 41 04          	mov    %r8d,0x4(%rcx)
140067a79:	49 83 c4 08          	add    $0x8,%r12
140067a7d:	4d 89 e0             	mov    %r12,%r8
140067a80:	49 39 f8             	cmp    %rdi,%r8
140067a83:	74 48                	je     0x140067acd
140067a85:	41 8b 10             	mov    (%r8),%edx
140067a88:	49 83 c0 08          	add    $0x8,%r8
140067a8c:	39 c2                	cmp    %eax,%edx
140067a8e:	73 f0                	jae    0x140067a80
140067a90:	4d 8d 60 f8          	lea    -0x8(%r8),%r12
140067a94:	49 89 c9             	mov    %rcx,%r9
140067a97:	49 39 f1             	cmp    %rsi,%r9
140067a9a:	74 31                	je     0x140067acd
140067a9c:	49 8d 49 f8          	lea    -0x8(%r9),%rcx
140067aa0:	41 39 41 f8          	cmp    %eax,-0x8(%r9)
140067aa4:	49 89 c9             	mov    %rcx,%r9
140067aa7:	72 ee                	jb     0x140067a97
140067aa9:	49 39 cc             	cmp    %rcx,%r12
140067aac:	72 b9                	jb     0x140067a67
140067aae:	49 83 c0 f8          	add    $0xfffffffffffffff8,%r8
140067ab2:	4d 89 c4             	mov    %r8,%r12
140067ab5:	49 8d 4c 24 f8       	lea    -0x8(%r12),%rcx
140067aba:	48 39 ce             	cmp    %rcx,%rsi
140067abd:	74 06                	je     0x140067ac5
140067abf:	48 8b 11             	mov    (%rcx),%rdx
140067ac2:	48 89 16             	mov    %rdx,(%rsi)
140067ac5:	48 89 01             	mov    %rax,(%rcx)
140067ac8:	e9 4f fb ff ff       	jmp    0x14006761c
140067acd:	0f 0b                	ud2
140067acf:	84 c9                	test   %cl,%cl
140067ad1:	0f 85 b8 fc ff ff    	jne    0x14006778f
140067ad7:	ba 08 00 00 00       	mov    $0x8,%edx
140067adc:	31 c9                	xor    %ecx,%ecx
140067ade:	eb 15                	jmp    0x140067af5
140067ae0:	4a 89 14 08          	mov    %rdx,(%rax,%r9,1)
140067ae4:	48 8d 51 08          	lea    0x8(%rcx),%rdx
140067ae8:	48 83 c0 08          	add    $0x8,%rax
140067aec:	48 39 f8             	cmp    %rdi,%rax
140067aef:	0f 84 9a fc ff ff    	je     0x14006778f
140067af5:	49 89 c8             	mov    %rcx,%r8
140067af8:	48 89 d1             	mov    %rdx,%rcx
140067afb:	8b 10                	mov    (%rax),%edx
140067afd:	42 3b 14 06          	cmp    (%rsi,%r8,1),%edx
140067b01:	76 e1                	jbe    0x140067ae4
140067b03:	48 8b 10             	mov    (%rax),%rdx
140067b06:	45 31 c0             	xor    %r8d,%r8d
140067b09:	4e 8b 4c 00 f8       	mov    -0x8(%rax,%r8,1),%r9
140067b0e:	4e 89 0c 00          	mov    %r9,(%rax,%r8,1)
140067b12:	49 89 c9             	mov    %rcx,%r9
140067b15:	4d 01 c1             	add    %r8,%r9
140067b18:	74 b3                	je     0x140067acd
140067b1a:	4d 8d 48 f8          	lea    -0x8(%r8),%r9
140067b1e:	42 39 54 00 f0       	cmp    %edx,-0x10(%rax,%r8,1)
140067b23:	4d 89 c8             	mov    %r9,%r8
140067b26:	72 e1                	jb     0x140067b09
140067b28:	eb b6                	jmp    0x140067ae0
140067b2a:	4d 89 c1             	mov    %r8,%r9
140067b2d:	49 89 ca             	mov    %rcx,%r10
140067b30:	45 8b 5a 04          	mov    0x4(%r10),%r11d
140067b34:	4d 8b 21             	mov    (%r9),%r12
140067b37:	4d 89 22             	mov    %r12,(%r10)
140067b3a:	41 89 11             	mov    %edx,(%r9)
140067b3d:	45 89 59 04          	mov    %r11d,0x4(%r9)
140067b41:	49 83 c2 08          	add    $0x8,%r10
140067b45:	4d 89 d4             	mov    %r10,%r12
140067b48:	49 39 fc             	cmp    %rdi,%r12
140067b4b:	74 80                	je     0x140067acd
140067b4d:	41 8b 14 24          	mov    (%r12),%edx
140067b51:	49 83 c4 08          	add    $0x8,%r12
140067b55:	39 c2                	cmp    %eax,%edx
140067b57:	77 ef                	ja     0x140067b48
140067b59:	4d 8d 54 24 f8       	lea    -0x8(%r12),%r10
140067b5e:	4d 89 cb             	mov    %r9,%r11
140067b61:	49 39 f3             	cmp    %rsi,%r11
140067b64:	0f 84 63 ff ff ff    	je     0x140067acd
140067b6a:	4d 8d 4b f8          	lea    -0x8(%r11),%r9
140067b6e:	41 39 43 f8          	cmp    %eax,-0x8(%r11)
140067b72:	4d 89 cb             	mov    %r9,%r11
140067b75:	76 ea                	jbe    0x140067b61
140067b77:	4d 39 ca             	cmp    %r9,%r10
140067b7a:	72 b4                	jb     0x140067b30
140067b7c:	49 83 c4 f8          	add    $0xfffffffffffffff8,%r12
140067b80:	e9 bd fb ff ff       	jmp    0x140067742
140067b85:	49 89 f0             	mov    %rsi,%r8
140067b88:	e9 3f fc ff ff       	jmp    0x1400677cc
140067b8d:	49 89 f9             	mov    %rdi,%r9
140067b90:	4c 39 c9             	cmp    %r9,%rcx
140067b93:	73 12                	jae    0x140067ba7
140067b95:	4d 8d 41 f8          	lea    -0x8(%r9),%r8
140067b99:	41 39 41 f8          	cmp    %eax,-0x8(%r9)
140067b9d:	4d 89 c1             	mov    %r8,%r9
140067ba0:	76 ee                	jbe    0x140067b90
140067ba2:	e9 8f fb ff ff       	jmp    0x140067736
140067ba7:	4d 89 c8             	mov    %r9,%r8
140067baa:	e9 87 fb ff ff       	jmp    0x140067736
140067baf:	48 39 fe             	cmp    %rdi,%rsi
140067bb2:	0f 84 d7 fb ff ff    	je     0x14006778f
140067bb8:	4d 89 e6             	mov    %r12,%r14
140067bbb:	49 83 c6 fe          	add    $0xfffffffffffffffe,%r14
140067bbf:	49 d1 ee             	shr    $1,%r14
140067bc2:	4a 8d 1c f6          	lea    (%rsi,%r14,8),%rbx
140067bc6:	49 ff c6             	inc    %r14
140067bc9:	48 89 f1             	mov    %rsi,%rcx
140067bcc:	4c 89 e2             	mov    %r12,%rdx
140067bcf:	49 89 d8             	mov    %rbx,%r8
140067bd2:	e8 29 7d 06 00       	call   0x1400cf900