180099627:	48 8d 0d f2 96 10 00 	lea    0x1096f2(%rip),%rcx        # 0x1801a2d20
18009962e:	eb e7                	jmp    0x180099617
180099630:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180099635:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
18009963a:	49 8b 5b 10          	mov    0x10(%r11),%rbx
18009963e:	49 8b 6b 18          	mov    0x18(%r11),%rbp
180099642:	49 8b 73 20          	mov    0x20(%r11),%rsi
180099646:	49 8b 7b 28          	mov    0x28(%r11),%rdi
18009964a:	49 8b e3             	mov    %r11,%rsp
18009964d:	41 5e                	pop    %r14
18009964f:	c3                   	ret
180099650:	cc                   	int3
180099651:	cc                   	int3
180099652:	cc                   	int3
180099653:	cc                   	int3
180099654:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
180099659:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18009965e:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
180099663:	57                   	push   %rdi
180099664:	41 54                	push   %r12
180099666:	41 55                	push   %r13
180099668:	41 56                	push   %r14
18009966a:	41 57                	push   %r15
18009966c:	48 83 ec 70          	sub    $0x70,%rsp
180099670:	41 8b c0             	mov    %r8d,%eax
180099673:	4c 8b f2             	mov    %rdx,%r14
180099676:	4c 8b f9             	mov    %rcx,%r15
180099679:	48 f7 c1 ff 0f 00 00 	test   $0xfff,%rcx
180099680:	75 7e                	jne    0x180099700
180099682:	49 c1 ef 0c          	shr    $0xc,%r15
180099686:	41 b8 00 00 00 40    	mov    $0x40000000,%r8d
18009968c:	49 8b cf             	mov    %r15,%rcx
18009968f:	8b d0                	mov    %eax,%edx
180099691:	e8 06 2f 00 00       	call   0x18009c59c
180099696:	45 33 ed             	xor    %r13d,%r13d
180099699:	48 8b f0             	mov    %rax,%rsi
18009969c:	48 85 c0             	test   %rax,%rax
18009969f:	74 5f                	je     0x180099700
1800996a1:	8b 40 28             	mov    0x28(%rax),%eax
1800996a4:	0f ba e0 19          	bt     $0x19,%eax
1800996a8:	72 0b                	jb     0x1800996b5
1800996aa:	4d 85 f6             	test   %r14,%r14
1800996ad:	74 06                	je     0x1800996b5
1800996af:	4c 3b 76 20          	cmp    0x20(%rsi),%r14
1800996b3:	75 4b                	jne    0x180099700
1800996b5:	8b 15 c5 bd 0f 00    	mov    0xfbdc5(%rip),%edx        # 0x180195480
1800996bb:	45 8a e5             	mov    %r13b,%r12b
1800996be:	bf 01 00 00 00       	mov    $0x1,%edi
1800996c3:	83 fa 02             	cmp    $0x2,%edx
1800996c6:	75 0b                	jne    0x1800996d3
1800996c8:	0f ba e0 1c          	bt     $0x1c,%eax
1800996cc:	73 05                	jae    0x1800996d3
1800996ce:	44 8a e7             	mov    %dil,%r12b
1800996d1:	eb 07                	jmp    0x1800996da
1800996d3:	0f ba f0 1c          	btr    $0x1c,%eax
1800996d7:	89 46 28             	mov    %eax,0x28(%rsi)
1800996da:	8b 46 2c             	mov    0x2c(%rsi),%eax
1800996dd:	05 fa ff ff 2f       	add    $0x2ffffffa,%eax
1800996e2:	41 0f b6 cd          	movzbl %r13b,%ecx
1800996e6:	3b c7                	cmp    %edi,%eax
1800996e8:	0f 46 cf             	cmovbe %edi,%ecx
1800996eb:	4d 85 f6             	test   %r14,%r14
1800996ee:	74 34                	je     0x180099724
1800996f0:	49 8b c7             	mov    %r15,%rax
1800996f3:	48 2b 46 10          	sub    0x10(%rsi),%rax
1800996f7:	49 03 c6             	add    %r14,%rax
1800996fa:	48 3b 46 20          	cmp    0x20(%rsi),%rax
1800996fe:	76 2e                	jbe    0x18009972e
180099700:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180099705:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
18009970a:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18009970e:	49 8b 6b 40          	mov    0x40(%r11),%rbp
180099712:	49 8b 73 48          	mov    0x48(%r11),%rsi
180099716:	49 8b e3             	mov    %r11,%rsp
180099719:	41 5f                	pop    %r15
18009971b:	41 5e                	pop    %r14
18009971d:	41 5d                	pop    %r13
18009971f:	41 5c                	pop    %r12
180099721:	5f                   	pop    %rdi
180099722:	c3                   	ret
180099723:	cc                   	int3
180099724:	4c 39 7e 10          	cmp    %r15,0x10(%rsi)
180099728:	75 d6                	jne    0x180099700
18009972a:	4c 8b 76 20          	mov    0x20(%rsi),%r14
18009972e:	0f 10 05 cb b2 10 00 	movups 0x10b2cb(%rip),%xmm0        # 0x1801a4a00
180099735:	0f 29 44 24 30       	movaps %xmm0,0x30(%rsp)
18009973a:	83 fa 02             	cmp    $0x2,%edx
18009973d:	0f 84 d1 00 00 00    	je     0x180099814
180099743:	45 84 e4             	test   %r12b,%r12b
180099746:	0f 85 d4 00 00 00    	jne    0x180099820
18009974c:	84 c9                	test   %cl,%cl
18009974e:	0f 85 c5 00 00 00    	jne    0x180099819
180099754:	f6 44 24 30 10       	testb  $0x10,0x30(%rsp)
180099759:	0f 84 ba 00 00 00    	je     0x180099819
18009975f:	49 8b ee             	mov    %r14,%rbp
180099762:	49 8b df             	mov    %r15,%rbx
180099765:	48 c1 e5 0c          	shl    $0xc,%rbp
180099769:	bf 00 00 00 20       	mov    $0x20000000,%edi
18009976e:	48 c1 e3 0c          	shl    $0xc,%rbx
180099772:	eb 55                	jmp    0x1800997c9
180099774:	45 33 c9             	xor    %r9d,%r9d
180099777:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
18009977c:	4c 8b c7             	mov    %rdi,%r8
18009977f:	48 8d 8c 24 a0 00 00 	lea    0xa0(%rsp),%rcx
180099786:	00
180099787:	48 8b d3             	mov    %rbx,%rdx
18009978a:	e8 91 0d 00 00       	call   0x18009a520
18009978f:	85 c0                	test   %eax,%eax
180099791:	0f 88 82 00 00 00    	js     0x180099819
180099797:	48 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%rdi
18009979e:	00
18009979f:	33 c0                	xor    %eax,%eax
1800997a1:	b9 00 00 00 20       	mov    $0x20000000,%ecx
1800997a6:	45 33 c0             	xor    %r8d,%r8d
1800997a9:	f3 aa                	rep stos %al,%es:(%rdi)
1800997ab:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
1800997b2:	00
1800997b3:	bf 00 00 00 20       	mov    $0x20000000,%edi
1800997b8:	8b d7                	mov    %edi,%edx
1800997ba:	e8 ad 10 00 00       	call   0x18009a86c
1800997bf:	85 c0                	test   %eax,%eax
1800997c1:	78 56                	js     0x180099819
1800997c3:	48 2b ef             	sub    %rdi,%rbp
1800997c6:	48 03 df             	add    %rdi,%rbx
1800997c9:	48 3b ef             	cmp    %rdi,%rbp
1800997cc:	73 a6                	jae    0x180099774
1800997ce:	48 85 ed             	test   %rbp,%rbp
1800997d1:	74 46                	je     0x180099819
1800997d3:	45 33 c9             	xor    %r9d,%r9d
1800997d6:	44 89 6c 24 20       	mov    %r13d,0x20(%rsp)
1800997db:	4c 8b c5             	mov    %rbp,%r8
1800997de:	48 8d 8c 24 a0 00 00 	lea    0xa0(%rsp),%rcx
1800997e5:	00
1800997e6:	48 8b d3             	mov    %rbx,%rdx
1800997e9:	e8 32 0d 00 00       	call   0x18009a520
1800997ee:	85 c0                	test   %eax,%eax
1800997f0:	78 27                	js     0x180099819
1800997f2:	48 8b bc 24 a0 00 00 	mov    0xa0(%rsp),%rdi
1800997f9:	00
1800997fa:	33 c0                	xor    %eax,%eax
1800997fc:	48 8b cd             	mov    %rbp,%rcx
1800997ff:	45 33 c0             	xor    %r8d,%r8d
180099802:	f3 aa                	rep stos %al,%es:(%rdi)
180099804:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
18009980b:	00
18009980c:	48 8b d5             	mov    %rbp,%rdx
18009980f:	e8 58 10 00 00       	call   0x18009a86c
180099814:	45 84 e4             	test   %r12b,%r12b
180099817:	75 07                	jne    0x180099820
180099819:	81 66 28 ff ff ff 67 	andl   $0x67ffffff,0x28(%rsi)
180099820:	41 0f b6 fc          	movzbl %r12b,%edi
180099824:	c1 e7 04             	shl    $0x4,%edi
180099827:	4c 3b 76 20          	cmp    0x20(%rsi),%r14
18009982b:	74 51                	je     0x18009987e
18009982d:	44 8b 4e 28          	mov    0x28(%rsi),%r9d
180099831:	4d 8b c6             	mov    %r14,%r8
180099834:	33 d2                	xor    %edx,%edx
180099836:	c7 44 24 20 01 00 00 	movl   $0xf0000001,0x20(%rsp)
18009983d:	f0
18009983e:	49 8b cf             	mov    %r15,%rcx
180099841:	e8 3a 29 00 00       	call   0x18009c180
180099846:	48 8b f0             	mov    %rax,%rsi
180099849:	48 85 c0             	test   %rax,%rax
18009984c:	75 0a                	jne    0x180099858
18009984e:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
180099853:	e9 ad fe ff ff       	jmp    0x180099705
180099858:	41 b9 00 00 00 40    	mov    $0x40000000,%r9d
18009985e:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
180099863:	4d 8b c6             	mov    %r14,%r8
180099866:	48 8d 0d 33 95 10 00 	lea    0x109533(%rip),%rcx        # 0x1801a2da0
18009986d:	49 8b d7             	mov    %r15,%rdx
180099870:	e8 43 33 00 00       	call   0x18009cbb8
180099875:	85 c0                	test   %eax,%eax
180099877:	79 1b                	jns    0x180099894
180099879:	e9 87 fe ff ff       	jmp    0x180099705
18009987e:	48 8b d6             	mov    %rsi,%rdx
180099881:	48 8d 0d 18 95 10 00 	lea    0x109518(%rip),%rcx        # 0x1801a2da0
180099888:	e8 b3 2c 00 00       	call   0x18009c540
18009988d:	c7 46 2c 01 00 00 f0 	movl   $0xf0000001,0x2c(%rsi)
180099894:	0f ba 76 28 19       	btrl   $0x19,0x28(%rsi)
180099899:	44 8d 47 01          	lea    0x1(%rdi),%r8d
18009989d:	48 8b d6             	mov    %rsi,%rdx
1800998a0:	48 8d 0d b9 94 10 00 	lea    0x1094b9(%rip),%rcx        # 0x1801a2d60
1800998a7:	e8 c4 2a 00 00       	call   0x18009c370
1800998ac:	e9 54 fe ff ff       	jmp    0x180099705
1800998b1:	cc                   	int3
1800998b2:	cc                   	int3
1800998b3:	cc                   	int3
1800998b4:	48 8b c4             	mov    %rsp,%rax
1800998b7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800998bb:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800998bf:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800998c3:	48 89 50 10          	mov    %rdx,0x10(%rax)
1800998c7:	55                   	push   %rbp
1800998c8:	41 56                	push   %r14
1800998ca:	41 57                	push   %r15
1800998cc:	48 8d 68 b1          	lea    -0x4f(%rax),%rbp
1800998d0:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1800998d7:	4c 8b 5d 77          	mov    0x77(%rbp),%r11
1800998db:	33 db                	xor    %ebx,%ebx
1800998dd:	4c 8b d1             	mov    %rcx,%r10
1800998e0:	41 0f ba e0 12       	bt     $0x12,%r8d
1800998e5:	72 16                	jb     0x1800998fd
1800998e7:	4d 85 db             	test   %r11,%r11
1800998ea:	75 11                	jne    0x1800998fd
1800998ec:	8b 05 1e 95 10 00    	mov    0x10951e(%rip),%eax        # 0x1801a2e10
1800998f2:	48 3b c8             	cmp    %rax,%rcx
1800998f5:	73 06                	jae    0x1800998fd
1800998f7:	44 8b d0             	mov    %eax,%r10d
1800998fa:	44 8b c8             	mov    %eax,%r9d
1800998fd:	41 8b f8             	mov    %r8d,%edi
180099900:	81 e7 00 f0 ff 00    	and    $0xfff000,%edi
180099906:	0f ba e7 10          	bt     $0x10,%edi
18009990a:	73 1c                	jae    0x180099928
18009990c:	49 81 c2 ff 01 00 00 	add    $0x1ff,%r10
180099913:	41 81 c1 ff 01 00 00 	add    $0x1ff,%r9d
18009991a:	49 81 e2 00 fe ff ff 	and    $0xfffffffffffffe00,%r10
180099921:	41 81 e1 00 fe ff ff 	and    $0xfffffe00,%r9d
180099928:	48 89 5d 07          	mov    %rbx,0x7(%rbp)
18009992c:	48 89 5d 0f          	mov    %rbx,0xf(%rbp)
180099930:	4d 85 db             	test   %r11,%r11
180099933:	74 1e                	je     0x180099953
180099935:	49 8b 43 08          	mov    0x8(%r11),%rax
180099939:	49 2b 03             	sub    (%r11),%rax
18009993c:	49 8b 0b             	mov    (%r11),%rcx
18009993f:	48 c1 e8 0c          	shr    $0xc,%rax
180099943:	48 c1 e9 0c          	shr    $0xc,%rcx
180099947:	48 ff c8             	dec    %rax
18009994a:	48 03 c1             	add    %rcx,%rax
18009994d:	48 89 4d f7          	mov    %rcx,-0x9(%rbp)
180099951:	eb 15                	jmp    0x180099968
180099953:	48 8b 05 ae 94 10 00 	mov    0x1094ae(%rip),%rax        # 0x1801a2e08
18009995a:	48 89 45 f7          	mov    %rax,-0x9(%rbp)
18009995e:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
180099965:	ff 0f 00
180099968:	45 0f b6 f8          	movzbl %r8b,%r15d
18009996c:	41 81 e0 00 ff 00 ff 	and    $0xff00ff00,%r8d
180099973:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
180099977:	8b 45 7f             	mov    0x7f(%rbp),%eax
18009997a:	85 c0                	test   %eax,%eax
18009997c:	74 0a                	je     0x180099988
18009997e:	89 45 17             	mov    %eax,0x17(%rbp)
180099981:	a9 f0 ff ff ff       	test   $0xfffffff0,%eax
180099986:	74 07                	je     0x18009998f
180099988:	c7 45 17 01 00 00 00 	movl   $0x1,0x17(%rbp)
18009998f:	44 89 45 2b          	mov    %r8d,0x2b(%rbp)
180099993:	4c 8d 35 c6 93 10 00 	lea    0x1093c6(%rip),%r14        # 0x1801a2d60
18009999a:	44 89 4d 27          	mov    %r9d,0x27(%rbp)
18009999e:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
1800999a2:	be 01 00 00 f0       	mov    $0xf0000001,%esi
1800999a7:	4c 89 55 1f          	mov    %r10,0x1f(%rbp)
1800999ab:	4d 8b c6             	mov    %r14,%r8
1800999ae:	89 74 24 20          	mov    %esi,0x20(%rsp)
1800999b2:	4c 8d 4d f7          	lea    -0x9(%rbp),%r9
1800999b6:	33 c9                	xor    %ecx,%ecx
1800999b8:	e8 27 f5 ff ff       	call   0x180098ee4
1800999bd:	85 c0                	test   %eax,%eax
1800999bf:	0f 88 c3 00 00 00    	js     0x180099a88
1800999c5:	44 8b 4d ef          	mov    -0x11(%rbp),%r9d
1800999c9:	4c 8b 45 e7          	mov    -0x19(%rbp),%r8
1800999cd:	44 0b cf             	or     %edi,%r9d
1800999d0:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
1800999d4:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
1800999d8:	89 74 24 20          	mov    %esi,0x20(%rsp)
1800999dc:	e8 9f 27 00 00       	call   0x18009c180
1800999e1:	48 8b 55 d7          	mov    -0x29(%rbp),%rdx
1800999e5:	48 8d 4d 77          	lea    0x77(%rbp),%rcx
1800999e9:	4c 8b 45 e7          	mov    -0x19(%rbp),%r8
1800999ed:	48 8b f0             	mov    %rax,%rsi
1800999f0:	48 8b 45 5f          	mov    0x5f(%rbp),%rax
1800999f4:	45 8b cf             	mov    %r15d,%r9d
1800999f7:	48 c1 e0 0c          	shl    $0xc,%rax
1800999fb:	44 0b cf             	or     %edi,%r9d
1800999fe:	48 c1 e2 0c          	shl    $0xc,%rdx
180099a02:	49 c1 e0 0c          	shl    $0xc,%r8
180099a06:	48 89 45 77          	mov    %rax,0x77(%rbp)
180099a0a:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
180099a0e:	e8 0d 0b 00 00       	call   0x18009a520
180099a13:	8b 56 28             	mov    0x28(%rsi),%edx
180099a16:	8b f8                	mov    %eax,%edi
180099a18:	85 c0                	test   %eax,%eax
180099a1a:	75 4e                	jne    0x180099a6a
180099a1c:	48 8b 45 77          	mov    0x77(%rbp),%rax
180099a20:	44 8d 47 01          	lea    0x1(%rdi),%r8d
180099a24:	44 0b fa             	or     %edx,%r15d
180099a27:	48 c1 e8 0c          	shr    $0xc,%rax
180099a2b:	48 8b d6             	mov    %rsi,%rdx
180099a2e:	48 89 46 18          	mov    %rax,0x18(%rsi)
180099a32:	48 8d 0d e7 92 10 00 	lea    0x1092e7(%rip),%rcx        # 0x1801a2d20
180099a39:	44 89 7e 28          	mov    %r15d,0x28(%rsi)
180099a3d:	e8 2e 29 00 00       	call   0x18009c370
180099a42:	4c 8b 45 e7          	mov    -0x19(%rbp),%r8
180099a46:	4c 8d 35 13 94 10 00 	lea    0x109413(%rip),%r14        # 0x1801a2e60
180099a4d:	48 8b 4d d7          	mov    -0x29(%rbp),%rcx
180099a51:	45 33 c9             	xor    %r9d,%r9d
180099a54:	33 d2                	xor    %edx,%edx
180099a56:	c7 44 24 20 01 00 00 	movl   $0xf0000001,0x20(%rsp)
180099a5d:	f0
180099a5e:	8b f8                	mov    %eax,%edi
180099a60:	e8 1b 27 00 00       	call   0x18009c180
180099a65:	48 8b f0             	mov    %rax,%rsi
180099a68:	eb 0e                	jmp    0x180099a78
180099a6a:	81 e2 ff 0f 00 00    	and    $0xfff,%edx
180099a70:	bb 01 00 00 00       	mov    $0x1,%ebx
180099a75:	89 56 28             	mov    %edx,0x28(%rsi)
180099a78:	44 8b c3             	mov    %ebx,%r8d
180099a7b:	48 8b d6             	mov    %rsi,%rdx
180099a7e:	49 8b ce             	mov    %r14,%rcx
180099a81:	e8 ea 28 00 00       	call   0x18009c370
180099a86:	8b c7                	mov    %edi,%eax
180099a88:	4c 8d 9c 24 a0 00 00 	lea    0xa0(%rsp),%r11
180099a8f:	00
180099a90:	49 8b 5b 20          	mov    0x20(%r11),%rbx
180099a94:	49 8b 73 30          	mov    0x30(%r11),%rsi
180099a98:	49 8b 7b 38          	mov    0x38(%r11),%rdi
180099a9c:	49 8b e3             	mov    %r11,%rsp
180099a9f:	41 5f                	pop    %r15
180099aa1:	41 5e                	pop    %r14
180099aa3:	5d                   	pop    %rbp
180099aa4:	c3                   	ret
180099aa5:	cc                   	int3
180099aa6:	cc                   	int3
180099aa7:	cc                   	int3
180099aa8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180099aad:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
180099ab2:	55                   	push   %rbp
180099ab3:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
180099ab8:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
180099abf:	ff 05 b7 91 10 00    	incl   0x1091b7(%rip)        # 0x1801a2c7c
180099ac5:	41 8b d8             	mov    %r8d,%ebx
180099ac8:	4c 8b da             	mov    %rdx,%r11
180099acb:	48 8b f9             	mov    %rcx,%rdi
180099ace:	48 85 c9             	test   %rcx,%rcx
180099ad1:	0f 84 00 01 00 00    	je     0x180099bd7
180099ad7:	48 85 d2             	test   %rdx,%rdx
180099ada:	0f 84 f7 00 00 00    	je     0x180099bd7
180099ae0:	4c 8b 55 6f          	mov    0x6f(%rbp),%r10
180099ae4:	48 8d 05 b5 92 10 00 	lea    0x1092b5(%rip),%rax        # 0x1801a2da0
180099aeb:	4c 3b d0             	cmp    %rax,%r10
180099aee:	74 10                	je     0x180099b00
180099af0:	48 8d 05 e9 93 10 00 	lea    0x1093e9(%rip),%rax        # 0x1801a2ee0
180099af7:	4c 3b d0             	cmp    %rax,%r10
180099afa:	0f 85 d7 00 00 00    	jne    0x180099bd7
180099b00:	8b 45 67             	mov    0x67(%rbp),%eax
180099b03:	41 b8 01 00 00 00    	mov    $0x1,%r8d
180099b09:	48 8b 55 77          	mov    0x77(%rbp),%rdx
180099b0d:	85 c0                	test   %eax,%eax
180099b0f:	44 0f 45 c0          	cmovne %eax,%r8d
180099b13:	48 85 d2             	test   %rdx,%rdx
180099b16:	74 0d                	je     0x180099b25