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.