	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_tls13_enc                      ## -- Begin function tls13_enc
	.p2align	4, 0x90
_tls13_enc:                             ## @tls13_enc
	.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	$104, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%ecx, %r15d
	movq	%rdx, %r12
	movq	%rsi, %r14
	movq	%rdi, %r13
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_EVP_MAX_IV_LENGTH@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %rax
	movq	%rax, -72(%rbp)                 ## 8-byte Spill
	movq	_SSL3_RT_HEADER_LENGTH@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	%rbx, %rax
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %rax
	cmpq	$1, %r12
	jne	LBB0_35
## %bb.1:
	movq	%rax, -128(%rbp)                ## 8-byte Spill
	movq	%rbx, -136(%rbp)                ## 8-byte Spill
	testl	%r15d, %r15d
	je	LBB0_3
## %bb.2:
	movq	(%r13), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	64(%r13), %rbx
	leaq	48(%r13), %rdi
	callq	_RECORD_LAYER_get_write_sequence
	jmp	LBB0_4
LBB0_3:
	movq	8(%r13), %rax
	movq	%rax, -64(%rbp)                 ## 8-byte Spill
	movq	56(%r13), %rbx
	leaq	48(%r13), %rdi
	callq	_RECORD_LAYER_get_read_sequence
LBB0_4:
	movq	%rax, %r12
	testq	%rbx, %rbx
	je	LBB0_6
## %bb.5:
	movq	(%r14), %rax
	movq	_SSL3_RT_ALERT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_8
LBB0_6:
	movq	8(%r14), %rdi
	movq	16(%r14), %rsi
	movq	24(%r14), %rdx
	callq	_memmove
	movq	8(%r14), %rax
	movq	%rax, 16(%r14)
LBB0_7:
	movl	$1, %r15d
	jmp	LBB0_37
LBB0_8:
	movq	%rbx, %rdi
	callq	_EVP_CIPHER_CTX_iv_length
	movq	%rax, -120(%rbp)                ## 8-byte Spill
	movq	16(%r13), %rax
	movq	_SSL_EARLY_DATA_WRITING@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_12
## %bb.9:
	movq	_SSL_EARLY_DATA_WRITE_RETRY@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_12
## %bb.10:
	xorl	%edi, %edi
	cmpq	$0, 24(%r13)
	setne	%dil
	callq	_ossl_assert
	testl	%eax, %eax
	je	LBB0_35
## %bb.11:
	movq	24(%r13), %rax
	jmp	LBB0_21
LBB0_12:
	movq	40(%r13), %rax
	testq	%rax, %rax
	je	LBB0_15
## %bb.13:
	cmpq	$0, 8(%rax)
	jg	LBB0_20
LBB0_15:
	movq	32(%r13), %rax
	testq	%rax, %rax
	je	LBB0_17
## %bb.16:
	cmpq	$0, 8(%rax)
	setg	%al
	jmp	LBB0_18
LBB0_17:
	xorl	%eax, %eax
LBB0_18:
	movzbl	%al, %edi
	callq	_ossl_assert
	testl	%eax, %eax
	je	LBB0_35
## %bb.19:
	movq	32(%r13), %rax
LBB0_20:
	movq	(%rax), %rax
LBB0_21:
	movl	(%rax), %edx
	movq	_SSL_AESCCM@GOTPCREL(%rip), %rax
	testl	%edx, (%rax)
	movl	%r15d, -104(%rbp)               ## 4-byte Spill
	movl	%edx, -100(%rbp)                ## 4-byte Spill
	je	LBB0_24
## %bb.22:
	movq	_SSL_AES128CCM8@GOTPCREL(%rip), %rax
	movq	_SSL_AES256CCM8@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	testl	%edx, %ecx
	jne	LBB0_26
## %bb.23:
	movq	_EVP_CCM_TLS_TAG_LEN@GOTPCREL(%rip), %rax
	jmp	LBB0_27
LBB0_24:
	movq	_SSL_AESGCM@GOTPCREL(%rip), %rax
	testl	%edx, (%rax)
	je	LBB0_29
## %bb.25:
	movq	_EVP_GCM_TLS_TAG_LEN@GOTPCREL(%rip), %rax
	jmp	LBB0_31
LBB0_26:
	movq	_EVP_CCM8_TLS_TAG_LEN@GOTPCREL(%rip), %rax
LBB0_27:
	movq	(%rax), %rcx
	testl	%r15d, %r15d
	je	LBB0_32
## %bb.28:
	movq	_EVP_CTRL_AEAD_SET_TAG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	movq	%rcx, %r15
	movq	%rcx, %rdx
	xorl	%ecx, %ecx
	callq	_EVP_CIPHER_CTX_ctrl
	movq	%r15, %rcx
	testq	%rax, %rax
	jg	LBB0_34
	jmp	LBB0_35
LBB0_29:
	movq	_SSL_CHACHA20@GOTPCREL(%rip), %rax
	testl	%edx, (%rax)
	je	LBB0_35
## %bb.30:
	movq	_EVP_CHACHAPOLY_TLS_TAG_LEN@GOTPCREL(%rip), %rax
LBB0_31:
	movq	(%rax), %rcx
	testl	%r15d, %r15d
	jne	LBB0_34
LBB0_32:
	movq	24(%r14), %rax
	leaq	1(%rcx), %rdx
	xorl	%r15d, %r15d
	cmpq	%rdx, %rax
	jb	LBB0_37
