	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function FinishShader
_FinishShader:                          ## @FinishShader
	.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	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	_shader@GOTPCREL(%rip), %r10
	cmpq	$0, 24(%r10)
	je	LBB0_1
## %bb.2:
	movq	_SS_ENVIRONMENT@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 16(%r10)
	cmpq	$0, 40(%r10)
	jne	LBB0_4
	jmp	LBB0_6
LBB0_1:
	movq	16(%r10), %rax
	cmpq	$0, 40(%r10)
	je	LBB0_6
LBB0_4:
	testq	%rax, %rax
	jne	LBB0_6
## %bb.5:
	movq	_SS_DECAL@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 16(%r10)
LBB0_6:
	movq	_qfalse@GOTPCREL(%rip), %rcx
	movq	(%rcx), %r14
	movq	_MAX_SHADER_STAGES@GOTPCREL(%rip), %r12
	movl	(%r12), %r13d
	xorl	%r15d, %r15d
	testl	%r13d, %r13d
	jle	LBB0_7
## %bb.8:
	movq	%r14, %rax
	movq	_stages@GOTPCREL(%rip), %r14
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	jmp	LBB0_9
	.p2align	4, 0x90
LBB0_11:                                ##   in Loop: Header=BB0_9 Depth=1
	leaq	(%rax,%rcx), %rbx
	addq	$16, %rbx
	movq	_PRINT_WARNING@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	32(%r10), %edx
	leaq	L_.str(%rip), %rsi
	movq	_ri@GOTPCREL(%rip), %rax
	callq	*(%rax)
	movq	_shader@GOTPCREL(%rip), %r10
	movq	_qfalse@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, (%rbx)
LBB0_42:                                ##   in Loop: Header=BB0_9 Depth=1
	incl	%r15d
LBB0_43:                                ##   in Loop: Header=BB0_9 Depth=1
	movl	(%r12), %r13d
	cmpl	%r13d, %r15d
	jge	LBB0_44
LBB0_9:                                 ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_17 Depth 2
	movq	(%r14), %rax
	movslq	%r15d, %rcx
	shlq	$5, %rcx
	cmpq	$0, 16(%rax,%rcx)
	je	LBB0_44
## %bb.10:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	8(%rax,%rcx), %rdx
	movq	16(%rdx), %rsi
	cmpl	$0, (%rsi)
	je	LBB0_11
## %bb.12:                              ##   in Loop: Header=BB0_9 Depth=1
	leaq	(%rax,%rcx), %rdi
	cmpq	$0, 24(%rax,%rcx)
	je	LBB0_21
## %bb.13:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_r_detailTextures@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	cmpl	$0, (%rsi)
	je	LBB0_14
LBB0_21:                                ##   in Loop: Header=BB0_9 Depth=1
	cmpq	$0, 8(%rdx)
	movq	(%rdx), %rsi
	movq	_TCGEN_BAD@GOTPCREL(%rip), %rbx
	movq	(%rbx), %rbx
	je	LBB0_25
## %bb.22:                              ##   in Loop: Header=BB0_9 Depth=1
	cmpq	%rbx, %rsi
	jne	LBB0_24
## %bb.23:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_TCGEN_LIGHTMAP@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	%rsi, (%rdx)
LBB0_24:                                ##   in Loop: Header=BB0_9 Depth=1
	movq	_qtrue@GOTPCREL(%rip), %rdx
	movq	(%rdx), %rdx
	movq	%rdx, -48(%rbp)                 ## 8-byte Spill
	jmp	LBB0_27
LBB0_25:                                ##   in Loop: Header=BB0_9 Depth=1
	cmpq	%rbx, %rsi
	jne	LBB0_27
## %bb.26:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_TCGEN_TEXTURE@GOTPCREL(%rip), %rsi
	movq	(%rsi), %rsi
	movq	%rsi, (%rdx)
	.p2align	4, 0x90
LBB0_27:                                ##   in Loop: Header=BB0_9 Depth=1
	movl	(%rdi), %edx
	movq	_GLS_SRCBLEND_BITS@GOTPCREL(%rip), %rsi
	movl	(%rsi), %edi
	movq	_GLS_DSTBLEND_BITS@GOTPCREL(%rip), %rsi
	movl	(%rsi), %ebx
	movl	%ebx, %esi
	orl	%edi, %esi
	testl	%edx, %esi
	je	LBB0_42
## %bb.28:                              ##   in Loop: Header=BB0_9 Depth=1
	testl	%esi, (%rax)
	je	LBB0_42
