	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function fnt_face_get_dll_font
_fnt_face_get_dll_font:                 ## @fnt_face_get_dll_font
	.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	$1192, %rsp                     ## imm = 0x4A8
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r12
	movq	%rdi, %r13
	callq	_FT_FACE
	movq	8(%rax), %rbx
	movq	%r13, %rdi
	callq	_FT_FACE
	movq	$0, 8(%r13)
	movq	%r12, %rdi
	callq	_FT_ABS
	movl	%eax, %r14d
	xorl	%edi, %edi
	callq	_FT_STREAM_SEEK
                                        ## implicit-def: $rcx
	testq	%rax, %rax
	jne	LBB0_92
## %bb.1:
	movq	_winmz_header_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-920(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
                                        ## implicit-def: $rcx
	testq	%rax, %rax
	jne	LBB0_92
## %bb.2:
	movq	%rbx, -80(%rbp)                 ## 8-byte Spill
	movq	_Unknown_File_Format@GOTPCREL(%rip), %r15
	movl	(%r15), %edi
	callq	_FT_ERR
	movq	-920(%rbp), %rdx
	movq	_WINFNT_MZ_MAGIC@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rdx
	jne	LBB0_88
## %bb.3:
	movq	%rax, %rbx
	leaq	L_.str(%rip), %rdi
	callq	_FT_TRACE2
	movl	-912(%rbp), %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_90
## %bb.4:
	movq	_winne_header_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-816(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_90
## %bb.5:
	movzwl	%r14w, %ebx
	movl	(%r15), %edi
	callq	_FT_ERR
	movq	-816(%rbp), %rdx
	movq	_WINFNT_NE_MAGIC@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rdx
	jne	LBB0_8
## %bb.6:
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	movl	-804(%rbp), %ebx
	addl	-912(%rbp), %ebx
	leaq	L_.str.1(%rip), %rdi
	callq	_FT_TRACE2
	movl	%ebx, %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	movq	-80(%rbp), %r15                 ## 8-byte Reload
	jne	LBB0_7
## %bb.11:
	movl	-800(%rbp), %edi
	subl	-804(%rbp), %edi
	callq	_FT_FRAME_ENTER
	testq	%rax, %rax
	je	LBB0_15
LBB0_7:
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	jmp	LBB0_92
LBB0_8:
	movq	_WINFNT_PE_MAGIC@GOTPCREL(%rip), %r15
	cmpq	(%r15), %rdx
	jne	LBB0_86
## %bb.9:
	movq	%rbx, -64(%rbp)                 ## 8-byte Spill
	movq	%rax, %r14
	leaq	L_.str.5(%rip), %rdi
	callq	_FT_TRACE2
	movl	-912(%rbp), %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.13:
	movq	_winpe32_header_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-296(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	je	LBB0_17
LBB0_10:
	movq	%r14, %rcx
	jmp	LBB0_92
LBB0_15:
	xorl	%eax, %eax
	callq	_FT_GET_USHORT_LE
	cmpl	$16, %eax
	jle	LBB0_27
## %bb.16:
	leaq	L_.str.2(%rip), %rdi
	jmp	LBB0_36
LBB0_17:
	movslq	-200(%rbp), %rdi
	callq	_FT_TRACE2
	movq	-296(%rbp), %rax
	leaq	L_.str.7(%rip), %rdi
	cmpq	(%r15), %rax
	jne	LBB0_36
## %bb.18:
	cmpl	$332, -276(%rbp)                ## imm = 0x14C
	jne	LBB0_36
## %bb.19:
	cmpl	$224, -268(%rbp)
	jne	LBB0_36
## %bb.20:
	cmpl	$267, -264(%rbp)                ## imm = 0x10B
	jne	LBB0_36
## %bb.21:
	movl	$0, (%r13)
	leaq	L_.str.9(%rip), %rdi
	cmpl	$0, -272(%rbp)
	jle	LBB0_36
## %bb.22:
	xorl	%ebx, %ebx
	movq	_winpe32_section_fields@GOTPCREL(%rip), %r12
	leaq	-192(%rbp), %r15
LBB0_23:                                ## =>This Inner Loop Header: Depth=1
	movl	(%r12), %edi
	movq	%r15, %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.24:                              ##   in Loop: Header=BB0_23 Depth=1
	movslq	-128(%rbp), %rdi
	callq	_FT_TRACE2
	movq	-256(%rbp), %rax
	cmpq	-136(%rbp), %rax
	je	LBB0_44
## %bb.25:                              ##   in Loop: Header=BB0_23 Depth=1
	incl	%ebx
	cmpl	-272(%rbp), %ebx
	jl	LBB0_23
## %bb.26:
	leaq	L_.str.9(%rip), %rdi
	jmp	LBB0_36
LBB0_27:
	movl	%eax, -72(%rbp)                 ## 4-byte Spill
	xorl	%eax, %eax
	callq	_FT_GET_USHORT_LE
	xorl	%r14d, %r14d
LBB0_28:                                ## =>This Inner Loop Header: Depth=1
	movl	$0, %ebx
	testl	%eax, %eax
	je	LBB0_32
## %bb.29:                              ##   in Loop: Header=BB0_28 Depth=1
	movl	%eax, %r14d
	xorl	%eax, %eax
	callq	_FT_GET_USHORT_LE
	movl	%eax, %ebx
	cmpl	$32776, %r14d                   ## imm = 0x8008
	je	LBB0_31
## %bb.30:                              ##   in Loop: Header=BB0_28 Depth=1
	shll	$2, %ebx
	leal	(%rbx,%rbx,2), %eax
	cltq
	movq	8(%r15), %rcx
	addq	%rcx, %rax
	addq	$4, %rax
	movq	%rax, 8(%r15)
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_FT_GET_USHORT_LE
	jmp	LBB0_28
LBB0_31:
	xorl	%eax, %eax
	callq	_FT_STREAM_POS
                                        ## kill: def $eax killed $eax def $rax
	movl	8(%r15), %ecx
	subl	16(%r15), %ecx
	leal	(%rax,%rcx), %r14d
	addl	$4, %r14d
LBB0_32:
	movq	%r14, -56(%rbp)                 ## 8-byte Spill
	xorl	%eax, %eax
	callq	_FT_FRAME_EXIT
	leaq	L_.str.3(%rip), %rdi
	testl	%ebx, %ebx
	je	LBB0_36
## %bb.33:
	cmpl	$0, -56(%rbp)                   ## 4-byte Folded Reload
	je	LBB0_36
## %bb.34:
	movslq	%ebx, %rax
	imulq	$118, %rax, %rax
	movslq	(%r15), %rcx
	cmpq	%rcx, %rax
	jbe	LBB0_39
## %bb.35:
	leaq	L_.str.4(%rip), %rdi
LBB0_36:
	callq	_FT_TRACE2
LBB0_37:
	movq	_Invalid_File_Format@GOTPCREL(%rip), %rax
LBB0_38:
	movl	(%rax), %edi
	callq	_FT_THROW
	movq	%rax, %rcx
	jmp	LBB0_92
LBB0_39:
	movl	%ebx, (%r13)
	testq	%r12, %r12
	js	LBB0_7
## %bb.40:
	cmpl	%ebx, -64(%rbp)                 ## 4-byte Folded Reload
	jge	LBB0_47
## %bb.41:
	movq	8(%r13), %rdi
	callq	_FT_NEW
	testq	%rax, %rax
	jne	LBB0_7
## %bb.50:
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	leal	(%rax,%rax,2), %eax
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
	leal	(%rcx,%rax,4), %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_52
## %bb.51:
	movl	$12, %edi
	callq	_FT_FRAME_ENTER
	testq	%rax, %rax
	je	LBB0_84
LBB0_52:
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	jmp	LBB0_88
LBB0_44:
	movslq	-144(%rbp), %rdi
	callq	_FT_TRACE2
	movl	-128(%rbp), %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.48:
	movq	_winpe_rsrc_dir_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-712(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.53:
	movl	-640(%rbp), %eax
	addl	-644(%rbp), %eax
	jle	LBB0_83
## %bb.54:
	movl	-128(%rbp), %eax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	addl	$16, %eax
	movq	%rax, -88(%rbp)                 ## 8-byte Spill
	xorl	%eax, %eax
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
LBB0_55:                                ## =>This Loop Header: Depth=1
                                        ##     Child Loop BB0_62 Depth 2
                                        ##       Child Loop BB0_71 Depth 3
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	leal	(%rax,%rcx,8), %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.56:                              ##   in Loop: Header=BB0_55 Depth=1
	movq	_winpe_rsrc_dir_entry_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-1128(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.57:                              ##   in Loop: Header=BB0_55 Depth=1
	movl	-1052(%rbp), %eax
	testl	%eax, %eax
	jns	LBB0_37
## %bb.58:                              ##   in Loop: Header=BB0_55 Depth=1
	movq	%rax, %rdi
	andl	$2147483647, %edi               ## imm = 0x7FFFFFFF
	movl	%edi, -1052(%rbp)
	addl	-128(%rbp), %edi
	movq	%rdi, %r15
                                        ## kill: def $edi killed $edi killed $rdi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.59:                              ##   in Loop: Header=BB0_55 Depth=1
	movq	_winpe_rsrc_dir_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-608(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.60:                              ##   in Loop: Header=BB0_55 Depth=1
	movl	-536(%rbp), %eax
	addl	-540(%rbp), %eax
	jle	LBB0_82
## %bb.61:                              ##   in Loop: Header=BB0_55 Depth=1
	addl	$16, %r15d
	xorl	%eax, %eax
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
LBB0_62:                                ##   Parent Loop BB0_55 Depth=1
                                        ## =>  This Loop Header: Depth=2
                                        ##       Child Loop BB0_71 Depth 3
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	leal	(%r15,%rax,8), %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.63:                              ##   in Loop: Header=BB0_62 Depth=2
	movq	_winpe_rsrc_dir_entry_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-400(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.64:                              ##   in Loop: Header=BB0_62 Depth=2
	movl	-324(%rbp), %ebx
	testl	%ebx, %ebx
	jns	LBB0_37
## %bb.65:                              ##   in Loop: Header=BB0_62 Depth=2
	andl	$2147483647, %ebx               ## imm = 0x7FFFFFFF
	movl	%ebx, -324(%rbp)
	addl	-128(%rbp), %ebx
	movl	%ebx, %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.66:                              ##   in Loop: Header=BB0_62 Depth=2
	movq	_winpe_rsrc_dir_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-504(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.67:                              ##   in Loop: Header=BB0_62 Depth=2
	movl	-432(%rbp), %eax
	addl	-436(%rbp), %eax
	jle	LBB0_81
## %bb.68:                              ##   in Loop: Header=BB0_62 Depth=2
	addl	$16, %ebx
	xorl	%r12d, %r12d
	jmp	LBB0_71
LBB0_69:                                ##   in Loop: Header=BB0_71 Depth=3
	incl	%eax
	movl	%eax, (%r13)
LBB0_70:                                ##   in Loop: Header=BB0_71 Depth=3
	incl	%r12d
	movl	-432(%rbp), %eax
	addl	-436(%rbp), %eax
	addl	$8, %ebx
	cmpl	%eax, %r12d
	jge	LBB0_81
LBB0_71:                                ##   Parent Loop BB0_55 Depth=1
                                        ##     Parent Loop BB0_62 Depth=2
                                        ## =>    This Inner Loop Header: Depth=3
	movl	%ebx, %edi
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.72:                              ##   in Loop: Header=BB0_71 Depth=3
	movq	_winpe_rsrc_dir_entry_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-1232(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.73:                              ##   in Loop: Header=BB0_71 Depth=3
	cmpl	$0, -324(%rbp)
	js	LBB0_37
## %bb.74:                              ##   in Loop: Header=BB0_71 Depth=3
	cmpl	$8, -1080(%rbp)
	jne	LBB0_70
## %bb.75:                              ##   in Loop: Header=BB0_71 Depth=3
	movl	-1156(%rbp), %edi
	addl	-72(%rbp), %edi                 ## 4-byte Folded Reload
	callq	_FT_STREAM_SEEK
	testq	%rax, %rax
	jne	LBB0_10
## %bb.76:                              ##   in Loop: Header=BB0_71 Depth=3
	movq	_winpe_rsrc_data_entry_fields@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	-1024(%rbp), %rsi
	callq	_FT_STREAM_READ_FIELDS
	testq	%rax, %rax
	jne	LBB0_10
## %bb.77:                              ##   in Loop: Header=BB0_71 Depth=3
	movslq	-936(%rbp), %rdi
	callq	_FT_TRACE2
	movl	(%r13), %eax
	cmpl	%eax, -64(%rbp)                 ## 4-byte Folded Reload
	jne	LBB0_69
## %bb.78:                              ##   in Loop: Header=BB0_71 Depth=3
	movq	8(%r13), %rdi
	callq	_FT_NEW
	testq	%rax, %rax
	movq	%r14, %rcx
	jne	LBB0_92
## %bb.79:                              ##   in Loop: Header=BB0_71 Depth=3
	movl	-944(%rbp), %eax
	addl	-128(%rbp), %eax
	subl	-136(%rbp), %eax
	movq	8(%r13), %rdi
	movl	%eax, (%rdi)
	movl	-940(%rbp), %eax
	movl	%eax, 4(%rdi)
	movq	-80(%rbp), %rsi                 ## 8-byte Reload
	callq	_fnt_font_load
	testq	%rax, %rax
	jne	LBB0_108
## %bb.80:                              ##   in Loop: Header=BB0_71 Depth=3
	movslq	-352(%rbp), %rdi
	callq	_FT_TRACE2
	movl	(%r13), %eax
	xorl	%r14d, %r14d
	jmp	LBB0_69
LBB0_81:                                ##   in Loop: Header=BB0_62 Depth=2
	movq	-56(%rbp), %rdx                 ## 8-byte Reload
	incl	%edx
	movl	-536(%rbp), %eax
	addl	-540(%rbp), %eax
	movq	%rdx, %rcx
	movq	%rdx, -56(%rbp)                 ## 8-byte Spill
	cmpl	%eax, %edx
	jl	LBB0_62
LBB0_82:                                ##   in Loop: Header=BB0_55 Depth=1
	movq	-48(%rbp), %rdx                 ## 8-byte Reload
	incl	%edx
	movl	-640(%rbp), %eax
	addl	-644(%rbp), %eax
	movq	%rdx, %rcx
	movq	%rdx, -48(%rbp)                 ## 8-byte Spill
	cmpl	%eax, %edx
	jl	LBB0_55
LBB0_83:
	movq	%r14, %rax
	jmp	LBB0_85
LBB0_47:
	movq	_Invalid_Argument@GOTPCREL(%rip), %rax
	jmp	LBB0_38
LBB0_84:
	xorl	%eax, %eax
	callq	_FT_GET_USHORT_LE
	movl	-72(%rbp), %ebx                 ## 4-byte Reload
	movl	%ebx, %ecx
	shll	%cl, %eax
	movq	8(%r13), %rcx
	movl	%eax, (%rcx)
	xorl	%eax, %eax
	callq	_FT_GET_USHORT_LE
	movl	%ebx, %ecx
	shll	%cl, %eax
	movq	8(%r13), %rcx
	movl	%eax, 4(%rcx)
	movq	-80(%rbp), %rbx                 ## 8-byte Reload
	addq	$8, 8(%rbx)
	xorl	%eax, %eax
	callq	_FT_FRAME_EXIT
	movq	8(%r13), %rdi
	movq	%rbx, %rsi
	callq	_fnt_font_load
LBB0_85:
	movq	-64(%rbp), %rbx                 ## 8-byte Reload
LBB0_86:
	movl	(%r13), %ecx
	testl	%ecx, %ecx
	je	LBB0_93
## %bb.87:
	cmpl	%ecx, %ebx
	jge	LBB0_94
LBB0_88:
	testq	%rax, %rax
	je	LBB0_91
LBB0_89:
	movq	%rax, %rbx
	movq	%r13, %rdi
	callq	_fnt_font_done
LBB0_90:
	movq	%rbx, %rcx
	jmp	LBB0_92
LBB0_91:
	xorl	%ecx, %ecx
LBB0_92:
	movq	%rcx, %rax
	addq	$1192, %rsp                     ## imm = 0x4A8
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_93:
	leaq	L_.str.14(%rip), %rdi
	callq	_FT_TRACE2
	movq	_Invalid_File_Format@GOTPCREL(%rip), %rax
	jmp	LBB0_95
LBB0_94:
	movq	_Invalid_Argument@GOTPCREL(%rip), %rax
LBB0_95:
	movl	(%rax), %edi
	callq	_FT_THROW
	movq	%rax, %rbx
	jmp	LBB0_90
LBB0_108:
	movq	%rax, %rcx
	movq	%rax, %rbx
	movq	%rcx, %rdi
	callq	_FT_TRACE2
	movq	%rbx, %rax
	jmp	LBB0_89
	.cfi_endproc
                                        ## -- End function
	.comm	_winmz_header_fields,4,2        ## @winmz_header_fields
	.comm	_Unknown_File_Format,4,2        ## @Unknown_File_Format
	.comm	_WINFNT_MZ_MAGIC,8,3            ## @WINFNT_MZ_MAGIC
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"MZ signature found\n"

	.comm	_winne_header_fields,4,2        ## @winne_header_fields
	.comm	_WINFNT_NE_MAGIC,8,3            ## @WINFNT_NE_MAGIC
L_.str.1:                               ## @.str.1
	.asciz	"NE signature found\n"

L_.str.2:                               ## @.str.2
	.asciz	"invalid alignment shift count for resource data\n"

	.comm	_Invalid_File_Format,4,2        ## @Invalid_File_Format
L_.str.3:                               ## @.str.3
	.asciz	"this file doesn't contain any FNT resources\n"

L_.str.4:                               ## @.str.4
	.asciz	"invalid number of faces\n"

	.comm	_Invalid_Argument,4,2           ## @Invalid_Argument
	.comm	_WINFNT_PE_MAGIC,8,3            ## @WINFNT_PE_MAGIC
L_.str.5:                               ## @.str.5
	.asciz	"PE signature found\n"

	.comm	_winpe32_header_fields,4,2      ## @winpe32_header_fields
L_.str.7:                               ## @.str.7
	.asciz	"this file has an invalid PE header\n"

	.comm	_winpe32_section_fields,4,2     ## @winpe32_section_fields
L_.str.9:                               ## @.str.9
	.asciz	"this file doesn't contain any resources\n"

	.comm	_winpe_rsrc_dir_fields,4,2      ## @winpe_rsrc_dir_fields
	.comm	_winpe_rsrc_dir_entry_fields,4,2 ## @winpe_rsrc_dir_entry_fields
	.comm	_winpe_rsrc_data_entry_fields,4,2 ## @winpe_rsrc_data_entry_fields
L_.str.14:                              ## @.str.14
	.asciz	"this file doesn't contain any RT_FONT resources\n"

	.no_dead_strip	_fnt_face_get_dll_font
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function fnt_face_get_dll_font
_fnt_face_get_dll_font:                 ; @fnt_face_get_dll_font
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	sub	sp, sp, #1168
	mov	x22, x1
	mov	x19, x0
	bl	_FT_FACE
	ldr	x21, [x0, #8]
	mov	x0, x19
	bl	_FT_FACE
	str	xzr, [x19, #8]
	mov	x0, x22
	bl	_FT_ABS
	mov	x23, x0
	mov	w0, #0
	bl	_FT_STREAM_SEEK
                                        ; implicit-def: $x20
	cbnz	x0, LBB0_2
; %bb.1:
Lloh0:
	adrp	x8, _winmz_header_fields@GOTPAGE
Lloh1:
	ldr	x8, [x8, _winmz_header_fields@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
	sub	x1, x29, #192
	bl	_FT_STREAM_READ_FIELDS
                                        ; implicit-def: $x20
	cbz	x0, LBB0_3
LBB0_2:
	mov	x0, x20
	add	sp, sp, #1168
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_3:
Lloh3:
	adrp	x24, _Unknown_File_Format@GOTPAGE
Lloh4:
	ldr	x24, [x24, _Unknown_File_Format@GOTPAGEOFF]
	ldr	w0, [x24]
	bl	_FT_ERR
	mov	x20, x0
	ldur	x8, [x29, #-192]
Lloh5:
	adrp	x9, _WINFNT_MZ_MAGIC@GOTPAGE
Lloh6:
	ldr	x9, [x9, _WINFNT_MZ_MAGIC@GOTPAGEOFF]
Lloh7:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_75
; %bb.4:
Lloh8:
	adrp	x0, l_.str@PAGE
Lloh9:
	add	x0, x0, l_.str@PAGEOFF
	bl	_FT_TRACE2
	ldur	w0, [x29, #-184]
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.5:
Lloh10:
	adrp	x8, _winne_header_fields@GOTPAGE
Lloh11:
	ldr	x8, [x8, _winne_header_fields@GOTPAGEOFF]
Lloh12:
	ldr	w0, [x8]
	add	x1, sp, #952
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.6:
	and	w26, w23, #0xffff
	ldr	w0, [x24]
	bl	_FT_ERR
	mov	x20, x0
	ldr	x8, [sp, #952]
Lloh13:
	adrp	x9, _WINFNT_NE_MAGIC@GOTPAGE
Lloh14:
	ldr	x9, [x9, _WINFNT_NE_MAGIC@GOTPAGEOFF]
Lloh15:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_11
; %bb.7:
	ldur	w8, [x29, #-184]
	ldr	w9, [sp, #964]
	add	w23, w9, w8
Lloh16:
	adrp	x0, l_.str.1@PAGE
Lloh17:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_FT_TRACE2
	mov	x0, x23
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.8:
	ldr	w8, [sp, #968]
	ldr	w9, [sp, #964]
	sub	w0, w8, w9
	bl	_FT_FRAME_ENTER
	cbnz	x0, LBB0_2
; %bb.9:
	bl	_FT_GET_USHORT_LE
	cmp	w0, #16
	b.le	LBB0_23
; %bb.10:
Lloh18:
	adrp	x0, l_.str.2@PAGE
Lloh19:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_78
LBB0_11:
Lloh20:
	adrp	x22, _WINFNT_PE_MAGIC@GOTPAGE
Lloh21:
	ldr	x22, [x22, _WINFNT_PE_MAGIC@GOTPAGEOFF]
	ldr	x9, [x22]
	cmp	x8, x9
	b.ne	LBB0_73
; %bb.12:
Lloh22:
	adrp	x0, l_.str.5@PAGE
Lloh23:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_FT_TRACE2
	ldur	w0, [x29, #-184]
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.13:
Lloh24:
	adrp	x8, _winpe32_header_fields@GOTPAGE
Lloh25:
	ldr	x8, [x8, _winpe32_header_fields@GOTPAGEOFF]
Lloh26:
	ldr	w0, [x8]
	add	x1, sp, #848
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.14:
	ldrsw	x0, [sp, #944]
	bl	_FT_TRACE2
	ldr	x8, [sp, #848]
	ldr	x9, [x22]
Lloh27:
	adrp	x22, l_.str.7@PAGE
Lloh28:
	add	x22, x22, l_.str.7@PAGEOFF
	cmp	x8, x9
	b.ne	LBB0_40
; %bb.15:
	ldr	w8, [sp, #868]
	cmp	w8, #332
	b.ne	LBB0_40
; %bb.16:
	ldr	w8, [sp, #876]
	cmp	w8, #224
	b.ne	LBB0_40
; %bb.17:
	ldr	w8, [sp, #880]
	cmp	w8, #267
	b.ne	LBB0_40
; %bb.18:
	str	wzr, [x19]
	ldr	w8, [sp, #872]
	cmp	w8, #1
	b.lt	LBB0_39
; %bb.19:
	mov	w23, #0
Lloh29:
	adrp	x24, _winpe32_section_fields@GOTPAGE
Lloh30:
	ldr	x24, [x24, _winpe32_section_fields@GOTPAGEOFF]
Lloh31:
	adrp	x22, l_.str.9@PAGE
Lloh32:
	add	x22, x22, l_.str.9@PAGEOFF
LBB0_20:                                ; =>This Inner Loop Header: Depth=1
	ldr	w0, [x24]
	add	x1, sp, #744
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.21:                               ;   in Loop: Header=BB0_20 Depth=1
	ldrsw	x0, [sp, #808]
	bl	_FT_TRACE2
	ldr	x8, [sp, #888]
	ldr	x9, [sp, #800]
	cmp	x8, x9
	b.eq	LBB0_41
; %bb.22:                               ;   in Loop: Header=BB0_20 Depth=1
	add	w23, w23, #1
	ldr	w8, [sp, #872]
	cmp	w23, w8
	b.lt	LBB0_20
	b	LBB0_40
LBB0_23:
	str	w0, [sp, #12]                   ; 4-byte Folded Spill
	bl	_FT_GET_USHORT_LE
	mov	x25, x0
	cbz	w0, LBB0_27
; %bb.24:
	mov	w27, #32776
	mov	w28, #12
	orr	w23, wzr, #0x4
LBB0_25:                                ; =>This Inner Loop Header: Depth=1
	bl	_FT_GET_USHORT_LE
	mov	x24, x0
	cmp	w25, w27
	b.eq	LBB0_28
; %bb.26:                               ;   in Loop: Header=BB0_25 Depth=1
	madd	w8, w24, w28, w23
	ldr	x9, [x21, #8]
	add	x8, x9, w8, sxtw
	str	x8, [x21, #8]
	bl	_FT_GET_USHORT_LE
	mov	x25, x0
	cbnz	w0, LBB0_25
LBB0_27:
	mov	w24, #0
	b	LBB0_29
LBB0_28:
	bl	_FT_STREAM_POS
	ldr	w8, [x21, #8]
	ldr	w9, [x21, #16]
	sub	w8, w8, w9
	add	w8, w0, w8
	add	w25, w8, #4
LBB0_29:
	bl	_FT_FRAME_EXIT
Lloh33:
	adrp	x0, l_.str.3@PAGE
Lloh34:
	add	x0, x0, l_.str.3@PAGEOFF
	cbz	w24, LBB0_78
; %bb.30:
	cbz	w25, LBB0_78
; %bb.31:
	mov	w8, #118
	smull	x8, w24, w8
	ldrsw	x9, [x21]
	cmp	x8, x9
	b.ls	LBB0_33
; %bb.32:
Lloh35:
	adrp	x0, l_.str.4@PAGE
Lloh36:
	add	x0, x0, l_.str.4@PAGEOFF
	b	LBB0_78
LBB0_33:
	str	w24, [x19]
	tbnz	x22, #63, LBB0_2
; %bb.34:
	cmp	w26, w24
	b.ge	LBB0_80
; %bb.35:
	ldr	x0, [x19, #8]
	bl	_FT_NEW
	cbnz	x0, LBB0_2
; %bb.36:
	mov	w8, #12
	madd	w0, w26, w8, w25
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_75
; %bb.37:
	mov	w0, #12
	bl	_FT_FRAME_ENTER
	cbnz	x0, LBB0_75
; %bb.38:
	bl	_FT_GET_USHORT_LE
	ldr	w20, [sp, #12]                  ; 4-byte Folded Reload
	lsl	w8, w0, w20
	ldr	x9, [x19, #8]
	str	w8, [x9]
	bl	_FT_GET_USHORT_LE
	lsl	w8, w0, w20
	ldr	x9, [x19, #8]
	str	w8, [x9, #4]
	ldr	x8, [x21, #8]
	add	x8, x8, #8
	str	x8, [x21, #8]
	bl	_FT_FRAME_EXIT
	ldr	x0, [x19, #8]
	mov	x1, x21
	bl	_fnt_font_load
	mov	x20, x0
	b	LBB0_73
LBB0_39:
Lloh37:
	adrp	x22, l_.str.9@PAGE
Lloh38:
	add	x22, x22, l_.str.9@PAGEOFF
LBB0_40:
	mov	x0, x22
	b	LBB0_78
LBB0_41:
	ldrsw	x0, [sp, #792]
	bl	_FT_TRACE2
	ldr	w0, [sp, #808]
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.42:
Lloh39:
	adrp	x23, _winpe_rsrc_dir_fields@GOTPAGE
Lloh40:
	ldr	x23, [x23, _winpe_rsrc_dir_fields@GOTPAGEOFF]
	ldr	w0, [x23]
	add	x1, sp, #640
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.43:
	ldr	w8, [sp, #708]
	ldr	w9, [sp, #712]
	add	w8, w9, w8
	cmp	w8, #1
	b.lt	LBB0_73
; %bb.44:
	mov	w24, #0
	ldr	w8, [sp, #808]
	str	w8, [sp, #12]                   ; 4-byte Folded Spill
	add	w8, w8, #16
	str	w8, [sp, #8]                    ; 4-byte Folded Spill
Lloh41:
	adrp	x28, _winpe_rsrc_dir_entry_fields@GOTPAGE
Lloh42:
	ldr	x28, [x28, _winpe_rsrc_dir_entry_fields@GOTPAGEOFF]
LBB0_45:                                ; =>This Loop Header: Depth=1
                                        ;     Child Loop BB0_52 Depth 2
                                        ;       Child Loop BB0_61 Depth 3
	ldr	w8, [sp, #8]                    ; 4-byte Folded Reload
	add	w0, w8, w24, lsl #3
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.46:                               ;   in Loop: Header=BB0_45 Depth=1
	ldr	w0, [x28]
	add	x1, sp, #328
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.47:                               ;   in Loop: Header=BB0_45 Depth=1
	ldr	w8, [sp, #404]
	tbz	w8, #31, LBB0_79
; %bb.48:                               ;   in Loop: Header=BB0_45 Depth=1
	and	w8, w8, #0x7fffffff
	str	w8, [sp, #404]
	ldr	w9, [sp, #808]
	add	w22, w9, w8
	mov	x0, x22
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.49:                               ;   in Loop: Header=BB0_45 Depth=1
	ldr	w0, [x23]
	add	x1, sp, #536
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.50:                               ;   in Loop: Header=BB0_45 Depth=1
	ldr	w8, [sp, #604]
	ldr	w9, [sp, #608]
	add	w8, w9, w8
	cmp	w8, #1
	b.lt	LBB0_72
; %bb.51:                               ;   in Loop: Header=BB0_45 Depth=1
	mov	w27, #0
	add	w8, w22, #16
	str	w8, [sp, #4]                    ; 4-byte Folded Spill
LBB0_52:                                ;   Parent Loop BB0_45 Depth=1
                                        ; =>  This Loop Header: Depth=2
                                        ;       Child Loop BB0_61 Depth 3
	ldr	w8, [sp, #4]                    ; 4-byte Folded Reload
	add	w0, w8, w27, lsl #3
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.53:                               ;   in Loop: Header=BB0_52 Depth=2
	ldr	w0, [x28]
	add	x1, sp, #224
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.54:                               ;   in Loop: Header=BB0_52 Depth=2
	ldr	w8, [sp, #300]
	tbz	w8, #31, LBB0_79
; %bb.55:                               ;   in Loop: Header=BB0_52 Depth=2
	and	w8, w8, #0x7fffffff
	str	w8, [sp, #300]
	ldr	w9, [sp, #808]
	add	w22, w9, w8
	mov	x0, x22
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.56:                               ;   in Loop: Header=BB0_52 Depth=2
	ldr	w0, [x23]
	add	x1, sp, #432
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.57:                               ;   in Loop: Header=BB0_52 Depth=2
	ldr	w8, [sp, #500]
	ldr	w9, [sp, #504]
	add	w8, w9, w8
	cmp	w8, #1
	b.lt	LBB0_71
; %bb.58:                               ;   in Loop: Header=BB0_52 Depth=2
	mov	w25, #0
	add	w22, w22, #16
	b	LBB0_61
LBB0_59:                                ;   in Loop: Header=BB0_61 Depth=3
	add	w8, w8, #1
	str	w8, [x19]
LBB0_60:                                ;   in Loop: Header=BB0_61 Depth=3
	add	w25, w25, #1
	ldr	w8, [sp, #500]
	ldr	w9, [sp, #504]
	add	w22, w22, #8
	add	w8, w9, w8
	cmp	w25, w8
	b.ge	LBB0_71
LBB0_61:                                ;   Parent Loop BB0_45 Depth=1
                                        ;     Parent Loop BB0_52 Depth=2
                                        ; =>    This Inner Loop Header: Depth=3
	mov	x0, x22
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.62:                               ;   in Loop: Header=BB0_61 Depth=3
	ldr	w0, [x28]
	add	x1, sp, #120
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.63:                               ;   in Loop: Header=BB0_61 Depth=3
	ldr	w8, [sp, #300]
	tbnz	w8, #31, LBB0_79
; %bb.64:                               ;   in Loop: Header=BB0_61 Depth=3
	ldr	w8, [sp, #376]
	cmp	w8, #8
	b.ne	LBB0_60
; %bb.65:                               ;   in Loop: Header=BB0_61 Depth=3
	ldr	w8, [sp, #196]
	ldr	w9, [sp, #12]                   ; 4-byte Folded Reload
	add	w0, w8, w9
	bl	_FT_STREAM_SEEK
	cbnz	x0, LBB0_2
; %bb.66:                               ;   in Loop: Header=BB0_61 Depth=3
Lloh43:
	adrp	x8, _winpe_rsrc_data_entry_fields@GOTPAGE
Lloh44:
	ldr	x8, [x8, _winpe_rsrc_data_entry_fields@GOTPAGEOFF]
Lloh45:
	ldr	w0, [x8]
	add	x1, sp, #16
	bl	_FT_STREAM_READ_FIELDS
	cbnz	x0, LBB0_2
; %bb.67:                               ;   in Loop: Header=BB0_61 Depth=3
	ldrsw	x0, [sp, #104]
	bl	_FT_TRACE2
	ldr	w8, [x19]
	cmp	w26, w8
	b.ne	LBB0_59
; %bb.68:                               ;   in Loop: Header=BB0_61 Depth=3
	ldr	x0, [x19, #8]
	bl	_FT_NEW
	cbnz	x0, LBB0_2
; %bb.69:                               ;   in Loop: Header=BB0_61 Depth=3
	ldr	w8, [sp, #96]
	ldr	w9, [sp, #808]
	ldr	w10, [sp, #800]
	add	w8, w8, w9
	sub	w8, w8, w10
	ldr	x0, [x19, #8]
	str	w8, [x0]
	ldr	w8, [sp, #100]
	str	w8, [x0, #4]
	mov	x1, x21
	bl	_fnt_font_load
	mov	x20, x0
	cbnz	x0, LBB0_82
; %bb.70:                               ;   in Loop: Header=BB0_61 Depth=3
	ldrsw	x0, [sp, #272]
	bl	_FT_TRACE2
	ldr	w8, [x19]
	b	LBB0_59
LBB0_71:                                ;   in Loop: Header=BB0_52 Depth=2
	add	w27, w27, #1
	ldr	w8, [sp, #604]
	ldr	w9, [sp, #608]
	add	w8, w9, w8
	cmp	w27, w8
	b.lt	LBB0_52
LBB0_72:                                ;   in Loop: Header=BB0_45 Depth=1
	add	w24, w24, #1
	ldr	w8, [sp, #708]
	ldr	w9, [sp, #712]
	add	w8, w9, w8
	cmp	w24, w8
	b.lt	LBB0_45
LBB0_73:
	ldr	w8, [x19]
	cbz	w8, LBB0_77
; %bb.74:
	cmp	w26, w8
	b.ge	LBB0_80
LBB0_75:
	cbz	x20, LBB0_2
LBB0_76:
	mov	x0, x19
	bl	_fnt_font_done
	b	LBB0_2
LBB0_77:
Lloh46:
	adrp	x0, l_.str.14@PAGE
Lloh47:
	add	x0, x0, l_.str.14@PAGEOFF
LBB0_78:
	bl	_FT_TRACE2
LBB0_79:
Lloh48:
	adrp	x8, _Invalid_File_Format@GOTPAGE
Lloh49:
	ldr	x8, [x8, _Invalid_File_Format@GOTPAGEOFF]
	b	LBB0_81
LBB0_80:
Lloh50:
	adrp	x8, _Invalid_Argument@GOTPAGE
Lloh51:
	ldr	x8, [x8, _Invalid_Argument@GOTPAGEOFF]
LBB0_81:
	ldr	w0, [x8]
	bl	_FT_THROW
	mov	x20, x0
	b	LBB0_2
LBB0_82:
	mov	x0, x20
	bl	_FT_TRACE2
	b	LBB0_76
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpAdd	Lloh33, Lloh34
	.loh AdrpAdd	Lloh35, Lloh36
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpAdd	Lloh46, Lloh47
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh50, Lloh51
	.cfi_endproc
                                        ; -- End function
	.comm	_winmz_header_fields,4,2        ; @winmz_header_fields
	.comm	_Unknown_File_Format,4,2        ; @Unknown_File_Format
	.comm	_WINFNT_MZ_MAGIC,8,3            ; @WINFNT_MZ_MAGIC
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"MZ signature found\n"

	.comm	_winne_header_fields,4,2        ; @winne_header_fields
	.comm	_WINFNT_NE_MAGIC,8,3            ; @WINFNT_NE_MAGIC
l_.str.1:                               ; @.str.1
	.asciz	"NE signature found\n"

l_.str.2:                               ; @.str.2
	.asciz	"invalid alignment shift count for resource data\n"

	.comm	_Invalid_File_Format,4,2        ; @Invalid_File_Format
l_.str.3:                               ; @.str.3
	.asciz	"this file doesn't contain any FNT resources\n"

l_.str.4:                               ; @.str.4
	.asciz	"invalid number of faces\n"

	.comm	_Invalid_Argument,4,2           ; @Invalid_Argument
	.comm	_WINFNT_PE_MAGIC,8,3            ; @WINFNT_PE_MAGIC
l_.str.5:                               ; @.str.5
	.asciz	"PE signature found\n"

	.comm	_winpe32_header_fields,4,2      ; @winpe32_header_fields
l_.str.7:                               ; @.str.7
	.asciz	"this file has an invalid PE header\n"

	.comm	_winpe32_section_fields,4,2     ; @winpe32_section_fields
l_.str.9:                               ; @.str.9
	.asciz	"this file doesn't contain any resources\n"

	.comm	_winpe_rsrc_dir_fields,4,2      ; @winpe_rsrc_dir_fields
	.comm	_winpe_rsrc_dir_entry_fields,4,2 ; @winpe_rsrc_dir_entry_fields
	.comm	_winpe_rsrc_data_entry_fields,4,2 ; @winpe_rsrc_data_entry_fields
l_.str.14:                              ; @.str.14
	.asciz	"this file doesn't contain any RT_FONT resources\n"

	.no_dead_strip	_fnt_face_get_dll_font
.subsections_via_symbols
