	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function tls_process_certificate
_tls_process_certificate:               ## @tls_process_certificate
	.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	$216, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r15
	movq	%rdi, %rbx
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, -48(%rbp)
	movq	_TLS_CONTENT_TYPE_HANDSHAKE@GOTPCREL(%rip), %rax
	cmpq	%rsi, (%rax)
	jne	LBB0_3
## %bb.1:
	movq	(%rcx), %r14
	cmpq	$3, %r14
	ja	LBB0_9
## %bb.2:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.1(%rip), %rsi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_DECODE_ERROR@GOTPCREL(%rip), %rax
	jmp	LBB0_4
LBB0_3:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str(%rip), %rsi
	movq	%r15, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_UNEXPECTED_MESSAGE@GOTPCREL(%rip), %rax
LBB0_4:
	movl	(%rax), %edx
	movq	%rbx, %rdi
LBB0_5:
	callq	_tls_alert
LBB0_6:
	movl	$-1, %eax
LBB0_7:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	cmpq	-48(%rbp), %rcx
	jne	LBB0_85
## %bb.8:
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_9:
	movq	%rdx, %r13
	movq	%rcx, -200(%rbp)                ## 8-byte Spill
	movq	%rbx, -184(%rbp)                ## 8-byte Spill
	leaq	8(%rdx), %rdi
	movq	(%rdx), %r12
	callq	_WPA_GET_BE24
	movq	%rax, %rbx
	addq	$-4, %r14
	cmpq	%r14, %rax
	jbe	LBB0_13
## %bb.10:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.2(%rip), %rsi
	movq	%rbx, %rdx
	movq	%r14, %rcx
	xorl	%eax, %eax
	callq	_wpa_printf
LBB0_11:
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_DECODE_ERROR@GOTPCREL(%rip), %rax
LBB0_12:
	movl	(%rax), %edx
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	jmp	LBB0_5
LBB0_13:
	movq	_TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r12
	jne	LBB0_16
## %bb.14:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_85
## %bb.15:
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movq	%r15, %rsi
	movq	%r13, %rdx
	movq	-200(%rbp), %rcx                ## 8-byte Reload
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_tls_process_server_key_exchange ## TAILCALL
LBB0_16:
	movq	_TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r12
	jne	LBB0_19
## %bb.17:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_85
## %bb.18:
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movq	%r15, %rsi
	movq	%r13, %rdx
	movq	-200(%rbp), %rcx                ## 8-byte Reload
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_tls_process_certificate_request ## TAILCALL
LBB0_19:
	movq	_TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE@GOTPCREL(%rip), %rax
	cmpq	(%rax), %r12
	jne	LBB0_22
## %bb.20:
	movq	___stack_chk_guard@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	-48(%rbp), %rax
	jne	LBB0_85
## %bb.21:
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movq	%r15, %rsi
	movq	%r13, %rdx
	movq	-200(%rbp), %rcx                ## 8-byte Reload
	leaq	-40(%rbp), %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_tls_process_server_hello_done  ## TAILCALL
LBB0_22:
	movq	_TLS_HANDSHAKE_TYPE_CERTIFICATE@GOTPCREL(%rip), %rax
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rcx
	movl	(%rcx), %edi
	cmpq	(%rax), %r12
	jne	LBB0_25
## %bb.23:
	leaq	L_.str.4(%rip), %rsi
	movq	%rbx, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	cmpq	$2, %rbx
	jg	LBB0_26
## %bb.24:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.5(%rip), %rsi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	jmp	LBB0_11
LBB0_25:
	leaq	L_.str.3(%rip), %rsi
	movq	%r12, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_UNEXPECTED_MESSAGE@GOTPCREL(%rip), %rax
	jmp	LBB0_12
LBB0_26:
	leaq	32(%r13), %rdi
	leaq	4(%rbx), %r15
	callq	_WPA_GET_BE24
	leaq	-56(,%r15,8), %rcx
	sarq	$3, %rcx
	cmpq	%rax, %rcx
	movq	-184(%rbp), %r14                ## 8-byte Reload
	jne	LBB0_37
## %bb.27:
	movq	%r15, -232(%rbp)                ## 8-byte Spill
	cmpq	$4, %rbx
	jb	LBB0_38
## %bb.28:
	leaq	32(,%rbx,8), %rbx
	addq	%r13, %rbx
	addq	$56, %r13
	leaq	40(%r14), %rax
	movq	%rax, -240(%rbp)                ## 8-byte Spill
	xorl	%ecx, %ecx
	xorl	%r12d, %r12d
	xorl	%r14d, %r14d
	movq	%rbx, -248(%rbp)                ## 8-byte Spill
	jmp	LBB0_30
LBB0_29:                                ##   in Loop: Header=BB0_30 Depth=1
	incq	%r14
	leaq	(%r13,%r15,8), %r13
	movq	%rbx, %rcx
	movq	%r9, %r12
	movq	-248(%rbp), %rbx                ## 8-byte Reload
	cmpq	%rbx, %r13
	jae	LBB0_39
LBB0_30:                                ## =>This Inner Loop Header: Depth=1
	movq	%rbx, %rax
	subq	%r13, %rax
	cmpq	$23, %rax
	jle	LBB0_54
## %bb.31:                              ##   in Loop: Header=BB0_30 Depth=1
	movq	%rcx, -192(%rbp)                ## 8-byte Spill
	movq	%r13, %rdi
	callq	_WPA_GET_BE24
	movq	%rax, %r15
	addq	$24, %r13
	movq	%rbx, %rcx
	subq	%r13, %rcx
	sarq	$3, %rcx
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	cmpq	%r15, %rcx
	jb	LBB0_55
## %bb.32:                              ##   in Loop: Header=BB0_30 Depth=1
	leaq	L_.str.9(%rip), %rsi
	movq	%r14, %rdx
	movq	%r15, %rcx
	xorl	%eax, %eax
	callq	_wpa_printf
	testq	%r14, %r14
	jne	LBB0_34
## %bb.33:                              ##   in Loop: Header=BB0_30 Depth=1
	movq	-240(%rbp), %rbx                ## 8-byte Reload
	movl	(%rbx), %edi
	callq	_crypto_public_key_free
	movq	%r13, %rdi
	movq	%r15, %rsi
	movq	%rbx, %rdx
	callq	_tls_parse_cert
	testq	%rax, %rax
	jne	LBB0_53
LBB0_34:                                ##   in Loop: Header=BB0_30 Depth=1
	movq	%r13, %rdi
	movq	%r15, %rsi
	callq	_x509_certificate_parse
	testq	%rax, %rax
	je	LBB0_53
## %bb.35:                              ##   in Loop: Header=BB0_30 Depth=1
	movq	%rax, %rbx
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movq	%r14, %rsi
	movq	%rax, %rdx
	callq	_tls_peer_cert_event
	movq	%rbx, %r9
	movq	-192(%rbp), %rax                ## 8-byte Reload
	testq	%rax, %rax
	je	LBB0_29
## %bb.36:                              ##   in Loop: Header=BB0_30 Depth=1
	movq	%rbx, 24(%rax)
	movq	%r12, %r9
	jmp	LBB0_29
LBB0_37:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edi
	leaq	L_.str.6(%rip), %rsi
	movq	%rax, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_DECODE_ERROR@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r14, %rdi
	jmp	LBB0_5
LBB0_38:
	xorl	%r9d, %r9d
LBB0_39:
	movq	-184(%rbp), %r12                ## 8-byte Reload
	movq	16(%r12), %rax
	testq	%rax, %rax
	je	LBB0_70
## %bb.40:
	cmpq	$0, (%rax)
	je	LBB0_47
## %bb.41:
	testq	%r9, %r9
	je	LBB0_47
