public string FormatParameters(IntPtr[] parameters)
{
// Declare a var to store the mnemonics
var ret = new StringBuilder();
var paramList = new List<IntPtr>(parameters);
// Store the 'this' pointer in the ECX register
if (paramList.Count > 0)
{
ret.AppendLine("mov ecx, " + paramList[0]);
paramList.RemoveAt(0);
}
// For each parameters (in reverse order)
paramList.Reverse();
foreach (var parameter in paramList)
{
ret.AppendLine("push " + parameter);
}
// Return the mnemonics
return ret.ToString();
}