## %bb.33:
	subq	%rcx, %rax
	movq	%rax, 24(%r14)
LBB0_34:
	movq	%rbx, -96(%rbp)                 ## 8-byte Spill
	movq	_SEQ_NUM_SIZE@GOTPCREL(%rip), %r15
	movq	(%r15), %rbx
	movq	-120(%rbp), %rdx                ## 8-byte Reload
	subq	%rbx, %rdx
	jae	LBB0_39
LBB0_35:
	movq	_SSL_AD_INTERNAL_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_SSL_F_TLS13_ENC@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	_ERR_R_INTERNAL_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	movq	%r13, %rdi
	callq	_SSLfatal
LBB0_36:
	movl	$-1, %r15d
LBB0_37:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_85
## %bb.38:
	movl	%r15d, %eax
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_39:
	movq	%rcx, -88(%rbp)                 ## 8-byte Spill
	movq	-72(%rbp), %rdi                 ## 8-byte Reload
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	movq	%rdx, -80(%rbp)                 ## 8-byte Spill
	callq	_memcpy
	movq	(%r15), %rax
	testq	%rax, %rax
	je	LBB0_62
## %bb.40:
	cmpq	$8, %rax
	jae	LBB0_42
## %bb.41:
	xorl	%ecx, %ecx
	jmp	LBB0_57
LBB0_42:
	movq	-72(%rbp), %rcx                 ## 8-byte Reload
	movq	-120(%rbp), %rdi                ## 8-byte Reload
	leaq	(%rdi,%rcx), %rdx
	addq	-64(%rbp), %rdi                 ## 8-byte Folded Reload
	movq	%rdx, %rsi
	subq	%rdi, %rsi
	xorl	%ecx, %ecx
	cmpq	$32, %rsi
	jb	LBB0_57
## %bb.43:
	subq	%rbx, %rdx
	subq	%r12, %rdx
	cmpq	$32, %rdx
	jb	LBB0_57
## %bb.44:
	cmpq	$32, %rax
	jae	LBB0_46
## %bb.45:
	xorl	%ecx, %ecx
	jmp	LBB0_54
LBB0_46:
	movq	%rax, %rcx
	andq	$-32, %rcx
	leaq	-32(%rcx), %rdx
	movq	%rdx, %r8
	shrq	$5, %r8
	incq	%r8
	testq	%rdx, %rdx
	je	LBB0_49
## %bb.47:
	movq	%r8, %rdi
	andq	$-2, %rdi
	movq	-72(%rbp), %rdx                 ## 8-byte Reload
	movq	-80(%rbp), %r9                  ## 8-byte Reload
	addq	%r9, %rdx
	addq	$48, %rdx
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	leaq	(%rsi,%r9), %rbx
	addq	$48, %rbx
	xorl	%esi, %esi
LBB0_48:                                ## =>This Inner Loop Header: Depth=1
	movups	-48(%rbx,%rsi), %xmm0
	movups	-32(%rbx,%rsi), %xmm1
	movups	(%r12,%rsi), %xmm2
	xorps	%xmm0, %xmm2
	movups	16(%r12,%rsi), %xmm0
	xorps	%xmm1, %xmm0
	movups	%xmm2, -48(%rdx,%rsi)
	movups	%xmm0, -32(%rdx,%rsi)
	movups	-16(%rbx,%rsi), %xmm0
	movups	(%rbx,%rsi), %xmm1
	movups	32(%r12,%rsi), %xmm2
	xorps	%xmm0, %xmm2
	movups	48(%r12,%rsi), %xmm0
	xorps	%xmm1, %xmm0
	movups	%xmm2, -16(%rdx,%rsi)
	movups	%xmm0, (%rdx,%rsi)
	addq	$64, %rsi
	addq	$-2, %rdi
	jne	LBB0_48
	jmp	LBB0_50
LBB0_49:
	xorl	%esi, %esi
	movq	-80(%rbp), %r9                  ## 8-byte Reload
LBB0_50:
	testb	$1, %r8b
	je	LBB0_52
## %bb.51:
	leaq	(%rsi,%r9), %rdx
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	movups	(%rdi,%rdx), %xmm0
	movups	16(%rdi,%rdx), %xmm1
	movups	(%r12,%rsi), %xmm2
	xorps	%xmm0, %xmm2
	movups	16(%r12,%rsi), %xmm0
	xorps	%xmm1, %xmm0
	movq	-72(%rbp), %rsi                 ## 8-byte Reload
	movups	%xmm2, (%rsi,%rdx)
	movups	%xmm0, 16(%rsi,%rdx)
LBB0_52:
	cmpq	%rcx, %rax
	je	LBB0_62
## %bb.53:
	testb	$24, %al
	je	LBB0_57
LBB0_54:
	movq	%rcx, %rdx
	movq	%rax, %rcx
	andq	$-8, %rcx
	movq	-72(%rbp), %rsi                 ## 8-byte Reload
	movq	-80(%rbp), %rbx                 ## 8-byte Reload
	addq	%rbx, %rsi
	movq	-64(%rbp), %rdi                 ## 8-byte Reload
	addq	%rbx, %rdi
LBB0_55:                                ## =>This Inner Loop Header: Depth=1
	movq	(%r12,%rdx), %rbx
	xorq	(%rdi,%rdx), %rbx
	movq	%rbx, (%rsi,%rdx)
	addq	$8, %rdx
	cmpq	%rdx, %rcx
	jne	LBB0_55
