Well the CSREMU is quite an unstable one. If you want to rewrite it you should really start from the bottom. What I can recommend you is leaving the C# and using C++. Use the Rose Online Emu (
osRose Downloads ) files as base- They are pretty stable and easy to understand and use. Their main functions are pretty similar and are easily convertable. Yet you should understand that it's a lot of work and it needs your dedication. The messiest part is collecting all of the opcodes which can take you much longer that you can expect. Otherwise good luck :)