14009868c:	48 33 c4             	xor    %rsp,%rax
14009868f:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140098693:	48 8b f2             	mov    %rdx,%rsi
140098696:	4c 8b f1             	mov    %rcx,%r14
140098699:	4c 8b 41 20          	mov    0x20(%rcx),%r8
14009869d:	48 8b 51 38          	mov    0x38(%rcx),%rdx
1400986a1:	48 85 d2             	test   %rdx,%rdx
1400986a4:	79 1f                	jns    0x1400986c5
1400986a6:	48 8b c2             	mov    %rdx,%rax
1400986a9:	48 f7 d8             	neg    %rax
1400986ac:	74 17                	je     0x1400986c5
1400986ae:	48 8b c2             	mov    %rdx,%rax
1400986b1:	48 f7 d0             	not    %rax
1400986b4:	48 c1 e8 05          	shr    $0x5,%rax
1400986b8:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400986bf:	00
1400986c0:	4c 2b c0             	sub    %rax,%r8
1400986c3:	eb 0b                	jmp    0x1400986d0
1400986c5:	48 8b c2             	mov    %rdx,%rax
1400986c8:	48 c1 e8 05          	shr    $0x5,%rax
1400986cc:	4d 8d 04 80          	lea    (%r8,%rax,4),%r8
1400986d0:	bb 1f 00 00 00       	mov    $0x1f,%ebx
1400986d5:	8b c3                	mov    %ebx,%eax
1400986d7:	48 23 d3             	and    %rbx,%rdx
1400986da:	4c 8d 4a ff          	lea    -0x1(%rdx),%r9
1400986de:	49 8b c1             	mov    %r9,%rax
1400986e1:	8b cb                	mov    %ebx,%ecx
1400986e3:	48 83 fa 01          	cmp    $0x1,%rdx
1400986e7:	73 14                	jae    0x1400986fd
1400986e9:	48 f7 d0             	not    %rax
1400986ec:	48 c1 e8 05          	shr    $0x5,%rax
1400986f0:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
1400986f7:	00
1400986f8:	4c 2b c0             	sub    %rax,%r8
1400986fb:	eb 08                	jmp    0x140098705
1400986fd:	48 c1 e8 05          	shr    $0x5,%rax
140098701:	4d 8d 04 80          	lea    (%r8,%rax,4),%r8
140098705:	45 8b 00             	mov    (%r8),%r8d
140098708:	41 22 c9             	and    %r9b,%cl
14009870b:	0f b6 d1             	movzbl %cl,%edx
14009870e:	41 0f a3 d0          	bt     %edx,%r8d
140098712:	72 10                	jb     0x140098724
140098714:	c6 06 00             	movb   $0x0,(%rsi)
140098717:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
14009871e:	00
14009871f:	e9 d7 01 00 00       	jmp    0x1400988fb
140098724:	c6 45 d8 00          	movb   $0x0,-0x28(%rbp)
140098728:	33 d2                	xor    %edx,%edx
14009872a:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
14009872e:	e8 8d 4b ff ff       	call   0x14008d2c0
140098733:	90                   	nop
140098734:	c6 45 d0 05          	movb   $0x5,-0x30(%rbp)
140098738:	49 8b 46 10          	mov    0x10(%r14),%rax
14009873c:	49 2b 46 08          	sub    0x8(%r14),%rax
140098740:	48 c1 f8 03          	sar    $0x3,%rax
140098744:	89 45 e8             	mov    %eax,-0x18(%rbp)
140098747:	49 8b 8e a8 00 00 00 	mov    0xa8(%r14),%rcx
14009874e:	48 85 c9             	test   %rcx,%rcx
140098751:	0f 84 c8 01 00 00    	je     0x14009891f
140098757:	48 8b 01             	mov    (%rcx),%rax
14009875a:	4c 8d 4d d8          	lea    -0x28(%rbp),%r9
14009875e:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
140098762:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
140098766:	ff 50 10             	call   *0x10(%rax)
140098769:	84 c0                	test   %al,%al
14009876b:	75 10                	jne    0x14009877d
14009876d:	c6 06 00             	movb   $0x0,(%rsi)
140098770:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140098777:	00
140098778:	e9 71 01 00 00       	jmp    0x1400988ee
14009877d:	49 8b 4e 10          	mov    0x10(%r14),%rcx
140098781:	49 39 4e 08          	cmp    %rcx,0x8(%r14)
140098785:	75 3f                	jne    0x1400987c6
140098787:	0f b6 45 d8          	movzbl -0x28(%rbp),%eax
14009878b:	4c 8b 45 e0          	mov    -0x20(%rbp),%r8
14009878f:	c6 45 d8 00          	movb   $0x0,-0x28(%rbp)
140098793:	48 c7 45 e0 00 00 00 	movq   $0x0,-0x20(%rbp)
14009879a:	00
14009879b:	49 8b 0e             	mov    (%r14),%rcx
14009879e:	0f b6 11             	movzbl (%rcx),%edx
1400987a1:	88 01                	mov    %al,(%rcx)
1400987a3:	88 55 e8             	mov    %dl,-0x18(%rbp)
1400987a6:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400987aa:	4c 89 41 08          	mov    %r8,0x8(%rcx)
1400987ae:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1400987b2:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1400987b6:	e8 45 3d ff ff       	call   0x14008c500
1400987bb:	49 8b 06             	mov    (%r14),%rax
1400987be:	c6 06 01             	movb   $0x1,(%rsi)
1400987c1:	e9 24 01 00 00       	jmp    0x1400988ea
1400987c6:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1400987ca:	48 85 c9             	test   %rcx,%rcx
1400987cd:	74 9e                	je     0x14009876d
1400987cf:	80 39 02             	cmpb   $0x2,(%rcx)
1400987d2:	75 58                	jne    0x14009882c
1400987d4:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1400987d8:	48 8b 51 08          	mov    0x8(%rcx),%rdx
1400987dc:	48 3b 51 10          	cmp    0x10(%rcx),%rdx
1400987e0:	74 21                	je     0x140098803
1400987e2:	0f b6 45 d8          	movzbl -0x28(%rbp),%eax
1400987e6:	88 02                	mov    %al,(%rdx)
1400987e8:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
1400987ec:	48 89 42 08          	mov    %rax,0x8(%rdx)
1400987f0:	c6 45 d8 00          	movb   $0x0,-0x28(%rbp)
1400987f4:	48 c7 45 e0 00 00 00 	movq   $0x0,-0x20(%rbp)
1400987fb:	00
1400987fc:	48 83 41 08 10       	addq   $0x10,0x8(%rcx)
140098801:	eb 09                	jmp    0x14009880c
140098803:	4c 8d 45 d8          	lea    -0x28(%rbp),%r8
140098807:	e8 f4 9e ff ff       	call   0x140092700
14009880c:	49 8b 46 10          	mov    0x10(%r14),%rax
140098810:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
140098814:	48 8b 41 08          	mov    0x8(%rcx),%rax
140098818:	48 8b 48 08          	mov    0x8(%rax),%rcx
14009881c:	48 83 e9 10          	sub    $0x10,%rcx
140098820:	c6 06 01             	movb   $0x1,(%rsi)
140098823:	48 89 4e 08          	mov    %rcx,0x8(%rsi)
140098827:	e9 c2 00 00 00       	jmp    0x1400988ee
14009882c:	49 8b 7e 40          	mov    0x40(%r14),%rdi
140098830:	49 8b 4e 58          	mov    0x58(%r14),%rcx
140098834:	48 85 c9             	test   %rcx,%rcx
140098837:	79 1f                	jns    0x140098858
140098839:	48 8b c1             	mov    %rcx,%rax
14009883c:	48 f7 d8             	neg    %rax
14009883f:	74 17                	je     0x140098858
140098841:	48 8b c1             	mov    %rcx,%rax
140098844:	48 f7 d0             	not    %rax
140098847:	48 c1 e8 05          	shr    $0x5,%rax
14009884b:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140098852:	00
140098853:	48 2b f8             	sub    %rax,%rdi
140098856:	eb 0b                	jmp    0x140098863
140098858:	48 8b c1             	mov    %rcx,%rax
14009885b:	48 c1 e8 05          	shr    $0x5,%rax
14009885f:	48 8d 3c 87          	lea    (%rdi,%rax,4),%rdi
140098863:	48 8b c3             	mov    %rbx,%rax
140098866:	48 23 cb             	and    %rbx,%rcx
140098869:	48 8d 51 ff          	lea    -0x1(%rcx),%rdx
14009886d:	48 8b c2             	mov    %rdx,%rax
140098870:	48 83 f9 01          	cmp    $0x1,%rcx
140098874:	73 14                	jae    0x14009888a
140098876:	48 f7 d0             	not    %rax
140098879:	48 c1 e8 05          	shr    $0x5,%rax
14009887d:	48 8d 04 85 04 00 00 	lea    0x4(,%rax,4),%rax
140098884:	00
140098885:	48 2b f8             	sub    %rax,%rdi
140098888:	eb 08                	jmp    0x140098892
14009888a:	48 c1 e8 05          	shr    $0x5,%rax
14009888e:	48 8d 3c 87          	lea    (%rdi,%rax,4),%rdi
140098892:	8b 3f                	mov    (%rdi),%edi
140098894:	0f b6 c3             	movzbl %bl,%eax
140098897:	22 c2                	and    %dl,%al
140098899:	0f b6 d8             	movzbl %al,%ebx
14009889c:	49 8d 4e 40          	lea    0x40(%r14),%rcx
1400988a0:	e8 bb df ff ff       	call   0x140096860
1400988a5:	0f a3 df             	bt     %ebx,%edi
1400988a8:	0f 83 bf fe ff ff    	jae    0x14009876d
1400988ae:	0f b6 45 d8          	movzbl -0x28(%rbp),%eax
1400988b2:	4c 8b 45 e0          	mov    -0x20(%rbp),%r8
1400988b6:	c6 45 d8 00          	movb   $0x0,-0x28(%rbp)
1400988ba:	48 c7 45 e0 00 00 00 	movq   $0x0,-0x20(%rbp)
1400988c1:	00
1400988c2:	49 8b 4e 60          	mov    0x60(%r14),%rcx
1400988c6:	0f b6 11             	movzbl (%rcx),%edx
1400988c9:	88 01                	mov    %al,(%rcx)
1400988cb:	88 55 e8             	mov    %dl,-0x18(%rbp)
1400988ce:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400988d2:	4c 89 41 08          	mov    %r8,0x8(%rcx)
1400988d6:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
1400988da:	48 8d 4d f0          	lea    -0x10(%rbp),%rcx
1400988de:	e8 1d 3c ff ff       	call   0x14008c500
1400988e3:	c6 06 01             	movb   $0x1,(%rsi)
1400988e6:	49 8b 46 60          	mov    0x60(%r14),%rax
1400988ea:	48 89 46 08          	mov    %rax,0x8(%rsi)
1400988ee:	0f b6 55 d8          	movzbl -0x28(%rbp),%edx
1400988f2:	48 8d 4d e0          	lea    -0x20(%rbp),%rcx
1400988f6:	e8 05 3c ff ff       	call   0x14008c500
1400988fb:	48 8b c6             	mov    %rsi,%rax
1400988fe:	48 8b 4d f8          	mov    -0x8(%rbp),%rcx
140098902:	48 33 cc             	xor    %rsp,%rcx
140098905:	e8 a6 75 21 00       	call   0x1402afeb0
14009890a:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
14009890f:	49 8b 5b 30          	mov    0x30(%r11),%rbx
140098913:	49 8b 73 38          	mov    0x38(%r11),%rsi
140098917:	49 8b e3             	mov    %r11,%rsp
14009891a:	41 5e                	pop    %r14
14009891c:	5f                   	pop    %rdi
14009891d:	5d                   	pop    %rbp
14009891e:	c3                   	ret
14009891f:	e8 6c 56 21 00       	call   0x1402adf90
140098924:	90                   	nop
140098925:	cc                   	int3
140098926:	cc                   	int3
140098927:	cc                   	int3
140098928:	cc                   	int3
140098929:	cc                   	int3
14009892a:	cc                   	int3
14009892b:	cc                   	int3
14009892c:	cc                   	int3
14009892d:	cc                   	int3
14009892e:	cc                   	int3
14009892f:	cc                   	int3
140098930:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140098935:	55                   	push   %rbp
140098936:	56                   	push   %rsi
140098937:	57                   	push   %rdi
140098938:	41 54                	push   %r12
14009893a:	41 55                	push   %r13
14009893c:	41 56                	push   %r14
14009893e:	41 57                	push   %r15
140098940:	48 83 ec 50          	sub    $0x50,%rsp
140098944:	49 8b f0             	mov    %r8,%rsi
140098947:	4c 8b fa             	mov    %rdx,%r15
14009894a:	4c 8b e9             	mov    %rcx,%r13
14009894d:	4c 8b 31             	mov    (%rcx),%r14
140098950:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
140098955:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140098959:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
14009895e:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
140098965:	00
140098966:	49 8b ee             	mov    %r14,%rbp
140098969:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
14009896d:	75 62                	jne    0x1400989d1
14009896f:	4d 8b 70 10          	mov    0x10(%r8),%r14
140098973:	4d 8b 60 18          	mov    0x18(%r8),%r12
140098977:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14009897e:	00 00
140098980:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140098985:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
140098989:	48 8b d6             	mov    %rsi,%rdx
14009898c:	49 83 fc 0f          	cmp    $0xf,%r12
140098990:	76 03                	jbe    0x140098995
140098992:	48 8b 16             	mov    (%rsi),%rdx
140098995:	48 8b 79 10          	mov    0x10(%rcx),%rdi
140098999:	48 83 79 18 0f       	cmpq   $0xf,0x18(%rcx)
14009899e:	76 03                	jbe    0x1400989a3
1400989a0:	48 8b 09             	mov    (%rcx),%rcx
1400989a3:	4c 8b c7             	mov    %rdi,%r8
1400989a6:	4c 3b f7             	cmp    %rdi,%r14
1400989a9:	4d 0f 42 c6          	cmovb  %r14,%r8
1400989ad:	e8 8e 94 24 00       	call   0x1402e1e40
1400989b2:	85 c0                	test   %eax,%eax
1400989b4:	74 3d                	je     0x1400989f3
1400989b6:	78 40                	js     0x1400989f8
1400989b8:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%rsp)
1400989bf:	00
1400989c0:	48 8b eb             	mov    %rbx,%rbp
1400989c3:	48 8b 1b             	mov    (%rbx),%rbx
1400989c6:	80 7b 19 00          	cmpb   $0x0,0x19(%rbx)
1400989ca:	74 b4                	je     0x140098980
1400989cc:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
1400989d1:	80 7d 19 00          	cmpb   $0x0,0x19(%rbp)
1400989d5:	75 2f                	jne    0x140098a06
1400989d7:	4c 8d 45 20          	lea    0x20(%rbp),%r8
1400989db:	48 8b d6             	mov    %rsi,%rdx
1400989de:	e8 8d 01 00 00       	call   0x140098b70
1400989e3:	84 c0                	test   %al,%al
1400989e5:	75 1f                	jne    0x140098a06
1400989e7:	49 89 2f             	mov    %rbp,(%r15)
1400989ea:	41 88 47 08          	mov    %al,0x8(%r15)
1400989ee:	e9 97 00 00 00       	jmp    0x140098a8a
1400989f3:	49 3b fe             	cmp    %r14,%rdi
1400989f6:	73 c0                	jae    0x1400989b8
1400989f8:	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
1400989ff:	00
140098a00:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
140098a04:	eb c0                	jmp    0x1400989c6
140098a06:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
140098a0d:	33 33 03
140098a10:	49 39 45 08          	cmp    %rax,0x8(%r13)
140098a14:	0f 84 8b 00 00 00    	je     0x140098aa5
140098a1a:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140098a1f:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
140098a26:	00 00
140098a28:	b9 50 00 00 00       	mov    $0x50,%ecx
140098a2d:	e8 9e 74 21 00       	call   0x1402afed0
140098a32:	48 8b f8             	mov    %rax,%rdi
140098a35:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140098a3a:	48 8b d6             	mov    %rsi,%rdx
140098a3d:	48 8d 48 20          	lea    0x20(%rax),%rcx
140098a41:	e8 da 5a fe ff       	call   0x14007e520
140098a46:	90                   	nop
140098a47:	c6 47 40 00          	movb   $0x0,0x40(%rdi)
140098a4b:	48 8d 4f 48          	lea    0x48(%rdi),%rcx
140098a4f:	33 d2                	xor    %edx,%edx
140098a51:	e8 6a 48 ff ff       	call   0x14008d2c0
140098a56:	90                   	nop
140098a57:	4c 89 37             	mov    %r14,(%rdi)
140098a5a:	4c 89 77 08          	mov    %r14,0x8(%rdi)
140098a5e:	4c 89 77 10          	mov    %r14,0x10(%rdi)
140098a62:	66 c7 47 18 00 00    	movw   $0x0,0x18(%rdi)
140098a68:	0f 10 44 24 30       	movups 0x30(%rsp),%xmm0
140098a6d:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
140098a72:	4c 8b c7             	mov    %rdi,%r8
140098a75:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140098a7a:	49 8b cd             	mov    %r13,%rcx
140098a7d:	e8 4e 7e fe ff       	call   0x1400808d0
140098a82:	49 89 07             	mov    %rax,(%r15)
140098a85:	41 c6 47 08 01       	movb   $0x1,0x8(%r15)
140098a8a:	49 8b c7             	mov    %r15,%rax
140098a8d:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140098a94:	00
140098a95:	48 83 c4 50          	add    $0x50,%rsp
140098a99:	41 5f                	pop    %r15
140098a9b:	41 5e                	pop    %r14
140098a9d:	41 5d                	pop    %r13
140098a9f:	41 5c                	pop    %r12
140098aa1:	5f                   	pop    %rdi
140098aa2:	5e                   	pop    %rsi
140098aa3:	5d                   	pop    %rbp
140098aa4:	c3                   	ret
140098aa5:	e8 c6 76 fe ff       	call   0x140080170
140098aaa:	cc                   	int3
140098aab:	cc                   	int3
140098aac:	cc                   	int3
140098aad:	cc                   	int3
140098aae:	cc                   	int3
140098aaf:	cc                   	int3
140098ab0:	48 8b 41 08          	mov    0x8(%rcx),%rax
140098ab4:	48 85 c0             	test   %rax,%rax
140098ab7:	74 0b                	je     0x140098ac4
140098ab9:	48 8b 11             	mov    (%rcx),%rdx
140098abc:	48 8b c8             	mov    %rax,%rcx
140098abf:	e9 dc d4 ff ff       	jmp    0x140095fa0
140098ac4:	c3                   	ret
140098ac5:	cc                   	int3
140098ac6:	cc                   	int3
140098ac7:	cc                   	int3
140098ac8:	cc                   	int3
140098ac9:	cc                   	int3
140098aca:	cc                   	int3
140098acb:	cc                   	int3
140098acc:	cc                   	int3
140098acd:	cc                   	int3
140098ace:	cc                   	int3
140098acf:	cc                   	int3
140098ad0:	48 8b 09             	mov    (%rcx),%rcx
140098ad3:	48 85 c9             	test   %rcx,%rcx
140098ad6:	0f 85 24 4b ff ff    	jne    0x14008d600
140098adc:	c3                   	ret
140098add:	cc                   	int3
140098ade:	cc                   	int3
140098adf:	cc                   	int3
140098ae0:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140098ae5:	57                   	push   %rdi
140098ae6:	48 83 ec 20          	sub    $0x20,%rsp
140098aea:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140098af1:	ff ff 0f
140098af4:	48 8b da             	mov    %rdx,%rbx
140098af7:	48 8b f9             	mov    %rcx,%rdi