## %bb.56:
	cmpq	%rcx, %rax
	je	LBB0_62
LBB0_57:
	movq	%rcx, %rdx
	orq	$1, %rdx
	testb	$1, %al
	je	LBB0_59
## %bb.58:
	movb	(%r12,%rcx), %bl
	addq	-80(%rbp), %rcx                 ## 8-byte Folded Reload
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	xorb	(%rsi,%rcx), %bl
	movq	-72(%rbp), %rsi                 ## 8-byte Reload
	movb	%bl, (%rsi,%rcx)
	movq	%rdx, %rcx
LBB0_59:
	cmpq	%rdx, %rax
	je	LBB0_62
## %bb.60:
	movq	-72(%rbp), %rdx                 ## 8-byte Reload
	movq	-80(%rbp), %rdi                 ## 8-byte Reload
	addq	%rdi, %rdx
	incq	%rdx
	movq	-64(%rbp), %rsi                 ## 8-byte Reload
	addq	%rdi, %rsi
	incq	%rsi
	.p2align	4, 0x90
LBB0_61:                                ## =>This Inner Loop Header: Depth=1
	movzbl	(%r12,%rcx), %ebx
	xorb	-1(%rsi,%rcx), %bl
	movb	%bl, -1(%rdx,%rcx)
	movzbl	1(%r12,%rcx), %ebx
	xorb	(%rsi,%rcx), %bl
	movb	%bl, (%rdx,%rcx)
	addq	$2, %rcx
	cmpq	%rcx, %rax
	jne	LBB0_61
LBB0_62:
	movq	%rax, %rcx
	movq	-96(%rbp), %rdi                 ## 8-byte Reload
	movl	$-1, %r15d
	.p2align	4, 0x90
LBB0_63:                                ## =>This Inner Loop Header: Depth=1
	subq	$1, %rcx
	jb	LBB0_37
## %bb.64:                              ##   in Loop: Header=BB0_63 Depth=1
	incb	-1(%r12,%rax)
	movq	%rcx, %rax
	je	LBB0_63
## %bb.65:
	xorl	%esi, %esi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
	movq	-72(%rbp), %r8                  ## 8-byte Reload
	movl	-104(%rbp), %ebx                ## 4-byte Reload
	movl	%ebx, %r9d
	callq	_EVP_CipherInit_ex
	testq	%rax, %rax
	jle	LBB0_37
## %bb.66:
	movl	%ebx, %r12d
	testl	%ebx, %ebx
	movq	-96(%rbp), %rbx                 ## 8-byte Reload
	jne	LBB0_68
## %bb.67:
	movq	_EVP_CTRL_AEAD_SET_TAG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	8(%r14), %rcx
	addq	24(%r14), %rcx
	movq	%rbx, %rdi
	movq	-88(%rbp), %rdx                 ## 8-byte Reload
	callq	_EVP_CIPHER_CTX_ctrl
	testq	%rax, %rax
	jle	LBB0_37
LBB0_68:
	leaq	-52(%rbp), %rdi
	movq	-128(%rbp), %rsi                ## 8-byte Reload
	movq	-136(%rbp), %rdx                ## 8-byte Reload
                                        ## kill: def $edx killed $edx killed $rdx
	xorl	%ecx, %ecx
	callq	_WPACKET_init_static_len
	testl	%eax, %eax
	je	LBB0_84
## %bb.69:
	movq	(%r14), %rsi
	leaq	-52(%rbp), %rdi
	callq	_WPACKET_put_bytes_u8
	testl	%eax, %eax
	je	LBB0_84
## %bb.70:
	movq	32(%r14), %rsi
	leaq	-52(%rbp), %rdi
	callq	_WPACKET_put_bytes_u16
	testl	%eax, %eax
	je	LBB0_84
## %bb.71:
	movq	24(%r14), %rsi
	addq	-88(%rbp), %rsi                 ## 8-byte Folded Reload
	leaq	-52(%rbp), %rdi
	callq	_WPACKET_put_bytes_u16
	testl	%eax, %eax
	je	LBB0_84
## %bb.72:
	leaq	-52(%rbp), %rdi
	leaq	-144(%rbp), %rsi
	callq	_WPACKET_get_total_written
	testl	%eax, %eax
	je	LBB0_84
## %bb.73:
	movq	_SSL3_RT_HEADER_LENGTH@GOTPCREL(%rip), %rax
	movslq	(%rax), %rax
	cmpq	%rax, -144(%rbp)
	jne	LBB0_84
## %bb.74:
	leaq	-52(%rbp), %rdi
	callq	_WPACKET_finish
	testl	%eax, %eax
	je	LBB0_84
## %bb.75:
	movl	-100(%rbp), %eax                ## 4-byte Reload
	movq	_SSL_AESCCM@GOTPCREL(%rip), %rcx
	testl	%eax, (%rcx)
	je	LBB0_77
## %bb.76:
	movl	24(%r14), %r8d
	leaq	-56(%rbp), %rdx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	xorl	%ecx, %ecx
	callq	_EVP_CipherUpdate
	testq	%rax, %rax
	jle	LBB0_37
LBB0_77:
	leaq	-56(%rbp), %rdx
	movq	%rbx, %rdi
	xorl	%esi, %esi
	movq	-128(%rbp), %rcx                ## 8-byte Reload
	movq	-136(%rbp), %r8                 ## 8-byte Reload
                                        ## kill: def $r8d killed $r8d killed $r8
	callq	_EVP_CipherUpdate
	testq	%rax, %rax
	jle	LBB0_37