## %bb.42:
	movq	%rsp, -192(%rbp)                ## 8-byte Spill
	movq	_SHA256_MAC_LEN@GOTPCREL(%rip), %r15
	movl	(%r15), %eax
	shlq	$3, %rax
	movq	%r9, %r13
	callq	____chkstk_darwin
	addq	$15, %rax
	andq	$-16, %rax
	subq	%rax, %rsp
	movq	%rsp, %r12
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rbx
	movl	(%rbx), %edi
	leaq	L_.str.11(%rip), %rsi
	xorl	%eax, %eax
	callq	_wpa_printf
	leaq	8(%r13), %rdi
	leaq	-176(%rbp), %r14
	movq	%r14, %rsi
	movl	$128, %edx
	callq	_x509_name_string
	movl	(%rbx), %edi
	movq	%r15, %rbx
	leaq	L_.str.12(%rip), %rsi
	movq	%r14, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
	leaq	16(%r13), %rsi
	movq	%r13, %r15
	leaq	12(%r13), %rdx
	movl	$1, %edi
	movq	%r12, %rcx
	callq	_sha256_vector
	testq	%rax, %rax
	js	LBB0_44
## %bb.43:
	movq	-184(%rbp), %rax                ## 8-byte Reload
	movq	16(%rax), %rax
	movl	32(%rax), %edi
	movl	(%rbx), %edx
	movq	%r12, %rsi
	callq	_os_memcmp
	testq	%rax, %rax
	je	LBB0_64
LBB0_44:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.13(%rip), %rsi
	xorl	%eax, %eax
	callq	_wpa_printf
	movq	_MSG_MSGDUMP@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	(%rbx), %ecx
	leaq	L_.str.14(%rip), %rsi
	movq	%r12, %rdx
	callq	_wpa_hexdump
	movq	-184(%rbp), %rbx                ## 8-byte Reload
	cmpq	$0, 32(%rbx)
	je	LBB0_46
## %bb.45:
	leaq	-224(%rbp), %r12
	movq	%r12, %rdi
	xorl	%esi, %esi
	movl	$24, %edx
	callq	_os_memset
	movq	_TLS_FAIL_UNSPECIFIED@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -208(%rbp)
	leaq	L_.str.15(%rip), %rax
	movq	%rax, -224(%rbp)
	movq	%r14, -216(%rbp)
	movl	24(%rbx), %edi
	movq	_TLS_CERT_CHAIN_FAILURE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r12, %rdx
	callq	*32(%rbx)
LBB0_46:
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_tls_alert
	movq	%r15, %rdi
	callq	_x509_certificate_chain_free
	movl	$-1, %eax
	movq	-192(%rbp), %rsp                ## 8-byte Reload
	jmp	LBB0_7
LBB0_47:
	cmpq	$0, 24(%rax)
	je	LBB0_59
## %bb.48:
	movq	%r9, %r15
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.16(%rip), %rsi
	xorl	%eax, %eax
	callq	_wpa_printf
	cmpq	$0, 32(%r12)
	je	LBB0_52
## %bb.49:
	leaq	-224(%rbp), %rdi
	xorl	%esi, %esi
	movl	$24, %edx
	callq	_os_memset
	movq	_TLS_FAIL_SERVER_CHAIN_PROBE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, -208(%rbp)
	leaq	L_.str.17(%rip), %rax
	movq	%rax, -224(%rbp)
	testq	%r15, %r15
	je	LBB0_51
## %bb.50:
	leaq	8(%r15), %rdi
	leaq	-176(%rbp), %r14
	movq	%r14, %rsi
	movl	$128, %edx
	callq	_x509_name_string
	movq	%r14, -216(%rbp)
LBB0_51:
	movl	24(%r12), %edi
	movq	_TLS_CERT_CHAIN_FAILURE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	leaq	-224(%rbp), %rdx
	callq	*32(%r12)
LBB0_52:
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	callq	_tls_alert
	movq	%r15, %rdi
	jmp	LBB0_58
LBB0_53:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.10(%rip), %rsi
	xorl	%eax, %eax
	callq	_wpa_printf
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	jmp	LBB0_57
LBB0_54:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	leaq	L_.str.7(%rip), %rsi
	xorl	%eax, %eax
	callq	_wpa_printf
	jmp	LBB0_56
LBB0_55:
	leaq	L_.str.8(%rip), %rsi
	movq	%r15, %rdx
	xorl	%eax, %eax
	callq	_wpa_printf
LBB0_56:
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_DECODE_ERROR@GOTPCREL(%rip), %rax
LBB0_57:
	movl	(%rax), %edx
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	callq	_tls_alert
	movq	%r12, %rdi
LBB0_58:
	callq	_x509_certificate_chain_free
	jmp	LBB0_6
LBB0_59:
	cmpq	$0, 16(%rax)
	je	LBB0_65
## %bb.60:
	movl	8(%rax), %edi
	movq	_TLS_CONN_DISABLE_TIME_CHECKS@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	xorl	%ecx, %ecx
	andl	(%r12), %eax
	setne	%cl
	leaq	-176(%rbp), %rdx
	movq	%r9, %rsi
	movq	%r9, %r14
	callq	_x509_certificate_chain_validate
	movq	%r14, %r9
	testq	%rax, %rax
	jns	LBB0_65
## %bb.61:
	movq	_MSG_DEBUG@GOTPCREL(%rip), %rax
	movl	(%rax), %edi
	movl	-176(%rbp), %edx
	leaq	L_.str.18(%rip), %rsi
	xorl	%eax, %eax
	callq	_wpa_printf
	movl	-176(%rbp), %eax
	addl	$-128, %eax
	cmpl	$5, %eax
	ja	LBB0_75
## %bb.62:
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_63:
	movq	_TLS_ALERT_UNSUPPORTED_CERTIFICATE@GOTPCREL(%rip), %rax
	jmp	LBB0_78
LBB0_64:
	movq	-192(%rbp), %rsp                ## 8-byte Reload
	movq	-184(%rbp), %r12                ## 8-byte Reload
	movq	%r15, %r9
LBB0_65:
	movq	16(%r12), %rax
	testq	%rax, %rax
	je	LBB0_70
## %bb.66:
	cmpq	$0, (%rax)
	jne	LBB0_70
## %bb.67:
	testq	%r9, %r9
	je	LBB0_70
## %bb.68:
	movq	_X509_EXT_EXT_KEY_USAGE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r9)
	je	LBB0_70
## %bb.69:
	movq	_X509_EXT_KEY_USAGE_ANY@GOTPCREL(%rip), %rax
	movq	_X509_EXT_KEY_USAGE_SERVER_AUTH@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	orl	(%rax), %ecx
	testl	%ecx, 4(%r9)
	je	LBB0_74
LBB0_70:
	movq	_TLS_CONN_REQUEST_OCSP@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	testl	%eax, (%r12)
	je	LBB0_72
## %bb.71:
	movq	8(%r12), %rdi
	movq	%r9, %rbx
	callq	_x509_certificate_chain_free
	movq	%rbx, 8(%r12)
	jmp	LBB0_73
LBB0_72:
	movq	%r9, %rdi
	callq	_x509_certificate_chain_free
LBB0_73:
	movq	-200(%rbp), %rax                ## 8-byte Reload
	movq	-232(%rbp), %rcx                ## 8-byte Reload
	movq	%rcx, (%rax)
	movq	_SERVER_KEY_EXCHANGE@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	movl	%eax, 4(%r12)
	xorl	%eax, %eax
	jmp	LBB0_7
LBB0_74:
	movq	_TLS_FAIL_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.23(%rip), %r8
	movq	%r12, %rdi
	xorl	%esi, %esi
	movq	%r9, %rdx
	movq	%r9, %r14
	callq	_tls_cert_chain_failure_event
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_TLS_ALERT_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%r12, %rdi
	jmp	LBB0_84
