1400228e8:	45 8b d4             	mov    %r12d,%r10d
1400228eb:	8b c3                	mov    %ebx,%eax
1400228ed:	45 2b d1             	sub    %r9d,%r10d
1400228f0:	f7 d8                	neg    %eax
1400228f2:	1b c9                	sbb    %ecx,%ecx
1400228f4:	45 33 c0             	xor    %r8d,%r8d
1400228f7:	41 23 cf             	and    %r15d,%ecx
1400228fa:	44 8b c9             	mov    %ecx,%r9d
1400228fd:	41 3b da             	cmp    %r10d,%ebx
140022900:	0f 86 c8 00 00 00    	jbe    0x1400229ce
140022906:	41 2b da             	sub    %r10d,%ebx
140022909:	0f 84 bf 00 00 00    	je     0x1400229ce
14002290f:	8b cb                	mov    %ebx,%ecx
140022911:	45 8b c1             	mov    %r9d,%r8d
140022914:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140022919:	41 f7 e1             	mul    %r9d
14002291c:	c1 ea 03             	shr    $0x3,%edx
14002291f:	44 8b ca             	mov    %edx,%r9d
140022922:	8d 04 92             	lea    (%rdx,%rdx,4),%eax
140022925:	03 c0                	add    %eax,%eax
140022927:	44 2b c0             	sub    %eax,%r8d
14002292a:	49 2b ce             	sub    %r14,%rcx
14002292d:	75 e2                	jne    0x140022911
14002292f:	41 83 f8 05          	cmp    $0x5,%r8d
140022933:	0f 85 95 00 00 00    	jne    0x1400229ce
140022939:	45 2b e5             	sub    %r13d,%r12d
14002293c:	43 8d 0c 1c          	lea    (%r12,%r11,1),%ecx
140022940:	f7 d9                	neg    %ecx
140022942:	85 c9                	test   %ecx,%ecx
140022944:	7e 30                	jle    0x140022976
140022946:	83 f9 3c             	cmp    $0x3c,%ecx
140022949:	7d 22                	jge    0x14002296d
14002294b:	49 8b c6             	mov    %r14,%rax
14002294e:	48 d3 e0             	shl    %cl,%rax
140022951:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140022956:	49 2b c6             	sub    %r14,%rax
140022959:	48 85 c1             	test   %rax,%rcx
14002295c:	74 1d                	je     0x14002297b
14002295e:	eb 12                	jmp    0x140022972
140022960:	44 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%r13d
140022967:	00
140022968:	e9 7b ff ff ff       	jmp    0x1400228e8
14002296d:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140022972:	32 c0                	xor    %al,%al
140022974:	eb 08                	jmp    0x14002297e
140022976:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14002297b:	41 8a c6             	mov    %r14b,%al
14002297e:	45 85 e4             	test   %r12d,%r12d
140022981:	79 43                	jns    0x1400229c6
140022983:	41 f7 dc             	neg    %r12d
140022986:	84 c0                	test   %al,%al
140022988:	74 3a                	je     0x1400229c4
14002298a:	48 bb cd cc cc cc cc 	movabs $0xcccccccccccccccd,%rbx
140022991:	cc cc cc
140022994:	45 33 db             	xor    %r11d,%r11d
140022997:	48 8b c3             	mov    %rbx,%rax
14002299a:	48 f7 e1             	mul    %rcx
14002299d:	eb 0c                	jmp    0x1400229ab
14002299f:	45 03 de             	add    %r14d,%r11d
1400229a2:	48 8b c3             	mov    %rbx,%rax
1400229a5:	49 f7 e0             	mul    %r8
1400229a8:	49 8b c8             	mov    %r8,%rcx
1400229ab:	4c 8b c2             	mov    %rdx,%r8
1400229ae:	49 c1 e8 02          	shr    $0x2,%r8
1400229b2:	43 8d 04 80          	lea    (%r8,%r8,4),%eax
1400229b6:	3b c8                	cmp    %eax,%ecx
1400229b8:	74 e5                	je     0x14002299f
1400229ba:	45 3b dc             	cmp    %r12d,%r11d
1400229bd:	72 05                	jb     0x1400229c4
1400229bf:	41 8a c6             	mov    %r14b,%al
1400229c2:	eb 02                	jmp    0x1400229c6
1400229c4:	32 c0                	xor    %al,%al
1400229c6:	0f b6 d8             	movzbl %al,%ebx
1400229c9:	41 03 de             	add    %r14d,%ebx
1400229cc:	eb 09                	jmp    0x1400229d7
1400229ce:	33 db                	xor    %ebx,%ebx
1400229d0:	41 83 f8 05          	cmp    $0x5,%r8d
1400229d4:	0f 97 c3             	seta   %bl
1400229d7:	83 bc 24 98 00 00 00 	cmpl   $0x0,0x98(%rsp)
1400229de:	00
1400229df:	74 3b                	je     0x140022a1c
1400229e1:	48 8b c5             	mov    %rbp,%rax
1400229e4:	45 8b fa             	mov    %r10d,%r15d
1400229e7:	48 2b c6             	sub    %rsi,%rax
1400229ea:	49 3b c7             	cmp    %r15,%rax
1400229ed:	0f 8c df f9 ff ff    	jl     0x1400223d2
1400229f3:	45 85 c9             	test   %r9d,%r9d
1400229f6:	75 11                	jne    0x140022a09
1400229f8:	45 8b c7             	mov    %r15d,%r8d
1400229fb:	41 8d 51 30          	lea    0x30(%r9),%edx
1400229ff:	48 8b ce             	mov    %rsi,%rcx
140022a02:	e8 fb 2f 1e 00       	call   0x140205a02
140022a07:	eb 53                	jmp    0x140022a5c
140022a09:	0f ae e8             	lfence
140022a0c:	4c 8b c6             	mov    %rsi,%r8
140022a0f:	41 8b d1             	mov    %r9d,%edx
140022a12:	41 8b ca             	mov    %r10d,%ecx
140022a15:	e8 ea f7 ff ff       	call   0x140022204
140022a1a:	eb 40                	jmp    0x140022a5c
140022a1c:	83 7c 24 28 00       	cmpl   $0x0,0x28(%rsp)
140022a21:	76 26                	jbe    0x140022a49
140022a23:	48 8b c5             	mov    %rbp,%rax
140022a26:	45 8d 7a 01          	lea    0x1(%r10),%r15d
140022a2a:	48 2b c6             	sub    %rsi,%rax
140022a2d:	49 3b c7             	cmp    %r15,%rax
140022a30:	0f 8c 9c f9 ff ff    	jl     0x1400223d2
140022a36:	0f ae e8             	lfence
140022a39:	4c 8b c6             	mov    %rsi,%r8
140022a3c:	41 8b d1             	mov    %r9d,%edx
140022a3f:	41 8b ca             	mov    %r10d,%ecx
140022a42:	e8 55 f8 ff ff       	call   0x14002229c
140022a47:	eb 13                	jmp    0x140022a5c
140022a49:	48 3b f5             	cmp    %rbp,%rsi
140022a4c:	0f 84 80 f9 ff ff    	je     0x1400223d2
140022a52:	41 80 c1 30          	add    $0x30,%r9b
140022a56:	4d 8b fe             	mov    %r14,%r15
140022a59:	44 88 0e             	mov    %r9b,(%rsi)
140022a5c:	4a 8d 14 3e          	lea    (%rsi,%r15,1),%rdx
140022a60:	85 db                	test   %ebx,%ebx
140022a62:	74 31                	je     0x140022a95
140022a64:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
140022a69:	48 8b c2             	mov    %rdx,%rax
140022a6c:	49 3b d0             	cmp    %r8,%rdx
140022a6f:	74 1e                	je     0x140022a8f
140022a71:	49 2b c6             	sub    %r14,%rax
140022a74:	8a 08                	mov    (%rax),%cl
140022a76:	80 f9 2e             	cmp    $0x2e,%cl
140022a79:	74 0f                	je     0x140022a8a
140022a7b:	80 f9 39             	cmp    $0x39,%cl
140022a7e:	0f 85 9b 00 00 00    	jne    0x140022b1f
140022a84:	c6 00 30             	movb   $0x30,(%rax)
140022a87:	41 8b de             	mov    %r14d,%ebx
140022a8a:	49 3b c0             	cmp    %r8,%rax
140022a8d:	75 e2                	jne    0x140022a71
140022a8f:	c6 00 31             	movb   $0x31,(%rax)
140022a92:	45 03 ee             	add    %r14d,%r13d
140022a95:	45 8b c5             	mov    %r13d,%r8d
140022a98:	48 8b c5             	mov    %rbp,%rax
140022a9b:	41 f7 d8             	neg    %r8d
140022a9e:	45 0f 48 c5          	cmovs  %r13d,%r8d
140022aa2:	33 c9                	xor    %ecx,%ecx
140022aa4:	41 83 f8 64          	cmp    $0x64,%r8d
140022aa8:	0f 9d c1             	setge  %cl
140022aab:	48 2b c2             	sub    %rdx,%rax
140022aae:	48 83 c1 04          	add    $0x4,%rcx
140022ab2:	48 3b c1             	cmp    %rcx,%rax
140022ab5:	0f 8c 17 f9 ff ff    	jl     0x1400223d2
140022abb:	48 8d 4a 01          	lea    0x1(%rdx),%rcx
140022abf:	c6 02 65             	movb   $0x65,(%rdx)
140022ac2:	b8 2d 00 00 00       	mov    $0x2d,%eax
140022ac7:	4c 8d 15 32 d5 fd ff 	lea    -0x22ace(%rip),%r10        # 0x140000000
140022ace:	45 85 ed             	test   %r13d,%r13d
140022ad1:	8d 50 fe             	lea    -0x2(%rax),%edx
140022ad4:	0f 49 c2             	cmovns %edx,%eax
140022ad7:	88 01                	mov    %al,(%rcx)
140022ad9:	49 03 ce             	add    %r14,%rcx
140022adc:	41 83 f8 64          	cmp    $0x64,%r8d
140022ae0:	7c 55                	jl     0x140022b37
140022ae2:	b8 67 66 66 66       	mov    $0x66666667,%eax
140022ae7:	41 f7 e8             	imul   %r8d
140022aea:	c1 fa 02             	sar    $0x2,%edx
140022aed:	8b c2                	mov    %edx,%eax
140022aef:	c1 e8 1f             	shr    $0x1f,%eax
140022af2:	03 d0                	add    %eax,%edx
140022af4:	8d 04 12             	lea    (%rdx,%rdx,1),%eax
140022af7:	48 98                	cltq
140022af9:	42 0f b7 84 10 f0 fd 	movzwl 0x24fdf0(%rax,%r10,1),%eax
140022b00:	24 00
140022b02:	66 89 01             	mov    %ax,(%rcx)
140022b05:	8a c2                	mov    %dl,%al
140022b07:	c0 e2 02             	shl    $0x2,%dl
140022b0a:	02 c2                	add    %dl,%al
140022b0c:	02 c0                	add    %al,%al
140022b0e:	44 2a c0             	sub    %al,%r8b
140022b11:	41 80 c0 30          	add    $0x30,%r8b
140022b15:	44 88 41 02          	mov    %r8b,0x2(%rcx)
140022b19:	48 83 c1 03          	add    $0x3,%rcx
140022b1d:	eb 2e                	jmp    0x140022b4d
140022b1f:	41 3b de             	cmp    %r14d,%ebx
140022b22:	74 09                	je     0x140022b2d
140022b24:	41 84 ce             	test   %cl,%r14b
140022b27:	0f 84 68 ff ff ff    	je     0x140022a95
140022b2d:	41 02 ce             	add    %r14b,%cl
140022b30:	88 08                	mov    %cl,(%rax)
140022b32:	e9 5e ff ff ff       	jmp    0x140022a95
140022b37:	43 8d 04 00          	lea    (%r8,%r8,1),%eax
140022b3b:	48 98                	cltq
140022b3d:	42 0f b7 84 10 f0 fd 	movzwl 0x24fdf0(%rax,%r10,1),%eax
140022b44:	24 00
140022b46:	66 89 01             	mov    %ax,(%rcx)
140022b49:	48 83 c1 02          	add    $0x2,%rcx
140022b4d:	48 89 0f             	mov    %rcx,(%rdi)
140022b50:	83 67 08 00          	andl   $0x0,0x8(%rdi)
140022b54:	33 c0                	xor    %eax,%eax
140022b56:	89 47 0c             	mov    %eax,0xc(%rdi)
140022b59:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
140022b60:	00
140022b61:	48 8b c7             	mov    %rdi,%rax
140022b64:	48 83 c4 50          	add    $0x50,%rsp
140022b68:	41 5f                	pop    %r15
140022b6a:	41 5e                	pop    %r14
140022b6c:	41 5d                	pop    %r13
140022b6e:	41 5c                	pop    %r12
140022b70:	5f                   	pop    %rdi
140022b71:	5e                   	pop    %rsi
140022b72:	5d                   	pop    %rbp
140022b73:	c3                   	ret
140022b74:	48 8b c4             	mov    %rsp,%rax
140022b77:	48 89 58 08          	mov    %rbx,0x8(%rax)
140022b7b:	48 89 70 18          	mov    %rsi,0x18(%rax)
140022b7f:	55                   	push   %rbp
140022b80:	57                   	push   %rdi
140022b81:	41 55                	push   %r13
140022b83:	41 56                	push   %r14
140022b85:	41 57                	push   %r15
140022b87:	48 8d 68 a9          	lea    -0x57(%rax),%rbp
140022b8b:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
140022b92:	0f 29 70 c8          	movaps %xmm6,-0x38(%rax)
140022b96:	48 8b 05 e3 e5 2d 00 	mov    0x2de5e3(%rip),%rax        # 0x140301180
140022b9d:	48 33 c4             	xor    %rsp,%rax
140022ba0:	48 89 45 0f          	mov    %rax,0xf(%rbp)
140022ba4:	4d 8b e8             	mov    %r8,%r13
140022ba7:	48 8b f2             	mov    %rdx,%rsi
140022baa:	48 8b d9             	mov    %rcx,%rbx
140022bad:	44 8b 4d 7f          	mov    0x7f(%rbp),%r9d
140022bb1:	66 41 0f 7e d8       	movd   %xmm3,%r8d
140022bb6:	45 85 c0             	test   %r8d,%r8d
140022bb9:	75 2d                	jne    0x140022be8
140022bbb:	49 3b d5             	cmp    %r13,%rdx
140022bbe:	75 10                	jne    0x140022bd0
140022bc0:	4c 89 29             	mov    %r13,(%rcx)
140022bc3:	48 c7 41 08 84 00 00 	movq   $0x84,0x8(%rcx)
140022bca:	00
140022bcb:	e9 f3 01 00 00       	jmp    0x140022dc3
140022bd0:	c6 02 30             	movb   $0x30,(%rdx)
140022bd3:	48 8d 42 01          	lea    0x1(%rdx),%rax
140022bd7:	48 89 01             	mov    %rax,(%rcx)
140022bda:	83 61 08 00          	andl   $0x0,0x8(%rcx)
140022bde:	33 c0                	xor    %eax,%eax
140022be0:	89 41 0c             	mov    %eax,0xc(%rcx)
140022be3:	e9 db 01 00 00       	jmp    0x140022dc3
140022be8:	41 ba 06 00 00 00    	mov    $0x6,%r10d
140022bee:	45 85 c9             	test   %r9d,%r9d
140022bf1:	79 05                	jns    0x140022bf8
140022bf3:	45 8b ca             	mov    %r10d,%r9d
140022bf6:	eb 16                	jmp    0x140022c0e
140022bf8:	75 08                	jne    0x140022c02
140022bfa:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140022c00:	eb 0c                	jmp    0x140022c0e
140022c02:	b8 40 42 0f 00       	mov    $0xf4240,%eax
140022c07:	44 3b c8             	cmp    %eax,%r9d
140022c0a:	44 0f 4d c8          	cmovge %eax,%r9d
140022c0e:	41 83 f9 07          	cmp    $0x7,%r9d
140022c12:	7f 23                	jg     0x140022c37
140022c14:	41 8d 41 0a          	lea    0xa(%r9),%eax
140022c18:	41 8d 49 ff          	lea    -0x1(%r9),%ecx
140022c1c:	0f af c1             	imul   %ecx,%eax
140022c1f:	99                   	cltd
140022c20:	2b c2                	sub    %edx,%eax
140022c22:	d1 f8                	sar    $1,%eax
140022c24:	48 63 c8             	movslq %eax,%rcx
140022c27:	48 8d 05 82 28 21 00 	lea    0x212882(%rip),%rax        # 0x1402354b0
140022c2e:	48 8d 14 88          	lea    (%rax,%rcx,4),%rdx
140022c32:	49 63 c9             	movslq %r9d,%rcx
140022c35:	eb 18                	jmp    0x140022c4f
140022c37:	48 8d 15 72 29 21 00 	lea    0x212972(%rip),%rdx        # 0x1402355b0
140022c3e:	41 8b c1             	mov    %r9d,%eax
140022c41:	b9 27 00 00 00       	mov    $0x27,%ecx
140022c46:	44 3b c9             	cmp    %ecx,%r9d
140022c49:	0f 4f c1             	cmovg  %ecx,%eax
140022c4c:	48 63 c8             	movslq %eax,%rcx
140022c4f:	48 83 c1 05          	add    $0x5,%rcx
140022c53:	48 8d 0c 8a          	lea    (%rdx,%rcx,4),%rcx
140022c57:	48 8b c2             	mov    %rdx,%rax
140022c5a:	48 3b d1             	cmp    %rcx,%rdx
140022c5d:	74 0e                	je     0x140022c6d
140022c5f:	44 3b 00             	cmp    (%rax),%r8d
140022c62:	76 09                	jbe    0x140022c6d
140022c64:	48 83 c0 04          	add    $0x4,%rax
140022c68:	48 3b c1             	cmp    %rcx,%rax
140022c6b:	75 f2                	jne    0x140022c5f
140022c6d:	48 2b c2             	sub    %rdx,%rax
140022c70:	48 c1 f8 02          	sar    $0x2,%rax
140022c74:	83 c0 fb             	add    $0xfffffffb,%eax
140022c77:	44 3b c8             	cmp    %eax,%r9d
140022c7a:	7e 09                	jle    0x140022c85
140022c7c:	83 f8 fc             	cmp    $0xfffffffc,%eax
140022c7f:	7c 04                	jl     0x140022c85
140022c81:	b1 01                	mov    $0x1,%cl
140022c83:	eb 02                	jmp    0x140022c87
140022c85:	32 c9                	xor    %cl,%cl
140022c87:	88 4c 24 30          	mov    %cl,0x30(%rsp)
140022c8b:	48 83 64 24 38 00    	andq   $0x0,0x38(%rsp)
140022c91:	45 33 ff             	xor    %r15d,%r15d
140022c94:	84 c9                	test   %cl,%cl
140022c96:	74 2e                	je     0x140022cc6
140022c98:	44 2b c8             	sub    %eax,%r9d
140022c9b:	45 8d 71 ff          	lea    -0x1(%r9),%r14d
140022c9f:	41 8d 47 25          	lea    0x25(%r15),%eax
140022ca3:	44 3b f0             	cmp    %eax,%r14d
140022ca6:	44 0f 4f f0          	cmovg  %eax,%r14d
140022caa:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
140022caf:	4c 8d 45 04          	lea    0x4(%rbp),%r8
140022cb3:	48 8d 55 8f          	lea    -0x71(%rbp),%rdx
140022cb7:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140022cbc:	e8 27 f4 ff ff       	call   0x1400220e8
140022cc1:	48 8b 38             	mov    (%rax),%rdi
140022cc4:	eb 77                	jmp    0x140022d3d
140022cc6:	45 8d 71 ff          	lea    -0x1(%r9),%r14d
140022cca:	b8 6f 00 00 00       	mov    $0x6f,%eax
140022ccf:	44 3b f0             	cmp    %eax,%r14d
140022cd2:	44 0f 4f f0          	cmovg  %eax,%r14d
140022cd6:	41 8b c6             	mov    %r14d,%eax
140022cd9:	45 85 f6             	test   %r14d,%r14d
140022cdc:	79 05                	jns    0x140022ce3
140022cde:	41 8b c2             	mov    %r10d,%eax
140022ce1:	eb 09                	jmp    0x140022cec
140022ce3:	41 81 fe 00 ca 9a 3b 	cmp    $0x3b9aca00,%r14d
140022cea:	7d 21                	jge    0x140022d0d
140022cec:	f3 0f 5a db          	cvtss2sd %xmm3,%xmm3
140022cf0:	89 44 24 20          	mov    %eax,0x20(%rsp)
140022cf4:	4c 8d 45 04          	lea    0x4(%rbp),%r8
140022cf8:	48 8d 55 8f          	lea    -0x71(%rbp),%rdx
140022cfc:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140022d01:	e8 76 f6 ff ff       	call   0x14002237c
140022d06:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
140022d0b:	eb 12                	jmp    0x140022d1f
140022d0d:	48 8d 55 04          	lea    0x4(%rbp),%rdx
140022d11:	48 89 54 24 40       	mov    %rdx,0x40(%rsp)
140022d16:	48 c7 44 24 48 84 00 	movq   $0x84,0x48(%rsp)
140022d1d:	00 00
140022d1f:	0f 28 74 24 40       	movaps 0x40(%rsp),%xmm6
140022d24:	41 b0 65             	mov    $0x65,%r8b
140022d27:	48 8d 4d 8f          	lea    -0x71(%rbp),%rcx
140022d2b:	e8 30 3a 1e 00       	call   0x140206760
140022d30:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
140022d35:	48 8b f8             	mov    %rax,%rdi
140022d38:	66 49 0f 7e f7       	movq   %xmm6,%r15
140022d3d:	45 85 f6             	test   %r14d,%r14d
140022d40:	7e 16                	jle    0x140022d58
140022d42:	eb 03                	jmp    0x140022d47
140022d44:	48 ff cf             	dec    %rdi
140022d47:	80 7f ff 30          	cmpb   $0x30,-0x1(%rdi)
140022d4b:	74 f7                	je     0x140022d44
140022d4d:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
140022d51:	80 38 2e             	cmpb   $0x2e,(%rax)
140022d54:	48 0f 44 f8          	cmove  %rax,%rdi
140022d58:	48 8d 45 8f          	lea    -0x71(%rbp),%rax
140022d5c:	48 2b f8             	sub    %rax,%rdi
140022d5f:	49 8b c5             	mov    %r13,%rax