	.file	"extr_http_auth.c_vlc_http_auth_ParseAuthenticationInfoHeader.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"nextnonce"
.LC1:
	.string	"qop"
.LC2:
	.string	"rspauth"
.LC3:
	.string	"cnonce"
.LC4:
	.string	"nc"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC5:
	.string	"HTTP Digest Access Authentication: server replied with a different client nonce value."
	.align 8
.LC6:
	.string	"HTTP Digest Access Authentication: server replied with a different nonce count value."
	.align 8
.LC7:
	.string	"HTTP Digest Access Authentication: server replied using a different 'quality of protection' option"
	.align 8
.LC8:
	.string	"HTTP Digest Access Authentication: server replied with an invalid response digest (expected value: %s)."
	.text
	.p2align 4
	.globl	vlc_http_auth_ParseAuthenticationInfoHeader
	.type	vlc_http_auth_ParseAuthenticationInfoHeader, @function
vlc_http_auth_ParseAuthenticationInfoHeader:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	r15, rcx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13, rdx
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rsi
	lea	rsi, .LC0[rip]
	sub	rsp, 56
	.cfi_def_cfa_offset 112
	mov	QWORD PTR 24[rsp], rdi
	mov	rdi, rdx
	mov	QWORD PTR 32[rsp], r8
	mov	QWORD PTR 40[rsp], r9
	call	AuthGetParam@PLT
	mov	rdi, r13
	lea	rsi, .LC1[rip]
	mov	r12, rax
	call	AuthGetParamNoQuotes@PLT
	mov	rdi, r13
	lea	rsi, .LC2[rip]
	mov	r14, rax
	call	AuthGetParam@PLT
	mov	rdi, r13
	lea	rsi, .LC3[rip]
	mov	QWORD PTR 16[rsp], rax
	call	AuthGetParam@PLT
	mov	rdi, r13
	lea	rsi, .LC4[rip]
	mov	rbp, rax
	call	AuthGetParamNoQuotes@PLT
	mov	r13, rax
	mov	eax, DWORD PTR VLC_SUCCESS[rip]
	mov	DWORD PTR 12[rsp], eax
	test	rbp, rbp
	je	.L11
	mov	rsi, QWORD PTR [rbx]
	mov	rdi, rbp
	call	strcmp@PLT
	lea	rsi, .LC5[rip]
	test	rax, rax
	jne	.L25
	test	r13, r13
	je	.L5
	xor	esi, esi
	mov	edx, 16
	mov	rdi, r13
	call	strtol@PLT
	cmp	DWORD PTR 8[rbx], eax
	jne	.L27
.L5:
	test	r14, r14
	je	.L7
	mov	rsi, QWORD PTR 16[rbx]
	test	rsi, rsi
	je	.L7
	mov	rdi, r14
	call	strcmp@PLT
	test	rax, rax
	jne	.L28
.L7:
	mov	r9, QWORD PTR 112[rsp]
	mov	r8, QWORD PTR 40[rsp]
	mov	rdx, r15
	mov	rsi, rbx
	mov	rcx, QWORD PTR 32[rsp]
	mov	rdi, QWORD PTR 24[rsp]
	call	AuthDigest@PLT
	mov	r15, rax
	test	rax, rax
	je	.L10
	mov	rsi, QWORD PTR 16[rsp]
	mov	rdi, rax
	call	strcmp@PLT
	test	rax, rax
	jne	.L10
.L2:
	test	r12, r12
	je	.L4
	mov	rdi, QWORD PTR 24[rbx]
	call	free@PLT
	mov	QWORD PTR 24[rbx], r12
	xor	r12d, r12d
.L4:
	mov	rdi, r12
	call	free@PLT
	mov	rdi, r14
	call	free@PLT
	mov	rdi, QWORD PTR 16[rsp]
	call	free@PLT
	mov	rdi, rbp
	call	free@PLT
	mov	rdi, r13
	call	free@PLT
	mov	rdi, r15
	call	free@PLT
	mov	eax, DWORD PTR 12[rsp]
	add	rsp, 56
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L11:
	.cfi_restore_state
	xor	r15d, r15d
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L27:
	lea	rsi, .LC6[rip]
.L25:
	mov	rdi, QWORD PTR 24[rsp]
	xor	eax, eax
	xor	r15d, r15d
	call	msg_Err@PLT
	mov	eax, DWORD PTR VLC_EGENERIC[rip]
	mov	DWORD PTR 12[rsp], eax
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L10:
	mov	rdi, QWORD PTR 24[rsp]
	mov	rdx, r15
	lea	rsi, .LC8[rip]
	xor	eax, eax
	call	msg_Err@PLT
	mov	eax, DWORD PTR VLC_EGENERIC[rip]
	mov	DWORD PTR 12[rsp], eax
	jmp	.L4
	.p2align 4,,10
	.p2align 3
.L28:
	mov	rdi, QWORD PTR 24[rsp]
	lea	rsi, .LC7[rip]
	call	msg_Warn@PLT
	jmp	.L7
	.cfi_endproc
.LFE0:
	.size	vlc_http_auth_ParseAuthenticationInfoHeader, .-vlc_http_auth_ParseAuthenticationInfoHeader
	.comm	VLC_SUCCESS,4,4
	.comm	VLC_EGENERIC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_http_auth.c_vlc_http_auth_ParseAuthenticationInfoHeader.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"nextnonce\000"
	.align	2
