A 2Mb binary? Like, say, twice the size of the main Steam executable, or the average size of a complete SNES game, or the size of the main Python DLL, or Windows ntoskrnl.exe (each of which probably contain hundreds of thousands of lines of code, if not millions, are usually compressed and rely on lots of extra code to be present, e.g. BIOS, firmware, graphics processors, extraneous libraries, Windows internal functions, etc.)?
Reverse-engineering any of those to a usable degree is a seriously complicated task, especially if you are then hoping to recreate them on an entirely different architecture that doesn't have the same supporting hardware/software. It took *years* for someone to disassemble and reverse engineer the old DOS game Transport Tycoon, to the point where some vaguely readable / compilable C code could be made that produced a working executable, which then formed the initial basis of the OpenTTD project that's available for all platforms. YEARS.
And that was a silly DOS game that was entirely self-contained (and I know from experience that most DOS games were actually quite "tightly" programmed and it was easy to follow the code paths with a simple debugger - today's debugging is much harder and today's programming languages throw an awful lot of junk in there for you to decipher), was being reversed to some code that could produce a working executable on the *same* OS / architecture, and it barely produced something that worked. And in the end most of the code was just scrapped and rewritten piece by piece because it was so hard to understand what it actually did - they're now about 3/4 years down the line of the rewrite, let alone the initial disassembly. They've been doing that project since 2002 and it wasn't until about 2006/7 that it actually became good enough to be ported and rival the original in terms of compatibility and stability, and they *still* haven't managed to replace all the original artwork and sounds with their own non-copyrighted versions.
The flash plugin probably uses a million and one internal Windows libraries to do its job (HTTP fetching, encryption, file / network access, etc.) all of which would have to be understood and recreated on another platform perfectly if anything is going to work.
I hate how people misunderstand the complexity of "reverse-engineering" and, from there, porting... it's like giving someone a 747 and then saying "Go on, build me a factory to make another one identical in every detail" (yeah, not just a replica 747 but a way to produce *every* component it had), even though nobody makes the parts, nobody has any of the plans or blueprints, nobody remembers how it went together, and you have to use a different material for every piece because the original materials are no longer available.
In 5-10 years, Gnash will be able to comfortably handle today's Flash perfectly. In 5-10 years, Wine will be able to comfortably handle the majority of today's Windows applications perfectly (a simple game like Castle of the Winds still has bugs in Wine and that was written using only Windows 3.0 functions!). In 5-10 years, nobody will care. Such is the problem behind getting people to work on such projects.