180032616:	4c 89 00             	mov    %r8,(%rax)
180032619:	49 83 60 10 03       	andq   $0x3,0x10(%r8)
18003261e:	49 09 40 10          	or     %rax,0x10(%r8)
180032622:	4f 8b 0c d8          	mov    (%r8,%r11,8),%r9
180032626:	4d 85 c9             	test   %r9,%r9
180032629:	74 1a                	je     0x180032645
18003262b:	49 8b 49 10          	mov    0x10(%r9),%rcx
18003262f:	48 8b c1             	mov    %rcx,%rax
180032632:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032636:	49 3b c0             	cmp    %r8,%rax
180032639:	75 1d                	jne    0x180032658
18003263b:	83 e1 03             	and    $0x3,%ecx
18003263e:	48 0b ca             	or     %rdx,%rcx
180032641:	49 89 49 10          	mov    %rcx,0x10(%r9)
180032645:	4e 89 0c d2          	mov    %r9,(%rdx,%r10,8)
180032649:	4b 89 14 d8          	mov    %rdx,(%r8,%r11,8)
18003264d:	48 83 62 10 03       	andq   $0x3,0x10(%rdx)
180032652:	4c 09 42 10          	or     %r8,0x10(%rdx)
180032656:	c3                   	ret
180032657:	cc                   	int3
180032658:	b9 1d 00 00 00       	mov    $0x1d,%ecx
18003265d:	cd 29                	int    $0x29
18003265f:	cc                   	int3
180032660:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180032665:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18003266a:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
18003266f:	4d 8b 10             	mov    (%r8),%r10
180032672:	48 8b f1             	mov    %rcx,%rsi
180032675:	45 85 c9             	test   %r9d,%r9d
180032678:	75 04                	jne    0x18003267e
18003267a:	4d 8b 50 08          	mov    0x8(%r8),%r10
18003267e:	49 8b 42 10          	mov    0x10(%r10),%rax
180032682:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032686:	49 3b c0             	cmp    %r8,%rax
180032689:	0f 85 0f 01 00 00    	jne    0x18003279e
18003268f:	45 8b d9             	mov    %r9d,%r11d
180032692:	49 83 f3 01          	xor    $0x1,%r11
180032696:	41 8b c9             	mov    %r9d,%ecx
180032699:	4f 39 14 d8          	cmp    %r10,(%r8,%r11,8)
18003269d:	0f 85 fb 00 00 00    	jne    0x18003279e
1800326a3:	4c 39 04 ca          	cmp    %r8,(%rdx,%rcx,8)
1800326a7:	0f 85 f1 00 00 00    	jne    0x18003279e
1800326ad:	49 8b 40 10          	mov    0x10(%r8),%rax
1800326b1:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800326b5:	48 3b c2             	cmp    %rdx,%rax
1800326b8:	0f 85 e0 00 00 00    	jne    0x18003279e
1800326be:	4c 89 14 ca          	mov    %r10,(%rdx,%rcx,8)
1800326c2:	49 83 62 10 03       	andq   $0x3,0x10(%r10)
1800326c7:	49 09 52 10          	or     %rdx,0x10(%r10)
1800326cb:	49 8b 3c ca          	mov    (%r10,%rcx,8),%rdi
1800326cf:	48 85 ff             	test   %rdi,%rdi
1800326d2:	74 1e                	je     0x1800326f2
1800326d4:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
1800326d8:	48 8b c3             	mov    %rbx,%rax
1800326db:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800326df:	49 3b c2             	cmp    %r10,%rax
1800326e2:	0f 85 b6 00 00 00    	jne    0x18003279e
1800326e8:	83 e3 03             	and    $0x3,%ebx
1800326eb:	49 0b d8             	or     %r8,%rbx
1800326ee:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
1800326f2:	4b 89 3c d8          	mov    %rdi,(%r8,%r11,8)
1800326f6:	41 83 f1 01          	xor    $0x1,%r9d
1800326fa:	4d 89 04 ca          	mov    %r8,(%r10,%rcx,8)
1800326fe:	49 83 60 10 03       	andq   $0x3,0x10(%r8)
180032703:	4d 09 50 10          	or     %r10,0x10(%r8)
180032707:	49 8b 42 10          	mov    0x10(%r10),%rax
18003270b:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
18003270f:	48 3b c2             	cmp    %rdx,%rax
180032712:	0f 85 86 00 00 00    	jne    0x18003279e
180032718:	45 8b d9             	mov    %r9d,%r11d
18003271b:	49 83 f1 01          	xor    $0x1,%r9
18003271f:	4e 39 14 ca          	cmp    %r10,(%rdx,%r9,8)
180032723:	75 79                	jne    0x18003279e
180032725:	48 8b 42 10          	mov    0x10(%rdx),%rax
180032729:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
18003272d:	75 0a                	jne    0x180032739
18003272f:	48 39 16             	cmp    %rdx,(%rsi)
180032732:	75 6a                	jne    0x18003279e
180032734:	4c 89 16             	mov    %r10,(%rsi)
180032737:	eb 14                	jmp    0x18003274d
180032739:	48 39 50 08          	cmp    %rdx,0x8(%rax)
18003273d:	75 06                	jne    0x180032745
18003273f:	4c 89 50 08          	mov    %r10,0x8(%rax)
180032743:	eb 08                	jmp    0x18003274d
180032745:	48 39 10             	cmp    %rdx,(%rax)
180032748:	75 54                	jne    0x18003279e
18003274a:	4c 89 10             	mov    %r10,(%rax)
18003274d:	49 83 62 10 03       	andq   $0x3,0x10(%r10)
180032752:	49 09 42 10          	or     %rax,0x10(%r10)
180032756:	4f 8b 04 da          	mov    (%r10,%r11,8),%r8
18003275a:	4d 85 c0             	test   %r8,%r8
18003275d:	74 1a                	je     0x180032779
18003275f:	49 8b 40 10          	mov    0x10(%r8),%rax
180032763:	48 8b c8             	mov    %rax,%rcx
180032766:	48 83 e1 fc          	and    $0xfffffffffffffffc,%rcx
18003276a:	49 3b ca             	cmp    %r10,%rcx
18003276d:	75 2f                	jne    0x18003279e
18003276f:	83 e0 03             	and    $0x3,%eax
180032772:	48 0b c2             	or     %rdx,%rax
180032775:	49 89 40 10          	mov    %rax,0x10(%r8)
180032779:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18003277e:	49 8b c2             	mov    %r10,%rax
180032781:	48 8b 74 24 10       	mov    0x10(%rsp),%rsi
180032786:	48 8b 7c 24 18       	mov    0x18(%rsp),%rdi
18003278b:	4e 89 04 ca          	mov    %r8,(%rdx,%r9,8)
18003278f:	4b 89 14 da          	mov    %rdx,(%r10,%r11,8)
180032793:	48 83 62 10 03       	andq   $0x3,0x10(%rdx)
180032798:	4c 09 52 10          	or     %r10,0x10(%rdx)
18003279c:	c3                   	ret
18003279d:	cc                   	int3
18003279e:	b9 1d 00 00 00       	mov    $0x1d,%ecx
1800327a3:	cd 29                	int    $0x29
1800327a5:	cc                   	int3
1800327a6:	cc                   	int3
1800327a7:	cc                   	int3
1800327a8:	48 8b c4             	mov    %rsp,%rax
1800327ab:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800327af:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800327b3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800327b7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800327bb:	41 54                	push   %r12
1800327bd:	41 56                	push   %r14
1800327bf:	41 57                	push   %r15
1800327c1:	48 83 ec 30          	sub    $0x30,%rsp
1800327c5:	4c 8b 12             	mov    (%rdx),%r10
1800327c8:	4c 8b e1             	mov    %rcx,%r12
1800327cb:	4c 8b 5a 08          	mov    0x8(%rdx),%r11
1800327cf:	4d 85 d2             	test   %r10,%r10
1800327d2:	4d 8b cb             	mov    %r11,%r9
1800327d5:	49 8b c2             	mov    %r10,%rax
1800327d8:	4d 0f 45 ca          	cmovne %r10,%r9
1800327dc:	4c 8b c2             	mov    %rdx,%r8
1800327df:	48 f7 d8             	neg    %rax
1800327e2:	41 bf 01 00 00 00    	mov    $0x1,%r15d
1800327e8:	48 1b c9             	sbb    %rcx,%rcx
1800327eb:	49 85 cb             	test   %rcx,%r11
1800327ee:	0f 84 0a 01 00 00    	je     0x1800328fe
1800327f4:	8a 42 10             	mov    0x10(%rdx),%al
1800327f7:	24 03                	and    $0x3,%al
1800327f9:	3c 03                	cmp    $0x3,%al
1800327fb:	75 28                	jne    0x180032825
1800327fd:	49 8b 42 08          	mov    0x8(%r10),%rax
180032801:	33 db                	xor    %ebx,%ebx
180032803:	49 8b ca             	mov    %r10,%rcx
180032806:	49 8b d2             	mov    %r10,%rdx
180032809:	48 85 c0             	test   %rax,%rax
18003280c:	74 12                	je     0x180032820
18003280e:	41 8b df             	mov    %r15d,%ebx
180032811:	48 8b d1             	mov    %rcx,%rdx
180032814:	48 8b c8             	mov    %rax,%rcx
180032817:	48 8b 40 08          	mov    0x8(%rax),%rax
18003281b:	48 85 c0             	test   %rax,%rax
18003281e:	75 f1                	jne    0x180032811
180032820:	4c 8b 09             	mov    (%rcx),%r9
180032823:	eb 28                	jmp    0x18003284d
180032825:	4d 8b 0b             	mov    (%r11),%r9
180032828:	49 8b cb             	mov    %r11,%rcx
18003282b:	49 8b d3             	mov    %r11,%rdx
18003282e:	41 8b df             	mov    %r15d,%ebx
180032831:	4d 85 c9             	test   %r9,%r9
180032834:	74 13                	je     0x180032849
180032836:	33 db                	xor    %ebx,%ebx
180032838:	49 8b 01             	mov    (%r9),%rax
18003283b:	48 8b d1             	mov    %rcx,%rdx
18003283e:	49 8b c9             	mov    %r9,%rcx
180032841:	4c 8b c8             	mov    %rax,%r9
180032844:	48 85 c0             	test   %rax,%rax
180032847:	75 ef                	jne    0x180032838
180032849:	4c 8b 49 08          	mov    0x8(%rcx),%r9
18003284d:	4c 89 11             	mov    %r10,(%rcx)
180032850:	4c 89 59 08          	mov    %r11,0x8(%rcx)
180032854:	49 8b 7a 10          	mov    0x10(%r10),%rdi
180032858:	48 8b c7             	mov    %rdi,%rax
18003285b:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
18003285f:	49 3b c0             	cmp    %r8,%rax
180032862:	0f 85 d4 00 00 00    	jne    0x18003293c
180032868:	83 e7 03             	and    $0x3,%edi
18003286b:	48 0b f9             	or     %rcx,%rdi
18003286e:	49 89 7a 10          	mov    %rdi,0x10(%r10)
180032872:	4d 8b 53 10          	mov    0x10(%r11),%r10
180032876:	49 8b c2             	mov    %r10,%rax
180032879:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
18003287d:	49 3b c0             	cmp    %r8,%rax
180032880:	0f 85 b6 00 00 00    	jne    0x18003293c
180032886:	41 83 e2 03          	and    $0x3,%r10d
18003288a:	4c 0b d1             	or     %rcx,%r10
18003288d:	4d 89 53 10          	mov    %r10,0x10(%r11)
180032891:	48 8b 41 10          	mov    0x10(%rcx),%rax
180032895:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
180032899:	48 3b c2             	cmp    %rdx,%rax
18003289c:	0f 85 9a 00 00 00    	jne    0x18003293c
1800328a2:	8b c3                	mov    %ebx,%eax
1800328a4:	4c 89 0c c2          	mov    %r9,(%rdx,%rax,8)
1800328a8:	4d 85 c9             	test   %r9,%r9
1800328ab:	74 0e                	je     0x1800328bb
1800328ad:	49 39 49 10          	cmp    %rcx,0x10(%r9)
1800328b1:	0f 85 85 00 00 00    	jne    0x18003293c
1800328b7:	49 89 51 10          	mov    %rdx,0x10(%r9)
1800328bb:	49 8b 40 10          	mov    0x10(%r8),%rax
1800328bf:	f7 db                	neg    %ebx
1800328c1:	48 89 41 10          	mov    %rax,0x10(%rcx)
1800328c5:	49 8b 40 10          	mov    0x10(%r8),%rax
1800328c9:	1a db                	sbb    %bl,%bl
1800328cb:	80 e3 02             	and    $0x2,%bl
1800328ce:	41 02 df             	add    %r15b,%bl
1800328d1:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
1800328d5:	75 0c                	jne    0x1800328e3
1800328d7:	4d 39 04 24          	cmp    %r8,(%r12)
1800328db:	75 5f                	jne    0x18003293c
1800328dd:	49 89 0c 24          	mov    %rcx,(%r12)
1800328e1:	eb 66                	jmp    0x180032949
1800328e3:	45 33 c9             	xor    %r9d,%r9d
1800328e6:	4c 39 40 08          	cmp    %r8,0x8(%rax)
1800328ea:	45 8d 51 08          	lea    0x8(%r9),%r10d
1800328ee:	45 0f 44 ca          	cmove  %r10d,%r9d
1800328f2:	4d 39 04 01          	cmp    %r8,(%r9,%rax,1)
1800328f6:	75 44                	jne    0x18003293c
1800328f8:	49 89 0c 01          	mov    %rcx,(%r9,%rax,1)
1800328fc:	eb 4b                	jmp    0x180032949
1800328fe:	48 8b 52 10          	mov    0x10(%rdx),%rdx
180032902:	48 83 e2 fc          	and    $0xfffffffffffffffc,%rdx
180032906:	4d 85 c9             	test   %r9,%r9
180032909:	74 0a                	je     0x180032915
18003290b:	4d 39 41 10          	cmp    %r8,0x10(%r9)
18003290f:	75 2b                	jne    0x18003293c
180032911:	49 89 51 10          	mov    %rdx,0x10(%r9)
180032915:	48 85 d2             	test   %rdx,%rdx
180032918:	75 0f                	jne    0x180032929
18003291a:	4d 39 04 24          	cmp    %r8,(%r12)
18003291e:	75 1c                	jne    0x18003293c
180032920:	4d 89 0c 24          	mov    %r9,(%r12)
180032924:	e9 2c 01 00 00       	jmp    0x180032a55
180032929:	4c 39 42 08          	cmp    %r8,0x8(%rdx)
18003292d:	75 08                	jne    0x180032937
18003292f:	b3 03                	mov    $0x3,%bl
180032931:	4c 89 4a 08          	mov    %r9,0x8(%rdx)
180032935:	eb 12                	jmp    0x180032949
180032937:	4c 39 02             	cmp    %r8,(%rdx)
18003293a:	74 07                	je     0x180032943
18003293c:	b9 1d 00 00 00       	mov    $0x1d,%ecx
180032941:	cd 29                	int    $0x29
180032943:	41 8a df             	mov    %r15b,%bl
180032946:	4c 89 0a             	mov    %r9,(%rdx)
180032949:	41 b2 fc             	mov    $0xfc,%r10b
18003294c:	48 8d 7a 10          	lea    0x10(%rdx),%rdi
180032950:	8a cb                	mov    %bl,%cl
180032952:	8a 07                	mov    (%rdi),%al
180032954:	80 f1 02             	xor    $0x2,%cl
180032957:	40 8a f0             	mov    %al,%sil
18003295a:	40 80 e6 03          	and    $0x3,%sil
18003295e:	40 3a f1             	cmp    %cl,%sil
180032961:	75 0d                	jne    0x180032970
180032963:	41 22 c2             	and    %r10b,%al
180032966:	88 07                	mov    %al,(%rdi)
180032968:	4c 8b 37             	mov    (%rdi),%r14
18003296b:	e9 b5 00 00 00       	jmp    0x180032a25
180032970:	40 84 f6             	test   %sil,%sil
180032973:	0f 84 d4 00 00 00    	je     0x180032a4d
180032979:	4c 8b 37             	mov    (%rdi),%r14
18003297c:	48 8b 2a             	mov    (%rdx),%rbp
18003297f:	41 3a df             	cmp    %r15b,%bl
180032982:	75 04                	jne    0x180032988
180032984:	48 8b 6a 08          	mov    0x8(%rdx),%rbp
180032988:	44 8a 7d 10          	mov    0x10(%rbp),%r15b
18003298c:	45 33 c9             	xor    %r9d,%r9d
18003298f:	41 80 e7 03          	and    $0x3,%r15b
180032993:	4c 8b c5             	mov    %rbp,%r8
180032996:	44 3a f9             	cmp    %cl,%r15b
180032999:	49 8b cc             	mov    %r12,%rcx
18003299c:	75 5e                	jne    0x1800329fc
18003299e:	45 8d 79 01          	lea    0x1(%r9),%r15d
1800329a2:	41 3a df             	cmp    %r15b,%bl
1800329a5:	41 0f 94 c1          	sete   %r9b
1800329a9:	e8 b2 fc ff ff       	call   0x180032660
1800329ae:	41 b2 fc             	mov    $0xfc,%r10b
1800329b1:	44 0f b6 ce          	movzbl %sil,%r9d
1800329b5:	44 20 17             	and    %r10b,(%rdi)
1800329b8:	48 8b d0             	mov    %rax,%rdx
1800329bb:	44 8a 45 10          	mov    0x10(%rbp),%r8b
1800329bf:	45 22 c2             	and    %r10b,%r8b
1800329c2:	44 88 45 10          	mov    %r8b,0x10(%rbp)
1800329c6:	0f b6 48 10          	movzbl 0x10(%rax),%ecx
1800329ca:	8b c1                	mov    %ecx,%eax
1800329cc:	83 e0 03             	and    $0x3,%eax
1800329cf:	44 3b c8             	cmp    %eax,%r9d
1800329d2:	75 10                	jne    0x1800329e4
1800329d4:	44 20 17             	and    %r10b,(%rdi)
1800329d7:	40 80 f6 fe          	xor    $0xfe,%sil
1800329db:	40 80 e6 03          	and    $0x3,%sil
1800329df:	40 08 37             	or     %sil,(%rdi)
1800329e2:	eb 12                	jmp    0x1800329f6
1800329e4:	83 f1 fe             	xor    $0xfffffffe,%ecx
1800329e7:	83 e1 03             	and    $0x3,%ecx
1800329ea:	44 3b c9             	cmp    %ecx,%r9d
1800329ed:	75 07                	jne    0x1800329f6
1800329ef:	44 0a c6             	or     %sil,%r8b
1800329f2:	44 88 45 10          	mov    %r8b,0x10(%rbp)
1800329f6:	44 20 52 10          	and    %r10b,0x10(%rdx)
1800329fa:	eb 29                	jmp    0x180032a25
1800329fc:	80 fb 01             	cmp    $0x1,%bl
1800329ff:	41 0f 95 c1          	setne  %r9b
180032a03:	e8 cc fb ff ff       	call   0x1800325d4
180032a08:	8a 55 10             	mov    0x10(%rbp),%dl
180032a0b:	41 b2 fc             	mov    $0xfc,%r10b
180032a0e:	41 22 d2             	and    %r10b,%dl
180032a11:	45 84 ff             	test   %r15b,%r15b
180032a14:	74 2a                	je     0x180032a40
180032a16:	88 55 10             	mov    %dl,0x10(%rbp)
180032a19:	41 bf 01 00 00 00    	mov    $0x1,%r15d
180032a1f:	44 20 17             	and    %r10b,(%rdi)
180032a22:	48 8b d5             	mov    %rbp,%rdx
180032a25:	49 83 e6 fc          	and    $0xfffffffffffffffc,%r14
180032a29:	74 2a                	je     0x180032a55
180032a2b:	49 39 56 08          	cmp    %rdx,0x8(%r14)
180032a2f:	bb 03 00 00 00       	mov    $0x3,%ebx
180032a34:	49 8b d6             	mov    %r14,%rdx
180032a37:	41 0f 45 df          	cmovne %r15d,%ebx
180032a3b:	e9 0c ff ff ff       	jmp    0x18003294c
180032a40:	80 f3 fe             	xor    $0xfe,%bl
180032a43:	80 e3 03             	and    $0x3,%bl
180032a46:	0a da                	or     %dl,%bl
180032a48:	88 5d 10             	mov    %bl,0x10(%rbp)
180032a4b:	eb 08                	jmp    0x180032a55
180032a4d:	41 22 c2             	and    %r10b,%al
180032a50:	0a c3                	or     %bl,%al
180032a52:	88 42 10             	mov    %al,0x10(%rdx)
180032a55:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
180032a5a:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180032a5f:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180032a64:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
180032a69:	48 83 c4 30          	add    $0x30,%rsp
180032a6d:	41 5f                	pop    %r15
180032a6f:	41 5e                	pop    %r14
180032a71:	41 5c                	pop    %r12
180032a73:	c3                   	ret
180032a74:	cc                   	int3
180032a75:	cc                   	int3
180032a76:	cc                   	int3
180032a77:	cc                   	int3
180032a78:	48 8b c4             	mov    %rsp,%rax
180032a7b:	48 89 58 08          	mov    %rbx,0x8(%rax)
180032a7f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180032a83:	48 89 70 18          	mov    %rsi,0x18(%rax)
180032a87:	48 89 78 20          	mov    %rdi,0x20(%rax)
180032a8b:	41 57                	push   %r15
180032a8d:	49 83 21 00          	andq   $0x0,(%r9)
180032a91:	4c 8b d9             	mov    %rcx,%r11
180032a94:	49 83 61 08 00       	andq   $0x0,0x8(%r9)
180032a99:	41 bf 01 00 00 00    	mov    $0x1,%r15d
180032a9f:	8a 49 08             	mov    0x8(%rcx),%cl