1401fb80d:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
1401fb814:	00
1401fb815:	48 03 c8             	add    %rax,%rcx
1401fb818:	4c 2b c9             	sub    %rcx,%r9
1401fb81b:	4c 33 c9             	xor    %rcx,%r9
1401fb81e:	4c 8d 40 01          	lea    0x1(%rax),%r8
1401fb822:	49 8b c2             	mov    %r10,%rax
1401fb825:	48 33 c1             	xor    %rcx,%rax
1401fb828:	48 8b ca             	mov    %rdx,%rcx
1401fb82b:	4c 0b c8             	or     %rax,%r9
1401fb82e:	49 2b c8             	sub    %r8,%rcx
1401fb831:	4d 33 ca             	xor    %r10,%r9
1401fb834:	49 8b c0             	mov    %r8,%rax
1401fb837:	48 33 c2             	xor    %rdx,%rax
1401fb83a:	49 c1 e9 3f          	shr    $0x3f,%r9
1401fb83e:	48 0b c8             	or     %rax,%rcx
1401fb841:	49 ff c9             	dec    %r9
1401fb844:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
1401fb84b:	00
1401fb84c:	48 33 ca             	xor    %rdx,%rcx
1401fb84f:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401fb854:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1401fb85b:	00
1401fb85c:	48 c1 e9 3f          	shr    $0x3f,%rcx
1401fb860:	48 ff c9             	dec    %rcx
1401fb863:	4c 23 c9             	and    %rcx,%r9
1401fb866:	49 8b cb             	mov    %r11,%rcx
1401fb869:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
1401fb86e:	4d 23 c1             	and    %r9,%r8
1401fb871:	4d 2b d0             	sub    %r8,%r10
1401fb874:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
1401fb879:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
1401fb87e:	4c 8b c7             	mov    %rdi,%r8
1401fb881:	48 8b d5             	mov    %rbp,%rdx
1401fb884:	4d 89 13             	mov    %r10,(%r11)
1401fb887:	4c 8b ce             	mov    %rsi,%r9
1401fb88a:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401fb88f:	e8 4c fc ff ff       	call   0x1401fb4e0
1401fb894:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1401fb899:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1401fb89e:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1401fb8a3:	48 83 c4 50          	add    $0x50,%rsp
1401fb8a7:	5f                   	pop    %rdi
1401fb8a8:	c3                   	ret
1401fb8a9:	cc                   	int3
1401fb8aa:	cc                   	int3
1401fb8ab:	cc                   	int3
1401fb8ac:	cc                   	int3
1401fb8ad:	cc                   	int3
1401fb8ae:	cc                   	int3
1401fb8af:	cc                   	int3
1401fb8b0:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
1401fb8b5:	55                   	push   %rbp
1401fb8b6:	56                   	push   %rsi
1401fb8b7:	41 54                	push   %r12
1401fb8b9:	41 55                	push   %r13
1401fb8bb:	41 56                	push   %r14
1401fb8bd:	b8 50 00 00 00       	mov    $0x50,%eax
1401fb8c2:	e8 69 52 0b 00       	call   0x1402b0b30
1401fb8c7:	48 2b e0             	sub    %rax,%rsp
1401fb8ca:	4c 8b b4 24 a8 00 00 	mov    0xa8(%rsp),%r14
1401fb8d1:	00
1401fb8d2:	4c 8d 50 af          	lea    -0x51(%rax),%r10
1401fb8d6:	48 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%rbp
1401fb8dd:	00
1401fb8de:	45 33 db             	xor    %r11d,%r11d
1401fb8e1:	49 83 fe 01          	cmp    $0x1,%r14
1401fb8e5:	41 8b c3             	mov    %r11d,%eax
1401fb8e8:	4d 8b e9             	mov    %r9,%r13
1401fb8eb:	4d 8b e0             	mov    %r8,%r12
1401fb8ee:	4c 8b 09             	mov    (%rcx),%r9
1401fb8f1:	0f 95 c0             	setne  %al
1401fb8f4:	48 03 c5             	add    %rbp,%rax
1401fb8f7:	48 8b f1             	mov    %rcx,%rsi
1401fb8fa:	49 3b c1             	cmp    %r9,%rax
1401fb8fd:	76 0f                	jbe    0x1401fb90e
1401fb8ff:	33 c0                	xor    %eax,%eax
1401fb901:	48 83 c4 50          	add    $0x50,%rsp
1401fb905:	41 5e                	pop    %r14
1401fb907:	41 5d                	pop    %r13
1401fb909:	41 5c                	pop    %r12
1401fb90b:	5e                   	pop    %rsi
1401fb90c:	5d                   	pop    %rbp
1401fb90d:	c3                   	ret
1401fb90e:	48 89 9c 24 80 00 00 	mov    %rbx,0x80(%rsp)
1401fb915:	00
1401fb916:	49 83 fe 01          	cmp    $0x1,%r14
1401fb91a:	0f 84 f3 00 00 00    	je     0x1401fba13
1401fb920:	4d 8d 50 ff          	lea    -0x1(%r8),%r10
1401fb924:	4d 03 d1             	add    %r9,%r10
1401fb927:	41 0f b6 1a          	movzbl (%r10),%ebx
1401fb92b:	44 39 9c 24 b8 00 00 	cmp    %r11d,0xb8(%rsp)
1401fb932:	00
1401fb933:	74 16                	je     0x1401fb94b
1401fb935:	4c 2b cb             	sub    %rbx,%r9
1401fb938:	b8 01 00 00 00       	mov    $0x1,%eax
1401fb93d:	4c 2b cd             	sub    %rbp,%r9
1401fb940:	49 ff c9             	dec    %r9
1401fb943:	4c 89 09             	mov    %r9,(%rcx)
1401fb946:	e9 ff 00 00 00       	jmp    0x1401fba4a
1401fb94b:	48 8d 0c 03          	lea    (%rbx,%rax,1),%rcx
1401fb94f:	4c 89 bc 24 98 00 00 	mov    %r15,0x98(%rsp)
1401fb956:	00
1401fb957:	41 bf 00 01 00 00    	mov    $0x100,%r15d
1401fb95d:	4d 8b c1             	mov    %r9,%r8
1401fb960:	4c 2b c1             	sub    %rcx,%r8
1401fb963:	49 8b c1             	mov    %r9,%rax
1401fb966:	4c 33 c1             	xor    %rcx,%r8
1401fb969:	48 33 c1             	xor    %rcx,%rax
1401fb96c:	4c 0b c0             	or     %rax,%r8
1401fb96f:	4d 33 c1             	xor    %r9,%r8
1401fb972:	49 c1 e8 3f          	shr    $0x3f,%r8
1401fb976:	49 ff c8             	dec    %r8
1401fb979:	4d 3b cf             	cmp    %r15,%r9
1401fb97c:	4d 0f 42 f9          	cmovb  %r9,%r15
1401fb980:	4d 85 ff             	test   %r15,%r15
1401fb983:	74 68                	je     0x1401fb9ed
1401fb985:	48 89 bc 24 90 00 00 	mov    %rdi,0x90(%rsp)
1401fb98c:	00
1401fb98d:	48 8b fb             	mov    %rbx,%rdi
1401fb990:	48 c1 ef 3f          	shr    $0x3f,%rdi
1401fb994:	0f 1f 40 00          	nopl   0x0(%rax)
1401fb998:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401fb99f:	00
1401fb9a0:	49 8b c3             	mov    %r11,%rax
1401fb9a3:	4d 8d 52 ff          	lea    -0x1(%r10),%r10
1401fb9a7:	48 c1 e8 3f          	shr    $0x3f,%rax
1401fb9ab:	48 8b cb             	mov    %rbx,%rcx
1401fb9ae:	49 2b cb             	sub    %r11,%rcx
1401fb9b1:	49 ff c3             	inc    %r11
1401fb9b4:	48 c1 e9 3f          	shr    $0x3f,%rcx
1401fb9b8:	32 c8                	xor    %al,%cl
1401fb9ba:	40 32 c7             	xor    %dil,%al
1401fb9bd:	0a c8                	or     %al,%cl
1401fb9bf:	40 32 cf             	xor    %dil,%cl
1401fb9c2:	fe c9                	dec    %cl
1401fb9c4:	0f b6 d1             	movzbl %cl,%edx
1401fb9c7:	41 0f b6 4a 01       	movzbl 0x1(%r10),%ecx
1401fb9cc:	48 33 cb             	xor    %rbx,%rcx
1401fb9cf:	48 23 d1             	and    %rcx,%rdx
1401fb9d2:	48 f7 d2             	not    %rdx
1401fb9d5:	4c 23 c2             	and    %rdx,%r8
1401fb9d8:	4d 3b df             	cmp    %r15,%r11
1401fb9db:	72 c3                	jb     0x1401fb9a0
1401fb9dd:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
1401fb9e4:	00
1401fb9e5:	48 8b bc 24 90 00 00 	mov    0x90(%rsp),%rdi
1401fb9ec:	00
1401fb9ed:	4c 8b bc 24 98 00 00 	mov    0x98(%rsp),%r15
1401fb9f4:	00
1401fb9f5:	48 8d 43 01          	lea    0x1(%rbx),%rax
1401fb9f9:	49 f7 d0             	not    %r8
1401fb9fc:	45 0f b6 d0          	movzbl %r8b,%r10d
1401fba00:	49 ff ca             	dec    %r10
1401fba03:	49 c1 ea 3f          	shr    $0x3f,%r10
1401fba07:	49 f7 da             	neg    %r10
1401fba0a:	49 23 c2             	and    %r10,%rax
1401fba0d:	4c 2b c8             	sub    %rax,%r9
1401fba10:	4c 89 0e             	mov    %r9,(%rsi)
1401fba13:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
1401fba1a:	00
1401fba1b:	4d 8b cd             	mov    %r13,%r9
1401fba1e:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401fba23:	4d 8b c4             	mov    %r12,%r8
1401fba26:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
1401fba2d:	00
1401fba2e:	48 8b ce             	mov    %rsi,%rcx
1401fba31:	4c 89 54 24 38       	mov    %r10,0x38(%rsp)
1401fba36:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
1401fba3b:	4c 89 74 24 28       	mov    %r14,0x28(%rsp)
1401fba40:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1401fba45:	e8 96 fa ff ff       	call   0x1401fb4e0
1401fba4a:	48 8b 9c 24 80 00 00 	mov    0x80(%rsp),%rbx
1401fba51:	00
1401fba52:	48 83 c4 50          	add    $0x50,%rsp
1401fba56:	41 5e                	pop    %r14
1401fba58:	41 5d                	pop    %r13
1401fba5a:	41 5c                	pop    %r12
1401fba5c:	5e                   	pop    %rsi
1401fba5d:	5d                   	pop    %rbp
1401fba5e:	c3                   	ret
1401fba5f:	cc                   	int3
1401fba60:	40 53                	rex push %rbx
1401fba62:	b8 a0 00 00 00       	mov    $0xa0,%eax
1401fba67:	e8 c4 50 0b 00       	call   0x1402b0b30
1401fba6c:	48 2b e0             	sub    %rax,%rsp
1401fba6f:	89 94 24 b8 00 00 00 	mov    %edx,0xb8(%rsp)
1401fba76:	48 8b d9             	mov    %rcx,%rbx
1401fba79:	48 85 c9             	test   %rcx,%rcx
1401fba7c:	74 7f                	je     0x1401fbafd
1401fba7e:	81 39 00 08 00 00    	cmpl   $0x800,(%rcx)
1401fba84:	75 77                	jne    0x1401fbafd
1401fba86:	4c 8d 84 24 b8 00 00 	lea    0xb8(%rsp),%r8
1401fba8d:	00
1401fba8e:	48 8d 15 bf de 11 00 	lea    0x11debf(%rip),%rdx        # 0x140319954
1401fba95:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401fba9a:	e8 51 c5 f3 ff       	call   0x140137ff0
1401fba9f:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401fbaa4:	0f 10 00             	movups (%rax),%xmm0
1401fbaa7:	0f 29 44 24 50       	movaps %xmm0,0x50(%rsp)
1401fbaac:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1401fbab0:	0f 29 4c 24 60       	movaps %xmm1,0x60(%rsp)
1401fbab5:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
1401fbaba:	f2 0f 11 44 24 70    	movsd  %xmm0,0x70(%rsp)
1401fbac0:	e8 4b c3 f3 ff       	call   0x140137e10
1401fbac5:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1401fbaca:	48 8b cb             	mov    %rbx,%rcx
1401fbacd:	0f 10 00             	movups (%rax),%xmm0
1401fbad0:	0f 11 44 24 78       	movups %xmm0,0x78(%rsp)
1401fbad5:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1401fbad9:	0f 11 8c 24 88 00 00 	movups %xmm1,0x88(%rsp)
1401fbae0:	00
1401fbae1:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
1401fbae6:	f2 0f 11 84 24 98 00 	movsd  %xmm0,0x98(%rsp)
1401fbaed:	00 00
1401fbaef:	e8 2c 1e f4 ff       	call   0x14013d920
1401fbaf4:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401fbafb:	5b                   	pop    %rbx
1401fbafc:	c3                   	ret
1401fbafd:	e8 6e b5 f2 ff       	call   0x140127070
1401fbb02:	4c 8d 05 0f ee 13 00 	lea    0x13ee0f(%rip),%r8        # 0x14033a918
1401fbb09:	ba a6 00 00 00       	mov    $0xa6,%edx
1401fbb0e:	48 8d 0d eb ed 13 00 	lea    0x13edeb(%rip),%rcx        # 0x14033a900
1401fbb15:	e8 76 b6 f2 ff       	call   0x140127190
1401fbb1a:	45 33 c0             	xor    %r8d,%r8d
1401fbb1d:	ba 93 00 00 00       	mov    $0x93,%edx
1401fbb22:	41 8d 48 06          	lea    0x6(%r8),%ecx
1401fbb26:	e8 65 b7 f2 ff       	call   0x140127290
1401fbb2b:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
1401fbb30:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401fbb37:	5b                   	pop    %rbx
1401fbb38:	c3                   	ret
1401fbb39:	cc                   	int3
1401fbb3a:	cc                   	int3
1401fbb3b:	cc                   	int3
1401fbb3c:	cc                   	int3
1401fbb3d:	cc                   	int3
1401fbb3e:	cc                   	int3
1401fbb3f:	cc                   	int3
1401fbb40:	89 54 24 10          	mov    %edx,0x10(%rsp)
1401fbb44:	53                   	push   %rbx
1401fbb45:	b8 a0 00 00 00       	mov    $0xa0,%eax
1401fbb4a:	e8 e1 4f 0b 00       	call   0x1402b0b30
1401fbb4f:	48 2b e0             	sub    %rax,%rsp
1401fbb52:	48 8b d9             	mov    %rcx,%rbx
1401fbb55:	48 85 c9             	test   %rcx,%rcx
1401fbb58:	0f 84 af 00 00 00    	je     0x1401fbc0d
1401fbb5e:	8b 01                	mov    (%rcx),%eax
1401fbb60:	83 e8 02             	sub    $0x2,%eax
1401fbb63:	a9 fd ff ff ff       	test   $0xfffffffd,%eax
1401fbb68:	0f 85 9f 00 00 00    	jne    0x1401fbc0d
1401fbb6e:	48 83 79 20 00       	cmpq   $0x0,0x20(%rcx)
1401fbb73:	75 21                	jne    0x1401fbb96
1401fbb75:	48 8b 41 78          	mov    0x78(%rcx),%rax
1401fbb79:	8b 08                	mov    (%rax),%ecx
1401fbb7b:	83 f9 1c             	cmp    $0x1c,%ecx
1401fbb7e:	74 16                	je     0x1401fbb96
1401fbb80:	81 f9 98 03 00 00    	cmp    $0x398,%ecx
1401fbb86:	74 0e                	je     0x1401fbb96
1401fbb88:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401fbb8d:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401fbb94:	5b                   	pop    %rbx
1401fbb95:	c3                   	ret
1401fbb96:	4c 8d 84 24 b8 00 00 	lea    0xb8(%rsp),%r8
1401fbb9d:	00
1401fbb9e:	48 8d 15 6b dd 11 00 	lea    0x11dd6b(%rip),%rdx        # 0x140319910
1401fbba5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401fbbaa:	e8 81 c2 f3 ff       	call   0x140137e30
1401fbbaf:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401fbbb4:	0f 10 00             	movups (%rax),%xmm0
1401fbbb7:	0f 29 44 24 50       	movaps %xmm0,0x50(%rsp)
1401fbbbc:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1401fbbc0:	0f 29 4c 24 60       	movaps %xmm1,0x60(%rsp)
1401fbbc5:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
1401fbbca:	f2 0f 11 44 24 70    	movsd  %xmm0,0x70(%rsp)
1401fbbd0:	e8 3b c2 f3 ff       	call   0x140137e10
1401fbbd5:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1401fbbda:	48 8b cb             	mov    %rbx,%rcx
1401fbbdd:	0f 10 00             	movups (%rax),%xmm0
1401fbbe0:	0f 11 44 24 78       	movups %xmm0,0x78(%rsp)
1401fbbe5:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1401fbbe9:	0f 11 8c 24 88 00 00 	movups %xmm1,0x88(%rsp)
1401fbbf0:	00
1401fbbf1:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
1401fbbf6:	f2 0f 11 84 24 98 00 	movsd  %xmm0,0x98(%rsp)
1401fbbfd:	00 00
1401fbbff:	e8 1c 1d f4 ff       	call   0x14013d920
1401fbc04:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401fbc0b:	5b                   	pop    %rbx
1401fbc0c:	c3                   	ret
1401fbc0d:	e8 5e b4 f2 ff       	call   0x140127070
1401fbc12:	4c 8d 05 cf ec 13 00 	lea    0x13eccf(%rip),%r8        # 0x14033a8e8
1401fbc19:	ba 16 00 00 00       	mov    $0x16,%edx
1401fbc1e:	48 8d 0d db ec 13 00 	lea    0x13ecdb(%rip),%rcx        # 0x14033a900
1401fbc25:	e8 66 b5 f2 ff       	call   0x140127190
1401fbc2a:	45 33 c0             	xor    %r8d,%r8d
1401fbc2d:	ba 93 00 00 00       	mov    $0x93,%edx
1401fbc32:	41 8d 48 06          	lea    0x6(%r8),%ecx
1401fbc36:	e8 55 b6 f2 ff       	call   0x140127290
1401fbc3b:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
1401fbc40:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401fbc47:	5b                   	pop    %rbx
1401fbc48:	c3                   	ret
1401fbc49:	cc                   	int3
1401fbc4a:	cc                   	int3
1401fbc4b:	cc                   	int3
1401fbc4c:	cc                   	int3
1401fbc4d:	cc                   	int3
1401fbc4e:	cc                   	int3
1401fbc4f:	cc                   	int3
1401fbc50:	40 53                	rex push %rbx
1401fbc52:	b8 a0 00 00 00       	mov    $0xa0,%eax
1401fbc57:	e8 d4 4e 0b 00       	call   0x1402b0b30
1401fbc5c:	48 2b e0             	sub    %rax,%rsp
1401fbc5f:	48 63 c2             	movslq %edx,%rax
1401fbc62:	48 8b d9             	mov    %rcx,%rbx
1401fbc65:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
1401fbc6c:	00
1401fbc6d:	48 85 c9             	test   %rcx,%rcx
1401fbc70:	0f 84 af 00 00 00    	je     0x1401fbd25
1401fbc76:	8b 01                	mov    (%rcx),%eax
1401fbc78:	83 e8 02             	sub    $0x2,%eax
1401fbc7b:	a9 fd ff ff ff       	test   $0xfffffffd,%eax
1401fbc80:	0f 85 9f 00 00 00    	jne    0x1401fbd25
1401fbc86:	48 83 79 20 00       	cmpq   $0x0,0x20(%rcx)
1401fbc8b:	75 21                	jne    0x1401fbcae
1401fbc8d:	48 8b 41 78          	mov    0x78(%rcx),%rax
1401fbc91:	8b 08                	mov    (%rax),%ecx
1401fbc93:	83 f9 1c             	cmp    $0x1c,%ecx
1401fbc96:	74 16                	je     0x1401fbcae
1401fbc98:	81 f9 98 03 00 00    	cmp    $0x398,%ecx
1401fbc9e:	74 0e                	je     0x1401fbcae
1401fbca0:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401fbca5:	48 81 c4 a0 00 00 00 	add    $0xa0,%rsp
1401fbcac:	5b                   	pop    %rbx
1401fbcad:	c3                   	ret
1401fbcae:	4c 8d 84 24 b0 00 00 	lea    0xb0(%rsp),%r8
1401fbcb5:	00
1401fbcb6:	48 8d 15 13 dc 11 00 	lea    0x11dc13(%rip),%rdx        # 0x1403198d0
1401fbcbd:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401fbcc2:	e8 69 c2 f3 ff       	call   0x140137f30
1401fbcc7:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1401fbccc:	0f 10 00             	movups (%rax),%xmm0
1401fbccf:	0f 29 44 24 50       	movaps %xmm0,0x50(%rsp)
1401fbcd4:	0f 10 48 10          	movups 0x10(%rax),%xmm1
1401fbcd8:	0f 29 4c 24 60       	movaps %xmm1,0x60(%rsp)
1401fbcdd:	f2 0f 10 40 20       	movsd  0x20(%rax),%xmm0
1401fbce2:	f2 0f 11 44 24 70    	movsd  %xmm0,0x70(%rsp)
1401fbce8:	e8 23 c1 f3 ff       	call   0x140137e10
1401fbced:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx