1402ffb76:	74 04                	je     0x1402ffb7c
1402ffb78:	f0 ff 41 08          	lock incl 0x8(%rcx)
1402ffb7c:	48 89 03             	mov    %rax,(%rbx)
1402ffb7f:	48 8b 47 08          	mov    0x8(%rdi),%rax
1402ffb83:	48 89 43 08          	mov    %rax,0x8(%rbx)
1402ffb87:	48 8b c3             	mov    %rbx,%rax
1402ffb8a:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1402ffb8f:	48 83 c4 30          	add    $0x30,%rsp
1402ffb93:	5f                   	pop    %rdi
1402ffb94:	c3                   	ret
1402ffb95:	90                   	nop
1402ffb96:	90                   	nop
1402ffb97:	90                   	nop
1402ffb98:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402ffb9d:	57                   	push   %rdi
1402ffb9e:	48 83 ec 30          	sub    $0x30,%rsp
1402ffba2:	48 8b d9             	mov    %rcx,%rbx
1402ffba5:	33 ff                	xor    %edi,%edi
1402ffba7:	8d 4f 70             	lea    0x70(%rdi),%ecx
1402ffbaa:	ff 15 18 cd 80 00    	call   *0x80cd18(%rip)        # 0x140b0c8c8
1402ffbb0:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1402ffbb5:	48 85 c0             	test   %rax,%rax
1402ffbb8:	75 07                	jne    0x1402ffbc1
1402ffbba:	ff 15 d8 c8 80 00    	call   *0x80c8d8(%rip)        # 0x140b0c498
1402ffbc0:	90                   	nop
1402ffbc1:	b9 01 00 00 00       	mov    $0x1,%ecx
1402ffbc6:	89 48 08             	mov    %ecx,0x8(%rax)
1402ffbc9:	89 48 0c             	mov    %ecx,0xc(%rax)
1402ffbcc:	48 8d 0d 25 4b 82 00 	lea    0x824b25(%rip),%rcx        # 0x140b246f8
1402ffbd3:	48 89 08             	mov    %rcx,(%rax)
1402ffbd6:	48 8d 48 10          	lea    0x10(%rax),%rcx
1402ffbda:	ba 00 00 80 3f       	mov    $0x3f800000,%edx
1402ffbdf:	89 11                	mov    %edx,(%rcx)
1402ffbe1:	48 89 78 14          	mov    %rdi,0x14(%rax)
1402ffbe5:	48 89 50 1c          	mov    %rdx,0x1c(%rax)
1402ffbe9:	48 89 78 24          	mov    %rdi,0x24(%rax)
1402ffbed:	48 89 78 2c          	mov    %rdi,0x2c(%rax)
1402ffbf1:	89 78 34             	mov    %edi,0x34(%rax)
1402ffbf4:	48 89 78 38          	mov    %rdi,0x38(%rax)
1402ffbf8:	48 89 78 40          	mov    %rdi,0x40(%rax)
1402ffbfc:	89 78 48             	mov    %edi,0x48(%rax)
1402ffbff:	48 89 78 50          	mov    %rdi,0x50(%rax)
1402ffc03:	48 89 78 58          	mov    %rdi,0x58(%rax)
1402ffc07:	48 89 78 60          	mov    %rdi,0x60(%rax)
1402ffc0b:	89 78 68             	mov    %edi,0x68(%rax)
1402ffc0e:	89 50 6c             	mov    %edx,0x6c(%rax)
1402ffc11:	48 89 0b             	mov    %rcx,(%rbx)
1402ffc14:	48 89 43 08          	mov    %rax,0x8(%rbx)
1402ffc18:	48 8b c3             	mov    %rbx,%rax
1402ffc1b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1402ffc20:	48 83 c4 30          	add    $0x30,%rsp
1402ffc24:	5f                   	pop    %rdi
1402ffc25:	c3                   	ret
1402ffc26:	90                   	nop
1402ffc27:	90                   	nop
1402ffc28:	90                   	nop
1402ffc29:	90                   	nop
1402ffc2a:	90                   	nop
1402ffc2b:	90                   	nop
1402ffc2c:	90                   	nop
1402ffc2d:	90                   	nop
1402ffc2e:	90                   	nop
1402ffc2f:	90                   	nop
1402ffc30:	48 83 c1 10          	add    $0x10,%rcx
1402ffc34:	eb 32                	jmp    0x1402ffc68
1402ffc36:	90                   	nop
1402ffc37:	90                   	nop
1402ffc38:	90                   	nop
1402ffc39:	90                   	nop
1402ffc3a:	90                   	nop
1402ffc3b:	90                   	nop
1402ffc3c:	90                   	nop
1402ffc3d:	90                   	nop
1402ffc3e:	90                   	nop
1402ffc3f:	90                   	nop
1402ffc40:	40 53                	rex push %rbx
1402ffc42:	48 83 ec 20          	sub    $0x20,%rsp
1402ffc46:	48 8d 05 ab 4a 82 00 	lea    0x824aab(%rip),%rax        # 0x140b246f8
1402ffc4d:	48 8b d9             	mov    %rcx,%rbx
1402ffc50:	48 89 01             	mov    %rax,(%rcx)
1402ffc53:	f6 c2 01             	test   $0x1,%dl
1402ffc56:	74 05                	je     0x1402ffc5d
1402ffc58:	e8 77 f9 7e 00       	call   0x140aef5d4
1402ffc5d:	48 8b c3             	mov    %rbx,%rax
1402ffc60:	48 83 c4 20          	add    $0x20,%rsp
1402ffc64:	5b                   	pop    %rbx
1402ffc65:	c3                   	ret
1402ffc66:	90                   	nop
1402ffc67:	90                   	nop
1402ffc68:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402ffc6d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1402ffc72:	57                   	push   %rdi
1402ffc73:	48 83 ec 20          	sub    $0x20,%rsp
1402ffc77:	48 8b 59 48          	mov    0x48(%rcx),%rbx
1402ffc7b:	83 ce ff             	or     $0xffffffff,%esi
1402ffc7e:	48 8b f9             	mov    %rcx,%rdi
1402ffc81:	48 85 db             	test   %rbx,%rbx
1402ffc84:	74 35                	je     0x1402ffcbb
1402ffc86:	8b c6                	mov    %esi,%eax
1402ffc88:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1402ffc8d:	03 c6                	add    %esi,%eax
1402ffc8f:	75 2a                	jne    0x1402ffcbb
1402ffc91:	48 8b 03             	mov    (%rbx),%rax
1402ffc94:	48 8b cb             	mov    %rbx,%rcx
1402ffc97:	48 8b 00             	mov    (%rax),%rax
1402ffc9a:	ff 15 98 cf 80 00    	call   *0x80cf98(%rip)        # 0x140b0cc38
1402ffca0:	8b c6                	mov    %esi,%eax
1402ffca2:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1402ffca7:	03 c6                	add    %esi,%eax
1402ffca9:	75 10                	jne    0x1402ffcbb
1402ffcab:	48 8b 03             	mov    (%rbx),%rax
1402ffcae:	48 8b cb             	mov    %rbx,%rcx
1402ffcb1:	48 8b 40 08          	mov    0x8(%rax),%rax
1402ffcb5:	ff 15 7d cf 80 00    	call   *0x80cf7d(%rip)        # 0x140b0cc38
1402ffcbb:	48 8b 5f 30          	mov    0x30(%rdi),%rbx
1402ffcbf:	48 85 db             	test   %rbx,%rbx
1402ffcc2:	74 35                	je     0x1402ffcf9
1402ffcc4:	8b c6                	mov    %esi,%eax
1402ffcc6:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
1402ffccb:	03 c6                	add    %esi,%eax
1402ffccd:	75 2a                	jne    0x1402ffcf9
1402ffccf:	48 8b 03             	mov    (%rbx),%rax
1402ffcd2:	48 8b cb             	mov    %rbx,%rcx
1402ffcd5:	48 8b 00             	mov    (%rax),%rax
1402ffcd8:	ff 15 5a cf 80 00    	call   *0x80cf5a(%rip)        # 0x140b0cc38
1402ffcde:	8b c6                	mov    %esi,%eax
1402ffce0:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
1402ffce5:	03 c6                	add    %esi,%eax
1402ffce7:	75 10                	jne    0x1402ffcf9
1402ffce9:	48 8b 03             	mov    (%rbx),%rax
1402ffcec:	48 8b cb             	mov    %rbx,%rcx
1402ffcef:	48 8b 40 08          	mov    0x8(%rax),%rax
1402ffcf3:	ff 15 3f cf 80 00    	call   *0x80cf3f(%rip)        # 0x140b0cc38
1402ffcf9:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402ffcfe:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1402ffd03:	48 83 c4 20          	add    $0x20,%rsp
1402ffd07:	5f                   	pop    %rdi
1402ffd08:	c3                   	ret
1402ffd09:	90                   	nop
1402ffd0a:	90                   	nop
1402ffd0b:	90                   	nop
1402ffd0c:	40 53                	rex push %rbx
1402ffd0e:	48 83 ec 60          	sub    $0x60,%rsp
1402ffd12:	48 8b 05 27 f3 9b 00 	mov    0x9bf327(%rip),%rax        # 0x140cbf040
1402ffd19:	48 33 c4             	xor    %rsp,%rax
1402ffd1c:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1402ffd21:	48 8b d9             	mov    %rcx,%rbx
1402ffd24:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1402ffd29:	0f 57 c0             	xorps  %xmm0,%xmm0
1402ffd2c:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
1402ffd31:	0f 57 c9             	xorps  %xmm1,%xmm1
1402ffd34:	f3 0f 7f 4c 24 40    	movdqu %xmm1,0x40(%rsp)
1402ffd3a:	48 c7 44 24 20 1f 00 	movq   $0x1f,0x20(%rsp)
1402ffd41:	00 00
1402ffd43:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1402ffd48:	e8 df f3 e0 ff       	call   0x14010f12c
1402ffd4d:	48 8b c8             	mov    %rax,%rcx
1402ffd50:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1402ffd55:	48 c7 44 24 40 12 00 	movq   $0x12,0x40(%rsp)
1402ffd5c:	00 00
1402ffd5e:	48 8b 44 24 20       	mov    0x20(%rsp),%rax
1402ffd63:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
1402ffd68:	0f 10 05 99 a7 84 00 	movups 0x84a799(%rip),%xmm0        # 0x140b4a508
1402ffd6f:	0f 11 01             	movups %xmm0,(%rcx)
1402ffd72:	0f b7 05 9f a7 84 00 	movzwl 0x84a79f(%rip),%eax        # 0x140b4a518
1402ffd79:	66 89 41 10          	mov    %ax,0x10(%rcx)
1402ffd7d:	c6 41 12 00          	movb   $0x0,0x12(%rcx)
1402ffd81:	41 b8 07 84 04 80    	mov    $0x80048407,%r8d
1402ffd87:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1402ffd8c:	48 8b cb             	mov    %rbx,%rcx
1402ffd8f:	e8 0c dc e0 ff       	call   0x14010d9a0
1402ffd94:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
1402ffd99:	48 83 f8 0f          	cmp    $0xf,%rax
1402ffd9d:	76 32                	jbe    0x1402ffdd1
1402ffd9f:	90                   	nop
1402ffda0:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1402ffda5:	48 8b d1             	mov    %rcx,%rdx
1402ffda8:	48 ff c0             	inc    %rax
1402ffdab:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1402ffdb1:	72 18                	jb     0x1402ffdcb
1402ffdb3:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1402ffdb7:	48 2b d1             	sub    %rcx,%rdx
1402ffdba:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1402ffdbe:	48 83 f8 1f          	cmp    $0x1f,%rax
1402ffdc2:	76 07                	jbe    0x1402ffdcb
1402ffdc4:	ff 15 ce cb 80 00    	call   *0x80cbce(%rip)        # 0x140b0c998
1402ffdca:	cc                   	int3
1402ffdcb:	ff 15 ef ca 80 00    	call   *0x80caef(%rip)        # 0x140b0c8c0
1402ffdd1:	48 8d 05 48 49 82 00 	lea    0x824948(%rip),%rax        # 0x140b24720
1402ffdd8:	48 89 03             	mov    %rax,(%rbx)
1402ffddb:	48 8b c3             	mov    %rbx,%rax
1402ffdde:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1402ffde3:	48 33 cc             	xor    %rsp,%rcx
1402ffde6:	e8 f5 f7 7e 00       	call   0x140aef5e0
1402ffdeb:	48 83 c4 60          	add    $0x60,%rsp
1402ffdef:	5b                   	pop    %rbx
1402ffdf0:	c3                   	ret
1402ffdf1:	90                   	nop
1402ffdf2:	90                   	nop
1402ffdf3:	90                   	nop
1402ffdf4:	48 8b c4             	mov    %rsp,%rax
1402ffdf7:	48 89 58 20          	mov    %rbx,0x20(%rax)
1402ffdfb:	4c 89 40 18          	mov    %r8,0x18(%rax)
1402ffdff:	48 89 50 10          	mov    %rdx,0x10(%rax)
1402ffe03:	48 89 48 08          	mov    %rcx,0x8(%rax)
1402ffe07:	55                   	push   %rbp
1402ffe08:	56                   	push   %rsi
1402ffe09:	57                   	push   %rdi
1402ffe0a:	48 83 ec 20          	sub    $0x20,%rsp
1402ffe0e:	41 8b e9             	mov    %r9d,%ebp
1402ffe11:	49 8b f8             	mov    %r8,%rdi
1402ffe14:	48 8b f2             	mov    %rdx,%rsi
1402ffe17:	48 8b d9             	mov    %rcx,%rbx
1402ffe1a:	48 8d 05 9f 4a 82 00 	lea    0x824a9f(%rip),%rax        # 0x140b248c0
1402ffe21:	48 89 01             	mov    %rax,(%rcx)
1402ffe24:	48 8b 0a             	mov    (%rdx),%rcx
1402ffe27:	48 89 4b 08          	mov    %rcx,0x8(%rbx)
1402ffe2b:	48 85 c9             	test   %rcx,%rcx
1402ffe2e:	74 0e                	je     0x1402ffe3e
1402ffe30:	48 8b 01             	mov    (%rcx),%rax
1402ffe33:	48 8b 40 08          	mov    0x8(%rax),%rax
1402ffe37:	ff 15 fb cd 80 00    	call   *0x80cdfb(%rip)        # 0x140b0cc38
1402ffe3d:	90                   	nop
1402ffe3e:	48 8b 0f             	mov    (%rdi),%rcx
1402ffe41:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
1402ffe45:	48 85 c9             	test   %rcx,%rcx
1402ffe48:	74 0e                	je     0x1402ffe58
1402ffe4a:	48 8b 01             	mov    (%rcx),%rax
1402ffe4d:	48 8b 40 08          	mov    0x8(%rax),%rax
1402ffe51:	ff 15 e1 cd 80 00    	call   *0x80cde1(%rip)        # 0x140b0cc38
1402ffe57:	90                   	nop
1402ffe58:	89 6b 18             	mov    %ebp,0x18(%rbx)
1402ffe5b:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
1402ffe60:	48 8b ce             	mov    %rsi,%rcx
1402ffe63:	e8 54 19 63 00       	call   0x1409317bc
1402ffe68:	48 89 43 20          	mov    %rax,0x20(%rbx)
1402ffe6c:	48 8b 54 24 60       	mov    0x60(%rsp),%rdx
1402ffe71:	48 8b cf             	mov    %rdi,%rcx
1402ffe74:	e8 43 19 63 00       	call   0x1409317bc
1402ffe79:	48 01 43 20          	add    %rax,0x20(%rbx)
1402ffe7d:	48 8b 0e             	mov    (%rsi),%rcx
1402ffe80:	48 85 c9             	test   %rcx,%rcx
1402ffe83:	74 12                	je     0x1402ffe97
1402ffe85:	48 83 26 00          	andq   $0x0,(%rsi)
1402ffe89:	48 8b 01             	mov    (%rcx),%rax
1402ffe8c:	48 8b 40 10          	mov    0x10(%rax),%rax
1402ffe90:	ff 15 a2 cd 80 00    	call   *0x80cda2(%rip)        # 0x140b0cc38
1402ffe96:	90                   	nop
1402ffe97:	48 8b 0f             	mov    (%rdi),%rcx
1402ffe9a:	48 85 c9             	test   %rcx,%rcx
1402ffe9d:	74 11                	je     0x1402ffeb0
1402ffe9f:	48 83 27 00          	andq   $0x0,(%rdi)
1402ffea3:	48 8b 01             	mov    (%rcx),%rax
1402ffea6:	48 8b 40 10          	mov    0x10(%rax),%rax
1402ffeaa:	ff 15 88 cd 80 00    	call   *0x80cd88(%rip)        # 0x140b0cc38
1402ffeb0:	48 8b c3             	mov    %rbx,%rax
1402ffeb3:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1402ffeb8:	48 83 c4 20          	add    $0x20,%rsp
1402ffebc:	5f                   	pop    %rdi
1402ffebd:	5e                   	pop    %rsi
1402ffebe:	5d                   	pop    %rbp
1402ffebf:	c3                   	ret
1402ffec0:	40 53                	rex push %rbx
1402ffec2:	48 83 ec 20          	sub    $0x20,%rsp
1402ffec6:	48 8b 49 08          	mov    0x8(%rcx),%rcx
1402ffeca:	48 8b da             	mov    %rdx,%rbx
1402ffecd:	48 89 0a             	mov    %rcx,(%rdx)
1402ffed0:	48 85 c9             	test   %rcx,%rcx
1402ffed3:	74 0d                	je     0x1402ffee2
1402ffed5:	48 8b 01             	mov    (%rcx),%rax
1402ffed8:	48 8b 40 08          	mov    0x8(%rax),%rax
1402ffedc:	ff 15 56 cd 80 00    	call   *0x80cd56(%rip)        # 0x140b0cc38
1402ffee2:	48 8b c3             	mov    %rbx,%rax
1402ffee5:	48 83 c4 20          	add    $0x20,%rsp
1402ffee9:	5b                   	pop    %rbx
1402ffeea:	c3                   	ret
1402ffeeb:	90                   	nop
1402ffeec:	90                   	nop
1402ffeed:	90                   	nop
1402ffeee:	90                   	nop
1402ffeef:	90                   	nop
1402ffef0:	40 53                	rex push %rbx
1402ffef2:	48 83 ec 20          	sub    $0x20,%rsp
1402ffef6:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1402ffefa:	48 8b da             	mov    %rdx,%rbx
1402ffefd:	48 89 0a             	mov    %rcx,(%rdx)
1402fff00:	48 85 c9             	test   %rcx,%rcx
1402fff03:	74 0d                	je     0x1402fff12
1402fff05:	48 8b 01             	mov    (%rcx),%rax
1402fff08:	48 8b 40 08          	mov    0x8(%rax),%rax
1402fff0c:	ff 15 26 cd 80 00    	call   *0x80cd26(%rip)        # 0x140b0cc38
1402fff12:	48 8b c3             	mov    %rbx,%rax
1402fff15:	48 83 c4 20          	add    $0x20,%rsp
1402fff19:	5b                   	pop    %rbx
1402fff1a:	c3                   	ret
1402fff1b:	90                   	nop
1402fff1c:	90                   	nop
1402fff1d:	90                   	nop
1402fff1e:	90                   	nop
1402fff1f:	90                   	nop
1402fff20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402fff25:	57                   	push   %rdi
1402fff26:	48 83 ec 20          	sub    $0x20,%rsp
1402fff2a:	48 8b d9             	mov    %rcx,%rbx
1402fff2d:	8b fa                	mov    %edx,%edi
1402fff2f:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1402fff33:	48 85 c9             	test   %rcx,%rcx
1402fff36:	74 12                	je     0x1402fff4a
1402fff38:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
1402fff3d:	48 8b 01             	mov    (%rcx),%rax
1402fff40:	48 8b 40 10          	mov    0x10(%rax),%rax
1402fff44:	ff 15 ee cc 80 00    	call   *0x80ccee(%rip)        # 0x140b0cc38
1402fff4a:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1402fff4e:	48 85 c9             	test   %rcx,%rcx
1402fff51:	74 12                	je     0x1402fff65
1402fff53:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
1402fff58:	48 8b 01             	mov    (%rcx),%rax
1402fff5b:	48 8b 40 10          	mov    0x10(%rax),%rax
1402fff5f:	ff 15 d3 cc 80 00    	call   *0x80ccd3(%rip)        # 0x140b0cc38
1402fff65:	48 8d 05 1c 49 82 00 	lea    0x82491c(%rip),%rax        # 0x140b24888
1402fff6c:	48 89 03             	mov    %rax,(%rbx)
1402fff6f:	40 f6 c7 01          	test   $0x1,%dil
1402fff73:	74 08                	je     0x1402fff7d
1402fff75:	48 8b cb             	mov    %rbx,%rcx
1402fff78:	e8 57 f6 7e 00       	call   0x140aef5d4
1402fff7d:	48 8b c3             	mov    %rbx,%rax
1402fff80:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402fff85:	48 83 c4 20          	add    $0x20,%rsp
1402fff89:	5f                   	pop    %rdi
1402fff8a:	c3                   	ret
1402fff8b:	90                   	nop
1402fff8c:	40 55                	rex push %rbp
1402fff8e:	53                   	push   %rbx
1402fff8f:	56                   	push   %rsi
1402fff90:	57                   	push   %rdi
1402fff91:	41 54                	push   %r12
1402fff93:	41 56                	push   %r14
1402fff95:	41 57                	push   %r15
1402fff97:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
1402fff9c:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1402fffa3:	48 8b 05 96 f0 9b 00 	mov    0x9bf096(%rip),%rax        # 0x140cbf040
1402fffaa:	48 33 c4             	xor    %rsp,%rax
1402fffad:	48 89 45 17          	mov    %rax,0x17(%rbp)
1402fffb1:	45 8a f1             	mov    %r9b,%r14b
1402fffb4:	4d 8b f8             	mov    %r8,%r15
1402fffb7:	48 8b fa             	mov    %rdx,%rdi
1402fffba:	48 89 55 c7          	mov    %rdx,-0x39(%rbp)
1402fffbe:	40 32 f6             	xor    %sil,%sil
1402fffc1:	48 8b 09             	mov    (%rcx),%rcx
1402fffc4:	48 8b 01             	mov    (%rcx),%rax