	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function omap_aes_gcm_copy_buffers
_omap_aes_gcm_copy_buffers:             ## @omap_aes_gcm_copy_buffers
	.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	$72, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r13
	movq	%rdi, %r15
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	%rsi, %rdi
	callq	_crypto_aead_reqtfm
	movq	%rax, %rdi
	callq	_crypto_aead_authsize
	movl	(%r13), %esi
	movl	4(%r13), %r14d
	movl	(%r15), %ecx
	movq	_FLAGS_RFC4106_GCM@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	andl	%ecx, %edx
	leal	-8(%rsi), %r12d
	testl	%edx, %edx
	cmovel	%esi, %r12d
	movq	_FLAGS_ENCRYPT@GOTPCREL(%rip), %rdx
	xorl	%ebx, %ebx
	andl	(%rdx), %ecx
	movl	%eax, -72(%rbp)                 ## 4-byte Spill
	cmovel	%eax, %ebx
	movq	_AES_BLOCK_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r12d, %edi
	callq	_ALIGN
	movl	%eax, -88(%rbp)                 ## 4-byte Spill
	movq	_AES_BLOCK_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movl	%r14d, -96(%rbp)                ## 4-byte Spill
	movl	%r14d, %edi
	movl	%ebx, -92(%rbp)                 ## 4-byte Spill
	subl	%ebx, %edi
	movl	%r12d, %ebx
	setne	%r12b
	movl	%edi, -60(%rbp)                 ## 4-byte Spill
	callq	_ALIGN
	movl	%eax, -84(%rbp)                 ## 4-byte Spill
	testl	%ebx, %ebx
	setne	%r14b
	andb	%r12b, %r14b
	movq	%r15, %rdi
	callq	_omap_aes_clear_copy_flags
	movq	64(%r15), %rdi
	movzbl	%r14b, %r12d
	leal	1(%r12), %esi
	callq	_sg_init_table
	testl	%ebx, %ebx
	je	LBB0_2
## %bb.1:
	movq	16(%r13), %rax
	movq	%rax, -80(%rbp)
	movq	_AES_BLOCK_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	64(%r15), %rcx
	movq	_OMAP_CRYPTO_COPY_DATA@GOTPCREL(%rip), %rax
	movq	_OMAP_CRYPTO_ZERO_BUF@GOTPCREL(%rip), %rsi
	movl	(%rsi), %r8d
	orl	(%rax), %r8d
	movq	_OMAP_CRYPTO_FORCE_SINGLE_ENTRY@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	_FLAGS_ASSOC_DATA_ST_SHIFT@GOTPCREL(%rip), %rax
	movl	(%rax), %r9d
	movq	%r15, (%rsp)
	leaq	-80(%rbp), %rdi
	movl	%ebx, %esi
	callq	_omap_crypto_align_sg
LBB0_2:
	movl	-92(%rbp), %eax                 ## 4-byte Reload
	cmpl	%eax, -96(%rbp)                 ## 4-byte Folded Reload
	je	LBB0_4
## %bb.3:
	movq	16(%r13), %rsi
	movl	(%r13), %edx
	leaq	-56(%rbp), %rdi
	callq	_scatterwalk_ffwd
	movq	%rax, -80(%rbp)
	movq	_AES_BLOCK_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	shlq	$2, %r12
	addq	64(%r15), %r12
	movq	_OMAP_CRYPTO_COPY_DATA@GOTPCREL(%rip), %rax
	movq	_OMAP_CRYPTO_ZERO_BUF@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r8d
	orl	(%rax), %r8d
	movq	_OMAP_CRYPTO_FORCE_SINGLE_ENTRY@GOTPCREL(%rip), %rax
	orl	(%rax), %r8d
	movq	_FLAGS_IN_DATA_ST_SHIFT@GOTPCREL(%rip), %rax
	movl	(%rax), %r9d
	movq	%r15, (%rsp)
	leaq	-80(%rbp), %rdi
	movl	-60(%rbp), %esi                 ## 4-byte Reload
	movq	%r12, %rcx
	callq	_omap_crypto_align_sg
