	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.section	__TEXT,__literal16,16byte_literals
	.p2align	4                               ## -- Begin function draw_texture_rotate_hotspot_generic
LCPI0_0:
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.long	0x80000000                      ## float -0
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	4, 0x90
_draw_texture_rotate_hotspot_generic:   ## @draw_texture_rotate_hotspot_generic
	.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	%rbx
	subq	$88, %rsp
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movaps	%xmm4, -80(%rbp)                ## 16-byte Spill
	movaps	%xmm3, -64(%rbp)                ## 16-byte Spill
	movss	%xmm2, -32(%rbp)                ## 4-byte Spill
	movss	%xmm1, -40(%rbp)                ## 4-byte Spill
	movss	%xmm0, -36(%rbp)                ## 4-byte Spill
	movq	%rdi, %r14
	movl	$80, %edi
	movl	$20, %esi
	callq	_vita2d_pool_memalign
	movq	%rax, %rbx
	movq	%r14, %rdi
	callq	_vita2d_texture_get_width
	movss	%xmm0, -28(%rbp)                ## 4-byte Spill
	movq	%r14, %rdi
	callq	_vita2d_texture_get_height
	movaps	LCPI0_0(%rip), %xmm2            ## xmm2 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	movaps	-80(%rbp), %xmm3                ## 16-byte Reload
	movaps	%xmm3, %xmm1
	xorps	%xmm2, %xmm1
	movaps	%xmm1, -96(%rbp)                ## 16-byte Spill
	movq	$1056964608, 8(%rbx)            ## imm = 0x3F000000
	movl	$0, 16(%rbx)
	movaps	-64(%rbp), %xmm1                ## 16-byte Reload
	movss	-28(%rbp), %xmm4                ## 4-byte Reload
                                        ## xmm4 = mem[0],zero,zero,zero
	subss	%xmm1, %xmm4
	movss	%xmm4, -28(%rbp)                ## 4-byte Spill
	xorps	%xmm2, %xmm1
	movaps	%xmm1, -64(%rbp)                ## 16-byte Spill
	movabsq	$4575657222465388544, %rax      ## imm = 0x3F8000003F000000
	movq	%rax, 28(%rbx)
	movl	$0, 36(%rbx)
	subss	%xmm3, %xmm0
	movaps	%xmm0, -112(%rbp)               ## 16-byte Spill
	movq	$1056964608, 48(%rbx)           ## imm = 0x3F000000
	movl	$1065353216, 56(%rbx)           ## imm = 0x3F800000
	movq	%rax, 68(%rbx)
	movl	$1065353216, 76(%rbx)           ## imm = 0x3F800000
	movss	-32(%rbp), %xmm0                ## 4-byte Reload
                                        ## xmm0 = mem[0],zero,zero,zero
	callq	___sincosf_stret
	movshdup	%xmm0, %xmm8                    ## xmm8 = xmm0[1,1,3,3]
	movaps	-80(%rbp), %xmm4                ## 16-byte Reload
	mulss	%xmm0, %xmm4
	movaps	-64(%rbp), %xmm1                ## 16-byte Reload
	movaps	%xmm1, %xmm2
	mulss	%xmm8, %xmm2
	movaps	%xmm2, %xmm3
	addss	%xmm4, %xmm3
	movaps	%xmm4, %xmm7
	movss	-36(%rbp), %xmm5                ## 4-byte Reload
                                        ## xmm5 = mem[0],zero,zero,zero
	addss	%xmm5, %xmm3
	movss	%xmm3, (%rbx)
	movaps	-96(%rbp), %xmm9                ## 16-byte Reload
	mulss	%xmm8, %xmm9
	mulss	%xmm0, %xmm1
	movaps	%xmm1, %xmm3
	addss	%xmm9, %xmm3
	movss	-40(%rbp), %xmm4                ## 4-byte Reload
                                        ## xmm4 = mem[0],zero,zero,zero
	addss	%xmm4, %xmm3
	movss	%xmm3, 4(%rbx)
	movss	-28(%rbp), %xmm6                ## 4-byte Reload
                                        ## xmm6 = mem[0],zero,zero,zero
	movaps	%xmm6, %xmm3
	mulss	%xmm8, %xmm3
	addss	%xmm3, %xmm7
	addss	%xmm5, %xmm7
	movss	%xmm7, 20(%rbx)
	mulss	%xmm0, %xmm6
	movaps	%xmm9, %xmm7
	addss	%xmm6, %xmm7
	addss	%xmm4, %xmm7
	movss	%xmm7, 24(%rbx)
	movaps	LCPI0_0(%rip), %xmm7            ## xmm7 = [-0.0E+0,-0.0E+0,-0.0E+0,-0.0E+0]
	movaps	-112(%rbp), %xmm9               ## 16-byte Reload
	xorps	%xmm9, %xmm7
	mulss	%xmm0, %xmm7
	addss	%xmm7, %xmm2
	addss	%xmm5, %xmm2
	movss	%xmm2, 40(%rbx)
	movaps	%xmm9, %xmm0
	mulss	%xmm8, %xmm0
	addss	%xmm0, %xmm1
	addss	%xmm4, %xmm1
	movss	%xmm1, 44(%rbx)
	addss	%xmm3, %xmm7
	addss	%xmm5, %xmm7
	movss	%xmm7, 60(%rbx)
	addss	%xmm6, %xmm0
	addss	%xmm4, %xmm0
	movss	%xmm0, 64(%rbx)
	movq	__vita2d_context@GOTPCREL(%rip), %r15
	movl	(%r15), %edi
	xorl	%esi, %esi
	movq	%r14, %rdx
	callq	_sceGxmSetFragmentTexture
	movl	(%r15), %edi
	xorl	%esi, %esi
	movq	%rbx, %rdx
	callq	_sceGxmSetVertexStream
	movl	(%r15), %r14d
	movq	_SCE_GXM_PRIMITIVE_TRIANGLE_STRIP@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movq	_SCE_GXM_INDEX_FORMAT_U16@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	xorl	%eax, %eax
	callq	_vita2d_get_linear_indices
	movl	%r14d, %edi
	movl	%r15d, %esi
	movl	%ebx, %edx
	movl	%eax, %ecx
	movl	$4, %r8d
	addq	$88, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_sceGxmDraw                     ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	__vita2d_context,4,2            ## @_vita2d_context
	.comm	_SCE_GXM_PRIMITIVE_TRIANGLE_STRIP,4,2 ## @SCE_GXM_PRIMITIVE_TRIANGLE_STRIP
	.comm	_SCE_GXM_INDEX_FORMAT_U16,4,2   ## @SCE_GXM_INDEX_FORMAT_U16
	.no_dead_strip	_draw_texture_rotate_hotspot_generic