LBB0_75:
	movq	_TLS_ALERT_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	jmp	LBB0_78
LBB0_76:
	movq	_TLS_ALERT_UNKNOWN_CA@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	_TLS_FAIL_UNTRUSTED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.22(%rip), %r8
	jmp	LBB0_82
LBB0_77:
	movq	_TLS_ALERT_CERTIFICATE_UNKNOWN@GOTPCREL(%rip), %rax
LBB0_78:
	movl	(%rax), %ebx
	jmp	LBB0_83
LBB0_79:
	movq	_TLS_ALERT_CERTIFICATE_REVOKED@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	_TLS_FAIL_REVOKED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.20(%rip), %r8
	jmp	LBB0_82
LBB0_80:
	movq	_TLS_ALERT_CERTIFICATE_EXPIRED@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	_TLS_FAIL_EXPIRED@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.21(%rip), %r8
	jmp	LBB0_82
LBB0_81:
	movq	_TLS_ALERT_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	movl	(%rax), %ebx
	movq	_TLS_FAIL_BAD_CERTIFICATE@GOTPCREL(%rip), %rax
	movl	(%rax), %ecx
	leaq	L_.str.19(%rip), %r8
LBB0_82:
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	xorl	%esi, %esi
	movq	%r14, %rdx
	callq	_tls_cert_chain_failure_event
LBB0_83:
	movq	_TLS_ALERT_LEVEL_FATAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	-184(%rbp), %rdi                ## 8-byte Reload
	movl	%ebx, %edx
LBB0_84:
	callq	_tls_alert
	movq	%r14, %rdi
	jmp	LBB0_58
LBB0_85:
	callq	___stack_chk_fail
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_63, LBB0_63-LJTI0_0
.set L0_0_set_76, LBB0_76-LJTI0_0
.set L0_0_set_77, LBB0_77-LJTI0_0
.set L0_0_set_79, LBB0_79-LJTI0_0
.set L0_0_set_80, LBB0_80-LJTI0_0
.set L0_0_set_81, LBB0_81-LJTI0_0
LJTI0_0:
	.long	L0_0_set_63
	.long	L0_0_set_76
	.long	L0_0_set_77
	.long	L0_0_set_79
	.long	L0_0_set_80
	.long	L0_0_set_81
	.end_data_region
                                        ## -- End function
	.comm	_TLS_CONTENT_TYPE_HANDSHAKE,8,3 ## @TLS_CONTENT_TYPE_HANDSHAKE
	.comm	_MSG_DEBUG,4,2                  ## @MSG_DEBUG
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"TLSv1: Expected Handshake; received content type 0x%x"

	.comm	_TLS_ALERT_LEVEL_FATAL,4,2      ## @TLS_ALERT_LEVEL_FATAL
	.comm	_TLS_ALERT_UNEXPECTED_MESSAGE,4,2 ## @TLS_ALERT_UNEXPECTED_MESSAGE
L_.str.1:                               ## @.str.1
	.asciz	"TLSv1: Too short Certificate message (len=%lu)"

	.comm	_TLS_ALERT_DECODE_ERROR,4,2     ## @TLS_ALERT_DECODE_ERROR
L_.str.2:                               ## @.str.2
	.asciz	"TLSv1: Unexpected Certificate message length (len=%lu != left=%lu)"

	.comm	_TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE,8,3 ## @TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE
	.comm	_TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST,8,3 ## @TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST
	.comm	_TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE,8,3 ## @TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE
	.comm	_TLS_HANDSHAKE_TYPE_CERTIFICATE,8,3 ## @TLS_HANDSHAKE_TYPE_CERTIFICATE
L_.str.3:                               ## @.str.3
	.asciz	"TLSv1: Received unexpected handshake message %d (expected Certificate/ServerKeyExchange/CertificateRequest/ServerHelloDone)"

L_.str.4:                               ## @.str.4
	.asciz	"TLSv1: Received Certificate (certificate_list len %lu)"

L_.str.5:                               ## @.str.5
	.asciz	"TLSv1: Too short Certificate (left=%lu)"

L_.str.6:                               ## @.str.6
	.asciz	"TLSv1: Unexpected certificate_list length (len=%lu left=%lu)"

L_.str.7:                               ## @.str.7
	.asciz	"TLSv1: Failed to parse certificate_list"

L_.str.8:                               ## @.str.8
	.asciz	"TLSv1: Unexpected certificate length (len=%lu left=%lu)"

L_.str.9:                               ## @.str.9
	.asciz	"TLSv1: Certificate %lu (len %lu)"

L_.str.10:                              ## @.str.10
	.asciz	"TLSv1: Failed to parse the certificate"

	.comm	_TLS_ALERT_BAD_CERTIFICATE,4,2  ## @TLS_ALERT_BAD_CERTIFICATE
	.comm	_SHA256_MAC_LEN,4,2             ## @SHA256_MAC_LEN
L_.str.11:                              ## @.str.11
	.asciz	"TLSv1: Validate server certificate hash"

L_.str.12:                              ## @.str.12
	.asciz	"TLSv1: 0: %s"

L_.str.13:                              ## @.str.13
	.asciz	"TLSv1: Server certificate hash mismatch"

	.comm	_MSG_MSGDUMP,4,2                ## @MSG_MSGDUMP
L_.str.14:                              ## @.str.14
	.asciz	"TLSv1: SHA256 hash"

	.comm	_TLS_FAIL_UNSPECIFIED,4,2       ## @TLS_FAIL_UNSPECIFIED
L_.str.15:                              ## @.str.15
	.asciz	"Server certificate mismatch"

	.comm	_TLS_CERT_CHAIN_FAILURE,4,2     ## @TLS_CERT_CHAIN_FAILURE
L_.str.16:                              ## @.str.16
	.asciz	"TLSv1: Reject server certificate on probe-only rune"

	.comm	_TLS_FAIL_SERVER_CHAIN_PROBE,4,2 ## @TLS_FAIL_SERVER_CHAIN_PROBE
L_.str.17:                              ## @.str.17
	.asciz	"Server certificate chain probe"

	.comm	_TLS_CONN_DISABLE_TIME_CHECKS,4,2 ## @TLS_CONN_DISABLE_TIME_CHECKS
L_.str.18:                              ## @.str.18
	.asciz	"TLSv1: Server certificate chain validation failed (reason=%d)"

	.comm	_TLS_FAIL_BAD_CERTIFICATE,4,2   ## @TLS_FAIL_BAD_CERTIFICATE
L_.str.19:                              ## @.str.19
	.asciz	"bad certificate"

	.comm	_TLS_ALERT_UNSUPPORTED_CERTIFICATE,4,2 ## @TLS_ALERT_UNSUPPORTED_CERTIFICATE
	.comm	_TLS_ALERT_CERTIFICATE_REVOKED,4,2 ## @TLS_ALERT_CERTIFICATE_REVOKED
	.comm	_TLS_FAIL_REVOKED,4,2           ## @TLS_FAIL_REVOKED
L_.str.20:                              ## @.str.20
	.asciz	"certificate revoked"

	.comm	_TLS_ALERT_CERTIFICATE_EXPIRED,4,2 ## @TLS_ALERT_CERTIFICATE_EXPIRED
	.comm	_TLS_FAIL_EXPIRED,4,2           ## @TLS_FAIL_EXPIRED
L_.str.21:                              ## @.str.21
	.asciz	"certificate has expired or is not yet valid"

	.comm	_TLS_ALERT_CERTIFICATE_UNKNOWN,4,2 ## @TLS_ALERT_CERTIFICATE_UNKNOWN
	.comm	_TLS_ALERT_UNKNOWN_CA,4,2       ## @TLS_ALERT_UNKNOWN_CA
	.comm	_TLS_FAIL_UNTRUSTED,4,2         ## @TLS_FAIL_UNTRUSTED
