140061a28:	76 09                	jbe    0x140061a33
140061a2a:	f3 0f 11 14 10       	movss  %xmm2,(%rax,%rdx,1)
140061a2f:	f3 0f 11 02          	movss  %xmm0,(%rdx)
140061a33:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061a38:	49 8b c9             	mov    %r9,%rcx
140061a3b:	48 2b c8             	sub    %rax,%rcx
140061a3e:	f3 0f 10 09          	movss  (%rcx),%xmm1
140061a42:	0f 2f c8             	comiss %xmm0,%xmm1
140061a45:	76 09                	jbe    0x140061a50
140061a47:	f3 41 0f 11 09       	movss  %xmm1,(%r9)
140061a4c:	f3 0f 11 01          	movss  %xmm0,(%rcx)
140061a50:	f3 42 0f 10 04 08    	movss  (%rax,%r9,1),%xmm0
140061a56:	f3 41 0f 10 09       	movss  (%r9),%xmm1
140061a5b:	0f 2f c8             	comiss %xmm0,%xmm1
140061a5e:	76 1d                	jbe    0x140061a7d
140061a60:	f3 42 0f 11 0c 08    	movss  %xmm1,(%rax,%r9,1)
140061a66:	f3 41 0f 11 01       	movss  %xmm0,(%r9)
140061a6b:	f3 0f 10 11          	movss  (%rcx),%xmm2
140061a6f:	0f 2f d0             	comiss %xmm0,%xmm2
140061a72:	76 09                	jbe    0x140061a7d
140061a74:	f3 41 0f 11 11       	movss  %xmm2,(%r9)
140061a79:	f3 0f 11 01          	movss  %xmm0,(%rcx)
140061a7d:	49 8b ca             	mov    %r10,%rcx
140061a80:	4d 8b c2             	mov    %r10,%r8
140061a83:	48 2b c8             	sub    %rax,%rcx
140061a86:	4c 2b c3             	sub    %rbx,%r8
140061a89:	f3 0f 10 01          	movss  (%rcx),%xmm0
140061a8d:	f3 41 0f 10 08       	movss  (%r8),%xmm1
140061a92:	0f 2f c8             	comiss %xmm0,%xmm1
140061a95:	76 09                	jbe    0x140061aa0
140061a97:	f3 0f 11 09          	movss  %xmm1,(%rcx)
140061a9b:	f3 41 0f 11 00       	movss  %xmm0,(%r8)
140061aa0:	f3 41 0f 10 02       	movss  (%r10),%xmm0
140061aa5:	f3 0f 10 09          	movss  (%rcx),%xmm1
140061aa9:	0f 2f c8             	comiss %xmm0,%xmm1
140061aac:	76 1c                	jbe    0x140061aca
140061aae:	f3 41 0f 11 0a       	movss  %xmm1,(%r10)
140061ab3:	f3 0f 11 01          	movss  %xmm0,(%rcx)
140061ab7:	f3 41 0f 10 10       	movss  (%r8),%xmm2
140061abc:	0f 2f d0             	comiss %xmm0,%xmm2
140061abf:	76 09                	jbe    0x140061aca
140061ac1:	f3 0f 11 11          	movss  %xmm2,(%rcx)
140061ac5:	f3 41 0f 11 00       	movss  %xmm0,(%r8)
140061aca:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061acf:	f3 0f 10 0c 10       	movss  (%rax,%rdx,1),%xmm1
140061ad4:	0f 2f c8             	comiss %xmm0,%xmm1
140061ad7:	76 0a                	jbe    0x140061ae3
140061ad9:	f3 41 0f 11 09       	movss  %xmm1,(%r9)
140061ade:	f3 0f 11 04 10       	movss  %xmm0,(%rax,%rdx,1)
140061ae3:	f3 0f 10 01          	movss  (%rcx),%xmm0
140061ae7:	f3 41 0f 10 09       	movss  (%r9),%xmm1
140061aec:	0f 2f c8             	comiss %xmm0,%xmm1
140061aef:	76 5d                	jbe    0x140061b4e
140061af1:	f3 0f 11 09          	movss  %xmm1,(%rcx)
140061af5:	f3 41 0f 11 01       	movss  %xmm0,(%r9)
140061afa:	f3 0f 10 14 10       	movss  (%rax,%rdx,1),%xmm2
140061aff:	0f 2f d0             	comiss %xmm0,%xmm2
140061b02:	76 4a                	jbe    0x140061b4e
140061b04:	f3 41 0f 11 11       	movss  %xmm2,(%r9)
140061b09:	f3 0f 11 04 10       	movss  %xmm0,(%rax,%rdx,1)
140061b0e:	eb 3e                	jmp    0x140061b4e
140061b10:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061b15:	0f 2f c8             	comiss %xmm0,%xmm1
140061b18:	76 09                	jbe    0x140061b23
140061b1a:	f3 41 0f 11 09       	movss  %xmm1,(%r9)
140061b1f:	f3 0f 11 02          	movss  %xmm0,(%rdx)
140061b23:	f3 41 0f 10 02       	movss  (%r10),%xmm0
140061b28:	f3 41 0f 10 09       	movss  (%r9),%xmm1
140061b2d:	0f 2f c8             	comiss %xmm0,%xmm1
140061b30:	76 1c                	jbe    0x140061b4e
140061b32:	f3 41 0f 11 0a       	movss  %xmm1,(%r10)
140061b37:	f3 41 0f 11 01       	movss  %xmm0,(%r9)
140061b3c:	f3 0f 10 12          	movss  (%rdx),%xmm2
140061b40:	0f 2f d0             	comiss %xmm0,%xmm2
140061b43:	76 09                	jbe    0x140061b4e
140061b45:	f3 41 0f 11 11       	movss  %xmm2,(%r9)
140061b4a:	f3 0f 11 02          	movss  %xmm0,(%rdx)
140061b4e:	49 8d 49 04          	lea    0x4(%r9),%rcx
140061b52:	49 3b d1             	cmp    %r9,%rdx
140061b55:	73 23                	jae    0x140061b7a
140061b57:	f3 41 0f 10 09       	movss  (%r9),%xmm1
140061b5c:	49 8d 41 fc          	lea    -0x4(%r9),%rax
140061b60:	f3 0f 10 00          	movss  (%rax),%xmm0
140061b64:	0f 2f c8             	comiss %xmm0,%xmm1
140061b67:	77 11                	ja     0x140061b7a
140061b69:	41 0f 2f 01          	comiss (%r9),%xmm0
140061b6d:	77 0b                	ja     0x140061b7a
140061b6f:	4c 8b c8             	mov    %rax,%r9
140061b72:	0f 28 c8             	movaps %xmm0,%xmm1
140061b75:	48 3b d0             	cmp    %rax,%rdx
140061b78:	72 e2                	jb     0x140061b5c
140061b7a:	bb 04 00 00 00       	mov    $0x4,%ebx
140061b7f:	49 3b cb             	cmp    %r11,%rcx
140061b82:	73 1b                	jae    0x140061b9f
140061b84:	f3 41 0f 10 09       	movss  (%r9),%xmm1
140061b89:	f3 0f 10 01          	movss  (%rcx),%xmm0
140061b8d:	0f 2f c8             	comiss %xmm0,%xmm1
140061b90:	77 0d                	ja     0x140061b9f
140061b92:	0f 2f c1             	comiss %xmm1,%xmm0
140061b95:	77 08                	ja     0x140061b9f
140061b97:	48 03 cb             	add    %rbx,%rcx
140061b9a:	49 3b cb             	cmp    %r11,%rcx
140061b9d:	72 ea                	jb     0x140061b89
140061b9f:	4c 8b c1             	mov    %rcx,%r8
140061ba2:	4d 8b d1             	mov    %r9,%r10
140061ba5:	eb 2c                	jmp    0x140061bd3
140061ba7:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061bac:	f3 41 0f 10 08       	movss  (%r8),%xmm1
140061bb1:	0f 2f c8             	comiss %xmm0,%xmm1
140061bb4:	77 1a                	ja     0x140061bd0
140061bb6:	0f 2f c1             	comiss %xmm1,%xmm0
140061bb9:	77 1d                	ja     0x140061bd8
140061bbb:	49 3b c8             	cmp    %r8,%rcx
140061bbe:	74 0d                	je     0x140061bcd
140061bc0:	f3 0f 10 01          	movss  (%rcx),%xmm0
140061bc4:	f3 0f 11 09          	movss  %xmm1,(%rcx)
140061bc8:	f3 41 0f 11 00       	movss  %xmm0,(%r8)
140061bcd:	48 03 cb             	add    %rbx,%rcx
140061bd0:	4c 03 c3             	add    %rbx,%r8
140061bd3:	4d 3b c3             	cmp    %r11,%r8
140061bd6:	72 cf                	jb     0x140061ba7
140061bd8:	4c 3b d2             	cmp    %rdx,%r10
140061bdb:	76 3b                	jbe    0x140061c18
140061bdd:	49 8d 42 fc          	lea    -0x4(%r10),%rax
140061be1:	f3 0f 10 08          	movss  (%rax),%xmm1
140061be5:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061bea:	0f 2f c1             	comiss %xmm1,%xmm0
140061bed:	77 1b                	ja     0x140061c0a
140061bef:	0f 2f c8             	comiss %xmm0,%xmm1
140061bf2:	77 21                	ja     0x140061c15
140061bf4:	4c 2b cb             	sub    %rbx,%r9
140061bf7:	4c 3b c8             	cmp    %rax,%r9
140061bfa:	74 0e                	je     0x140061c0a
140061bfc:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061c01:	f3 41 0f 11 09       	movss  %xmm1,(%r9)
140061c06:	f3 0f 11 00          	movss  %xmm0,(%rax)
140061c0a:	4c 2b d3             	sub    %rbx,%r10
140061c0d:	48 2b c3             	sub    %rbx,%rax
140061c10:	49 3b d2             	cmp    %r10,%rdx
140061c13:	72 cc                	jb     0x140061be1
140061c15:	4c 3b d2             	cmp    %rdx,%r10
140061c18:	75 30                	jne    0x140061c4a
140061c1a:	4d 3b c3             	cmp    %r11,%r8
140061c1d:	74 77                	je     0x140061c96
140061c1f:	49 3b c8             	cmp    %r8,%rcx
140061c22:	74 0e                	je     0x140061c32
140061c24:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061c29:	8b 01                	mov    (%rcx),%eax
140061c2b:	41 89 01             	mov    %eax,(%r9)
140061c2e:	f3 0f 11 01          	movss  %xmm0,(%rcx)
140061c32:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061c37:	48 03 cb             	add    %rbx,%rcx
140061c3a:	41 8b 00             	mov    (%r8),%eax
140061c3d:	41 89 01             	mov    %eax,(%r9)
140061c40:	4c 03 cb             	add    %rbx,%r9
140061c43:	f3 41 0f 11 00       	movss  %xmm0,(%r8)
140061c48:	eb 86                	jmp    0x140061bd0
140061c4a:	49 83 c2 fc          	add    $0xfffffffffffffffc,%r10
140061c4e:	4d 3b c3             	cmp    %r11,%r8
140061c51:	75 2e                	jne    0x140061c81
140061c53:	4c 2b cb             	sub    %rbx,%r9
140061c56:	4d 3b d1             	cmp    %r9,%r10
140061c59:	74 10                	je     0x140061c6b
140061c5b:	f3 41 0f 10 02       	movss  (%r10),%xmm0
140061c60:	41 8b 01             	mov    (%r9),%eax
140061c63:	41 89 02             	mov    %eax,(%r10)
140061c66:	f3 41 0f 11 01       	movss  %xmm0,(%r9)
140061c6b:	f3 41 0f 10 01       	movss  (%r9),%xmm0
140061c70:	48 2b cb             	sub    %rbx,%rcx
140061c73:	8b 01                	mov    (%rcx),%eax
140061c75:	41 89 01             	mov    %eax,(%r9)
140061c78:	f3 0f 11 01          	movss  %xmm0,(%rcx)
140061c7c:	e9 52 ff ff ff       	jmp    0x140061bd3
140061c81:	f3 41 0f 10 00       	movss  (%r8),%xmm0
140061c86:	41 8b 02             	mov    (%r10),%eax
140061c89:	41 89 00             	mov    %eax,(%r8)
140061c8c:	f3 41 0f 11 02       	movss  %xmm0,(%r10)
140061c91:	e9 3a ff ff ff       	jmp    0x140061bd0
140061c96:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
140061c9b:	48 8b c7             	mov    %rdi,%rax
140061c9e:	4c 89 0f             	mov    %r9,(%rdi)
140061ca1:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140061ca5:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
140061caa:	c3                   	ret
140061cab:	90                   	nop
140061cac:	48 8b c4             	mov    %rsp,%rax
140061caf:	48 89 58 08          	mov    %rbx,0x8(%rax)
140061cb3:	48 89 68 10          	mov    %rbp,0x10(%rax)
140061cb7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140061cbb:	48 89 78 20          	mov    %rdi,0x20(%rax)
140061cbf:	41 54                	push   %r12
140061cc1:	41 56                	push   %r14
140061cc3:	41 57                	push   %r15
140061cc5:	48 83 ec 20          	sub    $0x20,%rsp
140061cc9:	4d 8d 78 ff          	lea    -0x1(%r8),%r15
140061ccd:	4d 8b e1             	mov    %r9,%r12
140061cd0:	49 8b ef             	mov    %r15,%rbp
140061cd3:	49 8b f8             	mov    %r8,%rdi
140061cd6:	48 d1 fd             	sar    $1,%rbp
140061cd9:	4c 8b d2             	mov    %rdx,%r10
140061cdc:	48 8b d9             	mov    %rcx,%rbx
140061cdf:	4c 8b f2             	mov    %rdx,%r14
140061ce2:	48 8b f2             	mov    %rdx,%rsi
140061ce5:	48 3b d5             	cmp    %rbp,%rdx
140061ce8:	7d 71                	jge    0x140061d5b
140061cea:	4c 8d 04 36          	lea    (%rsi,%rsi,1),%r8
140061cee:	33 f6                	xor    %esi,%esi
140061cf0:	49 8b c0             	mov    %r8,%rax
140061cf3:	48 03 c0             	add    %rax,%rax
140061cf6:	48 8b 4c c3 20       	mov    0x20(%rbx,%rax,8),%rcx
140061cfb:	48 8b 54 c3 10       	mov    0x10(%rbx,%rax,8),%rdx
140061d00:	f3 0f 10 41 20       	movss  0x20(%rcx),%xmm0
140061d05:	f3 0f 5c 41 18       	subss  0x18(%rcx),%xmm0
140061d0a:	f3 0f 10 4a 24       	movss  0x24(%rdx),%xmm1
140061d0f:	f3 0f 5c 4a 1c       	subss  0x1c(%rdx),%xmm1
140061d14:	f3 0f 10 51 24       	movss  0x24(%rcx),%xmm2
140061d19:	f3 0f 5c 51 1c       	subss  0x1c(%rcx),%xmm2
140061d1e:	f3 0f 59 d0          	mulss  %xmm0,%xmm2
140061d22:	f3 0f 10 42 20       	movss  0x20(%rdx),%xmm0
140061d27:	f3 0f 5c 42 18       	subss  0x18(%rdx),%xmm0
140061d2c:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140061d30:	0f 2f d1             	comiss %xmm1,%xmm2
140061d33:	40 0f 96 c6          	setbe  %sil
140061d37:	4d 03 d2             	add    %r10,%r10
140061d3a:	48 ff c6             	inc    %rsi
140061d3d:	49 03 f0             	add    %r8,%rsi
140061d40:	48 8b d6             	mov    %rsi,%rdx
140061d43:	48 c1 e2 04          	shl    $0x4,%rdx
140061d47:	4a 8d 0c d3          	lea    (%rbx,%r10,8),%rcx
140061d4b:	48 03 d3             	add    %rbx,%rdx
140061d4e:	e8 91 45 fa ff       	call   0x1400062e4
140061d53:	4c 8b d6             	mov    %rsi,%r10
140061d56:	48 3b f5             	cmp    %rbp,%rsi
140061d59:	7c 8f                	jl     0x140061cea
140061d5b:	48 3b f5             	cmp    %rbp,%rsi
140061d5e:	75 20                	jne    0x140061d80
140061d60:	40 f6 c7 01          	test   $0x1,%dil
140061d64:	75 1a                	jne    0x140061d80
140061d66:	4d 03 d2             	add    %r10,%r10
140061d69:	48 c1 e7 04          	shl    $0x4,%rdi
140061d6d:	48 8d 53 f0          	lea    -0x10(%rbx),%rdx
140061d71:	48 03 d7             	add    %rdi,%rdx
140061d74:	4a 8d 0c d3          	lea    (%rbx,%r10,8),%rcx
140061d78:	e8 67 45 fa ff       	call   0x1400062e4
140061d7d:	4d 8b d7             	mov    %r15,%r10
140061d80:	4d 3b f2             	cmp    %r10,%r14
140061d83:	7d 61                	jge    0x140061de6
140061d85:	49 8b 0c 24          	mov    (%r12),%rcx
140061d89:	49 8d 7a ff          	lea    -0x1(%r10),%rdi
140061d8d:	48 d1 ff             	sar    $1,%rdi
140061d90:	48 8b d7             	mov    %rdi,%rdx
140061d93:	48 c1 e2 04          	shl    $0x4,%rdx
140061d97:	f3 0f 10 49 24       	movss  0x24(%rcx),%xmm1
140061d9c:	48 03 d3             	add    %rbx,%rdx
140061d9f:	f3 0f 5c 49 1c       	subss  0x1c(%rcx),%xmm1
140061da4:	48 8b 02             	mov    (%rdx),%rax
140061da7:	f3 0f 10 40 20       	movss  0x20(%rax),%xmm0
140061dac:	f3 0f 5c 40 18       	subss  0x18(%rax),%xmm0
140061db1:	f3 0f 10 50 24       	movss  0x24(%rax),%xmm2
140061db6:	f3 0f 5c 50 1c       	subss  0x1c(%rax),%xmm2
140061dbb:	f3 0f 59 d0          	mulss  %xmm0,%xmm2
140061dbf:	f3 0f 10 41 20       	movss  0x20(%rcx),%xmm0
140061dc4:	f3 0f 5c 41 18       	subss  0x18(%rcx),%xmm0
140061dc9:	f3 0f 59 c8          	mulss  %xmm0,%xmm1
140061dcd:	0f 2f d1             	comiss %xmm1,%xmm2
140061dd0:	76 14                	jbe    0x140061de6
140061dd2:	4d 03 d2             	add    %r10,%r10
140061dd5:	4a 8d 0c d3          	lea    (%rbx,%r10,8),%rcx
140061dd9:	e8 06 45 fa ff       	call   0x1400062e4
140061dde:	4c 8b d7             	mov    %rdi,%r10
140061de1:	4c 3b f7             	cmp    %rdi,%r14
140061de4:	7c 9f                	jl     0x140061d85
140061de6:	4d 03 d2             	add    %r10,%r10
140061de9:	49 8b d4             	mov    %r12,%rdx
140061dec:	4a 8d 0c d3          	lea    (%rbx,%r10,8),%rcx
140061df0:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140061df5:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140061dfa:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140061dff:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140061e04:	48 83 c4 20          	add    $0x20,%rsp
140061e08:	41 5f                	pop    %r15
140061e0a:	41 5e                	pop    %r14
140061e0c:	41 5c                	pop    %r12
140061e0e:	e9 d1 44 fa ff       	jmp    0x1400062e4
140061e13:	cc                   	int3
140061e14:	48 8b c4             	mov    %rsp,%rax
140061e17:	48 89 58 08          	mov    %rbx,0x8(%rax)
140061e1b:	48 89 68 10          	mov    %rbp,0x10(%rax)
140061e1f:	48 89 70 18          	mov    %rsi,0x18(%rax)
140061e23:	48 89 78 20          	mov    %rdi,0x20(%rax)
140061e27:	41 54                	push   %r12
140061e29:	41 55                	push   %r13
140061e2b:	41 57                	push   %r15
140061e2d:	48 83 ec 20          	sub    $0x20,%rsp
140061e31:	48 8b 01             	mov    (%rcx),%rax
140061e34:	45 33 ed             	xor    %r13d,%r13d
140061e37:	4d 8b f9             	mov    %r9,%r15
140061e3a:	4c 8b d2             	mov    %rdx,%r10
140061e3d:	4c 8b e1             	mov    %rcx,%r12
140061e40:	45 38 68 19          	cmp    %r13b,0x19(%r8)
140061e44:	74 45                	je     0x140061e8b
140061e46:	48 8d 50 10          	lea    0x10(%rax),%rdx
140061e4a:	48 8b 40 08          	mov    0x8(%rax),%rax
140061e4e:	44 38 68 19          	cmp    %r13b,0x19(%rax)
140061e52:	75 24                	jne    0x140061e78
140061e54:	4d 8b 19             	mov    (%r9),%r11
140061e57:	45 8d 4d 01          	lea    0x1(%r13),%r9d
140061e5b:	48 8b 02             	mov    (%rdx),%rax
140061e5e:	4c 39 58 20          	cmp    %r11,0x20(%rax)
140061e62:	75 05                	jne    0x140061e69
140061e64:	41 8a c5             	mov    %r13b,%al
140061e67:	eb 07                	jmp    0x140061e70
140061e69:	1a c0                	sbb    %al,%al
140061e6b:	24 fe                	and    $0xfe,%al
140061e6d:	41 02 c1             	add    %r9b,%al
140061e70:	84 c0                	test   %al,%al
140061e72:	0f 89 94 01 00 00    	jns    0x14006200c
140061e78:	48 8b 02             	mov    (%rdx),%rax
140061e7b:	49 89 02             	mov    %rax,(%r10)
140061e7e:	45 89 6a 08          	mov    %r13d,0x8(%r10)
140061e82:	45 88 6a 10          	mov    %r13b,0x10(%r10)
140061e86:	e9 45 02 00 00       	jmp    0x1400620d0
140061e8b:	4d 8b 19             	mov    (%r9),%r11
140061e8e:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140061e94:	49 8b 48 20          	mov    0x20(%r8),%rcx
140061e98:	4c 3b 00             	cmp    (%rax),%r8
140061e9b:	75 26                	jne    0x140061ec3
140061e9d:	4c 3b d9             	cmp    %rcx,%r11
140061ea0:	75 05                	jne    0x140061ea7
140061ea2:	41 8a c5             	mov    %r13b,%al
140061ea5:	eb 07                	jmp    0x140061eae
140061ea7:	1a c0                	sbb    %al,%al
140061ea9:	24 fe                	and    $0xfe,%al
140061eab:	41 02 c1             	add    %r9b,%al
140061eae:	84 c0                	test   %al,%al
140061eb0:	0f 89 56 01 00 00    	jns    0x14006200c
140061eb6:	44 89 4a 08          	mov    %r9d,0x8(%rdx)
140061eba:	44 88 6a 10          	mov    %r13b,0x10(%rdx)
140061ebe:	e9 0a 02 00 00       	jmp    0x1400620cd
140061ec3:	4c 3b d9             	cmp    %rcx,%r11
140061ec6:	75 05                	jne    0x140061ecd
140061ec8:	41 8a c5             	mov    %r13b,%al
140061ecb:	eb 07                	jmp    0x140061ed4
140061ecd:	1a c0                	sbb    %al,%al
140061ecf:	24 fe                	and    $0xfe,%al
140061ed1:	41 02 c1             	add    %r9b,%al
140061ed4:	84 c0                	test   %al,%al
140061ed6:	0f 89 a8 00 00 00    	jns    0x140061f84
140061edc:	49 8b 00             	mov    (%r8),%rax
140061edf:	49 8b c8             	mov    %r8,%rcx