Analisar código CIL com Regex

Eu tenho um arquivo * .il. Eu quero encontrar todos os métodos não vazios nele (.method). Por exemplo:

.class private auto ansi beforefieldinit MyApp.Program
       extends [mscorlib]System.Object
{
   //catch its body
  .method private hidebysig static void  Main(string[] args) cil managed
  {
    .entrypoint
    // 
    .maxstack  8
    IL_0000:  nop
    IL_0001:  ret
  }  

  //catch its body
  .method public hidebysig specialname rtspecialname 
          instance void  .ctor() cil managed
  {
    // 
    .maxstack  8
    IL_0000:  ldarg.0
    IL_0001:  call       instance void [mscorlib]System.Object::.ctor()
    IL_0006:  ret
  }  

   //don't touch, it's empty
   .method public hidebysig newslot virtual 
          instance string  Invoke(string a) runtime managed
  {
  }  
 //......................................
}

Agora estou fazendo isso usando uma string de classe. É completamente não racional. Eu tentei usarRegex mas eu não consegui descobrir como criar uma expressão reg para capturar apenas

métodos (e não classes)somente métodos com corpo não vazio

Alguém pode me ajudar?

questionAnswers(1)

yourAnswerToTheQuestion