LBB0_4:
	movq	64(%r15), %rax
	movq	%rax, 32(%r15)
	movl	-60(%rbp), %r14d                ## 4-byte Reload
	movl	%r14d, 4(%r15)
	movl	%ebx, 8(%r15)
	movl	-72(%rbp), %eax                 ## 4-byte Reload
	movl	%eax, 12(%r15)
	movq	8(%r13), %rsi
	leaq	16(%r15), %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movq	%rsi, 16(%r15)
	movq	%rsi, 56(%r15)
	leaq	-56(%rbp), %r12
	movq	%r12, %rdi
	movl	%ebx, %edx
	callq	_scatterwalk_ffwd
	movq	%rax, 16(%r15)
	movq	16(%r13), %rcx
	xorl	%r8d, %r8d
	cmpq	%rax, %r12
	movq	_OMAP_CRYPTO_FORCE_COPY@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmovel	%eax, %r8d
	cmpq	8(%r13), %rcx
	cmovel	%eax, %r8d
	movq	_AES_BLOCK_SIZE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	leaq	48(%r15), %rcx
	movq	_FLAGS_OUT_DATA_ST_SHIFT@GOTPCREL(%rip), %rax
	movl	(%rax), %r9d
	movq	%r15, (%rsp)
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movl	%r14d, %esi
	callq	_omap_crypto_align_sg
	movl	%eax, %r14d
	testl	%eax, %eax
	jne	LBB0_6
## %bb.5:
	movq	32(%r15), %rdi
	movl	-88(%rbp), %esi                 ## 4-byte Reload
	movl	-84(%rbp), %ebx                 ## 4-byte Reload
	addl	%ebx, %esi
	callq	_sg_nents_for_len
	movq	%rax, 40(%r15)
	movq	16(%r15), %rdi
	movl	%ebx, %esi
	callq	_sg_nents_for_len
	movq	%rax, 24(%r15)
