18007c50e:	33 d2                	xor    %edx,%edx
18007c510:	eb 07                	jmp    0x18007c519
18007c512:	48 8d 15 ab 84 12 00 	lea    0x1284ab(%rip),%rdx        # 0x1801a49c4
18007c519:	48 8b 05 90 3f 0f 00 	mov    0xf3f90(%rip),%rax        # 0x1801704b0
18007c520:	48 85 c0             	test   %rax,%rax
18007c523:	74 29                	je     0x18007c54e
18007c525:	48 8b 40 08          	mov    0x8(%rax),%rax
18007c529:	48 85 c0             	test   %rax,%rax
18007c52c:	74 20                	je     0x18007c54e
18007c52e:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
18007c533:	45 33 c0             	xor    %r8d,%r8d
18007c536:	44 89 4c 24 20       	mov    %r9d,0x20(%rsp)
18007c53b:	4c 8b ca             	mov    %rdx,%r9
18007c53e:	8b d1                	mov    %ecx,%edx
18007c540:	48 8b 0d 51 3f 0f 00 	mov    0xf3f51(%rip),%rcx        # 0x180170498
18007c547:	ff d0                	call   *%rax
18007c549:	0f 1f 00             	nopl   (%rax)
18007c54c:	8b c8                	mov    %eax,%ecx
18007c54e:	8b c1                	mov    %ecx,%eax
18007c550:	48 83 c4 38          	add    $0x38,%rsp
18007c554:	c3                   	ret
18007c555:	cc                   	int3
18007c556:	cc                   	int3
18007c557:	cc                   	int3
18007c558:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18007c55d:	55                   	push   %rbp
18007c55e:	56                   	push   %rsi
18007c55f:	57                   	push   %rdi
18007c560:	48 83 ec 40          	sub    $0x40,%rsp
18007c564:	33 ed                	xor    %ebp,%ebp
18007c566:	8b c2                	mov    %edx,%eax
18007c568:	25 00 00 00 0f       	and    $0xf000000,%eax
18007c56d:	49 8b f0             	mov    %r8,%rsi
18007c570:	44 8b d2             	mov    %edx,%r10d
18007c573:	44 8b cd             	mov    %ebp,%r9d
18007c576:	3d 00 00 00 02       	cmp    $0x2000000,%eax
18007c57b:	74 0a                	je     0x18007c587
18007c57d:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18007c582:	e9 d3 00 00 00       	jmp    0x18007c65a
18007c587:	e8 38 04 03 00       	call   0x1800ac9c4
18007c58c:	4c 8b c0             	mov    %rax,%r8
18007c58f:	48 85 c0             	test   %rax,%rax
18007c592:	75 0a                	jne    0x18007c59e
18007c594:	b8 25 02 00 c0       	mov    $0xc0000225,%eax
18007c599:	0f b7 cd             	movzwl %bp,%ecx
18007c59c:	eb 0e                	jmp    0x18007c5ac
18007c59e:	44 8b 48 04          	mov    0x4(%rax),%r9d
18007c5a2:	8b c5                	mov    %ebp,%eax
18007c5a4:	41 0f b7 48 08       	movzwl 0x8(%r8),%ecx
18007c5a9:	4d 03 c8             	add    %r8,%r9
18007c5ac:	0f b7 c9             	movzwl %cx,%ecx
18007c5af:	d1 e9                	shr    $1,%ecx
18007c5b1:	f6 05 08 84 12 00 01 	testb  $0x1,0x128408(%rip)        # 0x1801a49c0
18007c5b8:	4c 89 4c 24 78       	mov    %r9,0x78(%rsp)
18007c5bd:	89 4c 24 68          	mov    %ecx,0x68(%rsp)
18007c5c1:	74 0c                	je     0x18007c5cf
18007c5c3:	40 38 2d e5 35 0f 00 	cmp    %bpl,0xf35e5(%rip)        # 0x18016fbaf
18007c5ca:	48 8b d5             	mov    %rbp,%rdx
18007c5cd:	74 07                	je     0x18007c5d6
18007c5cf:	48 8d 15 ee 83 12 00 	lea    0x1283ee(%rip),%rdx        # 0x1801a49c4
18007c5d6:	48 39 2d d3 3e 0f 00 	cmp    %rbp,0xf3ed3(%rip)        # 0x1801704b0
18007c5dd:	74 26                	je     0x18007c605
18007c5df:	4c 8d 44 24 68       	lea    0x68(%rsp),%r8
18007c5e4:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
18007c5e9:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
18007c5ee:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
18007c5f3:	45 8b c2             	mov    %r10d,%r8d
18007c5f6:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
18007c5fa:	8b c8                	mov    %eax,%ecx
18007c5fc:	e8 6f 0f 00 00       	call   0x18007d570
18007c601:	8b 4c 24 68          	mov    0x68(%rsp),%ecx
18007c605:	85 c0                	test   %eax,%eax
18007c607:	78 51                	js     0x18007c65a
18007c609:	8d 41 01             	lea    0x1(%rcx),%eax
18007c60c:	3b c1                	cmp    %ecx,%eax
18007c60e:	72 45                	jb     0x18007c655
18007c610:	48 03 c0             	add    %rax,%rax
18007c613:	b9 ff ff ff ff       	mov    $0xffffffff,%ecx
18007c618:	48 3b c1             	cmp    %rcx,%rax
18007c61b:	77 38                	ja     0x18007c655
18007c61d:	8b c8                	mov    %eax,%ecx
18007c61f:	8b f8                	mov    %eax,%edi
18007c621:	e8 2a d8 01 00       	call   0x180099e50
18007c626:	48 8b d8             	mov    %rax,%rbx
18007c629:	48 85 c0             	test   %rax,%rax
18007c62c:	75 07                	jne    0x18007c635
18007c62e:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18007c633:	eb 25                	jmp    0x18007c65a
18007c635:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
18007c63a:	4c 8d 47 fe          	lea    -0x2(%rdi),%r8
18007c63e:	48 8b cb             	mov    %rbx,%rcx
18007c641:	e8 7a 93 0b 00       	call   0x1801359c0
18007c646:	8b 44 24 68          	mov    0x68(%rsp),%eax
18007c64a:	66 89 2c 43          	mov    %bp,(%rbx,%rax,2)
18007c64e:	8b c5                	mov    %ebp,%eax
18007c650:	48 89 1e             	mov    %rbx,(%rsi)
18007c653:	eb 05                	jmp    0x18007c65a
18007c655:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
18007c65a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18007c65f:	48 83 c4 40          	add    $0x40,%rsp
18007c663:	5f                   	pop    %rdi
18007c664:	5e                   	pop    %rsi
18007c665:	5d                   	pop    %rbp
18007c666:	c3                   	ret
18007c667:	cc                   	int3
18007c668:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18007c66d:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18007c672:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18007c677:	57                   	push   %rdi
18007c678:	41 54                	push   %r12
18007c67a:	41 55                	push   %r13
18007c67c:	41 56                	push   %r14
18007c67e:	41 57                	push   %r15
18007c680:	48 83 ec 50          	sub    $0x50,%rsp
18007c684:	8b c2                	mov    %edx,%eax
18007c686:	45 33 e4             	xor    %r12d,%r12d
18007c689:	25 00 00 00 0f       	and    $0xf000000,%eax
18007c68e:	33 db                	xor    %ebx,%ebx
18007c690:	33 ff                	xor    %edi,%edi
18007c692:	4d 8b f1             	mov    %r9,%r14
18007c695:	4d 8b e8             	mov    %r8,%r13
18007c698:	44 8b fa             	mov    %edx,%r15d
18007c69b:	3d 00 00 00 01       	cmp    $0x1000000,%eax
18007c6a0:	74 0a                	je     0x18007c6ac
18007c6a2:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
18007c6a7:	e9 5d 01 00 00       	jmp    0x18007c809
18007c6ac:	e8 13 03 03 00       	call   0x1800ac9c4
18007c6b1:	48 8b f0             	mov    %rax,%rsi
18007c6b4:	48 85 c0             	test   %rax,%rax
18007c6b7:	75 07                	jne    0x18007c6c0
18007c6b9:	be 25 02 00 c0       	mov    $0xc0000225,%esi
18007c6be:	eb 7a                	jmp    0x18007c73a
18007c6c0:	8b 68 04             	mov    0x4(%rax),%ebp
18007c6c3:	8b 4c 05 18          	mov    0x18(%rbp,%rax,1),%ecx
18007c6c7:	e8 84 d7 01 00       	call   0x180099e50
18007c6cc:	48 8b d8             	mov    %rax,%rbx
18007c6cf:	48 85 c0             	test   %rax,%rax
18007c6d2:	75 0a                	jne    0x18007c6de
18007c6d4:	be 17 00 00 c0       	mov    $0xc0000017,%esi
18007c6d9:	e9 2b 01 00 00       	jmp    0x18007c809
18007c6de:	44 8b 44 35 18       	mov    0x18(%rbp,%rsi,1),%r8d
18007c6e3:	48 8d 56 10          	lea    0x10(%rsi),%rdx
18007c6e7:	48 03 d5             	add    %rbp,%rdx
18007c6ea:	48 8b c8             	mov    %rax,%rcx
18007c6ed:	e8 ce 92 0b 00       	call   0x1801359c0
18007c6f2:	4d 85 f6             	test   %r14,%r14
18007c6f5:	74 41                	je     0x18007c738
18007c6f7:	39 7e 0c             	cmp    %edi,0xc(%rsi)
18007c6fa:	74 37                	je     0x18007c733
18007c6fc:	8b 6e 0c             	mov    0xc(%rsi),%ebp
18007c6ff:	48 03 ee             	add    %rsi,%rbp
18007c702:	48 8b cd             	mov    %rbp,%rcx
18007c705:	e8 5a 01 00 00       	call   0x18007c864
18007c70a:	8b c8                	mov    %eax,%ecx
18007c70c:	8b f0                	mov    %eax,%esi
18007c70e:	e8 3d d7 01 00       	call   0x180099e50
18007c713:	48 8b f8             	mov    %rax,%rdi
18007c716:	48 85 c0             	test   %rax,%rax
18007c719:	75 0a                	jne    0x18007c725
18007c71b:	be 17 00 00 c0       	mov    $0xc0000017,%esi
18007c720:	e9 d7 00 00 00       	jmp    0x18007c7fc
18007c725:	4c 8b c6             	mov    %rsi,%r8
18007c728:	48 8b d5             	mov    %rbp,%rdx
18007c72b:	48 8b c8             	mov    %rax,%rcx
18007c72e:	e8 8d 92 0b 00       	call   0x1801359c0
18007c733:	4c 8d 64 24 48       	lea    0x48(%rsp),%r12
18007c738:	33 f6                	xor    %esi,%esi
18007c73a:	f6 05 7f 82 12 00 01 	testb  $0x1,0x12827f(%rip)        # 0x1801a49c0
18007c741:	48 8b c3             	mov    %rbx,%rax
18007c744:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
18007c749:	48 89 7c 24 48       	mov    %rdi,0x48(%rsp)
18007c74e:	74 0e                	je     0x18007c75e
18007c750:	80 3d 58 34 0f 00 00 	cmpb   $0x0,0xf3458(%rip)        # 0x18016fbaf
18007c757:	75 05                	jne    0x18007c75e
18007c759:	45 33 c9             	xor    %r9d,%r9d
18007c75c:	eb 07                	jmp    0x18007c765
18007c75e:	4c 8d 0d 5f 82 12 00 	lea    0x12825f(%rip),%r9        # 0x1801a49c4
18007c765:	48 8b 0d 44 3d 0f 00 	mov    0xf3d44(%rip),%rcx        # 0x1801704b0
18007c76c:	48 85 c9             	test   %rcx,%rcx
18007c76f:	74 37                	je     0x18007c7a8
18007c771:	48 83 79 18 00       	cmpq   $0x0,0x18(%rcx)
18007c776:	74 30                	je     0x18007c7a8
18007c778:	48 8b 41 18          	mov    0x18(%rcx),%rax
18007c77c:	45 33 c0             	xor    %r8d,%r8d
18007c77f:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
18007c784:	4c 89 64 24 30       	mov    %r12,0x30(%rsp)
18007c789:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18007c78e:	8b d6                	mov    %esi,%edx
18007c790:	48 8b 0d 01 3d 0f 00 	mov    0xf3d01(%rip),%rcx        # 0x180170498
18007c797:	44 89 7c 24 20       	mov    %r15d,0x20(%rsp)
18007c79c:	ff d0                	call   *%rax
18007c79e:	0f 1f 00             	nopl   (%rax)
18007c7a1:	8b f0                	mov    %eax,%esi
18007c7a3:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
18007c7a8:	85 f6                	test   %esi,%esi
18007c7aa:	78 43                	js     0x18007c7ef
18007c7ac:	48 3b c3             	cmp    %rbx,%rax
18007c7af:	74 15                	je     0x18007c7c6
18007c7b1:	48 85 db             	test   %rbx,%rbx
18007c7b4:	74 0d                	je     0x18007c7c3
18007c7b6:	48 8b cb             	mov    %rbx,%rcx
18007c7b9:	e8 3e d8 01 00       	call   0x180099ffc
18007c7be:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
18007c7c3:	48 8b d8             	mov    %rax,%rbx
18007c7c6:	48 39 7c 24 48       	cmp    %rdi,0x48(%rsp)
18007c7cb:	74 12                	je     0x18007c7df
18007c7cd:	48 85 ff             	test   %rdi,%rdi
18007c7d0:	74 08                	je     0x18007c7da
18007c7d2:	48 8b cf             	mov    %rdi,%rcx
18007c7d5:	e8 22 d8 01 00       	call   0x180099ffc
18007c7da:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18007c7df:	4d 85 f6             	test   %r14,%r14
18007c7e2:	74 05                	je     0x18007c7e9
18007c7e4:	49 89 3e             	mov    %rdi,(%r14)
18007c7e7:	33 ff                	xor    %edi,%edi
18007c7e9:	49 89 5d 00          	mov    %rbx,0x0(%r13)
18007c7ed:	33 db                	xor    %ebx,%ebx
18007c7ef:	48 85 ff             	test   %rdi,%rdi
18007c7f2:	74 08                	je     0x18007c7fc
18007c7f4:	48 8b cf             	mov    %rdi,%rcx
18007c7f7:	e8 00 d8 01 00       	call   0x180099ffc
18007c7fc:	48 85 db             	test   %rbx,%rbx
18007c7ff:	74 08                	je     0x18007c809
18007c801:	48 8b cb             	mov    %rbx,%rcx
18007c804:	e8 f3 d7 01 00       	call   0x180099ffc
18007c809:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18007c80e:	8b c6                	mov    %esi,%eax
18007c810:	49 8b 5b 30          	mov    0x30(%r11),%rbx
18007c814:	49 8b 6b 38          	mov    0x38(%r11),%rbp
18007c818:	49 8b 73 40          	mov    0x40(%r11),%rsi
18007c81c:	49 8b e3             	mov    %r11,%rsp
18007c81f:	41 5f                	pop    %r15
18007c821:	41 5e                	pop    %r14
18007c823:	41 5d                	pop    %r13
18007c825:	41 5c                	pop    %r12
18007c827:	5f                   	pop    %rdi
18007c828:	c3                   	ret
18007c829:	cc                   	int3
18007c82a:	cc                   	int3
18007c82b:	cc                   	int3
18007c82c:	40 53                	rex push %rbx
18007c82e:	48 83 ec 20          	sub    $0x20,%rsp
18007c832:	48 8b d1             	mov    %rcx,%rdx
18007c835:	8b 49 04             	mov    0x4(%rcx),%ecx
18007c838:	85 c9                	test   %ecx,%ecx
18007c83a:	74 07                	je     0x18007c843
18007c83c:	8b 5a 08             	mov    0x8(%rdx),%ebx
18007c83f:	03 d9                	add    %ecx,%ebx
18007c841:	eb 05                	jmp    0x18007c848
18007c843:	bb 18 00 00 00       	mov    $0x18,%ebx
18007c848:	83 7a 0c 00          	cmpl   $0x0,0xc(%rdx)
18007c84c:	74 0d                	je     0x18007c85b
18007c84e:	8b 4a 0c             	mov    0xc(%rdx),%ecx
18007c851:	48 03 ca             	add    %rdx,%rcx
18007c854:	e8 0b 00 00 00       	call   0x18007c864
18007c859:	03 d8                	add    %eax,%ebx
18007c85b:	8b c3                	mov    %ebx,%eax
18007c85d:	48 83 c4 20          	add    $0x20,%rsp
18007c861:	5b                   	pop    %rbx
18007c862:	c3                   	ret
18007c863:	cc                   	int3
18007c864:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18007c869:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
18007c86e:	57                   	push   %rdi
18007c86f:	48 83 ec 20          	sub    $0x20,%rsp
18007c873:	33 ff                	xor    %edi,%edi
18007c875:	48 8b f1             	mov    %rcx,%rsi
18007c878:	33 c0                	xor    %eax,%eax
18007c87a:	8b d8                	mov    %eax,%ebx
18007c87c:	48 03 de             	add    %rsi,%rbx
18007c87f:	48 8b cb             	mov    %rbx,%rcx
18007c882:	e8 a5 ff ff ff       	call   0x18007c82c
18007c887:	03 f8                	add    %eax,%edi
18007c889:	8b 43 10             	mov    0x10(%rbx),%eax
18007c88c:	85 c0                	test   %eax,%eax
18007c88e:	75 ea                	jne    0x18007c87a
18007c890:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18007c895:	8b c7                	mov    %edi,%eax
18007c897:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
18007c89c:	48 83 c4 20          	add    $0x20,%rsp
18007c8a0:	5f                   	pop    %rdi
18007c8a1:	c3                   	ret
18007c8a2:	cc                   	int3
18007c8a3:	cc                   	int3
18007c8a4:	48 8b c4             	mov    %rsp,%rax
18007c8a7:	48 89 58 08          	mov    %rbx,0x8(%rax)
18007c8ab:	48 89 68 10          	mov    %rbp,0x10(%rax)
18007c8af:	48 89 70 18          	mov    %rsi,0x18(%rax)
18007c8b3:	48 89 78 20          	mov    %rdi,0x20(%rax)
18007c8b7:	41 56                	push   %r14
18007c8b9:	48 83 ec 20          	sub    $0x20,%rsp
18007c8bd:	33 db                	xor    %ebx,%ebx
18007c8bf:	48 8b f2             	mov    %rdx,%rsi
18007c8c2:	48 89 1a             	mov    %rbx,(%rdx)
18007c8c5:	48 8b e9             	mov    %rcx,%rbp
18007c8c8:	e8 97 ff ff ff       	call   0x18007c864
18007c8cd:	8b c8                	mov    %eax,%ecx
18007c8cf:	44 8b f0             	mov    %eax,%r14d
18007c8d2:	e8 79 d5 01 00       	call   0x180099e50
18007c8d7:	48 8b f8             	mov    %rax,%rdi
18007c8da:	48 85 c0             	test   %rax,%rax
18007c8dd:	75 07                	jne    0x18007c8e6
18007c8df:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18007c8e4:	eb 11                	jmp    0x18007c8f7
18007c8e6:	4d 8b c6             	mov    %r14,%r8
18007c8e9:	48 8b d5             	mov    %rbp,%rdx
18007c8ec:	48 8b cf             	mov    %rdi,%rcx
18007c8ef:	e8 cc 90 0b 00       	call   0x1801359c0
18007c8f4:	48 89 3e             	mov    %rdi,(%rsi)
18007c8f7:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18007c8fc:	8b c3                	mov    %ebx,%eax
18007c8fe:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18007c903:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18007c908:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
18007c90d:	48 83 c4 20          	add    $0x20,%rsp
18007c911:	41 5e                	pop    %r14
18007c913:	c3                   	ret
18007c914:	cc                   	int3
18007c915:	cc                   	int3
18007c916:	cc                   	int3
18007c917:	cc                   	int3
18007c918:	4c 8b dc             	mov    %rsp,%r11
18007c91b:	49 89 73 08          	mov    %rsi,0x8(%r11)
18007c91f:	4d 89 4b 20          	mov    %r9,0x20(%r11)
18007c923:	57                   	push   %rdi
18007c924:	48 83 ec 20          	sub    $0x20,%rsp
18007c928:	49 83 63 20 00       	andq   $0x0,0x20(%r11)
18007c92d:	4d 8d 4b 20          	lea    0x20(%r11),%r9
18007c931:	8b c2                	mov    %edx,%eax
18007c933:	48 8b f1             	mov    %rcx,%rsi
18007c936:	8b c8                	mov    %eax,%ecx
18007c938:	49 8b d0             	mov    %r8,%rdx
18007c93b:	e8 64 04 00 00       	call   0x18007cda4
18007c940:	8b f8                	mov    %eax,%edi
18007c942:	85 c0                	test   %eax,%eax
18007c944:	78 0f                	js     0x18007c955
18007c946:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
18007c94b:	48 8b ce             	mov    %rsi,%rcx
18007c94e:	e8 25 00 00 00       	call   0x18007c978
18007c953:	8b f8                	mov    %eax,%edi
18007c955:	48 83 7c 24 48 00    	cmpq   $0x0,0x48(%rsp)
18007c95b:	74 0a                	je     0x18007c967
18007c95d:	48 8b 4c 24 48       	mov    0x48(%rsp),%rcx
18007c962:	e8 95 d6 01 00       	call   0x180099ffc
18007c967:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
18007c96c:	8b c7                	mov    %edi,%eax
18007c96e:	48 83 c4 20          	add    $0x20,%rsp
18007c972:	5f                   	pop    %rdi
18007c973:	c3                   	ret
18007c974:	cc                   	int3