	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function validate_mach_message
_validate_mach_message:                 ## @validate_mach_message
	.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
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	64(%rsi), %rax
	movq	_ex@GOTPCREL(%rip), %rcx
	xorl	%r14d, %r14d
	cmpq	(%rcx), %rax
	jne	LBB0_15
## %bb.1:
	movq	%rsi, %rbx
	movq	_MACH_MSGH_BITS_COMPLEX@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, 72(%rsi)
	je	LBB0_15
## %bb.2:
	movl	$-2406, %eax                    ## imm = 0xF69A
	addl	76(%rbx), %eax
	cmpl	$-5, %eax
	jb	LBB0_15
## %bb.3:
	cmpl	$32, 80(%rbx)
	jb	LBB0_15
## %bb.4:
	movq	16(%rbx), %rax
	movq	_NDR_PROTOCOL_2_0@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_15
## %bb.5:
	cmpq	%rax, 24(%rbx)
	jne	LBB0_15
## %bb.6:
	movq	32(%rbx), %rcx
	movq	_NDR_record@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	jne	LBB0_15
## %bb.7:
	movq	40(%rbx), %rcx
	cmpq	8(%rax), %rcx
	jne	LBB0_15
## %bb.8:
	movq	48(%rbx), %rcx
	cmpq	16(%rax), %rcx
	jne	LBB0_15
## %bb.9:
	movq	56(%rbx), %rcx
	cmpq	24(%rax), %rcx
	jne	LBB0_15
## %bb.10:
	movl	(%rdi), %edi
	callq	_pid_to_task
	movl	$1, %r14d
	cmpq	8(%rbx), %rax
	je	LBB0_15
## %bb.11:
	xorl	%r14d, %r14d
	xorl	%eax, %eax
	callq	_mach_task_self
	movq	8(%rbx), %rsi
	movl	%eax, %edi
	callq	_mach_port_deallocate
	movq	_KERN_SUCCESS@GOTPCREL(%rip), %r15
	cmpq	(%r15), %rax
	je	LBB0_13
## %bb.12:
	leaq	L_.str(%rip), %rdi
	callq	_eprintf
LBB0_13:
	xorl	%eax, %eax
	callq	_mach_task_self
	movq	(%rbx), %rsi
	movl	%eax, %edi
	callq	_mach_port_deallocate
	cmpq	(%r15), %rax
	je	LBB0_15
## %bb.14:
	leaq	L_.str.1(%rip), %rdi
	callq	_eprintf
LBB0_15:
	movl	%r14d, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_ex,8,3                         ## @ex
	.comm	_MACH_MSGH_BITS_COMPLEX,4,2     ## @MACH_MSGH_BITS_COMPLEX
	.comm	_NDR_PROTOCOL_2_0,8,3           ## @NDR_PROTOCOL_2_0
	.comm	_NDR_record,32,3                ## @NDR_record
	.comm	_KERN_SUCCESS,8,3               ## @KERN_SUCCESS
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"validate_mach_message: failed to deallocate task port\n"

L_.str.1:                               ## @.str.1
	.asciz	"validate_mach_message2: failed to deallocated task port\n"

	.no_dead_strip	_validate_mach_message
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function validate_mach_message
_validate_mach_message:                 ; @validate_mach_message
	.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
	ldr	x8, [x1, #64]
Lloh0:
	adrp	x9, _ex@GOTPAGE
Lloh1:
	ldr	x9, [x9, _ex@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_16
; %bb.1:
	mov	x19, x1
	ldr	w8, [x1, #72]
Lloh3:
	adrp	x9, _MACH_MSGH_BITS_COMPLEX@GOTPAGE
Lloh4:
	ldr	x9, [x9, _MACH_MSGH_BITS_COMPLEX@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_16
; %bb.2:
	ldr	w8, [x19, #76]
	sub	w8, w8, #2406
	cmn	w8, #5
	b.lo	LBB0_16
; %bb.3:
	ldr	w8, [x19, #80]
	cmp	w8, #32
	b.lo	LBB0_16
; %bb.4:
	ldr	x8, [x19, #16]
Lloh6:
	adrp	x9, _NDR_PROTOCOL_2_0@GOTPAGE
Lloh7:
	ldr	x9, [x9, _NDR_PROTOCOL_2_0@GOTPAGEOFF]
Lloh8:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_16
; %bb.5:
	ldr	x9, [x19, #24]
	cmp	x9, x8
	b.ne	LBB0_16
; %bb.6:
	ldr	x9, [x19, #32]
Lloh9:
	adrp	x8, _NDR_record@GOTPAGE
Lloh10:
	ldr	x8, [x8, _NDR_record@GOTPAGEOFF]
	ldr	x10, [x8]
	cmp	x9, x10
	b.ne	LBB0_16
; %bb.7:
	ldr	x9, [x19, #40]
	ldr	x10, [x8, #8]
	cmp	x9, x10
	b.ne	LBB0_16
; %bb.8:
	ldr	x9, [x19, #48]
	ldr	x10, [x8, #16]
	cmp	x9, x10
	b.ne	LBB0_16
; %bb.9:
	ldr	x9, [x19, #56]
	ldr	x8, [x8, #24]
	cmp	x9, x8
	b.ne	LBB0_16
; %bb.10:
	ldr	w0, [x0]
	bl	_pid_to_task
	ldr	x8, [x19, #8]
	cmp	x0, x8
	b.ne	LBB0_12
; %bb.11:
	mov	w0, #1
	b	LBB0_17
LBB0_12:
	bl	_mach_task_self
	ldr	x1, [x19, #8]
	bl	_mach_port_deallocate
Lloh11:
	adrp	x20, _KERN_SUCCESS@GOTPAGE
Lloh12:
	ldr	x20, [x20, _KERN_SUCCESS@GOTPAGEOFF]
	ldr	x8, [x20]
	cmp	x0, x8
	b.eq	LBB0_14
; %bb.13:
Lloh13:
	adrp	x0, l_.str@PAGE
Lloh14:
	add	x0, x0, l_.str@PAGEOFF
	bl	_eprintf
LBB0_14:
	bl	_mach_task_self
	ldr	x1, [x19]
	bl	_mach_port_deallocate
	ldr	x8, [x20]
	cmp	x0, x8
	b.eq	LBB0_16
; %bb.15:
Lloh15:
	adrp	x0, l_.str.1@PAGE
Lloh16:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	_eprintf
LBB0_16:
	mov	w0, #0
LBB0_17:
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_ex,8,3                         ; @ex
	.comm	_MACH_MSGH_BITS_COMPLEX,4,2     ; @MACH_MSGH_BITS_COMPLEX
	.comm	_NDR_PROTOCOL_2_0,8,3           ; @NDR_PROTOCOL_2_0
	.comm	_NDR_record,32,3                ; @NDR_record
	.comm	_KERN_SUCCESS,8,3               ; @KERN_SUCCESS
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"validate_mach_message: failed to deallocate task port\n"

l_.str.1:                               ; @.str.1
	.asciz	"validate_mach_message2: failed to deallocated task port\n"

	.no_dead_strip	_validate_mach_message
.subsections_via_symbols
