	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function gxTextureWritePNG
LCPI0_0:
	.long	0                               ## 0x0
	.long	4                               ## 0x4
	.space	4
	.space	4
LCPI0_1:
	.long	0                               ## 0x0
	.long	1                               ## 0x1
	.space	4
	.space	4
LCPI0_2:
	.long	8                               ## 0x8
	.long	8                               ## 0x8
	.space	4
	.space	4
LCPI0_3:
	.long	16                              ## 0x10
	.long	16                              ## 0x10
	.space	4
	.space	4
LCPI0_4:
	.long	24                              ## 0x18
	.long	24                              ## 0x18
	.space	4
	.space	4
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_gxTextureWritePNG
	.p2align	4, 0x90
_gxTextureWritePNG:                     ## @gxTextureWritePNG
	.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	$56, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %rbx
	movq	%rdi, %r14
	movl	(%rdi), %esi
	imull	4(%rdi), %esi
	shll	$2, %esi
	movl	$32, %edi
	callq	_memalign
	testq	%rax, %rax
	je	LBB0_29
## %bb.1:
	movq	%rbx, -80(%rbp)                 ## 8-byte Spill
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movl	4(%r14), %ebx
	testl	%ebx, %ebx
	movq	%r14, -72(%rbp)                 ## 8-byte Spill
	jle	LBB0_8
## %bb.2:
	movslq	(%r14), %r15
	movq	-56(%rbp), %r11                 ## 8-byte Reload
	leaq	(%r11,%r15,4), %r12
	leaq	(%r12,%r15,4), %r13
	leaq	(,%r15,4), %r8
	addq	%r13, %r8
	movq	8(%r14), %rdx
	leaq	32(%rdx), %rsi
	xorl	%ecx, %ecx
	jmp	LBB0_3
	.p2align	4, 0x90
LBB0_7:                                 ##   in Loop: Header=BB0_3 Depth=1
	movq	%r8, %r11
	movslq	%r15d, %rax
	leaq	(%r8,%rax,4), %r12
	leaq	(%r12,%rax,4), %r13
	leaq	(,%rax,4), %r8
	addq	%r13, %r8
	addl	$4, %ecx
	cmpl	%ebx, %ecx
	jge	LBB0_8
LBB0_3:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_5 Depth 2
	testl	%r15d, %r15d
	jle	LBB0_7
## %bb.4:                               ##   in Loop: Header=BB0_3 Depth=1
	movl	%ecx, -64(%rbp)                 ## 4-byte Spill
	xorl	%edi, %edi
	xorl	%r14d, %r14d
	movq	%rsi, %r10
	movq	%rdx, %r9
	.p2align	4, 0x90
