	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function nx_get_fw_version
_nx_get_fw_version:                     ## @nx_get_fw_version
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	8(%rdi), %rbx
	movq	(%rdi), %rax
	movq	_NX_UNIFIED_ROMIMAGE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_28
## %bb.1:
	movq	_NX_UNI_DIR_SECT_FW@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_NX_UNI_FIRMWARE_IDX_OFF@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_nx_get_data_desc
	movq	%rax, %r14
	movq	(%rbx), %rbx
	movl	4(%rax), %edi
	callq	_cpu_to_le32
	cltq
	leaq	(%rbx,%rax,4), %rbx
	movl	(%r14), %edi
	callq	_cpu_to_le32
	cltq
	leaq	(%rbx,%rax,4), %rbx
	addq	$-68, %rbx
	leaq	L_.str(%rip), %rsi
	movq	%rbx, %rdi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_2
## %bb.6:
	leaq	4(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_7
## %bb.8:
	leaq	8(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_9
## %bb.10:
	leaq	12(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_11
## %bb.12:
	leaq	16(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_13
## %bb.14:
	leaq	20(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_15
## %bb.16:
	leaq	24(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_17
## %bb.18:
	leaq	28(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_19
## %bb.20:
	leaq	32(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_21
## %bb.22:
	leaq	36(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_23
## %bb.24:
	leaq	40(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	testl	%eax, %eax
	je	LBB0_25
## %bb.26:
	leaq	44(%rbx), %rdi
	leaq	L_.str(%rip), %rsi
	movl	$4, %edx
	callq	_strncmp
	movl	%eax, %ecx
	xorl	%eax, %eax
	testl	%ecx, %ecx
	jne	LBB0_5
## %bb.27:
	movl	$15, %eax
	jmp	LBB0_3
LBB0_28:
	movq	(%rbx), %rax
	movq	_NX_FW_VERSION_OFFSET@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movl	(%rax,%rcx,4), %edi
	addq	$16, %rsp
	popq	%rbx
	popq	%r14
	popq	%rbp
	jmp	_cpu_to_le32                    ## TAILCALL
LBB0_2:
	movl	$4, %eax
	jmp	LBB0_3
LBB0_7:
	movl	$5, %eax
	jmp	LBB0_3
LBB0_9:
	movl	$6, %eax
	jmp	LBB0_3
LBB0_11:
	movl	$7, %eax
	jmp	LBB0_3
LBB0_13:
	movl	$8, %eax
	jmp	LBB0_3
LBB0_15:
	movl	$9, %eax
	jmp	LBB0_3
LBB0_17:
	movl	$10, %eax
	jmp	LBB0_3
LBB0_19:
	movl	$11, %eax
	jmp	LBB0_3
LBB0_21:
	movl	$12, %eax
	jmp	LBB0_3
LBB0_23:
	movl	$13, %eax
	jmp	LBB0_3
LBB0_25:
	movl	$14, %eax
LBB0_3:
	leaq	(%rbx,%rax,4), %rdi
	leaq	L_.str.1(%rip), %rsi
	leaq	-28(%rbp), %rdx
	leaq	-24(%rbp), %rcx
	leaq	-20(%rbp), %r8
	callq	_sscanf
	movl	%eax, %ecx
	xorl	%eax, %eax
	cmpl	$3, %ecx
	jne	LBB0_5
## %bb.4:
	movl	-24(%rbp), %ecx
	shll	$8, %ecx
	addl	-28(%rbp), %ecx
	movl	-20(%rbp), %eax
	shll	$16, %eax
	addl	%ecx, %eax
LBB0_5:
	addq	$16, %rsp
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_NX_UNIFIED_ROMIMAGE,8,3        ## @NX_UNIFIED_ROMIMAGE
	.comm	_NX_UNI_DIR_SECT_FW,4,2         ## @NX_UNI_DIR_SECT_FW
	.comm	_NX_UNI_FIRMWARE_IDX_OFF,4,2    ## @NX_UNI_FIRMWARE_IDX_OFF
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"REV="

L_.str.1:                               ## @.str.1
	.asciz	"%u.%u.%u "

	.comm	_NX_FW_VERSION_OFFSET,8,3       ## @NX_FW_VERSION_OFFSET
	.no_dead_strip	_nx_get_fw_version
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function nx_get_fw_version
_nx_get_fw_version:                     ; @nx_get_fw_version
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #48
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	ldp	x8, x20, [x0]
Lloh0:
	adrp	x9, _NX_UNIFIED_ROMIMAGE@GOTPAGE
Lloh1:
	ldr	x9, [x9, _NX_UNIFIED_ROMIMAGE@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_14
; %bb.1:
Lloh3:
	adrp	x8, _NX_UNI_DIR_SECT_FW@GOTPAGE
Lloh4:
	ldr	x8, [x8, _NX_UNI_DIR_SECT_FW@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
Lloh6:
	adrp	x8, _NX_UNI_FIRMWARE_IDX_OFF@GOTPAGE
Lloh7:
	ldr	x8, [x8, _NX_UNI_FIRMWARE_IDX_OFF@GOTPAGEOFF]
Lloh8:
	ldr	w2, [x8]
	bl	_nx_get_data_desc
	mov	x19, x0
	ldr	x20, [x20]
	ldr	w0, [x0, #4]
	bl	_cpu_to_le32
	add	x20, x20, w0, sxtw #2
	ldr	w0, [x19]
	bl	_cpu_to_le32
	add	x8, x20, w0, sxtw #2
	sub	x19, x8, #68
Lloh9:
	adrp	x1, l_.str@PAGE
Lloh10:
	add	x1, x1, l_.str@PAGEOFF
	mov	w20, #4
	mov	x0, x19
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_25
; %bb.2:
	add	x0, x19, #4
Lloh11:
	adrp	x1, l_.str@PAGE
Lloh12:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_15
; %bb.3:
	add	x0, x19, #8
Lloh13:
	adrp	x1, l_.str@PAGE
Lloh14:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_16
; %bb.4:
	add	x0, x19, #12
Lloh15:
	adrp	x1, l_.str@PAGE
Lloh16:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_17
; %bb.5:
	add	x0, x19, #16
Lloh17:
	adrp	x1, l_.str@PAGE
Lloh18:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_18
; %bb.6:
	add	x0, x19, #20
Lloh19:
	adrp	x1, l_.str@PAGE
Lloh20:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_19
; %bb.7:
	add	x0, x19, #24
Lloh21:
	adrp	x1, l_.str@PAGE
Lloh22:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_20
; %bb.8:
	add	x0, x19, #28
Lloh23:
	adrp	x1, l_.str@PAGE
Lloh24:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_21
; %bb.9:
	add	x0, x19, #32
Lloh25:
	adrp	x1, l_.str@PAGE
Lloh26:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_22
; %bb.10:
	add	x0, x19, #36
Lloh27:
	adrp	x1, l_.str@PAGE
Lloh28:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_23
; %bb.11:
	add	x0, x19, #40
Lloh29:
	adrp	x1, l_.str@PAGE
Lloh30:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbz	w0, LBB0_24
; %bb.12:
	add	x0, x19, #44
Lloh31:
	adrp	x1, l_.str@PAGE
Lloh32:
	add	x1, x1, l_.str@PAGEOFF
	mov	w2, #4
	bl	_strncmp
	cbnz	w0, LBB0_27
; %bb.13:
	mov	w20, #15
	b	LBB0_25
LBB0_14:
	ldr	x8, [x20]
Lloh33:
	adrp	x9, _NX_FW_VERSION_OFFSET@GOTPAGE
Lloh34:
	ldr	x9, [x9, _NX_FW_VERSION_OFFSET@GOTPAGEOFF]
Lloh35:
	ldr	x9, [x9]
	ldr	w0, [x8, x9, lsl #2]
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #48
	b	_cpu_to_le32
LBB0_15:
	mov	w20, #5
	b	LBB0_25
LBB0_16:
	mov	w20, #6
	b	LBB0_25
LBB0_17:
	mov	w20, #7
	b	LBB0_25
LBB0_18:
	mov	w20, #8
	b	LBB0_25
LBB0_19:
	mov	w20, #9
	b	LBB0_25
LBB0_20:
	mov	w20, #10
	b	LBB0_25
LBB0_21:
	mov	w20, #11
	b	LBB0_25
LBB0_22:
	mov	w20, #12
	b	LBB0_25
LBB0_23:
	mov	w20, #13
	b	LBB0_25
LBB0_24:
	mov	w20, #14
LBB0_25:
	add	x0, x19, x20, lsl #2
Lloh36:
	adrp	x1, l_.str.1@PAGE
Lloh37:
	add	x1, x1, l_.str.1@PAGEOFF
	add	x2, sp, #12
	add	x3, sp, #8
	add	x4, sp, #4
	bl	_sscanf
	cmp	w0, #3
	b.ne	LBB0_27
; %bb.26:
	ldp	w9, w8, [sp, #8]
	add	w8, w8, w9, lsl #8
	ldr	w9, [sp, #4]
	add	w0, w8, w9, lsl #16
	b	LBB0_28
LBB0_27:
	mov	w0, #0
LBB0_28:
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	add	sp, sp, #48
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpAdd	Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpAdd	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpAdd	Lloh36, Lloh37
	.cfi_endproc
                                        ; -- End function
	.comm	_NX_UNIFIED_ROMIMAGE,8,3        ; @NX_UNIFIED_ROMIMAGE
	.comm	_NX_UNI_DIR_SECT_FW,4,2         ; @NX_UNI_DIR_SECT_FW
	.comm	_NX_UNI_FIRMWARE_IDX_OFF,4,2    ; @NX_UNI_FIRMWARE_IDX_OFF
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"REV="

l_.str.1:                               ; @.str.1
	.asciz	"%u.%u.%u "

	.comm	_NX_FW_VERSION_OFFSET,8,3       ; @NX_FW_VERSION_OFFSET
	.no_dead_strip	_nx_get_fw_version
.subsections_via_symbols
