140089630:	41 83 f8 01          	cmp    $0x1,%r8d
140089634:	75 5e                	jne    0x140089694
140089636:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14008963a:	48 8b 43 20          	mov    0x20(%rbx),%rax
14008963e:	48 3b 43 28          	cmp    0x28(%rbx),%rax
140089642:	74 0f                	je     0x140089653
140089644:	48 8b c8             	mov    %rax,%rcx
140089647:	e8 38 f7 ff ff       	call   0x140088d84
14008964c:	48 83 43 20 28       	addq   $0x28,0x20(%rbx)
140089651:	eb 41                	jmp    0x140089694
140089653:	4c 8b c7             	mov    %rdi,%r8
140089656:	48 8b d0             	mov    %rax,%rdx
140089659:	e8 a2 b8 00 00       	call   0x140094f00
14008965e:	eb 34                	jmp    0x140089694
140089660:	4c 8d 43 30          	lea    0x30(%rbx),%r8
140089664:	48 8d 4b 08          	lea    0x8(%rbx),%rcx
140089668:	4c 8b cf             	mov    %rdi,%r9
14008966b:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140089670:	e8 a7 92 00 00       	call   0x14009291c
140089675:	eb 1d                	jmp    0x140089694
140089677:	48 8d 59 40          	lea    0x40(%rcx),%rbx
14008967b:	48 3b df             	cmp    %rdi,%rbx
14008967e:	74 14                	je     0x140089694
140089680:	48 8b cb             	mov    %rbx,%rcx
140089683:	e8 cc f7 ff ff       	call   0x140088e54
140089688:	48 8b d7             	mov    %rdi,%rdx
14008968b:	48 8b cb             	mov    %rbx,%rcx
14008968e:	e8 f1 f6 ff ff       	call   0x140088d84
140089693:	90                   	nop
140089694:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140089699:	48 83 c4 30          	add    $0x30,%rsp
14008969d:	5f                   	pop    %rdi
14008969e:	c3                   	ret
14008969f:	90                   	nop
1400896a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400896a5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400896aa:	55                   	push   %rbp
1400896ab:	57                   	push   %rdi
1400896ac:	41 54                	push   %r12
1400896ae:	41 56                	push   %r14
1400896b0:	41 57                	push   %r15
1400896b2:	48 8d 6c 24 c9       	lea    -0x37(%rsp),%rbp
1400896b7:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
1400896be:	48 8b 05 bb 7a 27 00 	mov    0x277abb(%rip),%rax        # 0x140301180
1400896c5:	48 33 c4             	xor    %rsp,%rax
1400896c8:	48 89 45 27          	mov    %rax,0x27(%rbp)
1400896cc:	48 8b f9             	mov    %rcx,%rdi
1400896cf:	48 89 4d c7          	mov    %rcx,-0x39(%rbp)
1400896d3:	45 33 ff             	xor    %r15d,%r15d
1400896d6:	45 8d 67 68          	lea    0x68(%r15),%r12d
1400896da:	41 8b cc             	mov    %r12d,%ecx
1400896dd:	ff 15 6d 94 18 00    	call   *0x18946d(%rip)        # 0x140212b50
1400896e3:	48 8b d8             	mov    %rax,%rbx
1400896e6:	48 85 c0             	test   %rax,%rax
1400896e9:	0f 84 24 01 00 00    	je     0x140089813
1400896ef:	45 8b c4             	mov    %r12d,%r8d
1400896f2:	33 d2                	xor    %edx,%edx
1400896f4:	48 8b c8             	mov    %rax,%rcx
1400896f7:	e8 06 c3 17 00       	call   0x140205a02
1400896fc:	4c 8d 73 10          	lea    0x10(%rbx),%r14
140089700:	48 8d 05 51 1b 1b 00 	lea    0x1b1b51(%rip),%rax        # 0x14023b258
140089707:	49 89 06             	mov    %rax,(%r14)
14008970a:	f0 ff 05 67 7f 28 00 	lock incl 0x287f67(%rip)        # 0x140311678
140089711:	48 c7 43 08 01 00 00 	movq   $0x1,0x8(%rbx)
140089718:	00
140089719:	48 8d 05 b0 17 1b 00 	lea    0x1b17b0(%rip),%rax        # 0x14023aed0
140089720:	48 89 03             	mov    %rax,(%rbx)
140089723:	48 8d 73 18          	lea    0x18(%rbx),%rsi
140089727:	48 89 75 c7          	mov    %rsi,-0x39(%rbp)
14008972b:	4c 89 3e             	mov    %r15,(%rsi)
14008972e:	4c 89 7e 08          	mov    %r15,0x8(%rsi)
140089732:	4c 89 7e 10          	mov    %r15,0x10(%rsi)
140089736:	4c 89 7e 18          	mov    %r15,0x18(%rsi)
14008973a:	4c 89 7e 20          	mov    %r15,0x20(%rsi)
14008973e:	0f ae e8             	lfence
140089741:	41 8d 4f 10          	lea    0x10(%r15),%ecx
140089745:	ff 15 05 94 18 00    	call   *0x189405(%rip)        # 0x140212b50
14008974b:	48 85 c0             	test   %rax,%rax
14008974e:	75 07                	jne    0x140089757
140089750:	ff 15 da 93 18 00    	call   *0x1893da(%rip)        # 0x140212b30
140089756:	cc                   	int3
140089757:	4c 89 78 08          	mov    %r15,0x8(%rax)
14008975b:	48 89 06             	mov    %rax,(%rsi)
14008975e:	48 89 30             	mov    %rsi,(%rax)
140089761:	44 89 7b 40          	mov    %r15d,0x40(%rbx)
140089765:	4c 89 7b 48          	mov    %r15,0x48(%rbx)
140089769:	44 89 7d d7          	mov    %r15d,-0x29(%rbp)
14008976d:	4c 89 7d df          	mov    %r15,-0x21(%rbp)
140089771:	4c 89 7d e7          	mov    %r15,-0x19(%rbp)
140089775:	0f ae e8             	lfence
140089778:	49 8b cc             	mov    %r12,%rcx
14008977b:	ff 15 cf 93 18 00    	call   *0x1893cf(%rip)        # 0x140212b50
140089781:	48 85 c0             	test   %rax,%rax
140089784:	75 07                	jne    0x14008978d
140089786:	ff 15 a4 93 18 00    	call   *0x1893a4(%rip)        # 0x140212b30
14008978c:	cc                   	int3
14008978d:	48 89 00             	mov    %rax,(%rax)
140089790:	48 89 40 08          	mov    %rax,0x8(%rax)
140089794:	48 89 40 10          	mov    %rax,0x10(%rax)
140089798:	66 c7 40 18 01 01    	movw   $0x101,0x18(%rax)
14008979e:	48 89 45 df          	mov    %rax,-0x21(%rbp)
1400897a2:	4c 89 7d ef          	mov    %r15,-0x11(%rbp)
1400897a6:	0f 57 c0             	xorps  %xmm0,%xmm0
1400897a9:	66 0f 7f 45 f7       	movdqa %xmm0,-0x9(%rbp)
1400897ae:	0f 57 c9             	xorps  %xmm1,%xmm1
1400897b1:	0f 11 4d 07          	movups %xmm1,0x7(%rbp)
1400897b5:	66 0f 6f 05 73 69 23 	movdqa 0x236973(%rip),%xmm0        # 0x1402c0130
1400897bc:	00
1400897bd:	66 0f 7f 45 17       	movdqa %xmm0,0x17(%rbp)
1400897c2:	44 88 7d 07          	mov    %r15b,0x7(%rbp)
1400897c6:	48 8d 55 d7          	lea    -0x29(%rbp),%rdx
1400897ca:	48 8b ce             	mov    %rsi,%rcx
1400897cd:	e8 ce 83 00 00       	call   0x140091ba0
1400897d2:	48 8d 4d d7          	lea    -0x29(%rbp),%rcx
1400897d6:	e8 b1 fd ff ff       	call   0x14008958c
1400897db:	48 8d 05 ee 16 1b 00 	lea    0x1b16ee(%rip),%rax        # 0x14023aed0
1400897e2:	48 89 03             	mov    %rax,(%rbx)
1400897e5:	4c 89 37             	mov    %r14,(%rdi)
1400897e8:	48 8b c7             	mov    %rdi,%rax
1400897eb:	48 8b 4d 27          	mov    0x27(%rbp),%rcx
1400897ef:	48 33 cc             	xor    %rsp,%rcx
1400897f2:	e8 79 af 17 00       	call   0x140204770
1400897f7:	4c 8d 9c 24 90 00 00 	lea    0x90(%rsp),%r11
1400897fe:	00
1400897ff:	49 8b 5b 38          	mov    0x38(%r11),%rbx
140089803:	49 8b 73 40          	mov    0x40(%r11),%rsi
140089807:	49 8b e3             	mov    %r11,%rsp
14008980a:	41 5f                	pop    %r15
14008980c:	41 5e                	pop    %r14
14008980e:	41 5c                	pop    %r12
140089810:	5f                   	pop    %rdi
140089811:	5d                   	pop    %rbp
140089812:	c3                   	ret
140089813:	e8 3c 02 f8 ff       	call   0x140009a54
140089818:	cc                   	int3
140089819:	90                   	nop
14008981a:	90                   	nop
14008981b:	90                   	nop
14008981c:	40 53                	rex push %rbx
14008981e:	48 83 ec 20          	sub    $0x20,%rsp
140089822:	48 8b 41 08          	mov    0x8(%rcx),%rax
140089826:	48 8b d9             	mov    %rcx,%rbx
140089829:	48 85 c0             	test   %rax,%rax
14008982c:	74 03                	je     0x140089831
14008982e:	8b 40 08             	mov    0x8(%rax),%eax
140089831:	83 f8 01             	cmp    $0x1,%eax
140089834:	75 05                	jne    0x14008983b
140089836:	e8 15 02 00 00       	call   0x140089a50
14008983b:	48 8d 4b 20          	lea    0x20(%rbx),%rcx
14008983f:	48 83 39 00          	cmpq   $0x0,(%rcx)
140089843:	74 05                	je     0x14008984a
140089845:	e8 5e d8 f7 ff       	call   0x1400070a8
14008984a:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
14008984e:	48 83 39 00          	cmpq   $0x0,(%rcx)
140089852:	74 05                	je     0x140089859
140089854:	e8 4f d8 f7 ff       	call   0x1400070a8
140089859:	48 8d 4b 10          	lea    0x10(%rbx),%rcx
14008985d:	48 83 39 00          	cmpq   $0x0,(%rcx)
140089861:	74 05                	je     0x140089868
140089863:	e8 40 d8 f7 ff       	call   0x1400070a8
140089868:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
14008986c:	48 85 db             	test   %rbx,%rbx
14008986f:	74 39                	je     0x1400898aa
140089871:	83 c8 ff             	or     $0xffffffff,%eax
140089874:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140089879:	83 f8 01             	cmp    $0x1,%eax
14008987c:	75 2c                	jne    0x1400898aa
14008987e:	48 8b 03             	mov    (%rbx),%rax
140089881:	48 8b cb             	mov    %rbx,%rcx
140089884:	48 8b 00             	mov    (%rax),%rax
140089887:	ff 15 a3 95 18 00    	call   *0x1895a3(%rip)        # 0x140212e30
14008988d:	83 c8 ff             	or     $0xffffffff,%eax
140089890:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140089895:	83 f8 01             	cmp    $0x1,%eax
140089898:	75 10                	jne    0x1400898aa
14008989a:	48 8b 03             	mov    (%rbx),%rax
14008989d:	48 8b cb             	mov    %rbx,%rcx
1400898a0:	48 8b 40 08          	mov    0x8(%rax),%rax
1400898a4:	ff 15 86 95 18 00    	call   *0x189586(%rip)        # 0x140212e30
1400898aa:	48 83 c4 20          	add    $0x20,%rsp
1400898ae:	5b                   	pop    %rbx
1400898af:	c3                   	ret
1400898b0:	48 8b c4             	mov    %rsp,%rax
1400898b3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400898b7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400898bb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400898bf:	48 89 50 10          	mov    %rdx,0x10(%rax)
1400898c3:	55                   	push   %rbp
1400898c4:	48 8b ec             	mov    %rsp,%rbp
1400898c7:	48 83 ec 50          	sub    $0x50,%rsp
1400898cb:	48 8b d9             	mov    %rcx,%rbx
1400898ce:	48 8d 05 23 69 1e 00 	lea    0x1e6923(%rip),%rax        # 0x1402701f8
1400898d5:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1400898d9:	48 8b 01             	mov    (%rcx),%rax
1400898dc:	8b 00                	mov    (%rax),%eax
1400898de:	eb 0e                	jmp    0x1400898ee
1400898e0:	48 8b 13             	mov    (%rbx),%rdx
1400898e3:	b9 02 00 00 00       	mov    $0x2,%ecx
1400898e8:	f0 0f b1 0a          	lock cmpxchg %ecx,(%rdx)
1400898ec:	74 19                	je     0x140089907
1400898ee:	85 c0                	test   %eax,%eax
1400898f0:	74 ee                	je     0x1400898e0
1400898f2:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400898f7:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1400898fc:	48 8b 7c 24 78       	mov    0x78(%rsp),%rdi
140089901:	48 83 c4 50          	add    $0x50,%rsp
140089905:	5d                   	pop    %rbp
140089906:	c3                   	ret
140089907:	48 8d 73 10          	lea    0x10(%rbx),%rsi
14008990b:	48 8b ce             	mov    %rsi,%rcx
14008990e:	e8 45 09 ff ff       	call   0x14007a258
140089913:	48 8b ce             	mov    %rsi,%rcx
140089916:	e8 1d 08 ff ff       	call   0x14007a138
14008991b:	48 8d 05 96 b9 1d 00 	lea    0x1db996(%rip),%rax        # 0x1402652b8
140089922:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140089926:	48 c7 45 e8 04 00 00 	movq   $0x4,-0x18(%rbp)
14008992d:	00
14008992e:	0f 28 45 e0          	movaps -0x20(%rbp),%xmm0
140089932:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140089937:	4c 8d 05 aa 7a 27 00 	lea    0x277aaa(%rip),%r8        # 0x1403013e8
14008993e:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140089942:	48 8b ce             	mov    %rsi,%rcx
140089945:	e8 f2 91 00 00       	call   0x140092b3c
14008994a:	48 8d 05 d7 9d 1d 00 	lea    0x1d9dd7(%rip),%rax        # 0x140263728
140089951:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140089955:	48 c7 45 e8 07 00 00 	movq   $0x7,-0x18(%rbp)
14008995c:	00
14008995d:	0f 28 45 e0          	movaps -0x20(%rbp),%xmm0
140089961:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140089966:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
14008996a:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
14008996e:	48 8b ce             	mov    %rsi,%rcx
140089971:	e8 c6 91 00 00       	call   0x140092b3c
140089976:	48 8d 05 43 b9 1d 00 	lea    0x1db943(%rip),%rax        # 0x1402652c0
14008997d:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140089981:	48 c7 45 e8 08 00 00 	movq   $0x8,-0x18(%rbp)
140089988:	00
140089989:	0f 28 45 e0          	movaps -0x20(%rbp),%xmm0
14008998d:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140089992:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140089996:	48 8d 4d 18          	lea    0x18(%rbp),%rcx
14008999a:	e8 01 91 00 00       	call   0x140092aa0
14008999f:	48 8b 08             	mov    (%rax),%rcx
1400899a2:	48 89 4d e0          	mov    %rcx,-0x20(%rbp)
1400899a6:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1400899aa:	48 8b ce             	mov    %rsi,%rcx
1400899ad:	e8 2e 07 ff ff       	call   0x14007a0e0
1400899b2:	48 8b 7d 18          	mov    0x18(%rbp),%rdi
1400899b6:	48 85 ff             	test   %rdi,%rdi
1400899b9:	74 20                	je     0x1400899db
1400899bb:	83 c8 ff             	or     $0xffffffff,%eax
1400899be:	f0 0f c1 47 18       	lock xadd %eax,0x18(%rdi)
1400899c3:	83 e8 01             	sub    $0x1,%eax
1400899c6:	75 6d                	jne    0x140089a35
1400899c8:	e8 d5 9f 17 00       	call   0x1402039a2
1400899cd:	48 8b c8             	mov    %rax,%rcx
1400899d0:	4c 8b c7             	mov    %rdi,%r8
1400899d3:	33 d2                	xor    %edx,%edx
1400899d5:	e8 bc 9f 17 00       	call   0x140203996
1400899da:	90                   	nop
1400899db:	48 8b ce             	mov    %rsi,%rcx
1400899de:	e8 4d 06 ff ff       	call   0x14007a030
1400899e3:	90                   	nop
1400899e4:	48 8b ce             	mov    %rsi,%rcx
1400899e7:	e8 a4 07 ff ff       	call   0x14007a190
1400899ec:	48 8b ce             	mov    %rsi,%rcx
1400899ef:	e8 bc 08 ff ff       	call   0x14007a2b0
1400899f4:	c7 45 e0 e1 1b 00 00 	movl   $0x1be1,-0x20(%rbp)
1400899fb:	c7 45 e4 09 00 00 00 	movl   $0x9,-0x1c(%rbp)
140089a02:	48 8d 05 57 a0 1d 00 	lea    0x1da057(%rip),%rax        # 0x140263a60
140089a09:	48 89 45 e8          	mov    %rax,-0x18(%rbp)
140089a0d:	48 8d 05 9c a0 1d 00 	lea    0x1da09c(%rip),%rax        # 0x140263ab0
140089a14:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140089a18:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
140089a1c:	48 8b 01             	mov    (%rcx),%rax
140089a1f:	48 8b 16             	mov    (%rsi),%rdx
140089a22:	48 8b 40 18          	mov    0x18(%rax),%rax
140089a26:	ff 15 04 94 18 00    	call   *0x189404(%rip)        # 0x140212e30
140089a2c:	85 c0                	test   %eax,%eax
140089a2e:	78 10                	js     0x140089a40
140089a30:	e9 bd fe ff ff       	jmp    0x1400898f2
140089a35:	85 c0                	test   %eax,%eax
140089a37:	79 a2                	jns    0x1400899db
140089a39:	ff 15 49 91 18 00    	call   *0x189149(%rip)        # 0x140212b88
140089a3f:	90                   	nop
140089a40:	0f ae e8             	lfence
140089a43:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140089a47:	8b c8                	mov    %eax,%ecx
140089a49:	e8 0a e3 f7 ff       	call   0x140007d58
140089a4e:	cc                   	int3
140089a4f:	90                   	nop
140089a50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140089a55:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140089a5a:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140089a5f:	55                   	push   %rbp
140089a60:	57                   	push   %rdi
140089a61:	41 56                	push   %r14
140089a63:	48 8b ec             	mov    %rsp,%rbp
140089a66:	48 83 ec 40          	sub    $0x40,%rsp
140089a6a:	48 8b d9             	mov    %rcx,%rbx
140089a6d:	48 8b 01             	mov    (%rcx),%rax
140089a70:	8b 00                	mov    (%rax),%eax
140089a72:	eb 0e                	jmp    0x140089a82
140089a74:	48 8b 13             	mov    (%rbx),%rdx
140089a77:	b9 02 00 00 00       	mov    $0x2,%ecx
140089a7c:	f0 0f b1 0a          	lock cmpxchg %ecx,(%rdx)
140089a80:	74 17                	je     0x140089a99
140089a82:	85 c0                	test   %eax,%eax
140089a84:	74 ee                	je     0x140089a74
140089a86:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
140089a8b:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140089a90:	48 83 c4 40          	add    $0x40,%rsp
140089a94:	41 5e                	pop    %r14
140089a96:	5f                   	pop    %rdi
140089a97:	5d                   	pop    %rbp
140089a98:	c3                   	ret
140089a99:	4c 8d 73 10          	lea    0x10(%rbx),%r14
140089a9d:	49 8b ce             	mov    %r14,%rcx
140089aa0:	e8 b3 07 ff ff       	call   0x14007a258
140089aa5:	49 8b ce             	mov    %r14,%rcx
140089aa8:	e8 8b 06 ff ff       	call   0x14007a138
140089aad:	48 8d 05 04 b8 1d 00 	lea    0x1db804(%rip),%rax        # 0x1402652b8
140089ab4:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140089ab8:	48 c7 45 e8 04 00 00 	movq   $0x4,-0x18(%rbp)
140089abf:	00
140089ac0:	0f 28 45 e0          	movaps -0x20(%rbp),%xmm0
140089ac4:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140089ac9:	4c 8d 05 18 79 27 00 	lea    0x277918(%rip),%r8        # 0x1403013e8
140089ad0:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140089ad4:	49 8b ce             	mov    %r14,%rcx
140089ad7:	e8 60 90 00 00       	call   0x140092b3c
140089adc:	48 8d 05 45 9c 1d 00 	lea    0x1d9c45(%rip),%rax        # 0x140263728
140089ae3:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
140089ae7:	48 c7 45 e8 07 00 00 	movq   $0x7,-0x18(%rbp)
140089aee:	00
140089aef:	0f 28 45 e0          	movaps -0x20(%rbp),%xmm0
140089af3:	66 0f 7f 45 e0       	movdqa %xmm0,-0x20(%rbp)
140089af8:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140089afc:	48 8d 4d 28          	lea    0x28(%rbp),%rcx
140089b00:	e8 9b 8f 00 00       	call   0x140092aa0
140089b05:	48 8b 08             	mov    (%rax),%rcx
140089b08:	48 89 4d e0          	mov    %rcx,-0x20(%rbp)
140089b0c:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
140089b10:	49 8b ce             	mov    %r14,%rcx
140089b13:	e8 c8 05 ff ff       	call   0x14007a0e0
140089b18:	83 ce ff             	or     $0xffffffff,%esi
140089b1b:	48 8b 7d 28          	mov    0x28(%rbp),%rdi
140089b1f:	48 85 ff             	test   %rdi,%rdi
140089b22:	74 27                	je     0x140089b4b
140089b24:	8b c6                	mov    %esi,%eax