## %bb.78:
	movq	8(%r14), %rsi
	movq	16(%r14), %rcx
	movl	24(%r14), %r8d
	leaq	-56(%rbp), %rdx
	movq	%rbx, %rdi
	callq	_EVP_CipherUpdate
	testq	%rax, %rax
	jle	LBB0_37
## %bb.79:
	movslq	-56(%rbp), %rsi
	addq	8(%r14), %rsi
	leaq	-108(%rbp), %rdx
	movq	%rbx, %rdi
	callq	_EVP_CipherFinal_ex
	testq	%rax, %rax
	jle	LBB0_37
## %bb.80:
	movslq	-56(%rbp), %rax
	movslq	-108(%rbp), %rcx
	addq	%rax, %rcx
	movq	24(%r14), %rax
	xorl	%edx, %edx
	cmpq	%rcx, %rax
	sete	%dl
	leal	(%rdx,%rdx), %r15d
	decl	%r15d
	testl	%r12d, %r12d
	je	LBB0_37
## %bb.81:
	cmpq	%rcx, %rax
	movq	-96(%rbp), %rdi                 ## 8-byte Reload
	movq	-88(%rbp), %rdx                 ## 8-byte Reload
	jne	LBB0_37
## %bb.82:
	movq	_EVP_CTRL_AEAD_GET_TAG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	addq	8(%r14), %rcx
	callq	_EVP_CIPHER_CTX_ctrl
	testq	%rax, %rax
	jle	LBB0_35
## %bb.83:
	movq	-88(%rbp), %rax                 ## 8-byte Reload
	addq	%rax, 24(%r14)
	jmp	LBB0_7
LBB0_84:
	leaq	-52(%rbp), %rdi
	callq	_WPACKET_cleanup
	jmp	LBB0_36
LBB0_85:
	callq	___stack_chk_fail
	.cfi_endproc
                                        ## -- End function
	.comm	_EVP_MAX_IV_LENGTH,4,2          ## @EVP_MAX_IV_LENGTH
	.comm	_SSL3_RT_HEADER_LENGTH,4,2      ## @SSL3_RT_HEADER_LENGTH
	.comm	_SSL_AD_INTERNAL_ERROR,4,2      ## @SSL_AD_INTERNAL_ERROR
	.comm	_SSL_F_TLS13_ENC,4,2            ## @SSL_F_TLS13_ENC
	.comm	_ERR_R_INTERNAL_ERROR,4,2       ## @ERR_R_INTERNAL_ERROR
	.comm	_SSL3_RT_ALERT,8,3              ## @SSL3_RT_ALERT
	.comm	_SSL_EARLY_DATA_WRITING,8,3     ## @SSL_EARLY_DATA_WRITING
	.comm	_SSL_EARLY_DATA_WRITE_RETRY,8,3 ## @SSL_EARLY_DATA_WRITE_RETRY
	.comm	_SSL_AESCCM,4,2                 ## @SSL_AESCCM
	.comm	_SSL_AES128CCM8,4,2             ## @SSL_AES128CCM8
	.comm	_SSL_AES256CCM8,4,2             ## @SSL_AES256CCM8
	.comm	_EVP_CCM8_TLS_TAG_LEN,8,3       ## @EVP_CCM8_TLS_TAG_LEN
	.comm	_EVP_CCM_TLS_TAG_LEN,8,3        ## @EVP_CCM_TLS_TAG_LEN
	.comm	_EVP_CTRL_AEAD_SET_TAG,4,2      ## @EVP_CTRL_AEAD_SET_TAG
	.comm	_SSL_AESGCM,4,2                 ## @SSL_AESGCM
	.comm	_EVP_GCM_TLS_TAG_LEN,8,3        ## @EVP_GCM_TLS_TAG_LEN
	.comm	_SSL_CHACHA20,4,2               ## @SSL_CHACHA20
	.comm	_EVP_CHACHAPOLY_TLS_TAG_LEN,8,3 ## @EVP_CHACHAPOLY_TLS_TAG_LEN
	.comm	_SEQ_NUM_SIZE,8,3               ## @SEQ_NUM_SIZE
	.comm	_EVP_CTRL_AEAD_GET_TAG,4,2      ## @EVP_CTRL_AEAD_GET_TAG
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_tls13_enc                      ; -- Begin function tls13_enc
	.p2align	2
_tls13_enc:                             ; @tls13_enc
	.cfi_startproc
