	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function Array_sort
LCPI0_0:
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	1                               ## 0x1
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
	.byte	0                               ## 0x0
LCPI0_1:
	.quad	16                              ## 0x10
	.quad	16                              ## 0x10
LCPI0_2:
	.quad	32                              ## 0x20
	.quad	32                              ## 0x20
LCPI0_3:
	.quad	48                              ## 0x30
	.quad	48                              ## 0x30
LCPI0_4:
	.quad	64                              ## 0x40
	.quad	64                              ## 0x40
LCPI0_5:
	.quad	80                              ## 0x50
	.quad	80                              ## 0x50
LCPI0_6:
	.quad	96                              ## 0x60
	.quad	96                              ## 0x60
LCPI0_7:
	.quad	112                             ## 0x70
	.quad	112                             ## 0x70
LCPI0_8:
	.quad	4                               ## 0x4
	.quad	4                               ## 0x4
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_Array_sort:                            ## @Array_sort
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$152, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%r9, %r14
	movq	%r8, %r12
	movl	%ecx, %r15d
	movq	%rsi, %rbx
	movq	%rdi, %r13
	leaq	L_.str(%rip), %rdi
	callq	_TRACE
	leaq	-104(%rbp), %rdx
	leaq	-44(%rbp), %rcx
	movq	%r13, %rdi
	movq	%rbx, %rsi
	callq	_get_length
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_94
## %bb.1:
	movq	%r13, -72(%rbp)                 ## 8-byte Spill
	cmpl	$2, %r15d
	jb	LBB0_3
## %bb.2:
	leaq	L_.str.1(%rip), %rdi
	movl	%r15d, %esi
	xorl	%eax, %eax
	callq	_WARN
	movq	_E_FAIL@GOTPCREL(%rip), %rax
	jmp	LBB0_93
LBB0_3:
	cmpl	$1, %r15d
	jne	LBB0_9
## %bb.4:
	movq	(%r12), %rdi
	callq	_is_object_instance
	testl	%eax, %eax
	je	LBB0_19
## %bb.5:
	movq	%r14, %r13
	movq	(%r12), %rdi
	callq	_get_object
	movl	%eax, %edi
	callq	_iface_to_jsdisp
	testq	%rax, %rax
	je	LBB0_31
## %bb.6:
	movq	%rax, %rbx
	movq	_JSCLASS_FUNCTION@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_is_class
	testl	%eax, %eax
	je	LBB0_35
## %bb.7:
	movq	%rbx, -88(%rbp)                 ## 8-byte Spill
	movl	-44(%rbp), %edi
	testl	%edi, %edi
	je	LBB0_36
## %bb.8:
	movq	-56(%rbp), %r12                 ## 8-byte Reload
	jmp	LBB0_11
LBB0_9:
	movl	-44(%rbp), %edi
	testl	%edi, %edi
	movq	%r14, %r13
	je	LBB0_90
## %bb.10:
	movq	-56(%rbp), %r12                 ## 8-byte Reload
	xorl	%eax, %eax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
LBB0_11:
	shll	$3, %edi
	callq	_heap_alloc_zero
	movq	%rax, -96(%rbp)                 ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_20
## %bb.12:
	cmpl	$0, -44(%rbp)
	jle	LBB0_21
## %bb.13:
	movq	_DISP_E_UNKNOWNNAME@GOTPCREL(%rip), %r15
	xorl	%ebx, %ebx
	xorl	%r14d, %r14d
	jmp	LBB0_16
	.p2align	4, 0x90
LBB0_14:                                ##   in Loop: Header=BB0_16 Depth=1
	xorl	%eax, %eax
	callq	_jsval_undefined
	movq	%rax, (%r12,%r14,8)
	movq	_S_OK@GOTPCREL(%rip), %rax
	movq	(%rax), %r12
LBB0_15:                                ##   in Loop: Header=BB0_16 Depth=1
	incq	%r14
	movslq	-44(%rbp), %rax
	addq	$8, %rbx
	cmpq	%rax, %r14
	jge	LBB0_21
LBB0_16:                                ## =>This Inner Loop Header: Depth=1
	movq	-104(%rbp), %rdi
	movq	-96(%rbp), %r12                 ## 8-byte Reload
	leaq	(%r12,%rbx), %rdx
	movl	%r14d, %esi
	callq	_jsdisp_get_idx
	cmpq	(%r15), %rax
	je	LBB0_14
## %bb.17:                              ##   in Loop: Header=BB0_16 Depth=1
	movq	%rax, %r12
	movq	%rax, %rdi
	callq	_FAILED
	testq	%rax, %rax
	je	LBB0_15
## %bb.18:
	leaq	L_.str.4(%rip), %rdi
	movl	%r14d, %esi
	movq	%r12, %rdx
	xorl	%eax, %eax
	callq	_WARN
	jmp	LBB0_21
LBB0_19:
	leaq	L_.str.2(%rip), %rdi
	jmp	LBB0_32
LBB0_20:
	movq	_E_OUTOFMEMORY@GOTPCREL(%rip), %rax
	movq	(%rax), %r12
LBB0_21:
	movq	%r12, -56(%rbp)                 ## 8-byte Spill
	movq	%r12, %rdi
	callq	_SUCCEEDED
	testq	%rax, %rax
	je	LBB0_25
