findloc OFFSET string "BCA0"             	#Starts by finding the first instance of text string "BCA0"
do              
    goto OFFSET					#Goes to the address identified above
    get DUMMY long				#Skips four bytes
    get DUMMY long				#Skips four bytes
    get SIZE long				#Records the next four bytes as the file size
    getdstring DUMMY 0x28                       #Skips 0x28 bytes
    getdstring NAME 0x10			#Records the next 0x10 bytes as the file name
    string NAME + ".NSBCA"			#Modifies the recorded filename by adding the ".NSBCA" extension
    log NAME OFFSET SIZE                        #Writes the file defined by the above lines
    findloc NEXT_OFFSET string "BCA0" 0 ""      #Finds the next instance of text string "BCA0" and records its address as the variable NEXT_OFFSET
    math OFFSET = NEXT_OFFSET                   #Sets the OFFSET variable to equal NEXT_OFFSET defined above
while NEXT_OFFSET < 0x33A6000                  	#Loops back to the first line of code after the "do" command, provided a NEXT_OFFSET was found before Address 0x33A6000. We stop a little early to prevent the script bugging out at an instance of "BCA0" that exists by coincidence.