## %bb.29:                              ##   in Loop: Header=BB0_9 Depth=1
	andl	%edx, %edi
	andl	%edx, %ebx
	movq	_GLS_SRCBLEND_ONE@GOTPCREL(%rip), %rsi
	movl	(%rsi), %r9d
	cmpl	%r9d, %edi
	jne	LBB0_31
## %bb.30:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_ACFF_MODULATE_RGB@GOTPCREL(%rip), %r11
	movq	_GLS_DSTBLEND_ONE@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %ebx
	je	LBB0_37
LBB0_31:                                ##   in Loop: Header=BB0_9 Depth=1
	movq	_GLS_SRCBLEND_ZERO@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %edi
	jne	LBB0_33
## %bb.32:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_ACFF_MODULATE_RGB@GOTPCREL(%rip), %r11
	movq	_GLS_DSTBLEND_ONE_MINUS_SRC_COLOR@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %ebx
	je	LBB0_37
LBB0_33:                                ##   in Loop: Header=BB0_9 Depth=1
	movq	_GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA@GOTPCREL(%rip), %rsi
	movl	(%rsi), %r8d
	movq	_GLS_SRCBLEND_SRC_ALPHA@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %edi
	jne	LBB0_35
## %bb.34:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_ACFF_MODULATE_ALPHA@GOTPCREL(%rip), %r11
	cmpl	%r8d, %ebx
	je	LBB0_37
LBB0_35:                                ##   in Loop: Header=BB0_9 Depth=1
	cmpl	%r9d, %edi
	jne	LBB0_38
## %bb.36:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_ACFF_MODULATE_RGBA@GOTPCREL(%rip), %r11
	cmpl	%r8d, %ebx
	jne	LBB0_38
LBB0_37:                                ##   in Loop: Header=BB0_9 Depth=1
	movl	(%r11), %esi
	movl	%esi, 4(%rax,%rcx)
LBB0_38:                                ##   in Loop: Header=BB0_9 Depth=1
	cmpq	$0, 16(%r10)
	jne	LBB0_42
## %bb.39:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_SS_SEE_THROUGH@GOTPCREL(%rip), %rax
	movq	_GLS_DEPTHMASK_TRUE@GOTPCREL(%rip), %rcx
	andl	(%rcx), %edx
	jne	LBB0_41
## %bb.40:                              ##   in Loop: Header=BB0_9 Depth=1
	movq	_SS_BLEND0@GOTPCREL(%rip), %rax
LBB0_41:                                ##   in Loop: Header=BB0_9 Depth=1
	movq	(%rax), %rax
	movq	%rax, 16(%r10)
	jmp	LBB0_42
LBB0_14:                                ##   in Loop: Header=BB0_9 Depth=1
	leal	1(%r15), %ecx
	cmpl	%r13d, %ecx
	jge	LBB0_15
## %bb.16:                              ##   in Loop: Header=BB0_9 Depth=1
	movslq	%ecx, %rcx
	shlq	$5, %rcx
	addq	%rcx, %rax
	leal	-1(%r13), %ecx
	movl	$16, %edx
	.p2align	4, 0x90
LBB0_17:                                ##   Parent Loop BB0_9 Depth=1
                                        ## =>  This Inner Loop Header: Depth=2
	cmpq	$0, (%rax,%rdx)
	je	LBB0_59
## %bb.18:                              ##   in Loop: Header=BB0_17 Depth=2
	addq	$32, %rdx
	decl	%ecx
	cmpl	%ecx, %r15d
	jne	LBB0_17
## %bb.19:                              ##   in Loop: Header=BB0_9 Depth=1
	leaq	32(%rdi), %rsi
	movl	%r15d, %edx
	notl	%edx
	addl	%r13d, %edx
	shll	$5, %edx
	callq	_memmove
	movq	(%r14), %rax
	jmp	LBB0_20
LBB0_15:                                ##   in Loop: Header=BB0_9 Depth=1
	movl	%ecx, %r13d
LBB0_20:                                ##   in Loop: Header=BB0_9 Depth=1
	movslq	%r13d, %rcx
	shlq	$5, %rcx
	leaq	(%rcx,%rax), %rdi
	addq	$-32, %rdi
	xorl	%esi, %esi
	movl	$32, %edx
	callq	_Com_Memset
	movq	_shader@GOTPCREL(%rip), %r10
	jmp	LBB0_43
LBB0_59:                                ##   in Loop: Header=BB0_9 Depth=1
	leaq	32(%rdi), %rsi
	addl	$16, %edx
                                        ## kill: def $edx killed $edx killed $rdx
	callq	_memmove
	movq	_shader@GOTPCREL(%rip), %r10
	jmp	LBB0_43
LBB0_44:
	movq	16(%r10), %rax
	movq	-56(%rbp), %r14                 ## 8-byte Reload
	movq	-48(%rbp), %r12                 ## 8-byte Reload
	testq	%rax, %rax
	jne	LBB0_47
LBB0_46:
	movq	_SS_OPAQUE@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 16(%r10)
LBB0_47:
	cmpl	$2, %r15d
	jl	LBB0_52
## %bb.48:
	movq	_r_vertexLight@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	$0, (%rax)
	je	LBB0_50
## %bb.49:
	movq	_r_uiFullScreen@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpl	$0, (%rax)
	je	LBB0_51
LBB0_50:
	movq	_glConfig@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	_GLHW_PERMEDIA2@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_52
LBB0_51:
	xorl	%eax, %eax
	callq	_VertexLightingCollapse
	movq	_qfalse@GOTPCREL(%rip), %rax
	movq	(%rax), %r12
LBB0_52:
	xorl	%eax, %eax
	callq	_CollapseStagesToGLSL
	movl	%eax, %ebx
	movq	_shader@GOTPCREL(%rip), %rdx
	cmpq	$0, (%rdx)
	js	LBB0_55
## %bb.53:
	testq	%r12, %r12
	jne	LBB0_55
## %bb.54:
	testq	%r14, %r14
	movq	_ri@GOTPCREL(%rip), %rax
	movq	_PRINT_DEVELOPER@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	movl	32(%rdx), %edx
	leaq	L_.str.2(%rip), %rcx
	leaq	L_.str.1(%rip), %rsi
	cmoveq	%rcx, %rsi
	callq	*(%rax)
	movq	_shader@GOTPCREL(%rip), %rdx
LBB0_55:
	movl	%ebx, 8(%rdx)
	testl	%ebx, %ebx
	jne	LBB0_58
## %bb.56:
	cmpq	$0, 24(%rdx)
	jne	LBB0_58
## %bb.57:
	movq	_SS_FOG@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 16(%rdx)
LBB0_58:
	xorl	%eax, %eax
	callq	_ComputeStageIteratorFunc
	xorl	%eax, %eax
	callq	_ComputeVertexAttribs
	xorl	%eax, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_GeneratePermanentShader        ## TAILCALL
LBB0_7:
	movq	%r14, %r12
	testq	%rax, %rax
	jne	LBB0_47
	jmp	LBB0_46
	.cfi_endproc
                                        ## -- End function
	.comm	_qfalse,8,3                     ## @qfalse
	.comm	_shader,48,3                    ## @shader
	.comm	_SS_ENVIRONMENT,8,3             ## @SS_ENVIRONMENT
	.comm	_SS_DECAL,8,3                   ## @SS_DECAL
	.comm	_MAX_SHADER_STAGES,4,2          ## @MAX_SHADER_STAGES
	.comm	_stages,8,3                     ## @stages
	.comm	_ri,8,3                         ## @ri
	.comm	_PRINT_WARNING,4,2              ## @PRINT_WARNING
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"Shader %s has a stage with no image\n"

	.comm	_r_detailTextures,8,3           ## @r_detailTextures
	.comm	_TCGEN_BAD,8,3                  ## @TCGEN_BAD
	.comm	_TCGEN_LIGHTMAP,8,3             ## @TCGEN_LIGHTMAP
	.comm	_qtrue,8,3                      ## @qtrue
	.comm	_TCGEN_TEXTURE,8,3              ## @TCGEN_TEXTURE
	.comm	_GLS_SRCBLEND_BITS,4,2          ## @GLS_SRCBLEND_BITS
	.comm	_GLS_DSTBLEND_BITS,4,2          ## @GLS_DSTBLEND_BITS
	.comm	_GLS_SRCBLEND_ONE,4,2           ## @GLS_SRCBLEND_ONE
	.comm	_GLS_DSTBLEND_ONE,4,2           ## @GLS_DSTBLEND_ONE
	.comm	_GLS_SRCBLEND_ZERO,4,2          ## @GLS_SRCBLEND_ZERO
	.comm	_GLS_DSTBLEND_ONE_MINUS_SRC_COLOR,4,2 ## @GLS_DSTBLEND_ONE_MINUS_SRC_COLOR
	.comm	_ACFF_MODULATE_RGB,4,2          ## @ACFF_MODULATE_RGB
	.comm	_GLS_SRCBLEND_SRC_ALPHA,4,2     ## @GLS_SRCBLEND_SRC_ALPHA
	.comm	_GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA,4,2 ## @GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA
	.comm	_ACFF_MODULATE_ALPHA,4,2        ## @ACFF_MODULATE_ALPHA
	.comm	_ACFF_MODULATE_RGBA,4,2         ## @ACFF_MODULATE_RGBA
	.comm	_GLS_DEPTHMASK_TRUE,4,2         ## @GLS_DEPTHMASK_TRUE
	.comm	_SS_SEE_THROUGH,8,3             ## @SS_SEE_THROUGH
	.comm	_SS_BLEND0,8,3                  ## @SS_BLEND0
	.comm	_SS_OPAQUE,8,3                  ## @SS_OPAQUE
	.comm	_r_vertexLight,8,3              ## @r_vertexLight
	.comm	_r_uiFullScreen,8,3             ## @r_uiFullScreen
	.comm	_glConfig,8,3                   ## @glConfig
	.comm	_GLHW_PERMEDIA2,8,3             ## @GLHW_PERMEDIA2
	.comm	_PRINT_DEVELOPER,4,2            ## @PRINT_DEVELOPER
