	.file	"80815.c"
	.intel_syntax noprefix
	.text
	.globl	mp4_info
	.bss
	.align 8
	.type	mp4_info, @object
	.size	mp4_info, 8
mp4_info:
	.zero	8
	.text
	.globl	big_to_small_endian_32bit
	.type	big_to_small_endian_32bit, @function
big_to_small_endian_32bit:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -20[rbp], edi
	mov	eax, DWORD PTR -20[rbp]
	mov	DWORD PTR -8[rbp], eax
	mov	DWORD PTR -4[rbp], 0
	mov	eax, DWORD PTR -8[rbp]
	sal	eax, 24
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 8
	sal	eax, 16
	and	eax, 16711680
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 16
	sal	eax, 8
	movzx	eax, ax
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -8[rbp]
	shr	eax, 24
	add	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	big_to_small_endian_32bit, .-big_to_small_endian_32bit
	.globl	big_to_small_endian_64bit
	.type	big_to_small_endian_64bit, @function
big_to_small_endian_64bit:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -24[rbp], rdi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -16[rbp], rax
	mov	QWORD PTR -8[rbp], 0
	mov	rax, QWORD PTR -16[rbp]
	sal	rax, 56
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 8
	sal	rax, 48
	mov	rdx, rax
	movabs	rax, 71776119061217280
	and	rax, rdx
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 16
	sal	rax, 40
	mov	rdx, rax
	movabs	rax, 280375465082880
	and	rax, rdx
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 24
	sal	rax, 32
	mov	rdx, rax
	movabs	rax, 1095216660480
	and	rax, rdx
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 32
	sal	rax, 24
	mov	eax, eax
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 40
	sal	rax, 16
	and	eax, 16711680
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	sar	rax, 48
	sal	rax, 8
	movzx	eax, ax
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -16[rbp]
	shr	rax, 56
	add	QWORD PTR -8[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	big_to_small_endian_64bit, .-big_to_small_endian_64bit
	.section	.rodata
.LC0:
	.string	"ftyp box"
.LC1:
	.string	"moov box"
.LC2:
	.string	"mdat box"
.LC3:
	.string	"mvhd box"
.LC4:
	.string	"iods box"
.LC5:
	.string	"udta box"
.LC6:
	.string	"trak box"
.LC7:
	.string	"tkhd box"
.LC8:
	.string	"mdia box"
.LC9:
	.string	"mdhd box"
.LC10:
	.string	"hdlr box"
.LC11:
	.string	"minf box"
.LC12:
	.string	"dinf box"
.LC13:
	.string	"tref box"
.LC14:
	.string	"stbl box"
.LC15:
	.string	"stsd box"
.LC16:
	.string	"mp4s box"
.LC17:
	.string	"esds box"
.LC18:
	.string	"stts box"
.LC19:
	.string	"stsc box"
.LC20:
	.string	"stsz box"
.LC21:
	.string	"stco box"
.LC22:
	.string	"stss box"
.LC23:
	.string	"ctts box"
.LC24:
	.string	"edts box"
.LC25:
	.string	"vmhd box"
.LC26:
	.string	"smhd box"
.LC27:
	.string	"hmhd box"
.LC28:
	.string	"nmhd box"
	.text
	.globl	print_box_type
	.type	print_box_type, @function
print_box_type:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	DWORD PTR -20[rbp], edi
	mov	DWORD PTR -24[rbp], esi
	mov	DWORD PTR -4[rbp], 0
	jmp	.L6
.L7:
	mov	edi, 9
	call	putchar@PLT
	add	DWORD PTR -4[rbp], 1
.L6:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -24[rbp]
	jb	.L7
	mov	eax, DWORD PTR -20[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, -1
	je	.L8
	cmp	eax, 1986881636
	je	.L9
	cmp	eax, 1986881636
	ja	.L38
	cmp	eax, 1969517665
	je	.L11
	cmp	eax, 1969517665
	ja	.L38
	cmp	eax, 1953654118
	je	.L12
	cmp	eax, 1953654118
	ja	.L38
	cmp	eax, 1953653099
	je	.L13
	cmp	eax, 1953653099
	ja	.L38
	cmp	eax, 1953196132
	je	.L14
	cmp	eax, 1953196132
	ja	.L38
	cmp	eax, 1937011827
	je	.L15
	cmp	eax, 1937011827
	ja	.L38
	cmp	eax, 1937011578
	je	.L16
	cmp	eax, 1937011578
	ja	.L38
	cmp	eax, 1937011571
	je	.L17
	cmp	eax, 1937011571
	ja	.L38
	cmp	eax, 1937011556
	je	.L18
	cmp	eax, 1937011556
	ja	.L38
	cmp	eax, 1937011555
	je	.L19
	cmp	eax, 1937011555
	ja	.L38
	cmp	eax, 1937007471
	je	.L20
	cmp	eax, 1937007471
	ja	.L38
	cmp	eax, 1937007212
	je	.L21
	cmp	eax, 1937007212
	ja	.L38
	cmp	eax, 1936549988
	je	.L22
	cmp	eax, 1936549988
	ja	.L38
	cmp	eax, 1836476516
	je	.L23
	cmp	eax, 1836476516
	ja	.L38
	cmp	eax, 1836070003
	je	.L24
	cmp	eax, 1836070003
	ja	.L38
	cmp	eax, 1836019574
	je	.L25
	cmp	eax, 1836019574
	ja	.L38
	cmp	eax, 1835626086
	je	.L26
	cmp	eax, 1835626086
	ja	.L38
	cmp	eax, 1835297121
	je	.L27
	cmp	eax, 1835297121
	ja	.L38
	cmp	eax, 1835296868
	je	.L28
	cmp	eax, 1835296868
	ja	.L38
	cmp	eax, 1835295092
	je	.L29
	cmp	eax, 1835295092
	ja	.L38
	cmp	eax, 1768907891
	je	.L30
	cmp	eax, 1768907891
	ja	.L38
	cmp	eax, 1752000612
	je	.L31
	cmp	eax, 1752000612
	ja	.L38
	cmp	eax, 1751411826
	je	.L32
	cmp	eax, 1751411826
	ja	.L38
	cmp	eax, 1718909296
	je	.L33
	cmp	eax, 1718909296
	ja	.L38
	cmp	eax, 1702061171
	je	.L34
	cmp	eax, 1702061171
	ja	.L38
	cmp	eax, 1701082227
	je	.L35
	cmp	eax, 1701082227
	ja	.L38
	cmp	eax, 1668576371
	je	.L36
	cmp	eax, 1684631142
	je	.L37
	jmp	.L38
.L33:
	lea	rdi, .LC0[rip]
	call	puts@PLT
	jmp	.L10
.L25:
	lea	rdi, .LC1[rip]
	call	puts@PLT
	jmp	.L10
.L29:
	lea	rdi, .LC2[rip]
	call	puts@PLT
	jmp	.L10
.L23:
	lea	rdi, .LC3[rip]
	call	puts@PLT
	jmp	.L10
.L30:
	lea	rdi, .LC4[rip]
	call	puts@PLT
	jmp	.L10
.L11:
	lea	rdi, .LC5[rip]
	call	puts@PLT
	jmp	.L10
.L13:
	lea	rdi, .LC6[rip]
	call	puts@PLT
	jmp	.L10
.L14:
	lea	rdi, .LC7[rip]
	call	puts@PLT
	jmp	.L10
.L27:
	lea	rdi, .LC8[rip]
	call	puts@PLT
	jmp	.L10
.L28:
	lea	rdi, .LC9[rip]
	call	puts@PLT
	jmp	.L10
.L32:
	lea	rdi, .LC10[rip]
	call	puts@PLT
	jmp	.L10
.L26:
	lea	rdi, .LC11[rip]
	call	puts@PLT
	jmp	.L10
.L37:
	lea	rdi, .LC12[rip]
	call	puts@PLT
	jmp	.L10
.L12:
	lea	rdi, .LC13[rip]
	call	puts@PLT
	jmp	.L10
.L21:
	lea	rdi, .LC14[rip]
	call	puts@PLT
	jmp	.L10
.L18:
	lea	rdi, .LC15[rip]
	call	puts@PLT
	jmp	.L10
.L24:
	lea	rdi, .LC16[rip]
	call	puts@PLT
	jmp	.L10
.L34:
	lea	rdi, .LC17[rip]
	call	puts@PLT
	jmp	.L10
.L15:
	lea	rdi, .LC18[rip]
	call	puts@PLT
	jmp	.L10
.L19:
	lea	rdi, .LC19[rip]
	call	puts@PLT
	jmp	.L10
.L16:
	lea	rdi, .LC20[rip]
	call	puts@PLT
	jmp	.L10
.L20:
	lea	rdi, .LC21[rip]
	call	puts@PLT
	jmp	.L10
.L17:
	lea	rdi, .LC22[rip]
	call	puts@PLT
	jmp	.L10
.L36:
	lea	rdi, .LC23[rip]
	call	puts@PLT
	jmp	.L10
.L35:
	lea	rdi, .LC24[rip]
	call	puts@PLT
	jmp	.L10
.L9:
	lea	rdi, .LC25[rip]
	call	puts@PLT
	jmp	.L10
.L22:
	lea	rdi, .LC26[rip]
	call	puts@PLT
	jmp	.L10
.L31:
	lea	rdi, .LC27[rip]
	call	puts@PLT
	jmp	.L10
.L8:
	lea	rdi, .LC28[rip]
	call	puts@PLT
	nop
.L10:
.L38:
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	print_box_type, .-print_box_type
	.section	.rodata
	.align 8
.LC29:
	.string	"\347\274\226\347\240\201\346\227\266\351\227\264\357\274\232%d-%d-%d %d:%d:%d\n"
	.align 8
.LC30:
	.string	"\344\277\256\350\256\242\346\227\266\351\227\264\357\274\232%d-%d-%d %d:%d:%d\n"
	.text
	.globl	create_and_modify_time
	.type	create_and_modify_time, @function
create_and_modify_time:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 176
	mov	DWORD PTR -164[rbp], edi
	mov	DWORD PTR -168[rbp], esi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -112[rbp], 31
	mov	DWORD PTR -108[rbp], 28
	mov	DWORD PTR -104[rbp], 31
	mov	DWORD PTR -100[rbp], 30
	mov	DWORD PTR -96[rbp], 31
	mov	DWORD PTR -92[rbp], 30
	mov	DWORD PTR -88[rbp], 31
	mov	DWORD PTR -84[rbp], 31
	mov	DWORD PTR -80[rbp], 30
	mov	DWORD PTR -76[rbp], 31
	mov	DWORD PTR -72[rbp], 30
	mov	DWORD PTR -68[rbp], 31
	mov	DWORD PTR -64[rbp], 31
	mov	DWORD PTR -60[rbp], 29
	mov	DWORD PTR -56[rbp], 31
	mov	DWORD PTR -52[rbp], 30
	mov	DWORD PTR -48[rbp], 31
	mov	DWORD PTR -44[rbp], 30
	mov	DWORD PTR -40[rbp], 31
	mov	DWORD PTR -36[rbp], 31
	mov	DWORD PTR -32[rbp], 30
	mov	DWORD PTR -28[rbp], 31
	mov	DWORD PTR -24[rbp], 30
	mov	DWORD PTR -20[rbp], 31
	mov	eax, DWORD PTR -164[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	mov	eax, eax
	mov	QWORD PTR -120[rbp], rax
	mov	rax, QWORD PTR -120[rbp]
	shr	rax, 7
	movabs	rdx, 153339145055128003
	mul	rdx
	mov	rax, rdx
	shr	rax, 11
	add	eax, 1904
	mov	DWORD PTR -144[rbp], eax
	mov	eax, DWORD PTR -144[rbp]
	and	eax, 3
	test	eax, eax
	je	.L40
	mov	eax, DWORD PTR -144[rbp]
	sub	eax, 1904
	shr	eax, 2
	add	eax, 1
	mov	DWORD PTR -160[rbp], eax
	jmp	.L41
.L40:
	mov	eax, DWORD PTR -144[rbp]
	sub	eax, 1904
	shr	eax, 2
	mov	DWORD PTR -160[rbp], eax
.L41:
	mov	edx, DWORD PTR -160[rbp]
	mov	eax, DWORD PTR -144[rbp]
	sub	eax, edx
	imul	edx, eax, 365
	mov	eax, DWORD PTR -160[rbp]
	imul	eax, eax, 366
	add	eax, edx
	sub	eax, 694960
	mov	DWORD PTR -140[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	movabs	rdx, -4454547087429121353
	mul	rdx
	mov	rax, rdx
	shr	rax, 16
	sub	eax, DWORD PTR -140[rbp]
	mov	DWORD PTR -136[rbp], eax
	mov	DWORD PTR -156[rbp], 0
	mov	DWORD PTR -152[rbp], 31
	mov	DWORD PTR -132[rbp], 0
	mov	DWORD PTR -148[rbp], 0
	mov	eax, DWORD PTR -144[rbp]
	and	eax, 3
	test	eax, eax
	je	.L46
	jmp	.L43
.L44:
	mov	eax, DWORD PTR -136[rbp]
	sub	eax, DWORD PTR -152[rbp]
	add	eax, 1
	mov	DWORD PTR -148[rbp], eax
	add	DWORD PTR -156[rbp], 1
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	mov	eax, DWORD PTR -112[rbp+rax*4]
	add	DWORD PTR -152[rbp], eax
.L43:
	mov	eax, DWORD PTR -136[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jg	.L44
	jmp	.L45
.L47:
	mov	eax, DWORD PTR -136[rbp]
	sub	eax, DWORD PTR -152[rbp]
	add	eax, 1
	mov	DWORD PTR -148[rbp], eax
	add	DWORD PTR -156[rbp], 1
	mov	eax, DWORD PTR -156[rbp]
	cdqe
	mov	eax, DWORD PTR -64[rbp+rax*4]
	add	DWORD PTR -152[rbp], eax
.L46:
	mov	eax, DWORD PTR -136[rbp]
	cmp	eax, DWORD PTR -152[rbp]
	jg	.L47
.L45:
	mov	eax, DWORD PTR -156[rbp]
	add	eax, 1
	mov	DWORD PTR -132[rbp], eax
	cmp	DWORD PTR -132[rbp], 1
	jne	.L48
	mov	eax, DWORD PTR -136[rbp]
	add	eax, 1
	mov	DWORD PTR -148[rbp], eax
.L48:
	mov	edx, DWORD PTR -136[rbp]
	mov	eax, DWORD PTR -140[rbp]
	add	eax, edx
	mov	DWORD PTR -128[rbp], eax
	mov	rax, QWORD PTR -120[rbp]
	mov	edx, eax
	mov	eax, DWORD PTR -128[rbp]
	imul	eax, eax, 86400
	mov	ecx, eax
	mov	eax, edx
	sub	eax, ecx
	mov	DWORD PTR -124[rbp], eax
	cmp	DWORD PTR -168[rbp], 0
	jne	.L49
	mov	eax, DWORD PTR -124[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 5
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	imul	edx, ecx, 60
	sub	eax, edx
	mov	ecx, eax
	mov	edx, DWORD PTR -124[rbp]
	movsx	rax, edx
	imul	rax, rax, -1851608123
	shr	rax, 32
	add	eax, edx
	sar	eax, 11
	mov	esi, edx
	sar	esi, 31
	sub	eax, esi
	imul	esi, eax, 3600
	mov	eax, edx
	sub	eax, esi
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 5
	sar	eax, 31
	sub	edx, eax
	mov	r8d, edx
	mov	eax, DWORD PTR -124[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, -1851608123
	shr	rdx, 32
	add	edx, eax
	sar	edx, 11
	sar	eax, 31
	mov	edi, edx
	sub	edi, eax
	mov	esi, DWORD PTR -148[rbp]
	mov	edx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -144[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9d, r8d
	mov	r8d, edi
	mov	ecx, esi
	mov	esi, eax
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
	jmp	.L52
.L49:
	cmp	DWORD PTR -168[rbp], 1
	jne	.L52
	mov	eax, DWORD PTR -124[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 5
	mov	esi, eax
	sar	esi, 31
	mov	ecx, edx
	sub	ecx, esi
	imul	edx, ecx, 60
	sub	eax, edx
	mov	ecx, eax
	mov	edx, DWORD PTR -124[rbp]
	movsx	rax, edx
	imul	rax, rax, -1851608123
	shr	rax, 32
	add	eax, edx
	sar	eax, 11
	mov	esi, edx
	sar	esi, 31
	sub	eax, esi
	imul	esi, eax, 3600
	mov	eax, edx
	sub	eax, esi
	movsx	rdx, eax
	imul	rdx, rdx, -2004318071
	shr	rdx, 32
	add	edx, eax
	sar	edx, 5
	sar	eax, 31
	sub	edx, eax
	mov	r8d, edx
	mov	eax, DWORD PTR -124[rbp]
	movsx	rdx, eax
	imul	rdx, rdx, -1851608123
	shr	rdx, 32
	add	edx, eax
	sar	edx, 11
	sar	eax, 31
	mov	edi, edx
	sub	edi, eax
	mov	esi, DWORD PTR -148[rbp]
	mov	edx, DWORD PTR -132[rbp]
	mov	eax, DWORD PTR -144[rbp]
	sub	rsp, 8
	push	rcx
	mov	r9d, r8d
	mov	r8d, edi
	mov	ecx, esi
	mov	esi, eax
	lea	rdi, .LC30[rip]
	mov	eax, 0
	call	printf@PLT
	add	rsp, 16
.L52:
	nop
	mov	rax, QWORD PTR -8[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L51
	call	__stack_chk_fail@PLT
.L51:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	create_and_modify_time, .-create_and_modify_time
	.section	.rodata
	.align 8
.LC31:
	.string	"------------------------function menu-------------------------"
.LC32:
	.string	"1.\347\274\226\347\240\201\346\227\266\351\227\264\344\270\216\344\277\256\350\256\242\346\227\266\351\227\264"
.LC33:
	.string	"2.\345\275\261\347\211\207\351\225\277\345\272\246"
	.align 8
.LC34:
	.string	"3.\345\275\261\347\211\207\345\243\260\351\237\263\351\207\207\346\240\267\351\242\221\347\216\207\343\200\201\350\247\206\351\242\221\345\270\247\347\216\207\343\200\201\347\240\201\347\216\207\357\274\210\346\257\224\347\211\271\347\216\207\357\274\211\343\200\201\345\210\206\350\276\250\347\216\207"
.LC35:
	.string	"4.\350\247\206\351\242\221\345\205\263\351\224\256\345\270\247\345\210\227\350\241\250"
.LC36:
	.string	"q.\350\276\223\345\205\245q\351\200\200\345\207\272"
	.text
	.globl	mainmenu
	.type	mainmenu, @function
mainmenu:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC31[rip]
	call	puts@PLT
	lea	rdi, .LC32[rip]
	call	puts@PLT
	lea	rdi, .LC33[rip]
	call	puts@PLT
	lea	rdi, .LC34[rip]
	call	puts@PLT
	lea	rdi, .LC35[rip]
	call	puts@PLT
	lea	rdi, .LC36[rip]
	call	puts@PLT
	lea	rdi, .LC31[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	mainmenu, .-mainmenu
	.section	.rodata
.LC37:
	.string	" %c"
	.text
	.globl	get_user_input
	.type	get_user_input, @function
get_user_input:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rax, -9[rbp]
	mov	rsi, rax
	lea	rdi, .LC37[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	movzx	eax, BYTE PTR -9[rbp]
	movsx	eax, al
	sub	eax, 49
	cmp	eax, 4
	ja	.L55
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L57[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L57[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L57:
	.long	.L61-.L57
	.long	.L64-.L57
	.long	.L64-.L57
	.long	.L64-.L57
	.long	.L64-.L57
	.text
.L61:
	mov	eax, DWORD PTR mp4_info[rip]
	mov	esi, 0
	mov	edi, eax
	call	create_and_modify_time
	mov	eax, DWORD PTR mp4_info[rip+4]
	mov	esi, 1
	mov	edi, eax
	call	create_and_modify_time
	jmp	.L55
.L64:
	nop
.L55:
	movzx	eax, BYTE PTR -9[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L63
	call	__stack_chk_fail@PLT
.L63:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	get_user_input, .-get_user_input
	.globl	moov_box_parse
	.type	moov_box_parse, @function
moov_box_parse:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	QWORD PTR -312[rbp], rdi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	edi, 3
	call	malloc@PLT
	mov	QWORD PTR -256[rbp], rax
	mov	BYTE PTR -289[rbp], 0
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 1
	mov	edi, eax
	call	print_box_type
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -291[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -256[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 3
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -112[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 96
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -112[rbp]
	mov	DWORD PTR mp4_info[rip], eax
	mov	eax, DWORD PTR -108[rbp]
	mov	DWORD PTR mp4_info[rip+4], eax
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	jmp	.L66
.L67:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 1
	mov	edi, eax
	call	print_box_type
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
.L66:
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1953653099
	jne	.L67
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 1
	mov	edi, eax
	call	print_box_type
	jmp	.L68
.L104:
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	je	.L107
	jmp	.L71
.L103:
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1835297121
	je	.L72
	cmp	eax, 1953196132
	jne	.L73
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 2
	mov	edi, eax
	call	print_box_type
	mov	edi, 3
	call	malloc@PLT
	mov	QWORD PTR -248[rbp], rax
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -224[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -248[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 3
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -192[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 80
	mov	rdi, rax
	call	fread@PLT
	mov	rax, QWORD PTR -248[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L74
.L72:
	mov	edi, 3
	call	malloc@PLT
	mov	QWORD PTR -240[rbp], rax
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 2
	mov	edi, eax
	call	print_box_type
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 3
	mov	edi, eax
	call	print_box_type
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -290[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	mov	rax, QWORD PTR -240[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 3
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -224[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 20
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 3
	mov	edi, eax
	call	print_box_type
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -284[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 20
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 3
	mov	edi, eax
	call	print_box_type
	mov	eax, DWORD PTR -284[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1986618469
	je	.L75
	cmp	eax, 1986618469
	ja	.L76
	cmp	eax, 1751740020
	je	.L75
	cmp	eax, 1936684398
	jne	.L76
.L75:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	DWORD PTR -280[rbp], eax
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	mov	DWORD PTR -276[rbp], eax
	jmp	.L77
.L88:
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1986881636
	je	.L78
	cmp	eax, 1986881636
	ja	.L77
	cmp	eax, 1937007212
	je	.L79
	cmp	eax, 1937007212
	ja	.L77
	cmp	eax, 1936549988
	je	.L78
	cmp	eax, 1936549988
	ja	.L77
	cmp	eax, 1684631142
	je	.L78
	cmp	eax, 1752000612
	jne	.L77
.L78:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 4
	mov	edi, eax
	call	print_box_type
	jmp	.L77
.L79:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 4
	mov	edi, eax
	call	print_box_type
	mov	BYTE PTR -289[rbp], 1
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	mov	edx, 8
	sub	edx, eax
	mov	ecx, edx
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	DWORD PTR -272[rbp], eax
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	mov	DWORD PTR -268[rbp], eax
	jmp	.L80
.L87:
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1937011827
	je	.L81
	cmp	eax, 1937011827
	ja	.L80
	cmp	eax, 1937011578
	je	.L82
	cmp	eax, 1937011578
	ja	.L80
	cmp	eax, 1937011571
	je	.L83
	cmp	eax, 1937011571
	ja	.L80
	cmp	eax, 1937011556
	je	.L84
	cmp	eax, 1937011556
	ja	.L80
	cmp	eax, 1937007471
	je	.L85
	cmp	eax, 1937011555
	je	.L86
	jmp	.L80
.L84:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L80
.L81:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L80
.L86:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L80
.L82:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L80
.L85:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L80
.L83:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	nop
.L80:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	edx, DWORD PTR -272[rbp]
	sub	rax, rdx
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -268[rbp]
	cmp	rdx, rax
	jne	.L87
	nop
.L77:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	edx, DWORD PTR -280[rbp]
	sub	rax, rdx
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -276[rbp]
	cmp	rdx, rax
	jne	.L88
	jmp	.L89
.L76:
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -288[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	esi, 4
	mov	edi, -1
	call	print_box_type
	mov	eax, DWORD PTR -288[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 4
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	jmp	.L90
.L91:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 4
	mov	edi, eax
	call	print_box_type
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
.L90:
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1937007212
	jne	.L91
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 4
	mov	edi, eax
	call	print_box_type
	nop
.L89:
	cmp	BYTE PTR -289[rbp], 0
	je	.L92
	mov	BYTE PTR -289[rbp], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L74
.L92:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	DWORD PTR -264[rbp], eax
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	mov	DWORD PTR -260[rbp], eax
	jmp	.L93
.L101:
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1937011827
	je	.L94
	cmp	eax, 1937011827
	ja	.L93
	cmp	eax, 1937011578
	je	.L95
	cmp	eax, 1937011578
	ja	.L93
	cmp	eax, 1937011571
	je	.L96
	cmp	eax, 1937011571
	ja	.L93
	cmp	eax, 1937011556
	je	.L97
	cmp	eax, 1937011556
	ja	.L93
	cmp	eax, 1937011555
	je	.L98
	cmp	eax, 1937011555
	ja	.L93
	cmp	eax, 1668576371
	je	.L99
	cmp	eax, 1937007471
	je	.L100
	jmp	.L93
.L97:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L93
.L94:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L93
.L98:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L93
.L95:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L93
.L100:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L93
.L96:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	jmp	.L93
.L99:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 5
	mov	edi, eax
	call	print_box_type
	nop
.L93:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	ftell@PLT
	mov	edx, DWORD PTR -264[rbp]
	sub	rax, rdx
	lea	rdx, 8[rax]
	mov	eax, DWORD PTR -260[rbp]
	cmp	rdx, rax
	jne	.L101
	mov	BYTE PTR -289[rbp], 0
	mov	rax, QWORD PTR -240[rbp]
	mov	rdi, rax
	call	free@PLT
	jmp	.L74
.L73:
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 2
	mov	edi, eax
	call	print_box_type
	mov	eax, DWORD PTR -232[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	nop
.L74:
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -232[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	test	rax, rax
	jne	.L102
	jmp	.L68
.L102:
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1953653099
	jne	.L71
	mov	eax, DWORD PTR -228[rbp]
	mov	esi, 1
	mov	edi, eax
	call	print_box_type
.L71:
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1953653099
	je	.L68
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1835295092
	je	.L68
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1718773093
	jne	.L103
.L68:
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1835295092
	je	.L70
	mov	eax, DWORD PTR -228[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1718773093
	jne	.L104
	jmp	.L70
.L107:
	nop
.L70:
	mov	rax, QWORD PTR -256[rbp]
	mov	rdi, rax
	call	free@PLT
	mov	eax, DWORD PTR -232[rbp]
	mov	DWORD PTR -224[rbp], eax
	mov	eax, DWORD PTR -228[rbp]
	mov	DWORD PTR -220[rbp], eax
	mov	rax, QWORD PTR -312[rbp]
	mov	QWORD PTR -216[rbp], rax
	mov	rax, QWORD PTR -224[rbp]
	mov	rdx, QWORD PTR -216[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L106
	call	__stack_chk_fail@PLT
.L106:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	moov_box_parse, .-moov_box_parse
	.globl	mdat_box_parse
	.type	mdat_box_parse, @function
mdat_box_parse:
.LFB13:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1
	je	.L109
	mov	eax, DWORD PTR -32[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	sub	eax, 8
	mov	ecx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	jmp	.L110
.L109:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -16[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	big_to_small_endian_64bit
	sub	rax, 16
	mov	rcx, rax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
.L110:
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, QWORD PTR -8[rbp]
	sub	rsi, QWORD PTR fs:40
	je	.L112
	call	__stack_chk_fail@PLT
.L112:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	mdat_box_parse, .-mdat_box_parse
	.section	.rodata
.LC38:
	.string	"please input mp4 filename:"
.LC39:
	.string	"%s"
.LC40:
	.string	"r"
.LC41:
	.string	"open fail"
	.align 8
.LC42:
	.string	"----------------------MP4 file structure----------------------"
	.align 8
.LC43:
	.string	"----------------------MP4 file structure----------------------\n\n"
	.text
	.globl	main
	.type	main, @function
main:
.LFB14:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 320
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	lea	rdi, .LC38[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rax, -272[rbp]
	mov	rsi, rax
	lea	rdi, .LC39[rip]
	mov	eax, 0
	call	__isoc99_scanf@PLT
	lea	rax, -272[rbp]
	lea	rsi, .LC40[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -312[rbp], rax
	cmp	QWORD PTR -312[rbp], 0
	jne	.L114
	lea	rdi, .LC41[rip]
	call	puts@PLT
	mov	eax, -1
	jmp	.L122
.L114:
	lea	rdi, .LC42[rip]
	call	puts@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -304[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -300[rbp]
	mov	esi, 0
	mov	edi, eax
	call	print_box_type
	mov	eax, DWORD PTR -304[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	mov	ecx, eax
	mov	rax, QWORD PTR -312[rbp]
	mov	edx, 0
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -296[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -292[rbp]
	mov	esi, 0
	mov	edi, eax
	call	print_box_type
	mov	eax, DWORD PTR -292[rbp]
	mov	edi, eax
	call	big_to_small_endian_32bit
	cmp	eax, 1835295092
	je	.L116
	cmp	eax, 1836019574
	je	.L117
	jmp	.L119
.L116:
	mov	rdx, QWORD PTR -296[rbp]
	mov	rax, QWORD PTR -312[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mdat_box_parse
	mov	QWORD PTR -312[rbp], rax
	mov	rdx, QWORD PTR -312[rbp]
	lea	rax, -296[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 8
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -292[rbp]
	mov	esi, 0
	mov	edi, eax
	call	print_box_type
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	moov_box_parse
	jmp	.L119
.L117:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	moov_box_parse
	mov	QWORD PTR -288[rbp], rax
	mov	QWORD PTR -280[rbp], rdx
	mov	eax, DWORD PTR -284[rbp]
	mov	esi, 0
	mov	edi, eax
	call	print_box_type
	mov	rax, QWORD PTR -280[rbp]
	mov	rdx, QWORD PTR -288[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	mdat_box_parse
	nop
.L119:
	mov	rax, QWORD PTR -312[rbp]
	mov	rdi, rax
	call	fclose@PLT
	lea	rdi, .LC43[rip]
	call	puts@PLT
	mov	eax, 0
	call	mainmenu
	jmp	.L120
.L121:
	mov	eax, 0
	call	mainmenu
.L120:
	mov	eax, 0
	call	get_user_input
	cmp	al, 113
	jne	.L121
	mov	eax, 0
.L122:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L123
	call	__stack_chk_fail@PLT
.L123:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	main, .-main
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"80815.c"
	.text
	.comm	mp4_info,8,4
	.align	2
	.global	big_to_small_endian_32bit
	.syntax unified
	.arm
	.fpu softvfp
	.type	big_to_small_endian_32bit, %function
big_to_small_endian_32bit:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-16]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	mov	r3, #0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsl	r3, r3, #24
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	and	r3, r3, #16711680
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #16
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	lsr	r3, r3, #24
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	big_to_small_endian_32bit, .-big_to_small_endian_32bit
	.align	2
	.global	big_to_small_endian_64bit
	.syntax unified
	.arm
	.fpu softvfp
	.type	big_to_small_endian_64bit, %function
big_to_small_endian_64bit:
	@ args = 0, pretend = 0, frame = 112
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	push	{r4, r5, r6, r7, r8, r9, fp}
	add	fp, sp, #24
	sub	sp, sp, #116
	str	r0, [fp, #-52]
	str	r1, [fp, #-48]
	sub	r3, fp, #52
	ldmia	r3, {r2-r3}
	str	r2, [fp, #-44]
	str	r3, [fp, #-40]
	mov	r2, #0
	mov	r3, #0
	str	r2, [fp, #-36]
	str	r3, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r2, #24
	mov	r0, #0
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	r4, r2, r0
	adc	r5, r3, r1
	str	r4, [fp, #-36]
	str	r5, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #8
	orr	r0, r0, r3, lsl #24
	asr	r1, r3, #8
	mov	r4, #0
	mov	r5, #0
	lsl	r5, r0, #16
	mov	r4, #0
	mov	r2, #0
	mov	r3, #16711680
	and	r6, r4, r2
	and	r7, r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	r1, r2, r6
	str	r1, [fp, #-92]
	adc	r3, r3, r7
	str	r3, [fp, #-88]
	sub	r4, fp, #92
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #16
	orr	r0, r0, r3, lsl #16
	asr	r1, r3, #16
	mov	r4, #0
	mov	r5, #0
	lsl	r5, r0, #8
	mov	r4, #0
	mov	r2, #0
	mov	r3, #65280
	and	r8, r4, r2
	and	r9, r5, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	r1, r2, r8
	str	r1, [fp, #-100]
	adc	r3, r3, r9
	str	r3, [fp, #-96]
	sub	r4, fp, #100
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	lsr	r0, r2, #24
	orr	r0, r0, r3, lsl #8
	asr	r1, r3, #24
	mov	r4, #0
	mov	r5, #0
	mov	r5, r0
	mov	r4, #0
	mov	r2, #0
	mov	r3, #255
	and	r1, r4, r2
	str	r1, [fp, #-60]
	and	r3, r5, r3
	str	r3, [fp, #-56]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #60
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	ip, r2, ip
	str	ip, [fp, #-108]
	adc	r3, r3, r1
	str	r3, [fp, #-104]
	sub	r4, fp, #108
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	mov	r0, r3
	asr	r1, r3, #31
	mov	r4, #0
	mov	r5, #0
	lsl	r5, r1, #24
	orr	r5, r5, r0, lsr #8
	lsl	r4, r0, #24
	mvn	r2, #0
	mov	r3, #0
	and	r1, r4, r2
	str	r1, [fp, #-68]
	and	r3, r5, r3
	str	r3, [fp, #-64]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #68
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	ip, r2, ip
	str	ip, [fp, #-116]
	adc	r3, r3, r1
	str	r3, [fp, #-112]
	sub	r4, fp, #116
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	asr	r2, r1, #8
	asr	r3, r1, #31
	mov	r0, #0
	mov	r1, #0
	lsl	r1, r3, #16
	orr	r1, r1, r2, lsr #16
	lsl	r0, r2, #16
	mov	r2, #16711680
	mov	r3, #0
	and	ip, r0, r2
	str	ip, [fp, #-76]
	and	r3, r1, r3
	str	r3, [fp, #-72]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #76
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	ip, r2, ip
	str	ip, [fp, #-124]
	adc	r3, r3, r1
	str	r3, [fp, #-120]
	sub	r4, fp, #124
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r3, fp, #44
	ldmia	r3, {r2-r3}
	mov	r0, #0
	mov	r1, #0
	asr	r0, r3, #16
	asr	r1, r3, #31
	mov	r2, #0
	mov	r3, #0
	lsl	r3, r1, #8
	orr	r3, r3, r0, lsr #24
	lsl	r2, r0, #8
	ldr	r0, .L5
	mov	r1, #0
	and	ip, r2, r0
	str	ip, [fp, #-84]
	and	r3, r3, r1
	str	r3, [fp, #-80]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	sub	r1, fp, #84
	ldmia	r1, {r0-r1}
	mov	ip, r0
	adds	ip, r2, ip
	str	ip, [fp, #-132]
	adc	r3, r3, r1
	str	r3, [fp, #-128]
	sub	r4, fp, #132
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r1, fp, #44
	ldmia	r1, {r0-r1}
	mov	r2, #0
	mov	r3, #0
	lsr	r2, r1, #24
	mov	r3, #0
	mov	r0, r2
	mov	r1, r3
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	adds	ip, r2, r0
	str	ip, [fp, #-140]
	adc	r3, r3, r1
	str	r3, [fp, #-136]
	sub	r4, fp, #140
	ldmia	r4, {r3-r4}
	str	r3, [fp, #-36]
	str	r4, [fp, #-32]
	sub	r3, fp, #36
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	sub	sp, fp, #24
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, fp}
	bx	lr
.L6:
	.align	2
.L5:
	.word	65535
	.size	big_to_small_endian_64bit, .-big_to_small_endian_64bit
	.section	.rodata
	.align	2
.LC2:
	.ascii	"ftyp box\000"
	.align	2
.LC3:
	.ascii	"moov box\000"
	.align	2
.LC4:
	.ascii	"mdat box\000"
	.align	2
.LC5:
	.ascii	"mvhd box\000"
	.align	2
.LC6:
	.ascii	"iods box\000"
	.align	2
.LC7:
	.ascii	"udta box\000"
	.align	2
.LC8:
	.ascii	"trak box\000"
	.align	2
.LC9:
	.ascii	"tkhd box\000"
	.align	2
.LC10:
	.ascii	"mdia box\000"
	.align	2
.LC11:
	.ascii	"mdhd box\000"
	.align	2
.LC12:
	.ascii	"hdlr box\000"
	.align	2
.LC13:
	.ascii	"minf box\000"
	.align	2
.LC14:
	.ascii	"dinf box\000"
	.align	2
.LC15:
	.ascii	"tref box\000"
	.align	2
.LC16:
	.ascii	"stbl box\000"
	.align	2
.LC17:
	.ascii	"stsd box\000"
	.align	2
.LC18:
	.ascii	"mp4s box\000"
	.align	2
.LC19:
	.ascii	"esds box\000"
	.align	2
.LC20:
	.ascii	"stts box\000"
	.align	2
.LC21:
	.ascii	"stsc box\000"
	.align	2
.LC22:
	.ascii	"stsz box\000"
	.align	2
.LC23:
	.ascii	"stco box\000"
	.align	2
.LC24:
	.ascii	"stss box\000"
	.align	2
.LC25:
	.ascii	"ctts box\000"
	.align	2
.LC26:
	.ascii	"edts box\000"
	.align	2
.LC27:
	.ascii	"vmhd box\000"
	.align	2
.LC28:
	.ascii	"smhd box\000"
	.align	2
.LC29:
	.ascii	"hmhd box\000"
	.align	2
.LC30:
	.ascii	"nmhd box\000"
	.text
	.align	2
	.global	print_box_type
	.syntax unified
	.arm
	.fpu softvfp
	.type	print_box_type, %function
print_box_type:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #16
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L8
.L9:
	mov	r0, #9
	bl	putchar
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L8:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	bcc	.L9
	ldr	r0, [fp, #-16]
	bl	big_to_small_endian_32bit
	mov	r3, r0
	cmn	r3, #1
	beq	.L10
	ldr	r2, .L43
	cmp	r3, r2
	beq	.L11
	ldr	r2, .L43
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+4
	cmp	r3, r2
	beq	.L13
	ldr	r2, .L43+4
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+8
	cmp	r3, r2
	beq	.L14
	ldr	r2, .L43+8
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+12
	cmp	r3, r2
	beq	.L15
	ldr	r2, .L43+12
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+16
	cmp	r3, r2
	beq	.L16
	ldr	r2, .L43+16
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+20
	cmp	r3, r2
	beq	.L17
	ldr	r2, .L43+20
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+24
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+28
	cmp	r3, r2
	bcs	.L18
	ldr	r2, .L43+32
	cmp	r3, r2
	beq	.L19
	ldr	r2, .L43+32
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+36
	cmp	r3, r2
	beq	.L20
	ldr	r2, .L43+36
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+40
	cmp	r3, r2
	beq	.L21
	ldr	r2, .L43+40
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+44
	cmp	r3, r2
	beq	.L22
	ldr	r2, .L43+44
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+48
	cmp	r3, r2
	beq	.L23
	ldr	r2, .L43+48
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+52
	cmp	r3, r2
	beq	.L24
	ldr	r2, .L43+52
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+56
	cmp	r3, r2
	beq	.L25
	ldr	r2, .L43+56
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+60
	cmp	r3, r2
	beq	.L26
	ldr	r2, .L43+60
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+64
	cmp	r3, r2
	beq	.L27
	ldr	r2, .L43+64
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+68
	cmp	r3, r2
	beq	.L28
	ldr	r2, .L43+68
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+72
	cmp	r3, r2
	beq	.L29
	ldr	r2, .L43+72
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+76
	cmp	r3, r2
	beq	.L30
	ldr	r2, .L43+76
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+80
	cmp	r3, r2
	beq	.L31
	ldr	r2, .L43+80
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+84
	cmp	r3, r2
	beq	.L32
	ldr	r2, .L43+84
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+88
	cmp	r3, r2
	beq	.L33
	ldr	r2, .L43+88
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+92
	cmp	r3, r2
	beq	.L34
	ldr	r2, .L43+92
	cmp	r3, r2
	bhi	.L42
	ldr	r2, .L43+96
	cmp	r3, r2
	beq	.L35
	ldr	r2, .L43+100
	cmp	r3, r2
	beq	.L36
	b	.L42
.L18:
	ldr	r2, .L43+104
	add	r2, r3, r2
	cmp	r2, #23
	ldrls	pc, [pc, r2, asl #2]
	b	.L42
.L38:
	.word	.L41
	.word	.L40
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L39
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L42
	.word	.L37
.L32:
	ldr	r0, .L43+108
	bl	puts
	b	.L12
.L24:
	ldr	r0, .L43+112
	bl	puts
	b	.L12
.L28:
	ldr	r0, .L43+116
	bl	puts
	b	.L12
.L22:
	ldr	r0, .L43+120
	bl	puts
	b	.L12
.L29:
	ldr	r0, .L43+124
	bl	puts
	b	.L12
.L13:
	ldr	r0, .L43+128
	bl	puts
	b	.L12
.L15:
	ldr	r0, .L43+132
	bl	puts
	b	.L12
.L16:
	ldr	r0, .L43+136
	bl	puts
	b	.L12
.L26:
	ldr	r0, .L43+140
	bl	puts
	b	.L12
.L27:
	ldr	r0, .L43+144
	bl	puts
	b	.L12
.L31:
	ldr	r0, .L43+148
	bl	puts
	b	.L12
.L25:
	ldr	r0, .L43+152
	bl	puts
	b	.L12
.L36:
	ldr	r0, .L43+156
	bl	puts
	b	.L12
.L14:
	ldr	r0, .L43+160
	bl	puts
	b	.L12
.L20:
	ldr	r0, .L43+164
	bl	puts
	b	.L12
.L40:
	ldr	r0, .L43+168
	bl	puts
	b	.L12
.L23:
	ldr	r0, .L43+172
	bl	puts
	b	.L12
.L33:
	ldr	r0, .L43+176
	bl	puts
	b	.L12
.L17:
	ldr	r0, .L43+180
	bl	puts
	b	.L12
.L41:
	ldr	r0, .L43+184
	bl	puts
	b	.L12
.L37:
	ldr	r0, .L43+188
	bl	puts
	b	.L12
.L19:
	ldr	r0, .L43+192
	bl	puts
	b	.L12
.L39:
	ldr	r0, .L43+196
	bl	puts
	b	.L12
.L35:
	ldr	r0, .L43+200
	bl	puts
	b	.L12
.L34:
	ldr	r0, .L43+204
	bl	puts
	b	.L12
.L11:
	ldr	r0, .L43+208
	bl	puts
	b	.L12
.L21:
	ldr	r0, .L43+212
	bl	puts
	b	.L12
.L30:
	ldr	r0, .L43+216
	bl	puts
	b	.L12
.L10:
	ldr	r0, .L43+220
	bl	puts
	nop
.L12:
.L42:
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L44:
	.align	2
.L43:
	.word	1986881636
	.word	1969517665
	.word	1953654118
	.word	1953653099
	.word	1953196132
	.word	1937011827
	.word	1937011578
	.word	1937011555
	.word	1937007471
	.word	1937007212
	.word	1936549988
	.word	1836476516
	.word	1836070003
	.word	1836019574
	.word	1835626086
	.word	1835297121
	.word	1835296868
	.word	1835295092
	.word	1768907891
	.word	1752000612
	.word	1751411826
	.word	1718909296
	.word	1702061171
	.word	1701082227
	.word	1668576371
	.word	1684631142
	.word	-1937011555
	.word	.LC2
	.word	.LC3
	.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	.LC20
	.word	.LC21
	.word	.LC22
	.word	.LC23
	.word	.LC24
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.size	print_box_type, .-print_box_type
	.section	.rodata
	.align	2
.LC31:
	.ascii	"\347\274\226\347\240\201\346\227\266\351\227\264\357"
	.ascii	"\274\232%d-%d-%d %d:%d:%d\012\000"
	.align	2
.LC32:
	.ascii	"\344\277\256\350\256\242\346\227\266\351\227\264\357"
	.ascii	"\274\232%d-%d-%d %d:%d:%d\012\000"
	.align	2
.LC0:
	.word	31
	.word	28
	.word	31
	.word	30
	.word	31
	.word	30
	.word	31
	.word	31
	.word	30
	.word	31
	.word	30
	.word	31
	.align	2
.LC1:
	.word	31
	.word	29
	.word	31
	.word	30
	.word	31
	.word	30
	.word	31
	.word	31
	.word	30
	.word	31
	.word	30
	.word	31
	.align	2
.LC33:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	create_and_modify_time
	.syntax unified
	.arm
	.fpu softvfp
	.type	create_and_modify_time, %function
create_and_modify_time:
	@ args = 0, pretend = 0, frame = 152
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #168
	str	r0, [fp, #-152]
	str	r1, [fp, #-156]
	ldr	r3, .L59
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L59+4
	sub	ip, fp, #104
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r3, .L59+8
	sub	ip, fp, #56
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldm	lr, {r0, r1, r2, r3}
	stm	ip, {r0, r1, r2, r3}
	ldr	r0, [fp, #-152]
	bl	big_to_small_endian_32bit
	str	r0, [fp, #-132]
	ldr	r3, [fp, #-132]
	ldr	r2, .L59+12
	umull	r1, r3, r2, r3
	lsr	r3, r3, #23
	add	r3, r3, #1904
	str	r3, [fp, #-128]
	ldr	r3, [fp, #-128]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L46
	ldr	r3, [fp, #-128]
	sub	r3, r3, #1904
	lsr	r3, r3, #2
	add	r3, r3, #1
	str	r3, [fp, #-148]
	b	.L47
.L46:
	ldr	r3, [fp, #-128]
	sub	r3, r3, #1904
	lsr	r3, r3, #2
	str	r3, [fp, #-148]
.L47:
	ldr	r3, [fp, #-148]
	ldr	r2, [fp, #-128]
	sub	r2, r2, r3
	mov	r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r3, r3, #3
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r1, r3, r2
	ldr	r2, [fp, #-148]
	mov	r3, r2
	lsl	r3, r3, #4
	sub	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	sub	r2, r2, r3
	lsl	r3, r2, #1
	mov	r2, r3
	mov	r3, r2
	add	r3, r1, r3
	sub	r3, r3, #692224
	sub	r3, r3, #2736
	str	r3, [fp, #-124]
	ldr	r3, [fp, #-132]
	ldr	r2, .L59+16
	umull	r1, r3, r2, r3
	lsr	r2, r3, #16
	ldr	r3, [fp, #-124]
	sub	r3, r2, r3
	str	r3, [fp, #-120]
	mov	r3, #0
	str	r3, [fp, #-144]
	mov	r3, #31
	str	r3, [fp, #-140]
	mov	r3, #0
	str	r3, [fp, #-116]
	mov	r3, #0
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-128]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L52
	b	.L49
.L50:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-140]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-100]
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
.L49:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-140]
	cmp	r2, r3
	bgt	.L50
	b	.L51
.L53:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-140]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-136]
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-144]
	ldr	r3, [fp, #-144]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r3, [r3, #-52]
	ldr	r2, [fp, #-140]
	add	r3, r2, r3
	str	r3, [fp, #-140]
.L52:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-140]
	cmp	r2, r3
	bgt	.L53
.L51:
	ldr	r3, [fp, #-144]
	add	r3, r3, #1
	str	r3, [fp, #-116]
	ldr	r3, [fp, #-116]
	cmp	r3, #1
	bne	.L54
	ldr	r3, [fp, #-120]
	add	r3, r3, #1
	str	r3, [fp, #-136]
.L54:
	ldr	r2, [fp, #-120]
	ldr	r3, [fp, #-124]
	add	r3, r2, r3
	str	r3, [fp, #-112]
	ldr	r2, [fp, #-112]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r2, r3, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #7
	mov	r2, r3
	ldr	r3, [fp, #-132]
	sub	r3, r3, r2
	str	r3, [fp, #-108]
	ldr	r3, [fp, #-156]
	cmp	r3, #0
	bne	.L55
	ldr	r3, [fp, #-108]
	ldr	r2, .L59+20
	smull	r1, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #11
	asr	r3, r3, #31
	sub	r0, r2, r3
	ldr	r1, [fp, #-108]
	ldr	r3, .L59+20
	smull	r2, r3, r1, r3
	add	r3, r3, r1
	asr	r2, r3, #11
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r1, r3
	ldr	r2, .L59+24
	smull	r1, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	ip, r2, r3
	ldr	r2, [fp, #-108]
	ldr	r3, .L59+24
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #5
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	sub	r1, r2, r3
	str	r1, [sp, #8]
	str	ip, [sp, #4]
	str	r0, [sp]
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-116]
	ldr	r1, [fp, #-128]
	ldr	r0, .L59+28
	bl	printf
	b	.L58
.L55:
	ldr	r3, [fp, #-156]
	cmp	r3, #1
	bne	.L58
	ldr	r3, [fp, #-108]
	ldr	r2, .L59+20
	smull	r1, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #11
	asr	r3, r3, #31
	sub	r0, r2, r3
	ldr	r1, [fp, #-108]
	ldr	r3, .L59+20
	smull	r2, r3, r1, r3
	add	r3, r3, r1
	asr	r2, r3, #11
	asr	r3, r1, #31
	sub	r3, r2, r3
	mov	r2, r3
	lsl	r2, r2, #4
	sub	r2, r2, r3
	lsl	r3, r2, #4
	sub	r3, r3, r2
	lsl	r3, r3, #4
	sub	r3, r1, r3
	ldr	r2, .L59+24
	smull	r1, r2, r3, r2
	add	r2, r2, r3
	asr	r2, r2, #5
	asr	r3, r3, #31
	sub	ip, r2, r3
	ldr	r2, [fp, #-108]
	ldr	r3, .L59+24
	smull	r1, r3, r2, r3
	add	r3, r3, r2
	asr	r1, r3, #5
	asr	r3, r2, #31
	sub	r1, r1, r3
	mov	r3, r1
	lsl	r3, r3, #4
	sub	r3, r3, r1
	lsl	r3, r3, #2
	sub	r1, r2, r3
	str	r1, [sp, #8]
	str	ip, [sp, #4]
	str	r0, [sp]
	ldr	r3, [fp, #-136]
	ldr	r2, [fp, #-116]
	ldr	r1, [fp, #-128]
	ldr	r0, .L59+32
	bl	printf
.L58:
	nop
	ldr	r3, .L59
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L57
	bl	__stack_chk_fail
.L57:
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L60:
	.align	2
.L59:
	.word	.LC33
	.word	.LC0
	.word	.LC1
	.word	1142465659
	.word	-1037155065
	.word	-1851608123
	.word	-2004318071
	.word	.LC31
	.word	.LC32
	.size	create_and_modify_time, .-create_and_modify_time
	.section	.rodata
	.align	2
.LC34:
	.ascii	"------------------------function menu--------------"
	.ascii	"-----------\000"
	.align	2
.LC35:
	.ascii	"1.\347\274\226\347\240\201\346\227\266\351\227\264\344"
	.ascii	"\270\216\344\277\256\350\256\242\346\227\266\351\227"
	.ascii	"\264\000"
	.align	2
.LC36:
	.ascii	"2.\345\275\261\347\211\207\351\225\277\345\272\246\000"
	.align	2
.LC37:
	.ascii	"3.\345\275\261\347\211\207\345\243\260\351\237\263\351"
	.ascii	"\207\207\346\240\267\351\242\221\347\216\207\343\200"
	.ascii	"\201\350\247\206\351\242\221\345\270\247\347\216\207"
	.ascii	"\343\200\201\347\240\201\347\216\207\357\274\210\346"
	.ascii	"\257\224\347\211\271\347\216\207\357\274\211\343\200"
	.ascii	"\201\345\210\206\350\276\250\347\216\207\000"
	.align	2
.LC38:
	.ascii	"4.\350\247\206\351\242\221\345\205\263\351\224\256\345"
	.ascii	"\270\247\345\210\227\350\241\250\000"
	.align	2
.LC39:
	.ascii	"q.\350\276\223\345\205\245q\351\200\200\345\207\272"
	.ascii	"\000"
	.text
	.align	2
	.global	mainmenu
	.syntax unified
	.arm
	.fpu softvfp
	.type	mainmenu, %function
mainmenu:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L62
	bl	puts
	ldr	r0, .L62+4
	bl	puts
	ldr	r0, .L62+8
	bl	puts
	ldr	r0, .L62+12
	bl	puts
	ldr	r0, .L62+16
	bl	puts
	ldr	r0, .L62+20
	bl	puts
	ldr	r0, .L62
	bl	puts
	nop
	pop	{fp, pc}
.L63:
	.align	2
.L62:
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.size	mainmenu, .-mainmenu
	.section	.rodata
	.align	2
.LC40:
	.ascii	" %c\000"
	.align	2
.LC41:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	get_user_input
	.syntax unified
	.arm
	.fpu softvfp
	.type	get_user_input, %function
get_user_input:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	ldr	r3, .L74
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	sub	r3, fp, #9
	mov	r1, r3
	ldr	r0, .L74+4
	bl	__isoc99_scanf
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	sub	r3, r3, #49
	cmp	r3, #4
	ldrls	pc, [pc, r3, asl #2]
	b	.L65
.L67:
	.word	.L71
	.word	.L65
	.word	.L65
	.word	.L65
	.word	.L65
.L71:
	ldr	r3, .L74+8
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	create_and_modify_time
	ldr	r3, .L74+8
	ldr	r3, [r3, #4]
	mov	r1, #1
	mov	r0, r3
	bl	create_and_modify_time
	nop
.L65:
	ldrb	r3, [fp, #-9]	@ zero_extendqisi2
	ldr	r2, .L74
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L73
	bl	__stack_chk_fail
.L73:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L75:
	.align	2
.L74:
	.word	.LC41
	.word	.LC40
	.word	mp4_info
	.size	get_user_input, .-get_user_input
	.section	.rodata
	.align	2
.LC42:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	moov_box_parse
	.syntax unified
	.arm
	.fpu softvfp
	.type	moov_box_parse, %function
moov_box_parse:
	@ args = 0, pretend = 0, frame = 264
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #264
	str	r0, [fp, #-264]
	str	r1, [fp, #-268]
	ldr	r3, .L122
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mov	r0, #3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-248]
	mov	r3, #0
	strb	r3, [fp, #-257]
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-208]
	mov	r1, #1
	mov	r0, r3
	bl	print_box_type
	sub	r0, fp, #256
	sub	r0, r0, #3
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #3
	ldr	r0, [fp, #-248]
	bl	fread
	sub	r0, fp, #104
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #96
	bl	fread
	ldr	r3, [fp, #-104]
	ldr	r2, .L122+4
	str	r3, [r2]
	ldr	r3, [fp, #-100]
	ldr	r2, .L122+4
	str	r3, [r2, #4]
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	b	.L77
.L78:
	ldr	r3, [fp, #-208]
	mov	r1, #1
	mov	r0, r3
	bl	print_box_type
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
.L77:
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+8
	cmp	r3, r2
	bne	.L78
	ldr	r3, [fp, #-208]
	mov	r1, #1
	mov	r0, r3
	bl	print_box_type
	b	.L79
.L118:
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	beq	.L121
	b	.L82
.L117:
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+12
	cmp	r3, r2
	beq	.L83
	ldr	r2, .L122+16
	cmp	r3, r2
	bne	.L84
	ldr	r3, [fp, #-208]
	mov	r1, #2
	mov	r0, r3
	bl	print_box_type
	mov	r0, #3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-244]
	sub	r0, fp, #204
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #3
	ldr	r0, [fp, #-244]
	bl	fread
	sub	r0, fp, #184
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #80
	bl	fread
	ldr	r0, [fp, #-244]
	bl	free
	b	.L85
.L83:
	mov	r0, #3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-240]
	ldr	r3, [fp, #-208]
	mov	r1, #2
	mov	r0, r3
	bl	print_box_type
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-208]
	mov	r1, #3
	mov	r0, r3
	bl	print_box_type
	sub	r0, fp, #256
	sub	r0, r0, #2
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #3
	ldr	r0, [fp, #-240]
	bl	fread
	sub	r0, fp, #204
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #20
	bl	fread
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-208]
	mov	r1, #3
	mov	r0, r3
	bl	print_box_type
	mov	r2, #1
	mov	r1, #8
	ldr	r0, [fp, #-268]
	bl	fseek
	sub	r0, fp, #252
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #20
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-208]
	mov	r1, #3
	mov	r0, r3
	bl	print_box_type
	ldr	r3, [fp, #-252]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+20
	cmp	r3, r2
	beq	.L86
	ldr	r2, .L122+20
	cmp	r3, r2
	bhi	.L87
	ldr	r2, .L122+24
	cmp	r3, r2
	beq	.L86
	ldr	r2, .L122+28
	cmp	r3, r2
	bne	.L87
.L86:
	ldr	r0, [fp, #-268]
	bl	ftell
	mov	r3, r0
	str	r3, [fp, #-236]
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	str	r0, [fp, #-232]
	b	.L88
.L100:
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+32
	cmp	r3, r2
	beq	.L89
	ldr	r2, .L122+32
	cmp	r3, r2
	bhi	.L88
	ldr	r2, .L122+36
	cmp	r3, r2
	beq	.L90
	ldr	r2, .L122+36
	cmp	r3, r2
	bhi	.L88
	ldr	r2, .L122+40
	cmp	r3, r2
	beq	.L89
	ldr	r2, .L122+40
	cmp	r3, r2
	bhi	.L88
	ldr	r2, .L122+44
	cmp	r3, r2
	beq	.L89
	ldr	r2, .L122+48
	cmp	r3, r2
	bne	.L88
.L89:
	ldr	r3, [fp, #-208]
	mov	r1, #4
	mov	r0, r3
	bl	print_box_type
	b	.L88
.L90:
	ldr	r3, [fp, #-208]
	mov	r1, #4
	mov	r0, r3
	bl	print_box_type
	mov	r3, #1
	strb	r3, [fp, #-257]
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	rsb	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	ldr	r0, [fp, #-268]
	bl	ftell
	mov	r3, r0
	str	r3, [fp, #-228]
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	str	r0, [fp, #-224]
	b	.L91
.L99:
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+52
	cmp	r3, r2
	beq	.L92
	ldr	r2, .L122+52
	cmp	r3, r2
	bhi	.L91
	ldr	r2, .L122+56
	cmp	r3, r2
	beq	.L93
	ldr	r2, .L122+56
	cmp	r3, r2
	bcc	.L91
	ldr	r2, .L122+60
	cmp	r3, r2
	bhi	.L91
	ldr	r2, .L122+64
	cmp	r3, r2
	bcc	.L91
	ldr	r2, .L122+68
	add	r2, r3, r2
	cmp	r2, #23
	ldrls	pc, [pc, r2, asl #2]
	b	.L91
.L95:
	.word	.L98
	.word	.L97
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L96
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L91
	.word	.L94
.L97:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L91
.L92:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L91
.L98:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L91
.L94:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L91
.L93:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L91
.L96:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	nop
.L91:
	ldr	r0, [fp, #-268]
	bl	ftell
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-228]
	sub	r3, r2, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-224]
	cmp	r2, r3
	bne	.L99
	nop
.L88:
	ldr	r0, [fp, #-268]
	bl	ftell
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-236]
	sub	r3, r2, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-232]
	cmp	r2, r3
	bne	.L100
	b	.L101
.L87:
	sub	r0, fp, #256
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	mov	r1, #4
	mvn	r0, #0
	bl	print_box_type
	ldr	r3, [fp, #-256]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #4
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	b	.L102
.L103:
	ldr	r3, [fp, #-208]
	mov	r1, #4
	mov	r0, r3
	bl	print_box_type
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
.L102:
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+36
	cmp	r3, r2
	bne	.L103
	ldr	r3, [fp, #-208]
	mov	r1, #4
	mov	r0, r3
	bl	print_box_type
	nop
.L101:
	ldrb	r3, [fp, #-257]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L104
	mov	r3, #0
	strb	r3, [fp, #-257]
	ldr	r0, [fp, #-240]
	bl	free
	b	.L85
.L104:
	ldr	r0, [fp, #-268]
	bl	ftell
	mov	r3, r0
	str	r3, [fp, #-220]
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	str	r0, [fp, #-216]
	b	.L105
.L115:
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+52
	cmp	r3, r2
	beq	.L106
	ldr	r2, .L122+52
	cmp	r3, r2
	bhi	.L105
	ldr	r2, .L122+60
	cmp	r3, r2
	bhi	.L105
	ldr	r2, .L122+64
	cmp	r3, r2
	bcs	.L107
	ldr	r2, .L122+72
	cmp	r3, r2
	beq	.L108
	ldr	r2, .L122+56
	cmp	r3, r2
	beq	.L109
	b	.L105
.L107:
	ldr	r2, .L122+68
	add	r2, r3, r2
	cmp	r2, #23
	ldrls	pc, [pc, r2, asl #2]
	b	.L105
.L111:
	.word	.L114
	.word	.L113
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L112
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L105
	.word	.L110
.L113:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L105
.L106:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L105
.L114:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L105
.L110:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L105
.L109:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L105
.L112:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	b	.L105
.L108:
	ldr	r3, [fp, #-208]
	mov	r1, #5
	mov	r0, r3
	bl	print_box_type
	nop
.L105:
	ldr	r0, [fp, #-268]
	bl	ftell
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-220]
	sub	r3, r2, r3
	add	r3, r3, #8
	ldr	r2, [fp, #-216]
	cmp	r2, r3
	bne	.L115
	mov	r3, #0
	strb	r3, [fp, #-257]
	ldr	r0, [fp, #-240]
	bl	free
	b	.L85
.L84:
	ldr	r3, [fp, #-208]
	mov	r1, #2
	mov	r0, r3
	bl	print_box_type
	ldr	r3, [fp, #-212]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-268]
	bl	fseek
	nop
.L85:
	sub	r0, fp, #212
	ldr	r3, [fp, #-268]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	mov	r3, r0
	cmp	r3, #0
	bne	.L116
	b	.L79
.L116:
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+8
	cmp	r3, r2
	bne	.L82
	ldr	r3, [fp, #-208]
	mov	r1, #1
	mov	r0, r3
	bl	print_box_type
.L82:
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+8
	cmp	r3, r2
	beq	.L79
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+76
	cmp	r3, r2
	beq	.L79
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+80
	cmp	r3, r2
	bne	.L117
.L79:
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+76
	cmp	r3, r2
	beq	.L81
	ldr	r3, [fp, #-208]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L122+80
	cmp	r3, r2
	bne	.L118
	b	.L81
.L121:
	nop
.L81:
	ldr	r0, [fp, #-248]
	bl	free
	ldr	r3, [fp, #-212]
	str	r3, [fp, #-204]
	ldr	r3, [fp, #-208]
	str	r3, [fp, #-200]
	ldr	r3, [fp, #-268]
	str	r3, [fp, #-196]
	ldr	r3, [fp, #-264]
	mov	ip, r3
	sub	r3, fp, #204
	ldm	r3, {r0, r1, r2}
	stm	ip, {r0, r1, r2}
	ldr	r3, .L122
	ldr	r2, [r3]
	ldr	r3, [fp, #-8]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L120
	bl	__stack_chk_fail
.L120:
	ldr	r0, [fp, #-264]
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L123:
	.align	2
.L122:
	.word	.LC42
	.word	mp4_info
	.word	1953653099
	.word	1835297121
	.word	1953196132
	.word	1986618469
	.word	1751740020
	.word	1936684398
	.word	1986881636
	.word	1937007212
	.word	1936549988
	.word	1684631142
	.word	1752000612
	.word	1937011827
	.word	1937007471
	.word	1937011578
	.word	1937011555
	.word	-1937011555
	.word	1668576371
	.word	1835295092
	.word	1718773093
	.size	moov_box_parse, .-moov_box_parse
	.section	.rodata
	.align	2
.LC43:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	mdat_box_parse
	.syntax unified
	.arm
	.fpu softvfp
	.type	mdat_box_parse, %function
mdat_box_parse:
	@ args = 0, pretend = 0, frame = 32
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	sub	r3, fp, #32
	stm	r3, {r1, r2}
	ldr	r3, .L129
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, [fp, #-32]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	cmp	r3, #1
	beq	.L125
	ldr	r3, [fp, #-32]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	sub	r3, r3, #8
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	fseek
	b	.L126
.L125:
	sub	r0, fp, #20
	ldr	r3, [fp, #-24]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	sub	r3, fp, #20
	ldmia	r3, {r2-r3}
	mov	r0, r2
	mov	r1, r3
	bl	big_to_small_endian_64bit
	mov	r2, r0
	mov	r3, r1
	mov	r3, r2
	sub	r3, r3, #16
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-24]
	bl	fseek
.L126:
	ldr	r3, [fp, #-24]
	ldr	r2, .L129
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L128
	bl	__stack_chk_fail
.L128:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L130:
	.align	2
.L129:
	.word	.LC43
	.size	mdat_box_parse, .-mdat_box_parse
	.section	.rodata
	.align	2
.LC44:
	.ascii	"please input mp4 filename:\000"
	.align	2
.LC45:
	.ascii	"%s\000"
	.align	2
.LC46:
	.ascii	"r\000"
	.align	2
.LC47:
	.ascii	"open fail\000"
	.align	2
.LC48:
	.ascii	"----------------------MP4 file structure-----------"
	.ascii	"-----------\000"
	.align	2
.LC49:
	.ascii	"----------------------MP4 file structure-----------"
	.ascii	"-----------\012\012\000"
	.align	2
.LC50:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 312
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #312
	ldr	r3, .L142
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r0, .L142+4
	bl	printf
	sub	r3, fp, #264
	mov	r1, r3
	ldr	r0, .L142+8
	bl	__isoc99_scanf
	sub	r3, fp, #264
	ldr	r1, .L142+12
	mov	r0, r3
	bl	fopen
	str	r0, [fp, #-296]
	ldr	r3, [fp, #-296]
	cmp	r3, #0
	bne	.L132
	ldr	r0, .L142+16
	bl	puts
	mvn	r3, #0
	b	.L140
.L132:
	ldr	r0, .L142+20
	bl	puts
	sub	r0, fp, #292
	ldr	r3, [fp, #-296]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-288]
	mov	r1, #0
	mov	r0, r3
	bl	print_box_type
	ldr	r3, [fp, #-292]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	mov	r2, #0
	mov	r1, r3
	ldr	r0, [fp, #-296]
	bl	fseek
	sub	r0, fp, #284
	ldr	r3, [fp, #-296]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-280]
	mov	r1, #0
	mov	r0, r3
	bl	print_box_type
	ldr	r3, [fp, #-280]
	mov	r0, r3
	bl	big_to_small_endian_32bit
	mov	r3, r0
	ldr	r2, .L142+24
	cmp	r3, r2
	beq	.L134
	ldr	r2, .L142+28
	cmp	r3, r2
	beq	.L135
	b	.L137
.L134:
	sub	r3, fp, #284
	ldm	r3, {r1, r2}
	ldr	r0, [fp, #-296]
	bl	mdat_box_parse
	str	r0, [fp, #-296]
	sub	r0, fp, #284
	ldr	r3, [fp, #-296]
	mov	r2, #1
	mov	r1, #8
	bl	fread
	ldr	r3, [fp, #-280]
	mov	r1, #0
	mov	r0, r3
	bl	print_box_type
	sub	r3, fp, #316
	ldr	r1, [fp, #-296]
	mov	r0, r3
	bl	moov_box_parse
	b	.L137
.L135:
	sub	r3, fp, #276
	ldr	r1, [fp, #-296]
	mov	r0, r3
	bl	moov_box_parse
	ldr	r3, [fp, #-272]
	mov	r1, #0
	mov	r0, r3
	bl	print_box_type
	ldr	r0, [fp, #-268]
	sub	r3, fp, #276
	ldm	r3, {r1, r2}
	bl	mdat_box_parse
	nop
.L137:
	ldr	r0, [fp, #-296]
	bl	fclose
	ldr	r0, .L142+32
	bl	puts
	bl	mainmenu
	b	.L138
.L139:
	bl	mainmenu
.L138:
	bl	get_user_input
	mov	r3, r0
	cmp	r3, #113
	bne	.L139
	mov	r3, #0
.L140:
	ldr	r2, .L142
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L141
	bl	__stack_chk_fail
.L141:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L143:
	.align	2
.L142:
	.word	.LC50
	.word	.LC44
	.word	.LC45
	.word	.LC46
	.word	.LC47
	.word	.LC48
	.word	1835295092
	.word	1836019574
	.word	.LC49
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