LBB0_6:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_8
## %bb.7:
	movl	%r14d, %eax
	addq	$72, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_8:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_FLAGS_RFC4106_GCM,4,2          ## @FLAGS_RFC4106_GCM
	.comm	_FLAGS_ENCRYPT,4,2              ## @FLAGS_ENCRYPT
	.comm	_AES_BLOCK_SIZE,4,2             ## @AES_BLOCK_SIZE
	.comm	_OMAP_CRYPTO_COPY_DATA,4,2      ## @OMAP_CRYPTO_COPY_DATA
	.comm	_OMAP_CRYPTO_ZERO_BUF,4,2       ## @OMAP_CRYPTO_ZERO_BUF
	.comm	_OMAP_CRYPTO_FORCE_SINGLE_ENTRY,4,2 ## @OMAP_CRYPTO_FORCE_SINGLE_ENTRY
	.comm	_FLAGS_ASSOC_DATA_ST_SHIFT,4,2  ## @FLAGS_ASSOC_DATA_ST_SHIFT
	.comm	_FLAGS_IN_DATA_ST_SHIFT,4,2     ## @FLAGS_IN_DATA_ST_SHIFT
	.comm	_OMAP_CRYPTO_FORCE_COPY,4,2     ## @OMAP_CRYPTO_FORCE_COPY
	.comm	_FLAGS_OUT_DATA_ST_SHIFT,4,2    ## @FLAGS_OUT_DATA_ST_SHIFT
	.no_dead_strip	_omap_aes_gcm_copy_buffers
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function omap_aes_gcm_copy_buffers
_omap_aes_gcm_copy_buffers:             ; @omap_aes_gcm_copy_buffers
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #128
	.cfi_def_cfa_offset 128
	stp	x28, x27, [sp, #32]             ; 16-byte Folded Spill
	stp	x26, x25, [sp, #48]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #64]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #80]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #96]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #112]            ; 16-byte Folded Spill
	add	x29, sp, #112
	.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
	mov	x20, x1
	mov	x19, x0
Lloh0:
	adrp	x8, ___stack_chk_guard@GOTPAGE
Lloh1:
	ldr	x8, [x8, ___stack_chk_guard@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	str	x8, [sp, #24]
	mov	x0, x1
	bl	_crypto_aead_reqtfm
	bl	_crypto_aead_authsize
	mov	x25, x0
	ldp	w8, w27, [x20]
	ldr	w9, [x19]
Lloh3:
	adrp	x10, _FLAGS_RFC4106_GCM@GOTPAGE
Lloh4:
	ldr	x10, [x10, _FLAGS_RFC4106_GCM@GOTPAGEOFF]
Lloh5:
	ldr	w10, [x10]
	sub	w11, w8, #8
	tst	w10, w9
	csel	w24, w8, w11, eq
Lloh6:
	adrp	x8, _FLAGS_ENCRYPT@GOTPAGE
Lloh7:
	ldr	x8, [x8, _FLAGS_ENCRYPT@GOTPAGEOFF]
Lloh8:
	ldr	w8, [x8]
	tst	w8, w9
	csel	w28, w0, wzr, eq
Lloh9:
	adrp	x26, _AES_BLOCK_SIZE@GOTPAGE
Lloh10:
	ldr	x26, [x26, _AES_BLOCK_SIZE@GOTPAGEOFF]
	ldr	w1, [x26]
	mov	x0, x24
	bl	_ALIGN
	str	w0, [sp]                        ; 4-byte Folded Spill
	subs	w23, w27, w28
	ldr	w1, [x26]
	cset	w21, ne
	mov	x0, x23
	bl	_ALIGN
	str	w0, [sp, #4]                    ; 4-byte Folded Spill
	cmp	w24, #0
	cset	w22, ne
	mov	x0, x19
	bl	_omap_aes_clear_copy_flags
	ands	w22, w22, w21
	ldr	x0, [x19, #64]
	mov	w8, #1
	cinc	w1, w8, ne
	bl	_sg_init_table
Lloh11:
	adrp	x9, _OMAP_CRYPTO_COPY_DATA@GOTPAGE
Lloh12:
	ldr	x9, [x9, _OMAP_CRYPTO_COPY_DATA@GOTPAGEOFF]
Lloh13:
	adrp	x11, _OMAP_CRYPTO_ZERO_BUF@GOTPAGE
Lloh14:
	ldr	x11, [x11, _OMAP_CRYPTO_ZERO_BUF@GOTPAGEOFF]
Lloh15:
	adrp	x21, _OMAP_CRYPTO_FORCE_SINGLE_ENTRY@GOTPAGE
Lloh16:
	ldr	x21, [x21, _OMAP_CRYPTO_FORCE_SINGLE_ENTRY@GOTPAGEOFF]
	cbz	w24, LBB0_2
; %bb.1:
	ldr	x8, [x20, #16]
	str	x8, [sp, #8]
	ldr	w2, [x26]
	ldr	x3, [x19, #64]
	ldr	w8, [x9]
	ldr	w9, [x11]
	orr	w8, w9, w8
	ldr	w9, [x21]
	orr	w4, w8, w9
Lloh17:
	adrp	x8, _FLAGS_ASSOC_DATA_ST_SHIFT@GOTPAGE
Lloh18:
	ldr	x8, [x8, _FLAGS_ASSOC_DATA_ST_SHIFT@GOTPAGEOFF]
Lloh19:
	ldr	w5, [x8]
	add	x0, sp, #8
	mov	x1, x24
	mov	x6, x19
	mov	x26, x11
	bl	_omap_crypto_align_sg
	mov	x11, x26
Lloh20:
	adrp	x26, _AES_BLOCK_SIZE@GOTPAGE
Lloh21:
	ldr	x26, [x26, _AES_BLOCK_SIZE@GOTPAGEOFF]
Lloh22:
	adrp	x9, _OMAP_CRYPTO_COPY_DATA@GOTPAGE
Lloh23:
	ldr	x9, [x9, _OMAP_CRYPTO_COPY_DATA@GOTPAGEOFF]
LBB0_2:
	cmp	w27, w28
	b.eq	LBB0_4
; %bb.3:
	ldr	x1, [x20, #16]
	ldr	w2, [x20]
	add	x0, sp, #16
	mov	x27, x9
	mov	x28, x26
	mov	x26, x11
	bl	_scatterwalk_ffwd
	str	x0, [sp, #8]
	ldr	w2, [x28]
	ldr	x8, [x19, #64]
	and	x9, x22, #0x1
	add	x3, x8, x9, lsl #2
	ldr	w8, [x27]
	ldr	w9, [x26]
	mov	x26, x28
	orr	w8, w9, w8
	ldr	w9, [x21]
	orr	w4, w8, w9
Lloh24:
	adrp	x8, _FLAGS_IN_DATA_ST_SHIFT@GOTPAGE
Lloh25:
	ldr	x8, [x8, _FLAGS_IN_DATA_ST_SHIFT@GOTPAGEOFF]
Lloh26:
	ldr	w5, [x8]
	add	x0, sp, #8
	mov	x1, x23
	mov	x6, x19
	bl	_omap_crypto_align_sg
LBB0_4:
	ldr	x8, [x19, #64]
	str	x8, [x19, #32]
	stp	w23, w24, [x19, #4]
	str	w25, [x19, #12]
	ldr	x1, [x20, #8]
	mov	x25, x19
	str	x1, [x25, #16]!
	str	x1, [x19, #56]
	add	x21, sp, #16
	add	x0, sp, #16
	mov	x2, x24
	bl	_scatterwalk_ffwd
	str	x0, [x25]
	ldp	x9, x8, [x20, #8]
	cmp	x21, x0
	ccmp	x8, x9, #4, ne
Lloh27:
	adrp	x8, _OMAP_CRYPTO_FORCE_COPY@GOTPAGE
Lloh28:
	ldr	x8, [x8, _OMAP_CRYPTO_FORCE_COPY@GOTPAGEOFF]
Lloh29:
	ldr	w8, [x8]
	csel	w4, w8, wzr, eq
	ldr	w2, [x26]
	add	x3, x19, #48
Lloh30:
	adrp	x8, _FLAGS_OUT_DATA_ST_SHIFT@GOTPAGE
Lloh31:
	ldr	x8, [x8, _FLAGS_OUT_DATA_ST_SHIFT@GOTPAGEOFF]
Lloh32:
	ldr	w5, [x8]
	mov	x0, x25
	mov	x1, x23
	mov	x6, x19
	bl	_omap_crypto_align_sg
	mov	x20, x0
	cbnz	w0, LBB0_6
; %bb.5:
	ldr	x0, [x19, #32]
	ldp	w8, w21, [sp]                   ; 8-byte Folded Reload
	add	w1, w21, w8
	bl	_sg_nents_for_len
	str	x0, [x19, #40]
	ldr	x0, [x19, #16]
	mov	x1, x21
	bl	_sg_nents_for_len
	str	x0, [x19, #24]
LBB0_6:
	ldr	x8, [sp, #24]
Lloh33:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh34:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh35:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_8
; %bb.7:
	mov	x0, x20
	ldp	x29, x30, [sp, #112]            ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #96]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #80]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #64]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #48]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp, #32]             ; 16-byte Folded Reload
	add	sp, sp, #128
	ret
LBB0_8:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh15, Lloh16
	.loh AdrpLdrGot	Lloh13, Lloh14
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.cfi_endproc
                                        ; -- End function
	.comm	_FLAGS_RFC4106_GCM,4,2          ; @FLAGS_RFC4106_GCM
	.comm	_FLAGS_ENCRYPT,4,2              ; @FLAGS_ENCRYPT
	.comm	_AES_BLOCK_SIZE,4,2             ; @AES_BLOCK_SIZE
	.comm	_OMAP_CRYPTO_COPY_DATA,4,2      ; @OMAP_CRYPTO_COPY_DATA
	.comm	_OMAP_CRYPTO_ZERO_BUF,4,2       ; @OMAP_CRYPTO_ZERO_BUF
	.comm	_OMAP_CRYPTO_FORCE_SINGLE_ENTRY,4,2 ; @OMAP_CRYPTO_FORCE_SINGLE_ENTRY
	.comm	_FLAGS_ASSOC_DATA_ST_SHIFT,4,2  ; @FLAGS_ASSOC_DATA_ST_SHIFT
	.comm	_FLAGS_IN_DATA_ST_SHIFT,4,2     ; @FLAGS_IN_DATA_ST_SHIFT
	.comm	_OMAP_CRYPTO_FORCE_COPY,4,2     ; @OMAP_CRYPTO_FORCE_COPY
	.comm	_FLAGS_OUT_DATA_ST_SHIFT,4,2    ; @FLAGS_OUT_DATA_ST_SHIFT
	.no_dead_strip	_omap_aes_gcm_copy_buffers
.subsections_via_symbols
