Just FYI, I'm unaware of a fully static recompiller due to:
1) address calculation issues with indirection
2) data modification requirements
I've seen one static recompiler but it was naive at best and failed entirely when it came to dynamically generated instructions. There are also other issues regarding assembly language tricks like using the operand of an instruction as an instruction by directly jumping too it. This is a neat trick that occurs in Super Mario Bros. for NES.
Static recompilation is an are of interest of mine because I would like to see old games (which have many assembly tricks) be able to run natively on newer systems. I could talk about this in depth but it requires a bit of understanding of the issues that remain, like identifying code versus data. That said, I'm confident a general static recompiler can be produced but it will require plenty of symbolic algebra to translate the old data to the new target.