	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function pfkey_msg2xfrm_state
_pfkey_msg2xfrm_state:                  ## @pfkey_msg2xfrm_state
	.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	_SADB_EXT_SA@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rdx,%rax,8), %r15
	testq	%r15, %r15
	je	LBB0_2
## %bb.1:
	movq	%rdx, %rbx
	movq	%rsi, %r14
	movq	%rdi, %r12
	movq	_SADB_EXT_ADDRESS_SRC@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rdx,%rax,8), %rdi
	movq	_SADB_EXT_ADDRESS_DST@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rdx,%rax,8), %rsi
	callq	_present_and_same_family
	testl	%eax, %eax
	je	LBB0_2
## %bb.3:
	movq	(%r14), %rdi
	movq	_SADB_SATYPE_ESP@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rdi
	jne	LBB0_5
## %bb.4:
	movq	_SADB_EXT_KEY_ENCRYPT@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	cmpq	$0, -8(%rbx,%rax,8)
	je	LBB0_2
LBB0_5:
	movq	_SADB_SATYPE_AH@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rdi
	jne	LBB0_7
## %bb.6:
	movq	_SADB_EXT_KEY_AUTH@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	cmpq	$0, -8(%rbx,%rax,8)
	je	LBB0_2
LBB0_7:
	movq	_SADB_EXT_LIFETIME_HARD@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	cmpq	$0, -8(%rbx,%rax,8)
	sete	%al
	movq	_SADB_EXT_LIFETIME_SOFT@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	cmpq	$0, -8(%rbx,%rcx,8)
	setne	%cl
	xorb	%al, %cl
	je	LBB0_2
## %bb.8:
	callq	_pfkey_satype2proto
	testq	%rax, %rax
	je	LBB0_2
## %bb.9:
	movq	%rax, %r13
	xorl	%edi, %edi
	movq	(%r15), %rcx
	movq	_SADB_AALG_MAX@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	jle	LBB0_10
LBB0_12:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	jmp	LBB0_13
LBB0_10:
	movq	(%r14), %rax
	movq	_SADB_X_SATYPE_IPCOMP@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rax
	sete	%dl
	movq	8(%r15), %r8
	movq	_SADB_X_CALG_MAX@GOTPCREL(%rip), %rsi
	cmpq	(%rsi), %r8
	setg	%al
	testb	%al, %dl
	jne	LBB0_12
## %bb.11:
	movq	_SADB_EALG_MAX@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r8
	jg	LBB0_12
## %bb.15:
	movq	_ENOBUFS@GOTPCREL(%rip), %rax
	subl	(%rax), %edi
	movq	_SADB_EXT_KEY_AUTH@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %rdx
	testq	%rdx, %rdx
	je	LBB0_19
## %bb.16:
	movq	_SADB_X_AALG_NULL@GOTPCREL(%rip), %rax
	cmpq	(%rax), %rcx
	je	LBB0_19
## %bb.17:
	movl	(%rdx), %ecx
	leal	14(%rcx), %esi
	cmpl	$15, %esi
	jb	LBB0_2
## %bb.18:
	addl	$7, %ecx
	cmovsl	%esi, %ecx
	sarl	$3, %ecx
	movslq	%ecx, %rax
	movslq	4(%rdx), %rcx
	shlq	$2, %rcx
	cmpq	%rax, %rcx
	jb	LBB0_2
LBB0_19:
	movq	_SADB_EXT_KEY_ENCRYPT@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %rcx
	testq	%rcx, %rcx
	je	LBB0_23
## %bb.20:
	movq	_SADB_EALG_NULL@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r8
	je	LBB0_23
## %bb.21:
	movl	(%rcx), %eax
	leal	14(%rax), %edx
	cmpl	$15, %edx
	jb	LBB0_2
## %bb.22:
	addl	$7, %eax
	cmovsl	%edx, %eax
	sarl	$3, %eax
	cltq
	movslq	4(%rcx), %rcx
	shlq	$2, %rcx
	cmpq	%rax, %rcx
	jae	LBB0_23
LBB0_2:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	xorl	%edi, %edi
LBB0_13:
	subl	(%rax), %edi
LBB0_14:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_ERR_PTR                        ## TAILCALL
LBB0_23:
	movl	%edi, -56(%rbp)                 ## 4-byte Spill
	movq	%r12, %rdi
	callq	_xfrm_state_alloc
	testq	%rax, %rax
	je	LBB0_24
## %bb.25:
	movq	%r13, 96(%rax)
	movl	24(%r15), %ecx
	movl	%ecx, 92(%rax)
	movl	20(%r15), %ecx
	movl	%ecx, 68(%rax)
	movl	16(%r15), %edx
	movq	_SADB_SAFLAGS_NOECN@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	je	LBB0_27
## %bb.26:
	movq	_XFRM_STATE_NOECN@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	%ecx, 64(%rax)
LBB0_27:
	movq	_SADB_SAFLAGS_DECAP_DSCP@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	movl	-56(%rbp), %r12d                ## 4-byte Reload
	movq	_SADB_X_SATYPE_IPCOMP@GOTPCREL(%rip), %rsi
	je	LBB0_29
## %bb.28:
	movq	_XFRM_STATE_DECAP_DSCP@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	%ecx, 64(%rax)
LBB0_29:
	movq	_SADB_SAFLAGS_NOPMTUDISC@GOTPCREL(%rip), %rcx
	testl	%edx, (%rcx)
	je	LBB0_31
## %bb.30:
	movq	_XFRM_STATE_NOPMTUDISC@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	%ecx, 64(%rax)
LBB0_31:
	movq	_SADB_EXT_LIFETIME_HARD@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	movq	-8(%rbx,%rcx,8), %r13
	testq	%r13, %r13
	movq	%rax, -48(%rbp)                 ## 8-byte Spill
	je	LBB0_33