L_.str.22:                              ## @.str.22
	.asciz	"unknown CA"

	.comm	_X509_EXT_EXT_KEY_USAGE,4,2     ## @X509_EXT_EXT_KEY_USAGE
	.comm	_X509_EXT_KEY_USAGE_ANY,4,2     ## @X509_EXT_KEY_USAGE_ANY
	.comm	_X509_EXT_KEY_USAGE_SERVER_AUTH,4,2 ## @X509_EXT_KEY_USAGE_SERVER_AUTH
L_.str.23:                              ## @.str.23
	.asciz	"certificate not allowed for server authentication"

	.comm	_TLS_CONN_REQUEST_OCSP,4,2      ## @TLS_CONN_REQUEST_OCSP
	.comm	_SERVER_KEY_EXCHANGE,4,2        ## @SERVER_KEY_EXCHANGE
	.no_dead_strip	_tls_process_certificate
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function tls_process_certificate
_tls_process_certificate:               ; @tls_process_certificate
	.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, #192
	mov	x22, 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, #-96]
Lloh3:
	adrp	x8, _TLS_CONTENT_TYPE_HANDSHAKE@GOTPAGE
Lloh4:
	ldr	x8, [x8, _TLS_CONTENT_TYPE_HANDSHAKE@GOTPAGEOFF]
Lloh5:
	ldr	x8, [x8]
	cmp	x8, x1
	b.ne	LBB0_3
; %bb.1:
	mov	x21, x3
	ldr	x25, [x3]
	cmp	x25, #3
	b.hi	LBB0_5
; %bb.2:
Lloh6:
	adrp	x8, _MSG_DEBUG@GOTPAGE
Lloh7:
	ldr	x8, [x8, _MSG_DEBUG@GOTPAGEOFF]
