	.file	"extr_avi_reader.c_avi_reader_open.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"RIFF ID"
.LC1:
	.string	"fileSize"
.LC2:
	.string	"fileType"
.LC3:
	.string	"'hdrl' LIST not found"
.LC4:
	.string	"hdrl"
.LC5:
	.string	"'avih' not found"
.LC6:
	.string	"dwMicroSecPerFrame"
.LC7:
	.string	"dwMaxBytesPerSec"
.LC8:
	.string	"dwPaddingGranularity"
.LC9:
	.string	"dwFlags"
.LC10:
	.string	"dwTotalFrames"
.LC11:
	.string	"dwInitialFrames"
.LC12:
	.string	"dwStreams"
.LC13:
	.string	"dwSuggestedBufferSize"
.LC14:
	.string	"dwWidth"
.LC15:
	.string	"dwHeight"
.LC16:
	.string	"dwReserved0"
.LC17:
	.string	"dwReserved1"
.LC18:
	.string	"dwReserved2"
.LC19:
	.string	"dwReserved3"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC20:
	.string	"cannot handle %u tracks, restricted to %d"
	.section	.rodata.str1.1
.LC21:
	.string	"'movi' LIST not found"
	.section	.rodata.str1.8
	.align 8
.LC22:
	.string	"AVIF_MUSTUSEINDEX not supported, playback might not work properly"
	.section	.rodata.str1.1
.LC23:
	.string	"'idx1' found"
.LC24:
	.string	"movi"
.LC25:
	.string	"error opening stream (%i)"
	.text
	.p2align 4
	.globl	avi_reader_open
	.type	avi_reader_open, @function
avi_reader_open:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	mov	edx, 12
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rdi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	sub	rsp, 72
	.cfi_def_cfa_offset 128
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR 56[rsp], rax
	xor	eax, eax
	lea	rsi, 32[rsp]
	call	PEEK_BYTES@PLT
	cmp	eax, 12
	je	.L2
.L52:
	mov	r12, QWORD PTR VC_CONTAINER_ERROR_FORMAT_NOT_SUPPORTED[rip]
.L1:
	mov	rax, QWORD PTR 56[rsp]
	xor	rax, QWORD PTR fs:40
	jne	.L54
	add	rsp, 72
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	rax, r12
	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