## %bb.22:
	movl	-44(%rbp), %edi
	shll	$4, %edi
	callq	_heap_alloc
	testq	%rax, %rax
	movq	-96(%rbp), %r14                 ## 8-byte Reload
	jne	LBB0_24
## %bb.23:
	movq	_E_OUTOFMEMORY@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, -56(%rbp)                 ## 8-byte Spill
LBB0_24:
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	jmp	LBB0_26
LBB0_25:
	xorl	%eax, %eax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	-96(%rbp), %r14                 ## 8-byte Reload
LBB0_26:
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_SUCCEEDED
	testq	%rax, %rax
	je	LBB0_30
## %bb.27:
	movq	-56(%rbp), %r12                 ## 8-byte Reload
	movslq	-44(%rbp), %rcx
	testq	%rcx, %rcx
	movq	%rcx, -80(%rbp)                 ## 8-byte Spill
	jle	LBB0_51
## %bb.28:
	movl	%ecx, %eax
	cmpl	$4, %eax
	jae	LBB0_33
## %bb.29:
	xorl	%ecx, %ecx
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_43
LBB0_30:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	jmp	LBB0_82
LBB0_31:
	leaq	L_.str.3(%rip), %rdi
LBB0_32:
	xorl	%eax, %eax
	callq	_WARN
	movq	_E_FAIL@GOTPCREL(%rip), %rax
	jmp	LBB0_93
LBB0_33:
	movl	%eax, %ecx
	andl	$-4, %ecx
	leaq	-4(%rcx), %rdi
	movq	%rdi, %rsi
	shrq	$2, %rsi
	incq	%rsi
	movl	%esi, %edx
	andl	$3, %edx
	movq	%r14, %xmm8
	cmpq	$12, %rdi
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	jae	LBB0_37
## %bb.34:
	movdqa	LCPI0_0(%rip), %xmm5            ## xmm5 = [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
	xorl	%edi, %edi
	jmp	LBB0_39
LBB0_35:
	leaq	L_.str.3(%rip), %rdi
	xorl	%eax, %eax
	callq	_WARN
	movq	%rbx, %rdi
	callq	_jsdisp_release
	movq	_E_FAIL@GOTPCREL(%rip), %rax
	jmp	LBB0_93
LBB0_36:
	movq	-88(%rbp), %rdi                 ## 8-byte Reload
	callq	_jsdisp_release
	jmp	LBB0_90
LBB0_37:
	andq	$-4, %rsi
	movdqa	LCPI0_0(%rip), %xmm5            ## xmm5 = [0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0]
	xorl	%edi, %edi
	pshufd	$68, %xmm8, %xmm2               ## xmm2 = xmm8[0,1,0,1]
	movdqa	LCPI0_1(%rip), %xmm3            ## xmm3 = [16,16]
	movdqa	LCPI0_2(%rip), %xmm9            ## xmm9 = [32,32]
	movdqa	LCPI0_3(%rip), %xmm10           ## xmm10 = [48,48]
	movdqa	LCPI0_4(%rip), %xmm11           ## xmm11 = [64,64]
	movdqa	LCPI0_5(%rip), %xmm12           ## xmm12 = [80,80]
	movdqa	LCPI0_6(%rip), %xmm1            ## xmm1 = [96,96]
	movdqa	LCPI0_7(%rip), %xmm4            ## xmm4 = [112,112]
	.p2align	4, 0x90
LBB0_38:                                ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm5, %xmm0
	psllq	$3, %xmm0
	paddq	%xmm2, %xmm0
	movdqa	%xmm0, %xmm6
	paddq	%xmm3, %xmm6
	movdqu	%xmm0, (%rbx,%rdi,8)
	movdqu	%xmm6, 16(%rbx,%rdi,8)
	movdqa	%xmm0, %xmm6
	paddq	%xmm9, %xmm6
	movdqa	%xmm0, %xmm7
	paddq	%xmm10, %xmm7
	movdqu	%xmm6, 32(%rbx,%rdi,8)
	movdqu	%xmm7, 48(%rbx,%rdi,8)
	movdqa	%xmm0, %xmm6
	paddq	%xmm11, %xmm6
	movdqa	%xmm0, %xmm7
	paddq	%xmm12, %xmm7
	movdqu	%xmm6, 64(%rbx,%rdi,8)
	movdqu	%xmm7, 80(%rbx,%rdi,8)
	movdqa	%xmm0, %xmm6
	paddq	%xmm1, %xmm6
	paddq	%xmm4, %xmm0
	movdqu	%xmm6, 96(%rbx,%rdi,8)
	movdqu	%xmm0, 112(%rbx,%rdi,8)
	addq	$16, %rdi
	paddq	%xmm3, %xmm5
	addq	$-4, %rsi
	jne	LBB0_38
LBB0_39:
	testq	%rdx, %rdx
	je	LBB0_42
## %bb.40:
	leaq	(%rbx,%rdi,8), %rsi
	addq	$16, %rsi
	shlq	$5, %rdx
	xorl	%edi, %edi
	pshufd	$68, %xmm8, %xmm1               ## xmm1 = xmm8[0,1,0,1]
	movdqa	LCPI0_1(%rip), %xmm2            ## xmm2 = [16,16]
	movdqa	LCPI0_8(%rip), %xmm3            ## xmm3 = [4,4]
	.p2align	4, 0x90
