	.file	"filesystem.c"
@ GNU C version 3.3.2 (arm-thumb-elf)
@	compiled by GNU C version 3.3.1 (cygming special).
@ GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
@ options passed:  -fpreprocessed -mthumb-interwork -mlong-calls
@ -auxbase-strip -O2 -Wall -fverbose-asm
@ options enabled:  -fdefer-pop -fomit-frame-pointer
@ -foptimize-sibling-calls -fcse-follow-jumps -fcse-skip-blocks
@ -fexpensive-optimizations -fthread-jumps -fstrength-reduce -fpeephole
@ -fforce-mem -ffunction-cse -fkeep-static-consts -fcaller-saves
@ -freg-struct-return -fgcse -fgcse-lm -fgcse-sm -floop-optimize
@ -fcrossjumping -fif-conversion -fif-conversion2 -frerun-cse-after-loop
@ -frerun-loop-opt -fdelete-null-pointer-checks -fschedule-insns
@ -fschedule-insns2 -fsched-interblock -fsched-spec -fbranch-count-reg
@ -freorder-blocks -freorder-functions -fcprop-registers -fcommon
@ -fverbose-asm -fgnu-linker -fregmove -foptimize-register-move
@ -fargument-alias -fstrict-aliasing -fmerge-constants
@ -fzero-initialized-in-bss -fident -fpeephole2 -fguess-branch-probability
@ -fmath-errno -ftrapping-math -mapcs -mapcs-frame -mapcs-32 -msoft-float
@ -mthumb-interwork -mlong-calls

	.global	test_format
	.section	.rodata
	.align	2
	.type	test_format, %object
	.size	test_format, 44
test_format:
	.ascii	" Game boy advance filesystem by Br\374nni ****\000"
	.text
	.align	2
	.global	InitFS
	.type	InitFS, %function
InitFS:
	@ Function supports interworking.
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	ldr	r3, .L10
	mov	ip, sp
	stmfd	sp!, {r4, fp, ip, lr, pc}
	bic	r4, r3, #1020	@  ici
	bic	r4, r4, #3	@  ici,  ici
	cmp	r4, #167772160	@  ici
	sub	fp, ip, #4
	bcs	.L3
.L7:
	mov	r3, #10752
	ldr	ip, [r4, #0]	@ * ici
	add	r3, r3, #42
	orr	r3, r3, r3, asl #16
	cmp	ip, r3
	add	r0, r4, #4	@  ici
	ldr	r1, .L10+4
	mov	r2, #44
	beq	.L9
.L5:
	add	r4, r4, #1024	@  ici,  ici
	cmp	r4, #167772160	@  ici
	bcc	.L7
.L3:
	ldr	r3, [r4, #0]	@  <variable>.nbFichiers
	add	r3, r3, r3, asl #2
	add	r3, r4, r3, asl #3	@  ici
	ldr	r2, .L10+8
	ldr	r1, .L10+12
	add	r3, r3, #4
	str	r3, [r2, #0]	@  gblData
	str	r4, [r1, #0]	@  ici,  gblTaf
	ldmea	fp, {r4, fp, sp, lr}
	bx	lr
.L9:
	ldr	r3, .L10+16
	mov	lr, pc
	bx	r3
	cmp	r0, #0
	addeq	r4, r4, #48	@  ici,  ici
	bne	.L5
	b	.L3
.L11:
	.align	2
.L10:
	.word	InitFS
	.word	test_format
	.word	gblData
	.word	gblTaf
	.word	memcmp
	.size	InitFS, .-InitFS
	.align	2
	.global	SymFind
	.type	SymFind, %function
SymFind:
	@ Function supports interworking.
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	mov	ip, sp
	stmfd	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
	ldr	r2, .L23
	sub	fp, ip, #4
	ldr	ip, [r2, #0]	@  gblTaf
	ldr	r3, [ip, #0]	@  <variable>.nbFichiers
	mov	r4, #0	@  i
	cmp	r4, r3	@  i
	mov	r6, r0	@  symbole
	mov	sl, r1	@  f
	bge	.L21
	ldr	r8, .L23+4
	mov	r7, r2
	mov	r5, r4	@  i,  i
.L19:
	add	r1, ip, r5	@  i
	add	r1, r1, #4	@  f
	mov	r0, r6	@  symbole
	mov	lr, pc
	bx	r8
	cmp	r0, #0	@  symbole
	add	r4, r4, #1	@  i,  i
	beq	.L22
	ldr	ip, [r7, #0]	@  gblTaf
	ldr	r3, [ip, #0]	@  <variable>.nbFichiers
	cmp	r4, r3	@  i
	add	r5, r5, #40	@  i,  i
	blt	.L19
.L21:
	mov	r0, #0	@  symbole
.L12:
	ldmea	fp, {r4, r5, r6, r7, r8, sl, fp, sp, lr}
	bx	lr
.L22:
	cmp	sl, #0	@  f
	ldrne	r3, [r7, #0]	@  gblTaf
	addne	r3, r3, r5	@  i
	addne	r3, r3, #4
	ldr	r2, [r7, #0]	@  gblTaf
	strne	r3, [sl, #0]	@ * f
	ldr	r3, .L23+8
	add	r2, r5, r2	@  i
	ldr	r0, [r3, #0]	@  gblData
	ldr	r1, [r2, #36]	@  <variable>.offset
	add	r0, r0, r1	@  symbole
	b	.L12
.L24:
	.align	2
.L23:
	.word	gblTaf
	.word	strcmp
	.word	gblData
	.size	SymFind, .-SymFind
	.comm	pRoutineLointaine, 4, 32
	.comm	pFctLointaine, 4, 32
	.comm	gblTaf, 4, 32
	.comm	gblData, 4, 32
	.comm	gblCurFile, 4, 32
	.comm	ligne2, 4, 32
	.comm	gblCurs, 4, 32
	.ident	"GCC: (GNU) 3.3.2"