.L2:
	.cfi_restore_state
	mov	r12, QWORD PTR 32[rsp]
	mov	ecx, 70
	mov	edx, 70
	mov	esi, 73
	mov	edi, 82
	call	VC_FOURCC@PLT
	cmp	r12, rax
	jne	.L52
	mov	r12, QWORD PTR 48[rsp]
	mov	ecx, 32
	mov	edx, 73
	mov	esi, 86
	mov	edi, 65
	call	VC_FOURCC@PLT
	cmp	r12, rax
	jne	.L52
	lea	rsi, .LC0[rip]
	mov	rdi, rbp
	lea	r14, 24[rsp]
	call	SKIP_FOURCC@PLT
	lea	rsi, .LC1[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC2[rip]
	mov	rdi, rbp
	call	SKIP_FOURCC@PLT
	mov	ecx, 108
	mov	edx, 114
	mov	esi, 100
	mov	edi, 104
	call	VC_FOURCC@PLT
	mov	rdx, r14
	mov	rdi, rbp
	mov	rsi, rax
	call	avi_find_list@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	je	.L6
	lea	rsi, .LC3[rip]
	mov	rdi, rbp
	xor	eax, eax
	call	LOG_DEBUG@PLT
	mov	r12, QWORD PTR VC_CONTAINER_ERROR_FORMAT_INVALID[rip]
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L6:
	lea	rsi, .LC4[rip]
	mov	rdi, rbp
	call	SKIP_FOURCC@PLT
	mov	ecx, 104
	mov	edx, 105
	mov	esi, 118
	mov	edi, 97
	call	VC_FOURCC@PLT
	mov	rdx, r14
	mov	rdi, rbp
	mov	rsi, rax
	call	avi_find_chunk@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	je	.L7
	lea	rsi, .LC5[rip]
	mov	rdi, rbp
	xor	eax, eax
	call	LOG_DEBUG@PLT
	mov	r12, QWORD PTR VC_CONTAINER_ERROR_FORMAT_INVALID[rip]
	jmp	.L1
.L7:
	lea	rsi, .LC6[rip]
	mov	rdi, rbp
	xor	r13d, r13d
	call	SKIP_U32@PLT
	lea	rsi, .LC7[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC8[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC9[rip]
	mov	rdi, rbp
	call	READ_U32@PLT
	lea	rsi, .LC10[rip]
	mov	rdi, rbp
	mov	QWORD PTR 8[rsp], rax
	call	SKIP_U32@PLT
	lea	rsi, .LC11[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC12[rip]
	mov	rdi, rbp
	call	READ_U32@PLT
	lea	rsi, .LC13[rip]
	mov	rdi, rbp
	mov	rbx, rax
	call	SKIP_U32@PLT
	lea	rsi, .LC14[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC15[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC16[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC17[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC18[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	lea	rsi, .LC19[rip]
	mov	rdi, rbp
	call	SKIP_U32@PLT
	mov	rdi, rbp
	call	STREAM_STATUS@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	mov	r12, rax
	je	.L55
.L8:
	xor	eax, eax
	mov	rdx, r12
	lea	rsi, .LC25[rip]
	mov	rdi, rbp
	call	LOG_DEBUG@PLT
	xor	ebx, ebx
	xor	eax, eax
	cmp	QWORD PTR 0[rbp], 0
	jle	.L31
	.p2align 4,,10
	.p2align 3
.L28:
	mov	rdx, QWORD PTR 16[rbp]
	mov	rdi, rbp
	mov	rsi, QWORD PTR [rdx+rax*8]
	call	vc_container_free_track@PLT
	lea	eax, 1[rbx]
	mov	rbx, rax
	cmp	rax, QWORD PTR 0[rbp]
	jl	.L28
.L31:
	mov	QWORD PTR 16[rbp], 0
	mov	QWORD PTR 0[rbp], 0
	test	r13, r13
	je	.L30
	mov	rdi, r13
	call	free@PLT
.L30:
	mov	rax, QWORD PTR 8[rbp]
	mov	QWORD PTR [rax], 0
	jmp	.L1
.L55:
	mov	edi, 48
	call	malloc@PLT
	mov	r12, QWORD PTR VC_CONTAINER_ERROR_OUT_OF_MEMORY[rip]
	mov	r13, rax
	test	rax, rax
	je	.L1
	mov	edx, 48
	xor	esi, esi
	mov	rdi, rax
	call	memset@PLT
	mov	rax, QWORD PTR 8[rbp]
	mov	rcx, QWORD PTR AVI_TRACKS_MAX[rip]
	mov	QWORD PTR [rax], r13
	mov	rax, QWORD PTR 40[r13]
	mov	QWORD PTR 16[rbp], rax
	cmp	rcx, rbx
	jl	.L56
.L10:
	mov	QWORD PTR 0[rbp], 0
	test	rbx, rbx
	je	.L18
	mov	rdx, QWORD PTR 16[rbp]
	xor	eax, eax
	jmp	.L15
	.p2align 4,,10
	.p2align 3
.L57:
	add	rax, 1
	mov	QWORD PTR 0[rbp], rax
	cmp	rax, rbx
	je	.L16
.L15:
	mov	esi, 16
	mov	rdi, rbp
	lea	r12, [rdx+rax*8]
	call	vc_container_allocate_track@PLT
	mov	rdx, QWORD PTR 16[rbp]
	mov	QWORD PTR [r12], rax
	mov	rax, QWORD PTR 0[rbp]
	mov	rcx, rdx
	cmp	QWORD PTR [rdx+rax*8], 0
	jne	.L57
	mov	r12, QWORD PTR VC_CONTAINER_ERROR_OUT_OF_MEMORY[rip]
	cmp	rax, rbx
	jne	.L8
.L16:
	xor	r15d, r15d
	xor	eax, eax
	jmp	.L17
.L58:
	mov	rcx, QWORD PTR 16[rbp]
.L17:
	mov	rsi, QWORD PTR [rcx+rax*8]
	mov	rdi, rbp
	mov	rax, QWORD PTR [rsi]
	mov	rdx, QWORD PTR [rax]
	call	avi_read_stream_header_list@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	mov	r12, rax
	jne	.L8
	lea	eax, 1[r15]
	mov	r15, rax
	cmp	rax, rbx
	jne	.L58
.L18:
	mov	ecx, 105
	mov	edx, 118
	mov	esi, 111
	mov	edi, 109
	call	VC_FOURCC@PLT
	mov	rdx, r14
	mov	rdi, rbp
	mov	rsi, rax
	call	avi_find_list@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	je	.L59
	lea	rsi, .LC21[rip]
	mov	rdi, rbp
	xor	eax, eax
	call	LOG_DEBUG@PLT
	mov	r12, QWORD PTR VC_CONTAINER_ERROR_FORMAT_INVALID[rip]
	jmp	.L8
.L56:
	mov	rdx, rbx
	lea	rsi, .LC20[rip]
	mov	rdi, rbp
	xor	eax, eax
	call	LOG_DEBUG@PLT
	mov	rbx, QWORD PTR AVI_TRACKS_MAX[rip]
	jmp	.L10
.L54:
	call	__stack_chk_fail@PLT
.L59:
	mov	rdi, rbp
	call	STREAM_POSITION@PLT
	mov	edx, DWORD PTR avi_reader_close[rip]
	mov	QWORD PTR 8[r13], rax
	mov	rax, QWORD PTR 24[rsp]
	mov	QWORD PTR 32[r13], rax
	mov	rax, QWORD PTR 8[rbp]
	mov	DWORD PTR 20[rax], edx
	mov	edx, DWORD PTR avi_reader_read[rip]
	mov	DWORD PTR 16[rax], edx
	mov	rdx, QWORD PTR avi_reader_seek@GOTPCREL[rip]
	mov	QWORD PTR 8[rax], rdx
	mov	rax, QWORD PTR 8[rsp]
	test	QWORD PTR AVIF_MUSTUSEINDEX[rip], rax
	jne	.L60
.L19:
	mov	rdi, rbp
	call	STREAM_SEEKABLE@PLT
	test	rax, rax
	je	.L21
	mov	rsi, QWORD PTR 0[rbp]
	mov	eax, DWORD PTR VC_CONTAINER_CAPS_CAN_SEEK[rip]
	or	eax, DWORD PTR VC_CONTAINER_CAPS_FORCE_TRACK[rip]
	or	eax, DWORD PTR 24[rbp]
	mov	DWORD PTR 24[rbp], eax
	test	rsi, rsi
	jle	.L22
	mov	rdi, QWORD PTR 16[rbp]
	xor	ecx, ecx
	xor	edx, edx
	jmp	.L24
.L61:
	lea	edx, 1[rcx]
	mov	rcx, rdx
	cmp	rdx, rsi
	jge	.L22
.L24:
	mov	rdx, QWORD PTR [rdi+rdx*8]
	mov	rdx, QWORD PTR [rdx]
	mov	rdx, QWORD PTR [rdx]
	cmp	QWORD PTR 8[rdx], 0
	je	.L61
	or	eax, DWORD PTR VC_CONTAINER_CAPS_HAS_INDEX[rip]
	mov	rcx, QWORD PTR 8[rsp]
	mov	DWORD PTR 24[rbp], eax
	test	QWORD PTR AVIF_TRUSTCKTYPE[rip], rcx
	je	.L21
	or	eax, DWORD PTR VC_CONTAINER_CAPS_DATA_HAS_KEYFRAME_FLAG[rip]
	mov	DWORD PTR 24[rbp], eax
.L21:
	lea	rsi, .LC24[rip]
	mov	rdi, rbp
	call	SKIP_FOURCC@PLT
	test	rbx, rbx
	je	.L62
	mov	rcx, QWORD PTR 8[rbp]
	mov	rdi, QWORD PTR 16[rbp]
	xor	edx, edx
	xor	eax, eax
	mov	rsi, QWORD PTR [rcx]
.L26:
	mov	rax, QWORD PTR [rdi+rax*8]
	mov	rax, QWORD PTR [rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rax], rsi
	lea	eax, 1[rdx]
	mov	rdx, rax
	cmp	rax, rbx
	jne	.L26
.L27:
	mov	rbx, QWORD PTR [rcx]
	mov	rdi, rbp
	call	STREAM_POSITION@PLT
	xor	edi, edi
	mov	QWORD PTR [rbx], rax
	call	INT64_C@PLT
	mov	ecx, DWORD PTR VC_CONTAINER_SEEK_FLAG_PRECISE[rip]
	lea	rsi, 20[rsp]
	mov	rdi, rbp
	mov	edx, DWORD PTR VC_CONTAINER_SEEK_MODE_TIME[rip]
	mov	DWORD PTR 20[rsp], eax
	call	avi_reader_seek@PLT
	mov	rdi, rbp
	call	STREAM_STATUS@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	mov	r12, rax
	jne	.L8
	jmp	.L1
.L60:
	lea	rsi, .LC22[rip]
	mov	rdi, rbp
	xor	eax, eax
	call	LOG_DEBUG@PLT
	jmp	.L19
.L62:
	mov	rcx, QWORD PTR 8[rbp]
	jmp	.L27
.L22:
	mov	rsi, QWORD PTR 32[r13]
	mov	rdi, rbp
	call	AVI_SKIP_CHUNK@PLT
	mov	ecx, 49
	mov	edx, 120
	mov	esi, 100
	mov	edi, 105
	call	VC_FOURCC@PLT
	mov	rdx, r14
	mov	rdi, rbp
	mov	rsi, rax
	call	avi_find_chunk@PLT
	cmp	QWORD PTR VC_CONTAINER_SUCCESS[rip], rax
	je	.L63
.L35:
	mov	rsi, QWORD PTR 8[r13]
	mov	rdi, rbp
	call	SEEK@PLT
	jmp	.L21
.L63:
	lea	rsi, .LC23[rip]
	mov	rdi, rbp
	xor	eax, eax
	call	LOG_DEBUG@PLT
	mov	rdi, rbp
	call	STREAM_POSITION@PLT
	mov	QWORD PTR 24[r13], rax
	mov	rax, QWORD PTR 24[rsp]
	mov	QWORD PTR 16[r13], rax
	mov	eax, DWORD PTR VC_CONTAINER_CAPS_HAS_INDEX[rip]
	or	eax, DWORD PTR VC_CONTAINER_CAPS_DATA_HAS_KEYFRAME_FLAG[rip]
	or	DWORD PTR 24[rbp], eax
	jmp	.L35
	.cfi_endproc
.LFE0:
	.size	avi_reader_open, .-avi_reader_open
	.comm	avi_reader_read,4,4
	.comm	avi_reader_close,4,4
	.comm	VC_CONTAINER_SUCCESS,8,8
	.comm	VC_CONTAINER_SEEK_MODE_TIME,4,4
	.comm	VC_CONTAINER_SEEK_FLAG_PRECISE,4,4
	.comm	VC_CONTAINER_ERROR_OUT_OF_MEMORY,8,8
	.comm	VC_CONTAINER_ERROR_FORMAT_NOT_SUPPORTED,8,8
	.comm	VC_CONTAINER_ERROR_FORMAT_INVALID,8,8
	.comm	VC_CONTAINER_CAPS_HAS_INDEX,4,4
	.comm	VC_CONTAINER_CAPS_FORCE_TRACK,4,4
	.comm	VC_CONTAINER_CAPS_DATA_HAS_KEYFRAME_FLAG,4,4
	.comm	VC_CONTAINER_CAPS_CAN_SEEK,4,4
	.comm	AVI_TRACKS_MAX,8,8
	.comm	AVIF_TRUSTCKTYPE,8,8
	.comm	AVIF_MUSTUSEINDEX,8,8
	.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_avi_reader.c_avi_reader_open.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"RIFF ID\000"
	.align	2
.LC1:
	.ascii	"fileSize\000"
	.align	2
.LC2:
	.ascii	"fileType\000"
	.align	2
.LC3:
	.ascii	"'hdrl' LIST not found\000"
	.align	2
.LC4:
	.ascii	"hdrl\000"
	.align	2
.LC5:
	.ascii	"'avih' not found\000"
	.align	2
.LC6:
	.ascii	"dwMicroSecPerFrame\000"
	.align	2
.LC7:
	.ascii	"dwMaxBytesPerSec\000"
	.align	2
.LC8:
	.ascii	"dwPaddingGranularity\000"
	.align	2
.LC9:
	.ascii	"dwFlags\000"
	.align	2
.LC10:
	.ascii	"dwTotalFrames\000"
	.align	2
.LC11:
	.ascii	"dwInitialFrames\000"
	.align	2
.LC12:
	.ascii	"dwStreams\000"
	.align	2
.LC13:
	.ascii	"dwSuggestedBufferSize\000"
	.align	2
.LC14:
	.ascii	"dwWidth\000"
	.align	2
.LC15:
	.ascii	"dwHeight\000"
	.align	2
.LC16:
	.ascii	"dwReserved0\000"
	.align	2
.LC17:
	.ascii	"dwReserved1\000"
	.align	2
.LC18:
	.ascii	"dwReserved2\000"
	.align	2
.LC19:
	.ascii	"dwReserved3\000"
	.align	2
.LC20:
	.ascii	"cannot handle %u tracks, restricted to %d\000"
	.align	2
.LC21:
	.ascii	"'movi' LIST not found\000"
	.align	2
.LC22:
	.ascii	"AVIF_MUSTUSEINDEX not supported, playback might not"
	.ascii	" work properly\000"
	.align	2
.LC23:
	.ascii	"'idx1' found\000"
	.align	2
.LC24:
	.ascii	"movi\000"
	.align	2
.LC25:
	.ascii	"error opening stream (%i)\000"
	.section	.rodata.cst4,"aM",%progbits,4
	.align	2
.LC26:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	avi_reader_open
	.syntax unified
	.arm
	.fpu softvfp
	.type	avi_reader_open, %function
avi_reader_open:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	ldr	r3, .L68
	sub	sp, sp, #24
	mov	r2, #12
	add	r1, sp, #8
	ldr	r3, [r3]
	str	r3, [sp, #20]
	mov	r3,#0
	mov	r5, r0
	bl	PEEK_BYTES
	cmp	r0, #12
	beq	.L2
.L56:
	ldr	r3, .L68+4
	ldr	r4, [r3]
.L1:
	ldr	r3, .L68
	ldr	r2, [r3]
	ldr	r3, [sp, #20]
	eors	r2, r3, r2
	mov	r3, #0
	bne	.L58
	mov	r0, r4
	add	sp, sp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L2:
	mov	r3, #70
	mov	r1, #73
	mov	r2, r3
	mov	r0, #82
	ldr	r4, [sp, #8]
	bl	VC_FOURCC
	cmp	r4, r0
	bne	.L56
	mov	r3, #32
	mov	r2, #73
	mov	r1, #86
	mov	r0, #65
	ldr	r4, [sp, #16]
	bl	VC_FOURCC
	cmp	r4, r0
	bne	.L56
	ldr	r1, .L68+8
	mov	r0, r5
	bl	SKIP_FOURCC
	ldr	r1, .L68+12
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+16
	mov	r0, r5
	bl	SKIP_FOURCC
	mov	r3, #108
	mov	r2, #114
	mov	r1, #100
	mov	r0, #104
	bl	VC_FOURCC
	mov	r2, sp
	mov	r1, r0
	mov	r0, r5
	bl	avi_find_list
	ldr	r8, .L68+20
	ldr	r3, [r8]
	cmp	r3, r0
	beq	.L6
	mov	r0, r5
	ldr	r1, .L68+24
	bl	LOG_DEBUG
	ldr	r3, .L68+28
	ldr	r4, [r3]
	b	.L1
.L6:
	ldr	r1, .L68+32
	mov	r0, r5
	bl	SKIP_FOURCC
	mov	r3, #104
	mov	r2, #105
	mov	r1, #118
	mov	r0, #97
	bl	VC_FOURCC
	mov	r2, sp
	mov	r1, r0
	mov	r0, r5
	bl	avi_find_chunk
	ldr	r3, [r8]
	cmp	r3, r0
	beq	.L7
	mov	r0, r5
	ldr	r1, .L68+36
	bl	LOG_DEBUG
	ldr	r3, .L68+28
	ldr	r4, [r3]
	b	.L1
.L7:
	ldr	r1, .L68+40
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+44
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+48
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+52
	mov	r0, r5
	bl	READ_U32
	ldr	r1, .L68+56
	mov	r9, r0
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+60
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+64
	mov	r0, r5
	bl	READ_U32
	ldr	r1, .L68+68
	mov	r6, r0
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+72
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+76
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+80
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+84
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+88
	mov	r0, r5
	bl	SKIP_U32
	ldr	r1, .L68+92
	mov	r0, r5
	bl	SKIP_U32
	mov	r0, r5
	bl	STREAM_STATUS
	ldr	r3, [r8]
	mov	r4, r0
	cmp	r3, r0
	movne	r7, #0
	beq	.L59
.L8:
	mov	r2, r4
	mov	r0, r5
	ldr	r1, .L68+96
	bl	LOG_DEBUG
	ldr	r3, [r5]
	cmp	r3, #0
	movne	r6, #0
	beq	.L29
.L26:
	ldr	r3, [r5, #8]
	mov	r0, r5
	ldr	r1, [r3, r6, lsl #2]
	bl	vc_container_free_track
	ldr	r3, [r5]
	add	r6, r6, #1
	cmp	r3, r6
	bhi	.L26
.L29:
	mov	r3, #0
	cmp	r7, r3
	str	r3, [r5, #8]
	str	r3, [r5]
	beq	.L28
	mov	r0, r7
	bl	free
.L28:
	mov	r2, #0
	ldr	r3, [r5, #4]
	str	r2, [r3]
	b	.L1
.L59:
	mov	r0, #24
	bl	malloc
	subs	r7, r0, #0
	ldreq	r3, .L68+100
	ldreq	r4, [r3]
	beq	.L1
	mov	r2, #0
	ldr	r4, .L68+104
	ldr	r1, [r5, #4]
	ldr	r3, [r4]
	str	r2, [r7]
	cmp	r3, r6
	str	r2, [r7, #4]
	str	r2, [r7, #8]
	str	r2, [r7, #12]
	str	r2, [r7, #16]
	str	r2, [r7, #20]
	str	r7, [r1]
	str	r2, [r5, #8]
	blt	.L60
.L10:
	mov	r4, #0
	cmp	r6, r4
	str	r4, [r5]
	beq	.L39
	ldr	r10, [r5, #8]
	b	.L13
.L62:
	add	r4, r3, #1
	cmp	r4, r6
	str	r4, [r5]
	beq	.L61
.L13:
	mov	r1, #8
	mov	r0, r5
	bl	vc_container_allocate_track
	ldr	r3, [r5]
	str	r0, [r10, r4, lsl #2]
	ldr	r10, [r5, #8]
	ldr	r2, [r10, r3, lsl #2]
	mov	r1, r10
	cmp	r2, #0
	bne	.L62
	cmp	r3, r6
	beq	.L34
	ldr	r3, .L68+100
	ldr	r4, [r3]
	b	.L8
.L61:
	mov	r6, r4
.L34:
	mov	r10, #0
	b	.L15
.L63:
	ldr	r1, [r5, #8]
.L15:
	ldr	r1, [r1, r10, lsl #2]
	mov	r0, r5
	ldr	r3, [r1]
	ldr	r2, [r3]
	bl	avi_read_stream_header_list
	ldr	r3, [r8]
	mov	r4, r0
	cmp	r3, r0
	bne	.L8
	add	r10, r10, #1
	cmp	r6, r10
	bne	.L63
.L11:
	mov	r3, #105
	mov	r2, #118
	mov	r1, #111
	mov	r0, #109
	bl	VC_FOURCC
	mov	r2, sp
	mov	r1, r0
	mov	r0, r5
	bl	avi_find_list
	ldr	r3, [r8]
	cmp	r3, r0
	beq	.L16
	mov	r0, r5
	ldr	r1, .L68+108
	bl	LOG_DEBUG
	ldr	r3, .L68+28
	ldr	r4, [r3]
	b	.L8
.L60:
	mov	r2, r6
	mov	r0, r5
	ldr	r1, .L68+112
	bl	LOG_DEBUG
	ldr	r6, [r4]
	b	.L10
.L58:
	bl	__stack_chk_fail
.L16:
	mov	r0, r5
	bl	STREAM_POSITION
	ldr	r3, .L68+116
	ldr	r2, .L68+120
	ldr	r3, [r3]
	str	r0, [r7, #4]
	ldr	r2, [r2]
	ldr	r1, .L68+124
	ldr	r0, [sp]
	tst	r9, r3
	ldr	r3, [r5, #4]
	str	r0, [r7, #16]
	ldr	r1, [r1]
	str	r2, [r3, #12]
	ldr	r2, .L68+128
	str	r1, [r3, #8]
	str	r2, [r3, #4]
	bne	.L64
.L17:
	mov	r0, r5
	bl	STREAM_SEEKABLE
	cmp	r0, #0
	beq	.L19
	ldr	r2, .L68+132
	ldr	r3, .L68+136
	ldr	r1, [r2]
	ldr	r3, [r3]
	ldr	r2, [r5, #12]
	ldr	r0, [r5]
	orr	r3, r3, r1
	orr	r3, r3, r2
	cmp	r0, #0
	str	r3, [r5, #12]
	beq	.L20
	ldr	r2, [r5, #8]
	mov	r1, #0
	sub	r2, r2, #4
	b	.L22
.L65:
	add	r1, r1, #1
	cmp	r1, r0
	beq	.L20
.L22:
	ldr	ip, [r2, #4]!
	ldr	ip, [ip]
	ldr	ip, [ip]
	ldr	ip, [ip, #4]
	cmp	ip, #0
	beq	.L65
	ldr	r1, .L68+140
	ldr	r2, .L68+144
	ldr	r1, [r1]
	ldr	r2, [r2]
	orr	r3, r3, r1
	tst	r9, r2
	str	r3, [r5, #12]
	ldrne	r2, .L68+148
	ldrne	r2, [r2]
	orrne	r3, r2, r3
	strne	r3, [r5, #12]
.L19:
	mov	r0, r5
	ldr	r1, .L68+152
	bl	SKIP_FOURCC
	cmp	r10, #0
	beq	.L66
	ldmib	r5, {r1, r3}
	sub	r3, r3, #4
	ldr	r0, [r1]
	add	r6, r3, r10, lsl #2
.L24:
	ldr	r2, [r3, #4]!
	ldr	r2, [r2]
	cmp	r6, r3
	ldr	r2, [r2]
	str	r0, [r2]
	bne	.L24
.L25:
	mov	r0, r5
	ldr	r4, [r1]
	bl	STREAM_POSITION
	mov	r3, r0
	mov	r0, #0
	str	r3, [r4]
	bl	INT64_C
	mov	ip, r0
	ldr	r3, .L68+156
	ldr	r2, .L68+160
	ldr	r3, [r3]
	ldr	r2, [r2]
	add	r1, sp, #4
	mov	r0, r5
	str	ip, [sp, #4]
	bl	avi_reader_seek
	mov	r0, r5
	bl	STREAM_STATUS
	ldr	r3, [r8]
	mov	r4, r0
	cmp	r3, r0
	bne	.L8
	b	.L1
.L39:
	mov	r10, r6
	b	.L11
.L64:
	mov	r0, r5
	ldr	r1, .L68+164
	bl	LOG_DEBUG
	b	.L17
.L20:
	ldr	r1, [r7, #16]
	mov	r0, r5
	bl	AVI_SKIP_CHUNK
	mov	r3, #49
	mov	r2, #120
	mov	r1, #100
	mov	r0, #105
	bl	VC_FOURCC
	mov	r2, sp
	mov	r1, r0
	mov	r0, r5
	bl	avi_find_chunk
	ldr	r3, [r8]
	cmp	r3, r0
	beq	.L67
.L33:
	mov	r0, r5
	ldr	r1, [r7, #4]
	bl	SEEK
	b	.L19
.L66:
	ldr	r1, [r5, #4]
	b	.L25
.L67:
	ldr	r1, .L68+168
	mov	r0, r5
	bl	LOG_DEBUG
	mov	r0, r5
	bl	STREAM_POSITION
	ldr	r3, .L68+148
	ldr	r2, .L68+140
	ldr	r1, [r3]
	ldr	r2, [r2]
	ldr	r3, [r5, #12]
	orr	r2, r2, r1
	ldr	r1, [sp]
	orr	r3, r3, r2
	str	r0, [r7, #12]
	str	r3, [r5, #12]
	str	r1, [r7, #8]
	b	.L33
.L69:
	.align	2
.L68:
	.word	.LC26
	.word	VC_CONTAINER_ERROR_FORMAT_NOT_SUPPORTED
	.word	.LC0
	.word	.LC1
	.word	.LC2
	.word	VC_CONTAINER_SUCCESS
	.word	.LC3
	.word	VC_CONTAINER_ERROR_FORMAT_INVALID
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	.LC15
	.word	.LC16
	.word	.LC17
	.word	.LC18
	.word	.LC19
	.word	.LC25
	.word	VC_CONTAINER_ERROR_OUT_OF_MEMORY
	.word	AVI_TRACKS_MAX
	.word	.LC21
	.word	.LC20
	.word	AVIF_MUSTUSEINDEX
	.word	avi_reader_close
	.word	avi_reader_read
	.word	avi_reader_seek
	.word	VC_CONTAINER_CAPS_FORCE_TRACK
	.word	VC_CONTAINER_CAPS_CAN_SEEK
	.word	VC_CONTAINER_CAPS_HAS_INDEX
	.word	AVIF_TRUSTCKTYPE
	.word	VC_CONTAINER_CAPS_DATA_HAS_KEYFRAME_FLAG
	.word	.LC24
	.word	VC_CONTAINER_SEEK_FLAG_PRECISE
	.word	VC_CONTAINER_SEEK_MODE_TIME
	.word	.LC22
	.word	.LC23
	.size	avi_reader_open, .-avi_reader_open
	.comm	avi_reader_read,4,4
	.comm	avi_reader_close,4,4
	.comm	VC_CONTAINER_SUCCESS,4,4
	.comm	VC_CONTAINER_SEEK_MODE_TIME,4,4
	.comm	VC_CONTAINER_SEEK_FLAG_PRECISE,4,4
	.comm	VC_CONTAINER_ERROR_OUT_OF_MEMORY,4,4
	.comm	VC_CONTAINER_ERROR_FORMAT_NOT_SUPPORTED,4,4
	.comm	VC_CONTAINER_ERROR_FORMAT_INVALID,4,4
	.comm	VC_CONTAINER_CAPS_HAS_INDEX,4,4
	.comm	VC_CONTAINER_CAPS_FORCE_TRACK,4,4
	.comm	VC_CONTAINER_CAPS_DATA_HAS_KEYFRAME_FLAG,4,4
	.comm	VC_CONTAINER_CAPS_CAN_SEEK,4,4
	.comm	AVI_TRACKS_MAX,4,4
	.comm	AVIF_TRUSTCKTYPE,4,4
	.comm	AVIF_MUSTUSEINDEX,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
