18000776b:	85 d2                	test   %edx,%edx
18000776d:	74 09                	je     0x180007778
18000776f:	45 8b 46 68          	mov    0x68(%r14),%r8d
180007773:	e8 74 86 07 00       	call   0x18007fdec
180007778:	49 8b ce             	mov    %r14,%rcx
18000777b:	e8 58 09 08 00       	call   0x1800880d8
180007780:	4c 8b 33             	mov    (%rbx),%r14
180007783:	49 39 5e 08          	cmp    %rbx,0x8(%r14)
180007787:	0f 85 17 01 00 00    	jne    0x1800078a4
18000778d:	48 8b 43 08          	mov    0x8(%rbx),%rax
180007791:	48 39 18             	cmp    %rbx,(%rax)
180007794:	0f 85 0a 01 00 00    	jne    0x1800078a4
18000779a:	4c 89 30             	mov    %r14,(%rax)
18000779d:	48 8b cb             	mov    %rbx,%rcx
1800077a0:	49 89 46 08          	mov    %rax,0x8(%r14)
1800077a4:	e8 53 28 09 00       	call   0x180099ffc
1800077a9:	49 8b de             	mov    %r14,%rbx
1800077ac:	4d 3b f5             	cmp    %r13,%r14
1800077af:	75 89                	jne    0x18000773a
1800077b1:	44 8b 6c 24 70       	mov    0x70(%rsp),%r13d
1800077b6:	45 33 f6             	xor    %r14d,%r14d
1800077b9:	4c 8b bd 80 00 00 00 	mov    0x80(%rbp),%r15
1800077c0:	41 8b de             	mov    %r14d,%ebx
1800077c3:	4c 8d 35 0e da 19 00 	lea    0x19da0e(%rip),%r14        # 0x1801a51d8
1800077ca:	41 8b 06             	mov    (%r14),%eax
1800077cd:	48 8d 15 ec d9 19 00 	lea    0x19d9ec(%rip),%rdx        # 0x1801a51c0
1800077d4:	44 88 6c 24 30       	mov    %r13b,0x30(%rsp)
1800077d9:	45 8b cc             	mov    %r12d,%r9d
1800077dc:	89 44 24 28          	mov    %eax,0x28(%rsp)
1800077e0:	4c 8b c7             	mov    %rdi,%r8
1800077e3:	8b cb                	mov    %ebx,%ecx
1800077e5:	48 c1 e1 05          	shl    $0x5,%rcx
1800077e9:	48 03 ca             	add    %rdx,%rcx
1800077ec:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1800077f1:	48 8b d6             	mov    %rsi,%rdx
1800077f4:	e8 7f 60 00 00       	call   0x18000d878
1800077f9:	85 c0                	test   %eax,%eax
1800077fb:	78 0b                	js     0x180007808
1800077fd:	ff c3                	inc    %ebx
1800077ff:	49 83 c6 20          	add    $0x20,%r14
180007803:	83 fb 02             	cmp    $0x2,%ebx
180007806:	72 c2                	jb     0x1800077ca
180007808:	4c 8b 7d 50          	mov    0x50(%rbp),%r15
18000780c:	8b d8                	mov    %eax,%ebx
18000780e:	85 c0                	test   %eax,%eax
180007810:	0f 88 87 f8 ff ff    	js     0x18000709d
180007816:	49 8b d7             	mov    %r15,%rdx
180007819:	b9 01 00 00 00       	mov    $0x1,%ecx
18000781e:	e8 45 5b 00 00       	call   0x18000d368
180007823:	48 8b 85 80 00 00 00 	mov    0x80(%rbp),%rax
18000782a:	49 8d 4f 30          	lea    0x30(%r15),%rcx
18000782e:	44 88 6c 24 30       	mov    %r13b,0x30(%rsp)
180007833:	45 8b cc             	mov    %r12d,%r9d
180007836:	45 33 ed             	xor    %r13d,%r13d
180007839:	4c 8b c7             	mov    %rdi,%r8
18000783c:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
180007841:	48 8b d6             	mov    %rsi,%rdx
180007844:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180007849:	e8 2a 60 00 00       	call   0x18000d878
18000784e:	8b d8                	mov    %eax,%ebx
180007850:	85 c0                	test   %eax,%eax
180007852:	78 72                	js     0x1800078c6
180007854:	8b 75 58             	mov    0x58(%rbp),%esi
180007857:	45 8b c4             	mov    %r12d,%r8d
18000785a:	44 8b ce             	mov    %esi,%r9d
18000785d:	48 8b d7             	mov    %rdi,%rdx
180007860:	49 8b cf             	mov    %r15,%rcx
180007863:	e8 ac 03 00 00       	call   0x180007c14
180007868:	48 63 d8             	movslq %eax,%rbx
18000786b:	85 c0                	test   %eax,%eax
18000786d:	79 0c                	jns    0x18000787b
18000786f:	48 8b d3             	mov    %rbx,%rdx
180007872:	41 8d 4d 09          	lea    0x9(%r13),%ecx
180007876:	45 33 c0             	xor    %r8d,%r8d
180007879:	eb 43                	jmp    0x1800078be
18000787b:	48 8b 47 08          	mov    0x8(%rdi),%rax
18000787f:	44 8b ce             	mov    %esi,%r9d
180007882:	48 8b 4d c0          	mov    -0x40(%rbp),%rcx
180007886:	45 8b c4             	mov    %r12d,%r8d
180007889:	48 8b d7             	mov    %rdi,%rdx
18000788c:	66 44 89 2c 48       	mov    %r13w,(%rax,%rcx,2)
180007891:	49 8b cf             	mov    %r15,%rcx
180007894:	0f b7 45 70          	movzwl 0x70(%rbp),%eax
180007898:	66 89 07             	mov    %ax,(%rdi)
18000789b:	e8 a0 00 00 00       	call   0x180007940
1800078a0:	8b d8                	mov    %eax,%ebx
1800078a2:	eb 22                	jmp    0x1800078c6
1800078a4:	b9 03 00 00 00       	mov    $0x3,%ecx
1800078a9:	cd 29                	int    $0x29
1800078ab:	49 c7 c0 04 a0 00 c0 	mov    $0xffffffffc000a004,%r8
1800078b2:	41 8b d8             	mov    %r8d,%ebx
1800078b5:	48 8b 57 08          	mov    0x8(%rdi),%rdx
1800078b9:	b9 06 00 00 00       	mov    $0x6,%ecx
1800078be:	45 33 c9             	xor    %r9d,%r9d
1800078c1:	e8 56 48 00 00       	call   0x18000c11c
1800078c6:	48 8b 75 88          	mov    -0x78(%rbp),%rsi
1800078ca:	0f b7 55 70          	movzwl 0x70(%rbp),%edx
1800078ce:	48 8b 47 08          	mov    0x8(%rdi),%rax
1800078d2:	8b ca                	mov    %edx,%ecx
1800078d4:	48 d1 e9             	shr    $1,%rcx
1800078d7:	66 44 89 2c 48       	mov    %r13w,(%rax,%rcx,2)
1800078dc:	66 89 17             	mov    %dx,(%rdi)
1800078df:	66 44 39 6d a2       	cmp    %r13w,-0x5e(%rbp)
1800078e4:	74 09                	je     0x1800078ef
1800078e6:	48 8b 4d a8          	mov    -0x58(%rbp),%rcx
1800078ea:	e8 0d 27 09 00       	call   0x180099ffc
1800078ef:	66 44 39 6d ca       	cmp    %r13w,-0x36(%rbp)
1800078f4:	74 09                	je     0x1800078ff
1800078f6:	48 8b 4d d0          	mov    -0x30(%rbp),%rcx
1800078fa:	e8 fd 26 09 00       	call   0x180099ffc
1800078ff:	66 44 39 6d 82       	cmp    %r13w,-0x7e(%rbp)
180007904:	74 08                	je     0x18000790e
180007906:	48 8b ce             	mov    %rsi,%rcx
180007909:	e8 ee 26 09 00       	call   0x180099ffc
18000790e:	85 db                	test   %ebx,%ebx
180007910:	79 0e                	jns    0x180007920
180007912:	48 8b 4d e8          	mov    -0x18(%rbp),%rcx
180007916:	48 85 c9             	test   %rcx,%rcx
180007919:	74 05                	je     0x180007920
18000791b:	e8 10 02 09 00       	call   0x180097b30
180007920:	8b c3                	mov    %ebx,%eax
180007922:	48 8b 9c 24 60 01 00 	mov    0x160(%rsp),%rbx
180007929:	00
18000792a:	48 81 c4 10 01 00 00 	add    $0x110,%rsp
180007931:	41 5f                	pop    %r15
180007933:	41 5e                	pop    %r14
180007935:	41 5d                	pop    %r13
180007937:	41 5c                	pop    %r12
180007939:	5f                   	pop    %rdi
18000793a:	5e                   	pop    %rsi
18000793b:	5d                   	pop    %rbp
18000793c:	c3                   	ret
18000793d:	cc                   	int3
18000793e:	cc                   	int3
18000793f:	cc                   	int3
180007940:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180007945:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18000794a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18000794f:	57                   	push   %rdi
180007950:	41 54                	push   %r12
180007952:	41 55                	push   %r13
180007954:	41 56                	push   %r14
180007956:	41 57                	push   %r15
180007958:	48 83 ec 70          	sub    $0x70,%rsp
18000795c:	0f b7 32             	movzwl (%rdx),%esi
18000795f:	48 8b fa             	mov    %rdx,%rdi
180007962:	48 8b 42 08          	mov    0x8(%rdx),%rax
180007966:	4c 8b f9             	mov    %rcx,%r15
180007969:	8b ee                	mov    %esi,%ebp
18000796b:	45 8b e1             	mov    %r9d,%r12d
18000796e:	48 d1 ed             	shr    $1,%rbp
180007971:	45 33 ed             	xor    %r13d,%r13d
180007974:	48 8b cf             	mov    %rdi,%rcx
180007977:	45 8b f0             	mov    %r8d,%r14d
18000797a:	66 44 89 2c 68       	mov    %r13w,(%rax,%rbp,2)
18000797f:	66 89 32             	mov    %si,(%rdx)
180007982:	48 8d 15 37 df 13 00 	lea    0x13df37(%rip),%rdx        # 0x1801458c0
180007989:	e8 56 66 07 00       	call   0x18007dfe4
18000798e:	84 c0                	test   %al,%al
180007990:	75 0a                	jne    0x18000799c
180007992:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
180007997:	e9 8f 01 00 00       	jmp    0x180007b2b
18000799c:	4d 8b 8f f0 00 00 00 	mov    0xf0(%r15),%r9
1800079a3:	ba 14 00 00 e0       	mov    $0xe0000014,%edx
1800079a8:	4c 8b 47 08          	mov    0x8(%rdi),%r8
1800079ac:	41 8b ce             	mov    %r14d,%ecx
1800079af:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
1800079b4:	4c 89 6c 24 48       	mov    %r13,0x48(%rsp)
1800079b9:	44 88 6c 24 40       	mov    %r13b,0x40(%rsp)
1800079be:	49 8d 41 48          	lea    0x48(%r9),%rax
1800079c2:	44 89 6c 24 38       	mov    %r13d,0x38(%rsp)
1800079c7:	49 83 c1 40          	add    $0x40,%r9
1800079cb:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
1800079d0:	c7 44 24 28 00 00 02 	movl   $0x20000,0x28(%rsp)
1800079d7:	00
1800079d8:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1800079dd:	e8 f6 7a 07 00       	call   0x18007f4d8
1800079e2:	3d 0f 00 00 c0       	cmp    $0xc000000f,%eax
1800079e7:	41 8b dd             	mov    %r13d,%ebx
1800079ea:	0f 45 d8             	cmovne %eax,%ebx
1800079ed:	85 db                	test   %ebx,%ebx
1800079ef:	0f 88 36 01 00 00    	js     0x180007b2b
1800079f5:	48 8b 47 08          	mov    0x8(%rdi),%rax
1800079f9:	48 8d 15 f0 de 13 00 	lea    0x13def0(%rip),%rdx        # 0x1801458f0
180007a00:	48 8b cf             	mov    %rdi,%rcx
180007a03:	66 44 89 2c 68       	mov    %r13w,(%rax,%rbp,2)
180007a08:	66 89 37             	mov    %si,(%rdi)
180007a0b:	e8 d4 65 07 00       	call   0x18007dfe4
180007a10:	84 c0                	test   %al,%al
180007a12:	0f 84 7a ff ff ff    	je     0x180007992
180007a18:	4d 8b 8f f0 00 00 00 	mov    0xf0(%r15),%r9
180007a1f:	ba 14 00 00 e0       	mov    $0xe0000014,%edx
180007a24:	4c 8b 47 08          	mov    0x8(%rdi),%r8
180007a28:	41 8b ce             	mov    %r14d,%ecx
180007a2b:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
180007a30:	4c 89 6c 24 48       	mov    %r13,0x48(%rsp)
180007a35:	44 88 6c 24 40       	mov    %r13b,0x40(%rsp)
180007a3a:	49 8d 41 58          	lea    0x58(%r9),%rax
180007a3e:	44 89 6c 24 38       	mov    %r13d,0x38(%rsp)
180007a43:	49 83 c1 50          	add    $0x50,%r9
180007a47:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
180007a4c:	c7 44 24 28 00 00 02 	movl   $0x20000,0x28(%rsp)
180007a53:	00
180007a54:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180007a59:	e8 7a 7a 07 00       	call   0x18007f4d8
180007a5e:	3d 0f 00 00 c0       	cmp    $0xc000000f,%eax
180007a63:	41 8b dd             	mov    %r13d,%ebx
180007a66:	0f 45 d8             	cmovne %eax,%ebx
180007a69:	85 db                	test   %ebx,%ebx
180007a6b:	0f 88 ba 00 00 00    	js     0x180007b2b
180007a71:	48 8b 05 e0 d8 19 00 	mov    0x19d8e0(%rip),%rax        # 0x1801a5358
180007a78:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
180007a7d:	4c 89 6c 24 68       	mov    %r13,0x68(%rsp)
180007a82:	44 89 6c 24 60       	mov    %r13d,0x60(%rsp)
180007a87:	4a 8b 0c e0          	mov    (%rax,%r12,8),%rcx
180007a8b:	8b 91 f8 12 00 00    	mov    0x12f8(%rcx),%edx
180007a91:	48 83 c1 10          	add    $0x10,%rcx
180007a95:	e8 c2 64 0f 00       	call   0x1800fdf5c
180007a9a:	84 c0                	test   %al,%al
180007a9c:	0f 84 89 00 00 00    	je     0x180007b2b
180007aa2:	48 8b 47 08          	mov    0x8(%rdi),%rax
180007aa6:	48 8d 15 73 de 13 00 	lea    0x13de73(%rip),%rdx        # 0x180145920
180007aad:	48 8b cf             	mov    %rdi,%rcx
180007ab0:	66 44 89 2c 68       	mov    %r13w,(%rax,%rbp,2)
180007ab5:	66 89 37             	mov    %si,(%rdi)
180007ab8:	e8 27 65 07 00       	call   0x18007dfe4
180007abd:	84 c0                	test   %al,%al
180007abf:	0f 84 cd fe ff ff    	je     0x180007992
180007ac5:	48 8b 54 24 68       	mov    0x68(%rsp),%rdx
180007aca:	48 8b cf             	mov    %rdi,%rcx
180007acd:	e8 12 65 07 00       	call   0x18007dfe4
180007ad2:	84 c0                	test   %al,%al
180007ad4:	0f 84 b8 fe ff ff    	je     0x180007992
180007ada:	4d 8b 8f f0 00 00 00 	mov    0xf0(%r15),%r9
180007ae1:	ba 14 00 00 e0       	mov    $0xe0000014,%edx
180007ae6:	4c 8b 47 08          	mov    0x8(%rdi),%r8
180007aea:	41 8b ce             	mov    %r14d,%ecx
180007aed:	4c 89 6c 24 50       	mov    %r13,0x50(%rsp)
180007af2:	4c 89 6c 24 48       	mov    %r13,0x48(%rsp)
180007af7:	44 88 6c 24 40       	mov    %r13b,0x40(%rsp)
180007afc:	49 8d 41 20          	lea    0x20(%r9),%rax
180007b00:	44 89 6c 24 38       	mov    %r13d,0x38(%rsp)
180007b05:	49 83 c1 18          	add    $0x18,%r9
180007b09:	44 89 6c 24 30       	mov    %r13d,0x30(%rsp)
180007b0e:	c7 44 24 28 00 00 02 	movl   $0x20000,0x28(%rsp)
180007b15:	00
180007b16:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180007b1b:	e8 b8 79 07 00       	call   0x18007f4d8
180007b20:	3d 0f 00 00 c0       	cmp    $0xc000000f,%eax
180007b25:	8b d8                	mov    %eax,%ebx
180007b27:	41 0f 44 dd          	cmove  %r13d,%ebx
180007b2b:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
180007b30:	66 89 37             	mov    %si,(%rdi)
180007b33:	49 8b 6b 38          	mov    0x38(%r11),%rbp
180007b37:	8b c3                	mov    %ebx,%eax
180007b39:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180007b3d:	49 8b 73 40          	mov    0x40(%r11),%rsi
180007b41:	49 8b e3             	mov    %r11,%rsp
180007b44:	41 5f                	pop    %r15
180007b46:	41 5e                	pop    %r14
180007b48:	41 5d                	pop    %r13
180007b4a:	41 5c                	pop    %r12
180007b4c:	5f                   	pop    %rdi
180007b4d:	c3                   	ret
180007b4e:	cc                   	int3
180007b4f:	cc                   	int3
180007b50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180007b55:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
180007b5a:	57                   	push   %rdi
180007b5b:	48 83 ec 50          	sub    $0x50,%rsp
180007b5f:	48 8b da             	mov    %rdx,%rbx
180007b62:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
180007b67:	48 8b f1             	mov    %rcx,%rsi
180007b6a:	ba 53 00 00 22       	mov    $0x22000053,%edx
180007b6f:	48 8b 0d 62 ce 19 00 	mov    0x19ce62(%rip),%rcx        # 0x1801a49d8
180007b76:	e8 dd 49 07 00       	call   0x18007c558
180007b7b:	85 c0                	test   %eax,%eax
180007b7d:	78 7f                	js     0x180007bfe
180007b7f:	45 33 c0             	xor    %r8d,%r8d
180007b82:	4c 8d 4c 24 70       	lea    0x70(%rsp),%r9
180007b87:	48 8b cb             	mov    %rbx,%rcx
180007b8a:	41 8d 50 01          	lea    0x1(%r8),%edx
180007b8e:	e8 7d f6 01 00       	call   0x180027210
180007b93:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
180007b98:	8b d8                	mov    %eax,%ebx
180007b9a:	85 c0                	test   %eax,%eax
180007b9c:	78 42                	js     0x180007be0
180007b9e:	8b 4c 24 70          	mov    0x70(%rsp),%ecx
180007ba2:	48 8d 05 2f 49 16 00 	lea    0x16492f(%rip),%rax        # 0x18016c4d8
180007ba9:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
180007bae:	41 b9 04 00 00 00    	mov    $0x4,%r9d
180007bb4:	48 8d 05 75 dd 13 00 	lea    0x13dd75(%rip),%rax        # 0x180145930
180007bbb:	4c 8b c6             	mov    %rsi,%r8
180007bbe:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180007bc3:	33 d2                	xor    %edx,%edx
180007bc5:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
180007bcb:	83 4c 24 28 ff       	orl    $0xffffffff,0x28(%rsp)
180007bd0:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
180007bd5:	e8 f6 af ff ff       	call   0x180002bd0
180007bda:	8b d8                	mov    %eax,%ebx
180007bdc:	85 c0                	test   %eax,%eax
180007bde:	79 12                	jns    0x180007bf2
180007be0:	45 33 c9             	xor    %r9d,%r9d
180007be3:	4c 63 c3             	movslq %ebx,%r8
180007be6:	48 8b d7             	mov    %rdi,%rdx
180007be9:	41 8d 49 05          	lea    0x5(%r9),%ecx
180007bed:	e8 2a 45 00 00       	call   0x18000c11c
180007bf2:	48 8b cf             	mov    %rdi,%rcx
180007bf5:	e8 02 24 09 00       	call   0x180099ffc
180007bfa:	8b c3                	mov    %ebx,%eax
180007bfc:	eb 02                	jmp    0x180007c00
180007bfe:	33 c0                	xor    %eax,%eax
180007c00:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180007c05:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180007c0a:	48 83 c4 50          	add    $0x50,%rsp
180007c0e:	5f                   	pop    %rdi
180007c0f:	c3                   	ret
180007c10:	cc                   	int3
180007c11:	cc                   	int3
180007c12:	cc                   	int3
180007c13:	cc                   	int3
180007c14:	48 8b c4             	mov    %rsp,%rax
180007c17:	48 89 58 20          	mov    %rbx,0x20(%rax)
180007c1b:	44 89 40 18          	mov    %r8d,0x18(%rax)
180007c1f:	48 89 48 08          	mov    %rcx,0x8(%rax)
180007c23:	55                   	push   %rbp
180007c24:	56                   	push   %rsi
180007c25:	57                   	push   %rdi
180007c26:	41 54                	push   %r12
180007c28:	41 55                	push   %r13
180007c2a:	41 56                	push   %r14
180007c2c:	41 57                	push   %r15
180007c2e:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
180007c32:	48 81 ec f0 00 00 00 	sub    $0xf0,%rsp
180007c39:	48 8b fa             	mov    %rdx,%rdi
180007c3c:	41 8b d9             	mov    %r9d,%ebx
180007c3f:	33 d2                	xor    %edx,%edx
180007c41:	4c 8b f9             	mov    %rcx,%r15
180007c44:	44 8a f2             	mov    %dl,%r14b
180007c47:	89 55 a7             	mov    %edx,-0x59(%rbp)
180007c4a:	45 8b e0             	mov    %r8d,%r12d
180007c4d:	44 89 75 9b          	mov    %r14d,-0x65(%rbp)
180007c51:	0f b7 07             	movzwl (%rdi),%eax
180007c54:	8d 4a 18             	lea    0x18(%rdx),%ecx
180007c57:	66 89 45 9f          	mov    %ax,-0x61(%rbp)
180007c5b:	e8 f0 21 09 00       	call   0x180099e50
180007c60:	45 33 c0             	xor    %r8d,%r8d
180007c63:	48 8b f0             	mov    %rax,%rsi
180007c66:	48 85 c0             	test   %rax,%rax
180007c69:	75 0a                	jne    0x180007c75