LBB0_41:                                ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm5, %xmm0
	psllq	$3, %xmm0
	paddq	%xmm1, %xmm0
	movdqu	%xmm0, -16(%rsi,%rdi)
	paddq	%xmm2, %xmm0
	movdqu	%xmm0, (%rsi,%rdi)
	paddq	%xmm3, %xmm5
	addq	$32, %rdi
	cmpq	%rdi, %rdx
	jne	LBB0_41
LBB0_42:
	cmpq	%rax, %rcx
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	je	LBB0_45
LBB0_43:
	leaq	(%r14,%rcx,8), %rdx
	.p2align	4, 0x90
LBB0_44:                                ## =>This Inner Loop Header: Depth=1
	movq	%rdx, (%rbx,%rcx,8)
	incq	%rcx
	addq	$8, %rdx
	cmpq	%rcx, %rax
	jne	LBB0_44
LBB0_45:
	cmpl	$2, %eax
	jl	LBB0_51
## %bb.46:
	xorl	%r14d, %r14d
	leaq	-120(%rbp), %r15
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
	jmp	LBB0_48
	.p2align	4, 0x90
LBB0_47:                                ##   in Loop: Header=BB0_48 Depth=1
	incq	%r14
	movl	-44(%rbp), %eax
	movl	%eax, %ecx
	shrl	$31, %ecx
	addl	%eax, %ecx
	sarl	%ecx
	movslq	%ecx, %rax
	addq	$16, %rbx
	cmpq	%rax, %r14
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	jge	LBB0_51
LBB0_48:                                ## =>This Inner Loop Header: Depth=1
	movq	(%rbx), %rax
	movq	8(%rbx), %rcx
	movq	(%rcx), %rdx
	movq	(%rax), %rcx
	movq	-88(%rbp), %rsi                 ## 8-byte Reload
	movq	%r15, %r8
	callq	_sort_cmp
	movq	%rax, %r12
	movq	%rax, %rdi
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_51
## %bb.49:                              ##   in Loop: Header=BB0_48 Depth=1
	cmpq	$0, -120(%rbp)
	jns	LBB0_47
## %bb.50:                              ##   in Loop: Header=BB0_48 Depth=1
	movdqu	(%rbx), %xmm0
	pshufd	$78, %xmm0, %xmm0               ## xmm0 = xmm0[2,3,0,1]
	movdqu	%xmm0, (%rbx)
	jmp	LBB0_47
LBB0_51:
	movq	%r12, %rdi
	callq	_SUCCEEDED
	testq	%rax, %rax
	movq	%r12, -56(%rbp)                 ## 8-byte Spill
	je	LBB0_74
## %bb.52:
	movl	-44(%rbp), %eax
	cmpl	$3, %eax
	jl	LBB0_74
## %bb.53:
	movq	-64(%rbp), %rcx                 ## 8-byte Reload
	movq	-80(%rbp), %rdx                 ## 8-byte Reload
	leaq	(%rcx,%rdx,8), %rcx
	movq	%rcx, -80(%rbp)                 ## 8-byte Spill
	movl	$2, %r14d
	movq	%r13, -136(%rbp)                ## 8-byte Spill
	.p2align	4, 0x90
LBB0_54:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_59 Depth 2
                                        ##       Child Loop BB0_62 Depth 3
	cmpl	%r14d, %eax
	jle	LBB0_71
## %bb.55:                              ##   in Loop: Header=BB0_54 Depth=1
	leal	(%r14,%r14), %ecx
	leal	(,%r14,8), %edx
	movl	%edx, -124(%rbp)                ## 4-byte Spill
	testl	%r14d, %r14d
	setg	-45(%rbp)                       ## 1-byte Folded Spill
	movslq	%ecx, %rcx
	movq	%rcx, -160(%rbp)                ## 8-byte Spill
	movslq	%r14d, %rcx
	movq	%rcx, -152(%rbp)                ## 8-byte Spill
	xorl	%ebx, %ebx
	movl	%r14d, %r15d
	movq	%r14, -112(%rbp)                ## 8-byte Spill
	jmp	LBB0_59
	.p2align	4, 0x90
LBB0_56:                                ##   in Loop: Header=BB0_59 Depth=2
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_FAILED
	testq	%rax, %rax
	movq	-112(%rbp), %r14                ## 8-byte Reload
	jne	LBB0_71
LBB0_57:                                ##   in Loop: Header=BB0_59 Depth=2
	movslq	%r12d, %rax
	movq	-168(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%rax,8), %rcx
	movslq	%r13d, %rdx
	leaq	(%rcx,%rdx,8), %rdi
	movq	-80(%rbp), %rcx                 ## 8-byte Reload
	leaq	(%rcx,%rax,8), %rsi
	movl	%r14d, %edx
	subl	%eax, %edx
	shll	$3, %edx
	callq	_memcpy
LBB0_58:                                ##   in Loop: Header=BB0_59 Depth=2
	movq	-152(%rbp), %rax                ## 8-byte Reload
	movq	-176(%rbp), %rcx                ## 8-byte Reload
	leaq	(%rcx,%rax), %r15
	movslq	-44(%rbp), %rax
	movq	%rcx, %rbx
	cmpq	%rax, %r15
	jge	LBB0_71
