Well, You create the dll thread by using CreateThread, Then you can use memcpy ect. You dont need to WPM as you already have access to memory
The main DLL you will be needing to analyze is now packed (CShell.dll), so you will need to create a dump of ot (or if you can, unpack it).
To dump it, you can use Kernal Detective
I think i answered your questions correctly, as I am not quite sure how to answer them/
If you need anymore help, be ssure to leave me a message.