1400209a8:	4c 89 03             	mov    %r8,(%rbx)
1400209ab:	48 c7 43 08 84 00 00 	movq   $0x84,0x8(%rbx)
1400209b2:	00
1400209b3:	e9 95 00 00 00       	jmp    0x140020a4d
1400209b8:	85 c0                	test   %eax,%eax
1400209ba:	0f 95 c0             	setne  %al
1400209bd:	04 30                	add    $0x30,%al
1400209bf:	88 02                	mov    %al,(%rdx)
1400209c1:	48 ff c2             	inc    %rdx
1400209c4:	4d 85 c9             	test   %r9,%r9
1400209c7:	74 40                	je     0x140020a09
1400209c9:	49 3b d0             	cmp    %r8,%rdx
1400209cc:	74 da                	je     0x1400209a8
1400209ce:	c6 02 2e             	movb   $0x2e,(%rdx)
1400209d1:	b9 34 00 00 00       	mov    $0x34,%ecx
1400209d6:	48 ff c2             	inc    %rdx
1400209d9:	83 e9 04             	sub    $0x4,%ecx
1400209dc:	49 3b d0             	cmp    %r8,%rdx
1400209df:	74 c7                	je     0x1400209a8
1400209e1:	49 8b c1             	mov    %r9,%rax
1400209e4:	4c 8d 1d 35 f1 22 00 	lea    0x22f135(%rip),%r11        # 0x14024fb20
1400209eb:	48 d3 e8             	shr    %cl,%rax
1400209ee:	8b c0                	mov    %eax,%eax
1400209f0:	42 8a 04 18          	mov    (%rax,%r11,1),%al
1400209f4:	88 02                	mov    %al,(%rdx)
1400209f6:	b8 01 00 00 00       	mov    $0x1,%eax
1400209fb:	48 d3 e0             	shl    %cl,%rax
1400209fe:	48 ff c2             	inc    %rdx
140020a01:	48 ff c8             	dec    %rax
140020a04:	4c 23 c8             	and    %rax,%r9
140020a07:	75 d0                	jne    0x1400209d9
140020a09:	49 8b c0             	mov    %r8,%rax
140020a0c:	48 2b c2             	sub    %rdx,%rax
140020a0f:	48 83 f8 02          	cmp    $0x2,%rax
140020a13:	7c 93                	jl     0x1400209a8
140020a15:	0f ae e8             	lfence
140020a18:	b8 2d 00 00 00       	mov    $0x2d,%eax
140020a1d:	c6 02 70             	movb   $0x70,(%rdx)
140020a20:	45 85 d2             	test   %r10d,%r10d
140020a23:	c7 44 24 20 0a 00 00 	movl   $0xa,0x20(%rsp)
140020a2a:	00
140020a2b:	45 8b ca             	mov    %r10d,%r9d
140020a2e:	8d 48 fe             	lea    -0x2(%rax),%ecx
140020a31:	0f 49 c1             	cmovns %ecx,%eax
140020a34:	41 f7 d9             	neg    %r9d
140020a37:	45 85 d2             	test   %r10d,%r10d
140020a3a:	88 42 01             	mov    %al,0x1(%rdx)
140020a3d:	48 8b cb             	mov    %rbx,%rcx
140020a40:	45 0f 49 ca          	cmovns %r10d,%r9d
140020a44:	48 83 c2 02          	add    $0x2,%rdx
140020a48:	e8 9f 26 00 00       	call   0x1400230ec
140020a4d:	48 8b c3             	mov    %rbx,%rax
140020a50:	48 83 c4 30          	add    $0x30,%rsp
140020a54:	5b                   	pop    %rbx
140020a55:	c3                   	ret
140020a56:	90                   	nop
140020a57:	90                   	nop
140020a58:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140020a5d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140020a62:	57                   	push   %rdi
140020a63:	48 83 ec 30          	sub    $0x30,%rsp
140020a67:	48 8b f2             	mov    %rdx,%rsi
140020a6a:	48 8b d9             	mov    %rcx,%rbx
140020a6d:	66 48 0f 7e d9       	movq   %xmm3,%rcx
140020a72:	48 8b d1             	mov    %rcx,%rdx
140020a75:	48 c1 ea 3f          	shr    $0x3f,%rdx
140020a79:	84 d2                	test   %dl,%dl
140020a7b:	74 2d                	je     0x140020aaa
140020a7d:	49 3b f0             	cmp    %r8,%rsi
140020a80:	75 10                	jne    0x140020a92
140020a82:	4c 89 03             	mov    %r8,(%rbx)
140020a85:	48 c7 43 08 84 00 00 	movq   $0x84,0x8(%rbx)
140020a8c:	00
140020a8d:	e9 d4 00 00 00       	jmp    0x140020b66
140020a92:	c6 06 2d             	movb   $0x2d,(%rsi)
140020a95:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140020a9c:	ff ff 7f
140020a9f:	48 ff c6             	inc    %rsi
140020aa2:	48 23 c8             	and    %rax,%rcx
140020aa5:	66 48 0f 6e d9       	movq   %rcx,%xmm3
140020aaa:	49 b9 00 00 00 00 00 	movabs $0x7ff0000000000000,%r9
140020ab1:	00 f0 7f
140020ab4:	48 8b c1             	mov    %rcx,%rax
140020ab7:	49 23 c1             	and    %r9,%rax
140020aba:	49 3b c1             	cmp    %r9,%rax
140020abd:	0f 85 84 00 00 00    	jne    0x140020b47
140020ac3:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffff,%rax
140020aca:	ff 0f 00
140020acd:	48 23 c8             	and    %rax,%rcx
140020ad0:	75 09                	jne    0x140020adb
140020ad2:	48 8d 15 6b f0 22 00 	lea    0x22f06b(%rip),%rdx        # 0x14024fb44
140020ad9:	eb 2d                	jmp    0x140020b08
140020adb:	48 b8 00 00 00 00 00 	movabs $0x8000000000000,%rax
140020ae2:	00 08 00
140020ae5:	84 d2                	test   %dl,%dl
140020ae7:	74 13                	je     0x140020afc
140020ae9:	48 3b c8             	cmp    %rax,%rcx
140020aec:	75 0e                	jne    0x140020afc
140020aee:	48 8d 15 63 f0 22 00 	lea    0x22f063(%rip),%rdx        # 0x14024fb58
140020af5:	bf 08 00 00 00       	mov    $0x8,%edi
140020afa:	eb 1f                	jmp    0x140020b1b
140020afc:	48 85 c8             	test   %rcx,%rax
140020aff:	74 0e                	je     0x140020b0f
140020b01:	48 8d 15 08 f4 22 00 	lea    0x22f408(%rip),%rdx        # 0x14024ff10
140020b08:	bf 03 00 00 00       	mov    $0x3,%edi
140020b0d:	eb 0c                	jmp    0x140020b1b
140020b0f:	48 8d 15 32 f0 22 00 	lea    0x22f032(%rip),%rdx        # 0x14024fb48
140020b16:	bf 09 00 00 00       	mov    $0x9,%edi
140020b1b:	49 8b c0             	mov    %r8,%rax
140020b1e:	48 2b c6             	sub    %rsi,%rax
140020b21:	48 3b c7             	cmp    %rdi,%rax
140020b24:	0f 8c 58 ff ff ff    	jl     0x140020a82
140020b2a:	4c 8b c7             	mov    %rdi,%r8
140020b2d:	48 8b ce             	mov    %rsi,%rcx
140020b30:	e8 bb 4e 1e 00       	call   0x1402059f0
140020b35:	83 63 08 00          	andl   $0x0,0x8(%rbx)
140020b39:	48 8d 04 37          	lea    (%rdi,%rsi,1),%rax
140020b3d:	48 89 03             	mov    %rax,(%rbx)
140020b40:	33 c0                	xor    %eax,%eax
140020b42:	89 43 0c             	mov    %eax,0xc(%rbx)
140020b45:	eb 1f                	jmp    0x140020b66
140020b47:	8b 44 24 60          	mov    0x60(%rsp),%eax
140020b4b:	48 8b d6             	mov    %rsi,%rdx
140020b4e:	48 8b cb             	mov    %rbx,%rcx
140020b51:	83 f8 04             	cmp    $0x4,%eax
140020b54:	75 07                	jne    0x140020b5d
140020b56:	e8 d9 fd ff ff       	call   0x140020934
140020b5b:	eb 09                	jmp    0x140020b66
140020b5d:	89 44 24 20          	mov    %eax,0x20(%rsp)
140020b61:	e8 3a 0c 00 00       	call   0x1400217a0
140020b66:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
140020b6b:	48 8b c3             	mov    %rbx,%rax
140020b6e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140020b73:	48 83 c4 30          	add    $0x30,%rsp
140020b77:	5f                   	pop    %rdi
140020b78:	c3                   	ret
140020b79:	90                   	nop
140020b7a:	90                   	nop
140020b7b:	90                   	nop
140020b7c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140020b81:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140020b86:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140020b8b:	48 8b 42 08          	mov    0x8(%rdx),%rax
140020b8f:	48 8d 34 8d 00 00 00 	lea    0x0(,%rcx,4),%rsi
140020b96:	00
140020b97:	4c 8b da             	mov    %rdx,%r11
140020b9a:	4c 8d 56 02          	lea    0x2(%rsi),%r10
140020b9e:	49 f7 e2             	mul    %r10
140020ba1:	41 8b f8             	mov    %r8d,%edi
140020ba4:	48 8b c8             	mov    %rax,%rcx
140020ba7:	48 8b da             	mov    %rdx,%rbx
140020baa:	49 8b 03             	mov    (%r11),%rax
140020bad:	49 f7 e2             	mul    %r10
140020bb0:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140020bb4:	48 3b c2             	cmp    %rdx,%rax
140020bb7:	73 03                	jae    0x140020bbc
140020bb9:	48 ff c3             	inc    %rbx
140020bbc:	40 80 ef 40          	sub    $0x40,%dil
140020bc0:	4c 8b c6             	mov    %rsi,%r8
140020bc3:	40 8a cf             	mov    %dil,%cl
140020bc6:	48 0f ad d8          	shrd   %cl,%rbx,%rax
140020bca:	49 89 01             	mov    %rax,(%r9)
140020bcd:	8b 44 24 30          	mov    0x30(%rsp),%eax
140020bd1:	4c 2b c0             	sub    %rax,%r8
140020bd4:	49 8b 43 08          	mov    0x8(%r11),%rax
140020bd8:	49 ff c8             	dec    %r8
140020bdb:	49 f7 e0             	mul    %r8
140020bde:	48 8b c8             	mov    %rax,%rcx
140020be1:	4c 8b ca             	mov    %rdx,%r9
140020be4:	49 8b 03             	mov    (%r11),%rax
140020be7:	49 f7 e0             	mul    %r8
140020bea:	4c 8d 04 0a          	lea    (%rdx,%rcx,1),%r8
140020bee:	4c 3b c2             	cmp    %rdx,%r8
140020bf1:	73 03                	jae    0x140020bf6
140020bf3:	49 ff c1             	inc    %r9
140020bf6:	49 8b 43 08          	mov    0x8(%r11),%rax
140020bfa:	40 8a cf             	mov    %dil,%cl
140020bfd:	48 f7 e6             	mul    %rsi
140020c00:	4d 0f ad c8          	shrd   %cl,%r9,%r8
140020c04:	48 8b 4c 24 28       	mov    0x28(%rsp),%rcx
140020c09:	4c 89 01             	mov    %r8,(%rcx)
140020c0c:	48 8b c8             	mov    %rax,%rcx
140020c0f:	49 8b 03             	mov    (%r11),%rax
140020c12:	4c 8b c2             	mov    %rdx,%r8
140020c15:	48 f7 e6             	mul    %rsi
140020c18:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
140020c1c:	48 3b c2             	cmp    %rdx,%rax
140020c1f:	73 03                	jae    0x140020c24
140020c21:	49 ff c0             	inc    %r8
140020c24:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
140020c29:	40 8a cf             	mov    %dil,%cl
140020c2c:	48 8b 74 24 18       	mov    0x18(%rsp),%rsi
140020c31:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140020c36:	4c 0f ad c0          	shrd   %cl,%r8,%rax
140020c3a:	c3                   	ret
140020c3b:	90                   	nop
140020c3c:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
140020c41:	55                   	push   %rbp
140020c42:	53                   	push   %rbx
140020c43:	56                   	push   %rsi
140020c44:	57                   	push   %rdi
140020c45:	41 54                	push   %r12
140020c47:	41 55                	push   %r13
140020c49:	41 56                	push   %r14
140020c4b:	41 57                	push   %r15
140020c4d:	48 8b ec             	mov    %rsp,%rbp
140020c50:	48 83 ec 48          	sub    $0x48,%rsp
140020c54:	45 33 e4             	xor    %r12d,%r12d
140020c57:	41 b9 cc fb ff ff    	mov    $0xfffffbcc,%r9d
140020c5d:	45 85 c0             	test   %r8d,%r8d
140020c60:	74 07                	je     0x140020c69
140020c62:	45 8d 88 cb fb ff ff 	lea    -0x435(%r8),%r9d
140020c69:	48 b9 00 00 00 00 00 	movabs $0x10000000000000,%rcx
140020c70:	00 10 00
140020c73:	48 8b c2             	mov    %rdx,%rax
140020c76:	48 0b c1             	or     %rcx,%rax
140020c79:	4c 8b d2             	mov    %rdx,%r10
140020c7c:	45 85 c0             	test   %r8d,%r8d
140020c7f:	bb 01 00 00 00       	mov    $0x1,%ebx
140020c84:	4c 0f 45 d0          	cmovne %rax,%r10
140020c88:	45 8a fa             	mov    %r10b,%r15b
140020c8b:	41 f6 d7             	not    %r15b
140020c8e:	44 22 fb             	and    %bl,%r15b
140020c91:	44 88 7d 50          	mov    %r15b,0x50(%rbp)
140020c95:	4a 8d 3c 95 00 00 00 	lea    0x0(,%r10,4),%rdi
140020c9c:	00
140020c9d:	48 85 d2             	test   %rdx,%rdx
140020ca0:	75 08                	jne    0x140020caa
140020ca2:	45 8b ec             	mov    %r12d,%r13d
140020ca5:	44 3b c3             	cmp    %ebx,%r8d
140020ca8:	77 03                	ja     0x140020cad
140020caa:	44 8b eb             	mov    %ebx,%r13d
140020cad:	4c 89 65 60          	mov    %r12,0x60(%rbp)
140020cb1:	45 8a f4             	mov    %r12b,%r14b
140020cb4:	4c 89 65 e8          	mov    %r12,-0x18(%rbp)
140020cb8:	44 88 65 58          	mov    %r12b,0x58(%rbp)
140020cbc:	0f ae e8             	lfence
140020cbf:	44 89 6c 24 28       	mov    %r13d,0x28(%rsp)
140020cc4:	45 85 c9             	test   %r9d,%r9d
140020cc7:	0f 88 32 01 00 00    	js     0x140020dff
140020ccd:	41 69 f1 41 34 01 00 	imul   $0x13441,%r9d,%esi
140020cd4:	41 8b c4             	mov    %r12d,%eax
140020cd7:	49 8b ca             	mov    %r10,%rcx
140020cda:	c1 ee 12             	shr    $0x12,%esi
140020cdd:	41 83 f9 03          	cmp    $0x3,%r9d
140020ce1:	0f 9f c0             	setg   %al
140020ce4:	2b f0                	sub    %eax,%esi
140020ce6:	48 8d 05 a3 88 1f 00 	lea    0x1f88a3(%rip),%rax        # 0x140219590
140020ced:	44 69 c6 4f 93 12 00 	imul   $0x12934f,%esi,%r8d
140020cf4:	8b d6                	mov    %esi,%edx
140020cf6:	48 c1 e2 04          	shl    $0x4,%rdx
140020cfa:	48 03 d0             	add    %rax,%rdx
140020cfd:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
140020d01:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140020d06:	41 c1 e8 13          	shr    $0x13,%r8d
140020d0a:	45 2b c1             	sub    %r9d,%r8d
140020d0d:	4c 8d 4d 60          	lea    0x60(%rbp),%r9
140020d11:	41 83 c0 7a          	add    $0x7a,%r8d
140020d15:	44 03 c6             	add    %esi,%r8d
140020d18:	e8 5f fe ff ff       	call   0x140020b7c
140020d1d:	4c 8b c8             	mov    %rax,%r9
140020d20:	83 fe 15             	cmp    $0x15,%esi
140020d23:	0f 87 80 01 00 00    	ja     0x140020ea9
140020d29:	49 bb cd cc cc cc cc 	movabs $0xcccccccccccccccd,%r11
140020d30:	cc cc cc
140020d33:	49 8b c3             	mov    %r11,%rax
140020d36:	48 f7 e7             	mul    %rdi
140020d39:	48 c1 ea 02          	shr    $0x2,%rdx
140020d3d:	44 8d 04 92          	lea    (%rdx,%rdx,4),%r8d
140020d41:	41 3b f8             	cmp    %r8d,%edi
140020d44:	75 29                	jne    0x140020d6f
140020d46:	45 8b c4             	mov    %r12d,%r8d
140020d49:	48 8b ca             	mov    %rdx,%rcx
140020d4c:	49 8b c3             	mov    %r11,%rax
140020d4f:	48 f7 e2             	mul    %rdx
140020d52:	44 03 c3             	add    %ebx,%r8d
140020d55:	48 c1 ea 02          	shr    $0x2,%rdx
140020d59:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140020d5c:	3b c8                	cmp    %eax,%ecx
140020d5e:	74 e9                	je     0x140020d49
140020d60:	44 3b c6             	cmp    %esi,%r8d
140020d63:	45 8a ec             	mov    %r12b,%r13b
140020d66:	41 0f 93 c6          	setae  %r14b
140020d6a:	e9 47 01 00 00       	jmp    0x140020eb6
140020d6f:	45 8b d4             	mov    %r12d,%r10d
140020d72:	45 84 ff             	test   %r15b,%r15b
140020d75:	74 49                	je     0x140020dc0
140020d77:	41 8b c5             	mov    %r13d,%eax
140020d7a:	48 2b f8             	sub    %rax,%rdi
140020d7d:	49 8b c3             	mov    %r11,%rax
140020d80:	48 2b fb             	sub    %rbx,%rdi
140020d83:	48 f7 e7             	mul    %rdi
140020d86:	4c 8b c2             	mov    %rdx,%r8
140020d89:	49 c1 e8 02          	shr    $0x2,%r8
140020d8d:	43 8d 04 80          	lea    (%r8,%r8,4),%eax
140020d91:	3b f8                	cmp    %eax,%edi
140020d93:	75 1b                	jne    0x140020db0
140020d95:	49 8b c8             	mov    %r8,%rcx
140020d98:	49 8b c3             	mov    %r11,%rax
140020d9b:	49 f7 e0             	mul    %r8
140020d9e:	44 03 d3             	add    %ebx,%r10d
140020da1:	4c 8b c2             	mov    %rdx,%r8
140020da4:	49 c1 e8 02          	shr    $0x2,%r8
140020da8:	43 8d 04 80          	lea    (%r8,%r8,4),%eax
140020dac:	3b c8                	cmp    %eax,%ecx
140020dae:	74 e5                	je     0x140020d95
140020db0:	44 3b d6             	cmp    %esi,%r10d
140020db3:	41 0f 93 c5          	setae  %r13b
140020db7:	44 88 6d 58          	mov    %r13b,0x58(%rbp)
140020dbb:	e9 f6 00 00 00       	jmp    0x140020eb6
140020dc0:	48 8d 4f 02          	lea    0x2(%rdi),%rcx
140020dc4:	49 8b c3             	mov    %r11,%rax
140020dc7:	48 f7 e1             	mul    %rcx
140020dca:	eb 0c                	jmp    0x140020dd8
140020dcc:	44 03 d3             	add    %ebx,%r10d
140020dcf:	49 8b c3             	mov    %r11,%rax
140020dd2:	49 f7 e0             	mul    %r8
140020dd5:	49 8b c8             	mov    %r8,%rcx
140020dd8:	4c 8b c2             	mov    %rdx,%r8
140020ddb:	49 c1 e8 02          	shr    $0x2,%r8
140020ddf:	43 8d 04 80          	lea    (%r8,%r8,4),%eax
140020de3:	3b c8                	cmp    %eax,%ecx
140020de5:	74 e5                	je     0x140020dcc
140020de7:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
140020deb:	44 3b d6             	cmp    %esi,%r10d
140020dee:	49 8b c4             	mov    %r12,%rax
140020df1:	45 8a ec             	mov    %r12b,%r13b
140020df4:	0f 93 c0             	setae  %al
140020df7:	48 2b c8             	sub    %rax,%rcx
140020dfa:	e9 bb 00 00 00       	jmp    0x140020eba
140020dff:	41 8b cc             	mov    %r12d,%ecx
140020e02:	41 8b c1             	mov    %r9d,%eax
140020e05:	f7 d8                	neg    %eax
140020e07:	3b c3                	cmp    %ebx,%eax
140020e09:	0f 9f c1             	setg   %cl
140020e0c:	45 69 e1 05 d1 f4 ff 	imul   $0xfff4d105,%r9d,%r12d
140020e13:	41 c1 ec 14          	shr    $0x14,%r12d
140020e17:	44 2b e1             	sub    %ecx,%r12d
140020e1a:	45 8b c4             	mov    %r12d,%r8d
140020e1d:	43 8d 34 0c          	lea    (%r12,%r9,1),%esi
140020e21:	8b ce                	mov    %esi,%ecx
140020e23:	4c 8d 4d 60          	lea    0x60(%rbp),%r9
140020e27:	f7 d9                	neg    %ecx
140020e29:	69 c1 4f 93 12 00    	imul   $0x12934f,%ecx,%eax
140020e2f:	48 63 d1             	movslq %ecx,%rdx
140020e32:	49 8b ca             	mov    %r10,%rcx
140020e35:	48 c1 e2 04          	shl    $0x4,%rdx
140020e39:	c1 e8 13             	shr    $0x13,%eax
140020e3c:	44 2b c0             	sub    %eax,%r8d
140020e3f:	48 8d 05 8a 99 1f 00 	lea    0x1f998a(%rip),%rax        # 0x14021a7d0