	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function emc1403_detect
_emc1403_detect:                        ## @emc1403_detect
	.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
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	%rsi, %r14
	movq	%rdi, %rbx
	movq	_THERMAL_SMSC_ID_REG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_i2c_smbus_read_byte_data
	cmpl	$93, %eax
	jne	LBB0_4
## %bb.1:
	movq	_THERMAL_PID_REG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_i2c_smbus_read_byte_data
	addl	$-32, %eax
	cmpl	$8, %eax
	jae	LBB0_4
## %bb.2:
	movl	$175, %ecx
	btl	%eax, %ecx
	jae	LBB0_4
## %bb.3:
	cltq
	leaq	l_reltable.emc1403_detect(%rip), %rcx
	movslq	(%rcx,%rax,4), %rsi
	addq	%rcx, %rsi
	movl	(%r14), %edi
	movq	_I2C_NAME_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	callq	_strlcpy
	movq	_THERMAL_REVISION_REG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_i2c_smbus_read_byte_data
	movl	%eax, %ecx
	addl	$-5, %ecx
	xorl	%eax, %eax
	cmpl	$-5, %ecx
	ja	LBB0_5
LBB0_4:
	movq	_ENODEV@GOTPCREL(%rip), %rcx
	xorl	%eax, %eax
	subl	(%rcx), %eax
LBB0_5:
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_THERMAL_SMSC_ID_REG,4,2        ## @THERMAL_SMSC_ID_REG
	.comm	_ENODEV,4,2                     ## @ENODEV
	.comm	_THERMAL_PID_REG,4,2            ## @THERMAL_PID_REG
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"emc1402"

	.comm	_I2C_NAME_SIZE,4,2              ## @I2C_NAME_SIZE
L_.str.1:                               ## @.str.1
	.asciz	"emc1403"

L_.str.2:                               ## @.str.2
	.asciz	"emc1422"

L_.str.3:                               ## @.str.3
	.asciz	"emc1423"

L_.str.4:                               ## @.str.4
	.asciz	"emc1404"

L_.str.5:                               ## @.str.5
	.asciz	"emc1424"

	.comm	_THERMAL_REVISION_REG,4,2       ## @THERMAL_REVISION_REG
	.no_dead_strip	_emc1403_detect
	.section	__TEXT,__const
	.p2align	2                               ## @reltable.emc1403_detect
l_reltable.emc1403_detect:
	.long	L_.str-l_reltable.emc1403_detect
	.long	L_.str.1-l_reltable.emc1403_detect
	.long	L_.str.2-l_reltable.emc1403_detect
	.long	L_.str.3-l_reltable.emc1403_detect
	.long	L_.str-l_reltable.emc1403_detect
	.long	L_.str.4-l_reltable.emc1403_detect
	.long	L_.str-l_reltable.emc1403_detect
	.long	L_.str.5-l_reltable.emc1403_detect

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function emc1403_detect
_emc1403_detect:                        ; @emc1403_detect
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	mov	x20, x1
	mov	x19, x0
Lloh0:
	adrp	x8, _THERMAL_SMSC_ID_REG@GOTPAGE
Lloh1:
	ldr	x8, [x8, _THERMAL_SMSC_ID_REG@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
	bl	_i2c_smbus_read_byte_data
	cmp	w0, #93
	b.ne	LBB0_4
; %bb.1:
Lloh3:
	adrp	x8, _THERMAL_PID_REG@GOTPAGE
Lloh4:
	ldr	x8, [x8, _THERMAL_PID_REG@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_i2c_smbus_read_byte_data
	sub	w8, w0, #32
	cmp	w8, #8
	b.hs	LBB0_4
; %bb.2:
	mov	w9, #175
	lsr	w9, w9, w8
	tbz	w9, #0, LBB0_4
; %bb.3:
Lloh6:
	adrp	x9, l_switch.table.emc1403_detect@PAGE
Lloh7:
	add	x9, x9, l_switch.table.emc1403_detect@PAGEOFF
	ldr	x1, [x9, w8, sxtw #3]
	ldr	w0, [x20]
Lloh8:
	adrp	x8, _I2C_NAME_SIZE@GOTPAGE
Lloh9:
	ldr	x8, [x8, _I2C_NAME_SIZE@GOTPAGEOFF]
Lloh10:
	ldr	w2, [x8]
	bl	_strlcpy
Lloh11:
	adrp	x8, _THERMAL_REVISION_REG@GOTPAGE
Lloh12:
	ldr	x8, [x8, _THERMAL_REVISION_REG@GOTPAGEOFF]
Lloh13:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_i2c_smbus_read_byte_data
	sub	w8, w0, #5
	cmn	w8, #5
	b.hi	LBB0_6
LBB0_4:
Lloh14:
	adrp	x8, _ENODEV@GOTPAGE
Lloh15:
	ldr	x8, [x8, _ENODEV@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
	neg	w0, w8
LBB0_5:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
LBB0_6:
	mov	w0, #0
	b	LBB0_5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_THERMAL_SMSC_ID_REG,4,2        ; @THERMAL_SMSC_ID_REG
	.comm	_ENODEV,4,2                     ; @ENODEV
	.comm	_THERMAL_PID_REG,4,2            ; @THERMAL_PID_REG
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"emc1402"

	.comm	_I2C_NAME_SIZE,4,2              ; @I2C_NAME_SIZE
l_.str.1:                               ; @.str.1
	.asciz	"emc1403"

l_.str.2:                               ; @.str.2
	.asciz	"emc1422"

l_.str.3:                               ; @.str.3
	.asciz	"emc1423"

l_.str.4:                               ; @.str.4
	.asciz	"emc1404"

l_.str.5:                               ; @.str.5
	.asciz	"emc1424"

	.comm	_THERMAL_REVISION_REG,4,2       ; @THERMAL_REVISION_REG
	.no_dead_strip	_emc1403_detect
	.section	__DATA,__const
	.p2align	3                               ; @switch.table.emc1403_detect
l_switch.table.emc1403_detect:
	.quad	l_.str
	.quad	l_.str.1
	.quad	l_.str.2
	.quad	l_.str.3
	.quad	l_.str
	.quad	l_.str.4
	.quad	l_.str
	.quad	l_.str.5

.subsections_via_symbols