.LC1:
	.ascii	"qop\000"
	.align	2
.LC2:
	.ascii	"rspauth\000"
	.align	2
.LC3:
	.ascii	"cnonce\000"
	.align	2
.LC4:
	.ascii	"nc\000"
	.align	2
.LC5:
	.ascii	"HTTP Digest Access Authentication: server replied w"
	.ascii	"ith a different client nonce value.\000"
	.align	2
.LC6:
	.ascii	"HTTP Digest Access Authentication: server replied w"
	.ascii	"ith a different nonce count value.\000"
	.align	2
.LC7:
	.ascii	"HTTP Digest Access Authentication: server replied u"
	.ascii	"sing a different 'quality of protection' option\000"
	.align	2
.LC8:
	.ascii	"HTTP Digest Access Authentication: server replied w"
	.ascii	"ith an invalid response digest (expected value: %s)"
	.ascii	".\000"
	.text
	.align	2
	.global	vlc_http_auth_ParseAuthenticationInfoHeader
	.syntax unified
	.arm
	.fpu softvfp
	.type	vlc_http_auth_ParseAuthenticationInfoHeader, %function
vlc_http_auth_ParseAuthenticationInfoHeader:
	@ args = 12, pretend = 0, frame = 8
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	mov	r8, r2
	mov	r2, r0
	sub	sp, sp, #20
	mov	r0, r8
	mov	r6, r1
	ldr	r1, .L35
	mov	r4, r3
	str	r2, [sp, #8]
	bl	AuthGetParam
	ldr	r1, .L35+4
	mov	r7, r0
	mov	r0, r8
	bl	AuthGetParamNoQuotes
	ldr	r1, .L35+8
	mov	r9, r0
	mov	r0, r8
	bl	AuthGetParam
	ldr	r1, .L35+12
	mov	r10, r0
	mov	r0, r8
	bl	AuthGetParam
	ldr	r1, .L35+16
	mov	r5, r0
	mov	r0, r8
	bl	AuthGetParamNoQuotes
	ldr	r3, .L35+20
	cmp	r5, #0
	mov	r8, r0
	ldr	fp, [r3]
	beq	.L8
	mov	r0, r5
	ldr	r1, [r6]
	bl	strcmp
	subs	r3, r0, #0
	bne	.L32
	cmp	r8, #0
	beq	.L5
	mov	r2, #16
	mov	r1, r3
	mov	r0, r8
	str	r3, [sp, #12]
	bl	strtol
	ldr	r2, [r6, #4]
	cmp	r2, r0
	bne	.L33
.L5:
	cmp	r9, #0
	beq	.L6
	ldr	r1, [r6, #8]
	cmp	r1, #0
	beq	.L6
	mov	r0, r9
	bl	strcmp
	cmp	r0, #0
	bne	.L34
.L6:
	ldr	r3, [sp, #64]
	mov	r2, r4
	str	r3, [sp, #4]
	ldr	r3, [sp, #60]
	mov	r1, r6
	str	r3, [sp]
	ldr	r0, [sp, #8]
	ldr	r3, [sp, #56]
	bl	AuthDigest
	subs	r4, r0, #0
	beq	.L7
	mov	r1, r10
	bl	strcmp
	cmp	r0, #0
	bne	.L7
.L2:
	cmp	r7, #0
	beq	.L4
	ldr	r0, [r6, #12]
	bl	free
	str	r7, [r6, #12]
	mov	r7, #0
.L4:
	mov	r0, r7
	bl	free
	mov	r0, r9
	bl	free
	mov	r0, r10
	bl	free
	mov	r0, r5
	bl	free
	mov	r0, r8
	bl	free
	mov	r0, r4
	bl	free
	mov	r0, fp
	add	sp, sp, #20
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L8:
	mov	r4, r5
	b	.L2
.L34:
	ldr	r1, .L35+24
	ldr	r0, [sp, #8]
	bl	msg_Warn
	b	.L6
.L7:
	mov	r2, r4
	ldr	r0, [sp, #8]
	ldr	r1, .L35+28
	bl	msg_Err
	ldr	r3, .L35+32
	ldr	fp, [r3]
	b	.L4
.L32:
	ldr	r0, [sp, #8]
	ldr	r1, .L35+36
	bl	msg_Err
	ldr	r3, .L35+32
	mov	r4, #0
	ldr	fp, [r3]
	b	.L4
.L33:
	ldr	r0, [sp, #8]
	ldr	r1, .L35+40
	bl	msg_Err
	ldr	r2, .L35+32
	ldr	r3, [sp, #12]
	ldr	fp, [r2]
	mov	r4, r3
	b	.L4
.L36:
	.align	2
.L35:
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	.LC3
	.word	.LC4
	.word	VLC_SUCCESS
	.word	.LC7
	.word	.LC8
	.word	VLC_EGENERIC
	.word	.LC5
	.word	.LC6
	.size	vlc_http_auth_ParseAuthenticationInfoHeader, .-vlc_http_auth_ParseAuthenticationInfoHeader
	.comm	VLC_SUCCESS,4,4
	.comm	VLC_EGENERIC,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
