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
18002f965:	41 8b f0             	mov    %r8d,%esi
18002f968:	8d 0c 32             	lea    (%rdx,%rsi,1),%ecx
18002f96b:	83 f9 08             	cmp    $0x8,%ecx
18002f96e:	77 0d                	ja     0x18002f97d
18002f970:	8a 84 2e 98 ba 14 00 	mov    0x14ba98(%rsi,%rbp,1),%al
18002f977:	8b ca                	mov    %edx,%ecx
18002f979:	d2 e0                	shl    %cl,%al
18002f97b:	eb 3f                	jmp    0x18002f9bc
18002f97d:	85 d2                	test   %edx,%edx
18002f97f:	74 0f                	je     0x18002f990
18002f981:	8a 84 2a a8 ba 14 00 	mov    0x14baa8(%rdx,%rbp,1),%al
18002f988:	8d 71 f8             	lea    -0x8(%rcx),%esi
18002f98b:	08 07                	or     %al,(%rdi)
18002f98d:	48 ff c7             	inc    %rdi
18002f990:	83 fe 08             	cmp    $0x8,%esi
18002f993:	76 1c                	jbe    0x18002f9b1
18002f995:	8b de                	mov    %esi,%ebx
18002f997:	ba ff 00 00 00       	mov    $0xff,%edx
18002f99c:	48 c1 eb 03          	shr    $0x3,%rbx
18002f9a0:	48 8b cf             	mov    %rdi,%rcx
18002f9a3:	4c 8b c3             	mov    %rbx,%r8
18002f9a6:	e8 d5 62 10 00       	call   0x180135c80
18002f9ab:	48 03 fb             	add    %rbx,%rdi
18002f9ae:	83 e6 07             	and    $0x7,%esi
18002f9b1:	85 f6                	test   %esi,%esi
18002f9b3:	74 09                	je     0x18002f9be
18002f9b5:	8a 84 2e 98 ba 14 00 	mov    0x14ba98(%rsi,%rbp,1),%al
18002f9bc:	08 07                	or     %al,(%rdi)
18002f9be:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18002f9c3:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18002f9c8:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18002f9cd:	48 83 c4 20          	add    $0x20,%rsp
18002f9d1:	5f                   	pop    %rdi
18002f9d2:	c3                   	ret
18002f9d3:	cc                   	int3
18002f9d4:	48 8b c4             	mov    %rsp,%rax
18002f9d7:	48 89 58 08          	mov    %rbx,0x8(%rax)
18002f9db:	48 89 68 10          	mov    %rbp,0x10(%rax)
18002f9df:	48 89 70 18          	mov    %rsi,0x18(%rax)
18002f9e3:	48 89 78 20          	mov    %rdi,0x20(%rax)
18002f9e7:	41 56                	push   %r14
18002f9e9:	41 57                	push   %r15
18002f9eb:	8b 01                	mov    (%rcx),%eax
18002f9ed:	45 33 db             	xor    %r11d,%r11d
18002f9f0:	4c 8b 51 08          	mov    0x8(%rcx),%r10
18002f9f4:	8b d0                	mov    %eax,%edx
18002f9f6:	8b f0                	mov    %eax,%esi
18002f9f8:	c1 ea 03             	shr    $0x3,%edx
18002f9fb:	44 8b f0             	mov    %eax,%r14d
18002f9fe:	83 e6 07             	and    $0x7,%esi
18002fa01:	45 8b c2             	mov    %r10d,%r8d
18002fa04:	41 0f 95 c3          	setne  %r11b
18002fa08:	33 ff                	xor    %edi,%edi
18002fa0a:	41 83 e0 07          	and    $0x7,%r8d
18002fa0e:	44 03 da             	add    %edx,%r11d
18002fa11:	41 8b c0             	mov    %r8d,%eax
18002fa14:	8d 4f 08             	lea    0x8(%rdi),%ecx
18002fa17:	48 2b c8             	sub    %rax,%rcx
18002fa1a:	41 8b c6             	mov    %r14d,%eax
18002fa1d:	48 c1 e8 03          	shr    $0x3,%rax
18002fa21:	48 3b c8             	cmp    %rax,%rcx
18002fa24:	77 1f                	ja     0x18002fa45
18002fa26:	44 8d 4f 08          	lea    0x8(%rdi),%r9d
18002fa2a:	45 2b c8             	sub    %r8d,%r9d
18002fa2d:	41 2b d1             	sub    %r9d,%edx
18002fa30:	83 e2 07             	and    $0x7,%edx
18002fa33:	85 f6                	test   %esi,%esi
18002fa35:	8d 5a 01             	lea    0x1(%rdx),%ebx
18002fa38:	0f 44 da             	cmove  %edx,%ebx
18002fa3b:	41 8b d3             	mov    %r11d,%edx
18002fa3e:	2b d3                	sub    %ebx,%edx
18002fa40:	41 2b d1             	sub    %r9d,%edx
18002fa43:	eb 07                	jmp    0x18002fa4c
18002fa45:	33 db                	xor    %ebx,%ebx
18002fa47:	45 8b cb             	mov    %r11d,%r9d
18002fa4a:	33 d2                	xor    %edx,%edx
18002fa4c:	45 33 c0             	xor    %r8d,%r8d
18002fa4f:	4c 8d 3d aa 05 fd ff 	lea    -0x2fa56(%rip),%r15        # 0x180000000
18002fa56:	45 85 c9             	test   %r9d,%r9d
18002fa59:	74 3d                	je     0x18002fa98
18002fa5b:	41 8d 6b ff          	lea    -0x1(%r11),%ebp
18002fa5f:	41 8a 0a             	mov    (%r10),%cl
18002fa62:	49 ff c2             	inc    %r10
18002fa65:	44 3b c5             	cmp    %ebp,%r8d
18002fa68:	75 12                	jne    0x18002fa7c
18002fa6a:	85 f6                	test   %esi,%esi
18002fa6c:	74 0e                	je     0x18002fa7c
18002fa6e:	49 8b c6             	mov    %r14,%rax
18002fa71:	83 e0 07             	and    $0x7,%eax
18002fa74:	42 22 8c 38 98 ba 14 	and    0x14ba98(%rax,%r15,1),%cl
18002fa7b:	00
18002fa7c:	0f b6 c1             	movzbl %cl,%eax
18002fa7f:	41 ff c0             	inc    %r8d
18002fa82:	f7 d0                	not    %eax
18002fa84:	0f b6 c8             	movzbl %al,%ecx
18002fa87:	42 0f b6 84 39 f0 c6 	movzbl 0x14c6f0(%rcx,%r15,1),%eax
18002fa8e:	14 00
18002fa90:	03 f8                	add    %eax,%edi
18002fa92:	41 83 c1 ff          	add    $0xffffffff,%r9d
18002fa96:	75 c7                	jne    0x18002fa5f
18002fa98:	85 d2                	test   %edx,%edx
18002fa9a:	74 77                	je     0x18002fb13
18002fa9c:	8d 42 ff             	lea    -0x1(%rdx),%eax
18002fa9f:	48 bd 33 33 33 33 33 	movabs $0x3333333333333333,%rbp
18002faa6:	33 33 33
18002faa9:	c1 e8 03             	shr    $0x3,%eax
18002faac:	ff c0                	inc    %eax
18002faae:	44 8b c8             	mov    %eax,%r9d
18002fab1:	45 8d 04 c0          	lea    (%r8,%rax,8),%r8d
18002fab5:	49 8b 12             	mov    (%r10),%rdx
18002fab8:	48 b9 55 55 55 55 55 	movabs $0x5555555555555555,%rcx
18002fabf:	55 55 55
18002fac2:	48 8b c2             	mov    %rdx,%rax
18002fac5:	49 83 c2 08          	add    $0x8,%r10
18002fac9:	48 d1 e8             	shr    $1,%rax
18002facc:	48 23 c1             	and    %rcx,%rax
18002facf:	48 2b d0             	sub    %rax,%rdx
18002fad2:	48 8b ca             	mov    %rdx,%rcx
18002fad5:	48 23 d5             	and    %rbp,%rdx
18002fad8:	48 c1 e9 02          	shr    $0x2,%rcx
18002fadc:	48 23 cd             	and    %rbp,%rcx
18002fadf:	48 03 ca             	add    %rdx,%rcx
18002fae2:	48 8b c1             	mov    %rcx,%rax
18002fae5:	48 c1 e8 04          	shr    $0x4,%rax
18002fae9:	48 03 c1             	add    %rcx,%rax
18002faec:	48 b9 0f 0f 0f 0f 0f 	movabs $0xf0f0f0f0f0f0f0f,%rcx
18002faf3:	0f 0f 0f
18002faf6:	48 23 c1             	and    %rcx,%rax
18002faf9:	48 b9 01 01 01 01 01 	movabs $0x101010101010101,%rcx
18002fb00:	01 01 01
18002fb03:	48 0f af c1          	imul   %rcx,%rax
18002fb07:	48 c1 e8 38          	shr    $0x38,%rax
18002fb0b:	03 f8                	add    %eax,%edi
18002fb0d:	49 83 e9 01          	sub    $0x1,%r9
18002fb11:	75 a2                	jne    0x18002fab5
18002fb13:	85 db                	test   %ebx,%ebx
18002fb15:	74 3b                	je     0x18002fb52
18002fb17:	41 ff cb             	dec    %r11d
18002fb1a:	41 8a 0a             	mov    (%r10),%cl
18002fb1d:	49 ff c2             	inc    %r10
18002fb20:	45 3b c3             	cmp    %r11d,%r8d
18002fb23:	75 12                	jne    0x18002fb37
18002fb25:	85 f6                	test   %esi,%esi
18002fb27:	74 0e                	je     0x18002fb37
18002fb29:	49 8b c6             	mov    %r14,%rax
18002fb2c:	83 e0 07             	and    $0x7,%eax
18002fb2f:	42 22 8c 38 98 ba 14 	and    0x14ba98(%rax,%r15,1),%cl
18002fb36:	00
18002fb37:	0f b6 c9             	movzbl %cl,%ecx
18002fb3a:	41 ff c0             	inc    %r8d
18002fb3d:	f7 d1                	not    %ecx
18002fb3f:	0f b6 d1             	movzbl %cl,%edx
18002fb42:	42 0f b6 8c 3a f0 c6 	movzbl 0x14c6f0(%rdx,%r15,1),%ecx
18002fb49:	14 00
18002fb4b:	03 f9                	add    %ecx,%edi
18002fb4d:	83 c3 ff             	add    $0xffffffff,%ebx
18002fb50:	75 c8                	jne    0x18002fb1a
18002fb52:	48 8b 5c 24 18       	mov    0x18(%rsp),%rbx
18002fb57:	8b c7                	mov    %edi,%eax
18002fb59:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
18002fb5e:	48 8b 6c 24 20       	mov    0x20(%rsp),%rbp
18002fb63:	48 8b 74 24 28       	mov    0x28(%rsp),%rsi
18002fb68:	41 5f                	pop    %r15
18002fb6a:	41 5e                	pop    %r14
18002fb6c:	c3                   	ret
18002fb6d:	cc                   	int3
18002fb6e:	cc                   	int3
18002fb6f:	cc                   	int3
18002fb70:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18002fb75:	8b 01                	mov    (%rcx),%eax
18002fb77:	44 8b ca             	mov    %edx,%r9d
18002fb7a:	3b d0                	cmp    %eax,%edx
18002fb7c:	72 07                	jb     0x18002fb85
18002fb7e:	33 c0                	xor    %eax,%eax
18002fb80:	e9 99 00 00 00       	jmp    0x18002fc1e