18009b5a2:	33 ff                	xor    %edi,%edi
18009b5a4:	85 c9                	test   %ecx,%ecx
18009b5a6:	0f 84 a6 00 00 00    	je     0x18009b652
18009b5ac:	83 f9 01             	cmp    $0x1,%ecx
18009b5af:	74 0a                	je     0x18009b5bb
18009b5b1:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
18009b5b6:	e9 a3 00 00 00       	jmp    0x18009b65e
18009b5bb:	40 38 3d d6 9e 0f 00 	cmp    %dil,0xf9ed6(%rip)        # 0x180195498
18009b5c2:	8b df                	mov    %edi,%ebx
18009b5c4:	74 36                	je     0x18009b5fc
18009b5c6:	8b 15 b4 76 10 00    	mov    0x1076b4(%rip),%edx        # 0x1801a2c80
18009b5cc:	4c 8d 05 c1 09 00 00 	lea    0x9c1(%rip),%r8        # 0x18009bf94
18009b5d3:	48 8b 0d ae 76 10 00 	mov    0x1076ae(%rip),%rcx        # 0x1801a2c88
18009b5da:	e8 15 52 ff ff       	call   0x1800907f4
18009b5df:	48 8b 0d a2 76 10 00 	mov    0x1076a2(%rip),%rcx        # 0x1801a2c88
18009b5e6:	85 c0                	test   %eax,%eax
18009b5e8:	0f 48 d8             	cmovs  %eax,%ebx
18009b5eb:	e8 0c ea ff ff       	call   0x180099ffc
18009b5f0:	85 db                	test   %ebx,%ebx
18009b5f2:	40 88 3d 9f 9e 0f 00 	mov    %dil,0xf9e9f(%rip)        # 0x180195498
18009b5f9:	0f 49 d8             	cmovns %eax,%ebx
18009b5fc:	e8 d7 01 00 00       	call   0x18009b7d8
18009b601:	85 db                	test   %ebx,%ebx
18009b603:	0f 49 df             	cmovns %edi,%ebx
18009b606:	85 c0                	test   %eax,%eax
18009b608:	0f 48 d8             	cmovs  %eax,%ebx
18009b60b:	e8 f4 09 00 00       	call   0x18009c004
18009b610:	85 c0                	test   %eax,%eax
18009b612:	89 3d 70 9e 0f 00    	mov    %edi,0xf9e70(%rip)        # 0x180195488
18009b618:	0f 48 d8             	cmovs  %eax,%ebx
18009b61b:	ff 05 5b 76 10 00    	incl   0x10765b(%rip)        # 0x1801a2c7c
18009b621:	33 c9                	xor    %ecx,%ecx
18009b623:	e8 60 d6 ff ff       	call   0x180098c88
18009b628:	85 c0                	test   %eax,%eax
18009b62a:	0f 48 d8             	cmovs  %eax,%ebx
18009b62d:	e8 0e fa ff ff       	call   0x18009b040
18009b632:	85 c0                	test   %eax,%eax
18009b634:	78 2a                	js     0x18009b660
18009b636:	e8 05 1f 00 00       	call   0x18009d540
18009b63b:	85 c0                	test   %eax,%eax
18009b63d:	b9 01 00 00 00       	mov    $0x1,%ecx
18009b642:	0f 48 d8             	cmovs  %eax,%ebx
18009b645:	e8 3e d6 ff ff       	call   0x180098c88
18009b64a:	85 c0                	test   %eax,%eax
18009b64c:	79 10                	jns    0x18009b65e
18009b64e:	8b d8                	mov    %eax,%ebx
18009b650:	eb 0c                	jmp    0x18009b65e
18009b652:	e8 c9 00 00 00       	call   0x18009b720
18009b657:	85 c0                	test   %eax,%eax
18009b659:	8b df                	mov    %edi,%ebx
18009b65b:	0f 48 d8             	cmovs  %eax,%ebx
18009b65e:	8b c3                	mov    %ebx,%eax
18009b660:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18009b665:	48 83 c4 20          	add    $0x20,%rsp
18009b669:	5f                   	pop    %rdi
18009b66a:	c3                   	ret
18009b66b:	cc                   	int3
18009b66c:	83 f9 08             	cmp    $0x8,%ecx
18009b66f:	7f 52                	jg     0x18009b6c3
18009b671:	74 49                	je     0x18009b6bc
18009b673:	85 c9                	test   %ecx,%ecx
18009b675:	74 3e                	je     0x18009b6b5
18009b677:	7e 6a                	jle    0x18009b6e3
18009b679:	83 f9 02             	cmp    $0x2,%ecx
18009b67c:	7e 30                	jle    0x18009b6ae
18009b67e:	83 f9 04             	cmp    $0x4,%ecx
18009b681:	7e 24                	jle    0x18009b6a7
18009b683:	83 f9 05             	cmp    $0x5,%ecx
18009b686:	74 18                	je     0x18009b6a0
18009b688:	83 f9 06             	cmp    $0x6,%ecx
18009b68b:	74 0c                	je     0x18009b699
18009b68d:	83 f9 07             	cmp    $0x7,%ecx
18009b690:	75 51                	jne    0x18009b6e3
18009b692:	b8 01 00 00 f0       	mov    $0xf0000001,%eax
18009b697:	c3                   	ret
18009b698:	cc                   	int3
18009b699:	b8 0e 00 00 f0       	mov    $0xf000000e,%eax
18009b69e:	c3                   	ret
18009b69f:	cc                   	int3
18009b6a0:	b8 06 00 00 f0       	mov    $0xf0000006,%eax
18009b6a5:	c3                   	ret
18009b6a6:	cc                   	int3
18009b6a7:	b8 04 00 00 f0       	mov    $0xf0000004,%eax
18009b6ac:	c3                   	ret
18009b6ad:	cc                   	int3
18009b6ae:	b8 02 00 00 d0       	mov    $0xd0000002,%eax
18009b6b3:	c3                   	ret
18009b6b4:	cc                   	int3
18009b6b5:	b8 03 00 00 f0       	mov    $0xf0000003,%eax
18009b6ba:	c3                   	ret
18009b6bb:	cc                   	int3
18009b6bc:	b8 02 00 00 f0       	mov    $0xf0000002,%eax
18009b6c1:	c3                   	ret
18009b6c2:	cc                   	int3
18009b6c3:	8b d1                	mov    %ecx,%edx
18009b6c5:	83 ea 09             	sub    $0x9,%edx
18009b6c8:	74 4e                	je     0x18009b718
18009b6ca:	83 ea 01             	sub    $0x1,%edx
18009b6cd:	74 42                	je     0x18009b711
18009b6cf:	83 ea 01             	sub    $0x1,%edx
18009b6d2:	74 36                	je     0x18009b70a
18009b6d4:	83 ea 01             	sub    $0x1,%edx
18009b6d7:	74 2a                	je     0x18009b703
18009b6d9:	83 ea 01             	sub    $0x1,%edx
18009b6dc:	74 1e                	je     0x18009b6fc
18009b6de:	83 fa 01             	cmp    $0x1,%edx
18009b6e1:	74 12                	je     0x18009b6f5
18009b6e3:	b8 03 00 00 f0       	mov    $0xf0000003,%eax
18009b6e8:	81 f9 00 00 00 80    	cmp    $0x80000000,%ecx
18009b6ee:	0f 42 c8             	cmovb  %eax,%ecx
18009b6f1:	8b c1                	mov    %ecx,%eax
18009b6f3:	c3                   	ret
18009b6f4:	cc                   	int3
18009b6f5:	b8 07 00 00 f0       	mov    $0xf0000007,%eax
18009b6fa:	c3                   	ret
18009b6fb:	cc                   	int3
18009b6fc:	b8 0c 00 00 f0       	mov    $0xf000000c,%eax
18009b701:	c3                   	ret
18009b702:	cc                   	int3
18009b703:	b8 0b 00 00 f0       	mov    $0xf000000b,%eax
18009b708:	c3                   	ret
18009b709:	cc                   	int3
18009b70a:	b8 0a 00 00 f0       	mov    $0xf000000a,%eax
18009b70f:	c3                   	ret
18009b710:	cc                   	int3
18009b711:	b8 09 00 00 f0       	mov    $0xf0000009,%eax
18009b716:	c3                   	ret
18009b717:	cc                   	int3
18009b718:	b8 08 00 00 f0       	mov    $0xf0000008,%eax
18009b71d:	c3                   	ret
18009b71e:	cc                   	int3
18009b71f:	cc                   	int3
18009b720:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18009b725:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18009b72a:	55                   	push   %rbp
18009b72b:	48 8b ec             	mov    %rsp,%rbp
18009b72e:	48 83 ec 50          	sub    $0x50,%rsp
18009b732:	33 ff                	xor    %edi,%edi
18009b734:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
18009b738:	21 7d f8             	and    %edi,-0x8(%rbp)
18009b73b:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
18009b73f:	48 21 7d e8          	and    %rdi,-0x18(%rbp)
18009b743:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
18009b747:	21 7d f4             	and    %edi,-0xc(%rbp)
18009b74a:	41 b9 00 10 00 00    	mov    $0x1000,%r9d
18009b750:	21 7d f0             	and    %edi,-0x10(%rbp)
18009b753:	44 8d 47 05          	lea    0x5(%rdi),%r8d
18009b757:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
18009b75b:	e8 2c c4 ff ff       	call   0x180097b8c
18009b760:	85 c0                	test   %eax,%eax
18009b762:	78 60                	js     0x18009b7c4
18009b764:	48 8b 5d d0          	mov    -0x30(%rbp),%rbx
18009b768:	eb 46                	jmp    0x18009b7b0
18009b76a:	8b 43 2c             	mov    0x2c(%rbx),%eax
18009b76d:	8b c8                	mov    %eax,%ecx
18009b76f:	81 e1 00 00 00 f0    	and    $0xf0000000,%ecx
18009b775:	81 f9 00 00 00 e0    	cmp    $0xe0000000,%ecx
18009b77b:	75 30                	jne    0x18009b7ad
18009b77d:	25 ff ff ff 0f       	and    $0xfffffff,%eax
18009b782:	83 f8 10             	cmp    $0x10,%eax
18009b785:	72 26                	jb     0x18009b7ad
18009b787:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
18009b78b:	48 85 c9             	test   %rcx,%rcx
18009b78e:	74 0b                	je     0x18009b79b
18009b790:	48 c1 e1 0c          	shl    $0xc,%rcx
18009b794:	e8 97 c3 ff ff       	call   0x180097b30
18009b799:	eb 0d                	jmp    0x18009b7a8
18009b79b:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18009b79f:	48 c1 e1 0c          	shl    $0xc,%rcx
18009b7a3:	e8 b4 c3 ff ff       	call   0x180097b5c
18009b7a8:	85 c0                	test   %eax,%eax
18009b7aa:	0f 48 f8             	cmovs  %eax,%edi
18009b7ad:	48 8b 1b             	mov    (%rbx),%rbx
18009b7b0:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
18009b7b4:	48 3b d8             	cmp    %rax,%rbx
18009b7b7:	75 b1                	jne    0x18009b76a
18009b7b9:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
18009b7bd:	e8 8a c9 ff ff       	call   0x18009814c
18009b7c2:	8b c7                	mov    %edi,%eax
18009b7c4:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18009b7c9:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18009b7ce:	48 83 c4 50          	add    $0x50,%rsp
18009b7d2:	5d                   	pop    %rbp
18009b7d3:	c3                   	ret
18009b7d4:	cc                   	int3
18009b7d5:	cc                   	int3
18009b7d6:	cc                   	int3
18009b7d7:	cc                   	int3
18009b7d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18009b7dd:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18009b7e2:	55                   	push   %rbp
18009b7e3:	48 8b ec             	mov    %rsp,%rbp
18009b7e6:	48 83 ec 50          	sub    $0x50,%rsp
18009b7ea:	33 ff                	xor    %edi,%edi
18009b7ec:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
18009b7f0:	21 7d f8             	and    %edi,-0x8(%rbp)
18009b7f3:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
18009b7f7:	48 21 7d e8          	and    %rdi,-0x18(%rbp)
18009b7fb:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
18009b7ff:	21 7d f4             	and    %edi,-0xc(%rbp)
18009b802:	41 b9 00 10 00 00    	mov    $0x1000,%r9d
18009b808:	21 7d f0             	and    %edi,-0x10(%rbp)
18009b80b:	44 8d 47 05          	lea    0x5(%rdi),%r8d
18009b80f:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
18009b813:	e8 74 c3 ff ff       	call   0x180097b8c
18009b818:	85 c0                	test   %eax,%eax
18009b81a:	78 5b                	js     0x18009b877
18009b81c:	48 8b 5d d0          	mov    -0x30(%rbp),%rbx
18009b820:	eb 41                	jmp    0x18009b863
18009b822:	8b 43 2c             	mov    0x2c(%rbx),%eax
18009b825:	25 00 00 00 f0       	and    $0xf0000000,%eax
18009b82a:	3d 00 00 00 d0       	cmp    $0xd0000000,%eax
18009b82f:	75 2f                	jne    0x18009b860
18009b831:	f7 43 28 00 00 00 30 	testl  $0x30000000,0x28(%rbx)
18009b838:	75 26                	jne    0x18009b860
18009b83a:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
18009b83e:	48 85 c9             	test   %rcx,%rcx
18009b841:	74 0b                	je     0x18009b84e
18009b843:	48 c1 e1 0c          	shl    $0xc,%rcx
18009b847:	e8 e4 c2 ff ff       	call   0x180097b30
18009b84c:	eb 0d                	jmp    0x18009b85b
18009b84e:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
18009b852:	48 c1 e1 0c          	shl    $0xc,%rcx
18009b856:	e8 01 c3 ff ff       	call   0x180097b5c
18009b85b:	85 c0                	test   %eax,%eax
18009b85d:	0f 48 f8             	cmovs  %eax,%edi
18009b860:	48 8b 1b             	mov    (%rbx),%rbx
18009b863:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
18009b867:	48 3b d8             	cmp    %rax,%rbx
18009b86a:	75 b6                	jne    0x18009b822
18009b86c:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
18009b870:	e8 d7 c8 ff ff       	call   0x18009814c
18009b875:	8b c7                	mov    %edi,%eax
18009b877:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18009b87c:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18009b881:	48 83 c4 50          	add    $0x50,%rsp
18009b885:	5d                   	pop    %rbp
18009b886:	c3                   	ret
18009b887:	cc                   	int3
18009b888:	48 8b 05 09 74 10 00 	mov    0x107409(%rip),%rax        # 0x1801a2c98
18009b88f:	48 ff e0             	rex.W jmp *%rax
18009b892:	cc                   	int3
18009b893:	cc                   	int3
18009b894:	45 33 c0             	xor    %r8d,%r8d
18009b897:	48 8d 41 08          	lea    0x8(%rcx),%rax
18009b89b:	48 85 d2             	test   %rdx,%rdx
18009b89e:	44 89 41 18          	mov    %r8d,0x18(%rcx)
18009b8a2:	4c 89 00             	mov    %r8,(%rax)
18009b8a5:	48 0f 44 d0          	cmove  %rax,%rdx
18009b8a9:	4c 89 40 08          	mov    %r8,0x8(%rax)
18009b8ad:	48 89 11             	mov    %rdx,(%rcx)
18009b8b0:	c3                   	ret
18009b8b1:	cc                   	int3
18009b8b2:	cc                   	int3
18009b8b3:	cc                   	int3
18009b8b4:	80 3d d5 73 10 00 00 	cmpb   $0x0,0x1073d5(%rip)        # 0x1801a2c90
18009b8bb:	75 0d                	jne    0x18009b8ca
18009b8bd:	ff 05 b9 73 10 00    	incl   0x1073b9(%rip)        # 0x1801a2c7c
18009b8c3:	c6 05 c6 73 10 00 01 	movb   $0x1,0x1073c6(%rip)        # 0x1801a2c90
18009b8ca:	c3                   	ret
18009b8cb:	cc                   	int3
18009b8cc:	48 83 ec 28          	sub    $0x28,%rsp
18009b8d0:	80 3d b9 73 10 00 00 	cmpb   $0x0,0x1073b9(%rip)        # 0x1801a2c90
18009b8d7:	74 12                	je     0x18009b8eb
18009b8d9:	c6 05 b0 73 10 00 00 	movb   $0x0,0x1073b0(%rip)        # 0x1801a2c90
18009b8e0:	e8 b7 09 00 00       	call   0x18009c29c
18009b8e5:	ff 0d 91 73 10 00    	decl   0x107391(%rip)        # 0x1801a2c7c
18009b8eb:	48 83 c4 28          	add    $0x28,%rsp
18009b8ef:	c3                   	ret
18009b8f0:	cc                   	int3
18009b8f1:	cc                   	int3
18009b8f2:	cc                   	int3
18009b8f3:	cc                   	int3
18009b8f4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18009b8f9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18009b8fe:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18009b903:	57                   	push   %rdi
18009b904:	41 56                	push   %r14
18009b906:	41 57                	push   %r15
18009b908:	48 83 ec 20          	sub    $0x20,%rsp
18009b90c:	80 3d 85 9b 0f 00 00 	cmpb   $0x0,0xf9b85(%rip)        # 0x180195498
18009b913:	4d 8b f8             	mov    %r8,%r15
18009b916:	8b ea                	mov    %edx,%ebp
18009b918:	75 0a                	jne    0x18009b924
18009b91a:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
18009b91f:	e9 bf 00 00 00       	jmp    0x18009b9e3
18009b924:	4d 85 ff             	test   %r15,%r15
18009b927:	0f 84 b1 00 00 00    	je     0x18009b9de
18009b92d:	83 f9 ff             	cmp    $0xffffffff,%ecx
18009b930:	0f 84 a8 00 00 00    	je     0x18009b9de
18009b936:	e8 19 06 00 00       	call   0x18009bf54
18009b93b:	48 8b f8             	mov    %rax,%rdi
18009b93e:	48 85 c0             	test   %rax,%rax
18009b941:	0f 84 97 00 00 00    	je     0x18009b9de
18009b947:	83 78 58 00          	cmpl   $0x0,0x58(%rax)
18009b94b:	0f 84 8d 00 00 00    	je     0x18009b9de
18009b951:	48 8b 18             	mov    (%rax),%rbx
18009b954:	45 33 f6             	xor    %r14d,%r14d
18009b957:	48 3b d8             	cmp    %rax,%rbx
18009b95a:	74 2f                	je     0x18009b98b
18009b95c:	48 8b f3             	mov    %rbx,%rsi
18009b95f:	39 6b 14             	cmp    %ebp,0x14(%rbx)
18009b962:	72 1a                	jb     0x18009b97e
18009b964:	44 8b 43 18          	mov    0x18(%rbx),%r8d
18009b968:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
18009b96c:	45 33 c9             	xor    %r9d,%r9d
18009b96f:	8b d5                	mov    %ebp,%edx
18009b971:	e8 56 3e f9 ff       	call   0x18002f7cc
18009b976:	44 8b f0             	mov    %eax,%r14d
18009b979:	83 f8 ff             	cmp    $0xffffffff,%eax
18009b97c:	75 08                	jne    0x18009b986
18009b97e:	48 8b 1b             	mov    (%rbx),%rbx
18009b981:	48 3b df             	cmp    %rdi,%rbx
18009b984:	75 d6                	jne    0x18009b95c
18009b986:	48 3b df             	cmp    %rdi,%rbx
18009b989:	75 22                	jne    0x18009b9ad
18009b98b:	48 83 64 24 58 00    	andq   $0x0,0x58(%rsp)
18009b991:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
18009b996:	44 8b c5             	mov    %ebp,%r8d
18009b999:	48 8b d7             	mov    %rdi,%rdx
18009b99c:	e8 e3 03 00 00       	call   0x18009bd84
18009b9a1:	85 c0                	test   %eax,%eax
18009b9a3:	78 3e                	js     0x18009b9e3
18009b9a5:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
18009b9aa:	45 33 f6             	xor    %r14d,%r14d
18009b9ad:	48 8d 4e 20          	lea    0x20(%rsi),%rcx
18009b9b1:	44 8b c5             	mov    %ebp,%r8d
18009b9b4:	41 8b d6             	mov    %r14d,%edx
18009b9b7:	e8 78 3f f9 ff       	call   0x18002f934
18009b9bc:	41 8d 04 2e          	lea    (%r14,%rbp,1),%eax
18009b9c0:	89 46 18             	mov    %eax,0x18(%rsi)
18009b9c3:	29 6e 14             	sub    %ebp,0x14(%rsi)
18009b9c6:	8b 4f 50             	mov    0x50(%rdi),%ecx
18009b9c9:	41 8b c6             	mov    %r14d,%eax
18009b9cc:	48 0f af c8          	imul   %rax,%rcx
18009b9d0:	48 8b 46 30          	mov    0x30(%rsi),%rax
18009b9d4:	48 03 c1             	add    %rcx,%rax
18009b9d7:	49 89 07             	mov    %rax,(%r15)
18009b9da:	33 c0                	xor    %eax,%eax
18009b9dc:	eb 05                	jmp    0x18009b9e3
18009b9de:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
18009b9e3:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
18009b9e8:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
18009b9ed:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
18009b9f2:	48 83 c4 20          	add    $0x20,%rsp
18009b9f6:	41 5f                	pop    %r15
18009b9f8:	41 5e                	pop    %r14
18009b9fa:	5f                   	pop    %rdi
18009b9fb:	c3                   	ret
18009b9fc:	cc                   	int3