LBB0_59:                                ##   Parent Loop BB0_54 Depth=1
                                        ## =>  This Loop Header: Depth=2
                                        ##       Child Loop BB0_62 Depth 3
	movq	-160(%rbp), %rcx                ## 8-byte Reload
	addq	%rbx, %rcx
	cltq
	movl	%eax, %r12d
	subl	%r15d, %r12d
	movq	%rcx, -176(%rbp)                ## 8-byte Spill
	cmpq	%rax, %rcx
	cmovlel	%r14d, %r12d
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	leaq	(%rax,%rbx,8), %rsi
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	movq	%rsi, -168(%rbp)                ## 8-byte Spill
	movl	-124(%rbp), %edx                ## 4-byte Reload
	callq	_memcpy
	xorl	%edx, %edx
	testl	%r14d, %r14d
	jle	LBB0_68
## %bb.60:                              ##   in Loop: Header=BB0_59 Depth=2
	movq	%rbx, -144(%rbp)                ## 8-byte Spill
	movq	%r15, %rbx
	movq	%r15, -184(%rbp)                ## 8-byte Spill
	movl	$0, %edi
	movb	-45(%rbp), %bl                  ## 1-byte Reload
	testl	%r12d, %r12d
	movq	-72(%rbp), %r8                  ## 8-byte Reload
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	jle	LBB0_69
## %bb.61:                              ##   in Loop: Header=BB0_59 Depth=2
	xorl	%edi, %edi
	xorl	%edx, %edx
	.p2align	4, 0x90
LBB0_62:                                ##   Parent Loop BB0_54 Depth=1
                                        ##     Parent Loop BB0_59 Depth=2
                                        ## =>    This Inner Loop Header: Depth=3
	movl	%r12d, %r15d
	movq	%rdx, %r12
	movslq	%edx, %r14
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	(%rax,%r14,8), %rax
	movq	(%rax), %rdx
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	%rdi, %r13
	addl	%edi, %eax
	movslq	%eax, %rbx
	movq	(%rsi,%rbx,8), %rax
	movq	(%rax), %rcx
	movq	%r8, %rdi
	movq	-88(%rbp), %rsi                 ## 8-byte Reload
	leaq	-120(%rbp), %r8
	callq	_sort_cmp
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_56
## %bb.63:                              ##   in Loop: Header=BB0_62 Depth=3
	cmpq	$0, -120(%rbp)
	js	LBB0_65
## %bb.64:                              ##   in Loop: Header=BB0_62 Depth=3
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	movq	(%rsi,%rbx,8), %rax
	movq	-144(%rbp), %rcx                ## 8-byte Reload
	movq	%r12, %rdx
	addl	%r12d, %ecx
	movq	%r13, %rdi
	addl	%edi, %ecx
	movslq	%ecx, %rcx
	movq	%rax, (%rsi,%rcx,8)
	incl	%edi
	jmp	LBB0_66
	.p2align	4, 0x90
LBB0_65:                                ##   in Loop: Header=BB0_62 Depth=3
	movq	-80(%rbp), %rax                 ## 8-byte Reload
	movq	(%rax,%r14,8), %rax
	addl	-144(%rbp), %r12d               ## 4-byte Folded Reload
	movq	%r13, %rdi
	addl	%edi, %r12d
	movslq	%r12d, %rcx
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	movq	%rax, (%rsi,%rcx,8)
	incl	%r14d
	movl	%r14d, %edx
LBB0_66:                                ##   in Loop: Header=BB0_62 Depth=3
	movq	-72(%rbp), %r8                  ## 8-byte Reload
	movq	-112(%rbp), %r14                ## 8-byte Reload
	movl	%r15d, %r12d
	cmpl	%edx, %r14d
	setg	%bl
	jle	LBB0_69
## %bb.67:                              ##   in Loop: Header=BB0_62 Depth=3
	cmpl	%r12d, %edi
	jl	LBB0_62
	jmp	LBB0_69
	.p2align	4, 0x90
LBB0_68:                                ##   in Loop: Header=BB0_59 Depth=2
	xorl	%edi, %edi
	movb	-45(%rbp), %bl                  ## 1-byte Reload
LBB0_69:                                ##   in Loop: Header=BB0_59 Depth=2
	movq	%rdx, %r12
	movq	%rdi, %r13
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_71
## %bb.70:                              ##   in Loop: Header=BB0_59 Depth=2
	testb	%bl, %bl
	jne	LBB0_57
	jmp	LBB0_58
	.p2align	4, 0x90
LBB0_71:                                ##   in Loop: Header=BB0_54 Depth=1
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_73
## %bb.72:                              ##   in Loop: Header=BB0_54 Depth=1
	addl	%r14d, %r14d
	movl	-44(%rbp), %eax
	cmpl	%eax, %r14d
	movq	-136(%rbp), %r13                ## 8-byte Reload
	jl	LBB0_54
	jmp	LBB0_74
LBB0_73:
	movq	-136(%rbp), %r13                ## 8-byte Reload
LBB0_74:
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_SUCCEEDED
	testq	%rax, %rax
	je	LBB0_80
## %bb.75:
	cmpl	$0, -44(%rbp)
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	jle	LBB0_81
## %bb.76:
	xorl	%r15d, %r15d
	.p2align	4, 0x90
LBB0_77:                                ## =>This Inner Loop Header: Depth=1
	movq	-104(%rbp), %rdi
	movq	(%rax,%r15,8), %rax
	movq	(%rax), %rdx
	movl	%r15d, %esi
	callq	_jsdisp_propput_idx
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	%rax, %rdi
	callq	_SUCCEEDED
	testq	%rax, %rax
	je	LBB0_80
