Alright, I'll use WindHex and search for those offsets, as well as Cartographer. Thanks!
Here's how I'd personally go about solving the problem (without using assembly):
1. Build the normal entries of the table using relative search (Monkey Moore is a good util for relsearch). You may have to search several strings before getting a valid result because of DTE/dictionary compression.
2. Using the table (and the dialogue location result from the relsearch) in Windhex, look for missing parts of words. You'll be able to figure out whether the game uses DTE, dictionary (or both) and how it uses it.
3. Find a string that you know how to access in-game. Say if you found F01D=that, then modify that string to be F01DF01EF01FF020 (example) and look at the text in-game. Let's say the game showed, "thatwhowhichwhat<other texthere>"
4. Dictionary entries are usually (but not always) stored one entry after another with some null-byte in between (exception: fixed length strings). So you can try text searching for the longest dictionary entry you found (here it's F01F=which), or you can text search/relsearch for "that?who?which?what" where ? is a wildcard. If you have DTE (two characters per one script byte), then search without wildcards (like "thatwhowhichwhat").
5. Now you've hopefully found the table. Dump the table from beginning to end and add it to your table (will take a few minutes of manual work).
6. Do a quick look over in Windhex for values you've missed. Dump the text and confirm.
Once you've gotten this far...you need to identify pointers and that's generally enough info (script, pointer format, pointer locations) to get a complete script dump and to reinsert it. Don't skip out on using Cartographer/Atlas because other ways are "easier", you'll pay for it in the end.