1401c43e2:	48 89 d0             	mov    %rdx,%rax
1401c43e5:	48 89 51 18          	mov    %rdx,0x18(%rcx)
1401c43e9:	48 c1 e8 3b          	shr    $0x3b,%rax
1401c43ed:	0f 85 15 02 00 00    	jne    0x1401c4608
1401c43f3:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1401c43f7:	48 c1 e2 05          	shl    $0x5,%rdx
1401c43fb:	e8 40 68 f0 ff       	call   0x1400cac40
1401c4400:	49 89 44 24 08       	mov    %rax,0x8(%r12)
1401c4405:	48 8b 05 f4 4f 07 00 	mov    0x74ff4(%rip),%rax        # 0x140239400
1401c440c:	89 db                	mov    %ebx,%ebx
1401c440e:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
1401c4415:	00
1401c4416:	4c 8b 08             	mov    (%rax),%r9
1401c4419:	48 8d 04 5b          	lea    (%rbx,%rbx,2),%rax
1401c441d:	4c 8d 1c 87          	lea    (%rdi,%rax,4),%r11
1401c4421:	8b 07                	mov    (%rdi),%eax
1401c4423:	48 8b 77 04          	mov    0x4(%rdi),%rsi
1401c4427:	89 c3                	mov    %eax,%ebx
1401c4429:	48 0f ce             	bswap  %rsi
1401c442c:	0f cb                	bswap  %ebx
1401c442e:	85 c0                	test   %eax,%eax
1401c4430:	0f 84 ad 01 00 00    	je     0x1401c45e3
1401c4436:	48 89 f0             	mov    %rsi,%rax
1401c4439:	31 d2                	xor    %edx,%edx
1401c443b:	49 f7 f0             	div    %r8
1401c443e:	48 85 d2             	test   %rdx,%rdx
1401c4441:	0f 85 65 01 00 00    	jne    0x1401c45ac
1401c4447:	48 8b 6f 10          	mov    0x10(%rdi),%rbp
1401c444b:	48 0f cd             	bswap  %rbp
1401c444e:	48 39 f5             	cmp    %rsi,%rbp
1401c4451:	0f 82 25 01 00 00    	jb     0x1401c457c
1401c4457:	49 8b 81 90 01 00 00 	mov    0x190(%r9),%rax
1401c445e:	4c 89 f1             	mov    %r14,%rcx
1401c4461:	48 2b 48 10          	sub    0x10(%rax),%rcx
1401c4465:	48 39 e9             	cmp    %rbp,%rcx
1401c4468:	0f 82 0e 01 00 00    	jb     0x1401c457c
1401c446e:	49 8b 44 24 10       	mov    0x10(%r12),%rax
1401c4473:	4d 8b 54 24 08       	mov    0x8(%r12),%r10
1401c4478:	48 85 c0             	test   %rax,%rax
1401c447b:	75 30                	jne    0x1401c44ad
1401c447d:	e9 f3 00 00 00       	jmp    0x1401c4575
1401c4482:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401c4489:	00 00 00 00
1401c448d:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401c4494:	00 00 00 00
1401c4498:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401c449f:	00
1401c44a0:	48 83 c2 01          	add    $0x1,%rdx
1401c44a4:	48 39 d0             	cmp    %rdx,%rax
1401c44a7:	0f 84 83 00 00 00    	je     0x1401c4530
1401c44ad:	48 89 d1             	mov    %rdx,%rcx
1401c44b0:	48 c1 e1 05          	shl    $0x5,%rcx
1401c44b4:	41 39 1c 0a          	cmp    %ebx,(%r10,%rcx,1)
1401c44b8:	75 e6                	jne    0x1401c44a0
1401c44ba:	48 8b 05 1f 4b 07 00 	mov    0x74b1f(%rip),%rax        # 0x140238fe0
1401c44c1:	48 8d 0d 61 10 07 00 	lea    0x71061(%rip),%rcx        # 0x140235529
1401c44c8:	8b 10                	mov    (%rax),%edx
1401c44ca:	85 d2                	test   %edx,%edx
1401c44cc:	0f 85 96 00 00 00    	jne    0x1401c4568
1401c44d2:	89 da                	mov    %ebx,%edx
1401c44d4:	e8 57 f1 ef ff       	call   0x1400c3630
1401c44d9:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
1401c44de:	48 83 c4 20          	add    $0x20,%rsp
1401c44e2:	5b                   	pop    %rbx
1401c44e3:	5e                   	pop    %rsi
1401c44e4:	5f                   	pop    %rdi
1401c44e5:	5d                   	pop    %rbp
1401c44e6:	41 5c                	pop    %r12
1401c44e8:	41 5d                	pop    %r13
1401c44ea:	41 5e                	pop    %r14
1401c44ec:	c3                   	ret
1401c44ed:	0f 1f 00             	nopl   (%rax)
1401c44f0:	85 c0                	test   %eax,%eax
1401c44f2:	0f 85 0d ff ff ff    	jne    0x1401c4405
1401c44f8:	8b 1f                	mov    (%rdi),%ebx
1401c44fa:	31 c0                	xor    %eax,%eax
1401c44fc:	85 db                	test   %ebx,%ebx
1401c44fe:	74 de                	je     0x1401c44de
1401c4500:	48 8b 05 d9 4a 07 00 	mov    0x74ad9(%rip),%rax        # 0x140238fe0
1401c4507:	48 8d 0d 3a 10 07 00 	lea    0x7103a(%rip),%rcx        # 0x140235548
1401c450e:	8b 00                	mov    (%rax),%eax
1401c4510:	85 c0                	test   %eax,%eax
1401c4512:	74 08                	je     0x1401c451c
1401c4514:	e8 4f ee 01 00       	call   0x1401e3368
1401c4519:	48 89 c1             	mov    %rax,%rcx
1401c451c:	0f cb                	bswap  %ebx
1401c451e:	89 da                	mov    %ebx,%edx
1401c4520:	e8 0b f1 ef ff       	call   0x1400c3630
1401c4525:	eb b2                	jmp    0x1401c44d9
1401c4527:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1401c452e:	00 00
1401c4530:	48 89 c2             	mov    %rax,%rdx
1401c4533:	48 83 c0 01          	add    $0x1,%rax
1401c4537:	48 c1 e2 05          	shl    $0x5,%rdx
1401c453b:	49 01 d2             	add    %rdx,%r10
1401c453e:	49 8d 54 35 00       	lea    0x0(%r13,%rsi,1),%rdx
1401c4543:	48 29 f5             	sub    %rsi,%rbp
1401c4546:	48 83 c7 0c          	add    $0xc,%rdi
1401c454a:	41 89 1a             	mov    %ebx,(%r10)
1401c454d:	49 89 52 18          	mov    %rdx,0x18(%r10)
1401c4551:	49 89 6a 08          	mov    %rbp,0x8(%r10)
1401c4555:	49 89 44 24 10       	mov    %rax,0x10(%r12)
1401c455a:	4c 39 df             	cmp    %r11,%rdi
1401c455d:	0f 85 be fe ff ff    	jne    0x1401c4421
1401c4563:	eb 93                	jmp    0x1401c44f8
1401c4565:	0f 1f 00             	nopl   (%rax)
1401c4568:	e8 fb ed 01 00       	call   0x1401e3368
1401c456d:	48 89 c1             	mov    %rax,%rcx
1401c4570:	e9 5d ff ff ff       	jmp    0x1401c44d2
1401c4575:	b8 01 00 00 00       	mov    $0x1,%eax
1401c457a:	eb c2                	jmp    0x1401c453e
1401c457c:	48 8b 05 5d 4a 07 00 	mov    0x74a5d(%rip),%rax        # 0x140238fe0
1401c4583:	48 8d 0d 76 0f 07 00 	lea    0x70f76(%rip),%rcx        # 0x140235500
1401c458a:	44 8b 00             	mov    (%rax),%r8d
1401c458d:	45 85 c0             	test   %r8d,%r8d
1401c4590:	75 10                	jne    0x1401c45a2
1401c4592:	49 89 e8             	mov    %rbp,%r8
1401c4595:	48 89 f2             	mov    %rsi,%rdx
1401c4598:	e8 93 f0 ef ff       	call   0x1400c3630
1401c459d:	e9 37 ff ff ff       	jmp    0x1401c44d9
1401c45a2:	e8 c1 ed 01 00       	call   0x1401e3368
1401c45a7:	48 89 c1             	mov    %rax,%rcx
1401c45aa:	eb e6                	jmp    0x1401c4592
1401c45ac:	48 8b 05 2d 4a 07 00 	mov    0x74a2d(%rip),%rax        # 0x140238fe0
1401c45b3:	48 8d 0d 26 0f 07 00 	lea    0x70f26(%rip),%rcx        # 0x1402354e0
1401c45ba:	44 8b 08             	mov    (%rax),%r9d
1401c45bd:	45 85 c9             	test   %r9d,%r9d
1401c45c0:	74 08                	je     0x1401c45ca
1401c45c2:	e8 a1 ed 01 00       	call   0x1401e3368
1401c45c7:	48 89 c1             	mov    %rax,%rcx
1401c45ca:	44 8b 84 24 88 00 00 	mov    0x88(%rsp),%r8d
1401c45d1:	00
1401c45d2:	89 da                	mov    %ebx,%edx
1401c45d4:	e8 57 f0 ef ff       	call   0x1400c3630
1401c45d9:	b8 01 00 00 00       	mov    $0x1,%eax
1401c45de:	e9 fb fe ff ff       	jmp    0x1401c44de
1401c45e3:	48 8b 05 f6 49 07 00 	mov    0x749f6(%rip),%rax        # 0x140238fe0
1401c45ea:	48 8d 0d b7 0e 07 00 	lea    0x70eb7(%rip),%rcx        # 0x1402354a8
1401c45f1:	44 8b 10             	mov    (%rax),%r10d
1401c45f4:	45 85 d2             	test   %r10d,%r10d
1401c45f7:	74 08                	je     0x1401c4601
1401c45f9:	e8 6a ed 01 00       	call   0x1401e3368
1401c45fe:	48 89 c1             	mov    %rax,%rcx
1401c4601:	e8 2a f0 ef ff       	call   0x1400c3630
1401c4606:	eb d1                	jmp    0x1401c45d9
1401c4608:	49 89 d0             	mov    %rdx,%r8
1401c460b:	48 8d 0d 0e 0e 07 00 	lea    0x70e0e(%rip),%rcx        # 0x140235420
1401c4612:	ba 20 00 00 00       	mov    $0x20,%edx
1401c4617:	e8 74 ed ef ff       	call   0x1400c3390
1401c461c:	90                   	nop
1401c461d:	0f 1f 00             	nopl   (%rax)
1401c4620:	4c 8b 51 10          	mov    0x10(%rcx),%r10
1401c4624:	4d 85 d2             	test   %r10,%r10
1401c4627:	74 3f                	je     0x1401c4668
1401c4629:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401c462d:	31 c9                	xor    %ecx,%ecx
1401c462f:	eb 1c                	jmp    0x1401c464d
1401c4631:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401c4638:	00 00 00 00
1401c463c:	0f 1f 40 00          	nopl   0x0(%rax)
1401c4640:	48 83 c1 01          	add    $0x1,%rcx
1401c4644:	48 83 c0 20          	add    $0x20,%rax
1401c4648:	49 39 ca             	cmp    %rcx,%r10
1401c464b:	74 1b                	je     0x1401c4668
1401c464d:	3b 10                	cmp    (%rax),%edx
1401c464f:	75 ef                	jne    0x1401c4640
1401c4651:	48 8b 50 08          	mov    0x8(%rax),%rdx
1401c4655:	48 8b 40 18          	mov    0x18(%rax),%rax
1401c4659:	49 89 00             	mov    %rax,(%r8)
1401c465c:	31 c0                	xor    %eax,%eax
1401c465e:	49 89 11             	mov    %rdx,(%r9)
1401c4661:	c3                   	ret
1401c4662:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401c4668:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
1401c466d:	c3                   	ret
1401c466e:	66 90                	xchg   %ax,%ax
1401c4670:	4c 8b 51 10          	mov    0x10(%rcx),%r10
1401c4674:	4d 89 c3             	mov    %r8,%r11
1401c4677:	4d 85 d2             	test   %r10,%r10
1401c467a:	74 44                	je     0x1401c46c0
1401c467c:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401c4680:	31 c9                	xor    %ecx,%ecx
1401c4682:	eb 29                	jmp    0x1401c46ad
1401c4684:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401c468b:	00 00 00 00
1401c468f:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401c4696:	00 00 00 00
1401c469a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401c46a0:	48 83 c1 01          	add    $0x1,%rcx
1401c46a4:	48 83 c0 20          	add    $0x20,%rax
1401c46a8:	49 39 ca             	cmp    %rcx,%r10
1401c46ab:	74 13                	je     0x1401c46c0
1401c46ad:	39 10                	cmp    %edx,(%rax)
1401c46af:	75 ef                	jne    0x1401c46a0
1401c46b1:	48 8b 50 08          	mov    0x8(%rax),%rdx
1401c46b5:	48 8b 48 18          	mov    0x18(%rax),%rcx
1401c46b9:	4d 89 c8             	mov    %r9,%r8
1401c46bc:	49 ff e3             	rex.WB jmp *%r11
1401c46bf:	90                   	nop
1401c46c0:	b8 fe ff ff ff       	mov    $0xfffffffe,%eax
1401c46c5:	c3                   	ret
1401c46c6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1401c46cd:	00 00 00
1401c46d0:	48 83 ec 28          	sub    $0x28,%rsp
1401c46d4:	48 b8 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rax
1401c46db:	e3 38 8e
1401c46de:	48 2b 0d bb 49 07 00 	sub    0x749bb(%rip),%rcx        # 0x1402390a0
1401c46e5:	48 c1 f9 04          	sar    $0x4,%rcx
1401c46e9:	48 0f af c8          	imul   %rax,%rcx
1401c46ed:	83 f9 01             	cmp    $0x1,%ecx
1401c46f0:	74 16                	je     0x1401c4708
1401c46f2:	83 f9 02             	cmp    $0x2,%ecx
1401c46f5:	75 1b                	jne    0x1401c4712
1401c46f7:	b8 02 00 00 00       	mov    $0x2,%eax
1401c46fc:	48 83 c4 28          	add    $0x28,%rsp
1401c4700:	c3                   	ret
1401c4701:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401c4708:	b8 01 00 00 00       	mov    $0x1,%eax
1401c470d:	48 83 c4 28          	add    $0x28,%rsp
1401c4711:	c3                   	ret
1401c4712:	48 8b 05 c7 48 07 00 	mov    0x748c7(%rip),%rax        # 0x140238fe0
1401c4719:	48 8d 0d 47 0e 07 00 	lea    0x70e47(%rip),%rcx        # 0x140235567
1401c4720:	83 38 00             	cmpl   $0x0,(%rax)
1401c4723:	74 08                	je     0x1401c472d
1401c4725:	e8 3e ec 01 00       	call   0x1401e3368
1401c472a:	48 89 c1             	mov    %rax,%rcx
1401c472d:	e8 5e ec ef ff       	call   0x1400c3390
1401c4732:	90                   	nop
1401c4733:	90                   	nop
1401c4734:	90                   	nop
1401c4735:	90                   	nop
1401c4736:	90                   	nop
1401c4737:	90                   	nop
1401c4738:	90                   	nop
1401c4739:	90                   	nop
1401c473a:	90                   	nop
1401c473b:	90                   	nop
1401c473c:	90                   	nop
1401c473d:	90                   	nop
1401c473e:	90                   	nop
1401c473f:	90                   	nop
1401c4740:	53                   	push   %rbx
1401c4741:	48 83 ec 20          	sub    $0x20,%rsp
1401c4745:	48 8b 05 94 48 07 00 	mov    0x74894(%rip),%rax        # 0x140238fe0
1401c474c:	48 8d 1d 2d 0e 07 00 	lea    0x70e2d(%rip),%rbx        # 0x140235580
1401c4753:	8b 00                	mov    (%rax),%eax
1401c4755:	85 c0                	test   %eax,%eax
1401c4757:	74 0b                	je     0x1401c4764
1401c4759:	48 89 d9             	mov    %rbx,%rcx
1401c475c:	e8 07 ec 01 00       	call   0x1401e3368
1401c4761:	48 89 c3             	mov    %rax,%rbx
1401c4764:	b9 02 00 00 00       	mov    $0x2,%ecx
1401c4769:	ff 15 b1 01 03 00    	call   *0x301b1(%rip)        # 0x1401f4920
1401c476f:	49 89 d8             	mov    %rbx,%r8
1401c4772:	48 8d 15 18 0e 07 00 	lea    0x70e18(%rip),%rdx        # 0x140235591
1401c4779:	48 89 c1             	mov    %rax,%rcx
1401c477c:	e8 ef eb 01 00       	call   0x1401e3370
1401c4781:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401c4787:	ba 9a 01 00 00       	mov    $0x19a,%edx
1401c478c:	48 8d 0d 02 0e 07 00 	lea    0x70e02(%rip),%rcx        # 0x140235595
1401c4793:	e8 68 8c e4 ff       	call   0x14000d400
1401c4798:	89 c1                	mov    %eax,%ecx
1401c479a:	e8 41 55 02 00       	call   0x1401e9ce0
1401c479f:	90                   	nop
1401c47a0:	55                   	push   %rbp
1401c47a1:	57                   	push   %rdi
1401c47a2:	56                   	push   %rsi
1401c47a3:	53                   	push   %rbx
1401c47a4:	48 83 ec 28          	sub    $0x28,%rsp
1401c47a8:	48 89 cb             	mov    %rcx,%rbx
1401c47ab:	89 d1                	mov    %edx,%ecx
1401c47ad:	45 85 c0             	test   %r8d,%r8d
1401c47b0:	74 7e                	je     0x1401c4830
1401c47b2:	41 8d 40 ff          	lea    -0x1(%r8),%eax
1401c47b6:	41 f7 d8             	neg    %r8d
1401c47b9:	48 63 e8             	movslq %eax,%rbp
1401c47bc:	49 63 f8             	movslq %r8d,%rdi
1401c47bf:	85 c9                	test   %ecx,%ecx
1401c47c1:	ba e0 0f 00 00       	mov    $0xfe0,%edx
1401c47c6:	4c 89 4b 38          	mov    %r9,0x38(%rbx)
1401c47ca:	0f 44 ca             	cmove  %edx,%ecx
1401c47cd:	48 8b 54 24 70       	mov    0x70(%rsp),%rdx
1401c47d2:	80 63 50 fe          	andb   $0xfe,0x50(%rbx)
1401c47d6:	89 43 30             	mov    %eax,0x30(%rbx)
1401c47d9:	48 89 53 40          	mov    %rdx,0x40(%rbx)
1401c47dd:	89 0b                	mov    %ecx,(%rbx)
1401c47df:	41 ff d1             	call   *%r9
1401c47e2:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401c47e6:	48 89 c6             	mov    %rax,%rsi
1401c47e9:	48 85 c0             	test   %rax,%rax
1401c47ec:	74 62                	je     0x1401c4850
1401c47ee:	48 8d 44 2e 10       	lea    0x10(%rsi,%rbp,1),%rax
1401c47f3:	48 21 f8             	and    %rdi,%rax
1401c47f6:	66 48 0f 6e c0       	movq   %rax,%xmm0
1401c47fb:	48 63 03             	movslq (%rbx),%rax
1401c47fe:	66 0f 6c c0          	punpcklqdq %xmm0,%xmm0
1401c4802:	48 01 f0             	add    %rsi,%rax
1401c4805:	0f 11 43 10          	movups %xmm0,0x10(%rbx)
1401c4809:	48 89 06             	mov    %rax,(%rsi)
1401c480c:	48 89 43 20          	mov    %rax,0x20(%rbx)
1401c4810:	b8 01 00 00 00       	mov    $0x1,%eax
1401c4815:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
1401c481c:	00
1401c481d:	80 63 50 f9          	andb   $0xf9,0x50(%rbx)
1401c4821:	48 83 c4 28          	add    $0x28,%rsp
1401c4825:	5b                   	pop    %rbx
1401c4826:	5e                   	pop    %rsi
1401c4827:	5f                   	pop    %rdi
1401c4828:	5d                   	pop    %rbp
1401c4829:	c3                   	ret
1401c482a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401c4830:	48 c7 c7 f0 ff ff ff 	mov    $0xfffffffffffffff0,%rdi
1401c4837:	bd 0f 00 00 00       	mov    $0xf,%ebp
1401c483c:	b8 0f 00 00 00       	mov    $0xf,%eax
1401c4841:	e9 79 ff ff ff       	jmp    0x1401c47bf
1401c4846:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1401c484d:	00 00 00
1401c4850:	ff 15 da fb 02 00    	call   *0x2fbda(%rip)        # 0x1401f4430
1401c4856:	eb 96                	jmp    0x1401c47ee
1401c4858:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401c485f:	00
1401c4860:	55                   	push   %rbp
1401c4861:	57                   	push   %rdi
1401c4862:	56                   	push   %rsi
1401c4863:	53                   	push   %rbx
1401c4864:	48 83 ec 28          	sub    $0x28,%rsp
1401c4868:	48 89 cb             	mov    %rcx,%rbx
1401c486b:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
1401c4870:	45 85 c0             	test   %r8d,%r8d
1401c4873:	0f 84 87 00 00 00    	je     0x1401c4900
1401c4879:	41 8d 40 ff          	lea    -0x1(%r8),%eax
1401c487d:	41 f7 d8             	neg    %r8d
1401c4880:	48 63 e8             	movslq %eax,%rbp
1401c4883:	49 63 f8             	movslq %r8d,%rdi
1401c4886:	85 d2                	test   %edx,%edx
1401c4888:	41 b8 e0 0f 00 00    	mov    $0xfe0,%r8d
1401c488e:	4c 89 4b 38          	mov    %r9,0x38(%rbx)
1401c4892:	41 0f 44 d0          	cmove  %r8d,%edx
1401c4896:	4c 8b 44 24 70       	mov    0x70(%rsp),%r8
1401c489b:	80 4b 50 01          	orb    $0x1,0x50(%rbx)
1401c489f:	89 43 30             	mov    %eax,0x30(%rbx)
1401c48a2:	4c 89 43 40          	mov    %r8,0x40(%rbx)
1401c48a6:	89 13                	mov    %edx,(%rbx)
1401c48a8:	48 89 4b 48          	mov    %rcx,0x48(%rbx)
1401c48ac:	41 ff d1             	call   *%r9
1401c48af:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401c48b3:	48 89 c6             	mov    %rax,%rsi
1401c48b6:	48 85 c0             	test   %rax,%rax
1401c48b9:	74 65                	je     0x1401c4920
1401c48bb:	48 8d 44 2e 10       	lea    0x10(%rsi,%rbp,1),%rax