18002e543:	4c 03 c2             	add    %rdx,%r8
18002e546:	4c 3b c2             	cmp    %rdx,%r8
18002e549:	72 23                	jb     0x18002e56e
18002e54b:	41 ff c1             	inc    %r9d
18002e54e:	45 3b ca             	cmp    %r10d,%r9d
18002e551:	72 ad                	jb     0x18002e500
18002e553:	45 33 db             	xor    %r11d,%r11d
18002e556:	4d 39 46 28          	cmp    %r8,0x28(%r14)
18002e55a:	41 0f 44 cb          	cmove  %r11d,%ecx
18002e55e:	8b d9                	mov    %ecx,%ebx
18002e560:	85 c9                	test   %ecx,%ecx
18002e562:	78 0a                	js     0x18002e56e
18002e564:	48 8b 45 77          	mov    0x77(%rbp),%rax
18002e568:	4c 89 30             	mov    %r14,(%rax)
18002e56b:	4d 8b f3             	mov    %r11,%r14
18002e56e:	4d 85 f6             	test   %r14,%r14
18002e571:	74 0e                	je     0x18002e581
18002e573:	49 8b ce             	mov    %r14,%rcx
18002e576:	e8 2d 13 08 00       	call   0x1800af8a8
18002e57b:	eb 04                	jmp    0x18002e581
18002e57d:	48 8b 75 b7          	mov    -0x49(%rbp),%rsi
18002e581:	f6 45 c3 01          	testb  $0x1,-0x3d(%rbp)
18002e585:	74 1d                	je     0x18002e5a4
18002e587:	48 85 f6             	test   %rsi,%rsi
18002e58a:	74 18                	je     0x18002e5a4
18002e58c:	f6 45 c3 04          	testb  $0x4,-0x3d(%rbp)
18002e590:	74 0a                	je     0x18002e59c
18002e592:	8b 4d bf             	mov    -0x41(%rbp),%ecx
18002e595:	48 8b fe             	mov    %rsi,%rdi
18002e598:	33 c0                	xor    %eax,%eax
18002e59a:	f3 aa                	rep stos %al,%es:(%rdi)
18002e59c:	48 8b ce             	mov    %rsi,%rcx
18002e59f:	e8 58 ba 06 00       	call   0x180099ffc
18002e5a4:	8b c3                	mov    %ebx,%eax
18002e5a6:	48 8b 9c 24 48 01 00 	mov    0x148(%rsp),%rbx
18002e5ad:	00
18002e5ae:	48 81 c4 f0 00 00 00 	add    $0xf0,%rsp
18002e5b5:	41 5f                	pop    %r15
18002e5b7:	41 5e                	pop    %r14
18002e5b9:	41 5d                	pop    %r13
18002e5bb:	41 5c                	pop    %r12
18002e5bd:	5f                   	pop    %rdi
18002e5be:	5e                   	pop    %rsi
18002e5bf:	5d                   	pop    %rbp
18002e5c0:	c3                   	ret
18002e5c1:	cc                   	int3
18002e5c2:	cc                   	int3
18002e5c3:	cc                   	int3
18002e5c4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18002e5c9:	44 88 4c 24 20       	mov    %r9b,0x20(%rsp)
18002e5ce:	89 4c 24 08          	mov    %ecx,0x8(%rsp)
18002e5d2:	55                   	push   %rbp
18002e5d3:	56                   	push   %rsi
18002e5d4:	57                   	push   %rdi
18002e5d5:	41 54                	push   %r12
18002e5d7:	41 55                	push   %r13
18002e5d9:	41 56                	push   %r14
18002e5db:	41 57                	push   %r15
18002e5dd:	48 8b ec             	mov    %rsp,%rbp
18002e5e0:	48 83 ec 60          	sub    $0x60,%rsp
18002e5e4:	48 8b 45 60          	mov    0x60(%rbp),%rax
18002e5e8:	45 33 ff             	xor    %r15d,%r15d
18002e5eb:	48 8b 7d 68          	mov    0x68(%rbp),%rdi
18002e5ef:	0f 57 c0             	xorps  %xmm0,%xmm0
18002e5f2:	41 b9 ff ff ff ff    	mov    $0xffffffff,%r9d
18002e5f8:	44 8b e2             	mov    %edx,%r12d
18002e5fb:	0f 11 45 f0          	movups %xmm0,-0x10(%rbp)
18002e5ff:	44 8b b0 98 00 00 00 	mov    0x98(%rax),%r14d
18002e606:	4c 8b 2f             	mov    (%rdi),%r13
18002e609:	48 8b 7f 64          	mov    0x64(%rdi),%rdi
18002e60d:	8b 88 94 00 00 00    	mov    0x94(%rax),%ecx
18002e613:	48 89 7d d8          	mov    %rdi,-0x28(%rbp)
18002e617:	48 89 4d e8          	mov    %rcx,-0x18(%rbp)
18002e61b:	4c 89 6d e0          	mov    %r13,-0x20(%rbp)
18002e61f:	44 89 4d d0          	mov    %r9d,-0x30(%rbp)
18002e623:	44 88 7d 60          	mov    %r15b,0x60(%rbp)
18002e627:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%rbp)
18002e62e:	41 83 fe 32          	cmp    $0x32,%r14d
18002e632:	0f 82 0d 02 00 00    	jb     0x18002e845
18002e638:	49 8d 0c 3e          	lea    (%r14,%rdi,1),%rcx
18002e63c:	48 3b cf             	cmp    %rdi,%rcx
18002e63f:	0f 82 00 02 00 00    	jb     0x18002e845
18002e645:	4b 8d 04 64          	lea    (%r12,%r12,2),%rax
18002e649:	48 03 c0             	add    %rax,%rax
18002e64c:	49 3b c1             	cmp    %r9,%rax
18002e64f:	0f 87 f0 01 00 00    	ja     0x18002e845
18002e655:	49 3b c8             	cmp    %r8,%rcx
18002e658:	0f 87 e7 01 00 00    	ja     0x18002e845
18002e65e:	8b c0                	mov    %eax,%eax
18002e660:	4c 3b f0             	cmp    %rax,%r14
18002e663:	0f 82 dc 01 00 00    	jb     0x18002e845
18002e669:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18002e66d:	41 8b ce             	mov    %r14d,%ecx
18002e670:	e8 e3 06 00 00       	call   0x18002ed58
18002e675:	48 8b 75 f0          	mov    -0x10(%rbp),%rsi
18002e679:	8b d8                	mov    %eax,%ebx
18002e67b:	85 c0                	test   %eax,%eax
18002e67d:	0f 88 cb 01 00 00    	js     0x18002e84e
18002e683:	44 21 7c 24 28       	and    %r15d,0x28(%rsp)
18002e688:	4c 8b ce             	mov    %rsi,%r9
18002e68b:	8b 4d 40             	mov    0x40(%rbp),%ecx
18002e68e:	45 8b c6             	mov    %r14d,%r8d
18002e691:	4c 21 7c 24 20       	and    %r15,0x20(%rsp)
18002e696:	48 8b d7             	mov    %rdi,%rdx
18002e699:	e8 7e 88 ff ff       	call   0x180026f1c
18002e69e:	8b d8                	mov    %eax,%ebx
18002e6a0:	85 c0                	test   %eax,%eax
18002e6a2:	0f 88 a6 01 00 00    	js     0x18002e84e
18002e6a8:	45 8b c4             	mov    %r12d,%r8d
18002e6ab:	41 8b d6             	mov    %r14d,%edx
18002e6ae:	48 8b ce             	mov    %rsi,%rcx
18002e6b1:	48 8b fe             	mov    %rsi,%rdi
18002e6b4:	e8 7f 46 08 00       	call   0x1800b2d38
18002e6b9:	85 c0                	test   %eax,%eax
18002e6bb:	79 25                	jns    0x18002e6e2
18002e6bd:	41 8b fe             	mov    %r14d,%edi
18002e6c0:	45 8b c4             	mov    %r12d,%r8d
18002e6c3:	41 2b fc             	sub    %r12d,%edi
18002e6c6:	41 8b d6             	mov    %r14d,%edx
18002e6c9:	48 03 fe             	add    %rsi,%rdi
18002e6cc:	48 8b cf             	mov    %rdi,%rcx
18002e6cf:	e8 64 46 08 00       	call   0x1800b2d38
18002e6d4:	85 c0                	test   %eax,%eax
18002e6d6:	79 0a                	jns    0x18002e6e2
18002e6d8:	bb 02 00 21 c0       	mov    $0xc0210002,%ebx
18002e6dd:	e9 6c 01 00 00       	jmp    0x18002e84e
18002e6e2:	49 8b 4d 28          	mov    0x28(%r13),%rcx
18002e6e6:	45 33 f6             	xor    %r14d,%r14d
18002e6e9:	0f 10 07             	movups (%rdi),%xmm0
18002e6ec:	0f 11 01             	movups %xmm0,(%rcx)
18002e6ef:	0f 10 4f 10          	movups 0x10(%rdi),%xmm1
18002e6f3:	0f 11 49 10          	movups %xmm1,0x10(%rcx)
18002e6f7:	0f 10 47 20          	movups 0x20(%rdi),%xmm0
18002e6fb:	0f 11 41 20          	movups %xmm0,0x20(%rcx)
18002e6ff:	0f b7 47 30          	movzwl 0x30(%rdi),%eax
18002e703:	66 89 41 30          	mov    %ax,0x30(%rcx)
18002e707:	49 8b cc             	mov    %r12,%rcx
18002e70a:	48 03 4d d8          	add    -0x28(%rbp),%rcx
18002e70e:	49 89 4d 40          	mov    %rcx,0x40(%r13)
18002e712:	8b 47 1e             	mov    0x1e(%rdi),%eax
18002e715:	48 03 c1             	add    %rcx,%rax
18002e718:	44 89 65 d8          	mov    %r12d,-0x28(%rbp)
18002e71c:	49 89 45 48          	mov    %rax,0x48(%r13)
18002e720:	8b 4f 1e             	mov    0x1e(%rdi),%ecx
18002e723:	41 03 cc             	add    %r12d,%ecx
18002e726:	89 4d dc             	mov    %ecx,-0x24(%rbp)
18002e729:	44 39 77 26          	cmp    %r14d,0x26(%rdi)
18002e72d:	76 a9                	jbe    0x18002e6d8
18002e72f:	46 8b 6c b5 d8       	mov    -0x28(%rbp,%r14,4),%r13d
18002e734:	48 8b cf             	mov    %rdi,%rcx
18002e737:	8b 57 1e             	mov    0x1e(%rdi),%edx
18002e73a:	4c 03 ee             	add    %rsi,%r13
18002e73d:	4d 8b c5             	mov    %r13,%r8
18002e740:	e8 73 47 08 00       	call   0x1800b2eb8
18002e745:	8b d8                	mov    %eax,%ebx
18002e747:	85 c0                	test   %eax,%eax
18002e749:	0f 89 b6 00 00 00    	jns    0x18002e805
18002e74f:	8a 55 60             	mov    0x60(%rbp),%dl
18002e752:	33 db                	xor    %ebx,%ebx
18002e754:	8b 4d d0             	mov    -0x30(%rbp),%ecx
18002e757:	41 ff c6             	inc    %r14d
18002e75a:	44 3b 77 26          	cmp    0x26(%rdi),%r14d
18002e75e:	72 cf                	jb     0x18002e72f
18002e760:	84 d2                	test   %dl,%dl
18002e762:	0f 84 70 ff ff ff    	je     0x18002e6d8
18002e768:	83 f9 02             	cmp    $0x2,%ecx
18002e76b:	0f 87 67 ff ff ff    	ja     0x18002e6d8
18002e771:	0f ae e8             	lfence
18002e774:	4c 8b 6d e0          	mov    -0x20(%rbp),%r13
18002e778:	85 c9                	test   %ecx,%ecx
18002e77a:	48 8b 75 f0          	mov    -0x10(%rbp),%rsi
18002e77e:	0f 95 c0             	setne  %al
18002e781:	41 88 45 38          	mov    %al,0x38(%r13)
18002e785:	8b c1                	mov    %ecx,%eax
18002e787:	4d 89 7d 30          	mov    %r15,0x30(%r13)
18002e78b:	44 8b 74 85 d8       	mov    -0x28(%rbp,%rax,4),%r14d
18002e790:	4c 03 f6             	add    %rsi,%r14
18002e793:	49 8b 46 0c          	mov    0xc(%r14),%rax
18002e797:	48 85 c0             	test   %rax,%rax
18002e79a:	0f 84 ae 00 00 00    	je     0x18002e84e
18002e7a0:	4c 8b 4d 68          	mov    0x68(%rbp),%r9
18002e7a4:	4d 8b 41 54          	mov    0x54(%r9),%r8
18002e7a8:	49 3b c0             	cmp    %r8,%rax
18002e7ab:	0f 82 27 ff ff ff    	jb     0x18002e6d8
18002e7b1:	49 8b 51 5c          	mov    0x5c(%r9),%rdx
18002e7b5:	49 03 d0             	add    %r8,%rdx
18002e7b8:	48 3b c2             	cmp    %rdx,%rax
18002e7bb:	0f 83 17 ff ff ff    	jae    0x18002e6d8
18002e7c1:	49 2b c0             	sub    %r8,%rax
18002e7c4:	33 d2                	xor    %edx,%edx
18002e7c6:	48 f7 75 e8          	divq   -0x18(%rbp)
18002e7ca:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
18002e7cf:	48 3b c1             	cmp    %rcx,%rax
18002e7d2:	77 6a                	ja     0x18002e83e
18002e7d4:	41 8b 49 14          	mov    0x14(%r9),%ecx
18002e7d8:	33 db                	xor    %ebx,%ebx
18002e7da:	48 03 c9             	add    %rcx,%rcx
18002e7dd:	49 8b 54 cd 08       	mov    0x8(%r13,%rcx,8),%rdx
18002e7e2:	0f a3 02             	bt     %eax,(%rdx)
18002e7e5:	0f 92 c0             	setb   %al
18002e7e8:	38 45 58             	cmp    %al,0x58(%rbp)
18002e7eb:	74 61                	je     0x18002e84e
18002e7ed:	8b 4f 1e             	mov    0x1e(%rdi),%ecx
18002e7f0:	e8 5b b6 06 00       	call   0x180099e50
18002e7f5:	49 89 45 50          	mov    %rax,0x50(%r13)
18002e7f9:	48 85 c0             	test   %rax,%rax
18002e7fc:	75 2f                	jne    0x18002e82d
18002e7fe:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18002e803:	eb 49                	jmp    0x18002e84e
18002e805:	49 8b 45 04          	mov    0x4(%r13),%rax
18002e809:	b2 01                	mov    $0x1,%dl
18002e80b:	4c 3b f8             	cmp    %rax,%r15
18002e80e:	88 55 60             	mov    %dl,0x60(%rbp)
18002e811:	49 0f 47 c7          	cmova  %r15,%rax
18002e815:	4c 8b f8             	mov    %rax,%r15
18002e818:	49 3b 45 04          	cmp    0x4(%r13),%rax
18002e81c:	0f 85 32 ff ff ff    	jne    0x18002e754
18002e822:	41 8b ce             	mov    %r14d,%ecx
18002e825:	89 4d d0             	mov    %ecx,-0x30(%rbp)
18002e828:	e9 2a ff ff ff       	jmp    0x18002e757
18002e82d:	44 8b 47 1e          	mov    0x1e(%rdi),%r8d
18002e831:	49 8b d6             	mov    %r14,%rdx
18002e834:	48 8b c8             	mov    %rax,%rcx
18002e837:	e8 84 71 10 00       	call   0x1801359c0
18002e83c:	eb 10                	jmp    0x18002e84e
18002e83e:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
18002e843:	eb 09                	jmp    0x18002e84e
18002e845:	48 8b 75 f0          	mov    -0x10(%rbp),%rsi
18002e849:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18002e84e:	f6 45 fc 01          	testb  $0x1,-0x4(%rbp)
18002e852:	74 1d                	je     0x18002e871
18002e854:	48 85 f6             	test   %rsi,%rsi
18002e857:	74 18                	je     0x18002e871
18002e859:	f6 45 fc 04          	testb  $0x4,-0x4(%rbp)
18002e85d:	74 0a                	je     0x18002e869
18002e85f:	8b 4d f8             	mov    -0x8(%rbp),%ecx
18002e862:	48 8b fe             	mov    %rsi,%rdi
18002e865:	33 c0                	xor    %eax,%eax
18002e867:	f3 aa                	rep stos %al,%es:(%rdi)
18002e869:	48 8b ce             	mov    %rsi,%rcx
18002e86c:	e8 8b b7 06 00       	call   0x180099ffc
18002e871:	8b c3                	mov    %ebx,%eax
18002e873:	48 8b 9c 24 a8 00 00 	mov    0xa8(%rsp),%rbx
18002e87a:	00
18002e87b:	48 83 c4 60          	add    $0x60,%rsp
18002e87f:	41 5f                	pop    %r15
18002e881:	41 5e                	pop    %r14
18002e883:	41 5d                	pop    %r13
18002e885:	41 5c                	pop    %r12
18002e887:	5f                   	pop    %rdi
18002e888:	5e                   	pop    %rsi
18002e889:	5d                   	pop    %rbp
18002e88a:	c3                   	ret
18002e88b:	cc                   	int3
18002e88c:	4c 8b dc             	mov    %rsp,%r11
18002e88f:	53                   	push   %rbx
18002e890:	55                   	push   %rbp
18002e891:	56                   	push   %rsi
18002e892:	57                   	push   %rdi
18002e893:	41 54                	push   %r12
18002e895:	41 55                	push   %r13
18002e897:	41 56                	push   %r14
18002e899:	41 57                	push   %r15
18002e89b:	48 81 ec 98 00 00 00 	sub    $0x98,%rsp
18002e8a2:	48 8b 41 28          	mov    0x28(%rcx),%rax
18002e8a6:	33 db                	xor    %ebx,%ebx
18002e8a8:	8b 71 70             	mov    0x70(%rcx),%esi
18002e8ab:	4c 8b f9             	mov    %rcx,%r15
18002e8ae:	c1 ee 12             	shr    $0x12,%esi
18002e8b1:	bf 01 00 00 c0       	mov    $0xc0000001,%edi
18002e8b6:	40 f6 d6             	not    %sil
18002e8b9:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
18002e8c0:	00
18002e8c1:	44 8b 88 94 00 00 00 	mov    0x94(%rax),%r9d
18002e8c8:	40 80 e6 01          	and    $0x1,%sil
18002e8cc:	44 8b eb             	mov    %ebx,%r13d
18002e8cf:	4c 89 8c 24 80 00 00 	mov    %r9,0x80(%rsp)
18002e8d6:	00
18002e8d7:	49 89 5b 10          	mov    %rbx,0x10(%r11)
18002e8db:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
18002e8e0:	66 41 89 5b 08       	mov    %bx,0x8(%r11)
18002e8e5:	39 98 a0 00 00 00    	cmp    %ebx,0xa0(%rax)
18002e8eb:	0f 86 6a 03 00 00    	jbe    0x18002ec5b
18002e8f1:	41 ba ff ff ff ff    	mov    $0xffffffff,%r10d
18002e8f7:	48 8b 40 10          	mov    0x10(%rax),%rax
18002e8fb:	41 8b cd             	mov    %r13d,%ecx
18002e8fe:	48 8b 0c c8          	mov    (%rax,%rcx,8),%rcx
18002e902:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
18002e907:	4c 8b 31             	mov    (%rcx),%r14
18002e90a:	49 8b 46 50          	mov    0x50(%r14),%rax
18002e90e:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
18002e913:	48 85 c0             	test   %rax,%rax
18002e916:	0f 84 f1 02 00 00    	je     0x18002ec0d
18002e91c:	4d 8b 46 28          	mov    0x28(%r14),%r8
18002e920:	48 8b 50 0c          	mov    0xc(%rax),%rdx
18002e924:	44 8b 60 14          	mov    0x14(%rax),%r12d
18002e928:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
18002e92d:	41 8b 40 22          	mov    0x22(%r8),%eax
18002e931:	4c 0f af e0          	imul   %rax,%r12
18002e935:	48 89 54 24 58       	mov    %rdx,0x58(%rsp)
18002e93a:	4d 3b e2             	cmp    %r10,%r12
18002e93d:	0f 87 13 03 00 00    	ja     0x18002ec56
18002e943:	48 8b c2             	mov    %rdx,%rax
18002e946:	33 d2                	xor    %edx,%edx
18002e948:	48 2b 41 54          	sub    0x54(%rcx),%rax
18002e94c:	49 f7 f1             	div    %r9
18002e94f:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
18002e954:	49 3b c2             	cmp    %r10,%rax
18002e957:	0f 87 f9 02 00 00    	ja     0x18002ec56
18002e95d:	8b 49 14             	mov    0x14(%rcx),%ecx
18002e960:	48 03 c9             	add    %rcx,%rcx
18002e963:	49 8b 54 ce 08       	mov    0x8(%r14,%rcx,8),%rdx
18002e968:	0f a3 02             	bt     %eax,(%rdx)
18002e96b:	0f 92 c0             	setb   %al
18002e96e:	40 3a f0             	cmp    %al,%sil
18002e971:	0f 84 d8 02 00 00    	je     0x18002ec4f
18002e977:	41 8d 84 24 ff 0f 00 	lea    0xfff(%r12),%eax
18002e97e:	00
18002e97f:	89 5c 24 30          	mov    %ebx,0x30(%rsp)
18002e983:	25 00 f0 ff ff       	and    $0xfffff000,%eax
18002e988:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
18002e98d:	8b d0                	mov    %eax,%edx
18002e98f:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18002e994:	8b e8                	mov    %eax,%ebp
18002e996:	45 33 c9             	xor    %r9d,%r9d
18002e999:	48 c1 ea 0c          	shr    $0xc,%rdx
18002e99d:	41 b8 04 00 00 d0    	mov    $0xd0000004,%r8d
18002e9a3:	48 89 6c 24 50       	mov    %rbp,0x50(%rsp)
18002e9a8:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
18002e9ac:	e8 3b 8f 06 00       	call   0x1800978ec
18002e9b1:	8b f8                	mov    %eax,%edi
18002e9b3:	85 c0                	test   %eax,%eax
18002e9b5:	0f 88 a0 02 00 00    	js     0x18002ec5b
18002e9bb:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
18002e9bf:	48 8d 8c 24 e8 00 00 	lea    0xe8(%rsp),%rcx
18002e9c6:	00
18002e9c7:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18002e9cc:	45 33 c9             	xor    %r9d,%r9d
18002e9cf:	48 8b d3             	mov    %rbx,%rdx
18002e9d2:	44 8b c5             	mov    %ebp,%r8d
18002e9d5:	e8 46 bb 06 00       	call   0x18009a520
18002e9da:	8b f8                	mov    %eax,%edi
18002e9dc:	85 c0                	test   %eax,%eax
18002e9de:	0f 88 42 02 00 00    	js     0x18002ec26
18002e9e4:	44 8b c5             	mov    %ebp,%r8d
18002e9e7:	33 d2                	xor    %edx,%edx
18002e9e9:	48 8b ac 24 e8 00 00 	mov    0xe8(%rsp),%rbp
18002e9f0:	00
18002e9f1:	48 8b cd             	mov    %rbp,%rcx
18002e9f4:	e8 87 72 10 00       	call   0x180135c80