I have find it easy to translate (64),here the result
The translated is named firewall_asm.exe and the c sample firewallref.exe
There is a grammary question thant i let you solve.The two assertions:
NotificationsDisabled are disabled
UnicastResponsesToMulticastBroadcastDisabled is disabled
the upper are of my source
Notifications are enabled
UnicastResponsesToMulticastBroadcast is enabled
Those two are inverted ,The logic is that disabled the disabled give an enable.
This had been obtain changing the order of the comparison: bIsEnabled ? "enabled" : "disabled" (first two lines) begin bIsEnabled ? "disabled" : "enabled") last two lines
Make the same in the asm source ,if you want.