fincon09.sol
//SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.26;
contract fincon
{
address constant control_address = 0x3e7dE2106399A97337739d36f998822AaF675133;
uint constant daily = 0.005 ether;
uint constant windows = 10;
uint constant secs_per_month = 2629651;
uint constant secs_per_window = secs_per_month / windows + 1;
uint constant g = daily * secs_per_window / 86400;
uint last_tx = 0;
receive() external payable {}
function withdraw(address payable dst_address, uint amount) public
{
require(msg.sender == control_address);
require(block.timestamp >= secs_per_window + last_tx);
uint l = block.timestamp / secs_per_month * secs_per_month; //1719791754
uint m = (block.timestamp - l) / secs_per_window; //0
uint n = windows - m; //5
uint o = m + m + 1; //1
uint p = (windows + m) * n; //25
uint q = (address(this).balance - g * n) * o / p + g; //
require(amount <= q);
dst_address.transfer(amount);
last_tx = block.timestamp;
}
}