## %bb.32:
	movl	12(%r13), %edi
	callq	__KEY2X
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 168(%rcx)
	movl	8(%r13), %edi
	callq	__KEY2X
	movq	_SADB_X_SATYPE_IPCOMP@GOTPCREL(%rip), %rsi
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movl	-56(%rbp), %r12d                ## 4-byte Reload
	movq	%rax, 160(%rcx)
	movl	4(%r13), %eax
	movl	%eax, 156(%rcx)
	movl	(%r13), %eax
	movl	%eax, 152(%rcx)
LBB0_33:
	movq	_SADB_EXT_LIFETIME_SOFT@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %r13
	testq	%r13, %r13
	je	LBB0_35
## %bb.34:
	movl	12(%r13), %edi
	callq	__KEY2X
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 144(%rcx)
	movl	8(%r13), %edi
	callq	__KEY2X
	movq	_SADB_X_SATYPE_IPCOMP@GOTPCREL(%rip), %rsi
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movl	-56(%rbp), %r12d                ## 4-byte Reload
	movq	%rax, 136(%rcx)
	movl	4(%r13), %eax
	movl	%eax, 132(%rcx)
	movl	(%r13), %eax
	movl	%eax, 128(%rcx)
LBB0_35:
	movq	_SADB_X_EXT_SEC_CTX@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %rdi
	testq	%rdi, %rdi
	je	LBB0_39
## %bb.36:
	callq	_pfkey_sadb2xfrm_user_sec_ctx
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	testq	%rax, %rax
	je	LBB0_82
## %bb.37:
	movq	%rax, %r13
	movq	%rcx, %rdi
	movq	%rax, %rsi
	callq	_security_xfrm_state_alloc
	movl	%eax, %r12d
	movq	%r13, %rdi
	callq	_kfree
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	testl	%r12d, %r12d
	jne	LBB0_82
## %bb.38:
	xorl	%r12d, %r12d
	movq	_SADB_X_SATYPE_IPCOMP@GOTPCREL(%rip), %rsi
LBB0_39:
	movq	(%r15), %rdi
	testq	%rdi, %rdi
	movq	_SADB_EXT_ADDRESS_DST@GOTPCREL(%rip), %r13
	je	LBB0_50
## %bb.40:
	movq	_SADB_EXT_KEY_AUTH@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %r13
	callq	_xfrm_aalg_get_byid
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	testq	%rax, %rax
	je	LBB0_41
## %bb.43:
	testq	%r13, %r13
	movq	%r13, -64(%rbp)                 ## 8-byte Spill
	je	LBB0_44
## %bb.45:
	movl	(%r13), %r13d
	leal	7(%r13), %eax
	addl	$14, %r13d
	testl	%eax, %eax
	cmovnsl	%eax, %r13d
	sarl	$3, %r13d
	jmp	LBB0_46
LBB0_24:
	xorl	%edi, %edi
	movq	_ENOBUFS@GOTPCREL(%rip), %rax
	jmp	LBB0_13
LBB0_44:
	xorl	%r13d, %r13d
LBB0_46:
	leal	16(%r13), %edi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_kmalloc
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 120(%rcx)
	testq	%rax, %rax
	je	LBB0_82
