Check, if the following changes helps
Deallocate:
$azfw = Get-AzureRmFirewall -Name "FW Name” -ResourceGroupName "RG Name"
$azfw.Deallocate()
Set-AzureRmFirewall -AzureFirewall $azfw
Allocate:
$vnet= Get-AzureRmVirtualNetwork -ResourceGroupName " RG Name " -Name "VNET Name"
$publicip= Get-AzureRmPublicIpAddress -Name "Public IP Name" -ResourceGroupName " RG Name"
$azfw.Allocate($vnet,$publicip)
Set-AzureRmFirewall -AzureFirewall $azfw