Attach CE to the process (and pause, if you're slow). Replace the title text (or actor text) archive name with your desired archive. Skip the intro cinematics, pause the game _right_ after you cancel the "HUmar dives into the warp pool" one. Search for the file's (in the ICE) header (open one of my .ice files in a hex editor, you'll see how they're set up). Use the data in the header to save the file (or if the archive has a bunch of files, use a lua script to walk through and output all of them).
The problem is the part where the game only keeps the actual original file in memory for a very brief time. Could've sworn their lua interpreter allowed frame advance (obviously not a _guaranteed_ approach given file loading's not synchronous with the game's display), but I couldn't find it.
Realistically, it works... occasionally. Otherwise, it's more along the lines of "search the file header, find nothing, swear, start over". Not a pretty process.