## %bb.47:
	movl	12(%rax), %edi
	movq	-56(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %esi
	callq	_strcpy
	movq	-48(%rbp), %rdx                 ## 8-byte Reload
	movq	120(%rdx), %rax
	movl	$0, (%rax)
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	testq	%rsi, %rsi
	je	LBB0_49
## %bb.48:
	movl	(%rsi), %ecx
	movl	%ecx, (%rax)
	movl	8(%rax), %edi
	addq	$8, %rsi
	movl	%r13d, %edx
	callq	_memcpy
	movq	-48(%rbp), %rdx                 ## 8-byte Reload
	movq	120(%rdx), %rax
LBB0_49:
	movq	_SADB_EXT_ADDRESS_DST@GOTPCREL(%rip), %r13
	movq	_SADB_X_SATYPE_IPCOMP@GOTPCREL(%rip), %rsi
	movq	-56(%rbp), %rcx                 ## 8-byte Reload
	movl	4(%rcx), %ecx
	movl	%ecx, 4(%rax)
	movq	(%r15), %rax
	movq	%rax, 16(%rdx)
LBB0_50:
	movq	8(%r15), %rdi
	testq	%rdi, %rdi
	je	LBB0_64
## %bb.51:
	movq	(%r14), %rax
	cmpq	(%rsi), %rax
	jne	LBB0_55
## %bb.52:
	callq	_xfrm_calg_get_byid
	testq	%rax, %rax
	je	LBB0_41
## %bb.53:
	movq	%rax, %r13
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$4, %edi
	callq	_kmalloc
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 112(%rcx)
	testq	%rax, %rax
	je	LBB0_82
## %bb.54:
	movl	(%rax), %edi
	movl	(%r13), %esi
	callq	_strcpy
	movq	8(%r15), %rax
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 24(%rcx)
	jmp	LBB0_63
LBB0_55:
	callq	_xfrm_ealg_get_byid
	testq	%rax, %rax
	je	LBB0_41
## %bb.56:
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	_SADB_EXT_KEY_ENCRYPT@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %rax
	testq	%rax, %rax
	movq	%rax, -56(%rbp)                 ## 8-byte Spill
	je	LBB0_57
## %bb.58:
	movl	(%rax), %r13d
	leal	7(%r13), %eax
	addl	$14, %r13d
	testl	%eax, %eax
	cmovnsl	%eax, %r13d
	sarl	$3, %r13d
	jmp	LBB0_59
LBB0_41:
	movq	_ENOSYS@GOTPCREL(%rip), %rax
LBB0_42:
	xorl	%r12d, %r12d
	subl	(%rax), %r12d
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	jmp	LBB0_82
LBB0_57:
	xorl	%r13d, %r13d
LBB0_59:
	leal	12(%r13), %edi
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_kmalloc
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 104(%rcx)
	testq	%rax, %rax
	je	LBB0_82
## %bb.60:
	movl	8(%rax), %edi
	movq	-64(%rbp), %rax                 ## 8-byte Reload
	movl	(%rax), %esi
	callq	_strcpy
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	104(%rcx), %rax
	movl	$0, (%rax)
	movq	-56(%rbp), %rsi                 ## 8-byte Reload
	testq	%rsi, %rsi
	je	LBB0_62
## %bb.61:
	movl	(%rsi), %ecx
	movl	%ecx, (%rax)
	movl	4(%rax), %edi
	addq	$8, %rsi
	movl	%r13d, %edx
	callq	_memcpy
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
LBB0_62:
	movq	8(%r15), %rax
	movq	%rax, 32(%rcx)
LBB0_63:
	movq	_SADB_EXT_ADDRESS_DST@GOTPCREL(%rip), %r13
LBB0_64:
	movq	_SADB_EXT_ADDRESS_SRC@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %rdi
	movq	-48(%rbp), %rax                 ## 8-byte Reload
	leaq	60(%rax), %rsi
	callq	_pfkey_sadb_addr2xfrm_addr
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 48(%rcx)
	testq	%rax, %rax
	je	LBB0_65
## %bb.66:
	movslq	(%r13), %rax
	movq	-8(%rbx,%rax,8), %rdi
	leaq	88(%rcx), %rsi
	callq	_pfkey_sadb_addr2xfrm_addr
	movq	_SADB_X_EXT_SA2@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %r15
	testq	%r15, %r15
	je	LBB0_69
## %bb.67:
	movl	4(%r15), %edi
	callq	_pfkey_mode_to_xfrm
	testl	%eax, %eax
	js	LBB0_83
## %bb.68:
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, 40(%rcx)
	movl	(%r15), %eax
	movl	%eax, 56(%rcx)
LBB0_69:
	movq	_SADB_EXT_ADDRESS_PROXY@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	movq	-8(%rbx,%rax,8), %r13
	testq	%r13, %r13
	je	LBB0_70
## %bb.71:
	movq	-48(%rbp), %r15                 ## 8-byte Reload
	movq	%r15, %rsi
	addq	$84, %rsi
	movq	%r13, %rdi
	callq	_pfkey_sadb_addr2xfrm_addr
	movq	%r15, %rdi
	movq	%rax, 72(%r15)
	movl	(%r13), %ecx
	movl	%ecx, 80(%r15)
	jmp	LBB0_72
LBB0_65:
	movq	_EAFNOSUPPORT@GOTPCREL(%rip), %rax
	xorl	%r12d, %r12d
	subl	(%rax), %r12d
	jmp	LBB0_82
LBB0_70:
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
	movq	72(%rdi), %rax
LBB0_72:
	testq	%rax, %rax
	jne	LBB0_74
## %bb.73:
	movq	48(%rdi), %rax
	movq	%rax, 72(%rdi)
LBB0_74:
	movq	_SADB_X_EXT_NAT_T_TYPE@GOTPCREL(%rip), %r15
	movslq	(%r15), %rax
	cmpq	$0, -8(%rbx,%rax,8)
	je	LBB0_81
## %bb.75:
	movq	_GFP_KERNEL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	$16, %edi
	callq	_kmalloc
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movq	%rax, 8(%rcx)
	testq	%rax, %rax
	je	LBB0_82
## %bb.76:
	movslq	(%r15), %rcx
	movq	-8(%rbx,%rcx,8), %rcx
	movl	(%rcx), %ecx
	movl	%ecx, 12(%rax)
	movq	_SADB_X_EXT_NAT_T_SPORT@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	movq	-8(%rbx,%rcx,8), %rcx
	testq	%rcx, %rcx
	je	LBB0_78
## %bb.77:
	movl	(%rcx), %ecx
	movl	%ecx, 8(%rax)
LBB0_78:
	movq	_SADB_X_EXT_NAT_T_DPORT@GOTPCREL(%rip), %rcx
	movslq	(%rcx), %rcx
	movq	-8(%rbx,%rcx,8), %rcx
	testq	%rcx, %rcx
	je	LBB0_80
## %bb.79:
	movl	(%rcx), %ecx
	movl	%ecx, 4(%rax)
LBB0_80:
	movq	%rax, %rdi
	xorl	%esi, %esi
	movl	$4, %edx
	callq	_memset
	movq	-48(%rbp), %rdi                 ## 8-byte Reload
LBB0_81:
	callq	_xfrm_init_state
	movq	-48(%rbp), %rcx                 ## 8-byte Reload
	movl	%eax, %r12d
	testl	%eax, %eax
	je	LBB0_84
LBB0_82:
	movq	_XFRM_STATE_DEAD@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, (%rcx)
	movq	%rcx, %rdi
	callq	_xfrm_state_put
	movl	%r12d, %edi
	jmp	LBB0_14
LBB0_83:
	movq	_EINVAL@GOTPCREL(%rip), %rax
	jmp	LBB0_42
LBB0_84:
	movl	8(%r14), %eax
	movl	%eax, 4(%rcx)
	movq	%rcx, %rax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_SADB_EXT_SA,4,2                ## @SADB_EXT_SA
	.comm	_SADB_EXT_ADDRESS_SRC,4,2       ## @SADB_EXT_ADDRESS_SRC
	.comm	_SADB_EXT_ADDRESS_DST,4,2       ## @SADB_EXT_ADDRESS_DST
	.comm	_EINVAL,4,2                     ## @EINVAL
	.comm	_SADB_SATYPE_ESP,8,3            ## @SADB_SATYPE_ESP
	.comm	_SADB_EXT_KEY_ENCRYPT,4,2       ## @SADB_EXT_KEY_ENCRYPT
	.comm	_SADB_SATYPE_AH,8,3             ## @SADB_SATYPE_AH
	.comm	_SADB_EXT_KEY_AUTH,4,2          ## @SADB_EXT_KEY_AUTH
	.comm	_SADB_EXT_LIFETIME_HARD,4,2     ## @SADB_EXT_LIFETIME_HARD
	.comm	_SADB_EXT_LIFETIME_SOFT,4,2     ## @SADB_EXT_LIFETIME_SOFT
	.comm	_ENOBUFS,4,2                    ## @ENOBUFS
	.comm	_SADB_AALG_MAX,8,3              ## @SADB_AALG_MAX
	.comm	_SADB_X_SATYPE_IPCOMP,8,3       ## @SADB_X_SATYPE_IPCOMP
	.comm	_SADB_X_CALG_MAX,8,3            ## @SADB_X_CALG_MAX
	.comm	_SADB_EALG_MAX,8,3              ## @SADB_EALG_MAX
	.comm	_SADB_X_AALG_NULL,8,3           ## @SADB_X_AALG_NULL
	.comm	_SADB_EALG_NULL,8,3             ## @SADB_EALG_NULL
	.comm	_SADB_SAFLAGS_NOECN,4,2         ## @SADB_SAFLAGS_NOECN
	.comm	_XFRM_STATE_NOECN,4,2           ## @XFRM_STATE_NOECN
	.comm	_SADB_SAFLAGS_DECAP_DSCP,4,2    ## @SADB_SAFLAGS_DECAP_DSCP
	.comm	_XFRM_STATE_DECAP_DSCP,4,2      ## @XFRM_STATE_DECAP_DSCP
	.comm	_SADB_SAFLAGS_NOPMTUDISC,4,2    ## @SADB_SAFLAGS_NOPMTUDISC
	.comm	_XFRM_STATE_NOPMTUDISC,4,2      ## @XFRM_STATE_NOPMTUDISC
	.comm	_SADB_X_EXT_SEC_CTX,4,2         ## @SADB_X_EXT_SEC_CTX
	.comm	_ENOSYS,4,2                     ## @ENOSYS
	.comm	_GFP_KERNEL,4,2                 ## @GFP_KERNEL
	.comm	_EAFNOSUPPORT,4,2               ## @EAFNOSUPPORT
	.comm	_SADB_X_EXT_SA2,4,2             ## @SADB_X_EXT_SA2
	.comm	_SADB_EXT_ADDRESS_PROXY,4,2     ## @SADB_EXT_ADDRESS_PROXY
	.comm	_SADB_X_EXT_NAT_T_TYPE,4,2      ## @SADB_X_EXT_NAT_T_TYPE
	.comm	_SADB_X_EXT_NAT_T_SPORT,4,2     ## @SADB_X_EXT_NAT_T_SPORT
	.comm	_SADB_X_EXT_NAT_T_DPORT,4,2     ## @SADB_X_EXT_NAT_T_DPORT
	.comm	_XFRM_STATE_DEAD,4,2            ## @XFRM_STATE_DEAD
	.no_dead_strip	_pfkey_msg2xfrm_state
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function pfkey_msg2xfrm_state
_pfkey_msg2xfrm_state:                  ; @pfkey_msg2xfrm_state
	.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	x8, _SADB_EXT_SA@GOTPAGE
Lloh1:
	ldr	x8, [x8, _SADB_EXT_SA@GOTPAGEOFF]
Lloh2:
	ldrsw	x8, [x8]
	add	x8, x2, x8, lsl #3
	ldur	x28, [x8, #-8]
	cbz	x28, LBB0_10
; %bb.1:
	mov	x20, x2
	mov	x19, x1
	mov	x21, x0
Lloh3:
	adrp	x27, _SADB_EXT_ADDRESS_SRC@GOTPAGE
Lloh4:
	ldr	x27, [x27, _SADB_EXT_ADDRESS_SRC@GOTPAGEOFF]
	ldrsw	x8, [x27]
	add	x8, x2, x8, lsl #3
	ldur	x0, [x8, #-8]
Lloh5:
	adrp	x26, _SADB_EXT_ADDRESS_DST@GOTPAGE
Lloh6:
	ldr	x26, [x26, _SADB_EXT_ADDRESS_DST@GOTPAGEOFF]
	ldrsw	x8, [x26]
	add	x8, x2, x8, lsl #3
	ldur	x1, [x8, #-8]
	bl	_present_and_same_family
	cbz	w0, LBB0_10
; %bb.2:
	ldr	x0, [x19]
Lloh7:
	adrp	x8, _SADB_SATYPE_ESP@GOTPAGE
Lloh8:
	ldr	x8, [x8, _SADB_SATYPE_ESP@GOTPAGEOFF]
Lloh9:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_4
; %bb.3:
Lloh10:
	adrp	x8, _SADB_EXT_KEY_ENCRYPT@GOTPAGE
Lloh11:
	ldr	x8, [x8, _SADB_EXT_KEY_ENCRYPT@GOTPAGEOFF]
Lloh12:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	cbz	x8, LBB0_10
LBB0_4:
Lloh13:
	adrp	x8, _SADB_SATYPE_AH@GOTPAGE
Lloh14:
	ldr	x8, [x8, _SADB_SATYPE_AH@GOTPAGEOFF]
Lloh15:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_6
; %bb.5:
Lloh16:
	adrp	x8, _SADB_EXT_KEY_AUTH@GOTPAGE
Lloh17:
	ldr	x8, [x8, _SADB_EXT_KEY_AUTH@GOTPAGEOFF]
Lloh18:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	cbz	x8, LBB0_10
LBB0_6:
Lloh19:
	adrp	x24, _SADB_EXT_LIFETIME_HARD@GOTPAGE
Lloh20:
	ldr	x24, [x24, _SADB_EXT_LIFETIME_HARD@GOTPAGEOFF]
	ldrsw	x8, [x24]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	cmp	x8, #0
	cset	w8, eq
Lloh21:
	adrp	x23, _SADB_EXT_LIFETIME_SOFT@GOTPAGE
Lloh22:
	ldr	x23, [x23, _SADB_EXT_LIFETIME_SOFT@GOTPAGEOFF]
	ldrsw	x9, [x23]
	add	x9, x20, x9, lsl #3
	ldur	x9, [x9, #-8]
	cmp	x9, #0
	cset	w9, ne
	eor	w8, w8, w9
	tbz	w8, #0, LBB0_10
; %bb.7:
	bl	_pfkey_satype2proto
	cbz	x0, LBB0_10
; %bb.8:
	ldr	x9, [x28]
Lloh23:
	adrp	x8, _SADB_AALG_MAX@GOTPAGE
Lloh24:
	ldr	x8, [x8, _SADB_AALG_MAX@GOTPAGEOFF]
Lloh25:
	ldr	x8, [x8]
	cmp	x9, x8
	b.gt	LBB0_10
; %bb.9:
Lloh26:
	adrp	x8, _SADB_X_SATYPE_IPCOMP@GOTPAGE
Lloh27:
	ldr	x8, [x8, _SADB_X_SATYPE_IPCOMP@GOTPAGEOFF]
	ldr	x10, [x19]
Lloh28:
	ldr	x11, [x8]
	ldr	x8, [x28, #8]
Lloh29:
	adrp	x12, _SADB_X_CALG_MAX@GOTPAGE
Lloh30:
	ldr	x12, [x12, _SADB_X_CALG_MAX@GOTPAGEOFF]
Lloh31:
	ldr	x12, [x12]
	cmp	x8, x12
	ccmp	x10, x11, #0, gt
Lloh32:
	adrp	x10, _SADB_EALG_MAX@GOTPAGE
Lloh33:
	ldr	x10, [x10, _SADB_EALG_MAX@GOTPAGEOFF]
Lloh34:
	ldr	x10, [x10]
	ccmp	x8, x10, #0, ne
	b.le	LBB0_13
LBB0_10:
Lloh35:
	adrp	x8, _EINVAL@GOTPAGE
Lloh36:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
Lloh37:
	ldr	w8, [x8]
LBB0_11:
	neg	w0, w8
LBB0_12:
	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	_ERR_PTR
LBB0_13:
	mov	x22, x0
Lloh38:
	adrp	x25, _ENOBUFS@GOTPAGE
Lloh39:
	ldr	x25, [x25, _ENOBUFS@GOTPAGEOFF]
	ldr	w12, [x25]
Lloh40:
	adrp	x10, _SADB_EXT_KEY_AUTH@GOTPAGE
Lloh41:
	ldr	x10, [x10, _SADB_EXT_KEY_AUTH@GOTPAGEOFF]
Lloh42:
	ldrsw	x10, [x10]
	add	x10, x20, x10, lsl #3
	ldur	x10, [x10, #-8]
	cbz	x10, LBB0_17
; %bb.14:
Lloh43:
	adrp	x11, _SADB_X_AALG_NULL@GOTPAGE
Lloh44:
	ldr	x11, [x11, _SADB_X_AALG_NULL@GOTPAGEOFF]
Lloh45:
	ldr	x11, [x11]
	cmp	x9, x11
	b.eq	LBB0_17
; %bb.15:
	ldr	w11, [x10]
	add	w9, w11, #14
	cmp	w9, #15
	b.lo	LBB0_10
; %bb.16:
	add	w11, w11, #7
	cmp	w11, #0
	csel	w9, w9, w11, lt
	sbfx	x9, x9, #3, #29
	ldrsw	x10, [x10, #4]
	cmp	x9, x10, lsl #2
	b.hi	LBB0_10
LBB0_17:
Lloh46:
	adrp	x9, _SADB_EXT_KEY_ENCRYPT@GOTPAGE
Lloh47:
	ldr	x9, [x9, _SADB_EXT_KEY_ENCRYPT@GOTPAGEOFF]
Lloh48:
	ldrsw	x9, [x9]
	add	x9, x20, x9, lsl #3
	ldur	x9, [x9, #-8]
	cbz	x9, LBB0_21
; %bb.18:
Lloh49:
	adrp	x10, _SADB_EALG_NULL@GOTPAGE
Lloh50:
	ldr	x10, [x10, _SADB_EALG_NULL@GOTPAGEOFF]
Lloh51:
	ldr	x10, [x10]
	cmp	x8, x10
	b.eq	LBB0_21
; %bb.19:
	ldr	w10, [x9]
	add	w8, w10, #14
	cmp	w8, #15
	b.lo	LBB0_10
; %bb.20:
	add	w10, w10, #7
	cmp	w10, #0
	csel	w8, w8, w10, lt
	sbfx	x8, x8, #3, #29
	ldrsw	x9, [x9, #4]
	cmp	x8, x9, lsl #2
	b.hi	LBB0_10
LBB0_21:
	str	w12, [sp, #12]                  ; 4-byte Folded Spill
	mov	x0, x21
	bl	_xfrm_state_alloc
	cbz	x0, LBB0_39
; %bb.22:
	mov	x21, x0
	str	x22, [x0, #96]
	ldr	w8, [x28, #24]
	str	w8, [x0, #92]
	ldp	w8, w9, [x28, #16]
	str	w9, [x0, #68]
Lloh52:
	adrp	x9, _SADB_SAFLAGS_NOECN@GOTPAGE
Lloh53:
	ldr	x9, [x9, _SADB_SAFLAGS_NOECN@GOTPAGEOFF]
Lloh54:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_24
; %bb.23:
Lloh55:
	adrp	x9, _XFRM_STATE_NOECN@GOTPAGE
Lloh56:
	ldr	x9, [x9, _XFRM_STATE_NOECN@GOTPAGEOFF]
Lloh57:
	ldr	w9, [x9]
	ldr	w10, [x21, #64]
	orr	w9, w10, w9
	str	w9, [x21, #64]
LBB0_24:
Lloh58:
	adrp	x9, _SADB_SAFLAGS_DECAP_DSCP@GOTPAGE
Lloh59:
	ldr	x9, [x9, _SADB_SAFLAGS_DECAP_DSCP@GOTPAGEOFF]
Lloh60:
	ldr	w9, [x9]
	tst	w9, w8
	ldr	w11, [sp, #12]                  ; 4-byte Folded Reload
	b.eq	LBB0_26
; %bb.25:
Lloh61:
	adrp	x9, _XFRM_STATE_DECAP_DSCP@GOTPAGE
Lloh62:
	ldr	x9, [x9, _XFRM_STATE_DECAP_DSCP@GOTPAGEOFF]
Lloh63:
	ldr	w9, [x9]
	ldr	w10, [x21, #64]
	orr	w9, w10, w9
	str	w9, [x21, #64]
LBB0_26:
Lloh64:
	adrp	x9, _SADB_SAFLAGS_NOPMTUDISC@GOTPAGE
Lloh65:
	ldr	x9, [x9, _SADB_SAFLAGS_NOPMTUDISC@GOTPAGEOFF]
Lloh66:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_28
; %bb.27:
Lloh67:
	adrp	x8, _XFRM_STATE_NOPMTUDISC@GOTPAGE
Lloh68:
	ldr	x8, [x8, _XFRM_STATE_NOPMTUDISC@GOTPAGEOFF]
Lloh69:
	ldr	w8, [x8]
	ldr	w9, [x21, #64]
	orr	w8, w9, w8
	str	w8, [x21, #64]
LBB0_28:
	ldrsw	x8, [x24]
	add	x8, x20, x8, lsl #3
	ldur	x22, [x8, #-8]
	cbz	x22, LBB0_30
; %bb.29:
	ldr	w0, [x22, #12]
	bl	__KEY2X
	str	x0, [x21, #168]
	ldr	w0, [x22, #8]
	bl	__KEY2X
	ldr	w11, [sp, #12]                  ; 4-byte Folded Reload
	str	x0, [x21, #160]
	ldr	d0, [x22]
	str	d0, [x21, #152]
LBB0_30:
	neg	w22, w11
	ldrsw	x8, [x23]
	add	x8, x20, x8, lsl #3
	ldur	x23, [x8, #-8]
	cbz	x23, LBB0_32
; %bb.31:
	ldr	w0, [x23, #12]
	bl	__KEY2X
	str	x0, [x21, #144]
	ldr	w0, [x23, #8]
	bl	__KEY2X
	str	x0, [x21, #136]
	ldr	d0, [x23]
	str	d0, [x21, #128]
LBB0_32:
Lloh70:
	adrp	x8, _SADB_X_EXT_SEC_CTX@GOTPAGE
Lloh71:
	ldr	x8, [x8, _SADB_X_EXT_SEC_CTX@GOTPAGEOFF]
Lloh72:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x0, [x8, #-8]
	cbz	x0, LBB0_35
; %bb.33:
	bl	_pfkey_sadb2xfrm_user_sec_ctx
	cbz	x0, LBB0_80
; %bb.34:
	mov	x23, x0
	mov	x0, x21
	mov	x1, x23
	bl	_security_xfrm_state_alloc
	mov	x22, x0
	mov	x0, x23
	bl	_kfree
	cbnz	w22, LBB0_80
LBB0_35:
	ldr	x0, [x28]
	cbz	x0, LBB0_45
; %bb.36:
Lloh73:
	adrp	x8, _SADB_EXT_KEY_AUTH@GOTPAGE
Lloh74:
	ldr	x8, [x8, _SADB_EXT_KEY_AUTH@GOTPAGEOFF]
Lloh75:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x24, [x8, #-8]
	bl	_xfrm_aalg_get_byid
	cbz	x0, LBB0_53
; %bb.37:
	mov	x23, x0
	cbz	x24, LBB0_40
; %bb.38:
	ldr	w8, [x24]
	add	w9, w8, #7
	add	w8, w8, #14
	cmp	w9, #0
	csel	w8, w8, w9, lt
	asr	w25, w8, #3
	b	LBB0_41
LBB0_39:
	ldr	w8, [x25]
	b	LBB0_11
LBB0_40:
	mov	w25, #0
LBB0_41:
	add	w0, w25, #16
Lloh76:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh77:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh78:
	ldr	w1, [x8]
	bl	_kmalloc
	str	x0, [x21, #120]
	cbz	x0, LBB0_80
; %bb.42:
	ldr	w0, [x0, #12]
	ldr	w1, [x23]
	bl	_strcpy
	ldr	x8, [x21, #120]
	str	wzr, [x8]
	cbz	x24, LBB0_44
; %bb.43:
	ldr	w9, [x24], #8
	str	w9, [x8]
	ldr	w0, [x8, #8]
	mov	x1, x24
	mov	x2, x25
	bl	_memcpy
	ldr	x8, [x21, #120]
LBB0_44:
	ldr	w9, [x23, #4]
	str	w9, [x8, #4]
	ldr	x8, [x28]
	str	x8, [x21, #16]
LBB0_45:
	ldr	x0, [x28, #8]
	cbz	x0, LBB0_59
; %bb.46:
	ldr	x8, [x19]
Lloh79:
	adrp	x9, _SADB_X_SATYPE_IPCOMP@GOTPAGE
Lloh80:
	ldr	x9, [x9, _SADB_X_SATYPE_IPCOMP@GOTPAGEOFF]
Lloh81:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_50
; %bb.47:
	bl	_xfrm_calg_get_byid
	cbz	x0, LBB0_53
; %bb.48:
	mov	x23, x0
Lloh82:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh83:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh84:
	ldr	w1, [x8]
	mov	w0, #4
	bl	_kmalloc
	str	x0, [x21, #112]
	cbz	x0, LBB0_80
; %bb.49:
	ldr	w0, [x0]
	ldr	w1, [x23]
	bl	_strcpy
	ldr	x8, [x28, #8]
	str	x8, [x21, #24]
	b	LBB0_59
LBB0_50:
	bl	_xfrm_ealg_get_byid
	cbz	x0, LBB0_53
; %bb.51:
	mov	x25, x0
Lloh85:
	adrp	x8, _SADB_EXT_KEY_ENCRYPT@GOTPAGE
Lloh86:
	ldr	x8, [x8, _SADB_EXT_KEY_ENCRYPT@GOTPAGEOFF]
Lloh87:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x23, [x8, #-8]
	cbz	x23, LBB0_54
; %bb.52:
	ldr	w8, [x23]
	add	w9, w8, #7
	add	w8, w8, #14
	cmp	w9, #0
	csel	w8, w8, w9, lt
	asr	w24, w8, #3
	b	LBB0_55
LBB0_53:
Lloh88:
	adrp	x8, _ENOSYS@GOTPAGE
Lloh89:
	ldr	x8, [x8, _ENOSYS@GOTPAGEOFF]
	b	LBB0_79
LBB0_54:
	mov	w24, #0
LBB0_55:
	add	w0, w24, #12
Lloh90:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh91:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh92:
	ldr	w1, [x8]
	bl	_kmalloc
	str	x0, [x21, #104]
	cbz	x0, LBB0_80
; %bb.56:
	ldr	w0, [x0, #8]
	ldr	w1, [x25]
	bl	_strcpy
	ldr	x8, [x21, #104]
	str	wzr, [x8]
	cbz	x23, LBB0_58
; %bb.57:
	ldr	w9, [x23], #8
	str	w9, [x8]
	ldr	w0, [x8, #4]
	mov	x1, x23
	mov	x2, x24
	bl	_memcpy
LBB0_58:
	ldr	x8, [x28, #8]
	str	x8, [x21, #32]
LBB0_59:
	ldrsw	x8, [x27]
	add	x8, x20, x8, lsl #3
	ldur	x0, [x8, #-8]
	add	x1, x21, #60
	bl	_pfkey_sadb_addr2xfrm_addr
	str	x0, [x21, #48]
	cbz	x0, LBB0_65
; %bb.60:
	ldrsw	x8, [x26]
	add	x8, x20, x8, lsl #3
	ldur	x0, [x8, #-8]
	add	x1, x21, #88
	bl	_pfkey_sadb_addr2xfrm_addr
Lloh93:
	adrp	x8, _SADB_X_EXT_SA2@GOTPAGE
Lloh94:
	ldr	x8, [x8, _SADB_X_EXT_SA2@GOTPAGEOFF]
Lloh95:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x23, [x8, #-8]
	cbz	x23, LBB0_63
; %bb.61:
	ldr	w0, [x23, #4]
	bl	_pfkey_mode_to_xfrm
	tbnz	w0, #31, LBB0_78
; %bb.62:
	str	w0, [x21, #40]
	ldr	w8, [x23]
	str	w8, [x21, #56]
LBB0_63:
Lloh96:
	adrp	x8, _SADB_EXT_ADDRESS_PROXY@GOTPAGE
Lloh97:
	ldr	x8, [x8, _SADB_EXT_ADDRESS_PROXY@GOTPAGEOFF]
Lloh98:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x23, [x8, #-8]
	cbz	x23, LBB0_66
; %bb.64:
	add	x1, x21, #84
	mov	x0, x23
	bl	_pfkey_sadb_addr2xfrm_addr
	str	x0, [x21, #72]
	ldr	w8, [x23]
	str	w8, [x21, #80]
	b	LBB0_67
LBB0_65:
Lloh99:
	adrp	x8, _EAFNOSUPPORT@GOTPAGE
Lloh100:
	ldr	x8, [x8, _EAFNOSUPPORT@GOTPAGEOFF]
	b	LBB0_79
LBB0_66:
	ldr	x0, [x21, #72]
LBB0_67:
	cbnz	x0, LBB0_69
; %bb.68:
	ldr	x8, [x21, #48]
	str	x8, [x21, #72]
LBB0_69:
Lloh101:
	adrp	x23, _SADB_X_EXT_NAT_T_TYPE@GOTPAGE
Lloh102:
	ldr	x23, [x23, _SADB_X_EXT_NAT_T_TYPE@GOTPAGEOFF]
	ldrsw	x8, [x23]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	cbz	x8, LBB0_76
; %bb.70:
Lloh103:
	adrp	x8, _GFP_KERNEL@GOTPAGE
Lloh104:
	ldr	x8, [x8, _GFP_KERNEL@GOTPAGEOFF]
Lloh105:
	ldr	w1, [x8]
	mov	w0, #16
	bl	_kmalloc
	str	x0, [x21, #8]
	cbz	x0, LBB0_80
; %bb.71:
	ldrsw	x8, [x23]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	ldr	w8, [x8]
	str	w8, [x0, #12]
Lloh106:
	adrp	x8, _SADB_X_EXT_NAT_T_SPORT@GOTPAGE
Lloh107:
	ldr	x8, [x8, _SADB_X_EXT_NAT_T_SPORT@GOTPAGEOFF]
Lloh108:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	cbz	x8, LBB0_73
; %bb.72:
	ldr	w8, [x8]
	str	w8, [x0, #8]
LBB0_73:
Lloh109:
	adrp	x8, _SADB_X_EXT_NAT_T_DPORT@GOTPAGE
Lloh110:
	ldr	x8, [x8, _SADB_X_EXT_NAT_T_DPORT@GOTPAGEOFF]
Lloh111:
	ldrsw	x8, [x8]
	add	x8, x20, x8, lsl #3
	ldur	x8, [x8, #-8]
	cbz	x8, LBB0_75
; %bb.74:
	ldr	w8, [x8]
	str	w8, [x0, #4]
LBB0_75:
	mov	w1, #0
	mov	w2, #4
	bl	_memset
LBB0_76:
	mov	x0, x21
	bl	_xfrm_init_state
	mov	x22, x0
	cbnz	w0, LBB0_80
; %bb.77:
	ldr	w8, [x19, #8]
	str	w8, [x21, #4]
	mov	x0, x21
	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
	ret
LBB0_78:
Lloh112:
	adrp	x8, _EINVAL@GOTPAGE
Lloh113:
	ldr	x8, [x8, _EINVAL@GOTPAGEOFF]
LBB0_79:
	ldr	w8, [x8]
	neg	w22, w8
LBB0_80:
Lloh114:
	adrp	x8, _XFRM_STATE_DEAD@GOTPAGE
Lloh115:
	ldr	x8, [x8, _XFRM_STATE_DEAD@GOTPAGEOFF]
Lloh116:
	ldr	w8, [x8]
	str	w8, [x21]
	mov	x0, x21
	bl	_xfrm_state_put
	mov	x0, x22
	b	LBB0_12
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh5, Lloh6
	.loh AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGot	Lloh21, Lloh22
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh67, Lloh68, Lloh69
	.loh AdrpLdrGotLdr	Lloh70, Lloh71, Lloh72
	.loh AdrpLdrGotLdr	Lloh73, Lloh74, Lloh75
	.loh AdrpLdrGotLdr	Lloh76, Lloh77, Lloh78
	.loh AdrpLdrGotLdr	Lloh79, Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh85, Lloh86, Lloh87
	.loh AdrpLdrGot	Lloh88, Lloh89
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGot	Lloh99, Lloh100
	.loh AdrpLdrGot	Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGot	Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.cfi_endproc
                                        ; -- End function
	.comm	_SADB_EXT_SA,4,2                ; @SADB_EXT_SA
	.comm	_SADB_EXT_ADDRESS_SRC,4,2       ; @SADB_EXT_ADDRESS_SRC
	.comm	_SADB_EXT_ADDRESS_DST,4,2       ; @SADB_EXT_ADDRESS_DST
	.comm	_EINVAL,4,2                     ; @EINVAL
	.comm	_SADB_SATYPE_ESP,8,3            ; @SADB_SATYPE_ESP
	.comm	_SADB_EXT_KEY_ENCRYPT,4,2       ; @SADB_EXT_KEY_ENCRYPT
	.comm	_SADB_SATYPE_AH,8,3             ; @SADB_SATYPE_AH
	.comm	_SADB_EXT_KEY_AUTH,4,2          ; @SADB_EXT_KEY_AUTH
	.comm	_SADB_EXT_LIFETIME_HARD,4,2     ; @SADB_EXT_LIFETIME_HARD
	.comm	_SADB_EXT_LIFETIME_SOFT,4,2     ; @SADB_EXT_LIFETIME_SOFT
	.comm	_ENOBUFS,4,2                    ; @ENOBUFS
	.comm	_SADB_AALG_MAX,8,3              ; @SADB_AALG_MAX
	.comm	_SADB_X_SATYPE_IPCOMP,8,3       ; @SADB_X_SATYPE_IPCOMP
	.comm	_SADB_X_CALG_MAX,8,3            ; @SADB_X_CALG_MAX
	.comm	_SADB_EALG_MAX,8,3              ; @SADB_EALG_MAX
	.comm	_SADB_X_AALG_NULL,8,3           ; @SADB_X_AALG_NULL
	.comm	_SADB_EALG_NULL,8,3             ; @SADB_EALG_NULL
	.comm	_SADB_SAFLAGS_NOECN,4,2         ; @SADB_SAFLAGS_NOECN
	.comm	_XFRM_STATE_NOECN,4,2           ; @XFRM_STATE_NOECN
	.comm	_SADB_SAFLAGS_DECAP_DSCP,4,2    ; @SADB_SAFLAGS_DECAP_DSCP
	.comm	_XFRM_STATE_DECAP_DSCP,4,2      ; @XFRM_STATE_DECAP_DSCP
	.comm	_SADB_SAFLAGS_NOPMTUDISC,4,2    ; @SADB_SAFLAGS_NOPMTUDISC
	.comm	_XFRM_STATE_NOPMTUDISC,4,2      ; @XFRM_STATE_NOPMTUDISC
	.comm	_SADB_X_EXT_SEC_CTX,4,2         ; @SADB_X_EXT_SEC_CTX
	.comm	_ENOSYS,4,2                     ; @ENOSYS
	.comm	_GFP_KERNEL,4,2                 ; @GFP_KERNEL
	.comm	_EAFNOSUPPORT,4,2               ; @EAFNOSUPPORT
	.comm	_SADB_X_EXT_SA2,4,2             ; @SADB_X_EXT_SA2
	.comm	_SADB_EXT_ADDRESS_PROXY,4,2     ; @SADB_EXT_ADDRESS_PROXY
	.comm	_SADB_X_EXT_NAT_T_TYPE,4,2      ; @SADB_X_EXT_NAT_T_TYPE
	.comm	_SADB_X_EXT_NAT_T_SPORT,4,2     ; @SADB_X_EXT_NAT_T_SPORT
	.comm	_SADB_X_EXT_NAT_T_DPORT,4,2     ; @SADB_X_EXT_NAT_T_DPORT
	.comm	_XFRM_STATE_DEAD,4,2            ; @XFRM_STATE_DEAD
	.no_dead_strip	_pfkey_msg2xfrm_state
.subsections_via_symbols