.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 draw_texture_rotate_hotspot_generic
lCPI0_0:
	.long	0x3f000000                      ; float 0.5
	.long	0x00000000                      ; float 0
lCPI0_1:
	.long	0x3f000000                      ; float 0.5
	.long	0x3f800000                      ; float 1
	.section	__TEXT,__text,regular,pure_instructions
	.p2align	2
_draw_texture_rotate_hotspot_generic:   ; @draw_texture_rotate_hotspot_generic
	.cfi_startproc
; %bb.0:
	stp	d15, d14, [sp, #-112]!          ; 16-byte Folded Spill
	.cfi_def_cfa_offset 112
	stp	d13, d12, [sp, #16]             ; 16-byte Folded Spill
	stp	d11, d10, [sp, #32]             ; 16-byte Folded Spill
	stp	d9, d8, [sp, #48]               ; 16-byte Folded Spill
	stp	x22, x21, [sp, #64]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #80]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #96]             ; 16-byte Folded Spill
	add	x29, sp, #96
	.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 b8, -56
	.cfi_offset b9, -64
	.cfi_offset b10, -72
	.cfi_offset b11, -80
	.cfi_offset b12, -88
	.cfi_offset b13, -96
	.cfi_offset b14, -104
	.cfi_offset b15, -112
	fmov	s11, s4
	fmov	s10, s3
	fmov	s12, s2
	fmov	s8, s1
	fmov	s9, s0
	mov	x19, x0
	mov	w0, #80
	mov	w1, #20
	bl	_vita2d_pool_memalign
	mov	x20, x0
	mov	x0, x19
	bl	_vita2d_texture_get_width
	fmov	s13, s0
	mov	x0, x19
	bl	_vita2d_texture_get_height
	fneg	s14, s11
Lloh0:
	adrp	x8, lCPI0_0@PAGE
Lloh1:
	ldr	d1, [x8, lCPI0_0@PAGEOFF]
	str	d1, [x20, #8]
	str	wzr, [x20, #16]
	fsub	s13, s13, s10
Lloh2:
	adrp	x8, lCPI0_1@PAGE
Lloh3:
	ldr	d2, [x8, lCPI0_1@PAGEOFF]
	stur	d2, [x20, #28]
	str	wzr, [x20, #36]
	fsub	s15, s0, s11
	str	d1, [x20, #48]
	mov	w8, #1065353216
	str	w8, [x20, #56]
	stur	d2, [x20, #68]
	str	w8, [x20, #76]
	fmov	s0, s12
	bl	___sincosf_stret
	fmul	s2, s0, s11
	fmsub	s3, s10, s1, s2
	fadd	s3, s3, s9
	str	s3, [x20]
	fmul	s3, s1, s14
	fmsub	s4, s10, s0, s3
	fadd	s4, s4, s8
	str	s4, [x20, #4]
	fmadd	s2, s13, s1, s2
	fadd	s2, s2, s9
	str	s2, [x20, #20]
	fmadd	s2, s13, s0, s3
	fadd	s2, s2, s8
	str	s2, [x20, #24]
	fneg	s2, s15
	fmul	s2, s0, s2
	fmsub	s3, s10, s1, s2
	fadd	s3, s3, s9
	str	s3, [x20, #40]
	fmul	s3, s1, s15
	fmsub	s4, s10, s0, s3
	fadd	s4, s4, s8
	str	s4, [x20, #44]
	fmadd	s1, s13, s1, s2
	fadd	s1, s1, s9
	str	s1, [x20, #60]
	fmadd	s0, s13, s0, s3
	fadd	s0, s0, s8
	str	s0, [x20, #64]
Lloh4:
	adrp	x21, __vita2d_context@GOTPAGE
Lloh5:
	ldr	x21, [x21, __vita2d_context@GOTPAGEOFF]
	ldr	w0, [x21]
	mov	w1, #0
	mov	x2, x19
	bl	_sceGxmSetFragmentTexture
	ldr	w0, [x21]
	mov	w1, #0
	mov	x2, x20
	bl	_sceGxmSetVertexStream
	ldr	w19, [x21]
Lloh6:
	adrp	x8, _SCE_GXM_PRIMITIVE_TRIANGLE_STRIP@GOTPAGE
Lloh7:
	ldr	x8, [x8, _SCE_GXM_PRIMITIVE_TRIANGLE_STRIP@GOTPAGEOFF]
Lloh8:
	ldr	w20, [x8]
Lloh9:
	adrp	x8, _SCE_GXM_INDEX_FORMAT_U16@GOTPAGE
Lloh10:
	ldr	x8, [x8, _SCE_GXM_INDEX_FORMAT_U16@GOTPAGEOFF]
Lloh11:
	ldr	w21, [x8]
	bl	_vita2d_get_linear_indices
	mov	x3, x0
	mov	x0, x19
	mov	x1, x20
	mov	x2, x21
	mov	w4, #4
	ldp	x29, x30, [sp, #96]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #80]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #64]             ; 16-byte Folded Reload
	ldp	d9, d8, [sp, #48]               ; 16-byte Folded Reload
	ldp	d11, d10, [sp, #32]             ; 16-byte Folded Reload
	ldp	d13, d12, [sp, #16]             ; 16-byte Folded Reload
	ldp	d15, d14, [sp], #112            ; 16-byte Folded Reload
	b	_sceGxmDraw
	.loh AdrpLdrGotLdr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdr	Lloh2, Lloh3
	.loh AdrpAdrp	Lloh0, Lloh2
	.loh AdrpLdr	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.comm	__vita2d_context,4,2            ; @_vita2d_context
	.comm	_SCE_GXM_PRIMITIVE_TRIANGLE_STRIP,4,2 ; @SCE_GXM_PRIMITIVE_TRIANGLE_STRIP
	.comm	_SCE_GXM_INDEX_FORMAT_U16,4,2   ; @SCE_GXM_INDEX_FORMAT_U16
	.no_dead_strip	_draw_texture_rotate_hotspot_generic
.subsections_via_symbols
