18009a492:	4c 89 05 77 88 10 00 	mov    %r8,0x108877(%rip)        # 0x1801a2d10
18009a499:	eb 05                	jmp    0x18009a4a0
18009a49b:	b8 95 00 00 c0       	mov    $0xc0000095,%eax
18009a4a0:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
18009a4a5:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
18009a4aa:	48 8b 74 24 78       	mov    0x78(%rsp),%rsi
18009a4af:	48 83 c4 40          	add    $0x40,%rsp
18009a4b3:	41 5f                	pop    %r15
18009a4b5:	41 5e                	pop    %r14
18009a4b7:	5f                   	pop    %rdi
18009a4b8:	c3                   	ret
18009a4b9:	cc                   	int3
18009a4ba:	cc                   	int3
18009a4bb:	cc                   	int3
18009a4bc:	8b 05 b6 24 0d 00    	mov    0xd24b6(%rip),%eax        # 0x18016c978
18009a4c2:	c3                   	ret
18009a4c3:	cc                   	int3
18009a4c4:	48 83 ec 28          	sub    $0x28,%rsp
18009a4c8:	33 c0                	xor    %eax,%eax
18009a4ca:	48 85 c9             	test   %rcx,%rcx
18009a4cd:	74 10                	je     0x18009a4df
18009a4cf:	48 85 d2             	test   %rdx,%rdx
18009a4d2:	74 0b                	je     0x18009a4df
18009a4d4:	45 33 c9             	xor    %r9d,%r9d
18009a4d7:	45 33 c0             	xor    %r8d,%r8d
18009a4da:	e8 ad 30 00 00       	call   0x18009d58c
18009a4df:	48 83 c4 28          	add    $0x28,%rsp
18009a4e3:	c3                   	ret
18009a4e4:	cc                   	int3
18009a4e5:	cc                   	int3
18009a4e6:	cc                   	int3
18009a4e7:	cc                   	int3
18009a4e8:	48 83 ec 28          	sub    $0x28,%rsp
18009a4ec:	33 c0                	xor    %eax,%eax
18009a4ee:	48 85 c9             	test   %rcx,%rcx
18009a4f1:	74 10                	je     0x18009a503
18009a4f3:	48 85 d2             	test   %rdx,%rdx
18009a4f6:	74 0b                	je     0x18009a503
18009a4f8:	4d 8b c8             	mov    %r8,%r9
18009a4fb:	45 33 c0             	xor    %r8d,%r8d
18009a4fe:	e8 89 30 00 00       	call   0x18009d58c
18009a503:	48 83 c4 28          	add    $0x28,%rsp
18009a507:	c3                   	ret
18009a508:	cc                   	int3
18009a509:	cc                   	int3
18009a50a:	cc                   	int3
18009a50b:	cc                   	int3
18009a50c:	48 83 ec 38          	sub    $0x38,%rsp
18009a510:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
18009a515:	e8 06 00 00 00       	call   0x18009a520
18009a51a:	48 83 c4 38          	add    $0x38,%rsp
18009a51e:	c3                   	ret
18009a51f:	cc                   	int3
18009a520:	48 8b c4             	mov    %rsp,%rax
18009a523:	48 89 58 10          	mov    %rbx,0x10(%rax)
18009a527:	48 89 70 18          	mov    %rsi,0x18(%rax)
18009a52b:	48 89 78 20          	mov    %rdi,0x20(%rax)
18009a52f:	48 89 48 08          	mov    %rcx,0x8(%rax)
18009a533:	55                   	push   %rbp
18009a534:	41 54                	push   %r12
18009a536:	41 55                	push   %r13
18009a538:	41 56                	push   %r14
18009a53a:	41 57                	push   %r15
18009a53c:	48 8b ec             	mov    %rsp,%rbp
18009a53f:	48 83 ec 50          	sub    $0x50,%rsp
18009a543:	ff 05 33 87 10 00    	incl   0x108733(%rip)        # 0x1801a2c7c
18009a549:	45 33 e4             	xor    %r12d,%r12d
18009a54c:	4d 8b f8             	mov    %r8,%r15
18009a54f:	48 8b da             	mov    %rdx,%rbx
18009a552:	4c 8b c1             	mov    %rcx,%r8
18009a555:	48 85 c9             	test   %rcx,%rcx
18009a558:	0f 84 01 03 00 00    	je     0x18009a85f
18009a55e:	4d 85 ff             	test   %r15,%r15
18009a561:	0f 84 f8 02 00 00    	je     0x18009a85f
18009a567:	83 65 50 01          	andl   $0x1,0x50(%rbp)
18009a56b:	74 11                	je     0x18009a57e
18009a56d:	41 0f ba e1 12       	bt     $0x12,%r9d
18009a572:	72 0a                	jb     0x18009a57e
18009a574:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
18009a579:	e9 f7 00 00 00       	jmp    0x18009a675
18009a57e:	41 8b c9             	mov    %r9d,%ecx
18009a581:	b8 00 00 06 00       	mov    $0x60000,%eax
18009a586:	23 c8                	and    %eax,%ecx
18009a588:	f7 c1 ff ff f9 ff    	test   $0xfff9ffff,%ecx
18009a58e:	75 e4                	jne    0x18009a574
18009a590:	3b c8                	cmp    %eax,%ecx
18009a592:	74 e0                	je     0x18009a574
18009a594:	41 0f b6 d1          	movzbl %r9b,%edx
18009a598:	8d 42 ff             	lea    -0x1(%rdx),%eax
18009a59b:	85 c2                	test   %eax,%edx
18009a59d:	75 d5                	jne    0x18009a574
18009a59f:	4d 8b 00             	mov    (%r8),%r8
18009a5a2:	41 8b f9             	mov    %r9d,%edi
18009a5a5:	81 e7 00 ff ff ff    	and    $0xffffff00,%edi
18009a5ab:	83 fa 20             	cmp    $0x20,%edx
18009a5ae:	48 8b d3             	mov    %rbx,%rdx
18009a5b1:	41 0f 45 f9          	cmovne %r9d,%edi
18009a5b5:	4d 8b cf             	mov    %r15,%r9
18009a5b8:	89 7c 24 28          	mov    %edi,0x28(%rsp)
18009a5bc:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
18009a5c0:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18009a5c4:	e8 2f 08 00 00       	call   0x18009adf8
18009a5c9:	8b f0                	mov    %eax,%esi
18009a5cb:	85 c0                	test   %eax,%eax
18009a5cd:	0f 88 a2 00 00 00    	js     0x18009a675
18009a5d3:	f6 05 9e 22 0d 00 02 	testb  $0x2,0xd229e(%rip)        # 0x18016c878
18009a5da:	44 8b f7             	mov    %edi,%r14d
18009a5dd:	74 0b                	je     0x18009a5ea
18009a5df:	0f ba e7 0e          	bt     $0xe,%edi
18009a5e3:	72 05                	jb     0x18009a5ea
18009a5e5:	41 0f ba ee 0a       	bts    $0xa,%r14d
18009a5ea:	45 8b ce             	mov    %r14d,%r9d
18009a5ed:	48 89 5d e0          	mov    %rbx,-0x20(%rbp)
18009a5f1:	4c 8d 45 e8          	lea    -0x18(%rbp),%r8
18009a5f5:	4c 89 7d e8          	mov    %r15,-0x18(%rbp)
18009a5f9:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
18009a5fd:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
18009a601:	e8 62 0b 00 00       	call   0x18009b168
18009a606:	8b f0                	mov    %eax,%esi
18009a608:	85 c0                	test   %eax,%eax
18009a60a:	78 69                	js     0x18009a675
18009a60c:	4c 8b 6d f0          	mov    -0x10(%rbp),%r13
18009a610:	48 8b 7d e0          	mov    -0x20(%rbp),%rdi
18009a614:	4d 8b e5             	mov    %r13,%r12
18009a617:	4c 2b e7             	sub    %rdi,%r12
18009a61a:	4c 03 e3             	add    %rbx,%r12
18009a61d:	83 3d 54 23 0d 00 00 	cmpl   $0x0,0xd2354(%rip)        # 0x18016c978
18009a624:	4c 89 65 f8          	mov    %r12,-0x8(%rbp)
18009a628:	74 40                	je     0x18009a66a
18009a62a:	83 7d 50 00          	cmpl   $0x0,0x50(%rbp)
18009a62e:	75 71                	jne    0x18009a6a1
18009a630:	4c 8b 45 e8          	mov    -0x18(%rbp),%r8
18009a634:	48 8d 0d a5 86 10 00 	lea    0x1086a5(%rip),%rcx        # 0x1801a2ce0
18009a63b:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18009a641:	49 8b d5             	mov    %r13,%rdx
18009a644:	49 c1 e8 0c          	shr    $0xc,%r8
18009a648:	41 b9 00 00 00 80    	mov    $0x80000000,%r9d
18009a64e:	48 c1 ea 0c          	shr    $0xc,%rdx
18009a652:	e8 61 25 00 00       	call   0x18009cbb8
18009a657:	8b f0                	mov    %eax,%esi
18009a659:	85 c0                	test   %eax,%eax
18009a65b:	79 44                	jns    0x18009a6a1
18009a65d:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
18009a661:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
18009a665:	e8 0e 0d 00 00       	call   0x18009b378
18009a66a:	4c 8b 45 30          	mov    0x30(%rbp),%r8
18009a66e:	85 f6                	test   %esi,%esi
18009a670:	78 03                	js     0x18009a675
18009a672:	4d 89 20             	mov    %r12,(%r8)
18009a675:	e8 22 1c 00 00       	call   0x18009c29c
18009a67a:	ff 0d fc 85 10 00    	decl   0x1085fc(%rip)        # 0x1801a2c7c
18009a680:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18009a685:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18009a689:	8b c6                	mov    %esi,%eax
18009a68b:	49 8b 73 40          	mov    0x40(%r11),%rsi
18009a68f:	49 8b 7b 48          	mov    0x48(%r11),%rdi
18009a693:	49 8b e3             	mov    %r11,%rsp
18009a696:	41 5f                	pop    %r15
18009a698:	41 5e                	pop    %r14
18009a69a:	41 5d                	pop    %r13
18009a69c:	41 5c                	pop    %r12
18009a69e:	5d                   	pop    %rbp
18009a69f:	c3                   	ret
18009a6a0:	cc                   	int3
18009a6a1:	45 8b ce             	mov    %r14d,%r9d
18009a6a4:	4d 8b c7             	mov    %r15,%r8
18009a6a7:	48 8b d3             	mov    %rbx,%rdx
18009a6aa:	49 8b cc             	mov    %r12,%rcx
18009a6ad:	e8 d6 09 00 00       	call   0x18009b088
18009a6b2:	89 45 e0             	mov    %eax,-0x20(%rbp)
18009a6b5:	8b f0                	mov    %eax,%esi
18009a6b7:	85 c0                	test   %eax,%eax
18009a6b9:	78 a2                	js     0x18009a65d
18009a6bb:	48 83 fb ff          	cmp    $0xffffffffffffffff,%rbx
18009a6bf:	74 a9                	je     0x18009a66a
18009a6c1:	4c 8b 65 e8          	mov    -0x18(%rbp),%r12
18009a6c5:	48 8d 0d d4 86 10 00 	lea    0x1086d4(%rip),%rcx        # 0x1801a2da0
18009a6cc:	4c 03 e7             	add    %rdi,%r12
18009a6cf:	48 8d 35 0a 87 10 00 	lea    0x10870a(%rip),%rsi        # 0x1801a2de0
18009a6d6:	4c 8b ff             	mov    %rdi,%r15
18009a6d9:	49 c1 ec 0c          	shr    $0xc,%r12
18009a6dd:	49 c1 ef 0c          	shr    $0xc,%r15
18009a6e1:	bb 00 00 00 40       	mov    $0x40000000,%ebx
18009a6e6:	49 c1 ed 0c          	shr    $0xc,%r13
18009a6ea:	4c 8b f1             	mov    %rcx,%r14
18009a6ed:	44 8b c3             	mov    %ebx,%r8d
18009a6f0:	49 8b cf             	mov    %r15,%rcx
18009a6f3:	ba 04 00 00 00       	mov    $0x4,%edx
18009a6f8:	e8 9f 1e 00 00       	call   0x18009c59c
18009a6fd:	48 8b f8             	mov    %rax,%rdi
18009a700:	48 85 c0             	test   %rax,%rax
18009a703:	75 5d                	jne    0x18009a762
18009a705:	44 8b c3             	mov    %ebx,%r8d
18009a708:	4c 8d 35 d1 87 10 00 	lea    0x1087d1(%rip),%r14        # 0x1801a2ee0
18009a70f:	ba 00 01 00 00       	mov    $0x100,%edx
18009a714:	49 8b cf             	mov    %r15,%rcx
18009a717:	e8 80 1e 00 00       	call   0x18009c59c
18009a71c:	48 8b f8             	mov    %rax,%rdi
18009a71f:	48 85 c0             	test   %rax,%rax
18009a722:	75 3e                	jne    0x18009a762
18009a724:	44 8b c3             	mov    %ebx,%r8d
18009a727:	8d 50 08             	lea    0x8(%rax),%edx
18009a72a:	49 8b cf             	mov    %r15,%rcx
18009a72d:	4c 8d 35 2c 86 10 00 	lea    0x10862c(%rip),%r14        # 0x1801a2d60
18009a734:	e8 63 1e 00 00       	call   0x18009c59c
18009a739:	48 8b f8             	mov    %rax,%rdi
18009a73c:	48 85 c0             	test   %rax,%rax
18009a73f:	75 21                	jne    0x18009a762
18009a741:	44 8b c3             	mov    %ebx,%r8d
18009a744:	8d 50 10             	lea    0x10(%rax),%edx
18009a747:	49 8b cf             	mov    %r15,%rcx
18009a74a:	4c 8b f6             	mov    %rsi,%r14
18009a74d:	e8 4a 1e 00 00       	call   0x18009c59c
18009a752:	48 8b f8             	mov    %rax,%rdi
18009a755:	48 85 c0             	test   %rax,%rax
18009a758:	75 08                	jne    0x18009a762
18009a75a:	8d 48 01             	lea    0x1(%rax),%ecx
18009a75d:	e9 db 00 00 00       	jmp    0x18009a83d
18009a762:	48 8b d7             	mov    %rdi,%rdx
18009a765:	49 8b ce             	mov    %r14,%rcx
18009a768:	e8 d3 1d 00 00       	call   0x18009c540
18009a76d:	4c 8b 57 10          	mov    0x10(%rdi),%r10
18009a771:	4d 3b d7             	cmp    %r15,%r10
18009a774:	73 37                	jae    0x18009a7ad
18009a776:	8b 47 2c             	mov    0x2c(%rdi),%eax
18009a779:	49 8b df             	mov    %r15,%rbx
18009a77c:	44 8b 4f 28          	mov    0x28(%rdi),%r9d
18009a780:	49 2b da             	sub    %r10,%rbx
18009a783:	4c 8b c3             	mov    %rbx,%r8
18009a786:	89 44 24 20          	mov    %eax,0x20(%rsp)
18009a78a:	33 d2                	xor    %edx,%edx
18009a78c:	49 8b ca             	mov    %r10,%rcx
18009a78f:	e8 ec 19 00 00       	call   0x18009c180
18009a794:	45 33 c0             	xor    %r8d,%r8d
18009a797:	48 8b d0             	mov    %rax,%rdx
18009a79a:	49 8b ce             	mov    %r14,%rcx
18009a79d:	e8 ce 1b 00 00       	call   0x18009c370
18009a7a2:	48 29 5f 20          	sub    %rbx,0x20(%rdi)
18009a7a6:	4d 8b d7             	mov    %r15,%r10
18009a7a9:	4c 89 7f 10          	mov    %r15,0x10(%rdi)
18009a7ad:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
18009a7b1:	4a 8d 04 11          	lea    (%rcx,%r10,1),%rax
18009a7b5:	4c 3b e0             	cmp    %rax,%r12
18009a7b8:	73 36                	jae    0x18009a7f0
18009a7ba:	8b 47 2c             	mov    0x2c(%rdi),%eax
18009a7bd:	49 8b dc             	mov    %r12,%rbx
18009a7c0:	44 8b 4f 28          	mov    0x28(%rdi),%r9d
18009a7c4:	49 2b df             	sub    %r15,%rbx
18009a7c7:	48 2b cb             	sub    %rbx,%rcx
18009a7ca:	89 44 24 20          	mov    %eax,0x20(%rsp)
18009a7ce:	4c 8b c1             	mov    %rcx,%r8
18009a7d1:	33 d2                	xor    %edx,%edx
18009a7d3:	49 8b cc             	mov    %r12,%rcx
18009a7d6:	e8 a5 19 00 00       	call   0x18009c180
18009a7db:	45 33 c0             	xor    %r8d,%r8d
18009a7de:	48 8b d0             	mov    %rax,%rdx
18009a7e1:	49 8b ce             	mov    %r14,%rcx
18009a7e4:	e8 87 1b 00 00       	call   0x18009c370
18009a7e9:	48 8b cb             	mov    %rbx,%rcx
18009a7ec:	48 89 5f 20          	mov    %rbx,0x20(%rdi)
18009a7f0:	4c 89 6f 18          	mov    %r13,0x18(%rdi)
18009a7f4:	4c 3b f6             	cmp    %rsi,%r14
18009a7f7:	74 28                	je     0x18009a821
18009a7f9:	48 8d 05 e0 86 10 00 	lea    0x1086e0(%rip),%rax        # 0x1801a2ee0
18009a800:	4c 3b f0             	cmp    %rax,%r14
18009a803:	74 1c                	je     0x18009a821
18009a805:	48 8d 05 94 85 10 00 	lea    0x108594(%rip),%rax        # 0x1801a2da0
18009a80c:	4c 3b f0             	cmp    %rax,%r14
18009a80f:	75 09                	jne    0x18009a81a
18009a811:	4c 8d 35 88 86 10 00 	lea    0x108688(%rip),%r14        # 0x1801a2ea0
18009a818:	eb 0c                	jmp    0x18009a826
18009a81a:	4c 8d 35 ff 84 10 00 	lea    0x1084ff(%rip),%r14        # 0x1801a2d20
18009a821:	4d 85 f6             	test   %r14,%r14
18009a824:	74 12                	je     0x18009a838
18009a826:	45 33 c0             	xor    %r8d,%r8d
18009a829:	48 8b d7             	mov    %rdi,%rdx
18009a82c:	49 8b ce             	mov    %r14,%rcx
18009a82f:	e8 3c 1b 00 00       	call   0x18009c370
18009a834:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
18009a838:	bb 00 00 00 40       	mov    $0x40000000,%ebx
18009a83d:	4c 03 f9             	add    %rcx,%r15
18009a840:	4c 03 e9             	add    %rcx,%r13
18009a843:	48 8d 0d 56 85 10 00 	lea    0x108556(%rip),%rcx        # 0x1801a2da0
18009a84a:	4d 3b fc             	cmp    %r12,%r15
18009a84d:	0f 82 97 fe ff ff    	jb     0x18009a6ea
18009a853:	8b 75 e0             	mov    -0x20(%rbp),%esi
18009a856:	4c 8b 65 f8          	mov    -0x8(%rbp),%r12
18009a85a:	e9 0b fe ff ff       	jmp    0x18009a66a
18009a85f:	be 0d 00 00 c0       	mov    $0xc000000d,%esi
18009a864:	e9 05 fe ff ff       	jmp    0x18009a66e
18009a869:	cc                   	int3
18009a86a:	cc                   	int3
18009a86b:	cc                   	int3
18009a86c:	48 8b c4             	mov    %rsp,%rax
18009a86f:	48 89 58 18          	mov    %rbx,0x18(%rax)
18009a873:	48 89 50 10          	mov    %rdx,0x10(%rax)
18009a877:	48 89 48 08          	mov    %rcx,0x8(%rax)
18009a87b:	55                   	push   %rbp
18009a87c:	56                   	push   %rsi
18009a87d:	57                   	push   %rdi
18009a87e:	41 56                	push   %r14
18009a880:	41 57                	push   %r15
18009a882:	48 83 ec 30          	sub    $0x30,%rsp
18009a886:	ff 05 f0 83 10 00    	incl   0x1083f0(%rip)        # 0x1801a2c7c
18009a88c:	41 8b f0             	mov    %r8d,%esi
18009a88f:	48 8b da             	mov    %rdx,%rbx
18009a892:	48 8b f9             	mov    %rcx,%rdi
18009a895:	48 85 c9             	test   %rcx,%rcx
18009a898:	0f 84 32 02 00 00    	je     0x18009aad0
18009a89e:	48 85 d2             	test   %rdx,%rdx
18009a8a1:	0f 84 29 02 00 00    	je     0x18009aad0
18009a8a7:	48 8d 50 10          	lea    0x10(%rax),%rdx
18009a8ab:	48 8d 48 08          	lea    0x8(%rax),%rcx
18009a8af:	e8 c4 0a 00 00       	call   0x18009b378
18009a8b4:	89 44 24 78          	mov    %eax,0x78(%rsp)
18009a8b8:	44 8b f0             	mov    %eax,%r14d
18009a8bb:	85 c0                	test   %eax,%eax
18009a8bd:	0f 88 13 02 00 00    	js     0x18009aad6
18009a8c3:	83 3d ae 20 0d 00 00 	cmpl   $0x0,0xd20ae(%rip)        # 0x18016c978
18009a8ca:	0f 84 06 02 00 00    	je     0x18009aad6
18009a8d0:	48 8b d3             	mov    %rbx,%rdx
18009a8d3:	48 8b cf             	mov    %rdi,%rcx
18009a8d6:	e8 35 08 00 00       	call   0x18009b110
18009a8db:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18009a8e0:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18009a8e5:	40 f6 c6 01          	test   $0x1,%sil
18009a8e9:	75 45                	jne    0x18009a930
18009a8eb:	4c 8b c7             	mov    %rdi,%r8
18009a8ee:	c7 44 24 20 01 00 00 	movl   $0xf0000001,0x20(%rsp)
18009a8f5:	f0
18009a8f6:	48 8b cb             	mov    %rbx,%rcx
18009a8f9:	49 c1 e8 0c          	shr    $0xc,%r8
18009a8fd:	48 c1 e9 0c          	shr    $0xc,%rcx
18009a901:	45 33 c9             	xor    %r9d,%r9d
18009a904:	33 d2                	xor    %edx,%edx
18009a906:	e8 75 18 00 00       	call   0x18009c180
18009a90b:	48 85 c0             	test   %rax,%rax
18009a90e:	75 0b                	jne    0x18009a91b
18009a910:	41 be 17 00 00 c0    	mov    $0xc0000017,%r14d
18009a916:	e9 bb 01 00 00       	jmp    0x18009aad6
18009a91b:	41 b8 03 00 00 00    	mov    $0x3,%r8d
18009a921:	48 8d 0d b8 83 10 00 	lea    0x1083b8(%rip),%rcx        # 0x1801a2ce0
18009a928:	48 8b d0             	mov    %rax,%rdx
18009a92b:	e8 40 1a 00 00       	call   0x18009c370
18009a930:	48 8b eb             	mov    %rbx,%rbp
18009a933:	4c 8d 3c 3b          	lea    (%rbx,%rdi,1),%r15
18009a937:	48 c1 ed 0c          	shr    $0xc,%rbp
18009a93b:	4c 8d 35 5e 85 10 00 	lea    0x10855e(%rip),%r14        # 0x1801a2ea0
18009a942:	49 c1 ef 0c          	shr    $0xc,%r15
18009a946:	48 8d 1d 93 85 10 00 	lea    0x108593(%rip),%rbx        # 0x1801a2ee0