L_.str.1:                               ## @.str.1
	.asciz	"WARNING: shader '%s' has VERTEX forced lightmap!\n"

L_.str.2:                               ## @.str.2
	.asciz	"WARNING: shader '%s' has lightmap but no lightmap stage!\n"

	.comm	_SS_FOG,8,3                     ## @SS_FOG
	.no_dead_strip	_FinishShader
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function FinishShader
_FinishShader:                          ; @FinishShader
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #112
	.cfi_def_cfa_offset 112
	stp	x28, x27, [sp, #16]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #32]             ; 16-byte Folded Spill
	stp	x24, x23, [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 w23, -56
	.cfi_offset w24, -64
	.cfi_offset w25, -72
	.cfi_offset w26, -80
	.cfi_offset w27, -88
	.cfi_offset w28, -96
Lloh0:
	adrp	x20, _shader@GOTPAGE
Lloh1:
	ldr	x20, [x20, _shader@GOTPAGEOFF]
	ldr	x8, [x20, #24]
	cbz	x8, LBB0_2
; %bb.1:
Lloh2:
	adrp	x8, _SS_ENVIRONMENT@GOTPAGE
Lloh3:
	ldr	x8, [x8, _SS_ENVIRONMENT@GOTPAGEOFF]
Lloh4:
	ldr	x8, [x8]
	str	x8, [x20, #16]
	b	LBB0_3
LBB0_2:
	ldr	x8, [x20, #16]
LBB0_3:
Lloh5:
	adrp	x9, _qfalse@GOTPAGE
Lloh6:
	ldr	x9, [x9, _qfalse@GOTPAGEOFF]
Lloh7:
	ldr	x25, [x9]
	ldr	x9, [x20, #40]
	cmp	x9, #0
	ccmp	x8, #0, #0, ne
	b.ne	LBB0_5
; %bb.4:
Lloh8:
	adrp	x8, _SS_DECAL@GOTPAGE
Lloh9:
	ldr	x8, [x8, _SS_DECAL@GOTPAGEOFF]
Lloh10:
	ldr	x8, [x8]
	str	x8, [x20, #16]
LBB0_5:
Lloh11:
	adrp	x26, _MAX_SHADER_STAGES@GOTPAGE
Lloh12:
	ldr	x26, [x26, _MAX_SHADER_STAGES@GOTPAGEOFF]
	ldr	w22, [x26]
	cmp	w22, #1
	str	x25, [sp, #8]                   ; 8-byte Folded Spill
	mov	w24, #0
	b.lt	LBB0_37
; %bb.6:
Lloh13:
	adrp	x27, _stages@GOTPAGE
Lloh14:
	ldr	x27, [x27, _stages@GOTPAGEOFF]
Lloh15:
	adrp	x21, _TCGEN_BAD@GOTPAGE
Lloh16:
	ldr	x21, [x21, _TCGEN_BAD@GOTPAGEOFF]
Lloh17:
	adrp	x23, _GLS_SRCBLEND_BITS@GOTPAGE
Lloh18:
	ldr	x23, [x23, _GLS_SRCBLEND_BITS@GOTPAGEOFF]
Lloh19:
	adrp	x28, _GLS_DSTBLEND_BITS@GOTPAGE
Lloh20:
	ldr	x28, [x28, _GLS_DSTBLEND_BITS@GOTPAGEOFF]
	b	LBB0_10
LBB0_7:                                 ;   in Loop: Header=BB0_10 Depth=1
Lloh21:
	adrp	x8, _ri@GOTPAGE
Lloh22:
	ldr	x8, [x8, _ri@GOTPAGEOFF]
Lloh23:
	ldr	x8, [x8]
Lloh24:
	adrp	x9, _PRINT_WARNING@GOTPAGE
Lloh25:
	ldr	x9, [x9, _PRINT_WARNING@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x9]
	ldr	w2, [x20, #32]
Lloh27:
	adrp	x1, l_.str@PAGE
Lloh28:
	add	x1, x1, l_.str@PAGEOFF
	blr	x8
Lloh29:
	adrp	x8, _qfalse@GOTPAGE
Lloh30:
	ldr	x8, [x8, _qfalse@GOTPAGEOFF]
Lloh31:
	ldr	x8, [x8]
	str	x8, [x19]
LBB0_8:                                 ;   in Loop: Header=BB0_10 Depth=1
	add	w24, w24, #1
LBB0_9:                                 ;   in Loop: Header=BB0_10 Depth=1
	ldr	w22, [x26]
	cmp	w24, w22
	b.ge	LBB0_36
LBB0_10:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_31 Depth 2
	ldr	x8, [x27]
	sxtw	x9, w24
	add	x0, x8, x9, lsl #5
	mov	x19, x0
	ldr	x10, [x19, #16]!
	cbz	x10, LBB0_36
; %bb.11:                               ;   in Loop: Header=BB0_10 Depth=1
	ldr	x10, [x0, #8]
	ldr	x11, [x10, #16]
	ldr	w11, [x11]
	cbz	w11, LBB0_7
; %bb.12:                               ;   in Loop: Header=BB0_10 Depth=1
	add	x11, x8, x9, lsl #5
	ldr	x11, [x11, #24]
	cbz	x11, LBB0_14
; %bb.13:                               ;   in Loop: Header=BB0_10 Depth=1
Lloh32:
	adrp	x11, _r_detailTextures@GOTPAGE
Lloh33:
	ldr	x11, [x11, _r_detailTextures@GOTPAGEOFF]
Lloh34:
	ldr	x11, [x11]
	ldr	w11, [x11]
	cbz	w11, LBB0_29
LBB0_14:                                ;   in Loop: Header=BB0_10 Depth=1
	ldp	x11, x13, [x10]
	ldr	x12, [x21]
	cmp	x11, x12
	cbz	x13, LBB0_18
; %bb.15:                               ;   in Loop: Header=BB0_10 Depth=1
	b.ne	LBB0_17
; %bb.16:                               ;   in Loop: Header=BB0_10 Depth=1
Lloh35:
	adrp	x11, _TCGEN_LIGHTMAP@GOTPAGE
Lloh36:
	ldr	x11, [x11, _TCGEN_LIGHTMAP@GOTPAGEOFF]
Lloh37:
	ldr	x11, [x11]
	str	x11, [x10]
LBB0_17:                                ;   in Loop: Header=BB0_10 Depth=1
Lloh38:
	adrp	x10, _qtrue@GOTPAGE
Lloh39:
	ldr	x10, [x10, _qtrue@GOTPAGEOFF]
Lloh40:
	ldr	x25, [x10]
	b	LBB0_20
LBB0_18:                                ;   in Loop: Header=BB0_10 Depth=1
	b.ne	LBB0_20
; %bb.19:                               ;   in Loop: Header=BB0_10 Depth=1
Lloh41:
	adrp	x11, _TCGEN_TEXTURE@GOTPAGE
Lloh42:
	ldr	x11, [x11, _TCGEN_TEXTURE@GOTPAGEOFF]
Lloh43:
	ldr	x11, [x11]
	str	x11, [x10]
LBB0_20:                                ;   in Loop: Header=BB0_10 Depth=1
	ldr	w10, [x0]
	ldr	w11, [x23]
	ldr	w12, [x28]
	orr	w13, w12, w11
	tst	w13, w10
	b.eq	LBB0_8
; %bb.21:                               ;   in Loop: Header=BB0_10 Depth=1
	ldr	w14, [x8]
	tst	w14, w13
	b.eq	LBB0_8
; %bb.22:                               ;   in Loop: Header=BB0_10 Depth=1
	and	w11, w11, w10
	and	w12, w12, w10
Lloh44:
	adrp	x13, _GLS_SRCBLEND_ONE@GOTPAGE
Lloh45:
	ldr	x13, [x13, _GLS_SRCBLEND_ONE@GOTPAGEOFF]
Lloh46:
	ldr	w13, [x13]
Lloh47:
	adrp	x14, _GLS_DSTBLEND_ONE@GOTPAGE
Lloh48:
	ldr	x14, [x14, _GLS_DSTBLEND_ONE@GOTPAGEOFF]
Lloh49:
	ldr	w14, [x14]
	cmp	w11, w13
	ccmp	w12, w14, #0, eq
Lloh50:
	adrp	x14, _ACFF_MODULATE_RGB@GOTPAGE
Lloh51:
	ldr	x14, [x14, _ACFF_MODULATE_RGB@GOTPAGEOFF]
	b.eq	LBB0_26
; %bb.23:                               ;   in Loop: Header=BB0_10 Depth=1
Lloh52:
	adrp	x14, _GLS_SRCBLEND_ZERO@GOTPAGE
Lloh53:
	ldr	x14, [x14, _GLS_SRCBLEND_ZERO@GOTPAGEOFF]
Lloh54:
	ldr	w14, [x14]
Lloh55:
	adrp	x15, _GLS_DSTBLEND_ONE_MINUS_SRC_COLOR@GOTPAGE
Lloh56:
	ldr	x15, [x15, _GLS_DSTBLEND_ONE_MINUS_SRC_COLOR@GOTPAGEOFF]
Lloh57:
	ldr	w15, [x15]
	cmp	w11, w14
	ccmp	w12, w15, #0, eq
Lloh58:
	adrp	x14, _ACFF_MODULATE_RGB@GOTPAGE
Lloh59:
	ldr	x14, [x14, _ACFF_MODULATE_RGB@GOTPAGEOFF]
	b.eq	LBB0_26
; %bb.24:                               ;   in Loop: Header=BB0_10 Depth=1
Lloh60:
	adrp	x14, _GLS_SRCBLEND_SRC_ALPHA@GOTPAGE
Lloh61:
	ldr	x14, [x14, _GLS_SRCBLEND_SRC_ALPHA@GOTPAGEOFF]
Lloh62:
	ldr	w14, [x14]
Lloh63:
	adrp	x15, _GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA@GOTPAGE
Lloh64:
	ldr	x15, [x15, _GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA@GOTPAGEOFF]
Lloh65:
	ldr	w15, [x15]
	cmp	w11, w14
	ccmp	w12, w15, #0, eq
Lloh66:
	adrp	x14, _ACFF_MODULATE_ALPHA@GOTPAGE
Lloh67:
	ldr	x14, [x14, _ACFF_MODULATE_ALPHA@GOTPAGEOFF]
	b.eq	LBB0_26
; %bb.25:                               ;   in Loop: Header=BB0_10 Depth=1
	cmp	w11, w13
	ccmp	w12, w15, #0, eq
Lloh68:
	adrp	x14, _ACFF_MODULATE_RGBA@GOTPAGE
Lloh69:
	ldr	x14, [x14, _ACFF_MODULATE_RGBA@GOTPAGEOFF]
	b.ne	LBB0_27
LBB0_26:                                ;   in Loop: Header=BB0_10 Depth=1
	ldr	w11, [x14]
	add	x8, x8, x9, lsl #5
	str	w11, [x8, #4]
LBB0_27:                                ;   in Loop: Header=BB0_10 Depth=1
	ldr	x8, [x20, #16]
	cbnz	x8, LBB0_8
; %bb.28:                               ;   in Loop: Header=BB0_10 Depth=1
Lloh70:
	adrp	x8, _GLS_DEPTHMASK_TRUE@GOTPAGE
Lloh71:
	ldr	x8, [x8, _GLS_DEPTHMASK_TRUE@GOTPAGEOFF]
Lloh72:
	ldr	w8, [x8]
	tst	w8, w10
Lloh73:
	adrp	x8, _SS_BLEND0@GOTPAGE
Lloh74:
	ldr	x8, [x8, _SS_BLEND0@GOTPAGEOFF]
Lloh75:
	adrp	x9, _SS_SEE_THROUGH@GOTPAGE
Lloh76:
	ldr	x9, [x9, _SS_SEE_THROUGH@GOTPAGEOFF]
	csel	x8, x8, x9, eq
	ldr	x8, [x8]
	str	x8, [x20, #16]
	b	LBB0_8
LBB0_29:                                ;   in Loop: Header=BB0_10 Depth=1
	add	x9, x9, #1
	cmp	w9, w22
	b.ge	LBB0_34
; %bb.30:                               ;   in Loop: Header=BB0_10 Depth=1
	add	x8, x8, x9, lsl #5
	sub	w9, w22, #1
	mov	w10, #16
LBB0_31:                                ;   Parent Loop BB0_10 Depth=1
                                        ; =>  This Inner Loop Header: Depth=2
	ldr	x11, [x8, x10]
	cbz	x11, LBB0_35
; %bb.32:                               ;   in Loop: Header=BB0_31 Depth=2
	add	x10, x10, #32
	sub	w9, w9, #1
	cmp	w24, w9
	b.ne	LBB0_31
; %bb.33:                               ;   in Loop: Header=BB0_10 Depth=1
	add	x1, x0, #32
	mvn	w8, w24
	add	w8, w22, w8
	lsl	w2, w8, #5
	bl	_memmove
	ldr	x8, [x27]
	mov	x9, x22
LBB0_34:                                ;   in Loop: Header=BB0_10 Depth=1
	sub	w9, w9, #1
	sxtw	x9, w9
	add	x0, x8, x9, lsl #5
	mov	w1, #0
	mov	w2, #32
	bl	_Com_Memset
	b	LBB0_9
LBB0_35:                                ;   in Loop: Header=BB0_10 Depth=1
	add	x1, x0, #32
	add	w2, w10, #16
	bl	_memmove
	b	LBB0_9
LBB0_36:
	ldr	x8, [x20, #16]
LBB0_37:
	cbz	x8, LBB0_39
; %bb.38:
	cmp	w24, #2
	b.ge	LBB0_40
	b	LBB0_44
LBB0_39:
Lloh77:
	adrp	x8, _SS_OPAQUE@GOTPAGE
Lloh78:
	ldr	x8, [x8, _SS_OPAQUE@GOTPAGEOFF]
Lloh79:
	ldr	x8, [x8]
	str	x8, [x20, #16]
	cmp	w24, #2
	b.lt	LBB0_44
LBB0_40:
Lloh80:
	adrp	x8, _r_vertexLight@GOTPAGE
Lloh81:
	ldr	x8, [x8, _r_vertexLight@GOTPAGEOFF]
Lloh82:
	ldr	x8, [x8]
	ldr	x8, [x8]
	cbz	x8, LBB0_42
; %bb.41:
Lloh83:
	adrp	x8, _r_uiFullScreen@GOTPAGE
Lloh84:
	ldr	x8, [x8, _r_uiFullScreen@GOTPAGEOFF]
Lloh85:
	ldr	x8, [x8]
	ldr	w8, [x8]
	cbz	w8, LBB0_43
LBB0_42:
Lloh86:
	adrp	x8, _glConfig@GOTPAGE
Lloh87:
	ldr	x8, [x8, _glConfig@GOTPAGEOFF]
Lloh88:
	ldr	x8, [x8]
Lloh89:
	adrp	x9, _GLHW_PERMEDIA2@GOTPAGE
Lloh90:
	ldr	x9, [x9, _GLHW_PERMEDIA2@GOTPAGEOFF]
Lloh91:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_44
LBB0_43:
	bl	_VertexLightingCollapse
Lloh92:
	adrp	x8, _qfalse@GOTPAGE
Lloh93:
	ldr	x8, [x8, _qfalse@GOTPAGEOFF]
Lloh94:
	ldr	x25, [x8]
LBB0_44:
	bl	_CollapseStagesToGLSL
	mov	x19, x0
	ldr	x8, [x20]
	tbnz	x8, #63, LBB0_47
; %bb.45:
	cbnz	x25, LBB0_47
; %bb.46:
Lloh95:
	adrp	x8, _ri@GOTPAGE
Lloh96:
	ldr	x8, [x8, _ri@GOTPAGEOFF]
Lloh97:
	ldr	x8, [x8]
Lloh98:
	adrp	x9, _PRINT_DEVELOPER@GOTPAGE
Lloh99:
	ldr	x9, [x9, _PRINT_DEVELOPER@GOTPAGEOFF]
Lloh100:
	ldr	w0, [x9]
	ldr	w2, [x20, #32]
Lloh101:
	adrp	x9, l_.str.1@PAGE
Lloh102:
	add	x9, x9, l_.str.1@PAGEOFF
Lloh103:
	adrp	x10, l_.str.2@PAGE
Lloh104:
	add	x10, x10, l_.str.2@PAGEOFF
	ldr	x11, [sp, #8]                   ; 8-byte Folded Reload
	cmp	x11, #0
	csel	x1, x10, x9, eq
	blr	x8
LBB0_47:
	str	w19, [x20, #8]
	cbnz	w19, LBB0_50
; %bb.48:
	ldr	x8, [x20, #24]
	cbnz	x8, LBB0_50
; %bb.49:
Lloh105:
	adrp	x8, _SS_FOG@GOTPAGE
Lloh106:
	ldr	x8, [x8, _SS_FOG@GOTPAGEOFF]
Lloh107:
	ldr	x8, [x8]
	str	x8, [x20, #16]
LBB0_50:
	bl	_ComputeStageIteratorFunc
	bl	_ComputeVertexAttribs
	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	x24, x23, [sp, #48]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #32]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #112
	b	_GeneratePermanentShader
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGot	Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGot	Lloh58, Lloh59
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGot	Lloh66, Lloh67
	.loh AdrpLdrGotLdr	Lloh63, Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh60, Lloh61, Lloh62
	.loh AdrpLdrGot	Lloh68, Lloh69
	.loh AdrpLdrGot	Lloh75, Lloh76
	.loh AdrpLdrGot	Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpLdrGotLdr	Lloh89, Lloh90, Lloh91
	.loh AdrpLdrGotLdr	Lloh86, Lloh87, Lloh88
	.loh AdrpLdrGotLdr	Lloh92, Lloh93, Lloh94
	.loh AdrpAdd	Lloh103, Lloh104
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh95, Lloh96, Lloh97
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.cfi_endproc
                                        ; -- End function
	.comm	_qfalse,8,3                     ; @qfalse
	.comm	_shader,48,3                    ; @shader
	.comm	_SS_ENVIRONMENT,8,3             ; @SS_ENVIRONMENT
	.comm	_SS_DECAL,8,3                   ; @SS_DECAL
	.comm	_MAX_SHADER_STAGES,4,2          ; @MAX_SHADER_STAGES
	.comm	_stages,8,3                     ; @stages
	.comm	_ri,8,3                         ; @ri
	.comm	_PRINT_WARNING,4,2              ; @PRINT_WARNING
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"Shader %s has a stage with no image\n"

	.comm	_r_detailTextures,8,3           ; @r_detailTextures
	.comm	_TCGEN_BAD,8,3                  ; @TCGEN_BAD
	.comm	_TCGEN_LIGHTMAP,8,3             ; @TCGEN_LIGHTMAP
	.comm	_qtrue,8,3                      ; @qtrue
	.comm	_TCGEN_TEXTURE,8,3              ; @TCGEN_TEXTURE
	.comm	_GLS_SRCBLEND_BITS,4,2          ; @GLS_SRCBLEND_BITS
	.comm	_GLS_DSTBLEND_BITS,4,2          ; @GLS_DSTBLEND_BITS
	.comm	_GLS_SRCBLEND_ONE,4,2           ; @GLS_SRCBLEND_ONE
	.comm	_GLS_DSTBLEND_ONE,4,2           ; @GLS_DSTBLEND_ONE
	.comm	_GLS_SRCBLEND_ZERO,4,2          ; @GLS_SRCBLEND_ZERO
	.comm	_GLS_DSTBLEND_ONE_MINUS_SRC_COLOR,4,2 ; @GLS_DSTBLEND_ONE_MINUS_SRC_COLOR
	.comm	_ACFF_MODULATE_RGB,4,2          ; @ACFF_MODULATE_RGB
	.comm	_GLS_SRCBLEND_SRC_ALPHA,4,2     ; @GLS_SRCBLEND_SRC_ALPHA
	.comm	_GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA,4,2 ; @GLS_DSTBLEND_ONE_MINUS_SRC_ALPHA
	.comm	_ACFF_MODULATE_ALPHA,4,2        ; @ACFF_MODULATE_ALPHA
	.comm	_ACFF_MODULATE_RGBA,4,2         ; @ACFF_MODULATE_RGBA
	.comm	_GLS_DEPTHMASK_TRUE,4,2         ; @GLS_DEPTHMASK_TRUE
	.comm	_SS_SEE_THROUGH,8,3             ; @SS_SEE_THROUGH
	.comm	_SS_BLEND0,8,3                  ; @SS_BLEND0
	.comm	_SS_OPAQUE,8,3                  ; @SS_OPAQUE
	.comm	_r_vertexLight,8,3              ; @r_vertexLight
	.comm	_r_uiFullScreen,8,3             ; @r_uiFullScreen
	.comm	_glConfig,8,3                   ; @glConfig
	.comm	_GLHW_PERMEDIA2,8,3             ; @GLHW_PERMEDIA2
	.comm	_PRINT_DEVELOPER,4,2            ; @PRINT_DEVELOPER
l_.str.1:                               ; @.str.1
	.asciz	"WARNING: shader '%s' has VERTEX forced lightmap!\n"

l_.str.2:                               ; @.str.2
	.asciz	"WARNING: shader '%s' has lightmap but no lightmap stage!\n"

	.comm	_SS_FOG,8,3                     ; @SS_FOG
	.no_dead_strip	_FinishShader
.subsections_via_symbols
