```\nfunction _canLiquidate(MTypes.MarginCallPrimary memory m)\n    private\n    view\n    returns (bool)\n{\n// rest of code      // [// rest of code]\n    uint256 timeDiff = LibOrders.getOffsetTimeHours() - m.short.updatedAt;\n    uint256 resetLiquidationTime = LibAsset.resetLiquidationTime(m.asset);\n❌  if (timeDiff >= resetLiquidationTime) {\n        return false;\n    } else {\n        uint256 secondLiquidationTime = LibAsset.secondLiquidationTime(m.asset);\n        bool isBetweenFirstAndSecondLiquidationTime = timeDiff\n            > LibAsset.firstLiquidationTime(m.asset) && timeDiff <= secondLiquidationTime\n            && s.flagMapping[m.short.flaggerId] == msg.sender;\n        bool isBetweenSecondAndResetLiquidationTime =\n            timeDiff > secondLiquidationTime && timeDiff <= resetLiquidationTime;\n        if (\n            !(\n                (isBetweenFirstAndSecondLiquidationTime)\n                    || (isBetweenSecondAndResetLiquidationTime)\n            )\n        ) {\n            revert Errors.MarginCallIneligibleWindow();\n        }\n        return true;\n    }\n}\n```\n