; %bb.0:
	stp	x28, x27, [sp, #-96]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 96
	stp	x26, x25, [sp, #16]             ; 16-byte Folded Spill
	stp	x24, x23, [sp, #32]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.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
	sub	sp, sp, #80
	mov	x21, x3
	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]
	stur	x8, [x29, #-88]
Lloh3:
	adrp	x8, _EVP_MAX_IV_LENGTH@GOTPAGE
Lloh4:
	ldr	x8, [x8, _EVP_MAX_IV_LENGTH@GOTPAGEOFF]
Lloh5:
	ldr	w8, [x8]
	mov	x9, x8
Lloh6:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh7:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	add	x8, x8, #15
	and	x8, x8, #0x1fffffff0
	sub	x26, x9, x8
	mov	sp, x26
Lloh8:
	adrp	x8, _SSL3_RT_HEADER_LENGTH@GOTPAGE
Lloh9:
	ldr	x8, [x8, _SSL3_RT_HEADER_LENGTH@GOTPAGEOFF]
Lloh10:
	ldr	w23, [x8]
	mov	x9, x23
Lloh11:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh12:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x8, sp
	add	x9, x23, #15
	and	x9, x9, #0x1fffffff0
	sub	x24, x8, x9
	mov	sp, x24
	cmp	x2, #1
	b.ne	LBB0_29
; %bb.1:
	cbz	w21, LBB0_3
; %bb.2:
	ldr	x22, [x19, #64]
	ldr	x28, [x19]
	add	x0, x19, #48
	bl	_RECORD_LAYER_get_write_sequence
	mov	x25, x0
	cbnz	x22, LBB0_4
	b	LBB0_5
LBB0_3:
	ldr	x22, [x19, #56]
	ldr	x28, [x19, #8]
	add	x0, x19, #48
	bl	_RECORD_LAYER_get_read_sequence
	mov	x25, x0
	cbz	x22, LBB0_5
LBB0_4:
	ldr	x8, [x20]
Lloh13:
	adrp	x9, _SSL3_RT_ALERT@GOTPAGE
Lloh14:
	ldr	x9, [x9, _SSL3_RT_ALERT@GOTPAGEOFF]
Lloh15:
	ldr	x9, [x9]
	cmp	x8, x9
	b.ne	LBB0_7
LBB0_5:
	ldp	x0, x1, [x20, #8]
	ldr	x2, [x20, #24]
	bl	_memmove
	ldr	x8, [x20, #8]
	str	x8, [x20, #16]
LBB0_6:
	mov	w0, #1
	b	LBB0_31
LBB0_7:
	mov	x0, x22
	bl	_EVP_CIPHER_CTX_iv_length
	stur	x0, [x29, #-120]                ; 8-byte Folded Spill
	ldr	x8, [x19, #16]
Lloh16:
	adrp	x9, _SSL_EARLY_DATA_WRITING@GOTPAGE
Lloh17:
	ldr	x9, [x9, _SSL_EARLY_DATA_WRITING@GOTPAGEOFF]
Lloh18:
	ldr	x9, [x9]
Lloh19:
	adrp	x10, _SSL_EARLY_DATA_WRITE_RETRY@GOTPAGE
Lloh20:
	ldr	x10, [x10, _SSL_EARLY_DATA_WRITE_RETRY@GOTPAGEOFF]
Lloh21:
	ldr	x10, [x10]
	cmp	x8, x9
	ccmp	x8, x10, #4, ne
	b.ne	LBB0_11
; %bb.8:
	ldr	x8, [x19, #40]
	cbz	x8, LBB0_13
; %bb.9:
	ldr	x9, [x8, #8]
	cmp	x9, #1
	b.lt	LBB0_13
; %bb.10:
	stur	x28, [x29, #-128]               ; 8-byte Folded Spill
	b	LBB0_17
LBB0_11:
	ldr	x8, [x19, #24]
	cmp	x8, #0
	cset	w0, ne
	bl	_ossl_assert
	cbz	w0, LBB0_29
; %bb.12:
	stur	x28, [x29, #-128]               ; 8-byte Folded Spill
	ldr	x8, [x19, #24]
	b	LBB0_18
LBB0_13:
	ldr	x8, [x19, #32]
	cbz	x8, LBB0_15
; %bb.14:
	ldr	x8, [x8, #8]
	cmp	x8, #0
	cset	w0, gt
	bl	_ossl_assert
	cbnz	w0, LBB0_16
	b	LBB0_29
LBB0_15:
	mov	w0, #0
	bl	_ossl_assert
	cbz	w0, LBB0_29
LBB0_16:
	stur	x28, [x29, #-128]               ; 8-byte Folded Spill
	ldr	x8, [x19, #32]
LBB0_17:
	ldr	x8, [x8]
LBB0_18:
	ldr	w28, [x8]
Lloh22:
	adrp	x8, _SSL_AESCCM@GOTPAGE
Lloh23:
	ldr	x8, [x8, _SSL_AESCCM@GOTPAGEOFF]
Lloh24:
	ldr	w8, [x8]
	tst	w8, w28
	stur	x25, [x29, #-136]               ; 8-byte Folded Spill
	b.eq	LBB0_21
; %bb.19:
Lloh25:
	adrp	x8, _SSL_AES128CCM8@GOTPAGE
Lloh26:
	ldr	x8, [x8, _SSL_AES128CCM8@GOTPAGEOFF]
Lloh27:
	ldr	w8, [x8]
Lloh28:
	adrp	x9, _SSL_AES256CCM8@GOTPAGE
Lloh29:
	ldr	x9, [x9, _SSL_AES256CCM8@GOTPAGEOFF]
Lloh30:
	ldr	w9, [x9]
Lloh31:
	adrp	x10, _EVP_CCM_TLS_TAG_LEN@GOTPAGE
Lloh32:
	ldr	x10, [x10, _EVP_CCM_TLS_TAG_LEN@GOTPAGEOFF]
	orr	w8, w9, w8
Lloh33:
	adrp	x9, _EVP_CCM8_TLS_TAG_LEN@GOTPAGE
Lloh34:
	ldr	x9, [x9, _EVP_CCM8_TLS_TAG_LEN@GOTPAGEOFF]
	tst	w8, w28
	csel	x8, x10, x9, eq
	ldr	x25, [x8]
	cbz	w21, LBB0_25
; %bb.20:
Lloh35:
	adrp	x8, _EVP_CTRL_AEAD_SET_TAG@GOTPAGE
Lloh36:
	ldr	x8, [x8, _EVP_CTRL_AEAD_SET_TAG@GOTPAGEOFF]
Lloh37:
	ldr	w1, [x8]
	mov	x0, x22
	mov	x2, x25
	mov	x3, #0
	bl	_EVP_CIPHER_CTX_ctrl
	cmp	x0, #0
	b.gt	LBB0_28
	b	LBB0_29
LBB0_21:
Lloh38:
	adrp	x8, _SSL_AESGCM@GOTPAGE
Lloh39:
	ldr	x8, [x8, _SSL_AESGCM@GOTPAGEOFF]
Lloh40:
	ldr	w8, [x8]
	tst	w8, w28
	b.eq	LBB0_23
; %bb.22:
Lloh41:
	adrp	x8, _EVP_GCM_TLS_TAG_LEN@GOTPAGE
Lloh42:
	ldr	x8, [x8, _EVP_GCM_TLS_TAG_LEN@GOTPAGEOFF]
Lloh43:
	ldr	x25, [x8]
	cbnz	w21, LBB0_28
	b	LBB0_25
LBB0_23:
Lloh44:
	adrp	x8, _SSL_CHACHA20@GOTPAGE
Lloh45:
	ldr	x8, [x8, _SSL_CHACHA20@GOTPAGEOFF]
Lloh46:
	ldr	w8, [x8]
	tst	w8, w28
	b.eq	LBB0_29
; %bb.24:
Lloh47:
	adrp	x8, _EVP_CHACHAPOLY_TLS_TAG_LEN@GOTPAGE
Lloh48:
	ldr	x8, [x8, _EVP_CHACHAPOLY_TLS_TAG_LEN@GOTPAGEOFF]
Lloh49:
	ldr	x25, [x8]
	cbnz	w21, LBB0_28
LBB0_25:
	ldr	x8, [x20, #24]
	add	x9, x25, #1
	cmp	x8, x9
	b.hs	LBB0_27
; %bb.26:
	mov	w0, #0
	b	LBB0_31
LBB0_27:
	sub	x8, x8, x25
	str	x8, [x20, #24]
LBB0_28:
	stur	x25, [x29, #-144]               ; 8-byte Folded Spill
Lloh50:
	adrp	x25, _SEQ_NUM_SIZE@GOTPAGE
Lloh51:
	ldr	x25, [x25, _SEQ_NUM_SIZE@GOTPAGEOFF]
	ldr	x27, [x25]
	ldur	x8, [x29, #-120]                ; 8-byte Folded Reload
	subs	x2, x8, x27
	b.hs	LBB0_33
LBB0_29:
Lloh52:
	adrp	x8, _SSL_AD_INTERNAL_ERROR@GOTPAGE
Lloh53:
	ldr	x8, [x8, _SSL_AD_INTERNAL_ERROR@GOTPAGEOFF]
Lloh54:
	ldr	w1, [x8]
Lloh55:
	adrp	x8, _SSL_F_TLS13_ENC@GOTPAGE
Lloh56:
	ldr	x8, [x8, _SSL_F_TLS13_ENC@GOTPAGEOFF]
Lloh57:
	ldr	w2, [x8]
Lloh58:
	adrp	x8, _ERR_R_INTERNAL_ERROR@GOTPAGE
Lloh59:
	ldr	x8, [x8, _ERR_R_INTERNAL_ERROR@GOTPAGEOFF]
Lloh60:
	ldr	w3, [x8]
	mov	x0, x19
	bl	_SSLfatal
LBB0_30:
	mov	w0, #-1
LBB0_31:
	ldur	x8, [x29, #-88]
Lloh61:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh62:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh63:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_72
; %bb.32:
	sub	sp, x29, #80
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #32]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp, #16]             ; 16-byte Folded Reload
	ldp	x28, x27, [sp], #96             ; 16-byte Folded Reload
	ret
LBB0_33:
	mov	x0, x26
	ldur	x1, [x29, #-128]                ; 8-byte Folded Reload
	stur	x2, [x29, #-152]                ; 8-byte Folded Spill
	bl	_memcpy
	mov	x14, x27
Lloh64:
	adrp	x27, _SSL3_RT_HEADER_LENGTH@GOTPAGE
Lloh65:
	ldr	x27, [x27, _SSL3_RT_HEADER_LENGTH@GOTPAGEOFF]
	ldr	x8, [x25]
	ldur	x15, [x29, #-136]               ; 8-byte Folded Reload
	cbz	x8, LBB0_49
; %bb.34:
	cmp	x8, #8
	b.hs	LBB0_36
; %bb.35:
	mov	x9, #0
	b	LBB0_47
LBB0_36:
	mov	x9, #0
	ldp	x11, x12, [x29, #-128]          ; 16-byte Folded Reload
	add	x10, x12, x26
	add	x11, x12, x11
	sub	x11, x10, x11
	cmp	x11, #64
	b.lo	LBB0_47
; %bb.37:
	sub	x10, x10, x14
	sub	x10, x10, x15
	cmp	x10, #64
	b.lo	LBB0_47
; %bb.38:
	cmp	x8, #64
	b.hs	LBB0_40
; %bb.39:
	mov	x9, #0
	b	LBB0_44
LBB0_40:
	and	x9, x8, #0xffffffffffffffc0
	ldur	x10, [x29, #-152]               ; 8-byte Folded Reload
	add	x12, x10, #32
	add	x10, x26, x12
	add	x11, x15, #32
	ldur	x13, [x29, #-128]               ; 8-byte Folded Reload
	add	x12, x13, x12
	mov	x13, x9
LBB0_41:                                ; =>This Inner Loop Header: Depth=1
	ldp	q0, q1, [x12, #-32]
	ldp	q2, q3, [x12], #64
	ldp	q4, q5, [x11, #-32]
	ldp	q6, q7, [x11], #64
	eor.16b	v0, v4, v0
	eor.16b	v1, v5, v1
	eor.16b	v2, v6, v2
	eor.16b	v3, v7, v3
	stp	q0, q1, [x10, #-32]
	stp	q2, q3, [x10], #64
	subs	x13, x13, #64
	b.ne	LBB0_41
; %bb.42:
	cmp	x8, x9
	b.eq	LBB0_49
; %bb.43:
	tst	x8, #0x38
	b.eq	LBB0_47
LBB0_44:
	mov	x13, x9
	and	x9, x8, #0xfffffffffffffff8
	ldp	x12, x10, [x29, #-128]          ; 16-byte Folded Reload
	add	x10, x10, x13
	sub	x11, x10, x14
	add	x10, x26, x11
	add	x11, x12, x11
	add	x12, x15, x13
	sub	x13, x13, x9
LBB0_45:                                ; =>This Inner Loop Header: Depth=1
	ldr	d0, [x11], #8
	ldr	d1, [x12], #8
	eor.8b	v0, v1, v0
	str	d0, [x10], #8
	adds	x13, x13, #8
	b.ne	LBB0_45
; %bb.46:
	cmp	x8, x9
	b.eq	LBB0_49
LBB0_47:
	sub	x10, x8, x9
	add	x11, x15, x9
	ldp	x13, x12, [x29, #-128]          ; 16-byte Folded Reload
	add	x9, x12, x9
	sub	x12, x9, x14
	add	x9, x26, x12
	add	x12, x13, x12
LBB0_48:                                ; =>This Inner Loop Header: Depth=1
	ldrb	w13, [x12], #1
	ldrb	w14, [x11], #1
	eor	w13, w14, w13
	strb	w13, [x9], #1
	subs	x10, x10, #1
	b.ne	LBB0_48
LBB0_49:
	sub	x9, x15, #1
	ldur	x25, [x29, #-144]               ; 8-byte Folded Reload
LBB0_50:                                ; =>This Inner Loop Header: Depth=1
	cbz	x8, LBB0_30
; %bb.51:                               ;   in Loop: Header=BB0_50 Depth=1
	ldrb	w10, [x9, x8]
	add	w10, w10, #1
	strb	w10, [x9, x8]
	sub	x8, x8, #1
	tbnz	w10, #8, LBB0_50
; %bb.52:
	mov	x0, x22
	mov	x1, #0
	mov	x2, #0
	mov	x3, #0
	mov	x4, x26
	mov	x5, x21
	bl	_EVP_CipherInit_ex
	cmp	x0, #1
	b.lt	LBB0_30
; %bb.53:
	cbnz	w21, LBB0_55
; %bb.54:
Lloh66:
	adrp	x8, _EVP_CTRL_AEAD_SET_TAG@GOTPAGE
Lloh67:
	ldr	x8, [x8, _EVP_CTRL_AEAD_SET_TAG@GOTPAGEOFF]
Lloh68:
	ldr	w1, [x8]
	ldr	x8, [x20, #8]
	ldr	x9, [x20, #24]
	add	x3, x8, x9
	mov	x0, x22
	mov	x2, x25
	bl	_EVP_CIPHER_CTX_ctrl
	cmp	x0, #1
	b.lt	LBB0_30
LBB0_55:
	sub	x0, x29, #108
	mov	x1, x24
	mov	x2, x23
	mov	w3, #0
	bl	_WPACKET_init_static_len
	cbz	w0, LBB0_71
; %bb.56:
	ldr	x1, [x20]
	sub	x0, x29, #108
	bl	_WPACKET_put_bytes_u8
	cbz	w0, LBB0_71
; %bb.57:
	ldr	x1, [x20, #32]
	sub	x0, x29, #108
	bl	_WPACKET_put_bytes_u16
	cbz	w0, LBB0_71
; %bb.58:
	ldr	x8, [x20, #24]
	add	x1, x8, x25
	sub	x0, x29, #108
	bl	_WPACKET_put_bytes_u16
	cbz	w0, LBB0_71
; %bb.59:
	sub	x0, x29, #108
	sub	x1, x29, #96
	bl	_WPACKET_get_total_written
	cbz	w0, LBB0_71
; %bb.60:
	ldur	x8, [x29, #-96]
	ldrsw	x9, [x27]
	cmp	x8, x9
	b.ne	LBB0_71
; %bb.61:
	sub	x0, x29, #108
	bl	_WPACKET_finish
	cbz	w0, LBB0_71
; %bb.62:
Lloh69:
	adrp	x8, _SSL_AESCCM@GOTPAGE
Lloh70:
	ldr	x8, [x8, _SSL_AESCCM@GOTPAGEOFF]
Lloh71:
	ldr	w8, [x8]
	tst	w8, w28
	b.eq	LBB0_64
; %bb.63:
	ldr	w4, [x20, #24]
	sub	x2, x29, #100
	mov	x0, x22
	mov	x1, #0
	mov	x3, #0
	bl	_EVP_CipherUpdate
	cmp	x0, #1
	b.lt	LBB0_30
LBB0_64:
	sub	x2, x29, #100
	mov	x0, x22
	mov	x1, #0
	mov	x3, x24
	mov	x4, x23
	bl	_EVP_CipherUpdate
	cmp	x0, #1
	b.lt	LBB0_30
; %bb.65:
	ldp	x1, x3, [x20, #8]
	ldr	w4, [x20, #24]
	sub	x2, x29, #100
	mov	x0, x22
	bl	_EVP_CipherUpdate
	cmp	x0, #1
	b.lt	LBB0_30
; %bb.66:
	ldr	x8, [x20, #8]
	ldursw	x9, [x29, #-100]
	add	x1, x8, x9
	sub	x2, x29, #104
	mov	x0, x22
	bl	_EVP_CipherFinal_ex
	mov	x8, x0
	mov	w0, #-1
	cmp	x8, #1
	b.lt	LBB0_31
; %bb.67:
	ldpsw	x9, x8, [x29, #-104]
	ldr	x10, [x20, #24]
	add	x8, x9, x8
	cmp	x10, x8
	cneg	w0, w0, eq
	cbz	w21, LBB0_31
; %bb.68:
	b.ne	LBB0_31
; %bb.69:
Lloh72:
	adrp	x9, _EVP_CTRL_AEAD_GET_TAG@GOTPAGE
Lloh73:
	ldr	x9, [x9, _EVP_CTRL_AEAD_GET_TAG@GOTPAGEOFF]
Lloh74:
	ldr	w1, [x9]
	ldr	x9, [x20, #8]
	add	x3, x9, x8
	mov	x0, x22
	ldur	x2, [x29, #-144]                ; 8-byte Folded Reload
	bl	_EVP_CIPHER_CTX_ctrl
	cmp	x0, #0
	b.le	LBB0_29
; %bb.70:
	ldr	x8, [x20, #24]
	ldur	x9, [x29, #-144]                ; 8-byte Folded Reload
	add	x8, x8, x9
	str	x8, [x20, #24]
	b	LBB0_6
LBB0_71:
	sub	x0, x29, #108
	bl	_WPACKET_cleanup
	b	LBB0_30
LBB0_72:
	bl	___stack_chk_fail
	.loh AdrpLdrGot	Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh19, Lloh20, Lloh21
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpLdrGotLdr	Lloh22, Lloh23, Lloh24
	.loh AdrpLdrGot	Lloh33, Lloh34
	.loh AdrpLdrGot	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh28, Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh25, Lloh26, Lloh27
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.loh AdrpLdrGotLdr	Lloh41, Lloh42, Lloh43
	.loh AdrpLdrGotLdr	Lloh44, Lloh45, Lloh46
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh50, Lloh51
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGot	Lloh64, Lloh65
	.loh AdrpLdrGotLdr	Lloh66, Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.cfi_endproc
                                        ; -- End function
	.comm	_EVP_MAX_IV_LENGTH,4,2          ; @EVP_MAX_IV_LENGTH
	.comm	_SSL3_RT_HEADER_LENGTH,4,2      ; @SSL3_RT_HEADER_LENGTH
	.comm	_SSL_AD_INTERNAL_ERROR,4,2      ; @SSL_AD_INTERNAL_ERROR
	.comm	_SSL_F_TLS13_ENC,4,2            ; @SSL_F_TLS13_ENC
	.comm	_ERR_R_INTERNAL_ERROR,4,2       ; @ERR_R_INTERNAL_ERROR
	.comm	_SSL3_RT_ALERT,8,3              ; @SSL3_RT_ALERT
	.comm	_SSL_EARLY_DATA_WRITING,8,3     ; @SSL_EARLY_DATA_WRITING
	.comm	_SSL_EARLY_DATA_WRITE_RETRY,8,3 ; @SSL_EARLY_DATA_WRITE_RETRY
	.comm	_SSL_AESCCM,4,2                 ; @SSL_AESCCM
	.comm	_SSL_AES128CCM8,4,2             ; @SSL_AES128CCM8
	.comm	_SSL_AES256CCM8,4,2             ; @SSL_AES256CCM8
	.comm	_EVP_CCM8_TLS_TAG_LEN,8,3       ; @EVP_CCM8_TLS_TAG_LEN
	.comm	_EVP_CCM_TLS_TAG_LEN,8,3        ; @EVP_CCM_TLS_TAG_LEN
	.comm	_EVP_CTRL_AEAD_SET_TAG,4,2      ; @EVP_CTRL_AEAD_SET_TAG
	.comm	_SSL_AESGCM,4,2                 ; @SSL_AESGCM
	.comm	_EVP_GCM_TLS_TAG_LEN,8,3        ; @EVP_GCM_TLS_TAG_LEN
	.comm	_SSL_CHACHA20,4,2               ; @SSL_CHACHA20
	.comm	_EVP_CHACHAPOLY_TLS_TAG_LEN,8,3 ; @EVP_CHACHAPOLY_TLS_TAG_LEN
	.comm	_SEQ_NUM_SIZE,8,3               ; @SEQ_NUM_SIZE
	.comm	_EVP_CTRL_AEAD_GET_TAG,4,2      ; @EVP_CTRL_AEAD_GET_TAG
.subsections_via_symbols
