18002f514:	85 db                	test   %ebx,%ebx
18002f516:	48 f7 d0             	not    %rax
18002f519:	48 0f 44 02          	cmove  (%rdx),%rax
18002f51d:	4c 0b c0             	or     %rax,%r8
18002f520:	83 ff 7f             	cmp    $0x7f,%edi
18002f523:	0f 86 e3 00 00 00    	jbe    0x18002f60c
18002f529:	41 84 ed             	test   %bpl,%r13b
18002f52c:	4c 8d 56 08          	lea    0x8(%rsi),%r10
18002f530:	4c 0f 44 d6          	cmove  %rsi,%r10
18002f534:	4d 85 c0             	test   %r8,%r8
18002f537:	75 04                	jne    0x18002f53d
18002f539:	33 c9                	xor    %ecx,%ecx
18002f53b:	eb 5f                	jmp    0x18002f59c
18002f53d:	48 83 c2 08          	add    $0x8,%rdx
18002f541:	85 db                	test   %ebx,%ebx
18002f543:	48 8b 02             	mov    (%rdx),%rax
18002f546:	48 f7 d0             	not    %rax
18002f549:	48 0f 44 02          	cmove  (%rdx),%rax
18002f54d:	48 85 c0             	test   %rax,%rax
18002f550:	75 12                	jne    0x18002f564
18002f552:	49 0f bd c0          	bsr    %r8,%rax
18002f556:	75 05                	jne    0x18002f55d
18002f558:	41 8b cb             	mov    %r11d,%ecx
18002f55b:	eb 3f                	jmp    0x18002f59c
18002f55d:	41 8b cd             	mov    %r13d,%ecx
18002f560:	2b c8                	sub    %eax,%ecx
18002f562:	eb 38                	jmp    0x18002f59c
18002f564:	49 3b d2             	cmp    %r10,%rdx
18002f567:	0f 87 08 02 00 00    	ja     0x18002f775
18002f56d:	48 83 c2 08          	add    $0x8,%rdx
18002f571:	85 db                	test   %ebx,%ebx
18002f573:	48 8b 02             	mov    (%rdx),%rax
18002f576:	48 f7 d0             	not    %rax
18002f579:	48 0f 44 02          	cmove  (%rdx),%rax
18002f57d:	48 85 c0             	test   %rax,%rax
18002f580:	75 e2                	jne    0x18002f564
18002f582:	48 8b 42 f8          	mov    -0x8(%rdx),%rax
18002f586:	85 db                	test   %ebx,%ebx
18002f588:	48 f7 d0             	not    %rax
18002f58b:	48 0f 44 42 f8       	cmove  -0x8(%rdx),%rax
18002f590:	4c 0f bd c0          	bsr    %rax,%r8
18002f594:	74 c2                	je     0x18002f558
18002f596:	41 8b cd             	mov    %r13d,%ecx
18002f599:	41 2b c8             	sub    %r8d,%ecx
18002f59c:	4c 8b ca             	mov    %rdx,%r9
18002f59f:	4d 2b ce             	sub    %r14,%r9
18002f5a2:	49 c1 f9 03          	sar    $0x3,%r9
18002f5a6:	41 c1 e1 06          	shl    $0x6,%r9d
18002f5aa:	44 2b c9             	sub    %ecx,%r9d
18002f5ad:	44 3b cd             	cmp    %ebp,%r9d
18002f5b0:	0f 87 bf 01 00 00    	ja     0x18002f775
18002f5b6:	8b c7                	mov    %edi,%eax
18002f5b8:	2b c1                	sub    %ecx,%eax
18002f5ba:	44 8b c0             	mov    %eax,%r8d
18002f5bd:	48 c1 e8 06          	shr    $0x6,%rax
18002f5c1:	48 8d 0c c2          	lea    (%rdx,%rax,8),%rcx
18002f5c5:	eb 11                	jmp    0x18002f5d8
18002f5c7:	48 8b 02             	mov    (%rdx),%rax
18002f5ca:	85 db                	test   %ebx,%ebx
18002f5cc:	48 f7 d0             	not    %rax
18002f5cf:	48 0f 44 02          	cmove  (%rdx),%rax
18002f5d3:	48 85 c0             	test   %rax,%rax
18002f5d6:	75 8c                	jne    0x18002f564
18002f5d8:	48 83 c2 08          	add    $0x8,%rdx
18002f5dc:	48 3b d1             	cmp    %rcx,%rdx
18002f5df:	75 e6                	jne    0x18002f5c7
18002f5e1:	45 23 c5             	and    %r13d,%r8d
18002f5e4:	0f 84 db 01 00 00    	je     0x18002f7c5
18002f5ea:	48 8b 02             	mov    (%rdx),%rax
18002f5ed:	85 db                	test   %ebx,%ebx
18002f5ef:	48 f7 d0             	not    %rax
18002f5f2:	48 0f 44 02          	cmove  (%rdx),%rax
18002f5f6:	48 0f bc c8          	bsf    %rax,%rcx
18002f5fa:	41 0f 44 cb          	cmove  %r11d,%ecx
18002f5fe:	41 3b c8             	cmp    %r8d,%ecx
18002f601:	0f 83 be 01 00 00    	jae    0x18002f7c5
18002f607:	e9 58 ff ff ff       	jmp    0x18002f564
18002f60c:	41 3b fb             	cmp    %r11d,%edi
18002f60f:	0f 83 97 00 00 00    	jae    0x18002f6ac
18002f615:	83 ff 01             	cmp    $0x1,%edi
18002f618:	0f 86 87 01 00 00    	jbe    0x18002f7a5
18002f61e:	33 c9                	xor    %ecx,%ecx
18002f620:	41 8b c1             	mov    %r9d,%eax
18002f623:	48 c1 e8 06          	shr    $0x6,%rax
18002f627:	4d 8d 3c c6          	lea    (%r14,%rax,8),%r15
18002f62b:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18002f62f:	75 21                	jne    0x18002f652
18002f631:	48 83 c2 08          	add    $0x8,%rdx
18002f635:	48 3b d6             	cmp    %rsi,%rdx
18002f638:	0f 87 37 01 00 00    	ja     0x18002f775
18002f63e:	4c 8b 02             	mov    (%rdx),%r8
18002f641:	85 db                	test   %ebx,%ebx
18002f643:	49 f7 d0             	not    %r8
18002f646:	4c 0f 44 02          	cmove  (%rdx),%r8
18002f64a:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18002f64e:	74 e1                	je     0x18002f631
18002f650:	33 c9                	xor    %ecx,%ecx
18002f652:	49 0f bc c0          	bsf    %r8,%rax
18002f656:	41 0f 44 c3          	cmove  %r11d,%eax
18002f65a:	03 c1                	add    %ecx,%eax
18002f65c:	3b c7                	cmp    %edi,%eax
18002f65e:	0f 83 fa 00 00 00    	jae    0x18002f75e
18002f664:	4d 8b c8             	mov    %r8,%r9
18002f667:	44 8b d7             	mov    %edi,%r10d
18002f66a:	49 f7 d1             	not    %r9
18002f66d:	49 8b c1             	mov    %r9,%rax
18002f670:	41 8b ca             	mov    %r10d,%ecx
18002f673:	d1 e9                	shr    $1,%ecx
18002f675:	48 d3 e8             	shr    %cl,%rax
18002f678:	4c 23 c8             	and    %rax,%r9
18002f67b:	0f 84 b3 00 00 00    	je     0x18002f734
18002f681:	44 2b d1             	sub    %ecx,%r10d
18002f684:	41 83 fa 01          	cmp    $0x1,%r10d
18002f688:	77 e3                	ja     0x18002f66d
18002f68a:	4d 0f bc c9          	bsf    %r9,%r9
18002f68e:	e9 d0 00 00 00       	jmp    0x18002f763
18002f693:	48 83 c2 08          	add    $0x8,%rdx
18002f697:	48 3b d6             	cmp    %rsi,%rdx
18002f69a:	0f 87 d5 00 00 00    	ja     0x18002f775
18002f6a0:	4c 8b 02             	mov    (%rdx),%r8
18002f6a3:	85 db                	test   %ebx,%ebx
18002f6a5:	49 f7 d0             	not    %r8
18002f6a8:	4c 0f 44 02          	cmove  (%rdx),%r8
18002f6ac:	4d 85 c0             	test   %r8,%r8
18002f6af:	78 e2                	js     0x18002f693
18002f6b1:	49 0f bd c0          	bsr    %r8,%rax
18002f6b5:	75 05                	jne    0x18002f6bc
18002f6b7:	41 8b cb             	mov    %r11d,%ecx
18002f6ba:	eb 05                	jmp    0x18002f6c1
18002f6bc:	41 8b cd             	mov    %r13d,%ecx
18002f6bf:	2b c8                	sub    %eax,%ecx
18002f6c1:	48 8b c2             	mov    %rdx,%rax
18002f6c4:	49 2b c6             	sub    %r14,%rax
18002f6c7:	48 c1 f8 03          	sar    $0x3,%rax
18002f6cb:	ff c0                	inc    %eax
18002f6cd:	c1 e0 06             	shl    $0x6,%eax
18002f6d0:	2b c1                	sub    %ecx,%eax
18002f6d2:	44 8b c8             	mov    %eax,%r9d
18002f6d5:	3b c5                	cmp    %ebp,%eax
18002f6d7:	0f 87 98 00 00 00    	ja     0x18002f775
18002f6dd:	44 8b d7             	mov    %edi,%r10d
18002f6e0:	44 2b d1             	sub    %ecx,%r10d
18002f6e3:	0f 84 dc 00 00 00    	je     0x18002f7c5
18002f6e9:	48 83 c2 08          	add    $0x8,%rdx
18002f6ed:	85 db                	test   %ebx,%ebx
18002f6ef:	48 8b 02             	mov    (%rdx),%rax
18002f6f2:	48 f7 d0             	not    %rax
18002f6f5:	48 0f 44 02          	cmove  (%rdx),%rax
18002f6f9:	4c 8b c0             	mov    %rax,%r8
18002f6fc:	45 3b d3             	cmp    %r11d,%r10d
18002f6ff:	72 1d                	jb     0x18002f71e
18002f701:	48 85 c0             	test   %rax,%rax
18002f704:	75 a6                	jne    0x18002f6ac
18002f706:	41 83 c2 c0          	add    $0xffffffc0,%r10d
18002f70a:	0f 84 b5 00 00 00    	je     0x18002f7c5
18002f710:	48 83 c2 08          	add    $0x8,%rdx
18002f714:	4c 8b 02             	mov    (%rdx),%r8
18002f717:	85 db                	test   %ebx,%ebx
18002f719:	74 03                	je     0x18002f71e
18002f71b:	49 f7 d0             	not    %r8
18002f71e:	49 0f bc c0          	bsf    %r8,%rax
18002f722:	41 0f 44 c3          	cmove  %r11d,%eax
18002f726:	41 3b c2             	cmp    %r10d,%eax
18002f729:	0f 83 96 00 00 00    	jae    0x18002f7c5
18002f72f:	e9 78 ff ff ff       	jmp    0x18002f6ac
18002f734:	49 3b d7             	cmp    %r15,%rdx
18002f737:	74 3c                	je     0x18002f775
18002f739:	49 0f bd c0          	bsr    %r8,%rax
18002f73d:	75 05                	jne    0x18002f744
18002f73f:	41 8b cb             	mov    %r11d,%ecx
18002f742:	eb 05                	jmp    0x18002f749
18002f744:	41 8b cd             	mov    %r13d,%ecx
18002f747:	2b c8                	sub    %eax,%ecx
18002f749:	48 83 c2 08          	add    $0x8,%rdx
18002f74d:	85 db                	test   %ebx,%ebx
18002f74f:	4c 8b 02             	mov    (%rdx),%r8
18002f752:	49 f7 d0             	not    %r8
18002f755:	4c 0f 44 02          	cmove  (%rdx),%r8
18002f759:	e9 cd fe ff ff       	jmp    0x18002f62b
18002f75e:	f7 d9                	neg    %ecx
18002f760:	44 8b c9             	mov    %ecx,%r9d
18002f763:	49 2b d6             	sub    %r14,%rdx
18002f766:	48 c1 fa 03          	sar    $0x3,%rdx
18002f76a:	c1 e2 06             	shl    $0x6,%edx
18002f76d:	44 03 ca             	add    %edx,%r9d
18002f770:	44 3b cd             	cmp    %ebp,%r9d
18002f773:	76 50                	jbe    0x18002f7c5
18002f775:	83 c8 ff             	or     $0xffffffff,%eax
18002f778:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
18002f77d:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18002f782:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18002f787:	41 5f                	pop    %r15
18002f789:	41 5e                	pop    %r14
18002f78b:	41 5d                	pop    %r13
18002f78d:	5f                   	pop    %rdi
18002f78e:	c3                   	ret
18002f78f:	cc                   	int3
18002f790:	48 83 c2 08          	add    $0x8,%rdx
18002f794:	48 3b d6             	cmp    %rsi,%rdx
18002f797:	77 dc                	ja     0x18002f775
18002f799:	4c 8b 02             	mov    (%rdx),%r8
18002f79c:	85 db                	test   %ebx,%ebx
18002f79e:	49 f7 d0             	not    %r8
18002f7a1:	4c 0f 44 02          	cmove  (%rdx),%r8
18002f7a5:	49 83 f8 ff          	cmp    $0xffffffffffffffff,%r8
18002f7a9:	74 e5                	je     0x18002f790
18002f7ab:	49 2b d6             	sub    %r14,%rdx
18002f7ae:	49 f7 d0             	not    %r8
18002f7b1:	48 c1 fa 03          	sar    $0x3,%rdx
18002f7b5:	49 0f bc c0          	bsf    %r8,%rax
18002f7b9:	c1 e2 06             	shl    $0x6,%edx
18002f7bc:	03 d0                	add    %eax,%edx
18002f7be:	44 8b ca             	mov    %edx,%r9d
18002f7c1:	3b d5                	cmp    %ebp,%edx
18002f7c3:	77 b0                	ja     0x18002f775
18002f7c5:	41 8b c1             	mov    %r9d,%eax
18002f7c8:	eb ae                	jmp    0x18002f778
18002f7ca:	cc                   	int3
18002f7cb:	cc                   	int3
18002f7cc:	48 8b c4             	mov    %rsp,%rax
18002f7cf:	48 89 58 08          	mov    %rbx,0x8(%rax)
18002f7d3:	48 89 68 10          	mov    %rbp,0x10(%rax)
18002f7d7:	48 89 70 18          	mov    %rsi,0x18(%rax)
18002f7db:	48 89 78 20          	mov    %rdi,0x20(%rax)
18002f7df:	41 54                	push   %r12
18002f7e1:	41 56                	push   %r14
18002f7e3:	41 57                	push   %r15
18002f7e5:	48 83 ec 30          	sub    $0x30,%rsp
18002f7e9:	8b 29                	mov    (%rcx),%ebp
18002f7eb:	45 8b e1             	mov    %r9d,%r12d
18002f7ee:	4c 8b 79 08          	mov    0x8(%rcx),%r15
18002f7f2:	44 3b c5             	cmp    %ebp,%r8d
18002f7f5:	45 8b f0             	mov    %r8d,%r14d
18002f7f8:	8b f2                	mov    %edx,%esi
18002f7fa:	1b db                	sbb    %ebx,%ebx
18002f7fc:	41 23 d8             	and    %r8d,%ebx
18002f7ff:	85 d2                	test   %edx,%edx
18002f801:	75 07                	jne    0x18002f80a
18002f803:	83 e3 f8             	and    $0xfffffff8,%ebx
18002f806:	8b c3                	mov    %ebx,%eax
18002f808:	eb 5f                	jmp    0x18002f869
18002f80a:	49 8b cf             	mov    %r15,%rcx
18002f80d:	44 8d 4d ff          	lea    -0x1(%rbp),%r9d
18002f811:	83 e1 04             	and    $0x4,%ecx
18002f814:	8b c1                	mov    %ecx,%eax
18002f816:	48 f7 d8             	neg    %rax
18002f819:	1b ff                	sbb    %edi,%edi
18002f81b:	83 e7 20             	and    $0x20,%edi
18002f81e:	48 f7 d9             	neg    %rcx
18002f821:	48 1b c0             	sbb    %rax,%rax
18002f824:	83 e0 04             	and    $0x4,%eax
18002f827:	44 8d 04 1f          	lea    (%rdi,%rbx,1),%r8d
18002f82b:	4c 2b f8             	sub    %rax,%r15
18002f82e:	eb 18                	jmp    0x18002f848
18002f830:	85 db                	test   %ebx,%ebx
18002f832:	74 2b                	je     0x18002f85f
18002f834:	42 8d 04 36          	lea    (%rsi,%r14,1),%eax
18002f838:	44 8b c7             	mov    %edi,%r8d
18002f83b:	3b c5                	cmp    %ebp,%eax
18002f83d:	8b d6                	mov    %esi,%edx
18002f83f:	0f 47 c5             	cmova  %ebp,%eax
18002f842:	33 db                	xor    %ebx,%ebx
18002f844:	44 8d 48 ff          	lea    -0x1(%rax),%r9d
18002f848:	44 03 cf             	add    %edi,%r9d
18002f84b:	44 89 64 24 20       	mov    %r12d,0x20(%rsp)
18002f850:	49 8b cf             	mov    %r15,%rcx
18002f853:	e8 54 fc ff ff       	call   0x18002f4ac
18002f858:	8b c8                	mov    %eax,%ecx
18002f85a:	83 f8 ff             	cmp    $0xffffffff,%eax
18002f85d:	74 d1                	je     0x18002f830
18002f85f:	8b c1                	mov    %ecx,%eax
18002f861:	2b c7                	sub    %edi,%eax
18002f863:	83 f9 ff             	cmp    $0xffffffff,%ecx
18002f866:	0f 44 c1             	cmove  %ecx,%eax
18002f869:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18002f86e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18002f873:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18002f878:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
18002f87d:	48 83 c4 30          	add    $0x30,%rsp
18002f881:	41 5f                	pop    %r15
18002f883:	41 5e                	pop    %r14
18002f885:	41 5c                	pop    %r12
18002f887:	c3                   	ret
18002f888:	cc                   	int3
18002f889:	cc                   	int3
18002f88a:	cc                   	int3
18002f88b:	cc                   	int3
18002f88c:	45 33 c9             	xor    %r9d,%r9d
18002f88f:	e9 38 ff ff ff       	jmp    0x18002f7cc
18002f894:	45 85 c0             	test   %r8d,%r8d
18002f897:	0f 84 94 00 00 00    	je     0x18002f931
18002f89d:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002f8a2:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18002f8a7:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18002f8ac:	57                   	push   %rdi
18002f8ad:	48 83 ec 20          	sub    $0x20,%rsp
18002f8b1:	8b fa                	mov    %edx,%edi
18002f8b3:	48 8d 2d 46 07 fd ff 	lea    -0x2f8ba(%rip),%rbp        # 0x180000000
18002f8ba:	83 e2 07             	and    $0x7,%edx
18002f8bd:	48 c1 ef 03          	shr    $0x3,%rdi
18002f8c1:	48 03 79 08          	add    0x8(%rcx),%rdi
18002f8c5:	41 8b f0             	mov    %r8d,%esi
18002f8c8:	8d 0c 32             	lea    (%rdx,%rsi,1),%ecx
18002f8cb:	83 f9 08             	cmp    $0x8,%ecx
18002f8ce:	77 0f                	ja     0x18002f8df
18002f8d0:	8a 84 2e 98 ba 14 00 	mov    0x14ba98(%rsi,%rbp,1),%al
18002f8d7:	8b ca                	mov    %edx,%ecx
18002f8d9:	d2 e0                	shl    %cl,%al
18002f8db:	f6 d0                	not    %al
18002f8dd:	eb 3c                	jmp    0x18002f91b
18002f8df:	85 d2                	test   %edx,%edx
18002f8e1:	74 0f                	je     0x18002f8f2
18002f8e3:	8a 84 2a 98 ba 14 00 	mov    0x14ba98(%rdx,%rbp,1),%al
18002f8ea:	8d 71 f8             	lea    -0x8(%rcx),%esi
18002f8ed:	20 07                	and    %al,(%rdi)
18002f8ef:	48 ff c7             	inc    %rdi
18002f8f2:	83 fe 08             	cmp    $0x8,%esi
18002f8f5:	76 19                	jbe    0x18002f910
18002f8f7:	8b de                	mov    %esi,%ebx
18002f8f9:	33 d2                	xor    %edx,%edx
18002f8fb:	48 c1 eb 03          	shr    $0x3,%rbx
18002f8ff:	48 8b cf             	mov    %rdi,%rcx
18002f902:	4c 8b c3             	mov    %rbx,%r8
18002f905:	e8 76 63 10 00       	call   0x180135c80
18002f90a:	48 03 fb             	add    %rbx,%rdi
18002f90d:	83 e6 07             	and    $0x7,%esi
18002f910:	85 f6                	test   %esi,%esi
18002f912:	74 09                	je     0x18002f91d
18002f914:	8a 84 2e a8 ba 14 00 	mov    0x14baa8(%rsi,%rbp,1),%al
18002f91b:	20 07                	and    %al,(%rdi)
18002f91d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18002f922:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18002f927:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18002f92c:	48 83 c4 20          	add    $0x20,%rsp
18002f930:	5f                   	pop    %rdi
18002f931:	c3                   	ret
18002f932:	cc                   	int3
18002f933:	cc                   	int3
18002f934:	45 85 c0             	test   %r8d,%r8d
18002f937:	0f 84 95 00 00 00    	je     0x18002f9d2
18002f93d:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002f942:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18002f947:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18002f94c:	57                   	push   %rdi
18002f94d:	48 83 ec 20          	sub    $0x20,%rsp
18002f951:	8b fa                	mov    %edx,%edi
18002f953:	48 8d 2d a6 06 fd ff 	lea    -0x2f95a(%rip),%rbp        # 0x180000000
18002f95a:	83 e2 07             	and    $0x7,%edx
18002f95d:	48 c1 ef 03          	shr    $0x3,%rdi
18002f961:	48 03 79 08          	add    0x8(%rcx),%rdi