LBB0_5:                                 ##   Parent Loop BB0_3 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	movq	%r9, -96(%rbp)                  ## 8-byte Spill
	movq	%r10, -88(%rbp)                 ## 8-byte Spill
	movl	(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, (%r11,%rdi)
	movl	4(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	4(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 4(%r11,%rdi)
	movl	8(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	8(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 8(%r11,%rdi)
	movl	12(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	12(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 12(%r11,%rdi)
	movl	16(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	16(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, (%r12,%rdi)
	movl	20(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	20(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 4(%r12,%rdi)
	movl	24(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	24(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 8(%r12,%rdi)
	movl	28(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	28(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 12(%r12,%rdi)
	movl	32(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	32(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, (%r13,%rdi)
	movl	36(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	36(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 4(%r13,%rdi)
	movl	40(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	40(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 8(%r13,%rdi)
	movl	44(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	44(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 12(%r13,%rdi)
	movl	48(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	48(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, (%r8,%rdi)
	movl	52(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	52(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 4(%r8,%rdi)
	movl	56(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	56(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 8(%r8,%rdi)
	movl	60(%rdx,%rdi,8), %eax
	movzbl	%ah, %ecx
	shll	$24, %eax
	movl	60(%rsi,%rdi,8), %ebx
	shll	$8, %ebx
	orl	%eax, %ebx
	orl	%ebx, %ecx
	movl	%ecx, 12(%r8,%rdi)
	movq	-72(%rbp), %rax                 ## 8-byte Reload
	addl	$4, %r14d
	movl	(%rax), %r15d
	leaq	(%rdx,%rdi,8), %r9
	addq	$128, %r9
	leaq	(%rsi,%rdi,8), %r10
	addq	$128, %r10
	addq	$16, %rdi
	cmpl	%r15d, %r14d
	jl	LBB0_5
## %bb.6:                               ##   in Loop: Header=BB0_3 Depth=1
	movq	-96(%rbp), %rdx                 ## 8-byte Reload
	subq	$-128, %rdx
	movq	-88(%rbp), %rsi                 ## 8-byte Reload
	subq	$-128, %rsi
	movl	4(%rax), %ebx
	addq	%rdi, %r8
	movl	-64(%rbp), %ecx                 ## 4-byte Reload
	jmp	LBB0_7
LBB0_8:
	movq	_PNG_LIBPNG_VER_STRING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	callq	_png_create_write_struct
	movl	%eax, -44(%rbp)
	testl	%eax, %eax
	je	LBB0_9
## %bb.10:
	movl	%eax, %r12d
	movl	%eax, %edi
	callq	_png_create_info_struct
	movl	%eax, -60(%rbp)
	testl	%eax, %eax
	je	LBB0_11
## %bb.12:
	movl	%eax, %r14d
	movl	%r12d, %edi
	movq	-80(%rbp), %rsi                 ## 8-byte Reload
	callq	_png_init_io
	movq	-72(%rbp), %rbx                 ## 8-byte Reload
	movl	(%rbx), %edx
	movl	4(%rbx), %ecx
	movq	_PNG_COLOR_TYPE_RGB_ALPHA@GOTPCREL(%rip), %rax
	movl	(%rax), %r9d
	movq	_PNG_INTERLACE_NONE@GOTPCREL(%rip), %rax
	movl	(%rax), %r10d
	movq	_PNG_COMPRESSION_TYPE_DEFAULT@GOTPCREL(%rip), %rsi
	movl	(%rsi), %r11d
	movq	_PNG_FILTER_TYPE_DEFAULT@GOTPCREL(%rip), %rsi
	movl	(%rsi), %eax
	subq	$8, %rsp
	movl	%r12d, %edi
	movl	%r14d, %esi
	movl	$8, %r8d
	pushq	%rax
	pushq	%r11
	pushq	%r10
	callq	_png_set_IHDR
	addq	$32, %rsp
	movl	4(%rbx), %esi
	shll	$3, %esi
	movl	$32, %edi
	callq	_memalign
	testq	%rax, %rax
	je	LBB0_30
## %bb.13:
	movq	%rax, %r15
	movl	4(%rbx), %eax
	testl	%eax, %eax
	movq	-56(%rbp), %r13                 ## 8-byte Reload
	jle	LBB0_26
## %bb.14:
	movl	(%rbx), %ecx
	cmpl	$4, %eax
	jae	LBB0_16
## %bb.15:
	xorl	%edx, %edx
	jmp	LBB0_24
LBB0_9:
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_free
	jmp	LBB0_29
LBB0_11:
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	callq	_free
	leaq	-44(%rbp), %rdi
	xorl	%esi, %esi
	jmp	LBB0_28
LBB0_30:
	movq	-56(%rbp), %rdi                 ## 8-byte Reload
	jmp	LBB0_27
LBB0_16:
	movl	%eax, %edx
	andl	$-4, %edx
	movd	%ecx, %xmm0
	pshufd	$80, %xmm0, %xmm0               ## xmm0 = xmm0[0,0,1,1]
	leaq	-4(%rdx), %rsi
	movq	%rsi, %r8
	shrq	$2, %r8
	incq	%r8
	movq	%r13, %xmm8
	testq	%rsi, %rsi
	je	LBB0_17
## %bb.18:
	movq	%r8, %rdi
	andq	$-2, %rdi
	movdqa	LCPI0_1(%rip), %xmm2            ## xmm2 = <0,1,u,u>
	xorl	%esi, %esi
	movdqa	LCPI0_2(%rip), %xmm3            ## xmm3 = <8,8,u,u>
	pshufd	$68, %xmm8, %xmm4               ## xmm4 = xmm8[0,1,0,1]
	movdqa	LCPI0_3(%rip), %xmm9            ## xmm9 = <16,16,u,u>
	movdqa	LCPI0_4(%rip), %xmm6            ## xmm6 = <24,24,u,u>
	.p2align	4, 0x90
LBB0_19:                                ## =>This Inner Loop Header: Depth=1
	movdqa	%xmm2, %xmm7
	pslld	$2, %xmm7
	movdqa	%xmm7, %xmm1
	paddd	%xmm3, %xmm1
	movdqa	%xmm7, %xmm5
	pmulld	%xmm0, %xmm5
	pmulld	%xmm0, %xmm1
	pmovsxdq	%xmm5, %xmm5
	pmovsxdq	%xmm1, %xmm1
	psllq	$3, %xmm5
	paddq	%xmm4, %xmm5
	psllq	$3, %xmm1
	paddq	%xmm4, %xmm1
	movdqu	%xmm5, (%r15,%rsi,8)
	movdqu	%xmm1, 16(%r15,%rsi,8)
	movdqa	%xmm7, %xmm1
	paddd	%xmm9, %xmm1
	paddd	%xmm6, %xmm7
	pmulld	%xmm0, %xmm1
	pmulld	%xmm0, %xmm7
	pmovsxdq	%xmm1, %xmm1
	pmovsxdq	%xmm7, %xmm5
	psllq	$3, %xmm1
	paddq	%xmm4, %xmm1
	psllq	$3, %xmm5
	paddq	%xmm4, %xmm5
	movdqu	%xmm1, 32(%r15,%rsi,8)
	movdqu	%xmm5, 48(%r15,%rsi,8)
	addq	$8, %rsi
	paddd	%xmm3, %xmm2
	addq	$-2, %rdi
	jne	LBB0_19
## %bb.20:
	pslld	$2, %xmm2
	testb	$1, %r8b
	je	LBB0_23
LBB0_22:
	movdqa	LCPI0_2(%rip), %xmm1            ## xmm1 = <8,8,u,u>
	paddd	%xmm2, %xmm1
	pmulld	%xmm0, %xmm2
	pmulld	%xmm0, %xmm1
	pmovsxdq	%xmm2, %xmm0
	pmovsxdq	%xmm1, %xmm1
	psllq	$3, %xmm0
	pshufd	$68, %xmm8, %xmm2               ## xmm2 = xmm8[0,1,0,1]
	paddq	%xmm2, %xmm0
	psllq	$3, %xmm1
	paddq	%xmm2, %xmm1
	movdqu	%xmm0, (%r15,%rsi,8)
	movdqu	%xmm1, 16(%r15,%rsi,8)
LBB0_23:
	cmpq	%rax, %rdx
	je	LBB0_26
LBB0_24:
	movl	%ecx, %esi
	imull	%edx, %esi
	shll	$2, %esi
	shll	$2, %ecx
	.p2align	4, 0x90
LBB0_25:                                ## =>This Inner Loop Header: Depth=1
	movslq	%esi, %rsi
	leaq	(,%rsi,8), %rdi
	addq	%r13, %rdi
	movq	%rdi, (%r15,%rdx,8)
	incq	%rdx
	addl	%ecx, %esi
	cmpq	%rdx, %rax
	jne	LBB0_25
LBB0_26:
	movl	%r12d, %edi
	movl	%r14d, %esi
	movq	%r15, %rdx
	callq	_png_set_rows
	movq	_PNG_TRANSFORM_IDENTITY@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movl	%r12d, %edi
	movl	%r14d, %esi
	xorl	%ecx, %ecx
	callq	_png_write_png
	movl	%r12d, %edi
	xorl	%esi, %esi
	callq	_png_write_end
	movq	%r15, %rdi
	callq	_free
	movq	%r13, %rdi
LBB0_27:
	callq	_free
	leaq	-44(%rbp), %rdi
	leaq	-60(%rbp), %rsi
LBB0_28:
	callq	_png_destroy_write_struct
LBB0_29:
	addq	$56, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_17:
	movdqa	LCPI0_0(%rip), %xmm2            ## xmm2 = <0,4,u,u>
	xorl	%esi, %esi
	testb	$1, %r8b
	jne	LBB0_22
	jmp	LBB0_23
	.cfi_endproc
                                        ## -- End function
	.comm	_PNG_LIBPNG_VER_STRING,4,2      ## @PNG_LIBPNG_VER_STRING
	.comm	_PNG_COLOR_TYPE_RGB_ALPHA,4,2   ## @PNG_COLOR_TYPE_RGB_ALPHA
	.comm	_PNG_INTERLACE_NONE,4,2         ## @PNG_INTERLACE_NONE
	.comm	_PNG_COMPRESSION_TYPE_DEFAULT,4,2 ## @PNG_COMPRESSION_TYPE_DEFAULT
	.comm	_PNG_FILTER_TYPE_DEFAULT,4,2    ## @PNG_FILTER_TYPE_DEFAULT
	.comm	_PNG_TRANSFORM_IDENTITY,4,2     ## @PNG_TRANSFORM_IDENTITY
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal8,8byte_literals
	.p2align	3                               ; -- Begin function gxTextureWritePNG
lCPI0_0:
	.long	0                               ; 0x0
	.long	1                               ; 0x1
	.section	__TEXT,__text,regular,pure_instructions
	.globl	_gxTextureWritePNG
	.p2align	2
_gxTextureWritePNG:                     ; @gxTextureWritePNG
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #80
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	mov	x21, x1
	mov	x20, x0
	ldp	w8, w9, [x0]
	mul	w8, w8, w9
	lsl	w1, w8, #2
	mov	w0, #32
	bl	_memalign
	cbz	x0, LBB0_24
; %bb.1:
	mov	x19, x0
	ldr	w15, [x20, #4]
	cmp	w15, #1
	b.lt	LBB0_8
; %bb.2:
	mov	w8, #0
	ldrsw	x16, [x20]
	lsl	x9, x16, #2
	add	x11, x19, x9
	add	x12, x11, x9
	add	x13, x12, x9
	ldr	x9, [x20, #8]
	add	x10, x9, #32
                                        ; kill: def $w16 killed $w16 killed $x16 def $x16
	mov	x14, x19
	b	LBB0_4
LBB0_3:                                 ;   in Loop: Header=BB0_4 Depth=1
	mov	x14, x13
	sbfiz	x13, x16, #2, #32
	add	x11, x14, x13
	add	x12, x11, x13
	add	x13, x12, x13
	add	w8, w8, #4
	cmp	w8, w15
	b.ge	LBB0_8
LBB0_4:                                 ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_6 Depth 2
	cmp	w16, #1
	b.lt	LBB0_3
; %bb.5:                                ;   in Loop: Header=BB0_4 Depth=1
	mov	x15, #0
LBB0_6:                                 ;   Parent Loop BB0_4 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	lsl	x17, x15, #2
	add	x16, x12, x17
	add	x0, x11, x17
	add	x17, x14, x17
	ldr	w1, [x9]
	ldr	w2, [x10]
	lsl	w2, w2, #8
	orr	w2, w2, w1, lsl #24
	bfxil	w2, w1, #8, #8
	str	w2, [x17]
	ldr	w1, [x9, #4]
	ldr	w2, [x10, #4]
	lsl	w2, w2, #8
	orr	w2, w2, w1, lsl #24
	bfxil	w2, w1, #8, #8
	str	w2, [x17, #4]
	ldr	w1, [x9, #8]
	ldr	w2, [x10, #8]
	lsl	w2, w2, #8
	orr	w2, w2, w1, lsl #24
	bfxil	w2, w1, #8, #8
	str	w2, [x17, #8]
	ldr	w1, [x9, #12]
	ldr	w2, [x10, #12]
	lsl	w2, w2, #8
	orr	w2, w2, w1, lsl #24
	bfxil	w2, w1, #8, #8
	str	w2, [x17, #12]
	ldr	w17, [x9, #16]
	ldr	w1, [x10, #16]
	lsl	w1, w1, #8
	orr	w1, w1, w17, lsl #24
	bfxil	w1, w17, #8, #8
	str	w1, [x0]
	ldr	w17, [x9, #20]
	ldr	w1, [x10, #20]
	lsl	w1, w1, #8
	orr	w1, w1, w17, lsl #24
	bfxil	w1, w17, #8, #8
	str	w1, [x0, #4]
	ldr	w17, [x9, #24]
	ldr	w1, [x10, #24]
	lsl	w1, w1, #8
	orr	w1, w1, w17, lsl #24
	bfxil	w1, w17, #8, #8
	str	w1, [x0, #8]
	ldr	w17, [x9, #28]
	ldr	w1, [x10, #28]
	lsl	w1, w1, #8
	orr	w1, w1, w17, lsl #24
	bfxil	w1, w17, #8, #8
	str	w1, [x0, #12]
	ldr	w17, [x9, #32]
	ldr	w0, [x10, #32]
	lsl	w0, w0, #8
	orr	w0, w0, w17, lsl #24
	bfxil	w0, w17, #8, #8
	str	w0, [x16]
	ldr	w17, [x9, #36]
	ldr	w0, [x10, #36]
	lsl	w0, w0, #8
	orr	w0, w0, w17, lsl #24
	bfxil	w0, w17, #8, #8
	str	w0, [x16, #4]
	ldr	w17, [x9, #40]
	ldr	w0, [x10, #40]
	lsl	w0, w0, #8
	orr	w0, w0, w17, lsl #24
	bfxil	w0, w17, #8, #8
	str	w0, [x16, #8]
	ldr	w17, [x9, #44]
	ldr	w0, [x10, #44]
	lsl	w0, w0, #8
	orr	w0, w0, w17, lsl #24
	bfxil	w0, w17, #8, #8
	str	w0, [x16, #12]
	ldr	w16, [x9, #48]
	ldr	w17, [x10, #48]
	lsl	w17, w17, #8
	orr	w17, w17, w16, lsl #24
	bfxil	w17, w16, #8, #8
	str	w17, [x13]
	ldr	w16, [x9, #52]
	ldr	w17, [x10, #52]
	lsl	w17, w17, #8
	orr	w17, w17, w16, lsl #24
	bfxil	w17, w16, #8, #8
	str	w17, [x13, #4]
	ldr	w16, [x9, #56]
	ldr	w17, [x10, #56]
	lsl	w17, w17, #8
	orr	w17, w17, w16, lsl #24
	bfxil	w17, w16, #8, #8
	str	w17, [x13, #8]
	ldr	w16, [x9, #60]
	ldr	w17, [x10, #60]
	lsl	w17, w17, #8
	orr	w0, w17, w16, lsl #24
	bfxil	w0, w16, #8, #8
	add	x17, x13, #16
	str	w0, [x13, #12]
	add	x9, x9, #128
	add	x10, x10, #128
	ldr	w16, [x20]
	add	x15, x15, #4
	mov	x13, x17
	cmp	w15, w16
	b.lt	LBB0_6
; %bb.7:                                ;   in Loop: Header=BB0_4 Depth=1
	ldr	w15, [x20, #4]
	mov	x13, x17
	b	LBB0_3
LBB0_8:
Lloh0:
	adrp	x8, _PNG_LIBPNG_VER_STRING@GOTPAGE
Lloh1:
	ldr	x8, [x8, _PNG_LIBPNG_VER_STRING@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
	mov	x1, #0
	mov	x2, #0
	mov	x3, #0
	bl	_png_create_write_struct
	str	w0, [sp, #12]
	cbz	w0, LBB0_14
; %bb.9:
	mov	x22, x0
	bl	_png_create_info_struct
	str	w0, [sp, #8]
	cbz	w0, LBB0_15
; %bb.10:
	mov	x23, x0
	mov	x0, x22
	mov	x1, x21
	bl	_png_init_io
	ldp	w2, w3, [x20]
Lloh3:
	adrp	x8, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGE
Lloh4:
	ldr	x8, [x8, _PNG_COLOR_TYPE_RGB_ALPHA@GOTPAGEOFF]
Lloh5:
	ldr	w5, [x8]
Lloh6:
	adrp	x8, _PNG_INTERLACE_NONE@GOTPAGE
Lloh7:
	ldr	x8, [x8, _PNG_INTERLACE_NONE@GOTPAGEOFF]
Lloh8:
	ldr	w6, [x8]
Lloh9:
	adrp	x8, _PNG_COMPRESSION_TYPE_DEFAULT@GOTPAGE
Lloh10:
	ldr	x8, [x8, _PNG_COMPRESSION_TYPE_DEFAULT@GOTPAGEOFF]
Lloh11:
	ldr	w7, [x8]
Lloh12:
	adrp	x8, _PNG_FILTER_TYPE_DEFAULT@GOTPAGE
Lloh13:
	ldr	x8, [x8, _PNG_FILTER_TYPE_DEFAULT@GOTPAGEOFF]
Lloh14:
	ldr	w8, [x8]
	str	w8, [sp]
	mov	x0, x22
	mov	x1, x23
	mov	w4, #8
	bl	_png_set_IHDR
	ldr	w8, [x20, #4]
	lsl	w1, w8, #3
	mov	w0, #32
	bl	_memalign
	cbz	x0, LBB0_22
; %bb.11:
	mov	x21, x0
	ldr	w8, [x20, #4]
	cmp	w8, #1
	b.lt	LBB0_21
; %bb.12:
	ldr	w9, [x20]
	cmp	w8, #8
	b.hs	LBB0_16
; %bb.13:
	mov	x10, #0
	b	LBB0_19
LBB0_14:
	mov	x0, x19
	bl	_free
	b	LBB0_24
LBB0_15:
	mov	x0, x19
	bl	_free
	add	x0, sp, #12
	mov	x1, #0
	b	LBB0_23
LBB0_16:
	and	x10, x8, #0xfffffff8
	dup.2s	v0, w9
Lloh15:
	adrp	x11, lCPI0_0@PAGE
Lloh16:
	ldr	d1, [x11, lCPI0_0@PAGEOFF]
	add	x11, x21, #32
	movi.2s	v2, #8
	movi.2s	v3, #16
	movi.2s	v4, #24
	dup.2d	v5, x19
	mov	x12, x10
LBB0_17:                                ; =>This Inner Loop Header: Depth=1
	shl.2s	v6, v1, #2
	add.2s	v7, v6, v2
	add.2s	v16, v6, v3
	add.2s	v17, v6, v4
	mul.2s	v6, v6, v0
	mul.2s	v7, v7, v0
	mul.2s	v16, v16, v0
	mul.2s	v17, v17, v0
	sshll.2d	v6, v6, #3
	add.2d	v6, v5, v6
	sshll.2d	v7, v7, #3
	add.2d	v7, v5, v7
	sshll.2d	v16, v16, #3
	add.2d	v16, v5, v16
	sshll.2d	v17, v17, #3
	add.2d	v17, v5, v17
	stp	q6, q7, [x11, #-32]
	stp	q16, q17, [x11], #64
	add.2s	v1, v1, v2
	subs	x12, x12, #8
	b.ne	LBB0_17
; %bb.18:
	cmp	x10, x8
	b.eq	LBB0_21
LBB0_19:
	mul	w11, w9, w10
	lsl	w11, w11, #2
	lsl	w9, w9, #2
	add	x12, x21, x10, lsl #3
	sub	x8, x8, x10
LBB0_20:                                ; =>This Inner Loop Header: Depth=1
	add	x10, x19, w11, sxtw #3
	str	x10, [x12], #8
	add	w11, w11, w9
	subs	x8, x8, #1
	b.ne	LBB0_20
LBB0_21:
	mov	x0, x22
	mov	x1, x23
	mov	x2, x21
	bl	_png_set_rows
Lloh17:
	adrp	x8, _PNG_TRANSFORM_IDENTITY@GOTPAGE
Lloh18:
	ldr	x8, [x8, _PNG_TRANSFORM_IDENTITY@GOTPAGEOFF]
Lloh19:
	ldr	w2, [x8]
	mov	x0, x22
	mov	x1, x23
	mov	x3, #0
	bl	_png_write_png
	mov	x0, x22
	mov	x1, #0
	bl	_png_write_end
	mov	x0, x21
	bl	_free
LBB0_22:
	mov	x0, x19
	bl	_free
	add	x0, sp, #12
	add	x1, sp, #8
LBB0_23:
	bl	_png_destroy_write_struct
LBB0_24:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #80
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdr	Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.cfi_endproc
                                        ; -- End function
	.comm	_PNG_LIBPNG_VER_STRING,4,2      ; @PNG_LIBPNG_VER_STRING
	.comm	_PNG_COLOR_TYPE_RGB_ALPHA,4,2   ; @PNG_COLOR_TYPE_RGB_ALPHA
	.comm	_PNG_INTERLACE_NONE,4,2         ; @PNG_INTERLACE_NONE
	.comm	_PNG_COMPRESSION_TYPE_DEFAULT,4,2 ; @PNG_COMPRESSION_TYPE_DEFAULT
	.comm	_PNG_FILTER_TYPE_DEFAULT,4,2    ; @PNG_FILTER_TYPE_DEFAULT
	.comm	_PNG_TRANSFORM_IDENTITY,4,2     ; @PNG_TRANSFORM_IDENTITY
.subsections_via_symbols