## %bb.78:                              ##   in Loop: Header=BB0_77 Depth=1
	incq	%r15
	movslq	-44(%rbp), %rax
	cmpq	%rax, %r15
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	jl	LBB0_77
	jmp	LBB0_81
LBB0_80:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
LBB0_81:
	movq	-96(%rbp), %r14                 ## 8-byte Reload
LBB0_82:
	testq	%r14, %r14
	je	LBB0_87
## %bb.83:
	cmpl	$0, -44(%rbp)
	jle	LBB0_86
## %bb.84:
	xorl	%ebx, %ebx
	.p2align	4, 0x90
LBB0_85:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r14,%rbx,8), %rdi
	callq	_jsval_release
	incq	%rbx
	movslq	-44(%rbp), %rax
	cmpq	%rax, %rbx
	jl	LBB0_85
LBB0_86:
	movq	%r14, %rdi
	callq	_heap_free
	movq	-64(%rbp), %rax                 ## 8-byte Reload
LBB0_87:
	movq	%rax, %rdi
	callq	_heap_free
	movq	-88(%rbp), %rdi                 ## 8-byte Reload
	testq	%rdi, %rdi
	je	LBB0_89
## %bb.88:
	callq	_jsdisp_release
LBB0_89:
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_FAILED
	testq	%rax, %rax
	jne	LBB0_94
LBB0_90:
	testq	%r13, %r13
	je	LBB0_92
## %bb.91:
	movq	-104(%rbp), %rdi
	callq	_jsdisp_addref
	movl	%eax, %edi
	callq	_jsval_obj
	movq	%rax, (%r13)
LBB0_92:
	movq	_S_OK@GOTPCREL(%rip), %rax
LBB0_93:
	movq	(%rax), %rax
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
LBB0_94:
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	addq	$152, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_S_OK,8,3                       ## @S_OK
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"\n"

L_.str.1:                               ## @.str.1
	.asciz	"invalid arg_cnt %d\n"

	.comm	_E_FAIL,8,3                     ## @E_FAIL
L_.str.2:                               ## @.str.2
	.asciz	"arg is not dispatch\n"

	.comm	_JSCLASS_FUNCTION,4,2           ## @JSCLASS_FUNCTION
L_.str.3:                               ## @.str.3
	.asciz	"cmp_func is not a function\n"

	.comm	_DISP_E_UNKNOWNNAME,8,3         ## @DISP_E_UNKNOWNNAME