Lloh8:
	ldr	w0, [x8]
	str	x25, [sp, #-16]!
Lloh9:
	adrp	x1, l_.str.1@PAGE
Lloh10:
	add	x1, x1, l_.str.1@PAGEOFF
	b	LBB0_7
LBB0_3:
Lloh11:
	adrp	x8, _MSG_DEBUG@GOTPAGE
Lloh12:
	ldr	x8, [x8, _MSG_DEBUG@GOTPAGEOFF]
Lloh13:
	ldr	w0, [x8]
	str	x22, [sp, #-16]!
Lloh14:
	adrp	x1, l_.str@PAGE
Lloh15:
	add	x1, x1, l_.str@PAGEOFF
LBB0_4:
	bl	_wpa_printf
	add	sp, sp, #16
Lloh16:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh17:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh18:
	ldr	w1, [x8]
Lloh19:
	adrp	x8, _TLS_ALERT_UNEXPECTED_MESSAGE@GOTPAGE
Lloh20:
	ldr	x8, [x8, _TLS_ALERT_UNEXPECTED_MESSAGE@GOTPAGEOFF]
	b	LBB0_8
LBB0_5:
	mov	x20, x2
	add	x0, x2, #8
	mov	x24, x2
	ldr	x26, [x24], #32
	bl	_WPA_GET_BE24
	mov	x23, x0
	sub	x25, x25, #4
	cmp	x0, x25
	b.ls	LBB0_12
; %bb.6:
Lloh21:
	adrp	x8, _MSG_DEBUG@GOTPAGE
Lloh22:
	ldr	x8, [x8, _MSG_DEBUG@GOTPAGEOFF]
Lloh23:
	ldr	w0, [x8]
	stp	x23, x25, [sp, #-16]!
Lloh24:
	adrp	x1, l_.str.2@PAGE
Lloh25:
	add	x1, x1, l_.str.2@PAGEOFF
LBB0_7:
	bl	_wpa_printf
	add	sp, sp, #16
Lloh26:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh27:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh28:
	ldr	w1, [x8]
Lloh29:
	adrp	x8, _TLS_ALERT_DECODE_ERROR@GOTPAGE
Lloh30:
	ldr	x8, [x8, _TLS_ALERT_DECODE_ERROR@GOTPAGEOFF]
LBB0_8:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_tls_alert
LBB0_9:
	mov	w0, #-1
LBB0_10:
	ldur	x8, [x29, #-96]
Lloh31:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh32:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh33:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_86
; %bb.11:
	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_12:
Lloh34:
	adrp	x8, _TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE@GOTPAGE
Lloh35:
	ldr	x8, [x8, _TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE@GOTPAGEOFF]
Lloh36:
	ldr	x8, [x8]
	cmp	x26, x8
	b.ne	LBB0_15
; %bb.13:
	ldur	x8, [x29, #-96]
Lloh37:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh38:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh39:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_86
; %bb.14:
	mov	x0, x19
	mov	x1, x22
	mov	x2, x20
	mov	x3, x21
	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
	b	_tls_process_server_key_exchange
LBB0_15:
Lloh40:
	adrp	x8, _TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST@GOTPAGE
Lloh41:
	ldr	x8, [x8, _TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST@GOTPAGEOFF]
Lloh42:
	ldr	x8, [x8]
	cmp	x26, x8
	b.ne	LBB0_18
; %bb.16:
	ldur	x8, [x29, #-96]
Lloh43:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh44:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh45:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_86
; %bb.17:
	mov	x0, x19
	mov	x1, x22
	mov	x2, x20
	mov	x3, x21
	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
	b	_tls_process_certificate_request
LBB0_18:
Lloh46:
	adrp	x8, _TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE@GOTPAGE
Lloh47:
	ldr	x8, [x8, _TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE@GOTPAGEOFF]
Lloh48:
	ldr	x8, [x8]
	cmp	x26, x8
	b.ne	LBB0_21
; %bb.19:
	ldur	x8, [x29, #-96]
Lloh49:
	adrp	x9, ___stack_chk_guard@GOTPAGE
Lloh50:
	ldr	x9, [x9, ___stack_chk_guard@GOTPAGEOFF]
Lloh51:
	ldr	x9, [x9]
	cmp	x9, x8
	b.ne	LBB0_86
; %bb.20:
	mov	x0, x19
	mov	x1, x22
	mov	x2, x20
	mov	x3, x21
	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
	b	_tls_process_server_hello_done
LBB0_21:
Lloh52:
	adrp	x8, _TLS_HANDSHAKE_TYPE_CERTIFICATE@GOTPAGE
Lloh53:
	ldr	x8, [x8, _TLS_HANDSHAKE_TYPE_CERTIFICATE@GOTPAGEOFF]
Lloh54:
	ldr	x8, [x8]
Lloh55:
	adrp	x28, _MSG_DEBUG@GOTPAGE
Lloh56:
	ldr	x28, [x28, _MSG_DEBUG@GOTPAGEOFF]
	ldr	w0, [x28]
	sub	sp, sp, #16
	cmp	x26, x8
	b.ne	LBB0_24
; %bb.22:
	str	x23, [sp]
Lloh57:
	adrp	x1, l_.str.4@PAGE
Lloh58:
	add	x1, x1, l_.str.4@PAGEOFF
	bl	_wpa_printf
	add	sp, sp, #16
	cmp	x23, #2
	b.gt	LBB0_25
; %bb.23:
	ldr	w0, [x28]
	str	x25, [sp, #-16]!
Lloh59:
	adrp	x1, l_.str.5@PAGE
Lloh60:
	add	x1, x1, l_.str.5@PAGEOFF
	b	LBB0_7
LBB0_24:
	str	x26, [sp]
Lloh61:
	adrp	x1, l_.str.3@PAGE
Lloh62:
	add	x1, x1, l_.str.3@PAGEOFF
	b	LBB0_4
LBB0_25:
	add	x26, x23, #4
	mov	x0, x24
	bl	_WPA_GET_BE24
	lsl	x8, x26, #3
	sub	x8, x8, #56
	asr	x9, x8, #3
	cmp	x9, x0
	b.ne	LBB0_36
; %bb.26:
	cmp	x23, #4
	sub	x8, x29, #8
	stur	x26, [x8, #-256]                ; 8-byte Folded Spill
	b.lo	LBB0_37
; %bb.27:
	mov	x25, #0
	mov	x22, #0
	mov	x23, #0
	add	x24, x20, x26, lsl #3
	add	x27, x20, #56
	add	x8, x19, #40
	stur	x8, [x29, #-256]                ; 8-byte Folded Spill
	b	LBB0_29
LBB0_28:                                ;   in Loop: Header=BB0_29 Depth=1
	add	x23, x23, #1
	add	x27, x27, x26, lsl #3
	mov	x25, x28
	mov	x22, x11
	cmp	x27, x24
	mov	x28, x20
	b.hs	LBB0_38
LBB0_29:                                ; =>This Inner Loop Header: Depth=1
	sub	x8, x24, x27
	cmp	x8, #23
	b.le	LBB0_52
; %bb.30:                               ;   in Loop: Header=BB0_29 Depth=1
	mov	x0, x27
	bl	_WPA_GET_BE24
	mov	x26, x0
	add	x27, x27, #24
	sub	x8, x24, x27
	asr	x8, x8, #3
	ldr	w0, [x28]
	sub	sp, sp, #16
	cmp	x8, x26
	b.lo	LBB0_53
; %bb.31:                               ;   in Loop: Header=BB0_29 Depth=1
	stp	x23, x26, [sp]
Lloh63:
	adrp	x1, l_.str.9@PAGE
Lloh64:
	add	x1, x1, l_.str.9@PAGEOFF
	bl	_wpa_printf
	add	sp, sp, #16
	cbnz	x23, LBB0_33
; %bb.32:                               ;   in Loop: Header=BB0_29 Depth=1
	ldur	x20, [x29, #-256]               ; 8-byte Folded Reload
	ldr	w0, [x20]
	bl	_crypto_public_key_free
	mov	x0, x27
	mov	x1, x26
	mov	x2, x20
	bl	_tls_parse_cert
	cbnz	x0, LBB0_71
LBB0_33:                                ;   in Loop: Header=BB0_29 Depth=1
	mov	x20, x28
	mov	x0, x27
	mov	x1, x26
	bl	_x509_certificate_parse
	cbz	x0, LBB0_55
; %bb.34:                               ;   in Loop: Header=BB0_29 Depth=1
	mov	x28, x0
	mov	x0, x19
	mov	x1, x23
	mov	x2, x28
	bl	_tls_peer_cert_event
	mov	x11, x28
	cbz	x25, LBB0_28
; %bb.35:                               ;   in Loop: Header=BB0_29 Depth=1
	str	x28, [x25, #24]
	mov	x11, x22
	b	LBB0_28
LBB0_36:
	ldr	w8, [x28]
	stp	x0, x9, [sp, #-16]!
Lloh65:
	adrp	x1, l_.str.6@PAGE
Lloh66:
	add	x1, x1, l_.str.6@PAGEOFF
	mov	x0, x8
	b	LBB0_7
LBB0_37:
	mov	x11, #0
LBB0_38:
	ldr	x8, [x19, #16]
	sub	x9, x29, #8
	ldur	x26, [x9, #-256]                ; 8-byte Folded Reload
	cbz	x8, LBB0_67
; %bb.39:
	ldr	x9, [x8]
	cbz	x9, LBB0_46
; %bb.40:
	cbz	x11, LBB0_46
; %bb.41:
	mov	x23, sp
Lloh67:
	adrp	x20, _SHA256_MAC_LEN@GOTPAGE
Lloh68:
	ldr	x20, [x20, _SHA256_MAC_LEN@GOTPAGEOFF]
	ldr	w8, [x20]
	lsl	x8, x8, #3
	mov	x9, x8
	mov	x25, x11
Lloh69:
	adrp	x16, ___chkstk_darwin@GOTPAGE
Lloh70:
	ldr	x16, [x16, ___chkstk_darwin@GOTPAGEOFF]
	blr	x16
	mov	x9, sp
	add	x8, x8, #15
	and	x8, x8, #0xffffffff0
	sub	x22, x9, x8
	mov	sp, x22
	ldr	w0, [x28]
Lloh71:
	adrp	x1, l_.str.11@PAGE
Lloh72:
	add	x1, x1, l_.str.11@PAGEOFF
	bl	_wpa_printf
	add	x0, x25, #8
	sub	x24, x29, #224
	sub	x1, x29, #224
	mov	w2, #128
	bl	_x509_name_string
	ldr	w0, [x28]
	str	x24, [sp, #-16]!
Lloh73:
	adrp	x1, l_.str.12@PAGE
Lloh74:
	add	x1, x1, l_.str.12@PAGEOFF
	bl	_wpa_printf
	add	sp, sp, #16
	add	x1, x25, #16
	mov	x24, x25
	add	x2, x25, #12
	mov	w0, #1
	mov	x3, x22
	bl	_sha256_vector
	tbnz	x0, #63, LBB0_43
; %bb.42:
	ldr	x8, [x19, #16]
	ldr	w0, [x8, #32]
	ldr	w2, [x20]
	mov	x1, x22
	bl	_os_memcmp
	cbz	x0, LBB0_61
LBB0_43:
	ldr	w0, [x28]
Lloh75:
	adrp	x1, l_.str.13@PAGE
Lloh76:
	add	x1, x1, l_.str.13@PAGEOFF
	bl	_wpa_printf
Lloh77:
	adrp	x8, _MSG_MSGDUMP@GOTPAGE
Lloh78:
	ldr	x8, [x8, _MSG_MSGDUMP@GOTPAGEOFF]
Lloh79:
	ldr	w0, [x8]
	ldr	w3, [x20]
Lloh80:
	adrp	x1, l_.str.14@PAGE
Lloh81:
	add	x1, x1, l_.str.14@PAGEOFF
	mov	x2, x22
	bl	_wpa_hexdump
	ldr	x8, [x19, #32]
	cbz	x8, LBB0_45
; %bb.44:
	sub	x0, x29, #248
	mov	w1, #0
	mov	w2, #24
	bl	_os_memset
Lloh82:
	adrp	x8, _TLS_FAIL_UNSPECIFIED@GOTPAGE
Lloh83:
	ldr	x8, [x8, _TLS_FAIL_UNSPECIFIED@GOTPAGEOFF]
Lloh84:
	ldr	w8, [x8]
	stur	w8, [x29, #-232]
Lloh85:
	adrp	x8, l_.str.15@PAGE
Lloh86:
	add	x8, x8, l_.str.15@PAGEOFF
	sub	x9, x29, #224
	stp	x8, x9, [x29, #-248]
	ldr	x8, [x19, #32]
	ldr	w0, [x19, #24]
Lloh87:
	adrp	x9, _TLS_CERT_CHAIN_FAILURE@GOTPAGE
Lloh88:
	ldr	x9, [x9, _TLS_CERT_CHAIN_FAILURE@GOTPAGEOFF]
Lloh89:
	ldr	w1, [x9]
	sub	x2, x29, #248
	blr	x8
LBB0_45:
Lloh90:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh91:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh92:
	ldr	w1, [x8]
Lloh93:
	adrp	x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGE
Lloh94:
	ldr	x8, [x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGEOFF]
Lloh95:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_tls_alert
	mov	x0, x24
	bl	_x509_certificate_chain_free
	mov	w0, #-1
	mov	sp, x23
	b	LBB0_10
LBB0_46:
	ldr	x9, [x8, #24]
	cbz	x9, LBB0_56
; %bb.47:
	mov	x21, x11
	ldr	w0, [x28]
Lloh96:
	adrp	x1, l_.str.16@PAGE
Lloh97:
	add	x1, x1, l_.str.16@PAGEOFF
	bl	_wpa_printf
	ldr	x8, [x19, #32]
	cbz	x8, LBB0_51
; %bb.48:
	sub	x0, x29, #248
	mov	w1, #0
	mov	w2, #24
	bl	_os_memset
Lloh98:
	adrp	x8, _TLS_FAIL_SERVER_CHAIN_PROBE@GOTPAGE
Lloh99:
	ldr	x8, [x8, _TLS_FAIL_SERVER_CHAIN_PROBE@GOTPAGEOFF]
Lloh100:
	ldr	w8, [x8]
	stur	w8, [x29, #-232]
Lloh101:
	adrp	x8, l_.str.17@PAGE
Lloh102:
	add	x8, x8, l_.str.17@PAGEOFF
	stur	x8, [x29, #-248]
	cbz	x21, LBB0_50
; %bb.49:
	add	x0, x21, #8
	sub	x20, x29, #224
	sub	x1, x29, #224
	mov	w2, #128
	bl	_x509_name_string
	stur	x20, [x29, #-240]
LBB0_50:
	ldr	x8, [x19, #32]
	ldr	w0, [x19, #24]
Lloh103:
	adrp	x9, _TLS_CERT_CHAIN_FAILURE@GOTPAGE
Lloh104:
	ldr	x9, [x9, _TLS_CERT_CHAIN_FAILURE@GOTPAGEOFF]
Lloh105:
	ldr	w1, [x9]
	sub	x2, x29, #248
	blr	x8
LBB0_51:
Lloh106:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh107:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh108:
	ldr	w1, [x8]
Lloh109:
	adrp	x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGE
Lloh110:
	ldr	x8, [x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGEOFF]
Lloh111:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_tls_alert
	mov	x0, x21
	b	LBB0_74
LBB0_52:
	ldr	w0, [x28]
Lloh112:
	adrp	x1, l_.str.7@PAGE
Lloh113:
	add	x1, x1, l_.str.7@PAGEOFF
	bl	_wpa_printf
	b	LBB0_54
LBB0_53:
	stp	x26, x8, [sp]
Lloh114:
	adrp	x1, l_.str.8@PAGE
Lloh115:
	add	x1, x1, l_.str.8@PAGEOFF
	bl	_wpa_printf
	add	sp, sp, #16
LBB0_54:
Lloh116:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh117:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh118:
	ldr	w1, [x8]
Lloh119:
	adrp	x8, _TLS_ALERT_DECODE_ERROR@GOTPAGE
Lloh120:
	ldr	x8, [x8, _TLS_ALERT_DECODE_ERROR@GOTPAGEOFF]
	b	LBB0_73
LBB0_55:
	ldr	w0, [x20]
	b	LBB0_72
LBB0_56:
	ldr	x9, [x8, #16]
	cbz	x9, LBB0_62
; %bb.57:
	ldr	w0, [x8, #8]
	ldr	w8, [x19]
Lloh121:
	adrp	x9, _TLS_CONN_DISABLE_TIME_CHECKS@GOTPAGE
Lloh122:
	ldr	x9, [x9, _TLS_CONN_DISABLE_TIME_CHECKS@GOTPAGEOFF]
Lloh123:
	ldr	w9, [x9]
	tst	w9, w8
	cset	w3, ne
	sub	x2, x29, #224
	mov	x1, x11
	mov	x20, x11
	bl	_x509_certificate_chain_validate
	mov	x11, x20
	tbz	x0, #63, LBB0_62
; %bb.58:
	ldr	w0, [x28]
	ldur	w8, [x29, #-224]
	str	x8, [sp, #-16]!
Lloh124:
	adrp	x1, l_.str.18@PAGE
Lloh125:
	add	x1, x1, l_.str.18@PAGEOFF
	bl	_wpa_printf
	add	sp, sp, #16
	ldur	w8, [x29, #-224]
	sub	w8, w8, #128
	cmp	w8, #5
	b.hi	LBB0_76
; %bb.59:
Lloh126:
	adrp	x9, lJTI0_0@PAGE
Lloh127:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_60
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_60:
Lloh128:
	adrp	x8, _TLS_ALERT_UNSUPPORTED_CERTIFICATE@GOTPAGE
Lloh129:
	ldr	x8, [x8, _TLS_ALERT_UNSUPPORTED_CERTIFICATE@GOTPAGEOFF]
	b	LBB0_79
LBB0_61:
	mov	sp, x23
	mov	x11, x24
LBB0_62:
	ldr	x8, [x19, #16]
	cbz	x8, LBB0_67
; %bb.63:
	ldr	x8, [x8]
	cbnz	x8, LBB0_67
; %bb.64:
	cbz	x11, LBB0_67
; %bb.65:
	ldr	w8, [x11]
Lloh130:
	adrp	x9, _X509_EXT_EXT_KEY_USAGE@GOTPAGE
Lloh131:
	ldr	x9, [x9, _X509_EXT_EXT_KEY_USAGE@GOTPAGEOFF]
Lloh132:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_67
; %bb.66:
	ldr	w8, [x11, #4]
Lloh133:
	adrp	x9, _X509_EXT_KEY_USAGE_ANY@GOTPAGE
Lloh134:
	ldr	x9, [x9, _X509_EXT_KEY_USAGE_ANY@GOTPAGEOFF]
Lloh135:
	ldr	w9, [x9]
Lloh136:
	adrp	x10, _X509_EXT_KEY_USAGE_SERVER_AUTH@GOTPAGE
Lloh137:
	ldr	x10, [x10, _X509_EXT_KEY_USAGE_SERVER_AUTH@GOTPAGEOFF]
Lloh138:
	ldr	w10, [x10]
	orr	w9, w10, w9
	tst	w9, w8
	b.eq	LBB0_75
LBB0_67:
	ldr	w8, [x19]
Lloh139:
	adrp	x9, _TLS_CONN_REQUEST_OCSP@GOTPAGE
Lloh140:
	ldr	x9, [x9, _TLS_CONN_REQUEST_OCSP@GOTPAGEOFF]
Lloh141:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_69
; %bb.68:
	ldr	x0, [x19, #8]
	mov	x20, x11
	bl	_x509_certificate_chain_free
	str	x20, [x19, #8]
	b	LBB0_70
LBB0_69:
	mov	x0, x11
	bl	_x509_certificate_chain_free
LBB0_70:
	mov	w0, #0
	str	x26, [x21]
Lloh142:
	adrp	x8, _SERVER_KEY_EXCHANGE@GOTPAGE
Lloh143:
	ldr	x8, [x8, _SERVER_KEY_EXCHANGE@GOTPAGEOFF]
Lloh144:
	ldr	w8, [x8]
	str	w8, [x19, #4]
	b	LBB0_10
LBB0_71:
	ldr	w0, [x28]
LBB0_72:
Lloh145:
	adrp	x1, l_.str.10@PAGE
Lloh146:
	add	x1, x1, l_.str.10@PAGEOFF
	bl	_wpa_printf
Lloh147:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh148:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh149:
	ldr	w1, [x8]
Lloh150:
	adrp	x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGE
Lloh151:
	ldr	x8, [x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGEOFF]
LBB0_73:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_tls_alert
	mov	x0, x22
LBB0_74:
	bl	_x509_certificate_chain_free
	b	LBB0_9
LBB0_75:
Lloh152:
	adrp	x8, _TLS_FAIL_BAD_CERTIFICATE@GOTPAGE
Lloh153:
	ldr	x8, [x8, _TLS_FAIL_BAD_CERTIFICATE@GOTPAGEOFF]
Lloh154:
	ldr	w3, [x8]
Lloh155:
	adrp	x4, l_.str.23@PAGE
Lloh156:
	add	x4, x4, l_.str.23@PAGEOFF
	mov	x0, x19
	mov	w1, #0
	mov	x2, x11
	mov	x20, x11
	bl	_tls_cert_chain_failure_event
Lloh157:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh158:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh159:
	ldr	w1, [x8]
Lloh160:
	adrp	x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGE
Lloh161:
	ldr	x8, [x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGEOFF]
Lloh162:
	ldr	w2, [x8]
	mov	x0, x19
	b	LBB0_85
LBB0_76:
Lloh163:
	adrp	x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGE
Lloh164:
	ldr	x8, [x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGEOFF]
	b	LBB0_79
LBB0_77:
Lloh165:
	adrp	x8, _TLS_ALERT_UNKNOWN_CA@GOTPAGE
Lloh166:
	ldr	x8, [x8, _TLS_ALERT_UNKNOWN_CA@GOTPAGEOFF]
Lloh167:
	ldr	w21, [x8]
Lloh168:
	adrp	x8, _TLS_FAIL_UNTRUSTED@GOTPAGE
Lloh169:
	ldr	x8, [x8, _TLS_FAIL_UNTRUSTED@GOTPAGEOFF]
Lloh170:
	ldr	w3, [x8]
Lloh171:
	adrp	x4, l_.str.22@PAGE
Lloh172:
	add	x4, x4, l_.str.22@PAGEOFF
	b	LBB0_83
LBB0_78:
Lloh173:
	adrp	x8, _TLS_ALERT_CERTIFICATE_UNKNOWN@GOTPAGE
Lloh174:
	ldr	x8, [x8, _TLS_ALERT_CERTIFICATE_UNKNOWN@GOTPAGEOFF]
LBB0_79:
	ldr	w21, [x8]
	b	LBB0_84
LBB0_80:
Lloh175:
	adrp	x8, _TLS_ALERT_CERTIFICATE_REVOKED@GOTPAGE
Lloh176:
	ldr	x8, [x8, _TLS_ALERT_CERTIFICATE_REVOKED@GOTPAGEOFF]
Lloh177:
	ldr	w21, [x8]
Lloh178:
	adrp	x8, _TLS_FAIL_REVOKED@GOTPAGE
Lloh179:
	ldr	x8, [x8, _TLS_FAIL_REVOKED@GOTPAGEOFF]
Lloh180:
	ldr	w3, [x8]
Lloh181:
	adrp	x4, l_.str.20@PAGE
Lloh182:
	add	x4, x4, l_.str.20@PAGEOFF
	b	LBB0_83
LBB0_81:
Lloh183:
	adrp	x8, _TLS_ALERT_CERTIFICATE_EXPIRED@GOTPAGE
Lloh184:
	ldr	x8, [x8, _TLS_ALERT_CERTIFICATE_EXPIRED@GOTPAGEOFF]
Lloh185:
	ldr	w21, [x8]
Lloh186:
	adrp	x8, _TLS_FAIL_EXPIRED@GOTPAGE
Lloh187:
	ldr	x8, [x8, _TLS_FAIL_EXPIRED@GOTPAGEOFF]
Lloh188:
	ldr	w3, [x8]
Lloh189:
	adrp	x4, l_.str.21@PAGE
Lloh190:
	add	x4, x4, l_.str.21@PAGEOFF
	b	LBB0_83
LBB0_82:
Lloh191:
	adrp	x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGE
Lloh192:
	ldr	x8, [x8, _TLS_ALERT_BAD_CERTIFICATE@GOTPAGEOFF]
Lloh193:
	ldr	w21, [x8]
Lloh194:
	adrp	x8, _TLS_FAIL_BAD_CERTIFICATE@GOTPAGE
Lloh195:
	ldr	x8, [x8, _TLS_FAIL_BAD_CERTIFICATE@GOTPAGEOFF]
Lloh196:
	ldr	w3, [x8]
Lloh197:
	adrp	x4, l_.str.19@PAGE
Lloh198:
	add	x4, x4, l_.str.19@PAGEOFF
LBB0_83:
	mov	x0, x19
	mov	w1, #0
	mov	x2, x20
	bl	_tls_cert_chain_failure_event
LBB0_84:
Lloh199:
	adrp	x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGE
Lloh200:
	ldr	x8, [x8, _TLS_ALERT_LEVEL_FATAL@GOTPAGEOFF]
Lloh201:
	ldr	w1, [x8]
	mov	x0, x19
	mov	x2, x21
LBB0_85:
	bl	_tls_alert
	mov	x0, x20
	b	LBB0_74
LBB0_86:
	bl	___stack_chk_fail
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh16, Lloh17, Lloh18
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpLdrGotLdr	Lloh37, Lloh38, Lloh39
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh46, Lloh47, Lloh48
	.loh AdrpLdrGotLdr	Lloh49, Lloh50, Lloh51
	.loh AdrpLdrGot	Lloh55, Lloh56
	.loh AdrpLdrGotLdr	Lloh52, Lloh53, Lloh54
	.loh AdrpAdd	Lloh57, Lloh58
	.loh AdrpAdd	Lloh59, Lloh60
	.loh AdrpAdd	Lloh61, Lloh62
	.loh AdrpAdd	Lloh63, Lloh64
	.loh AdrpAdd	Lloh65, Lloh66
	.loh AdrpAdd	Lloh73, Lloh74
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpLdrGot	Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh67, Lloh68
	.loh AdrpAdd	Lloh80, Lloh81
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpAdd	Lloh75, Lloh76
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh89
	.loh AdrpAdd	Lloh85, Lloh86
	.loh AdrpLdrGotLdr	Lloh82, Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpAdd	Lloh96, Lloh97
	.loh AdrpAdd	Lloh101, Lloh102
	.loh AdrpLdrGotLdr	Lloh98, Lloh99, Lloh100
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh109, Lloh110, Lloh111
	.loh AdrpLdrGotLdr	Lloh106, Lloh107, Lloh108
	.loh AdrpAdd	Lloh112, Lloh113
	.loh AdrpAdd	Lloh114, Lloh115
	.loh AdrpLdrGot	Lloh119, Lloh120
	.loh AdrpLdrGotLdr	Lloh116, Lloh117, Lloh118
	.loh AdrpLdrGotLdr	Lloh121, Lloh122, Lloh123
	.loh AdrpAdd	Lloh124, Lloh125
	.loh AdrpAdd	Lloh126, Lloh127
	.loh AdrpLdrGot	Lloh128, Lloh129
	.loh AdrpLdrGotLdr	Lloh130, Lloh131, Lloh132
	.loh AdrpLdrGotLdr	Lloh136, Lloh137, Lloh138
	.loh AdrpLdrGotLdr	Lloh133, Lloh134, Lloh135
	.loh AdrpLdrGotLdr	Lloh139, Lloh140, Lloh141
	.loh AdrpLdrGotLdr	Lloh142, Lloh143, Lloh144
	.loh AdrpLdrGot	Lloh150, Lloh151
	.loh AdrpLdrGotLdr	Lloh147, Lloh148, Lloh149
	.loh AdrpAdd	Lloh145, Lloh146
	.loh AdrpLdrGotLdr	Lloh160, Lloh161, Lloh162
	.loh AdrpLdrGotLdr	Lloh157, Lloh158, Lloh159
	.loh AdrpAdd	Lloh155, Lloh156
	.loh AdrpLdrGotLdr	Lloh152, Lloh153, Lloh154
	.loh AdrpLdrGot	Lloh163, Lloh164
	.loh AdrpAdd	Lloh171, Lloh172
	.loh AdrpLdrGotLdr	Lloh168, Lloh169, Lloh170
	.loh AdrpLdrGotLdr	Lloh165, Lloh166, Lloh167
	.loh AdrpLdrGot	Lloh173, Lloh174
	.loh AdrpAdd	Lloh181, Lloh182
	.loh AdrpLdrGotLdr	Lloh178, Lloh179, Lloh180
	.loh AdrpLdrGotLdr	Lloh175, Lloh176, Lloh177
	.loh AdrpAdd	Lloh189, Lloh190
	.loh AdrpLdrGotLdr	Lloh186, Lloh187, Lloh188
	.loh AdrpLdrGotLdr	Lloh183, Lloh184, Lloh185
	.loh AdrpAdd	Lloh197, Lloh198
	.loh AdrpLdrGotLdr	Lloh194, Lloh195, Lloh196
	.loh AdrpLdrGotLdr	Lloh191, Lloh192, Lloh193
	.loh AdrpLdrGotLdr	Lloh199, Lloh200, Lloh201
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_60-LBB0_60)>>2
	.byte	(LBB0_77-LBB0_60)>>2
	.byte	(LBB0_78-LBB0_60)>>2
	.byte	(LBB0_80-LBB0_60)>>2
	.byte	(LBB0_81-LBB0_60)>>2
	.byte	(LBB0_82-LBB0_60)>>2
                                        ; -- End function
	.comm	_TLS_CONTENT_TYPE_HANDSHAKE,8,3 ; @TLS_CONTENT_TYPE_HANDSHAKE
	.comm	_MSG_DEBUG,4,2                  ; @MSG_DEBUG
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"TLSv1: Expected Handshake; received content type 0x%x"

	.comm	_TLS_ALERT_LEVEL_FATAL,4,2      ; @TLS_ALERT_LEVEL_FATAL
	.comm	_TLS_ALERT_UNEXPECTED_MESSAGE,4,2 ; @TLS_ALERT_UNEXPECTED_MESSAGE
l_.str.1:                               ; @.str.1
	.asciz	"TLSv1: Too short Certificate message (len=%lu)"

	.comm	_TLS_ALERT_DECODE_ERROR,4,2     ; @TLS_ALERT_DECODE_ERROR
l_.str.2:                               ; @.str.2
	.asciz	"TLSv1: Unexpected Certificate message length (len=%lu != left=%lu)"

	.comm	_TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE,8,3 ; @TLS_HANDSHAKE_TYPE_SERVER_KEY_EXCHANGE
	.comm	_TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST,8,3 ; @TLS_HANDSHAKE_TYPE_CERTIFICATE_REQUEST
	.comm	_TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE,8,3 ; @TLS_HANDSHAKE_TYPE_SERVER_HELLO_DONE
	.comm	_TLS_HANDSHAKE_TYPE_CERTIFICATE,8,3 ; @TLS_HANDSHAKE_TYPE_CERTIFICATE
l_.str.3:                               ; @.str.3
	.asciz	"TLSv1: Received unexpected handshake message %d (expected Certificate/ServerKeyExchange/CertificateRequest/ServerHelloDone)"

l_.str.4:                               ; @.str.4
	.asciz	"TLSv1: Received Certificate (certificate_list len %lu)"

l_.str.5:                               ; @.str.5
	.asciz	"TLSv1: Too short Certificate (left=%lu)"

l_.str.6:                               ; @.str.6
	.asciz	"TLSv1: Unexpected certificate_list length (len=%lu left=%lu)"

l_.str.7:                               ; @.str.7
	.asciz	"TLSv1: Failed to parse certificate_list"

l_.str.8:                               ; @.str.8
	.asciz	"TLSv1: Unexpected certificate length (len=%lu left=%lu)"

l_.str.9:                               ; @.str.9
	.asciz	"TLSv1: Certificate %lu (len %lu)"

l_.str.10:                              ; @.str.10
	.asciz	"TLSv1: Failed to parse the certificate"

	.comm	_TLS_ALERT_BAD_CERTIFICATE,4,2  ; @TLS_ALERT_BAD_CERTIFICATE
	.comm	_SHA256_MAC_LEN,4,2             ; @SHA256_MAC_LEN
l_.str.11:                              ; @.str.11
	.asciz	"TLSv1: Validate server certificate hash"

l_.str.12:                              ; @.str.12
	.asciz	"TLSv1: 0: %s"

l_.str.13:                              ; @.str.13
	.asciz	"TLSv1: Server certificate hash mismatch"

	.comm	_MSG_MSGDUMP,4,2                ; @MSG_MSGDUMP
l_.str.14:                              ; @.str.14
	.asciz	"TLSv1: SHA256 hash"

	.comm	_TLS_FAIL_UNSPECIFIED,4,2       ; @TLS_FAIL_UNSPECIFIED
l_.str.15:                              ; @.str.15
	.asciz	"Server certificate mismatch"

	.comm	_TLS_CERT_CHAIN_FAILURE,4,2     ; @TLS_CERT_CHAIN_FAILURE
l_.str.16:                              ; @.str.16
	.asciz	"TLSv1: Reject server certificate on probe-only rune"

	.comm	_TLS_FAIL_SERVER_CHAIN_PROBE,4,2 ; @TLS_FAIL_SERVER_CHAIN_PROBE
l_.str.17:                              ; @.str.17
	.asciz	"Server certificate chain probe"

	.comm	_TLS_CONN_DISABLE_TIME_CHECKS,4,2 ; @TLS_CONN_DISABLE_TIME_CHECKS
l_.str.18:                              ; @.str.18
	.asciz	"TLSv1: Server certificate chain validation failed (reason=%d)"

	.comm	_TLS_FAIL_BAD_CERTIFICATE,4,2   ; @TLS_FAIL_BAD_CERTIFICATE
l_.str.19:                              ; @.str.19
	.asciz	"bad certificate"

	.comm	_TLS_ALERT_UNSUPPORTED_CERTIFICATE,4,2 ; @TLS_ALERT_UNSUPPORTED_CERTIFICATE
	.comm	_TLS_ALERT_CERTIFICATE_REVOKED,4,2 ; @TLS_ALERT_CERTIFICATE_REVOKED
	.comm	_TLS_FAIL_REVOKED,4,2           ; @TLS_FAIL_REVOKED
l_.str.20:                              ; @.str.20
	.asciz	"certificate revoked"

	.comm	_TLS_ALERT_CERTIFICATE_EXPIRED,4,2 ; @TLS_ALERT_CERTIFICATE_EXPIRED
	.comm	_TLS_FAIL_EXPIRED,4,2           ; @TLS_FAIL_EXPIRED
l_.str.21:                              ; @.str.21
	.asciz	"certificate has expired or is not yet valid"

	.comm	_TLS_ALERT_CERTIFICATE_UNKNOWN,4,2 ; @TLS_ALERT_CERTIFICATE_UNKNOWN
	.comm	_TLS_ALERT_UNKNOWN_CA,4,2       ; @TLS_ALERT_UNKNOWN_CA
	.comm	_TLS_FAIL_UNTRUSTED,4,2         ; @TLS_FAIL_UNTRUSTED
l_.str.22:                              ; @.str.22
	.asciz	"unknown CA"

	.comm	_X509_EXT_EXT_KEY_USAGE,4,2     ; @X509_EXT_EXT_KEY_USAGE
	.comm	_X509_EXT_KEY_USAGE_ANY,4,2     ; @X509_EXT_KEY_USAGE_ANY
	.comm	_X509_EXT_KEY_USAGE_SERVER_AUTH,4,2 ; @X509_EXT_KEY_USAGE_SERVER_AUTH
l_.str.23:                              ; @.str.23
	.asciz	"certificate not allowed for server authentication"

	.comm	_TLS_CONN_REQUEST_OCSP,4,2      ; @TLS_CONN_REQUEST_OCSP
	.comm	_SERVER_KEY_EXCHANGE,4,2        ; @SERVER_KEY_EXCHANGE
	.no_dead_strip	_tls_process_certificate
.subsections_via_symbols
