```\\nfunction _reinvestDividendOfUser(address account) private returns (uint256) {\\n    uint256 _withdrawableDividend = withdrawableDividendOf(account);\\n    if (_withdrawableDividend > 0) {\\n        bool success;\\n\\n        withdrawnDividends[account] = withdrawnDividends[account].add(_withdrawableDividend);\\n\\n        address[] memory path = new address[](2);\\n        path[0] = uniswapV2Router.WETH();\\n        path[1] = address(VenomContract);\\n\\n        uint256 prevBalance = VenomContract.balanceOf(address(this));\\n\\n        // make the swap\\n        try\\n            uniswapV2Router\\n                .swapExactETHForTokensSupportingFeeOnTransferTokens{value: _withdrawableDividend}\\n                (0, path, address(this), block.timestamp)\\n        {\\n            uint256 received = VenomContract.balanceOf(address(this)).sub(prevBalance);\\n            if (received > 0) {\\n                success = true;\\n                VenomContract.transfer(account, received);\\n            } \\n            else {\\n                success = false;\\n            }\\n        } catch {\\n            success = false;\\n        }\\n\\n        if (!success) {\\n            withdrawnDividends[account] = withdrawnDividends[account].sub(_withdrawableDividend);\\n            return 0;\\n        }\\n\\n        return _withdrawableDividend;\\n    }\\n\\n    return 0;\\n}\\n```\\n