L_.str.4:                               ## @.str.4
	.asciz	"Could not get elem %d: %08x\n"

	.comm	_E_OUTOFMEMORY,8,3              ## @E_OUTOFMEMORY
	.no_dead_strip	_Array_sort
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ; -- Begin function Array_sort
lCPI0_0:
	.quad	0                               ; 0x0
	.quad	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_Array_sort:                            ; @Array_sort
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #224
	.cfi_def_cfa_offset 224
	stp	x28, x27, [sp, #128]            ; 16-byte Folded Spill
	stp	x26, x25, [sp, #144]            ; 16-byte Folded Spill
	stp	x24, x23, [sp, #160]            ; 16-byte Folded Spill
	stp	x22, x21, [sp, #176]            ; 16-byte Folded Spill
	stp	x20, x19, [sp, #192]            ; 16-byte Folded Spill
	stp	x29, x30, [sp, #208]            ; 16-byte Folded Spill
	add	x29, sp, #208
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
	mov	x25, x5
	mov	x20, x4
	mov	x23, x3
	mov	x21, x1
	mov	x22, x0
Lloh0:
	adrp	x0, l_.str@PAGE
Lloh1:
	add	x0, x0, l_.str@PAGEOFF
	bl	_TRACE
	sub	x2, x29, #88
	sub	x3, x29, #92
	mov	x0, x22
	mov	x1, x21
	bl	_get_length
	mov	x21, x0
	bl	_FAILED
	cbnz	x0, LBB0_82
; %bb.1:
	cmp	w23, #2
	b.lo	LBB0_5
; %bb.2:
	str	x23, [sp]
Lloh2:
	adrp	x0, l_.str.1@PAGE
Lloh3:
	add	x0, x0, l_.str.1@PAGEOFF
LBB0_3:
	bl	_WARN
LBB0_4:
Lloh4:
	adrp	x8, _E_FAIL@GOTPAGE
Lloh5:
	ldr	x8, [x8, _E_FAIL@GOTPAGEOFF]
	b	LBB0_81
LBB0_5:
	cmp	w23, #1
	b.ne	LBB0_11
; %bb.6:
	ldr	x0, [x20]
	bl	_is_object_instance
	cbz	w0, LBB0_21
; %bb.7:
	ldr	x0, [x20]
	bl	_get_object
	bl	_iface_to_jsdisp
	cbz	x0, LBB0_30
; %bb.8:
	mov	x19, x0
Lloh6:
	adrp	x8, _JSCLASS_FUNCTION@GOTPAGE
Lloh7:
	ldr	x8, [x8, _JSCLASS_FUNCTION@GOTPAGEOFF]
Lloh8:
	ldr	w1, [x8]
	bl	_is_class
	cbz	w0, LBB0_63
; %bb.9:
	ldur	w8, [x29, #-92]
	cbnz	w8, LBB0_13
; %bb.10:
	mov	x0, x19
	bl	_jsdisp_release
	b	LBB0_78
LBB0_11:
	ldur	w8, [x29, #-92]
	cbz	w8, LBB0_78
; %bb.12:
	mov	x19, #0
LBB0_13:
	stp	x22, x19, [sp, #88]             ; 16-byte Folded Spill
	lsl	w0, w8, #3
	bl	_heap_alloc_zero
	mov	x26, x0
Lloh9:
	adrp	x19, _E_OUTOFMEMORY@GOTPAGE
Lloh10:
	ldr	x19, [x19, _E_OUTOFMEMORY@GOTPAGEOFF]
	cbz	x0, LBB0_22
; %bb.14:
	ldur	w8, [x29, #-92]
	cmp	w8, #1
	b.lt	LBB0_23
; %bb.15:
	mov	x20, #0
	mov	x24, #0
Lloh11:
	adrp	x22, _DISP_E_UNKNOWNNAME@GOTPAGE
Lloh12:
	ldr	x22, [x22, _DISP_E_UNKNOWNNAME@GOTPAGEOFF]
Lloh13:
	adrp	x23, _S_OK@GOTPAGE
Lloh14:
	ldr	x23, [x23, _S_OK@GOTPAGEOFF]
	b	LBB0_18
LBB0_16:                                ;   in Loop: Header=BB0_18 Depth=1
	bl	_jsval_undefined
	str	x0, [x26, x24, lsl #3]
	ldr	x21, [x23]
LBB0_17:                                ;   in Loop: Header=BB0_18 Depth=1
	add	x24, x24, #1
	ldursw	x8, [x29, #-92]
	add	x20, x20, #8
	cmp	x24, x8
	b.ge	LBB0_23
LBB0_18:                                ; =>This Inner Loop Header: Depth=1
	ldur	x0, [x29, #-88]
	add	x2, x26, x20
	mov	x1, x24
	bl	_jsdisp_get_idx
	ldr	x8, [x22]
	cmp	x0, x8
	b.eq	LBB0_16
; %bb.19:                               ;   in Loop: Header=BB0_18 Depth=1
	mov	x21, x0
	bl	_FAILED
	cbz	x0, LBB0_17
; %bb.20:
	stp	x24, x21, [sp]
Lloh15:
	adrp	x0, l_.str.4@PAGE
Lloh16:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	_WARN
	b	LBB0_23
LBB0_21:
Lloh17:
	adrp	x0, l_.str.2@PAGE
Lloh18:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_3
LBB0_22:
	ldr	x21, [x19]
LBB0_23:
	mov	x0, x21
	bl	_SUCCEEDED
	cbz	x0, LBB0_25
; %bb.24:
	ldur	w8, [x29, #-92]
	lsl	w0, w8, #4
	bl	_heap_alloc
	mov	x24, x0
	ldr	x8, [x19]
	cmp	x0, #0
	csel	x21, x8, x21, eq
	b	LBB0_26
LBB0_25:
	mov	x24, #0
LBB0_26:
	mov	x0, x21
	bl	_SUCCEEDED
	cbz	x0, LBB0_70
; %bb.27:
	ldursw	x19, [x29, #-92]
	cmp	w19, #1
	b.lt	LBB0_42
; %bb.28:
	and	x8, x19, #0xffffffff
	cmp	w8, #8
	b.hs	LBB0_31
; %bb.29:
	mov	x9, #0
	b	LBB0_34
LBB0_30:
Lloh19:
	adrp	x0, l_.str.3@PAGE
Lloh20:
	add	x0, x0, l_.str.3@PAGEOFF
	b	LBB0_3
LBB0_31:
	and	x9, x8, #0xfffffff8
Lloh21:
	adrp	x10, lCPI0_0@PAGE
Lloh22:
	ldr	q0, [x10, lCPI0_0@PAGEOFF]
	add	x10, x24, #32
	dup.2d	v1, x26
	mov	w11, #48
	dup.2d	v2, x11
	mov	w11, #32
	dup.2d	v3, x11
	mov	w11, #16
	dup.2d	v4, x11
	mov	w11, #8
	dup.2d	v5, x11
	mov	x11, x9
LBB0_32:                                ; =>This Inner Loop Header: Depth=1
	shl.2d	v6, v0, #3
	add.2d	v6, v1, v6
	add.2d	v7, v6, v4
	add.2d	v16, v6, v3
	add.2d	v17, v6, v2
	stp	q6, q7, [x10, #-32]
	stp	q16, q17, [x10], #64
	add.2d	v0, v0, v5
	subs	x11, x11, #8
	b.ne	LBB0_32
; %bb.33:
	cmp	x9, x8
	b.eq	LBB0_36
LBB0_34:
	lsl	x11, x9, #3
	add	x10, x24, x11
	add	x11, x26, x11
	sub	x9, x8, x9
LBB0_35:                                ; =>This Inner Loop Header: Depth=1
	str	x11, [x10], #8
	add	x11, x11, #8
	subs	x9, x9, #1
	b.ne	LBB0_35
LBB0_36:
	cmp	w8, #2
	b.lt	LBB0_42
; %bb.37:
	mov	x20, #0
	add	x22, x24, #8
	b	LBB0_39
LBB0_38:                                ;   in Loop: Header=BB0_39 Depth=1
	add	x20, x20, #1
	ldur	w8, [x29, #-92]
	cmp	w8, #0
	cinc	w8, w8, lt
	asr	w8, w8, #1
	add	x22, x22, #16
	cmp	x20, w8, sxtw
	b.ge	LBB0_42
LBB0_39:                                ; =>This Inner Loop Header: Depth=1
	ldr	x8, [x22]
	ldr	x2, [x8]
	ldur	x8, [x22, #-8]
	ldr	x3, [x8]
	add	x4, sp, #104
	ldp	x0, x1, [sp, #88]               ; 16-byte Folded Reload
	bl	_sort_cmp
	mov	x21, x0
	bl	_FAILED
	cbnz	x0, LBB0_42
; %bb.40:                               ;   in Loop: Header=BB0_39 Depth=1
	ldr	x8, [sp, #104]
	tbz	x8, #63, LBB0_38
; %bb.41:                               ;   in Loop: Header=BB0_39 Depth=1
	ldp	x8, x9, [x22, #-8]
	stp	x9, x8, [x22, #-8]
	b	LBB0_38
LBB0_42:
	str	x25, [sp, #24]                  ; 8-byte Folded Spill
	mov	x0, x21
	bl	_SUCCEEDED
	ldur	w8, [x29, #-92]
	cmp	x0, #0
	ccmp	w8, #3, #8, ne
	b.lt	LBB0_65
; %bb.43:
	add	x25, x24, x19, lsl #3
	mov	w22, #2
	str	x26, [sp, #32]                  ; 8-byte Folded Spill
LBB0_44:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_49 Depth 2
                                        ;       Child Loop BB0_52 Depth 3
	lsl	w9, w22, #1
	cmp	w8, w22
	str	x9, [sp, #40]                   ; 8-byte Folded Spill
	b.le	LBB0_61
; %bb.45:                               ;   in Loop: Header=BB0_44 Depth=1
	mov	x26, #0
	lsl	w11, w22, #3
	cmp	w22, #0
	cset	w10, gt
	stp	w10, w11, [sp, #64]             ; 8-byte Folded Spill
	sxtw	x10, w9
	sxtw	x9, w22
	stp	x9, x10, [sp, #48]              ; 16-byte Folded Spill
	mov	x28, x22
	b	LBB0_49
LBB0_46:                                ;   in Loop: Header=BB0_49 Depth=2
	mov	x0, x21
	bl	_FAILED
	cbnz	x0, LBB0_61
LBB0_47:                                ;   in Loop: Header=BB0_49 Depth=2
	mov	x8, x23
	sbfiz	x8, x8, #3, #32
	ldr	x9, [sp, #72]                   ; 8-byte Folded Reload
	add	x9, x9, x8
	add	x0, x9, w20, sxtw #3
	add	x1, x25, x8
	sub	w8, w22, w23
	lsl	w2, w8, #3
	bl	_memcpy
LBB0_48:                                ;   in Loop: Header=BB0_49 Depth=2
	ldursw	x8, [x29, #-92]
	ldr	x9, [sp, #48]                   ; 8-byte Folded Reload
	ldr	x26, [sp, #80]                  ; 8-byte Folded Reload
	add	x28, x26, x9
	cmp	x28, x8
	b.ge	LBB0_61
LBB0_49:                                ;   Parent Loop BB0_44 Depth=1
                                        ; =>  This Loop Header: Depth=2
                                        ;       Child Loop BB0_52 Depth 3
	ldr	x9, [sp, #56]                   ; 8-byte Folded Reload
	add	x10, x26, x9
	sub	w9, w8, w28
	cmp	x10, w8, sxtw
	csel	w27, w9, w22, gt
	add	x1, x24, x26, lsl #3
	mov	x0, x25
	stp	x1, x10, [sp, #72]              ; 16-byte Folded Spill
	ldr	w2, [sp, #68]                   ; 4-byte Folded Reload
	bl	_memcpy
	mov	w23, #0
	mov	w20, #0
	cmp	w22, #1
	b.lt	LBB0_58
; %bb.50:                               ;   in Loop: Header=BB0_49 Depth=2
	ldr	w19, [sp, #64]                  ; 4-byte Folded Reload
	cmp	w27, #1
	b.lt	LBB0_59
; %bb.51:                               ;   in Loop: Header=BB0_49 Depth=2
	mov	w20, #0
	mov	w23, #0
LBB0_52:                                ;   Parent Loop BB0_44 Depth=1
                                        ;     Parent Loop BB0_49 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	ldr	x8, [x25, w23, sxtw #3]
	ldr	x2, [x8]
	add	w19, w20, w28
	ldr	x8, [x24, w19, sxtw #3]
	ldr	x3, [x8]
	add	x4, sp, #104
	ldp	x0, x1, [sp, #88]               ; 16-byte Folded Reload
	bl	_sort_cmp
	mov	x21, x0
	bl	_FAILED
	cbnz	x0, LBB0_46
; %bb.53:                               ;   in Loop: Header=BB0_52 Depth=3
	ldr	x8, [sp, #104]
	tbnz	x8, #63, LBB0_55
; %bb.54:                               ;   in Loop: Header=BB0_52 Depth=3
	sxtw	x8, w19
	ldr	x8, [x24, x8, lsl #3]
	add	w9, w23, w26
	add	w9, w9, w20
	str	x8, [x24, w9, sxtw #3]
	add	w20, w20, #1
	b	LBB0_56
LBB0_55:                                ;   in Loop: Header=BB0_52 Depth=3
	sxtw	x8, w23
	ldr	x8, [x25, x8, lsl #3]
	add	w9, w23, w26
	add	w9, w9, w20
	str	x8, [x24, w9, sxtw #3]
	add	w23, w23, #1
LBB0_56:                                ;   in Loop: Header=BB0_52 Depth=3
	cmp	w22, w23
	cset	w19, gt
	b.le	LBB0_59
; %bb.57:                               ;   in Loop: Header=BB0_52 Depth=3
	cmp	w20, w27
	b.lt	LBB0_52
	b	LBB0_59
LBB0_58:                                ;   in Loop: Header=BB0_49 Depth=2
	ldr	w19, [sp, #64]                  ; 4-byte Folded Reload
LBB0_59:                                ;   in Loop: Header=BB0_49 Depth=2
	mov	x0, x21
	bl	_FAILED
	cbnz	x0, LBB0_61
; %bb.60:                               ;   in Loop: Header=BB0_49 Depth=2
	cbnz	w19, LBB0_47
	b	LBB0_48
LBB0_61:                                ;   in Loop: Header=BB0_44 Depth=1
	mov	x0, x21
	bl	_FAILED
	cbnz	x0, LBB0_64
; %bb.62:                               ;   in Loop: Header=BB0_44 Depth=1
	ldur	w8, [x29, #-92]
	ldp	x26, x9, [sp, #32]              ; 16-byte Folded Reload
	mov	x22, x9
	cmp	w9, w8
	b.lt	LBB0_44
	b	LBB0_65
LBB0_63:
Lloh23:
	adrp	x0, l_.str.3@PAGE
Lloh24:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	_WARN
	mov	x0, x19
	bl	_jsdisp_release
	b	LBB0_4
LBB0_64:
	ldr	x26, [sp, #32]                  ; 8-byte Folded Reload
LBB0_65:
	mov	x0, x21
	bl	_SUCCEEDED
	cbz	x0, LBB0_69
; %bb.66:
	ldur	w8, [x29, #-92]
	cmp	w8, #1
	ldr	x25, [sp, #24]                  ; 8-byte Folded Reload
	b.lt	LBB0_70
; %bb.67:
	mov	x22, #0
LBB0_68:                                ; =>This Inner Loop Header: Depth=1
	ldur	x0, [x29, #-88]
	ldr	x8, [x24, x22, lsl #3]
	ldr	x2, [x8]
	mov	x1, x22
	bl	_jsdisp_propput_idx
	mov	x21, x0
	add	x22, x22, #1
	bl	_SUCCEEDED
	ldursw	x8, [x29, #-92]
	cmp	x0, #0
	ccmp	x22, x8, #0, ne
	b.lt	LBB0_68
	b	LBB0_70
LBB0_69:
	ldr	x25, [sp, #24]                  ; 8-byte Folded Reload
LBB0_70:
	cbz	x26, LBB0_75
; %bb.71:
	ldur	w8, [x29, #-92]
	cmp	w8, #1
	b.lt	LBB0_74
; %bb.72:
	mov	x19, #0
LBB0_73:                                ; =>This Inner Loop Header: Depth=1
	ldr	x0, [x26, x19, lsl #3]
	bl	_jsval_release
	add	x19, x19, #1
	ldursw	x8, [x29, #-92]
	cmp	x19, x8
	b.lt	LBB0_73
LBB0_74:
	mov	x0, x26
	bl	_heap_free
LBB0_75:
	mov	x0, x24
	bl	_heap_free
	ldr	x0, [sp, #96]                   ; 8-byte Folded Reload
	cbz	x0, LBB0_77
; %bb.76:
	bl	_jsdisp_release
LBB0_77:
	mov	x0, x21
	bl	_FAILED
	cbnz	x0, LBB0_82
LBB0_78:
	cbz	x25, LBB0_80
; %bb.79:
	ldur	x0, [x29, #-88]
	bl	_jsdisp_addref
	bl	_jsval_obj
	str	x0, [x25]
LBB0_80:
Lloh25:
	adrp	x8, _S_OK@GOTPAGE
Lloh26:
	ldr	x8, [x8, _S_OK@GOTPAGEOFF]
LBB0_81:
	ldr	x21, [x8]
LBB0_82:
	mov	x0, x21
	ldp	x29, x30, [sp, #208]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #192]            ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #176]            ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #160]            ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #144]            ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #128]            ; 16-byte Folded Reload
	add	sp, sp, #224
	ret
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpLdr	Lloh21, Lloh22
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh25, Lloh26
	.cfi_endproc
                                        ; -- End function
	.comm	_S_OK,8,3                       ; @S_OK
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"\n"

l_.str.1:                               ; @.str.1
	.asciz	"invalid arg_cnt %d\n"

	.comm	_E_FAIL,8,3                     ; @E_FAIL
l_.str.2:                               ; @.str.2
	.asciz	"arg is not dispatch\n"

	.comm	_JSCLASS_FUNCTION,4,2           ; @JSCLASS_FUNCTION
l_.str.3:                               ; @.str.3
	.asciz	"cmp_func is not a function\n"

	.comm	_DISP_E_UNKNOWNNAME,8,3         ; @DISP_E_UNKNOWNNAME
l_.str.4:                               ; @.str.4
	.asciz	"Could not get elem %d: %08x\n"

	.comm	_E_OUTOFMEMORY,8,3              ; @E_OUTOFMEMORY
	.no_dead_strip	_Array_sort
.subsections_via_symbols
