	.file	"419258.c"
	.intel_syntax noprefix
	.text
	.type	Min, @function
Min:
.LFB6:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	DWORD PTR -4[rbp], edi
	mov	DWORD PTR -8[rbp], esi
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -8[rbp]
	jge	.L2
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L3
.L2:
	mov	eax, DWORD PTR -8[rbp]
.L3:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	Min, .-Min
	.type	SwapUWORD, @function
SwapUWORD:
.LFB7:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, edi
	mov	WORD PTR -4[rbp], ax
	movzx	eax, WORD PTR -4[rbp]
	shr	ax, 8
	mov	edx, eax
	movzx	eax, WORD PTR -4[rbp]
	sal	eax, 8
	add	eax, edx
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	SwapUWORD, .-SwapUWORD
	.type	GetHex, @function
GetHex:
.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, 48
	mov	DWORD PTR -36[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	movabs	rax, 3978425819141910832
	movabs	rdx, 5063528411713059128
	mov	QWORD PTR -32[rbp], rax
	mov	QWORD PTR -24[rbp], rdx
	mov	BYTE PTR -16[rbp], 0
	cmp	DWORD PTR -36[rbp], 0
	js	.L7
	cmp	DWORD PTR -36[rbp], 15
	jg	.L7
	mov	eax, DWORD PTR -36[rbp]
	cdqe
	movzx	eax, BYTE PTR -32[rbp+rax]
	jmp	.L9
.L7:
	mov	eax, 63
.L9:
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L10
	call	__stack_chk_fail@PLT
.L10:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	GetHex, .-GetHex
	.type	memcmp_new, @function
memcmp_new:
.LFB9:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	jmp	.L12
.L15:
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	movzx	ecx, BYTE PTR [rax]
	mov	rax, QWORD PTR -16[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -16[rbp], rdx
	movzx	eax, BYTE PTR [rax]
	cmp	cl, al
	je	.L13
	mov	eax, 1
	jmp	.L14
.L13:
	sub	DWORD PTR -20[rbp], 1
.L12:
	cmp	DWORD PTR -20[rbp], 0
	jg	.L15
	mov	eax, 0
.L14:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE9:
	.size	memcmp_new, .-memcmp_new
	.type	memcpy_new, @function
memcpy_new:
.LFB10:
	.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 -8[rbp], rdi
	mov	QWORD PTR -16[rbp], rsi
	mov	DWORD PTR -20[rbp], edx
	jmp	.L17
.L18:
	mov	rdx, QWORD PTR -16[rbp]
	lea	rax, 1[rdx]
	mov	QWORD PTR -16[rbp], rax
	mov	rax, QWORD PTR -8[rbp]
	lea	rcx, 1[rax]
	mov	QWORD PTR -8[rbp], rcx
	movzx	edx, BYTE PTR [rdx]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -20[rbp], 1
.L17:
	cmp	DWORD PTR -20[rbp], 0
	jg	.L18
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	memcpy_new, .-memcpy_new
	.section	.rodata
	.align 8
.LC0:
	.string	"DATA_Create( %s ): Failed (address:%p length:%d)...\n"
	.text
	.type	DATA_Create, @function
DATA_Create:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	edi, 33554456
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	cmp	QWORD PTR -8[rbp], 0
	je	.L20
	mov	rax, QWORD PTR -8[rbp]
	mov	rdx, QWORD PTR -24[rbp]
	mov	QWORD PTR [rax], rdx
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 8[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 12[rax], 0
	mov	rax, QWORD PTR -8[rbp]
	mov	DWORD PTR 16[rax], 0
	jmp	.L21
.L20:
	mov	rdx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, 33554456
	mov	rsi, rax
	lea	rdi, .LC0[rip]
	mov	eax, 0
	call	printf@PLT
.L21:
	mov	rax, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	DATA_Create, .-DATA_Create
	.section	.rodata
	.align 8
.LC1:
	.string	"DATA_AppendAligned( %p, %p, %d, %d ): Warning length not exactly divisible by block_length!\n"
	.align 8
.LC2:
	.string	"DATA_AppendAligned( %p, %p, %d, %d ): Data >%d bytes!\n"
	.text
	.type	DATA_AppendAligned, @function
DATA_AppendAligned:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	DWORD PTR -40[rbp], ecx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	eax, DWORD PTR -36[rbp]
	cdq
	idiv	DWORD PTR -40[rbp]
	imul	eax, DWORD PTR -40[rbp]
	cmp	DWORD PTR -36[rbp], eax
	je	.L24
	mov	esi, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, esi
	mov	rsi, rax
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	jmp	.L25
.L24:
	cmp	DWORD PTR -36[rbp], 0
	jne	.L26
	mov	eax, 0
	jmp	.L25
.L26:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L27
.L29:
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 20[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rcx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp@PLT
	test	eax, eax
	jne	.L28
	mov	eax, DWORD PTR -4[rbp]
	cdq
	idiv	DWORD PTR -40[rbp]
	jmp	.L25
.L28:
	mov	eax, DWORD PTR -40[rbp]
	add	DWORD PTR -4[rbp], eax
.L27:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -40[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jle	.L29
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 33554432
	sub	eax, DWORD PTR -36[rbp]
	cmp	edx, eax
	jg	.L30
	mov	eax, DWORD PTR -36[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rcx, 20[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	add	rcx, rax
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	eax, DWORD PTR -4[rbp]
	cdq
	idiv	DWORD PTR -40[rbp]
	jmp	.L25
.L30:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	esi, DWORD PTR -40[rbp]
	mov	ecx, DWORD PTR -36[rbp]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rax, QWORD PTR -24[rbp]
	mov	r9d, 33554432
	mov	r8d, esi
	mov	rsi, rax
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L25:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	DATA_AppendAligned, .-DATA_AppendAligned
	.section	.rodata
	.align 8
.LC3:
	.string	"DATA_Append( %p, %d ): Data >%d bytes!\n"
	.text
	.type	DATA_Append, @function
DATA_Append:
.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, 48
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	DWORD PTR -36[rbp], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	cmp	DWORD PTR -36[rbp], 0
	jne	.L32
	mov	eax, 0
	jmp	.L33
.L32:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L34
.L36:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	memcmp_new
	test	eax, eax
	jne	.L35
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L33
.L35:
	add	DWORD PTR -4[rbp], 1
.L34:
	mov	edx, DWORD PTR -4[rbp]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	edx, eax
	jle	.L36
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, 33554432
	sub	eax, DWORD PTR -36[rbp]
	cmp	edx, eax
	jg	.L37
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rcx, [rdx+rax]
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	rdi, rcx
	call	memcpy_new
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 8[rax]
	mov	eax, DWORD PTR -36[rbp]
	add	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 8[rax], edx
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 12[rax]
	lea	edx, 1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 12[rax], edx
	mov	eax, DWORD PTR -4[rbp]
	jmp	.L33
.L37:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 16[rax]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR 16[rax], edx
	mov	edx, DWORD PTR -36[rbp]
	mov	rax, QWORD PTR -32[rbp]
	mov	ecx, 33554432
	mov	rsi, rax
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
.L33:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE13:
	.size	DATA_Append, .-DATA_Append
	.section	.rodata
	.align 8
.LC4:
	.string	"Writing %s (Unique:%d Actual:%d Length:%d)..."
.LC5:
	.string	"\n.ALIGN\n.GLOBAL %s\n%s:\n.byte"
.LC6:
	.string	" %d"
.LC7:
	.string	", %d"
.LC8:
	.string	" 0\n"
.LC9:
	.string	"Done!"
	.text
	.type	DATA_Write, @function
DATA_Write:
.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, 32
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	mov	DWORD PTR -4[rbp], eax
	mov	eax, DWORD PTR -4[rbp]
	and	eax, 3
	test	eax, eax
	je	.L39
	and	DWORD PTR -4[rbp], -4
	add	DWORD PTR -4[rbp], 4
.L39:
	mov	rax, QWORD PTR -24[rbp]
	mov	ecx, DWORD PTR 16[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, DWORD PTR 12[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rax, QWORD PTR [rax]
	mov	esi, DWORD PTR -4[rbp]
	mov	r8d, esi
	mov	rsi, rax
	lea	rdi, .LC4[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, QWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	rdx, QWORD PTR [rax]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC5[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	cmp	DWORD PTR -4[rbp], 0
	jle	.L40
	mov	DWORD PTR -8[rbp], 0
	jmp	.L41
.L46:
	mov	rax, QWORD PTR -24[rbp]
	mov	eax, DWORD PTR 8[rax]
	cmp	DWORD PTR -8[rbp], eax
	jl	.L42
	mov	BYTE PTR -9[rbp], 0
	jmp	.L43
.L42:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 20[rax]
	mov	eax, DWORD PTR -8[rbp]
	cdqe
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -9[rbp], al
.L43:
	cmp	DWORD PTR -8[rbp], 0
	jne	.L44
	movzx	edx, BYTE PTR -9[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L45
.L44:
	movzx	edx, BYTE PTR -9[rbp]
	mov	rax, QWORD PTR -32[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L45:
	add	DWORD PTR -8[rbp], 1
.L41:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -4[rbp]
	jl	.L46
	mov	rax, QWORD PTR -32[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	jmp	.L47
.L40:
	mov	rax, QWORD PTR -32[rbp]
	mov	rcx, rax
	mov	edx, 3
	mov	esi, 1
	lea	rdi, .LC8[rip]
	call	fwrite@PLT
.L47:
	lea	rdi, .LC9[rip]
	call	puts@PLT
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE14:
	.size	DATA_Write, .-DATA_Write
	.type	MISC_ProcessSound, @function
MISC_ProcessSound:
.LFB15:
	.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	DWORD PTR -28[rbp], esi
	jmp	.L49
.L51:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movsx	eax, al
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], -128
	jne	.L50
	mov	DWORD PTR -4[rbp], -127
.L50:
	mov	rax, QWORD PTR -24[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -24[rbp], rdx
	mov	edx, DWORD PTR -4[rbp]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -28[rbp], 1
.L49:
	cmp	DWORD PTR -28[rbp], 0
	jg	.L51
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE15:
	.size	MISC_ProcessSound, .-MISC_ProcessSound
	.type	MISC_ConvSoundToSigned, @function
MISC_ConvSoundToSigned:
.LFB16:
	.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	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	QWORD PTR -8[rbp], rax
	jmp	.L53
.L54:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -12[rbp], eax
	add	DWORD PTR -12[rbp], -128
	mov	rax, QWORD PTR -8[rbp]
	lea	rdx, 1[rax]
	mov	QWORD PTR -8[rbp], rdx
	mov	edx, DWORD PTR -12[rbp]
	mov	BYTE PTR [rax], dl
	sub	DWORD PTR -28[rbp], 1
.L53:
	cmp	DWORD PTR -28[rbp], 0
	jg	.L54
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE16:
	.size	MISC_ConvSoundToSigned, .-MISC_ConvSoundToSigned
	.type	MOD_LoadSound, @function
MOD_LoadSound:
.LFB17:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 64
	mov	QWORD PTR -24[rbp], rdi
	mov	QWORD PTR -32[rbp], rsi
	mov	QWORD PTR -40[rbp], rdx
	mov	DWORD PTR -44[rbp], ecx
	mov	DWORD PTR -48[rbp], r8d
	mov	DWORD PTR -52[rbp], r9d
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	add	eax, 16
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -8[rbp], rax
	mov	eax, DWORD PTR -44[rbp]
	add	eax, eax
	cdqe
	mov	rdx, QWORD PTR -8[rbp]
	lea	rdi, 16[rdx]
	mov	rdx, QWORD PTR -32[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	rsi, rax
	call	fread@PLT
	cmp	DWORD PTR -48[rbp], 0
	jle	.L56
	mov	rax, QWORD PTR -8[rbp]
	mov	edx, 16
	mov	esi, 0
	mov	rdi, rax
	call	memset@PLT
	cmp	DWORD PTR -52[rbp], 65534
	jg	.L57
	mov	eax, DWORD PTR -48[rbp]
	cmp	eax, DWORD PTR -52[rbp]
	jle	.L57
	mov	eax, DWORD PTR -48[rbp]
	add	eax, eax
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	mov	edx, DWORD PTR -52[rbp]
	add	edx, edx
	movsx	rcx, edx
	mov	rdx, QWORD PTR -8[rbp]
	add	rcx, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
.L57:
	mov	eax, DWORD PTR -48[rbp]
	add	eax, eax
	lea	edx, 16[rax]
	mov	rax, QWORD PTR -8[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MISC_ProcessSound
	mov	eax, DWORD PTR -48[rbp]
	add	eax, eax
	lea	edx, 16[rax]
	mov	rcx, QWORD PTR -8[rbp]
	mov	rax, QWORD PTR -40[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	DATA_Append
	mov	DWORD PTR -12[rbp], eax
	mov	eax, DWORD PTR -12[rbp]
	add	eax, 16
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], edx
	jmp	.L58
.L56:
	mov	rax, QWORD PTR -24[rbp]
	mov	DWORD PTR [rax], 0
.L58:
	mov	eax, DWORD PTR -48[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	WORD PTR 6[rax], dx
	mov	rax, QWORD PTR -8[rbp]
	mov	rdi, rax
	call	free@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE17:
	.size	MOD_LoadSound, .-MOD_LoadSound
	.local	samps
	.comm	samps,95232,32
	.local	patts
	.comm	patts,1048576,32
	.local	mod_num_chans
	.comm	mod_num_chans,256,32
	.local	mod_song_restart_pos
	.comm	mod_song_restart_pos,256,32
	.local	max_song_length
	.comm	max_song_length,4,4
	.section	.rodata
.LC10:
	.string	"*0: Arpeggio"
.LC11:
	.string	"*1: Slide Up"
.LC12:
	.string	"*2: Slide Down"
.LC13:
	.string	"*3: Tone Portamento"
.LC14:
	.string	"*4: Vibrato"
	.align 8
.LC15:
	.string	"*5: Tone Portamento + Volume Slide"
.LC16:
	.string	"*6: Vibrato + Volume Slide"
.LC17:
	.string	"*7: Tremolo"
.LC18:
	.string	"8: Set Panning Position"
.LC19:
	.string	"*9: Set Sample Offset"
.LC20:
	.string	"*A: Volume Slide"
.LC21:
	.string	"*B: Position Jump"
.LC22:
	.string	"*C: Set Volume"
.LC23:
	.string	"*D: Pattern Break"
.LC24:
	.string	"*F: Set Speed (BPM)"
.LC25:
	.string	"*F: Set Speed (Ticks)"
.LC26:
	.string	"*E0: Set Filter"
.LC27:
	.string	"*E1: Fine Slide Up"
.LC28:
	.string	"*E2: Fine Slide Down"
.LC29:
	.string	"E3: Glissando Control"
.LC30:
	.string	"E4: Set Vibrato Waveform"
.LC31:
	.string	"E5: Set FineTune"
.LC32:
	.string	"*E6: Set/Jump to Loop"
.LC33:
	.string	"E7: Set Tremolo Waveform"
.LC34:
	.string	"E8: Illegal"
.LC35:
	.string	"*E9: Retrigger Note"
.LC36:
	.string	"*EA: Fine Volume Slide Up"
.LC37:
	.string	"*EB: Fine Volume Slide Down"
.LC38:
	.string	"*EC: Note Cut"
.LC39:
	.string	"*ED: Note Delay"
.LC40:
	.string	"*EE: Pattern Delay"
.LC41:
	.string	"EF: Invert Loop"
	.section	.data.rel.local,"aw"
	.align 32
	.type	effect_name, @object
	.size	effect_name, 256
effect_name:
	.quad	.LC10
	.quad	.LC11
	.quad	.LC12
	.quad	.LC13
	.quad	.LC14
	.quad	.LC15
	.quad	.LC16
	.quad	.LC17
	.quad	.LC18
	.quad	.LC19
	.quad	.LC20
	.quad	.LC21
	.quad	.LC22
	.quad	.LC23
	.quad	.LC24
	.quad	.LC25
	.quad	.LC26
	.quad	.LC27
	.quad	.LC28
	.quad	.LC29
	.quad	.LC30
	.quad	.LC31
	.quad	.LC32
	.quad	.LC33
	.quad	.LC34
	.quad	.LC35
	.quad	.LC36
	.quad	.LC37
	.quad	.LC38
	.quad	.LC39
	.quad	.LC40
	.quad	.LC41
	.section	.rodata
	.align 8
.LC42:
	.string	"Can't find note with period:%d...\n"
	.text
	.type	MOD_FindNote, @function
MOD_FindNote:
.LFB18:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 288
	mov	DWORD PTR -276[rbp], edi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -256[rbp], 0
	mov	DWORD PTR -252[rbp], 1712
	mov	DWORD PTR -248[rbp], 1616
	mov	DWORD PTR -244[rbp], 1524
	mov	DWORD PTR -240[rbp], 1440
	mov	DWORD PTR -236[rbp], 1356
	mov	DWORD PTR -232[rbp], 1280
	mov	DWORD PTR -228[rbp], 1208
	mov	DWORD PTR -224[rbp], 1140
	mov	DWORD PTR -220[rbp], 1076
	mov	DWORD PTR -216[rbp], 1016
	mov	DWORD PTR -212[rbp], 960
	mov	DWORD PTR -208[rbp], 906
	mov	DWORD PTR -204[rbp], 856
	mov	DWORD PTR -200[rbp], 808
	mov	DWORD PTR -196[rbp], 762
	mov	DWORD PTR -192[rbp], 720
	mov	DWORD PTR -188[rbp], 678
	mov	DWORD PTR -184[rbp], 640
	mov	DWORD PTR -180[rbp], 604
	mov	DWORD PTR -176[rbp], 570
	mov	DWORD PTR -172[rbp], 538
	mov	DWORD PTR -168[rbp], 508
	mov	DWORD PTR -164[rbp], 480
	mov	DWORD PTR -160[rbp], 453
	mov	DWORD PTR -156[rbp], 428
	mov	DWORD PTR -152[rbp], 404
	mov	DWORD PTR -148[rbp], 381
	mov	DWORD PTR -144[rbp], 360
	mov	DWORD PTR -140[rbp], 339
	mov	DWORD PTR -136[rbp], 320
	mov	DWORD PTR -132[rbp], 302
	mov	DWORD PTR -128[rbp], 285
	mov	DWORD PTR -124[rbp], 269
	mov	DWORD PTR -120[rbp], 254
	mov	DWORD PTR -116[rbp], 240
	mov	DWORD PTR -112[rbp], 226
	mov	DWORD PTR -108[rbp], 214
	mov	DWORD PTR -104[rbp], 202
	mov	DWORD PTR -100[rbp], 190
	mov	DWORD PTR -96[rbp], 180
	mov	DWORD PTR -92[rbp], 170
	mov	DWORD PTR -88[rbp], 160
	mov	DWORD PTR -84[rbp], 151
	mov	DWORD PTR -80[rbp], 143
	mov	DWORD PTR -76[rbp], 135
	mov	DWORD PTR -72[rbp], 127
	mov	DWORD PTR -68[rbp], 120
	mov	DWORD PTR -64[rbp], 113
	mov	DWORD PTR -60[rbp], 107
	mov	DWORD PTR -56[rbp], 101
	mov	DWORD PTR -52[rbp], 95
	mov	DWORD PTR -48[rbp], 90
	mov	DWORD PTR -44[rbp], 85
	mov	DWORD PTR -40[rbp], 80
	mov	DWORD PTR -36[rbp], 75
	mov	DWORD PTR -32[rbp], 71
	mov	DWORD PTR -28[rbp], 67
	mov	DWORD PTR -24[rbp], 63
	mov	DWORD PTR -20[rbp], 60
	mov	DWORD PTR -16[rbp], 56
	mov	DWORD PTR -264[rbp], 1000000000
	mov	DWORD PTR -268[rbp], -1
	mov	DWORD PTR -272[rbp], 0
	jmp	.L60
.L62:
	mov	eax, DWORD PTR -272[rbp]
	cdqe
	mov	eax, DWORD PTR -256[rbp+rax*4]
	sub	eax, DWORD PTR -276[rbp]
	cdq
	xor	eax, edx
	mov	DWORD PTR -260[rbp], eax
	sub	DWORD PTR -260[rbp], edx
	mov	eax, DWORD PTR -260[rbp]
	cmp	eax, DWORD PTR -264[rbp]
	jge	.L61
	mov	eax, DWORD PTR -272[rbp]
	mov	DWORD PTR -268[rbp], eax
	mov	eax, DWORD PTR -260[rbp]
	mov	DWORD PTR -264[rbp], eax
.L61:
	add	DWORD PTR -272[rbp], 1
.L60:
	cmp	DWORD PTR -272[rbp], 60
	jle	.L62
	cmp	DWORD PTR -268[rbp], -1
	jne	.L63
	mov	eax, DWORD PTR -276[rbp]
	mov	esi, eax
	lea	rdi, .LC42[rip]
	mov	eax, 0
	call	printf@PLT
.L63:
	mov	eax, DWORD PTR -268[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L65
	call	__stack_chk_fail@PLT
.L65:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE18:
	.size	MOD_FindNote, .-MOD_FindNote
	.type	MOD_GetNumChans, @function
MOD_GetNumChans:
.LFB19:
	.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 -4[rbp], edi
	cmp	DWORD PTR -4[rbp], 1313358649
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1313358642
	jnb	.L68
	cmp	DWORD PTR -4[rbp], 1212365109
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212365105
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212364853
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212364849
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212364597
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212364593
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212364341
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212364338
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212364337
	je	.L70
	cmp	DWORD PTR -4[rbp], 1212364337
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212364085
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212364082
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212364081
	je	.L71
	cmp	DWORD PTR -4[rbp], 1212364081
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363830
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363826
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212363825
	je	.L72
	cmp	DWORD PTR -4[rbp], 1212363825
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363574
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363570
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212363569
	je	.L73
	cmp	DWORD PTR -4[rbp], 1212363569
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363318
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363314
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212363313
	je	.L74
	cmp	DWORD PTR -4[rbp], 1212363313
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363062
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212363058
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212363057
	je	.L75
	cmp	DWORD PTR -4[rbp], 1212363057
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212362806
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1212362802
	jnb	.L69
	cmp	DWORD PTR -4[rbp], 1212362801
	je	.L76
	cmp	DWORD PTR -4[rbp], 1212362801
	ja	.L67
	cmp	DWORD PTR -4[rbp], 1096041295
	je	.L77
	cmp	DWORD PTR -4[rbp], 1096041295
	ja	.L67
	cmp	DWORD PTR -4[rbp], 945048646
	je	.L78
	cmp	DWORD PTR -4[rbp], 945048646
	ja	.L67
	cmp	DWORD PTR -4[rbp], 877939782
	je	.L79
	cmp	DWORD PTR -4[rbp], 877939782
	ja	.L67
	cmp	DWORD PTR -4[rbp], 861553748
	je	.L80
	cmp	DWORD PTR -4[rbp], 861553748
	ja	.L67
	cmp	DWORD PTR -4[rbp], 844776532
	je	.L81
	cmp	DWORD PTR -4[rbp], 844776532
	ja	.L67
	cmp	DWORD PTR -4[rbp], 827999316
	je	.L82
	cmp	DWORD PTR -4[rbp], 827999316
	ja	.L67
	cmp	DWORD PTR -4[rbp], 825771075
	je	.L77
	cmp	DWORD PTR -4[rbp], 825771075
	ja	.L67
	cmp	DWORD PTR -4[rbp], 558571853
	je	.L79
	cmp	DWORD PTR -4[rbp], 776678989
	je	.L79
	jmp	.L67
.L68:
	mov	eax, DWORD PTR -4[rbp]
	sub	eax, 1313358642
	cmp	eax, 7
	ja	.L67
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L84[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L84[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L84:
	.long	.L81-.L84
	.long	.L67-.L84
	.long	.L67-.L84
	.long	.L87-.L84
	.long	.L86-.L84
	.long	.L85-.L84
	.long	.L77-.L84
	.long	.L83-.L84
	.text
.L82:
	mov	eax, 1
	jmp	.L88
.L81:
	mov	eax, 2
	jmp	.L88
.L80:
	mov	eax, 3
	jmp	.L88
.L79:
	mov	eax, 4
	jmp	.L88
.L87:
	mov	eax, 5
	jmp	.L88
.L86:
	mov	eax, 6
	jmp	.L88
.L85:
	mov	eax, 7
	jmp	.L88
.L77:
	mov	eax, 8
	jmp	.L88
.L78:
	mov	eax, -2
	jmp	.L88
.L83:
	mov	eax, 9
	jmp	.L88
.L76:
	mov	eax, 10
	jmp	.L88
.L75:
	mov	eax, 11
	jmp	.L88
.L74:
	mov	eax, 12
	jmp	.L88
.L73:
	mov	eax, 13
	jmp	.L88
.L72:
	mov	eax, 14
	jmp	.L88
.L71:
	mov	eax, 15
	jmp	.L88
.L70:
	mov	eax, 16
	jmp	.L88
.L69:
	mov	eax, -3
	jmp	.L88
.L67:
	mov	eax, -1
.L88:
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE19:
	.size	MOD_GetNumChans, .-MOD_GetNumChans
	.section	.rodata
.LC43:
	.string	"rb"
	.align 8
.LC44:
	.string	"MOD_ConvMod( %s ): Error: finetune > 15...\n"
	.align 8
.LC45:
	.string	"Failed! Reason: Sample vol > 64\n"
	.align 8
.LC46:
	.string	"MOD_ConvMod( %s ): song_length:%d\n"
	.align 8
.LC47:
	.string	"MOD_ConvMod( %s ): last_pattern:%d\n"
	.align 8
.LC48:
	.string	"Failed! Reason: Unsupported MOD type (%p)\n"
	.align 8
.LC49:
	.string	"Failed! Reason: Too many channels"
	.align 8
.LC50:
	.string	"Failed! Reason: Unrecognised MOD type (%p)\n"
.LC51:
	.string	"%d channel..."
.LC52:
	.string	"%d channels..."
.LC53:
	.string	"Unsupported effects:"
.LC54:
	.string	"%s (%d)\n"
	.align 8
.LC55:
	.string	"song_length:%d last_pattern:%d\n\n"
	.align 8
.LC56:
	.string	"MOD_ConvMod( %s ): Unable to open file for reading...\n"
	.text
	.type	MOD_ConvMod, @function
MOD_ConvMod:
.LFB20:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	push	rbx
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 4096
	or	QWORD PTR [rsp], 0
	sub	rsp, 680
	.cfi_offset 3, -24
	mov	QWORD PTR -8840[rbp], rdi
	mov	QWORD PTR -8848[rbp], rsi
	mov	QWORD PTR -8856[rbp], rdx
	mov	QWORD PTR -8864[rbp], rcx
	mov	DWORD PTR -8868[rbp], r8d
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -24[rbp], rax
	xor	eax, eax
	mov	eax, DWORD PTR -8868[rbp]
	cdqe
	lea	rdx, mod_num_chans[rip]
	mov	BYTE PTR [rax+rdx], 0
	mov	rax, QWORD PTR -8864[rbp]
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -8776[rbp], rax
	cmp	QWORD PTR -8776[rbp], 0
	je	.L90
	lea	rdx, -8768[rbp]
	mov	eax, 0
	mov	ecx, 16
	mov	rdi, rdx
	rep stosq
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -192[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 20
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -8808[rbp], 1
	jmp	.L91
.L97:
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -192[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 22
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8814[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -8814[rbp]
	movzx	eax, ax
	mov	edi, eax
	call	SwapUWORD
	mov	edx, DWORD PTR -8808[rbp]
	movsx	rdx, edx
	mov	WORD PTR -8638[rbp+rdx*8], ax
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8822[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	movzx	edx, BYTE PTR -8822[rbp]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	BYTE PTR -8633[rbp+rax*8], dl
	movzx	eax, BYTE PTR -8822[rbp]
	cmp	al, 15
	jbe	.L92
	movzx	eax, BYTE PTR -8822[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -8864[rbp]
	mov	rsi, rax
	lea	rdi, .LC44[rip]
	mov	eax, 0
	call	printf@PLT
.L92:
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8822[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	movzx	edx, BYTE PTR -8822[rbp]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	BYTE PTR -8634[rbp+rax*8], dl
	movzx	eax, BYTE PTR -8822[rbp]
	cmp	al, 64
	jbe	.L93
	movzx	eax, BYTE PTR -8822[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -8864[rbp]
	mov	rsi, rax
	lea	rdi, .LC45[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L89
.L93:
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8814[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -8814[rbp]
	movzx	eax, ax
	mov	edi, eax
	call	SwapUWORD
	mov	edx, DWORD PTR -8808[rbp]
	movsx	rdx, edx
	mov	WORD PTR -8640[rbp+rdx*8], ax
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8814[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -8814[rbp]
	movzx	eax, ax
	mov	edi, eax
	call	SwapUWORD
	movzx	eax, ax
	mov	DWORD PTR -8780[rbp], eax
	cmp	DWORD PTR -8780[rbp], 1
	jg	.L95
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	WORD PTR -8640[rbp+rax*8], -1
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	edx, WORD PTR -8638[rbp+rax*8]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	WORD PTR -8636[rbp+rax*8], dx
	jmp	.L96
.L95:
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	eax, WORD PTR -8638[rbp+rax*8]
	movzx	eax, ax
	mov	edx, DWORD PTR -8808[rbp]
	movsx	rdx, edx
	movzx	edx, WORD PTR -8640[rbp+rdx*8]
	movzx	ecx, dx
	mov	edx, DWORD PTR -8780[rbp]
	add	edx, ecx
	mov	esi, eax
	mov	edi, edx
	call	Min
	mov	edx, eax
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	WORD PTR -8636[rbp+rax*8], dx
.L96:
	add	DWORD PTR -8808[rbp], 1
.L91:
	cmp	DWORD PTR -8808[rbp], 31
	jle	.L97
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8823[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8821[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, BYTE PTR -8823[rbp]
	test	al, al
	je	.L98
	movzx	eax, BYTE PTR -8823[rbp]
	cmp	al, -128
	jbe	.L99
.L98:
	movzx	eax, BYTE PTR -8823[rbp]
	movzx	edx, al
	mov	rax, QWORD PTR -8864[rbp]
	mov	rsi, rax
	lea	rdi, .LC46[rip]
	mov	eax, 0
	call	printf@PLT
.L99:
	mov	BYTE PTR -8816[rbp], 0
	mov	DWORD PTR -8808[rbp], 0
	jmp	.L100
.L102:
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8822[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	movzx	edx, BYTE PTR -8822[rbp]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	BYTE PTR -160[rbp+rax], dl
	movzx	eax, BYTE PTR -8822[rbp]
	cmp	BYTE PTR -8816[rbp], al
	jnb	.L101
	movzx	eax, BYTE PTR -8822[rbp]
	mov	BYTE PTR -8816[rbp], al
.L101:
	add	DWORD PTR -8808[rbp], 1
.L100:
	cmp	DWORD PTR -8808[rbp], 127
	jle	.L102
	cmp	BYTE PTR -8816[rbp], 63
	jbe	.L103
	movzx	edx, BYTE PTR -8816[rbp]
	mov	rax, QWORD PTR -8864[rbp]
	mov	rsi, rax
	lea	rdi, .LC47[rip]
	mov	eax, 0
	call	printf@PLT
.L103:
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8812[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -8812[rbp]
	mov	edi, eax
	call	MOD_GetNumChans
	mov	DWORD PTR -8792[rbp], eax
	cmp	DWORD PTR -8792[rbp], 0
	jg	.L104
	cmp	DWORD PTR -8792[rbp], -3
	je	.L105
	cmp	DWORD PTR -8792[rbp], -2
	jne	.L106
	mov	eax, DWORD PTR -8812[rbp]
	mov	esi, eax
	lea	rdi, .LC48[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L107
.L105:
	lea	rdi, .LC49[rip]
	call	puts@PLT
	jmp	.L107
.L106:
	mov	eax, DWORD PTR -8812[rbp]
	mov	esi, eax
	lea	rdi, .LC50[rip]
	mov	eax, 0
	call	printf@PLT
	nop
.L107:
	jmp	.L89
.L104:
	cmp	DWORD PTR -8792[rbp], 1
	jne	.L108
	mov	eax, DWORD PTR -8792[rbp]
	mov	esi, eax
	lea	rdi, .LC51[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L109
.L108:
	mov	eax, DWORD PTR -8792[rbp]
	mov	esi, eax
	lea	rdi, .LC52[rip]
	mov	eax, 0
	call	printf@PLT
.L109:
	mov	eax, DWORD PTR -8792[rbp]
	mov	ecx, eax
	mov	eax, DWORD PTR -8868[rbp]
	cdqe
	lea	rdx, mod_num_chans[rip]
	mov	BYTE PTR [rax+rdx], cl
	mov	DWORD PTR -8808[rbp], 0
	jmp	.L110
.L123:
	mov	DWORD PTR -8804[rbp], 0
	jmp	.L111
.L120:
	mov	DWORD PTR -8800[rbp], 0
	jmp	.L112
.L119:
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8820[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8819[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8818[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -8776[rbp]
	lea	rax, -8817[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 1
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, BYTE PTR -8820[rbp]
	movzx	eax, al
	and	eax, 240
	mov	edx, eax
	movzx	eax, BYTE PTR -8818[rbp]
	shr	al, 4
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -8788[rbp], eax
	movzx	eax, BYTE PTR -8820[rbp]
	movzx	eax, al
	sal	eax, 8
	and	eax, 3840
	mov	edx, eax
	movzx	eax, BYTE PTR -8819[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -8784[rbp], eax
	movzx	eax, BYTE PTR -8818[rbp]
	movzx	eax, al
	sal	eax, 8
	and	eax, 3840
	mov	edx, eax
	movzx	eax, BYTE PTR -8817[rbp]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -8796[rbp], eax
	cmp	DWORD PTR -8796[rbp], 0
	je	.L113
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 8
	cmp	eax, 14
	jne	.L114
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 4
	and	eax, 15
	add	eax, 16
	movsx	rdx, eax
	mov	edx, DWORD PTR -8768[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -8768[rbp+rax*4], edx
	jmp	.L113
.L114:
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 8
	cmp	eax, 15
	jne	.L115
	mov	eax, DWORD PTR -8796[rbp]
	and	eax, 224
	test	eax, eax
	je	.L116
	mov	eax, DWORD PTR -8712[rbp]
	add	eax, 1
	mov	DWORD PTR -8712[rbp], eax
	jmp	.L113
.L116:
	mov	eax, DWORD PTR -8708[rbp]
	add	eax, 1
	mov	DWORD PTR -8708[rbp], eax
	jmp	.L113
.L115:
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 8
	cmp	eax, 12
	jne	.L117
	mov	eax, DWORD PTR -8796[rbp]
	movzx	eax, al
	cmp	eax, 64
	jle	.L117
	mov	DWORD PTR -8796[rbp], 3136
.L117:
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 8
	cmp	eax, 13
	jne	.L118
	mov	eax, DWORD PTR -8796[rbp]
	and	eax, 3840
	mov	ecx, eax
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 4
	and	eax, 15
	mov	edx, eax
	mov	eax, edx
	sal	eax, 2
	add	eax, edx
	add	eax, eax
	lea	edx, [rcx+rax]
	mov	eax, DWORD PTR -8796[rbp]
	and	eax, 15
	add	eax, edx
	mov	DWORD PTR -8796[rbp], eax
.L118:
	mov	eax, DWORD PTR -8796[rbp]
	sar	eax, 8
	movsx	rdx, eax
	mov	edx, DWORD PTR -8768[rbp+rdx*4]
	add	edx, 1
	cdqe
	mov	DWORD PTR -8768[rbp+rax*4], edx
.L113:
	mov	eax, DWORD PTR -8788[rbp]
	sal	eax, 24
	mov	ebx, eax
	mov	eax, DWORD PTR -8784[rbp]
	mov	edi, eax
	call	MOD_FindNote
	sal	eax, 12
	lea	edx, [rbx+rax]
	mov	eax, DWORD PTR -8796[rbp]
	add	eax, edx
	mov	edx, eax
	mov	eax, DWORD PTR -8804[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -8800[rbp]
	cdqe
	sal	rax, 6
	add	rax, rcx
	mov	DWORD PTR -4288[rbp+rax*4], edx
	add	DWORD PTR -8800[rbp], 1
.L112:
	mov	eax, DWORD PTR -8800[rbp]
	cmp	eax, DWORD PTR -8792[rbp]
	jl	.L119
	add	DWORD PTR -8804[rbp], 1
.L111:
	cmp	DWORD PTR -8804[rbp], 63
	jle	.L120
	mov	DWORD PTR -8800[rbp], 0
	jmp	.L121
.L122:
	lea	rdx, -4288[rbp]
	mov	eax, DWORD PTR -8800[rbp]
	cdqe
	sal	rax, 8
	lea	rsi, [rdx+rax]
	mov	rax, QWORD PTR -8856[rbp]
	mov	ecx, 256
	mov	edx, 256
	mov	rdi, rax
	call	DATA_AppendAligned
	mov	edx, DWORD PTR -8800[rbp]
	movsx	rcx, edx
	mov	edx, DWORD PTR -8808[rbp]
	movsx	rdx, edx
	sal	rdx, 4
	add	rdx, rcx
	mov	DWORD PTR -8384[rbp+rdx*4], eax
	add	DWORD PTR -8800[rbp], 1
.L121:
	mov	eax, DWORD PTR -8800[rbp]
	cmp	eax, DWORD PTR -8792[rbp]
	jl	.L122
	add	DWORD PTR -8808[rbp], 1
.L110:
	movzx	eax, BYTE PTR -8816[rbp]
	cmp	DWORD PTR -8808[rbp], eax
	jle	.L123
	mov	DWORD PTR -8808[rbp], 0
	jmp	.L124
.L131:
	movzx	eax, BYTE PTR -8823[rbp]
	movzx	eax, al
	cmp	DWORD PTR -8808[rbp], eax
	jl	.L125
	mov	DWORD PTR -8800[rbp], 0
	jmp	.L126
.L127:
	mov	eax, DWORD PTR -8800[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -8868[rbp]
	cdqe
	mov	edx, DWORD PTR -8808[rbp]
	movsx	rdx, edx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 4
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, patts[rip]
	mov	WORD PTR [rdx+rax], -1
	add	DWORD PTR -8800[rbp], 1
.L126:
	mov	eax, DWORD PTR -8800[rbp]
	cmp	eax, DWORD PTR -8792[rbp]
	jl	.L127
	jmp	.L128
.L125:
	mov	DWORD PTR -8800[rbp], 0
	jmp	.L129
.L130:
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	eax, BYTE PTR -160[rbp+rax]
	movzx	eax, al
	mov	edx, DWORD PTR -8800[rbp]
	movsx	rdx, edx
	cdqe
	sal	rax, 4
	add	rax, rdx
	mov	eax, DWORD PTR -8384[rbp+rax*4]
	mov	ecx, eax
	mov	eax, DWORD PTR -8800[rbp]
	movsx	rsi, eax
	mov	eax, DWORD PTR -8868[rbp]
	cdqe
	mov	edx, DWORD PTR -8808[rbp]
	movsx	rdx, edx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 4
	add	rax, rsi
	lea	rdx, [rax+rax]
	lea	rax, patts[rip]
	mov	WORD PTR [rdx+rax], cx
	add	DWORD PTR -8800[rbp], 1
.L129:
	mov	eax, DWORD PTR -8800[rbp]
	cmp	eax, DWORD PTR -8792[rbp]
	jl	.L130
.L128:
	add	DWORD PTR -8808[rbp], 1
.L124:
	cmp	DWORD PTR -8808[rbp], 127
	jle	.L131
	movzx	eax, BYTE PTR -8823[rbp]
	movzx	edx, al
	mov	eax, DWORD PTR max_song_length[rip]
	cmp	edx, eax
	jle	.L132
	movzx	eax, BYTE PTR -8823[rbp]
	movzx	eax, al
	mov	DWORD PTR max_song_length[rip], eax
.L132:
	movzx	eax, BYTE PTR -8821[rbp]
	cmp	al, 126
	ja	.L133
	movzx	eax, BYTE PTR -8821[rbp]
	movzx	eax, al
	movsx	rdx, eax
	mov	eax, DWORD PTR -8868[rbp]
	cdqe
	sal	rax, 7
	add	rax, rdx
	sal	rax, 5
	mov	rdx, rax
	lea	rax, patts[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cmp	ax, -1
	jne	.L134
	mov	BYTE PTR -8821[rbp], 0
	jmp	.L134
.L133:
	mov	BYTE PTR -8821[rbp], 0
.L134:
	movzx	edx, BYTE PTR -8821[rbp]
	mov	eax, DWORD PTR -8868[rbp]
	cdqe
	lea	rcx, mod_song_restart_pos[rip]
	mov	BYTE PTR [rax+rcx], dl
	mov	DWORD PTR -8808[rbp], 1
	jmp	.L135
.L137:
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	eax, WORD PTR -8638[rbp+rax*8]
	test	ax, ax
	je	.L136
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	eax, WORD PTR -8640[rbp+rax*8]
	movzx	r8d, ax
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	eax, WORD PTR -8636[rbp+rax*8]
	movzx	esi, ax
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	eax, WORD PTR -8638[rbp+rax*8]
	movzx	ecx, ax
	mov	eax, DWORD PTR -8808[rbp]
	sub	eax, 1
	movsx	rdx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	mov	edx, DWORD PTR -8868[rbp]
	movsx	rdx, edx
	imul	rdx, rdx, 372
	add	rdx, rax
	lea	rax, samps[rip]
	lea	rdi, [rdx+rax]
	mov	rdx, QWORD PTR -8848[rbp]
	mov	rax, QWORD PTR -8776[rbp]
	mov	r9d, r8d
	mov	r8d, esi
	mov	rsi, rax
	call	MOD_LoadSound
	mov	eax, DWORD PTR -8808[rbp]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	edx, BYTE PTR -8634[rbp+rax*8]
	movsx	rcx, ecx
	mov	eax, DWORD PTR -8868[rbp]
	movsx	rsi, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	imul	rcx, rsi, 372
	add	rcx, rax
	lea	rax, samps[rip+9]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -8808[rbp]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	edx, BYTE PTR -8633[rbp+rax*8]
	movsx	rcx, ecx
	mov	eax, DWORD PTR -8868[rbp]
	movsx	rsi, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	imul	rcx, rsi, 372
	add	rcx, rax
	lea	rax, samps[rip+8]
	add	rax, rcx
	mov	BYTE PTR [rax], dl
	mov	eax, DWORD PTR -8808[rbp]
	lea	ecx, -1[rax]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	movzx	edx, WORD PTR -8640[rbp+rax*8]
	movsx	rcx, ecx
	mov	eax, DWORD PTR -8868[rbp]
	movsx	rsi, eax
	mov	rax, rcx
	add	rax, rax
	add	rax, rcx
	sal	rax, 2
	imul	rcx, rsi, 372
	add	rcx, rax
	lea	rax, samps[rip+4]
	add	rax, rcx
	mov	WORD PTR [rax], dx
.L136:
	add	DWORD PTR -8808[rbp], 1
.L135:
	cmp	DWORD PTR -8808[rbp], 31
	jle	.L137
	lea	rdi, .LC9[rip]
	call	puts@PLT
	mov	BYTE PTR -8815[rbp], 1
	mov	DWORD PTR -8808[rbp], 0
	jmp	.L138
.L141:
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	eax, DWORD PTR -8768[rbp+rax*4]
	test	eax, eax
	jle	.L139
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	lea	rdx, 0[0+rax*8]
	lea	rax, effect_name[rip]
	mov	rax, QWORD PTR [rdx+rax]
	movzx	eax, BYTE PTR [rax]
	cmp	al, 42
	je	.L139
	cmp	BYTE PTR -8815[rbp], 0
	je	.L140
	lea	rdi, .LC53[rip]
	call	puts@PLT
	mov	BYTE PTR -8815[rbp], 0
.L140:
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	mov	edx, DWORD PTR -8768[rbp+rax*4]
	mov	eax, DWORD PTR -8808[rbp]
	cdqe
	lea	rcx, 0[0+rax*8]
	lea	rax, effect_name[rip]
	mov	rax, QWORD PTR [rcx+rax]
	mov	rsi, rax
	lea	rdi, .LC54[rip]
	mov	eax, 0
	call	printf@PLT
.L139:
	add	DWORD PTR -8808[rbp], 1
.L138:
	cmp	DWORD PTR -8808[rbp], 31
	jle	.L141
	movzx	edx, BYTE PTR -8816[rbp]
	movzx	eax, BYTE PTR -8823[rbp]
	movzx	eax, al
	mov	esi, eax
	lea	rdi, .LC55[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rax, QWORD PTR -8776[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L89
.L90:
	mov	rax, QWORD PTR -8864[rbp]
	mov	rsi, rax
	lea	rdi, .LC56[rip]
	mov	eax, 0
	call	printf@PLT
.L89:
	mov	rax, QWORD PTR -24[rbp]
	sub	rax, QWORD PTR fs:40
	je	.L143
	call	__stack_chk_fail@PLT
.L143:
	mov	rbx, QWORD PTR -8[rbp]
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE20:
	.size	MOD_ConvMod, .-MOD_ConvMod
	.section	.rodata
	.align 8
.LC57:
	.string	"\n.ALIGN\n.GLOBAL AAS_ModSamples\nAAS_ModSamples:"
.LC58:
	.string	"\n.word"
.LC59:
	.string	" %u, %u, %u"
.LC60:
	.string	", %u, %u, %u"
	.text
	.type	MOD_WriteSamples, @function
MOD_WriteSamples:
.LFB21:
	.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	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 46
	mov	esi, 1
	lea	rdi, .LC57[rip]
	call	fwrite@PLT
	mov	DWORD PTR -8[rbp], 0
	jmp	.L145
.L150:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 6
	mov	esi, 1
	lea	rdi, .LC58[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L146
.L149:
	cmp	DWORD PTR -4[rbp], 0
	jne	.L147
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+9]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	esi, eax
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+8]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edi, [rsi+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+6]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	sal	eax, 16
	mov	esi, eax
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+4]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	lea	ecx, [rsi+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rsi, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rsi, 372
	add	rdx, rax
	lea	rax, samps[rip]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, edi
	lea	rsi, .LC59[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L148
.L147:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+9]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	sal	eax, 8
	mov	esi, eax
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+8]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	lea	edi, [rsi+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+6]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	sal	eax, 16
	mov	esi, eax
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rcx, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rcx, 372
	add	rdx, rax
	lea	rax, samps[rip+4]
	add	rax, rdx
	movzx	eax, WORD PTR [rax]
	movzx	eax, ax
	lea	ecx, [rsi+rax]
	mov	eax, DWORD PTR -4[rbp]
	movsx	rdx, eax
	mov	eax, DWORD PTR -8[rbp]
	movsx	rsi, eax
	mov	rax, rdx
	add	rax, rax
	add	rax, rdx
	sal	rax, 2
	imul	rdx, rsi, 372
	add	rdx, rax
	lea	rax, samps[rip]
	add	rax, rdx
	mov	edx, DWORD PTR [rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	r8d, edi
	lea	rsi, .LC60[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L148:
	add	DWORD PTR -4[rbp], 1
.L146:
	cmp	DWORD PTR -4[rbp], 30
	jle	.L149
	add	DWORD PTR -8[rbp], 1
.L145:
	mov	eax, DWORD PTR -8[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L150
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE21:
	.size	MOD_WriteSamples, .-MOD_WriteSamples
	.section	.rodata
	.align 8
.LC61:
	.string	"\n.ALIGN\n.GLOBAL AAS_Sequence\nAAS_Sequence:"
.LC62:
	.string	"\n.short"
	.text
	.type	MOD_WritePatterns, @function
MOD_WritePatterns:
.LFB22:
	.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	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 42
	mov	esi, 1
	lea	rdi, .LC61[rip]
	call	fwrite@PLT
	mov	DWORD PTR -12[rbp], 0
	jmp	.L152
.L159:
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 7
	mov	esi, 1
	lea	rdi, .LC62[rip]
	call	fwrite@PLT
	mov	BYTE PTR -13[rbp], 1
	mov	DWORD PTR -8[rbp], 0
	jmp	.L153
.L158:
	mov	DWORD PTR -4[rbp], 0
	jmp	.L154
.L157:
	cmp	BYTE PTR -13[rbp], 0
	je	.L155
	mov	BYTE PTR -13[rbp], 0
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 4
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, patts[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L156
.L155:
	mov	eax, DWORD PTR -4[rbp]
	movsx	rcx, eax
	mov	eax, DWORD PTR -12[rbp]
	cdqe
	mov	edx, DWORD PTR -8[rbp]
	movsx	rdx, edx
	sal	rax, 7
	add	rax, rdx
	sal	rax, 4
	add	rax, rcx
	lea	rdx, [rax+rax]
	lea	rax, patts[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L156:
	add	DWORD PTR -4[rbp], 1
.L154:
	cmp	DWORD PTR -4[rbp], 15
	jle	.L157
	add	DWORD PTR -8[rbp], 1
.L153:
	cmp	DWORD PTR -8[rbp], 127
	jle	.L158
	add	DWORD PTR -12[rbp], 1
.L152:
	mov	eax, DWORD PTR -12[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L159
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE22:
	.size	MOD_WritePatterns, .-MOD_WritePatterns
	.section	.rodata
	.align 8
.LC63:
	.string	"\n.ALIGN\n.GLOBAL AAS_NumChans\nAAS_NumChans:\n.byte"
	.text
	.type	MOD_WriteNumChans, @function
MOD_WriteNumChans:
.LFB23:
	.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	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 48
	mov	esi, 1
	lea	rdi, .LC63[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L161
.L164:
	cmp	DWORD PTR -4[rbp], 0
	je	.L162
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, mod_num_chans[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L163
.L162:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, mod_num_chans[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L163:
	add	DWORD PTR -4[rbp], 1
.L161:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L164
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE23:
	.size	MOD_WriteNumChans, .-MOD_WriteNumChans
	.section	.rodata
	.align 8
.LC64:
	.string	"\n.ALIGN\n.GLOBAL AAS_RestartPos\nAAS_RestartPos:\n.byte"
	.text
	.type	MOD_WriteSongRestartPos, @function
MOD_WriteSongRestartPos:
.LFB24:
	.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	DWORD PTR -28[rbp], esi
	mov	rax, QWORD PTR -24[rbp]
	mov	rcx, rax
	mov	edx, 52
	mov	esi, 1
	lea	rdi, .LC64[rip]
	call	fwrite@PLT
	mov	DWORD PTR -4[rbp], 0
	jmp	.L166
.L169:
	cmp	DWORD PTR -4[rbp], 0
	je	.L167
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, mod_song_restart_pos[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC7[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L168
.L167:
	mov	eax, DWORD PTR -4[rbp]
	cdqe
	lea	rdx, mod_song_restart_pos[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	edx, al
	mov	rax, QWORD PTR -24[rbp]
	lea	rsi, .LC6[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L168:
	add	DWORD PTR -4[rbp], 1
.L166:
	mov	eax, DWORD PTR -4[rbp]
	cmp	eax, DWORD PTR -28[rbp]
	jl	.L169
	mov	rax, QWORD PTR -24[rbp]
	mov	rsi, rax
	mov	edi, 10
	call	fputc@PLT
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE24:
	.size	MOD_WriteSongRestartPos, .-MOD_WriteSongRestartPos
	.local	last_samp_length
	.comm	last_samp_length,4,4
	.section	.rodata
.LC65:
	.string	"Done!\n"
	.align 8
.LC66:
	.string	"\nRAW_LoadSound( %s ): Unable to open...\n"
	.text
	.type	RAW_LoadSound, @function
RAW_LoadSound:
.LFB25:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 208
	mov	QWORD PTR -200[rbp], rdi
	mov	QWORD PTR -208[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -184[rbp], -1
	lea	rdx, -160[rbp]
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	stat@PLT
	test	eax, eax
	jne	.L171
	mov	rax, QWORD PTR -112[rbp]
	mov	DWORD PTR -180[rbp], eax
	mov	rax, QWORD PTR -200[rbp]
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -176[rbp], rax
	cmp	QWORD PTR -176[rbp], 0
	je	.L172
	mov	eax, DWORD PTR -180[rbp]
	add	eax, 16
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -168[rbp], rax
	mov	eax, DWORD PTR -180[rbp]
	mov	DWORD PTR last_samp_length[rip], eax
	mov	eax, DWORD PTR -180[rbp]
	cdqe
	mov	rdx, QWORD PTR -168[rbp]
	lea	rdi, 16[rdx]
	mov	rdx, QWORD PTR -176[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 1
	call	fread@PLT
	mov	rax, QWORD PTR -176[rbp]
	mov	rdi, rax
	call	fclose@PLT
	mov	eax, DWORD PTR -180[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -168[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -168[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	eax, DWORD PTR -180[rbp]
	lea	edx, 16[rax]
	mov	rax, QWORD PTR -168[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MISC_ProcessSound
	mov	eax, DWORD PTR -180[rbp]
	lea	edx, 16[rax]
	mov	rcx, QWORD PTR -168[rbp]
	mov	rax, QWORD PTR -208[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	DATA_Append
	add	eax, 16
	mov	DWORD PTR -184[rbp], eax
	mov	rax, QWORD PTR -168[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC65[rip]
	call	puts@PLT
	jmp	.L173
.L172:
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rax
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L173
.L171:
	mov	rax, QWORD PTR -200[rbp]
	mov	rsi, rax
	lea	rdi, .LC66[rip]
	mov	eax, 0
	call	printf@PLT
.L173:
	mov	eax, DWORD PTR -184[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L175
	call	__stack_chk_fail@PLT
.L175:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE25:
	.size	RAW_LoadSound, .-RAW_LoadSound
	.section	.rodata
	.align 8
.LC67:
	.string	"Failed: Unable to find valid data subchunk...\n"
	.align 8
.LC68:
	.string	"\nWAV_LoadSound( %s ): Failed: Not 8 bit...\n"
	.align 8
.LC69:
	.string	"\nWAV_LoadSound( %s ): Failed: Not mono...\n"
	.align 8
.LC70:
	.string	"\nWAV_LoadSound( %s ): Failed: Not in PCM format...\n"
	.align 8
.LC71:
	.string	"\nWAV_LoadSound( %s ): Failed: Missing fmt subchunk...\n"
	.align 8
.LC72:
	.string	"\nWAV_LoadSound( %s ): Failed: Not a WAVE file...\n"
	.align 8
.LC73:
	.string	"\nWAV_LoadSound( %s ): Failed: RIFF header missing...\n"
	.align 8
.LC74:
	.string	"\nWAV_LoadSound( %s ): Failed: Unable to open...\n"
	.text
	.type	WAV_LoadSound, @function
WAV_LoadSound:
.LFB26:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 80
	mov	QWORD PTR -72[rbp], rdi
	mov	QWORD PTR -80[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -32[rbp], -1
	mov	DWORD PTR last_samp_length[rip], 0
	mov	rax, QWORD PTR -72[rbp]
	lea	rsi, .LC43[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR -24[rbp], rax
	cmp	QWORD PTR -24[rbp], 0
	je	.L177
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 1179011410
	jne	.L178
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 1163280727
	jne	.L179
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 544501094
	jne	.L180
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -50[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -50[rbp]
	cmp	ax, 1
	jne	.L181
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -48[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -48[rbp]
	cmp	ax, 1
	jne	.L182
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -46[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 2
	mov	rdi, rax
	call	fread@PLT
	movzx	eax, WORD PTR -46[rbp]
	cmp	ax, 8
	jne	.L183
	mov	BYTE PTR -51[rbp], 0
	mov	DWORD PTR -40[rbp], 0
.L190:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -44[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 1
	jne	.L184
	mov	eax, DWORD PTR -44[rbp]
	cmp	eax, 1635017060
	jne	.L185
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -40[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 1
	jne	.L186
	mov	eax, DWORD PTR -40[rbp]
	test	eax, eax
	jle	.L187
	mov	BYTE PTR -51[rbp], 1
	jmp	.L187
.L186:
	mov	BYTE PTR -51[rbp], 1
	jmp	.L187
.L185:
	mov	rdx, QWORD PTR -24[rbp]
	lea	rax, -36[rbp]
	mov	rcx, rdx
	mov	edx, 1
	mov	esi, 4
	mov	rdi, rax
	call	fread@PLT
	mov	DWORD PTR -28[rbp], eax
	cmp	DWORD PTR -28[rbp], 1
	jne	.L188
	mov	eax, DWORD PTR -36[rbp]
	movsx	rcx, eax
	mov	rax, QWORD PTR -24[rbp]
	mov	edx, 1
	mov	rsi, rcx
	mov	rdi, rax
	call	fseek@PLT
	jmp	.L187
.L188:
	mov	BYTE PTR -51[rbp], 1
	jmp	.L187
.L184:
	mov	BYTE PTR -51[rbp], 1
.L187:
	cmp	BYTE PTR -51[rbp], 0
	je	.L190
	mov	eax, DWORD PTR -40[rbp]
	test	eax, eax
	jle	.L191
	mov	eax, DWORD PTR -40[rbp]
	add	eax, 16
	cdqe
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -16[rbp], rax
	mov	eax, DWORD PTR -40[rbp]
	mov	DWORD PTR last_samp_length[rip], eax
	mov	eax, DWORD PTR -40[rbp]
	cdqe
	mov	rdx, QWORD PTR -16[rbp]
	lea	rdi, 16[rdx]
	mov	rdx, QWORD PTR -24[rbp]
	mov	rcx, rdx
	mov	rdx, rax
	mov	esi, 1
	call	fread@PLT
	mov	eax, DWORD PTR -40[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -16[rbp]
	add	rax, rdx
	mov	rdx, QWORD PTR 8[rax]
	mov	rax, QWORD PTR [rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	QWORD PTR [rcx], rax
	mov	QWORD PTR 8[rcx], rdx
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MISC_ConvSoundToSigned
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, 16[rax]
	mov	rax, QWORD PTR -16[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MISC_ProcessSound
	mov	eax, DWORD PTR -40[rbp]
	lea	edx, 16[rax]
	mov	rcx, QWORD PTR -16[rbp]
	mov	rax, QWORD PTR -80[rbp]
	mov	rsi, rcx
	mov	rdi, rax
	call	DATA_Append
	add	eax, 16
	mov	DWORD PTR -32[rbp], eax
	mov	rax, QWORD PTR -16[rbp]
	mov	rdi, rax
	call	free@PLT
	lea	rdi, .LC65[rip]
	call	puts@PLT
	jmp	.L196
.L191:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC67[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L196
.L183:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC68[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L196
.L182:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC69[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L196
.L181:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC70[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L196
.L180:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC71[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L196
.L179:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC72[rip]
	mov	eax, 0
	call	printf@PLT
	jmp	.L196
.L178:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC73[rip]
	mov	eax, 0
	call	printf@PLT
.L196:
	mov	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L197
.L177:
	mov	rax, QWORD PTR -72[rbp]
	mov	rsi, rax
	lea	rdi, .LC74[rip]
	mov	eax, 0
	call	printf@PLT
.L197:
	mov	eax, DWORD PTR -32[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L199
	call	__stack_chk_fail@PLT
.L199:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE26:
	.size	WAV_LoadSound, .-WAV_LoadSound
	.type	String_GetChar, @function
String_GetChar:
.LFB27:
	.cfi_startproc
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	eax, DWORD PTR -12[rbp]
	movsx	rdx, eax
	mov	rax, QWORD PTR -8[rbp]
	add	rax, rdx
	movzx	eax, BYTE PTR [rax]
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE27:
	.size	String_GetChar, .-String_GetChar
	.type	String_EndsWithMOD, @function
String_EndsWithMOD:
.LFB28:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 4
	jle	.L203
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 46
	jne	.L203
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 109
	je	.L204
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 77
	jne	.L203
.L204:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 111
	je	.L205
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 79
	jne	.L203
.L205:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 100
	je	.L206
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 68
	jne	.L203
.L206:
	mov	eax, 1
	jmp	.L207
.L203:
	mov	eax, 0
.L207:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE28:
	.size	String_EndsWithMOD, .-String_EndsWithMOD
	.type	String_EndsWithRAW, @function
String_EndsWithRAW:
.LFB29:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 4
	jle	.L209
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 46
	jne	.L209
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 114
	je	.L210
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 82
	jne	.L209
.L210:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 97
	je	.L211
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 65
	jne	.L209
.L211:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 119
	je	.L212
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 87
	jne	.L209
.L212:
	mov	eax, 1
	jmp	.L213
.L209:
	mov	eax, 0
.L213:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE29:
	.size	String_EndsWithRAW, .-String_EndsWithRAW
	.type	String_EndsWithWAV, @function
String_EndsWithWAV:
.LFB30:
	.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	rax, QWORD PTR -24[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	DWORD PTR -4[rbp], eax
	cmp	DWORD PTR -4[rbp], 4
	jle	.L215
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -4[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 46
	jne	.L215
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 119
	je	.L216
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -3[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 87
	jne	.L215
.L216:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 97
	je	.L217
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -2[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 65
	jne	.L215
.L217:
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 118
	je	.L218
	mov	eax, DWORD PTR -4[rbp]
	lea	edx, -1[rax]
	mov	rax, QWORD PTR -24[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	String_GetChar
	cmp	al, 86
	jne	.L215
.L218:
	mov	eax, 1
	jmp	.L219
.L215:
	mov	eax, 0
.L219:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE30:
	.size	String_EndsWithWAV, .-String_EndsWithWAV
	.type	String_MakeSafe, @function
String_MakeSafe:
.LFB31:
	.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
	jmp	.L221
.L226:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	mov	BYTE PTR -1[rbp], al
	cmp	BYTE PTR -1[rbp], 96
	jle	.L222
	cmp	BYTE PTR -1[rbp], 122
	jle	.L223
.L222:
	cmp	BYTE PTR -1[rbp], 64
	jle	.L224
	cmp	BYTE PTR -1[rbp], 90
	jle	.L223
.L224:
	cmp	BYTE PTR -1[rbp], 47
	jle	.L225
	cmp	BYTE PTR -1[rbp], 57
	jle	.L223
.L225:
	mov	rax, QWORD PTR -24[rbp]
	mov	BYTE PTR [rax], 95
.L223:
	add	QWORD PTR -24[rbp], 1
.L221:
	mov	rax, QWORD PTR -24[rbp]
	movzx	eax, BYTE PTR [rax]
	test	al, al
	jne	.L226
	nop
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE31:
	.size	String_MakeSafe, .-String_MakeSafe
	.section	.rodata
.LC75:
	.string	" Usage: Conv2AAS input_dir\n"
	.align 8
.LC76:
	.string	"  input_dir  Directory containing all Protracker"
	.align 8
.LC77:
	.string	"             MODs & sample data\n"
	.align 8
.LC78:
	.string	"  Output goes to files AAS_Data.s & AAS_Data.h"
	.text
	.type	ShowHelp, @function
ShowHelp:
.LFB32:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rdi, .LC75[rip]
	call	puts@PLT
	lea	rdi, .LC76[rip]
	call	puts@PLT
	lea	rdi, .LC77[rip]
	call	puts@PLT
	lea	rdi, .LC78[rip]
	call	puts@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE32:
	.size	ShowHelp, .-ShowHelp
	.section	.rodata
	.align 8
.LC79:
	.string	"/---------------------------------------------\\"
	.align 8
.LC80:
	.string	"| Conv2AAS v1.11        WAV, RAW & MOD -> AAS |"
	.align 8
.LC81:
	.string	"| Copyright (c) 2005, Apex Designs            |"
	.align 8
.LC82:
	.string	"\\---------------------------------------------/\n"
.LC83:
	.string	"-help"
.LC84:
	.string	"-?"
.LC85:
	.string	"w"
.LC86:
	.string	"./AAS_Data.s"
.LC87:
	.string	"./AAS_Data.h"
.LC88:
	.string	"AAS_SampleData"
.LC89:
	.string	"AAS_PatternData"
	.align 8
.LC90:
	.string	"#ifndef __AAS_DATA__\n#define __AAS_DATA__\n\n#include \"AAS.h\"\n\n#if AAS_VERSION != 0x111\n#error AAS version does not match Conv2AAS version\n#endif\n\nAAS_BEGIN_DECLS\n"
	.align 8
.LC91:
	.string	".TEXT\n.SECTION .rodata\n.ALIGN\n.ARM\n\n.ALIGN\n.EXTERN AAS_lib_v111\n.GLOBAL AAS_data_v111\nAAS_data_v111:\n.word AAS_lib_v111\n"
.LC92:
	.string	"Adding MOD %s..."
	.align 8
.LC93:
	.string	"\nextern const AAS_u8 AAS_DATA_MOD_%s;\n"
	.align 8
.LC94:
	.string	"\n.ALIGN\n.GLOBAL AAS_DATA_MOD_%s\nAAS_DATA_MOD_%s:\n.byte %d\n"
.LC95:
	.string	"Adding RAW %s..."
	.align 8
.LC96:
	.string	"\nextern const AAS_s8* const AAS_DATA_SFX_START_%s;\n"
	.align 8
.LC97:
	.string	"\n.ALIGN\n.GLOBAL AAS_DATA_SFX_START_%s\nAAS_DATA_SFX_START_%s:\n.word AAS_SampleData + %d\n"
	.align 8
.LC98:
	.string	"\nextern const AAS_s8* const AAS_DATA_SFX_END_%s;\n"
	.align 8
.LC99:
	.string	"\n.ALIGN\n.GLOBAL AAS_DATA_SFX_END_%s\nAAS_DATA_SFX_END_%s:\n.word AAS_SampleData + %d\n"
.LC100:
	.string	"Adding WAV %s..."
	.align 8
.LC101:
	.string	"\n.ALIGN\n.GLOBAL AAS_DATA_NUM_MODS\nAAS_DATA_NUM_MODS:\n.short %d\n"
.LC102:
	.string	"\nAAS_END_DECLS\n\n#endif\n"
	.align 8
.LC103:
	.string	"Unable to open directory %s...\n"
	.align 8
.LC104:
	.string	"Unable to open AASData.h for writing..."
	.align 8
.LC105:
	.string	"Unable to open AASData.s for writing..."
	.text
	.globl	main
	.type	main, @function
main:
.LFB33:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 608
	mov	DWORD PTR -596[rbp], edi
	mov	QWORD PTR -608[rbp], rsi
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	rax, QWORD PTR stdout[rip]
	mov	esi, 0
	mov	rdi, rax
	call	setbuf@PLT
	mov	edi, 10
	call	putchar@PLT
	lea	rdi, .LC79[rip]
	call	puts@PLT
	lea	rdi, .LC80[rip]
	call	puts@PLT
	lea	rdi, .LC81[rip]
	call	puts@PLT
	lea	rdi, .LC82[rip]
	call	puts@PLT
	cmp	DWORD PTR -596[rbp], 1
	jg	.L229
	mov	eax, 0
	call	ShowHelp
	jmp	.L230
.L229:
	cmp	DWORD PTR -596[rbp], 2
	jne	.L231
	mov	rax, QWORD PTR -608[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC83[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	je	.L232
	mov	rax, QWORD PTR -608[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC84[rip]
	mov	rdi, rax
	call	strcmp@PLT
	test	eax, eax
	jne	.L231
.L232:
	mov	eax, 0
	call	ShowHelp
	jmp	.L230
.L231:
	lea	rsi, .LC85[rip]
	lea	rdi, .LC86[rip]
	call	fopen@PLT
	mov	QWORD PTR -576[rbp], rax
	cmp	QWORD PTR -576[rbp], 0
	je	.L233
	lea	rsi, .LC85[rip]
	lea	rdi, .LC87[rip]
	call	fopen@PLT
	mov	QWORD PTR -568[rbp], rax
	cmp	QWORD PTR -568[rbp], 0
	je	.L234
	mov	rax, QWORD PTR -608[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rdi, rax
	call	opendir@PLT
	mov	QWORD PTR -560[rbp], rax
	cmp	QWORD PTR -560[rbp], 0
	je	.L235
	mov	DWORD PTR -592[rbp], 0
	mov	DWORD PTR -588[rbp], 0
	lea	rdi, .LC88[rip]
	call	DATA_Create
	mov	QWORD PTR -552[rbp], rax
	lea	rdi, .LC89[rip]
	call	DATA_Create
	mov	QWORD PTR -544[rbp], rax
	mov	rax, QWORD PTR -568[rbp]
	mov	rcx, rax
	mov	edx, 161
	mov	esi, 1
	lea	rdi, .LC90[rip]
	call	fwrite@PLT
	mov	rax, QWORD PTR -576[rbp]
	mov	rcx, rax
	mov	edx, 120
	mov	esi, 1
	lea	rdi, .LC91[rip]
	call	fwrite@PLT
.L240:
	mov	rax, QWORD PTR -560[rbp]
	mov	rdi, rax
	call	readdir@PLT
	mov	QWORD PTR -536[rbp], rax
	cmp	QWORD PTR -536[rbp], 0
	je	.L236
	mov	rax, QWORD PTR -608[rbp]
	add	rax, 8
	mov	rdx, QWORD PTR [rax]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	strlen@PLT
	mov	rdx, rax
	lea	rax, -528[rbp]
	add	rax, rdx
	mov	WORD PTR [rax], 47
	mov	rax, QWORD PTR -536[rbp]
	lea	rdx, 19[rax]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcat@PLT
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 19
	mov	rdi, rax
	call	String_EndsWithMOD
	test	al, al
	je	.L237
	add	DWORD PTR -592[rbp], 1
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC92[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, DWORD PTR -588[rbp]
	lea	rcx, -528[rbp]
	mov	rdx, QWORD PTR -544[rbp]
	mov	rsi, QWORD PTR -552[rbp]
	mov	rax, QWORD PTR -568[rbp]
	mov	r8d, edi
	mov	rdi, rax
	call	MOD_ConvMod
	mov	rax, QWORD PTR -536[rbp]
	lea	rdx, 19[rax]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -4[rax]
	lea	rax, -528[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	String_MakeSafe
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -568[rbp]
	lea	rsi, .LC93[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	esi, DWORD PTR -588[rbp]
	lea	rcx, -528[rbp]
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	r8d, esi
	lea	rsi, .LC94[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	add	DWORD PTR -588[rbp], 1
	jmp	.L236
.L237:
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 19
	mov	rdi, rax
	call	String_EndsWithRAW
	test	al, al
	je	.L239
	add	DWORD PTR -592[rbp], 1
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC95[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -552[rbp]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	RAW_LoadSound
	mov	DWORD PTR -580[rbp], eax
	cmp	DWORD PTR -580[rbp], 0
	js	.L236
	mov	rax, QWORD PTR -536[rbp]
	lea	rdx, 19[rax]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -4[rax]
	lea	rax, -528[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	String_MakeSafe
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -568[rbp]
	lea	rsi, .LC96[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	esi, DWORD PTR -580[rbp]
	lea	rcx, -528[rbp]
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	r8d, esi
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -568[rbp]
	lea	rsi, .LC98[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edx, DWORD PTR last_samp_length[rip]
	mov	eax, DWORD PTR -580[rbp]
	lea	esi, [rdx+rax]
	lea	rcx, -528[rbp]
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	r8d, esi
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	jmp	.L236
.L239:
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 19
	mov	rdi, rax
	call	String_EndsWithWAV
	test	al, al
	je	.L236
	add	DWORD PTR -592[rbp], 1
	mov	rax, QWORD PTR -536[rbp]
	add	rax, 19
	mov	rsi, rax
	lea	rdi, .LC100[rip]
	mov	eax, 0
	call	printf@PLT
	mov	rdx, QWORD PTR -552[rbp]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	WAV_LoadSound
	mov	DWORD PTR -584[rbp], eax
	cmp	DWORD PTR -584[rbp], 0
	js	.L236
	mov	rax, QWORD PTR -536[rbp]
	lea	rdx, 19[rax]
	lea	rax, -528[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	strcpy@PLT
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	strlen@PLT
	lea	rdx, -4[rax]
	lea	rax, -528[rbp]
	add	rax, rdx
	mov	BYTE PTR [rax], 0
	lea	rax, -528[rbp]
	mov	rdi, rax
	call	String_MakeSafe
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -568[rbp]
	lea	rsi, .LC96[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	esi, DWORD PTR -584[rbp]
	lea	rcx, -528[rbp]
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	r8d, esi
	lea	rsi, .LC97[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -568[rbp]
	lea	rsi, .LC98[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edx, DWORD PTR last_samp_length[rip]
	mov	eax, DWORD PTR -584[rbp]
	lea	esi, [rdx+rax]
	lea	rcx, -528[rbp]
	lea	rdx, -528[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	r8d, esi
	lea	rsi, .LC99[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
.L236:
	cmp	QWORD PTR -536[rbp], 0
	jne	.L240
	mov	rax, QWORD PTR -560[rbp]
	mov	rdi, rax
	call	closedir@PLT
	mov	edx, DWORD PTR -588[rbp]
	mov	rax, QWORD PTR -576[rbp]
	lea	rsi, .LC101[rip]
	mov	rdi, rax
	mov	eax, 0
	call	fprintf@PLT
	mov	edx, DWORD PTR -588[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MOD_WriteSamples
	mov	edx, DWORD PTR -588[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MOD_WritePatterns
	mov	edx, DWORD PTR -588[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MOD_WriteNumChans
	mov	edx, DWORD PTR -588[rbp]
	mov	rax, QWORD PTR -576[rbp]
	mov	esi, edx
	mov	rdi, rax
	call	MOD_WriteSongRestartPos
	mov	rdx, QWORD PTR -576[rbp]
	mov	rax, QWORD PTR -552[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	DATA_Write
	mov	rdx, QWORD PTR -576[rbp]
	mov	rax, QWORD PTR -544[rbp]
	mov	rsi, rdx
	mov	rdi, rax
	call	DATA_Write
	mov	edi, 10
	call	putchar@PLT
	mov	rax, QWORD PTR -568[rbp]
	mov	rcx, rax
	mov	edx, 23
	mov	esi, 1
	lea	rdi, .LC102[rip]
	call	fwrite@PLT
	jmp	.L241
.L235:
	mov	rax, QWORD PTR -608[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	mov	rsi, rax
	lea	rdi, .LC103[rip]
	mov	eax, 0
	call	printf@PLT
.L241:
	mov	rax, QWORD PTR -568[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L242
.L234:
	lea	rdi, .LC104[rip]
	call	puts@PLT
.L242:
	mov	rax, QWORD PTR -576[rbp]
	mov	rdi, rax
	call	fclose@PLT
	jmp	.L230
.L233:
	lea	rdi, .LC105[rip]
	call	puts@PLT
.L230:
	mov	eax, 0
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L244
	call	__stack_chk_fail@PLT
.L244:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE33:
	.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	"419258.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	Min, %function
Min:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-12]
	cmp	r2, r3
	bge	.L2
	ldr	r3, [fp, #-8]
	b	.L3
.L2:
	ldr	r3, [fp, #-12]
.L3:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	Min, .-Min
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	SwapUWORD, %function
SwapUWORD:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	mov	r3, r0
	strh	r3, [fp, #-6]	@ movhi
	ldrh	r3, [fp, #-6]
	lsr	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldrh	r3, [fp, #-6]
	lsl	r3, r3, #8
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	add	r3, r2, r3
	lsl	r3, r3, #16
	lsr	r3, r3, #16
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	SwapUWORD, .-SwapUWORD
	.section	.rodata
	.align	2
.LC1:
	.ascii	"0123456789ABCDEF\000"
	.align	2
.LC2:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	GetHex, %function
GetHex:
	@ 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, #-32]
	ldr	r3, .L11
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L11+4
	sub	ip, fp, #28
	mov	lr, r3
	ldmia	lr!, {r0, r1, r2, r3}
	stmia	ip!, {r0, r1, r2, r3}
	ldr	r3, [lr]
	strb	r3, [ip]
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	blt	.L7
	ldr	r3, [fp, #-32]
	cmp	r3, #15
	bgt	.L7
	sub	r2, fp, #28
	ldr	r3, [fp, #-32]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	b	.L9
.L7:
	mov	r3, #63
.L9:
	ldr	r2, .L11
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L10
	bl	__stack_chk_fail
.L10:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L12:
	.align	2
.L11:
	.word	.LC2
	.word	.LC1
	.size	GetHex, .-GetHex
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	memcmp_new, %function
memcmp_new:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	b	.L14
.L17:
	ldr	r3, [fp, #-8]
	add	r2, r3, #1
	str	r2, [fp, #-8]
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-12]
	add	r1, r3, #1
	str	r1, [fp, #-12]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	beq	.L15
	mov	r3, #1
	b	.L16
.L15:
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L14:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L17
	mov	r3, #0
.L16:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	memcmp_new, .-memcmp_new
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	memcpy_new, %function
memcpy_new:
	@ 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, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	b	.L19
.L20:
	ldr	r2, [fp, #-12]
	add	r3, r2, #1
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-8]
	add	r1, r3, #1
	str	r1, [fp, #-8]
	ldrb	r2, [r2]	@ zero_extendqisi2
	strb	r2, [r3]
	ldr	r3, [fp, #-16]
	sub	r3, r3, #1
	str	r3, [fp, #-16]
.L19:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bgt	.L20
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	memcpy_new, .-memcpy_new
	.section	.rodata
	.align	2
.LC3:
	.ascii	"DATA_Create( %s ): Failed (address:%p length:%d)..."
	.ascii	"\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DATA_Create, %function
DATA_Create:
	@ 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]
	ldr	r0, .L25
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L22
	ldr	r3, [fp, #-8]
	ldr	r2, [fp, #-16]
	str	r2, [r3]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #4]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	mov	r2, #0
	str	r2, [r3, #12]
	b	.L23
.L22:
	ldr	r3, .L25
	ldr	r2, [fp, #-8]
	ldr	r1, [fp, #-16]
	ldr	r0, .L25+4
	bl	printf
.L23:
	ldr	r3, [fp, #-8]
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L26:
	.align	2
.L25:
	.word	33554448
	.word	.LC3
	.size	DATA_Create, .-DATA_Create
	.global	__aeabi_idiv
	.section	.rodata
	.align	2
.LC4:
	.ascii	"DATA_AppendAligned( %p, %p, %d, %d ): Warning lengt"
	.ascii	"h not exactly divisible by block_length!\012\000"
	.align	2
.LC5:
	.ascii	"DATA_AppendAligned( %p, %p, %d, %d ): Data >%d byte"
	.ascii	"s!\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DATA_AppendAligned, %function
DATA_AppendAligned:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-24]
	bl	__aeabi_idiv
	mov	r3, r0
	mov	r2, r3
	ldr	r3, [fp, #-28]
	mul	r3, r2, r3
	ldr	r2, [fp, #-24]
	cmp	r2, r3
	beq	.L28
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, .L35
	bl	printf
	mov	r3, #0
	b	.L29
.L28:
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L30
	mov	r3, #0
	b	.L29
.L30:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L31
.L33:
	ldr	r3, [fp, #-16]
	add	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	memcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L32
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-8]
	bl	__aeabi_idiv
	mov	r3, r0
	b	.L29
.L32:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r3, r2, r3
	str	r3, [fp, #-8]
.L31:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-28]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L33
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #33554432
	cmp	r2, r3
	bgt	.L34
	ldr	r3, [fp, #-16]
	add	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	memcpy
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r1, [fp, #-28]
	ldr	r0, [fp, #-8]
	bl	__aeabi_idiv
	mov	r3, r0
	b	.L29
.L34:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	mov	r3, #33554432
	str	r3, [sp, #4]
	ldr	r3, [fp, #-28]
	str	r3, [sp]
	ldr	r3, [fp, #-24]
	ldr	r2, [fp, #-20]
	ldr	r1, [fp, #-16]
	ldr	r0, .L35+4
	bl	printf
	mov	r3, #0
.L29:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L36:
	.align	2
.L35:
	.word	.LC4
	.word	.LC5
	.size	DATA_AppendAligned, .-DATA_AppendAligned
	.section	.rodata
	.align	2
.LC6:
	.ascii	"DATA_Append( %p, %d ): Data >%d bytes!\012\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DATA_Append, %function
DATA_Append:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	ldr	r3, [fp, #-24]
	cmp	r3, #0
	bne	.L38
	mov	r3, #0
	b	.L39
.L38:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L40
.L42:
	ldr	r3, [fp, #-16]
	add	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	memcmp_new
	mov	r3, r0
	cmp	r3, #0
	bne	.L41
	ldr	r3, [fp, #-8]
	b	.L39
.L41:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L40:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	cmp	r2, r3
	ble	.L42
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	rsb	r3, r3, #33554432
	cmp	r2, r3
	bgt	.L43
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-16]
	add	r2, r3, #16
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	mov	r0, r3
	bl	memcpy_new
	ldr	r3, [fp, #-16]
	ldr	r2, [r3, #4]
	ldr	r3, [fp, #-24]
	add	r2, r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3, #4]
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #8]
	add	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #8]
	ldr	r3, [fp, #-8]
	b	.L39
.L43:
	ldr	r3, [fp, #-16]
	ldr	r3, [r3, #12]
	sub	r2, r3, #1
	ldr	r3, [fp, #-16]
	str	r2, [r3, #12]
	mov	r3, #33554432
	ldr	r2, [fp, #-24]
	ldr	r1, [fp, #-20]
	ldr	r0, .L44
	bl	printf
	mov	r3, #0
.L39:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L45:
	.align	2
.L44:
	.word	.LC6
	.size	DATA_Append, .-DATA_Append
	.section	.rodata
	.align	2
.LC7:
	.ascii	"Writing %s (Unique:%d Actual:%d Length:%d)...\000"
	.align	2
.LC8:
	.ascii	"\012.ALIGN\012.GLOBAL %s\012%s:\012.byte\000"
	.align	2
.LC9:
	.ascii	" %d\000"
	.align	2
.LC10:
	.ascii	", %d\000"
	.align	2
.LC11:
	.ascii	" 0\012\000"
	.align	2
.LC12:
	.ascii	"Done!\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	DATA_Write, %function
DATA_Write:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #32
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	and	r3, r3, #3
	cmp	r3, #0
	beq	.L47
	ldr	r3, [fp, #-8]
	bic	r3, r3, #3
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #4
	str	r3, [fp, #-8]
.L47:
	ldr	r3, [fp, #-24]
	ldr	r1, [r3]
	ldr	r3, [fp, #-24]
	ldr	r2, [r3, #8]
	ldr	r3, [fp, #-24]
	ldr	r0, [r3, #12]
	ldr	r3, [fp, #-8]
	str	r3, [sp]
	mov	r3, r0
	ldr	r0, .L56
	bl	printf
	ldr	r3, [fp, #-24]
	ldr	r2, [r3]
	ldr	r3, [fp, #-24]
	ldr	r3, [r3]
	ldr	r1, .L56+4
	ldr	r0, [fp, #-28]
	bl	fprintf
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	ble	.L48
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L49
.L54:
	ldr	r3, [fp, #-24]
	ldr	r3, [r3, #4]
	ldr	r2, [fp, #-12]
	cmp	r2, r3
	blt	.L50
	mov	r3, #0
	strb	r3, [fp, #-13]
	b	.L51
.L50:
	ldr	r3, [fp, #-24]
	add	r2, r3, #16
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	ldrb	r3, [r3]
	strb	r3, [fp, #-13]
.L51:
	ldr	r3, [fp, #-12]
	cmp	r3, #0
	bne	.L52
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L56+8
	ldr	r0, [fp, #-28]
	bl	fprintf
	b	.L53
.L52:
	ldrb	r3, [fp, #-13]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L56+12
	ldr	r0, [fp, #-28]
	bl	fprintf
.L53:
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L49:
	ldr	r2, [fp, #-12]
	ldr	r3, [fp, #-8]
	cmp	r2, r3
	blt	.L54
	ldr	r1, [fp, #-28]
	mov	r0, #10
	bl	fputc
	b	.L55
.L48:
	ldr	r3, [fp, #-28]
	mov	r2, #3
	mov	r1, #1
	ldr	r0, .L56+16
	bl	fwrite
.L55:
	ldr	r0, .L56+20
	bl	puts
	ldr	r0, [fp, #-24]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L57:
	.align	2
.L56:
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.size	DATA_Write, .-DATA_Write
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MISC_ProcessSound, %function
MISC_ProcessSound:
	@ 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]
	str	r1, [fp, #-20]
	b	.L59
.L61:
	ldr	r3, [fp, #-16]
	ldrsb	r3, [r3]
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmn	r3, #128
	bne	.L60
	mvn	r3, #126
	str	r3, [fp, #-8]
.L60:
	ldr	r3, [fp, #-16]
	add	r2, r3, #1
	str	r2, [fp, #-16]
	ldr	r2, [fp, #-8]
	lsl	r2, r2, #24
	asr	r2, r2, #24
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L59:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L61
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	MISC_ProcessSound, .-MISC_ProcessSound
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MISC_ConvSoundToSigned, %function
MISC_ConvSoundToSigned:
	@ 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]
	str	r1, [fp, #-20]
	ldr	r3, [fp, #-16]
	str	r3, [fp, #-12]
	b	.L63
.L64:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	sub	r3, r3, #128
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-12]
	add	r2, r3, #1
	str	r2, [fp, #-12]
	ldr	r2, [fp, #-8]
	lsl	r2, r2, #24
	asr	r2, r2, #24
	strb	r2, [r3]
	ldr	r3, [fp, #-20]
	sub	r3, r3, #1
	str	r3, [fp, #-20]
.L63:
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	bgt	.L64
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	MISC_ConvSoundToSigned, .-MISC_ConvSoundToSigned
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_LoadSound, %function
MOD_LoadSound:
	@ args = 8, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-16]
	str	r1, [fp, #-20]
	str	r2, [fp, #-24]
	str	r3, [fp, #-28]
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	add	r3, r3, #16
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r0, r3, #16
	ldr	r3, [fp, #-28]
	lsl	r3, r3, #1
	mov	r1, r3
	ldr	r3, [fp, #-20]
	mov	r2, #1
	bl	fread
	ldr	r3, [fp, #4]
	cmp	r3, #0
	ble	.L66
	mov	r2, #16
	mov	r1, #0
	ldr	r0, [fp, #-12]
	bl	memset
	ldr	r3, [fp, #8]
	ldr	r2, .L69
	cmp	r3, r2
	bgt	.L67
	ldr	r2, [fp, #4]
	ldr	r3, [fp, #8]
	cmp	r2, r3
	ble	.L67
	ldr	r3, [fp, #8]
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r0, r3, r2
	ldr	r3, [fp, #4]
	lsl	r3, r3, #1
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	mov	r2, #16
	mov	r1, r3
	bl	memcpy
.L67:
	ldr	r3, [fp, #4]
	lsl	r3, r3, #1
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	MISC_ProcessSound
	ldr	r3, [fp, #4]
	lsl	r3, r3, #1
	add	r3, r3, #16
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-24]
	bl	DATA_Append
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	add	r3, r3, #16
	mov	r2, r3
	ldr	r3, [fp, #-16]
	str	r2, [r3]
	b	.L68
.L66:
	ldr	r3, [fp, #-16]
	mov	r2, #0
	str	r2, [r3]
.L68:
	ldr	r3, [fp, #4]
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	ldr	r3, [fp, #-16]
	strh	r2, [r3, #6]	@ movhi
	ldr	r0, [fp, #-12]
	bl	free
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L70:
	.align	2
.L69:
	.word	65534
	.size	MOD_LoadSound, .-MOD_LoadSound
	.local	samps
	.comm	samps,95232,4
	.local	patts
	.comm	patts,1048576,4
	.local	mod_num_chans
	.comm	mod_num_chans,256,4
	.local	mod_song_restart_pos
	.comm	mod_song_restart_pos,256,4
	.local	max_song_length
	.comm	max_song_length,4,4
	.section	.rodata
	.align	2
.LC13:
	.ascii	"*0: Arpeggio\000"
	.align	2
.LC14:
	.ascii	"*1: Slide Up\000"
	.align	2
.LC15:
	.ascii	"*2: Slide Down\000"
	.align	2
.LC16:
	.ascii	"*3: Tone Portamento\000"
	.align	2
.LC17:
	.ascii	"*4: Vibrato\000"
	.align	2
.LC18:
	.ascii	"*5: Tone Portamento + Volume Slide\000"
	.align	2
.LC19:
	.ascii	"*6: Vibrato + Volume Slide\000"
	.align	2
.LC20:
	.ascii	"*7: Tremolo\000"
	.align	2
.LC21:
	.ascii	"8: Set Panning Position\000"
	.align	2
.LC22:
	.ascii	"*9: Set Sample Offset\000"
	.align	2
.LC23:
	.ascii	"*A: Volume Slide\000"
	.align	2
.LC24:
	.ascii	"*B: Position Jump\000"
	.align	2
.LC25:
	.ascii	"*C: Set Volume\000"
	.align	2
.LC26:
	.ascii	"*D: Pattern Break\000"
	.align	2
.LC27:
	.ascii	"*F: Set Speed (BPM)\000"
	.align	2
.LC28:
	.ascii	"*F: Set Speed (Ticks)\000"
	.align	2
.LC29:
	.ascii	"*E0: Set Filter\000"
	.align	2
.LC30:
	.ascii	"*E1: Fine Slide Up\000"
	.align	2
.LC31:
	.ascii	"*E2: Fine Slide Down\000"
	.align	2
.LC32:
	.ascii	"E3: Glissando Control\000"
	.align	2
.LC33:
	.ascii	"E4: Set Vibrato Waveform\000"
	.align	2
.LC34:
	.ascii	"E5: Set FineTune\000"
	.align	2
.LC35:
	.ascii	"*E6: Set/Jump to Loop\000"
	.align	2
.LC36:
	.ascii	"E7: Set Tremolo Waveform\000"
	.align	2
.LC37:
	.ascii	"E8: Illegal\000"
	.align	2
.LC38:
	.ascii	"*E9: Retrigger Note\000"
	.align	2
.LC39:
	.ascii	"*EA: Fine Volume Slide Up\000"
	.align	2
.LC40:
	.ascii	"*EB: Fine Volume Slide Down\000"
	.align	2
.LC41:
	.ascii	"*EC: Note Cut\000"
	.align	2
.LC42:
	.ascii	"*ED: Note Delay\000"
	.align	2
.LC43:
	.ascii	"*EE: Pattern Delay\000"
	.align	2
.LC44:
	.ascii	"EF: Invert Loop\000"
	.data
	.align	2
	.type	effect_name, %object
	.size	effect_name, 128
effect_name:
	.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
	.word	.LC31
	.word	.LC32
	.word	.LC33
	.word	.LC34
	.word	.LC35
	.word	.LC36
	.word	.LC37
	.word	.LC38
	.word	.LC39
	.word	.LC40
	.word	.LC41
	.word	.LC42
	.word	.LC43
	.word	.LC44
	.section	.rodata
	.align	2
.LC45:
	.ascii	"Can't find note with period:%d...\012\000"
	.align	2
.LC0:
	.word	0
	.word	1712
	.word	1616
	.word	1524
	.word	1440
	.word	1356
	.word	1280
	.word	1208
	.word	1140
	.word	1076
	.word	1016
	.word	960
	.word	906
	.word	856
	.word	808
	.word	762
	.word	720
	.word	678
	.word	640
	.word	604
	.word	570
	.word	538
	.word	508
	.word	480
	.word	453
	.word	428
	.word	404
	.word	381
	.word	360
	.word	339
	.word	320
	.word	302
	.word	285
	.word	269
	.word	254
	.word	240
	.word	226
	.word	214
	.word	202
	.word	190
	.word	180
	.word	170
	.word	160
	.word	151
	.word	143
	.word	135
	.word	127
	.word	120
	.word	113
	.word	107
	.word	101
	.word	95
	.word	90
	.word	85
	.word	80
	.word	75
	.word	71
	.word	67
	.word	63
	.word	60
	.word	56
	.align	2
.LC46:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_FindNote, %function
MOD_FindNote:
	@ args = 0, pretend = 0, frame = 272
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #272
	str	r0, [fp, #-272]
	ldr	r3, .L78
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r2, .L78+4
	sub	r3, fp, #252
	mov	r1, r2
	mov	r2, #244
	mov	r0, r3
	bl	memcpy
	ldr	r3, .L78+8
	str	r3, [fp, #-260]
	mvn	r3, #0
	str	r3, [fp, #-264]
	mov	r3, #0
	str	r3, [fp, #-268]
	b	.L72
.L74:
	ldr	r3, [fp, #-268]
	lsl	r3, r3, #2
	sub	r2, fp, #4
	add	r3, r2, r3
	ldr	r2, [r3, #-248]
	ldr	r3, [fp, #-272]
	sub	r3, r2, r3
	cmp	r3, #0
	rsblt	r3, r3, #0
	str	r3, [fp, #-256]
	ldr	r2, [fp, #-256]
	ldr	r3, [fp, #-260]
	cmp	r2, r3
	bge	.L73
	ldr	r3, [fp, #-268]
	str	r3, [fp, #-264]
	ldr	r3, [fp, #-256]
	str	r3, [fp, #-260]
.L73:
	ldr	r3, [fp, #-268]
	add	r3, r3, #1
	str	r3, [fp, #-268]
.L72:
	ldr	r3, [fp, #-268]
	cmp	r3, #60
	ble	.L74
	ldr	r3, [fp, #-264]
	cmn	r3, #1
	bne	.L75
	ldr	r1, [fp, #-272]
	ldr	r0, .L78+12
	bl	printf
.L75:
	ldr	r3, [fp, #-264]
	ldr	r2, .L78
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L77
	bl	__stack_chk_fail
.L77:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L79:
	.align	2
.L78:
	.word	.LC46
	.word	.LC0
	.word	1000000000
	.word	.LC45
	.size	MOD_FindNote, .-MOD_FindNote
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_GetNumChans, %function
MOD_GetNumChans:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	ldr	r2, .L103
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+4
	cmp	r3, r2
	bcs	.L82
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+8
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+12
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+16
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+20
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+24
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+28
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+32
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+36
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+40
	cmp	r3, r2
	beq	.L84
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+40
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+44
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+48
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+52
	cmp	r3, r2
	beq	.L85
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+52
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+56
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+60
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+64
	cmp	r3, r2
	beq	.L86
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+64
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+68
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+72
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+76
	cmp	r3, r2
	beq	.L87
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+76
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+80
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+84
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+88
	cmp	r3, r2
	beq	.L88
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+88
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+92
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+96
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+100
	cmp	r3, r2
	beq	.L89
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+100
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+104
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+108
	cmp	r3, r2
	bcs	.L83
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+112
	cmp	r3, r2
	beq	.L90
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+112
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+116
	cmp	r3, r2
	beq	.L91
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+116
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+120
	cmp	r3, r2
	beq	.L92
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+120
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+124
	cmp	r3, r2
	beq	.L93
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+124
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+128
	cmp	r3, r2
	beq	.L94
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+128
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+132
	cmp	r3, r2
	beq	.L95
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+132
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+136
	cmp	r3, r2
	beq	.L96
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+136
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+140
	cmp	r3, r2
	beq	.L91
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+140
	cmp	r3, r2
	bhi	.L81
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+144
	cmp	r3, r2
	beq	.L93
	ldr	r3, [fp, #-8]
	ldr	r2, .L103+148
	cmp	r3, r2
	beq	.L93
	b	.L81
.L82:
	ldr	r2, [fp, #-8]
	ldr	r3, .L103+152
	add	r3, r2, r3
	cmp	r3, #7
	ldrls	pc, [pc, r3, asl #2]
	b	.L81
.L98:
	.word	.L95
	.word	.L81
	.word	.L81
	.word	.L101
	.word	.L100
	.word	.L99
	.word	.L91
	.word	.L97
.L96:
	mov	r3, #1
	b	.L102
.L95:
	mov	r3, #2
	b	.L102
.L94:
	mov	r3, #3
	b	.L102
.L93:
	mov	r3, #4
	b	.L102
.L101:
	mov	r3, #5
	b	.L102
.L100:
	mov	r3, #6
	b	.L102
.L99:
	mov	r3, #7
	b	.L102
.L91:
	mov	r3, #8
	b	.L102
.L92:
	mvn	r3, #1
	b	.L102
.L97:
	mov	r3, #9
	b	.L102
.L90:
	mov	r3, #10
	b	.L102
.L89:
	mov	r3, #11
	b	.L102
.L88:
	mov	r3, #12
	b	.L102
.L87:
	mov	r3, #13
	b	.L102
.L86:
	mov	r3, #14
	b	.L102
.L85:
	mov	r3, #15
	b	.L102
.L84:
	mov	r3, #16
	b	.L102
.L83:
	mvn	r3, #2
	b	.L102
.L81:
	mvn	r3, #0
.L102:
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L104:
	.align	2
.L103:
	.word	1313358649
	.word	1313358642
	.word	1212365109
	.word	1212365105
	.word	1212364853
	.word	1212364849
	.word	1212364597
	.word	1212364593
	.word	1212364341
	.word	1212364338
	.word	1212364337
	.word	1212364085
	.word	1212364082
	.word	1212364081
	.word	1212363830
	.word	1212363826
	.word	1212363825
	.word	1212363574
	.word	1212363570
	.word	1212363569
	.word	1212363318
	.word	1212363314
	.word	1212363313
	.word	1212363062
	.word	1212363058
	.word	1212363057
	.word	1212362806
	.word	1212362802
	.word	1212362801
	.word	1096041295
	.word	945048646
	.word	877939782
	.word	861553748
	.word	844776532
	.word	827999316
	.word	825771075
	.word	558571853
	.word	776678989
	.word	-1313358642
	.size	MOD_GetNumChans, .-MOD_GetNumChans
	.section	.rodata
	.align	2
.LC47:
	.ascii	"rb\000"
	.align	2
.LC48:
	.ascii	"MOD_ConvMod( %s ): Error: finetune > 15...\012\000"
	.align	2
.LC49:
	.ascii	"Failed! Reason: Sample vol > 64\012\000"
	.align	2
.LC50:
	.ascii	"MOD_ConvMod( %s ): song_length:%d\012\000"
	.align	2
.LC51:
	.ascii	"MOD_ConvMod( %s ): last_pattern:%d\012\000"
	.align	2
.LC52:
	.ascii	"Failed! Reason: Unsupported MOD type (%p)\012\000"
	.align	2
.LC53:
	.ascii	"Failed! Reason: Too many channels\000"
	.align	2
.LC54:
	.ascii	"Failed! Reason: Unrecognised MOD type (%p)\012\000"
	.align	2
.LC55:
	.ascii	"%d channel...\000"
	.align	2
.LC56:
	.ascii	"%d channels...\000"
	.align	2
.LC57:
	.ascii	"Unsupported effects:\000"
	.align	2
.LC58:
	.ascii	"%s (%d)\012\000"
	.align	2
.LC59:
	.ascii	"song_length:%d last_pattern:%d\012\012\000"
	.align	2
.LC60:
	.ascii	"MOD_ConvMod( %s ): Unable to open file for reading."
	.ascii	"..\012\000"
	.align	2
.LC61:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_ConvMod, %function
MOD_ConvMod:
	@ args = 4, pretend = 0, frame = 8800
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #8768
	sub	sp, sp, #44
	sub	ip, fp, #8192
	sub	ip, ip, #12
	str	r0, [ip, #-596]
	sub	r0, fp, #8192
	sub	r0, r0, #12
	str	r1, [r0, #-600]
	sub	r1, fp, #8192
	sub	r1, r1, #12
	str	r2, [r1, #-604]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-608]
	ldr	r3, .L160+84
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	ldr	r2, .L160
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, .L160+4
	ldr	r0, [r3, #-608]
	bl	fopen
	str	r0, [r4, #-560]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-560]
	cmp	r3, #0
	beq	.L106
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #540
	mov	r2, #128
	mov	r1, #0
	mov	r0, r3
	bl	memset
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #168
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #20
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-576]
	b	.L107
.L113:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #168
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #22
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #6
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #580
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	SwapUWORD
	mov	r3, r0
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #2
	strh	r1, [r3]	@ movhi
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #14
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r2, [r3, #-590]	@ zero_extendqisi2
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	strb	r2, [r3, #-405]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-590]	@ zero_extendqisi2
	cmp	r3, #15
	bls	.L108
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-590]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-608]
	ldr	r0, .L160+8
	bl	printf
.L108:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #14
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r2, [r3, #-590]	@ zero_extendqisi2
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	strb	r2, [r3, #-406]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-590]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L109
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-590]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-608]
	ldr	r0, .L160+12
	bl	printf
	b	.L105
.L109:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #6
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #580
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	SwapUWORD
	mov	r3, r0
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	strh	r1, [r3]	@ movhi
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #6
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r3, r3, #580
	sub	r3, r3, #2
	ldrh	r3, [r3]
	mov	r0, r3
	bl	SwapUWORD
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	str	r2, [r3, #-544]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-544]
	cmp	r3, #1
	bgt	.L111
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r1, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
	b	.L112
.L111:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrh	r3, [r3]
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-544]
	add	r0, r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	mov	r1, r3
	bl	Min
	mov	r3, r0
	lsl	r3, r3, #16
	lsr	r2, r3, #16
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r1, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	add	r3, r3, #4
	strh	r2, [r3]	@ movhi
.L112:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r3, #1
	str	r3, [r2, #-576]
.L107:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	cmp	r3, #31
	ble	.L113
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #15
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #13
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L114
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	cmp	r3, #128
	bls	.L115
.L114:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-608]
	ldr	r0, .L160+16
	bl	printf
.L115:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3, #-584]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-576]
	b	.L116
.L118:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #14
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r1, [r3, #-590]	@ zero_extendqisi2
	sub	r2, fp, #144
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-590]	@ zero_extendqisi2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldrb	r2, [r2, #-584]	@ zero_extendqisi2
	cmp	r2, r3
	bcs	.L117
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-590]
	strb	r3, [r2, #-584]
.L117:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r3, #1
	str	r3, [r2, #-576]
.L116:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	cmp	r3, #127
	ble	.L118
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-584]	@ zero_extendqisi2
	cmp	r3, #63
	bls	.L119
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-584]	@ zero_extendqisi2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	mov	r2, r3
	ldr	r1, [r1, #-608]
	ldr	r0, .L160+20
	bl	printf
.L119:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #4
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-580]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r4, r2
	mov	r0, r3
	bl	MOD_GetNumChans
	str	r0, [r4, #-556]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-556]
	cmp	r3, #0
	bgt	.L120
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-556]
	cmn	r3, #3
	beq	.L121
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-556]
	cmn	r3, #2
	bne	.L122
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-580]
	mov	r1, r3
	ldr	r0, .L160+24
	bl	printf
	b	.L123
.L121:
	ldr	r0, .L160+28
	bl	puts
	b	.L123
.L122:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-580]
	mov	r1, r3
	ldr	r0, .L160+32
	bl	printf
	nop
.L123:
	b	.L105
.L120:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-556]
	cmp	r3, #1
	bne	.L124
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-556]
	ldr	r0, .L160+36
	bl	printf
	b	.L125
.L124:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-556]
	ldr	r0, .L160+40
	bl	printf
.L125:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-556]
	and	r1, r3, #255
	ldr	r2, .L160
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-576]
	b	.L126
.L139:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-572]
	b	.L127
.L136:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-568]
	b	.L128
.L135:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #12
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #11
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #10
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r0, fp, #8768
	sub	r0, r0, #12
	sub	r0, r0, #9
	ldr	r3, [r3, #-560]
	mov	r2, #1
	mov	r1, #1
	bl	fread
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-588]	@ zero_extendqisi2
	and	r3, r3, #240
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldrb	r2, [r2, #-586]	@ zero_extendqisi2
	lsr	r2, r2, #4
	and	r2, r2, #255
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	add	r3, r3, r1
	str	r3, [r2, #-552]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-588]	@ zero_extendqisi2
	lsl	r3, r3, #8
	and	r3, r3, #3840
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldrb	r2, [r2, #-587]	@ zero_extendqisi2
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	add	r3, r3, r1
	str	r3, [r2, #-548]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-586]	@ zero_extendqisi2
	lsl	r3, r3, #8
	and	r3, r3, #3840
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldrb	r2, [r2, #-585]	@ zero_extendqisi2
	mov	r1, r2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	add	r3, r3, r1
	str	r3, [r2, #-564]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	cmp	r3, #0
	beq	.L129
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r3, r3, #8
	cmp	r3, #14
	bne	.L130
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r3, r3, #4
	and	r3, r3, #15
	add	r2, r3, #16
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	lsl	r3, r2, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-540]
	add	r1, r3, #1
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	lsl	r3, r2, #2
	add	r3, r0, r3
	str	r1, [r3, #-540]
	b	.L129
.L130:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r3, r3, #8
	cmp	r3, #15
	bne	.L131
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	and	r3, r3, #224
	cmp	r3, #0
	beq	.L132
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-484]
	add	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-484]
	b	.L129
.L132:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-480]
	add	r3, r3, #1
	sub	r2, fp, #8192
	sub	r2, r2, #12
	str	r3, [r2, #-480]
	b	.L129
.L131:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r3, r3, #8
	cmp	r3, #12
	bne	.L133
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	and	r3, r3, #255
	cmp	r3, #64
	ble	.L133
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #3136
	str	r3, [r2, #-564]
.L133:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r3, r3, #8
	cmp	r3, #13
	bne	.L134
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	and	r1, r3, #3840
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r3, r3, #4
	and	r2, r3, #15
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #1
	add	r2, r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	and	r3, r3, #15
	sub	r1, fp, #8192
	sub	r1, r1, #12
	add	r3, r2, r3
	str	r3, [r1, #-564]
.L134:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	asr	r2, r3, #8
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	lsl	r3, r2, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-540]
	add	r1, r3, #1
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	lsl	r3, r2, #2
	add	r3, r0, r3
	str	r1, [r3, #-540]
.L129:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-552]
	lsl	r4, r3, #24
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-548]
	bl	MOD_FindNote
	mov	r3, r0
	lsl	r3, r3, #12
	add	r2, r4, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-564]
	add	r3, r2, r3
	mov	r1, r3
	sub	r3, fp, #4096
	sub	r3, r3, #12
	mov	r0, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	lsl	r2, r3, #6
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-572]
	add	r3, r2, r3
	lsl	r3, r3, #2
	add	r3, r0, r3
	str	r1, [r3, #-156]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r3, #1
	str	r3, [r2, #-568]
.L128:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-568]
	ldr	r3, [r3, #-556]
	cmp	r2, r3
	blt	.L135
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-572]
	add	r3, r3, #1
	str	r3, [r2, #-572]
.L127:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-572]
	cmp	r3, #63
	ble	.L136
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-568]
	b	.L137
.L138:
	sub	r3, fp, #4224
	sub	r3, r3, #12
	sub	r3, r3, #28
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-568]
	lsl	r2, r2, #8
	add	r1, r3, r2
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	mov	r3, #256
	mov	r2, #256
	ldr	r0, [r0, #-604]
	bl	DATA_AppendAligned
	mov	r1, r0
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r0, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r2, r3, #4
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r2, r3
	lsl	r3, r3, #2
	add	r3, r0, r3
	str	r1, [r3, #-156]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r3, #1
	str	r3, [r2, #-568]
.L137:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-568]
	ldr	r3, [r3, #-556]
	cmp	r2, r3
	blt	.L138
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r3, #1
	str	r3, [r2, #-576]
.L126:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-584]	@ zero_extendqisi2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	ldr	r2, [r2, #-576]
	cmp	r2, r3
	ble	.L139
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-576]
	b	.L140
.L147:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	cmp	r3, r2
	blt	.L141
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-568]
	b	.L142
.L143:
	ldr	r1, .L160+44
	ldr	r3, [fp, #4]
	lsl	r2, r3, #7
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r2, r3
	lsl	r2, r3, #4
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	mvn	r2, #0
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r3, #1
	str	r3, [r2, #-568]
.L142:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-568]
	ldr	r3, [r3, #-556]
	cmp	r2, r3
	blt	.L143
	b	.L144
.L141:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-568]
	b	.L145
.L146:
	sub	r2, fp, #144
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r2, fp, #8192
	sub	r2, r2, #12
	mov	r1, r2
	lsl	r2, r3, #4
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r2, r3
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldr	r3, [r3, #-156]
	lsl	r3, r3, #16
	asr	r2, r3, #16
	ldr	r0, .L160+44
	ldr	r3, [fp, #4]
	lsl	r1, r3, #7
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r1, r3
	lsl	r1, r3, #4
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r1, r3
	lsl	r3, r3, #1
	add	r3, r0, r3
	strh	r2, [r3]	@ movhi
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-568]
	add	r3, r3, #1
	str	r3, [r2, #-568]
.L145:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r2, [r2, #-568]
	ldr	r3, [r3, #-556]
	cmp	r2, r3
	blt	.L146
.L144:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r3, #1
	str	r3, [r2, #-576]
.L140:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	cmp	r3, #127
	ble	.L147
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L160+48
	ldr	r3, [r3]
	cmp	r2, r3
	ble	.L148
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L160+48
	str	r2, [r3]
.L148:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-589]	@ zero_extendqisi2
	cmp	r3, #126
	bhi	.L149
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-589]	@ zero_extendqisi2
	mov	r1, r3
	ldr	r2, .L160+44
	ldr	r3, [fp, #4]
	lsl	r3, r3, #7
	add	r3, r3, r1
	lsl	r3, r3, #5
	add	r3, r2, r3
	ldrsh	r3, [r3]
	cmn	r3, #1
	bne	.L150
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3, #-589]
	b	.L150
.L149:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3, #-589]
.L150:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r1, [r3, #-589]	@ zero_extendqisi2
	ldr	r2, .L160+52
	ldr	r3, [fp, #4]
	add	r3, r2, r3
	mov	r2, r1
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #1
	str	r3, [r2, #-576]
	b	.L151
.L161:
	.align	2
.L160:
	.word	mod_num_chans
	.word	.LC47
	.word	.LC48
	.word	.LC49
	.word	.LC50
	.word	.LC51
	.word	.LC52
	.word	.LC53
	.word	.LC54
	.word	.LC55
	.word	.LC56
	.word	patts
	.word	max_song_length
	.word	mod_song_restart_pos
	.word	samps
	.word	.LC12
	.word	.LC57
	.word	effect_name
	.word	.LC58
	.word	.LC59
	.word	.LC60
	.word	.LC61
.L153:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	cmp	r3, #0
	beq	.L152
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	sub	r2, r3, #1
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r1, [fp, #4]
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	ldr	r2, .L160+56
	add	r0, r3, r2
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #2
	ldrh	r3, [r3]
	mov	lr, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	mov	ip, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r2, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r2, r3
	ldrh	r3, [r3]
	sub	r2, fp, #8192
	sub	r2, r2, #12
	sub	r1, fp, #8192
	sub	r1, r1, #12
	str	r3, [sp, #4]
	str	ip, [sp]
	mov	r3, lr
	ldr	r2, [r2, #-600]
	ldr	r1, [r1, #-560]
	bl	MOD_LoadSound
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	sub	r2, r3, #1
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldrb	ip, [r3, #-406]	@ zero_extendqisi2
	ldr	r0, .L160+56
	ldr	r1, [fp, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	add	r3, r3, #9
	mov	r2, ip
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	sub	r2, r3, #1
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldrb	ip, [r3, #-405]	@ zero_extendqisi2
	ldr	r0, .L160+56
	ldr	r1, [fp, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	add	r3, r3, #8
	mov	r2, ip
	strb	r2, [r3]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	sub	r2, r3, #1
	sub	r3, fp, #8192
	sub	r3, r3, #12
	sub	r1, r3, #412
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #3
	add	r3, r1, r3
	ldrh	r0, [r3]
	ldr	ip, .L160+56
	ldr	r1, [fp, #4]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, ip, r3
	add	r3, r3, #4
	strh	r0, [r3]	@ movhi
.L152:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r3, #1
	str	r3, [r2, #-576]
.L151:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	cmp	r3, #31
	ble	.L153
	ldr	r0, .L160+60
	bl	puts
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, #1
	strb	r2, [r3, #-583]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	mov	r3, #0
	str	r3, [r2, #-576]
	b	.L154
.L157:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-540]
	cmp	r3, #0
	ble	.L155
	ldr	r2, .L160+68
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	ldr	r3, [r2, r3, lsl #2]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #42
	beq	.L155
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-583]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L156
	ldr	r0, .L160+64
	bl	puts
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, #0
	strb	r2, [r3, #-583]
.L156:
	ldr	r2, .L160+68
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	ldr	r1, [r2, r3, lsl #2]
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	lsl	r3, r3, #2
	add	r3, r2, r3
	ldr	r3, [r3, #-540]
	mov	r2, r3
	ldr	r0, .L160+72
	bl	printf
.L155:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	mov	r2, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	add	r3, r3, #1
	str	r3, [r2, #-576]
.L154:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r3, [r3, #-576]
	cmp	r3, #31
	ble	.L157
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-591]	@ zero_extendqisi2
	mov	r1, r3
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldrb	r3, [r3, #-584]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r0, .L160+76
	bl	printf
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r0, [r3, #-560]
	bl	fclose
	b	.L105
.L106:
	sub	r3, fp, #8192
	sub	r3, r3, #12
	ldr	r1, [r3, #-608]
	ldr	r0, .L160+80
	bl	printf
.L105:
	ldr	r3, .L160+84
	ldr	r2, [r3]
	ldr	r3, [fp, #-16]
	eors	r2, r3, r2
	mov	r3, #0
	beq	.L159
	bl	__stack_chk_fail
.L159:
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	MOD_ConvMod, .-MOD_ConvMod
	.section	.rodata
	.align	2
.LC62:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_ModSamples\012AAS_ModSamp"
	.ascii	"les:\000"
	.align	2
.LC63:
	.ascii	"\012.word\000"
	.align	2
.LC64:
	.ascii	" %u, %u, %u\000"
	.align	2
.LC65:
	.ascii	", %u, %u, %u\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_WriteSamples, %function
MOD_WriteSamples:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #28
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	mov	r2, #46
	mov	r1, #1
	ldr	r0, .L169
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-20]
	b	.L163
.L168:
	ldr	r3, [fp, #-24]
	mov	r2, #6
	mov	r1, #1
	ldr	r0, .L169+4
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L164
.L167:
	ldr	r3, [fp, #-16]
	cmp	r3, #0
	bne	.L165
	ldr	r0, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	ldr	ip, [r3]
	ldr	r0, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	add	r3, r3, #6
	ldrh	r3, [r3]
	lsl	r0, r3, #16
	ldr	lr, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, lr, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	add	lr, r0, r3
	ldr	r0, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r0, r3, #8
	ldr	r4, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r4, r3
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r0, r3
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	ldr	r1, .L169+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	b	.L166
.L165:
	ldr	r0, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	ldr	ip, [r3]
	ldr	r0, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	add	r3, r3, #6
	ldrh	r3, [r3]
	lsl	r0, r3, #16
	ldr	lr, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, lr, r3
	add	r3, r3, #4
	ldrh	r3, [r3]
	add	lr, r0, r3
	ldr	r0, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r0, r3
	add	r3, r3, #9
	ldrb	r3, [r3]	@ zero_extendqisi2
	lsl	r0, r3, #8
	ldr	r4, .L169+8
	ldr	r2, [fp, #-16]
	ldr	r1, [fp, #-20]
	mov	r3, r2
	lsl	r3, r3, #1
	add	r3, r3, r2
	lsl	r3, r3, #2
	mov	r2, r1
	lsl	r2, r2, #1
	add	r2, r2, r1
	lsl	r1, r2, #5
	sub	r1, r1, r2
	lsl	r2, r1, #2
	mov	r1, r2
	add	r3, r3, r1
	add	r3, r4, r3
	add	r3, r3, #8
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r0, r3
	str	r3, [sp]
	mov	r3, lr
	mov	r2, ip
	ldr	r1, .L169+16
	ldr	r0, [fp, #-24]
	bl	fprintf
.L166:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L164:
	ldr	r3, [fp, #-16]
	cmp	r3, #30
	ble	.L167
	ldr	r3, [fp, #-20]
	add	r3, r3, #1
	str	r3, [fp, #-20]
.L163:
	ldr	r2, [fp, #-20]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L168
	ldr	r1, [fp, #-24]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
.L170:
	.align	2
.L169:
	.word	.LC62
	.word	.LC63
	.word	samps
	.word	.LC64
	.word	.LC65
	.size	MOD_WriteSamples, .-MOD_WriteSamples
	.section	.rodata
	.align	2
.LC66:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_Sequence\012AAS_Sequence:"
	.ascii	"\000"
	.align	2
.LC67:
	.ascii	"\012.short\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_WritePatterns, %function
MOD_WritePatterns:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #24
	str	r0, [fp, #-24]
	str	r1, [fp, #-28]
	ldr	r3, [fp, #-24]
	mov	r2, #42
	mov	r1, #1
	ldr	r0, .L180
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-16]
	b	.L172
.L179:
	ldr	r3, [fp, #-24]
	mov	r2, #7
	mov	r1, #1
	ldr	r0, .L180+4
	bl	fwrite
	mov	r3, #1
	strb	r3, [fp, #-17]
	mov	r3, #0
	str	r3, [fp, #-12]
	b	.L173
.L178:
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L174
.L177:
	ldrb	r3, [fp, #-17]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L175
	mov	r3, #0
	strb	r3, [fp, #-17]
	ldr	r1, .L180+8
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #7
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsl	r2, r3, #4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r1, .L180+12
	ldr	r0, [fp, #-24]
	bl	fprintf
	b	.L176
.L175:
	ldr	r1, .L180+8
	ldr	r3, [fp, #-16]
	lsl	r2, r3, #7
	ldr	r3, [fp, #-12]
	add	r3, r2, r3
	lsl	r2, r3, #4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	lsl	r3, r3, #1
	add	r3, r1, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r1, .L180+16
	ldr	r0, [fp, #-24]
	bl	fprintf
.L176:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L174:
	ldr	r3, [fp, #-8]
	cmp	r3, #15
	ble	.L177
	ldr	r3, [fp, #-12]
	add	r3, r3, #1
	str	r3, [fp, #-12]
.L173:
	ldr	r3, [fp, #-12]
	cmp	r3, #127
	ble	.L178
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L172:
	ldr	r2, [fp, #-16]
	ldr	r3, [fp, #-28]
	cmp	r2, r3
	blt	.L179
	ldr	r1, [fp, #-24]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L181:
	.align	2
.L180:
	.word	.LC66
	.word	.LC67
	.word	patts
	.word	.LC9
	.word	.LC10
	.size	MOD_WritePatterns, .-MOD_WritePatterns
	.section	.rodata
	.align	2
.LC68:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_NumChans\012AAS_NumChans:"
	.ascii	"\012.byte\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_WriteNumChans, %function
MOD_WriteNumChans:
	@ 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]
	ldr	r3, [fp, #-16]
	mov	r2, #48
	mov	r1, #1
	ldr	r0, .L187
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L183
.L186:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L184
	ldr	r2, .L187+4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L187+8
	ldr	r0, [fp, #-16]
	bl	fprintf
	b	.L185
.L184:
	ldr	r2, .L187+4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L187+12
	ldr	r0, [fp, #-16]
	bl	fprintf
.L185:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L183:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L186
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L188:
	.align	2
.L187:
	.word	.LC68
	.word	mod_num_chans
	.word	.LC10
	.word	.LC9
	.size	MOD_WriteNumChans, .-MOD_WriteNumChans
	.section	.rodata
	.align	2
.LC69:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_RestartPos\012AAS_Restart"
	.ascii	"Pos:\012.byte\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	MOD_WriteSongRestartPos, %function
MOD_WriteSongRestartPos:
	@ 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]
	ldr	r3, [fp, #-16]
	mov	r2, #52
	mov	r1, #1
	ldr	r0, .L194
	bl	fwrite
	mov	r3, #0
	str	r3, [fp, #-8]
	b	.L190
.L193:
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	beq	.L191
	ldr	r2, .L194+4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L194+8
	ldr	r0, [fp, #-16]
	bl	fprintf
	b	.L192
.L191:
	ldr	r2, .L194+4
	ldr	r3, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r1, .L194+12
	ldr	r0, [fp, #-16]
	bl	fprintf
.L192:
	ldr	r3, [fp, #-8]
	add	r3, r3, #1
	str	r3, [fp, #-8]
.L190:
	ldr	r2, [fp, #-8]
	ldr	r3, [fp, #-20]
	cmp	r2, r3
	blt	.L193
	ldr	r1, [fp, #-16]
	mov	r0, #10
	bl	fputc
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L195:
	.align	2
.L194:
	.word	.LC69
	.word	mod_song_restart_pos
	.word	.LC10
	.word	.LC9
	.size	MOD_WriteSongRestartPos, .-MOD_WriteSongRestartPos
	.local	last_samp_length
	.comm	last_samp_length,4,4
	.section	.rodata
	.align	2
.LC70:
	.ascii	"Done!\012\000"
	.align	2
.LC71:
	.ascii	"\012RAW_LoadSound( %s ): Unable to open...\012\000"
	.align	2
.LC72:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	RAW_LoadSound, %function
RAW_LoadSound:
	@ args = 0, pretend = 0, frame = 120
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #120
	str	r0, [fp, #-120]
	str	r1, [fp, #-124]
	ldr	r3, .L202
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-116]
	sub	r3, fp, #100
	mov	r1, r3
	ldr	r0, [fp, #-120]
	bl	stat
	mov	r3, r0
	cmp	r3, #0
	bne	.L197
	ldr	r3, [fp, #-56]
	str	r3, [fp, #-112]
	ldr	r1, .L202+4
	ldr	r0, [fp, #-120]
	bl	fopen
	str	r0, [fp, #-108]
	ldr	r3, [fp, #-108]
	cmp	r3, #0
	beq	.L198
	ldr	r3, [fp, #-112]
	add	r3, r3, #16
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-104]
	ldr	r2, .L202+8
	ldr	r3, [fp, #-112]
	str	r3, [r2]
	ldr	r3, [fp, #-104]
	add	r0, r3, #16
	ldr	r2, [fp, #-112]
	ldr	r3, [fp, #-108]
	mov	r1, #1
	bl	fread
	ldr	r0, [fp, #-108]
	bl	fclose
	ldr	r3, [fp, #-112]
	ldr	r2, [fp, #-104]
	add	r3, r2, r3
	mov	r2, #16
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	memcpy
	ldr	r3, [fp, #-112]
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-104]
	bl	MISC_ProcessSound
	ldr	r3, [fp, #-112]
	add	r3, r3, #16
	mov	r2, r3
	ldr	r1, [fp, #-104]
	ldr	r0, [fp, #-124]
	bl	DATA_Append
	mov	r3, r0
	add	r3, r3, #16
	str	r3, [fp, #-116]
	ldr	r0, [fp, #-104]
	bl	free
	ldr	r0, .L202+12
	bl	puts
	b	.L199
.L198:
	ldr	r1, [fp, #-120]
	ldr	r0, .L202+16
	bl	printf
	b	.L199
.L197:
	ldr	r1, [fp, #-120]
	ldr	r0, .L202+16
	bl	printf
.L199:
	ldr	r3, [fp, #-116]
	ldr	r2, .L202
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L201
	bl	__stack_chk_fail
.L201:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L203:
	.align	2
.L202:
	.word	.LC72
	.word	.LC47
	.word	last_samp_length
	.word	.LC70
	.word	.LC71
	.size	RAW_LoadSound, .-RAW_LoadSound
	.section	.rodata
	.align	2
.LC73:
	.ascii	"Failed: Unable to find valid data subchunk...\012\000"
	.align	2
.LC74:
	.ascii	"\012WAV_LoadSound( %s ): Failed: Not 8 bit...\012\000"
	.align	2
.LC75:
	.ascii	"\012WAV_LoadSound( %s ): Failed: Not mono...\012\000"
	.align	2
.LC76:
	.ascii	"\012WAV_LoadSound( %s ): Failed: Not in PCM format."
	.ascii	"..\012\000"
	.align	2
.LC77:
	.ascii	"\012WAV_LoadSound( %s ): Failed: Missing fmt subchu"
	.ascii	"nk...\012\000"
	.align	2
.LC78:
	.ascii	"\012WAV_LoadSound( %s ): Failed: Not a WAVE file..."
	.ascii	"\012\000"
	.align	2
.LC79:
	.ascii	"\012WAV_LoadSound( %s ): Failed: RIFF header missin"
	.ascii	"g...\012\000"
	.align	2
.LC80:
	.ascii	"\012WAV_LoadSound( %s ): Failed: Unable to open...\012"
	.ascii	"\000"
	.align	2
.LC81:
	.word	__stack_chk_guard
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	WAV_LoadSound, %function
WAV_LoadSound:
	@ args = 0, pretend = 0, frame = 48
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #48
	str	r0, [fp, #-48]
	str	r1, [fp, #-52]
	ldr	r3, .L228
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	mvn	r3, #0
	str	r3, [fp, #-24]
	ldr	r3, .L228+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r1, .L228+8
	ldr	r0, [fp, #-48]
	bl	fopen
	str	r0, [fp, #-20]
	ldr	r3, [fp, #-20]
	cmp	r3, #0
	beq	.L205
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	ldr	r3, [fp, #-36]
	ldr	r2, .L228+12
	cmp	r3, r2
	bne	.L206
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	ldr	r3, [fp, #-36]
	ldr	r2, .L228+16
	cmp	r3, r2
	bne	.L207
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	ldr	r3, [fp, #-36]
	ldr	r2, .L228+20
	cmp	r3, r2
	bne	.L208
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	sub	r0, fp, #42
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	ldrh	r3, [fp, #-42]
	cmp	r3, #1
	bne	.L209
	sub	r0, fp, #40
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	ldrh	r3, [fp, #-40]
	cmp	r3, #1
	bne	.L210
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	sub	r0, fp, #38
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #2
	bl	fread
	ldrh	r3, [fp, #-38]
	cmp	r3, #8
	bne	.L211
	mov	r3, #0
	strb	r3, [fp, #-43]
	mov	r3, #0
	str	r3, [fp, #-32]
.L218:
	sub	r0, fp, #36
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L212
	ldr	r3, [fp, #-36]
	ldr	r2, .L228+24
	cmp	r3, r2
	bne	.L213
	sub	r0, fp, #32
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L214
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L215
	mov	r3, #1
	strb	r3, [fp, #-43]
	b	.L215
.L214:
	mov	r3, #1
	strb	r3, [fp, #-43]
	b	.L215
.L213:
	sub	r0, fp, #28
	ldr	r3, [fp, #-20]
	mov	r2, #1
	mov	r1, #4
	bl	fread
	mov	r3, r0
	str	r3, [fp, #-16]
	ldr	r3, [fp, #-16]
	cmp	r3, #1
	bne	.L216
	ldr	r3, [fp, #-28]
	mov	r2, #1
	mov	r1, r3
	ldr	r0, [fp, #-20]
	bl	fseek
	b	.L215
.L216:
	mov	r3, #1
	strb	r3, [fp, #-43]
	b	.L215
.L212:
	mov	r3, #1
	strb	r3, [fp, #-43]
.L215:
	ldrb	r3, [fp, #-43]	@ zero_extendqisi2
	cmp	r3, #0
	beq	.L218
	ldr	r3, [fp, #-32]
	cmp	r3, #0
	ble	.L219
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-12]
	ldr	r3, [fp, #-32]
	ldr	r2, .L228+4
	str	r3, [r2]
	ldr	r3, [fp, #-12]
	add	r0, r3, #16
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-20]
	mov	r1, #1
	bl	fread
	ldr	r3, [fp, #-32]
	mov	r2, r3
	ldr	r3, [fp, #-12]
	add	r3, r3, r2
	mov	r2, #16
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	memcpy
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	MISC_ConvSoundToSigned
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	mov	r1, r3
	ldr	r0, [fp, #-12]
	bl	MISC_ProcessSound
	ldr	r3, [fp, #-32]
	add	r3, r3, #16
	mov	r2, r3
	ldr	r1, [fp, #-12]
	ldr	r0, [fp, #-52]
	bl	DATA_Append
	mov	r3, r0
	add	r3, r3, #16
	str	r3, [fp, #-24]
	ldr	r0, [fp, #-12]
	bl	free
	ldr	r0, .L228+28
	bl	puts
	b	.L224
.L219:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+32
	bl	printf
	b	.L224
.L211:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+36
	bl	printf
	b	.L224
.L210:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+40
	bl	printf
	b	.L224
.L209:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+44
	bl	printf
	b	.L224
.L208:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+48
	bl	printf
	b	.L224
.L207:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+52
	bl	printf
	b	.L224
.L206:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+56
	bl	printf
.L224:
	ldr	r0, [fp, #-20]
	bl	fclose
	b	.L225
.L205:
	ldr	r1, [fp, #-48]
	ldr	r0, .L228+60
	bl	printf
.L225:
	ldr	r3, [fp, #-24]
	ldr	r2, .L228
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L227
	bl	__stack_chk_fail
.L227:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L229:
	.align	2
.L228:
	.word	.LC81
	.word	last_samp_length
	.word	.LC47
	.word	1179011410
	.word	1163280727
	.word	544501094
	.word	1635017060
	.word	.LC70
	.word	.LC73
	.word	.LC74
	.word	.LC75
	.word	.LC76
	.word	.LC77
	.word	.LC78
	.word	.LC79
	.word	.LC80
	.size	WAV_LoadSound, .-WAV_LoadSound
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	String_GetChar, %function
String_GetChar:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #12
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	ldr	r2, [fp, #-8]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	String_GetChar, .-String_GetChar
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	String_EndsWithMOD, %function
String_EndsWithMOD:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	ble	.L233
	ldr	r3, [fp, #-8]
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #46
	bne	.L233
	ldr	r3, [fp, #-8]
	sub	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #109
	beq	.L234
	ldr	r3, [fp, #-8]
	sub	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #77
	bne	.L233
.L234:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #111
	beq	.L235
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #79
	bne	.L233
.L235:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #100
	beq	.L236
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #68
	bne	.L233
.L236:
	mov	r3, #1
	b	.L237
.L233:
	mov	r3, #0
.L237:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	String_EndsWithMOD, .-String_EndsWithMOD
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	String_EndsWithRAW, %function
String_EndsWithRAW:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	ble	.L239
	ldr	r3, [fp, #-8]
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #46
	bne	.L239
	ldr	r3, [fp, #-8]
	sub	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #114
	beq	.L240
	ldr	r3, [fp, #-8]
	sub	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #82
	bne	.L239
.L240:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #97
	beq	.L241
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #65
	bne	.L239
.L241:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #119
	beq	.L242
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #87
	bne	.L239
.L242:
	mov	r3, #1
	b	.L243
.L239:
	mov	r3, #0
.L243:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	String_EndsWithRAW, .-String_EndsWithRAW
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	String_EndsWithWAV, %function
String_EndsWithWAV:
	@ 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]
	ldr	r0, [fp, #-16]
	bl	strlen
	mov	r3, r0
	str	r3, [fp, #-8]
	ldr	r3, [fp, #-8]
	cmp	r3, #4
	ble	.L245
	ldr	r3, [fp, #-8]
	sub	r3, r3, #4
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #46
	bne	.L245
	ldr	r3, [fp, #-8]
	sub	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #119
	beq	.L246
	ldr	r3, [fp, #-8]
	sub	r3, r3, #3
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #87
	bne	.L245
.L246:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #97
	beq	.L247
	ldr	r3, [fp, #-8]
	sub	r3, r3, #2
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #65
	bne	.L245
.L247:
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #118
	beq	.L248
	ldr	r3, [fp, #-8]
	sub	r3, r3, #1
	mov	r1, r3
	ldr	r0, [fp, #-16]
	bl	String_GetChar
	mov	r3, r0
	cmp	r3, #86
	bne	.L245
.L248:
	mov	r3, #1
	b	.L249
.L245:
	mov	r3, #0
.L249:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
	.size	String_EndsWithWAV, .-String_EndsWithWAV
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	String_MakeSafe, %function
String_MakeSafe:
	@ 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]
	b	.L251
.L256:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]
	strb	r3, [fp, #-5]
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #96
	bls	.L252
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #122
	bls	.L253
.L252:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #64
	bls	.L254
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #90
	bls	.L253
.L254:
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #47
	bls	.L255
	ldrb	r3, [fp, #-5]	@ zero_extendqisi2
	cmp	r3, #57
	bls	.L253
.L255:
	ldr	r3, [fp, #-16]
	mov	r2, #95
	strb	r2, [r3]
.L253:
	ldr	r3, [fp, #-16]
	add	r3, r3, #1
	str	r3, [fp, #-16]
.L251:
	ldr	r3, [fp, #-16]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L256
	nop
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	String_MakeSafe, .-String_MakeSafe
	.section	.rodata
	.align	2
.LC82:
	.ascii	" Usage: Conv2AAS input_dir\012\000"
	.align	2
.LC83:
	.ascii	"  input_dir  Directory containing all Protracker\000"
	.align	2
.LC84:
	.ascii	"             MODs & sample data\012\000"
	.align	2
.LC85:
	.ascii	"  Output goes to files AAS_Data.s & AAS_Data.h\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	ShowHelp, %function
ShowHelp:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r0, .L258
	bl	puts
	ldr	r0, .L258+4
	bl	puts
	ldr	r0, .L258+8
	bl	puts
	ldr	r0, .L258+12
	bl	puts
	nop
	pop	{fp, pc}
.L259:
	.align	2
.L258:
	.word	.LC82
	.word	.LC83
	.word	.LC84
	.word	.LC85
	.size	ShowHelp, .-ShowHelp
	.section	.rodata
	.align	2
.LC86:
	.ascii	"/---------------------------------------------\\\000"
	.align	2
.LC87:
	.ascii	"| Conv2AAS v1.11        WAV, RAW & MOD -> AAS |\000"
	.align	2
.LC88:
	.ascii	"| Copyright (c) 2005, Apex Designs            |\000"
	.align	2
.LC89:
	.ascii	"\\---------------------------------------------/\012"
	.ascii	"\000"
	.align	2
.LC90:
	.ascii	"-help\000"
	.align	2
.LC91:
	.ascii	"-?\000"
	.align	2
.LC92:
	.ascii	"w\000"
	.align	2
.LC93:
	.ascii	"./AAS_Data.s\000"
	.align	2
.LC94:
	.ascii	"./AAS_Data.h\000"
	.align	2
.LC95:
	.ascii	"AAS_SampleData\000"
	.align	2
.LC96:
	.ascii	"AAS_PatternData\000"
	.align	2
.LC97:
	.ascii	"#ifndef __AAS_DATA__\012#define __AAS_DATA__\012\012"
	.ascii	"#include \"AAS.h\"\012\012#if AAS_VERSION != 0x111\012"
	.ascii	"#error AAS version does not match Conv2AAS version\012"
	.ascii	"#endif\012\012AAS_BEGIN_DECLS\012\000"
	.align	2
.LC98:
	.ascii	".TEXT\012.SECTION .rodata\012.ALIGN\012.ARM\012\012"
	.ascii	".ALIGN\012.EXTERN AAS_lib_v111\012.GLOBAL AAS_data_"
	.ascii	"v111\012AAS_data_v111:\012.word AAS_lib_v111\012\000"
	.align	2
.LC99:
	.ascii	"/\000"
	.align	2
.LC100:
	.ascii	"Adding MOD %s...\000"
	.align	2
.LC101:
	.ascii	"\012extern const AAS_u8 AAS_DATA_MOD_%s;\012\000"
	.align	2
.LC102:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_DATA_MOD_%s\012AAS_DATA_M"
	.ascii	"OD_%s:\012.byte %d\012\000"
	.align	2
.LC103:
	.ascii	"Adding RAW %s...\000"
	.align	2
.LC104:
	.ascii	"\012extern const AAS_s8* const AAS_DATA_SFX_START_%"
	.ascii	"s;\012\000"
	.align	2
.LC105:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_DATA_SFX_START_%s\012AAS_"
	.ascii	"DATA_SFX_START_%s:\012.word AAS_SampleData + %d\012"
	.ascii	"\000"
	.align	2
.LC106:
	.ascii	"\012extern const AAS_s8* const AAS_DATA_SFX_END_%s;"
	.ascii	"\012\000"
	.align	2
.LC107:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_DATA_SFX_END_%s\012AAS_DA"
	.ascii	"TA_SFX_END_%s:\012.word AAS_SampleData + %d\012\000"
	.align	2
.LC108:
	.ascii	"Adding WAV %s...\000"
	.align	2
.LC109:
	.ascii	"\012.ALIGN\012.GLOBAL AAS_DATA_NUM_MODS\012AAS_DATA"
	.ascii	"_NUM_MODS:\012.short %d\012\000"
	.align	2
.LC110:
	.ascii	"\012AAS_END_DECLS\012\012#endif\012\000"
	.align	2
.LC111:
	.ascii	"Unable to open directory %s...\012\000"
	.align	2
.LC112:
	.ascii	"Unable to open AASData.h for writing...\000"
	.align	2
.LC113:
	.ascii	"Unable to open AASData.s for writing...\000"
	.align	2
.LC114:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 568
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #576
	str	r0, [fp, #-568]
	str	r1, [fp, #-572]
	ldr	r3, .L277
	ldr	r3, [r3]
	str	r3, [fp, #-8]
	mov	r3,#0
	ldr	r3, .L277+4
	ldr	r3, [r3]
	mov	r1, #0
	mov	r0, r3
	bl	setbuf
	mov	r0, #10
	bl	putchar
	ldr	r0, .L277+8
	bl	puts
	ldr	r0, .L277+12
	bl	puts
	ldr	r0, .L277+16
	bl	puts
	ldr	r0, .L277+20
	bl	puts
	ldr	r3, [fp, #-568]
	cmp	r3, #1
	bgt	.L261
	bl	ShowHelp
	b	.L262
.L261:
	ldr	r3, [fp, #-568]
	cmp	r3, #2
	bne	.L263
	ldr	r3, [fp, #-572]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L277+24
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L264
	ldr	r3, [fp, #-572]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L277+28
	mov	r0, r3
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L263
.L264:
	bl	ShowHelp
	b	.L262
.L263:
	ldr	r1, .L277+32
	ldr	r0, .L277+36
	bl	fopen
	str	r0, [fp, #-552]
	ldr	r3, [fp, #-552]
	cmp	r3, #0
	beq	.L265
	ldr	r1, .L277+32
	ldr	r0, .L277+40
	bl	fopen
	str	r0, [fp, #-548]
	ldr	r3, [fp, #-548]
	cmp	r3, #0
	beq	.L266
	ldr	r3, [fp, #-572]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r0, r3
	bl	opendir
	str	r0, [fp, #-544]
	ldr	r3, [fp, #-544]
	cmp	r3, #0
	beq	.L267
	mov	r3, #0
	str	r3, [fp, #-560]
	mov	r3, #0
	str	r3, [fp, #-556]
	ldr	r0, .L277+44
	bl	DATA_Create
	str	r0, [fp, #-540]
	ldr	r0, .L277+48
	bl	DATA_Create
	str	r0, [fp, #-536]
	ldr	r3, [fp, #-548]
	mov	r2, #161
	mov	r1, #1
	ldr	r0, .L277+52
	bl	fwrite
	ldr	r3, [fp, #-552]
	mov	r2, #120
	mov	r1, #1
	ldr	r0, .L277+56
	bl	fwrite
.L272:
	ldr	r0, [fp, #-544]
	bl	readdir
	str	r0, [fp, #-532]
	ldr	r3, [fp, #-532]
	cmp	r3, #0
	beq	.L268
	ldr	r3, [fp, #-572]
	add	r3, r3, #4
	ldr	r2, [r3]
	sub	r3, fp, #520
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #520
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	mov	r2, r3
	sub	r3, fp, #520
	add	r3, r3, r2
	ldr	r2, .L277+60
	mov	r0, r3
	mov	r1, r2
	mov	r3, #2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-532]
	add	r2, r3, #11
	sub	r3, fp, #520
	mov	r1, r2
	mov	r0, r3
	bl	strcat
	ldr	r3, [fp, #-532]
	add	r3, r3, #11
	mov	r0, r3
	bl	String_EndsWithMOD
	mov	r3, r0
	cmp	r3, #0
	beq	.L269
	ldr	r3, [fp, #-560]
	add	r3, r3, #1
	str	r3, [fp, #-560]
	ldr	r3, [fp, #-532]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L277+64
	bl	printf
	sub	r2, fp, #520
	ldr	r3, [fp, #-556]
	str	r3, [sp]
	mov	r3, r2
	ldr	r2, [fp, #-536]
	ldr	r1, [fp, #-540]
	ldr	r0, [fp, #-548]
	bl	MOD_ConvMod
	ldr	r3, [fp, #-532]
	add	r2, r3, #11
	sub	r3, fp, #520
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #520
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #4
	sub	r2, fp, #520
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #520
	mov	r0, r3
	bl	String_MakeSafe
	sub	r3, fp, #520
	mov	r2, r3
	ldr	r1, .L277+68
	ldr	r0, [fp, #-548]
	bl	fprintf
	sub	r1, fp, #520
	sub	r2, fp, #520
	ldr	r3, [fp, #-556]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L277+72
	ldr	r0, [fp, #-552]
	bl	fprintf
	ldr	r3, [fp, #-556]
	add	r3, r3, #1
	str	r3, [fp, #-556]
	b	.L268
.L269:
	ldr	r3, [fp, #-532]
	add	r3, r3, #11
	mov	r0, r3
	bl	String_EndsWithRAW
	mov	r3, r0
	cmp	r3, #0
	beq	.L271
	ldr	r3, [fp, #-560]
	add	r3, r3, #1
	str	r3, [fp, #-560]
	ldr	r3, [fp, #-532]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L277+76
	bl	printf
	sub	r3, fp, #520
	ldr	r1, [fp, #-540]
	mov	r0, r3
	bl	RAW_LoadSound
	str	r0, [fp, #-524]
	ldr	r3, [fp, #-524]
	cmp	r3, #0
	blt	.L268
	ldr	r3, [fp, #-532]
	add	r2, r3, #11
	sub	r3, fp, #520
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #520
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #4
	sub	r2, fp, #520
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #520
	mov	r0, r3
	bl	String_MakeSafe
	sub	r3, fp, #520
	mov	r2, r3
	ldr	r1, .L277+80
	ldr	r0, [fp, #-548]
	bl	fprintf
	sub	r1, fp, #520
	sub	r2, fp, #520
	ldr	r3, [fp, #-524]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L277+84
	ldr	r0, [fp, #-552]
	bl	fprintf
	sub	r3, fp, #520
	mov	r2, r3
	ldr	r1, .L277+88
	ldr	r0, [fp, #-548]
	bl	fprintf
	ldr	r3, .L277+92
	ldr	r2, [r3]
	ldr	r3, [fp, #-524]
	add	r3, r2, r3
	sub	r1, fp, #520
	sub	r2, fp, #520
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L277+96
	ldr	r0, [fp, #-552]
	bl	fprintf
	b	.L268
.L271:
	ldr	r3, [fp, #-532]
	add	r3, r3, #11
	mov	r0, r3
	bl	String_EndsWithWAV
	mov	r3, r0
	cmp	r3, #0
	beq	.L268
	ldr	r3, [fp, #-560]
	add	r3, r3, #1
	str	r3, [fp, #-560]
	ldr	r3, [fp, #-532]
	add	r3, r3, #11
	mov	r1, r3
	ldr	r0, .L277+100
	bl	printf
	sub	r3, fp, #520
	ldr	r1, [fp, #-540]
	mov	r0, r3
	bl	WAV_LoadSound
	str	r0, [fp, #-528]
	ldr	r3, [fp, #-528]
	cmp	r3, #0
	blt	.L268
	ldr	r3, [fp, #-532]
	add	r2, r3, #11
	sub	r3, fp, #520
	mov	r1, r2
	mov	r0, r3
	bl	strcpy
	sub	r3, fp, #520
	mov	r0, r3
	bl	strlen
	mov	r3, r0
	sub	r3, r3, #4
	sub	r2, fp, #520
	add	r3, r2, r3
	mov	r2, #0
	strb	r2, [r3]
	sub	r3, fp, #520
	mov	r0, r3
	bl	String_MakeSafe
	sub	r3, fp, #520
	mov	r2, r3
	ldr	r1, .L277+80
	ldr	r0, [fp, #-548]
	bl	fprintf
	sub	r1, fp, #520
	sub	r2, fp, #520
	ldr	r3, [fp, #-528]
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L277+84
	ldr	r0, [fp, #-552]
	bl	fprintf
	sub	r3, fp, #520
	mov	r2, r3
	ldr	r1, .L277+88
	ldr	r0, [fp, #-548]
	bl	fprintf
	ldr	r3, .L277+92
	ldr	r2, [r3]
	ldr	r3, [fp, #-528]
	add	r3, r2, r3
	sub	r1, fp, #520
	sub	r2, fp, #520
	str	r3, [sp]
	mov	r3, r1
	ldr	r1, .L277+96
	ldr	r0, [fp, #-552]
	bl	fprintf
.L268:
	ldr	r3, [fp, #-532]
	cmp	r3, #0
	bne	.L272
	ldr	r0, [fp, #-544]
	bl	closedir
	ldr	r2, [fp, #-556]
	ldr	r1, .L277+104
	ldr	r0, [fp, #-552]
	bl	fprintf
	ldr	r1, [fp, #-556]
	ldr	r0, [fp, #-552]
	bl	MOD_WriteSamples
	ldr	r1, [fp, #-556]
	ldr	r0, [fp, #-552]
	bl	MOD_WritePatterns
	ldr	r1, [fp, #-556]
	ldr	r0, [fp, #-552]
	bl	MOD_WriteNumChans
	ldr	r1, [fp, #-556]
	ldr	r0, [fp, #-552]
	bl	MOD_WriteSongRestartPos
	ldr	r1, [fp, #-552]
	ldr	r0, [fp, #-540]
	bl	DATA_Write
	ldr	r1, [fp, #-552]
	ldr	r0, [fp, #-536]
	bl	DATA_Write
	mov	r0, #10
	bl	putchar
	ldr	r3, [fp, #-548]
	mov	r2, #23
	mov	r1, #1
	ldr	r0, .L277+108
	bl	fwrite
	b	.L273
.L267:
	ldr	r3, [fp, #-572]
	add	r3, r3, #4
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L277+112
	bl	printf
.L273:
	ldr	r0, [fp, #-548]
	bl	fclose
	b	.L274
.L266:
	ldr	r0, .L277+116
	bl	puts
.L274:
	ldr	r0, [fp, #-552]
	bl	fclose
	b	.L262
.L265:
	ldr	r0, .L277+120
	bl	puts
.L262:
	mov	r3, #0
	ldr	r2, .L277
	ldr	r1, [r2]
	ldr	r2, [fp, #-8]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L276
	bl	__stack_chk_fail
.L276:
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L278:
	.align	2
.L277:
	.word	.LC114
	.word	stdout
	.word	.LC86
	.word	.LC87
	.word	.LC88
	.word	.LC89
	.word	.LC90
	.word	.LC91
	.word	.LC92
	.word	.LC93
	.word	.LC94
	.word	.LC95
	.word	.LC96
	.word	.LC97
	.word	.LC98
	.word	.LC99
	.word	.LC100
	.word	.LC101
	.word	.LC102
	.word	.LC103
	.word	.LC104
	.word	.LC105
	.word	.LC106
	.word	last_samp_length
	.word	.LC107
	.word	.LC108
	.word	.LC109
	.word	.LC110
	.word	.LC111
	.word	.LC112
	.word	.LC113
	.size	main, .-main
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
