I think you'll have some trouble fighting MS to prove that your open source version isn't directly based on code you got from the decompiled binary.
As other have said, it's better to follow the clean-room process and define the specification. Then someone else can implement it in a legally safe manner.
The specification by itself would be an enormous contribution.