BNB Chain

0x5e7ef631f513af617222a6a40d2ddb536401ae72

Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.

Decompilation outputBNB Chain · 0x5e7ef631…6401ae7210.9 KB46.2 s
Share
1,684 lines · Click a variable or keyword to highlight its references · Click a line number to copy its link; Shift-click to copy a block link
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec// SPDX-License-Identifier: MITpragma solidity >=0.8.0;contract DesolexContract {    uint256 stor_0; // STORAGE[0x0]    address public owner; // STORAGE[0x33]    address public token; // STORAGE[0x65]    address public usdt; // STORAGE[0x66]    address public nft; // STORAGE[0x67]    uint256 public totalNFTRewards; // STORAGE[0x68]    uint256 public unresolved_3eb9b901; // STORAGE[0x69]    mapping(address => uint256) public claimedNFTDividend; // STORAGE[0x6a]    mapping(address => uint256) public unresolved_2a31f6fb; // STORAGE[0x6b]    uint256 public currentDistributionTotal; // STORAGE[0x6c]    uint256 public unresolved_28cce4f4; // STORAGE[0x6d]    uint256 public lockedNFTSupply; // STORAGE[0x6e]    uint256 public lockedMaxTokenId; // STORAGE[0x6f]    uint256 public perNFTAmount; // STORAGE[0x70]    uint256 public unresolved_6a0fc3a0; // STORAGE[0x71]    uint256 stor_72; // STORAGE[0x72]    uint256 public currentDistributionClaimed; // STORAGE[0x73]    uint256 public unresolved_68630a06; // STORAGE[0x74]    bool public distributionActive; // STORAGE[0x75] bytes 0 to 0    uint256 public lastDistributionEndTime; // STORAGE[0x76]    uint256 public DISTRIBUTION_COOLDOWN; // STORAGE[0x77]    uint256 public batchSize; // STORAGE[0x78]    address public distributor; // STORAGE[0x79]    address public remainderReceiver; // STORAGE[0x7a]    address public unresolved_1be704e0; // STORAGE[0x7b]    uint256 public unresolved_d0dfe553; // STORAGE[0x7c]    uint256 public unresolved_0c7f93b5; // STORAGE[0x7d]    uint256 public unresolved_02d3489e; // STORAGE[0x7e]    mapping(address => uint256) public unresolved_f17f8b47; // STORAGE[0x7f]    address public splitReceiver; // STORAGE[0x80]    uint256 public splitRatio; // STORAGE[0x81]        event DistributionCompleted(uint256, uint256, uint256);    event DividendDistributed(uint256, uint256, uint256, uint256);    event Event_fe681dfb(address indexed, uint256 indexed, uint256, uint256, uint256);    event Initialized(uint8);    event OwnershipTransferred(address indexed, address indexed);    function _desolexPanic(uint256 code) private pure {        assembly ("memory-safe") {            mstore(0x00, shl(224, 0x4e487b71))            mstore(0x04, code)            revert(0x00, 0x24)        }    }        modifier onlyOwner() {        require(msg.sender == owner, "Ownable: caller is not the owner");        _;    }    fallback() external {        // Synthetic compatibility routes preserve original selectors for unresolved names.        if ((msg.data.length >= 4) && (msg.sig == 0x44969094)) {            // Route to Unknown_44969094(address) after replacing only msg.sig.            __desolexSelectorShim(uint32(0xb02d1111));            return;        }        revert();    }            function initialize(address arg0, address arg1, address arg2, address arg3) public {        bool flag0 = (bytes1(stor_0)) < 0x01;        if (bytes1(stor_0 >> 0x08)) {            flag0 = !(bytes1(stor_0 >> 0x08));        }        require(!flag0 && (address(this).code.length == 0x0 && (stor_0 & 0xff) == 0x1) || flag0, "Initializable: contract is already initialized");        stor_0 = 0x01 | (stor_0 & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00));        uint256 value0 = this.code.length;        if (!(bytes1(stor_0 >> 0x08))) {            stor_0 = 0x0101 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 & stor_0);        } else {            value0 = stor_0;        }        require(bytes1(stor_0 >> 0x08), "Initializable: contract is not initializing");        require(bytes1(stor_0 >> 0x08), "Initializable: contract is not initializing");        emit OwnershipTransferred(owner, msg.sender);        owner = msg.sender;        DISTRIBUTION_COOLDOWN = 0x0e10;        token = arg0;        nft = arg1;        batchSize = 0x32;        distributor = arg2;        remainderReceiver = arg3;        if (bytes1(stor_0 >> 0x08)) {            return;        }        stor_0 = stor_0 & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff);        emit Initialized(0x01);    }        function transferOwnership(address newOwner) public onlyOwner {        require(newOwner != address(0), "Ownable: new owner is the zero address");        emit OwnershipTransferred(owner, newOwner);        owner = newOwner;    }        function startDistribution() public {        if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0) {            bool flag0 = msg.sender == owner;            if (msg.sender == distributor) {                flag0 = msg.sender == distributor;            }            if (flag0) {                if (!distributionActive) {                    uint256 value0 = this.code.length;                    if (lastDistributionEndTime != 0) {                    } else {                        value0 = lastDistributionEndTime;                    }                    if (((lastDistributionEndTime != 0x0) && (block.timestamp >= lastDistributionEndTime + DISTRIBUTION_COOLDOWN)) || (lastDistributionEndTime == 0x0)) {                        if (((splitReceiver & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0) && (splitRatio != 0x0)) {                            (bool success0, bytes memory returnData0) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                            uint256 var_c;                            if (success0) {                                uint256 value2 = this.code.length;                                uint256 value3 = var_c.length;                                if (success0) {                                    uint256 value1 = returnData0.length;                                    if (0x20 <= returnData0.length) {                                        value1 = 0x20;                                    }                                    if (((var_c + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                    var_c = var_c + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    require(((var_c + value1) - var_c) >= 0x20);                                } else {                                    value2 = var_c;                                    value3 = 0;                                }                                uint256 value12;                                uint256 value70;                                if (value3 == 0) {                                    if (unresolved_1be704e0 != address(0)) {                                        (bool success1, bytes memory returnData1) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                        if (success1) {                                            uint256 value5 = this.code.length;                                            uint256 value6 = var_c.length;                                            if (success1) {                                                uint256 value4 = returnData1.length;                                                if (0x20 <= returnData1.length) {                                                    value4 = 0x20;                                                }                                                if (((var_c + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                var_c = var_c + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                require(((var_c + value4) - var_c) >= 0x20);                                            } else {                                                value5 = var_c;                                                value6 = 0;                                            }                                            if (value6 == 0) {                                                if (usdt != address(0)) {                                                    (bool success2, bytes memory returnData2) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                    if (success2) {                                                        uint256 value8 = this.code.length;                                                        uint256 value9 = var_c.length;                                                        if (success2) {                                                            uint256 value7 = returnData2.length;                                                            if (0x20 <= returnData2.length) {                                                                value7 = 0x20;                                                            }                                                            if (((var_c + ((value7 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value7 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                            var_c = var_c + ((value7 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                            require(((var_c + value7) - var_c) >= 0x20);                                                        } else {                                                            value8 = var_c;                                                            value9 = 0;                                                        }                                                        if (value9 != 0x0 && (((value9 * splitRatio) / value9) == splitRatio) | !value9 && (value9 * splitRatio) / 0x2710) {                                                            usdt.transfer(splitReceiver, (value9 * splitRatio) / 0x2710); // call                                                        }                                                    }                                                } else {                                                    (bool success4, bytes memory returnData4) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                    require(success4);                                                    uint256 value11 = this.code.length;                                                    value12 = var_c.length;                                                    if (success4) {                                                        uint256 value10 = returnData4.length;                                                        if (0x20 <= returnData4.length) {                                                            value10 = 0x20;                                                        }                                                        if (((var_c + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                        var_c = var_c + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                        require(((var_c + value10) - var_c) >= 0x20);                                                    } else {                                                        value11 = var_c;                                                        value12 = 0;                                                    }                                                    uint256 value14 = this.code.length;                                                    uint256 value15;                                                    if (unresolved_1be704e0 != address(0)) {                                                        (bool success5, bytes memory returnData5) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                        require(success5);                                                        uint256 value86 = var_c.length;                                                        if (success5) {                                                            uint256 value13 = returnData5.length;                                                            if (0x20 <= returnData5.length) {                                                                value13 = 0x20;                                                            }                                                            if (((var_c + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                            var_c = var_c + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                            require(((var_c + value13) - var_c) >= 0x20);                                                        } else {                                                            value86 = 0;                                                        }                                                        value15 = value86;                                                    } else {                                                        value14 = unresolved_1be704e0;                                                        value15 = 0;                                                    }                                                    if (!(usdt)) {                                                        bool flag3 = value15 != 0x0;                                                        if (value12 != 0x0) {                                                            flag3 = value12 != 0x0;                                                        }                                                        require(!flag3 && 0x0 != 0x0 || flag3, "NFTDiv: no balance");                                                        uint256 value16 = value12 + value15;                                                        uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                        uint256 value88 = 0;                                                        uint256 value89 = 0x04;                                                        uint256 value90 = value15;                                                        uint256 value91 = 0x20;                                                        uint256 value92 = value12;                                                        uint256 value93 = 0x40;                                                        while (true) {                                                            currentDistributionTotal = value12;                                                            unresolved_d0dfe553 = value15;                                                            unresolved_28cce4f4 = 0;                                                            stor_72 = 0x01;                                                            currentDistributionClaimed = 0;                                                            unresolved_0c7f93b5 = 0;                                                            unresolved_68630a06 = 0;                                                            distributionActive = true;                                                            if (value12 > value16) {                                                                break;                                                            }                                                            value16 = totalNFTRewards + value16;                                                            value87 = value88;                                                            value88 = value89;                                                            value89 = value90;                                                            value90 = value91;                                                            value91 = value92;                                                            value92 = value93;                                                            value93 = 0;                                                        }                                                    } else {                                                        (bool success6, bytes memory returnData6) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                        require(success6);                                                        uint256 value18 = this.code.length;                                                        uint256 value19 = var_c.length;                                                        if (success6) {                                                            uint256 value17 = returnData6.length;                                                            if (0x20 <= returnData6.length) {                                                                value17 = 0x20;                                                            }                                                            if (((var_c + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                            var_c = var_c + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                            require(((var_c + value17) - var_c) >= 0x20);                                                        } else {                                                            value18 = var_c;                                                            value19 = 0;                                                        }                                                        bool flag5 = value15 != 0x0;                                                        if (value12 != 0x0) {                                                            flag5 = value12 != 0x0;                                                        }                                                        require(!flag5 && value19 != 0x0 || flag5, "NFTDiv: no balance");                                                        uint256 value16 = value12 + value15;                                                        uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                        uint256 value88 = 0;                                                        uint256 value89 = 0x04;                                                        uint256 value90 = value15;                                                        uint256 value91 = 0x20;                                                        uint256 value92 = value12;                                                        uint256 value93 = 0x40;                                                        while (true) {                                                            currentDistributionTotal = value12;                                                            unresolved_d0dfe553 = value15;                                                            unresolved_28cce4f4 = value19;                                                            stor_72 = 0x01;                                                            currentDistributionClaimed = 0;                                                            unresolved_0c7f93b5 = 0;                                                            unresolved_68630a06 = 0;                                                            distributionActive = true;                                                            if (value12 > value16) {                                                                break;                                                            }                                                            value16 = totalNFTRewards + value16;                                                            value87 = value88;                                                            value88 = value89;                                                            value89 = value90;                                                            value90 = value91;                                                            value91 = value92;                                                            value92 = value93;                                                            value93 = 0;                                                        }                                                    }                                                    _desolexPanic(17);                                                }                                            }                                        }                                    } else {                                        if (usdt != address(0)) {                                            (bool success7, bytes memory returnData7) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                            require(success7);                                            uint256 value21 = this.code.length;                                            uint256 value22 = var_c.length;                                            if (success7) {                                                uint256 value20 = returnData7.length;                                                if (0x20 <= returnData7.length) {                                                    value20 = 0x20;                                                }                                                if (((var_c + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                var_c = var_c + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                require(((var_c + value20) - var_c) >= 0x20);                                            } else {                                                value21 = var_c;                                                value22 = 0;                                            }                                            if (value22 == 0x0) {                                                (bool success8, bytes memory returnData8) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                require(success8);                                                uint256 value24 = this.code.length;                                                uint256 value25 = var_c.length;                                                if (success8) {                                                    uint256 value23 = returnData8.length;                                                    if (0x20 <= returnData8.length) {                                                        value23 = 0x20;                                                    }                                                    if (((var_c + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                    var_c = var_c + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                    require(((var_c + value23) - var_c) >= 0x20);                                                } else {                                                    value24 = var_c;                                                    value25 = 0;                                                }                                                uint256 value27 = this.code.length;                                                uint256 value28;                                                if (unresolved_1be704e0 != address(0)) {                                                    (bool success9, bytes memory returnData9) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                    require(success9);                                                    uint256 value94 = var_c.length;                                                    if (success9) {                                                        uint256 value26 = returnData9.length;                                                        if (0x20 <= returnData9.length) {                                                            value26 = 0x20;                                                        }                                                        if (((var_c + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                        var_c = var_c + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                        require(((var_c + value26) - var_c) >= 0x20);                                                    } else {                                                        value94 = 0;                                                    }                                                    value28 = value94;                                                } else {                                                    value27 = unresolved_1be704e0;                                                    value28 = 0;                                                }                                                if (!(usdt)) {                                                    bool flag7 = value28 != 0x0;                                                    if (value25 != 0x0) {                                                        flag7 = value25 != 0x0;                                                    }                                                    require(!flag7 && 0x0 != 0x0 || flag7, "NFTDiv: no balance");                                                    uint256 value16 = value12 + value15;                                                    uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                    uint256 value88 = 0;                                                    uint256 value89 = 0x04;                                                    uint256 value90 = value15;                                                    uint256 value91 = 0x20;                                                    uint256 value92 = value12;                                                    uint256 value93 = 0x40;                                                    while (true) {                                                        currentDistributionTotal = value25;                                                        unresolved_d0dfe553 = value28;                                                        unresolved_28cce4f4 = 0;                                                        stor_72 = 0x01;                                                        currentDistributionClaimed = 0;                                                        unresolved_0c7f93b5 = 0;                                                        unresolved_68630a06 = 0;                                                        distributionActive = true;                                                        if (value25 > value16) {                                                            break;                                                        }                                                        value16 = totalNFTRewards + value16;                                                        value87 = value88;                                                        value88 = value89;                                                        value89 = value90;                                                        value90 = value91;                                                        value91 = value92;                                                        value92 = value93;                                                        value93 = 0;                                                    }                                                } else {                                                    (bool success10, bytes memory returnData10) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                    require(success10);                                                    uint256 value30 = this.code.length;                                                    uint256 value31 = var_c.length;                                                    if (success10) {                                                        uint256 value29 = returnData10.length;                                                        if (0x20 <= returnData10.length) {                                                            value29 = 0x20;                                                        }                                                        if (((var_c + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                        var_c = var_c + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                        require(((var_c + value29) - var_c) >= 0x20);                                                    } else {                                                        value30 = var_c;                                                        value31 = 0;                                                    }                                                    bool flag9 = value28 != 0x0;                                                    if (value25 != 0x0) {                                                        flag9 = value25 != 0x0;                                                    }                                                    require(!flag9 && value31 != 0x0 || flag9, "NFTDiv: no balance");                                                    uint256 value16 = value25 + value28;                                                    uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                    uint256 value88 = 0;                                                    uint256 value89 = 0x04;                                                    uint256 value90 = value15;                                                    uint256 value91 = 0x20;                                                    uint256 value92 = value12;                                                    uint256 value93 = 0x40;                                                    while (true) {                                                        currentDistributionTotal = value25;                                                        unresolved_d0dfe553 = value28;                                                        unresolved_28cce4f4 = value31;                                                        stor_72 = 0x01;                                                        currentDistributionClaimed = 0;                                                        unresolved_0c7f93b5 = 0;                                                        unresolved_68630a06 = 0;                                                        distributionActive = true;                                                        if (value25 > value16) {                                                            break;                                                        }                                                        value16 = totalNFTRewards + value16;                                                        value87 = value88;                                                        value88 = value89;                                                        value89 = value90;                                                        value90 = value91;                                                        value91 = value92;                                                        value92 = value93;                                                        value93 = 0;                                                    }                                                }                                            } else {                                                uint256 value61;                                                if ((((value22 * splitRatio) / value22) == splitRatio) | !value22) {                                                    if ((value22 * splitRatio) / 0x2710 == 0) {                                                        (bool success11, bytes memory returnData11) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                        require(success11);                                                        uint256 value33 = this.code.length;                                                        uint256 value34 = var_c.length;                                                        if (success11) {                                                            uint256 value32 = returnData11.length;                                                            if (0x20 <= returnData11.length) {                                                                value32 = 0x20;                                                            }                                                            if (((var_c + ((value32 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value32 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                            var_c = var_c + ((value32 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                            require(((var_c + value32) - var_c) >= 0x20);                                                        } else {                                                            value33 = var_c;                                                            value34 = 0;                                                        }                                                        uint256 value36 = this.code.length;                                                        uint256 value37;                                                        if (unresolved_1be704e0 != address(0)) {                                                            (bool success12, bytes memory returnData12) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                            require(success12);                                                            uint256 value95 = var_c.length;                                                            if (success12) {                                                                uint256 value35 = returnData12.length;                                                                if (0x20 <= returnData12.length) {                                                                    value35 = 0x20;                                                                }                                                                if (((var_c + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                var_c = var_c + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                require(((var_c + value35) - var_c) >= 0x20);                                                            } else {                                                                value95 = 0;                                                            }                                                            value37 = value95;                                                        } else {                                                            value36 = unresolved_1be704e0;                                                            value37 = 0;                                                        }                                                        if (!(usdt)) {                                                            bool flag11 = value37 != 0x0;                                                            if (value34 != 0x0) {                                                                flag11 = value34 != 0x0;                                                            }                                                            require(!flag11 && 0x0 != 0x0 || flag11, "NFTDiv: no balance");                                                            uint256 value16 = value25 + value28;                                                            uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                            uint256 value88 = 0;                                                            uint256 value89 = 0x04;                                                            uint256 value90 = value15;                                                            uint256 value91 = 0x20;                                                            uint256 value92 = value12;                                                            uint256 value93 = 0x40;                                                            while (true) {                                                                currentDistributionTotal = value34;                                                                unresolved_d0dfe553 = value37;                                                                unresolved_28cce4f4 = 0;                                                                stor_72 = 0x01;                                                                currentDistributionClaimed = 0;                                                                unresolved_0c7f93b5 = 0;                                                                unresolved_68630a06 = 0;                                                                distributionActive = true;                                                                if (value34 > value16) {                                                                    break;                                                                }                                                                value16 = totalNFTRewards + value16;                                                                value87 = value88;                                                                value88 = value89;                                                                value89 = value90;                                                                value90 = value91;                                                                value91 = value92;                                                                value92 = value93;                                                                value93 = 0;                                                            }                                                        } else {                                                            (bool success13, bytes memory returnData13) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                            require(success13);                                                            uint256 value39 = this.code.length;                                                            uint256 value40 = var_c.length;                                                            if (success13) {                                                                uint256 value38 = returnData13.length;                                                                if (0x20 <= returnData13.length) {                                                                    value38 = 0x20;                                                                }                                                                if (((var_c + ((value38 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value38 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                var_c = var_c + ((value38 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                require(((var_c + value38) - var_c) >= 0x20);                                                            } else {                                                                value39 = var_c;                                                                value40 = 0;                                                            }                                                            bool flag13 = value37 != 0x0;                                                            if (value34 != 0x0) {                                                                flag13 = value34 != 0x0;                                                            }                                                            require(!flag13 && value40 != 0x0 || flag13, "NFTDiv: no balance");                                                            uint256 value16 = value34 + value37;                                                            uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                            uint256 value88 = 0;                                                            uint256 value89 = 0x04;                                                            uint256 value90 = value15;                                                            uint256 value91 = 0x20;                                                            uint256 value92 = value12;                                                            uint256 value93 = 0x40;                                                            while (true) {                                                                currentDistributionTotal = value34;                                                                unresolved_d0dfe553 = value37;                                                                unresolved_28cce4f4 = value40;                                                                stor_72 = 0x01;                                                                currentDistributionClaimed = 0;                                                                unresolved_0c7f93b5 = 0;                                                                unresolved_68630a06 = 0;                                                                distributionActive = true;                                                                if (value34 > value16) {                                                                    break;                                                                }                                                                value16 = totalNFTRewards + value16;                                                                value87 = value88;                                                                value88 = value89;                                                                value89 = value90;                                                                value90 = value91;                                                                value91 = value92;                                                                value92 = value93;                                                                value93 = 0;                                                            }                                                        }                                                    } else {                                                        (bool success14, bytes memory returnData14) = usdt.call(abi.encodeWithSelector(bytes4(0xa9059cbb), splitReceiver, (value22 * splitRatio) / 0x2710)); // call transfer                                                        require(success14);                                                        if (success14) {                                                            if (0x20 > returnData14.length) {                                                                if (((var_c + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                var_c = var_c + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                require(((var_c + returnData14.length) - var_c) >= 0x20);                                                                require(var_c.length == var_c.length);                                                                require(var_c.length != 0x0, "NFTDiv: split USDT transfer failed");                                                                (bool success15, bytes memory returnData15) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                require(success15);                                                                uint256 value42 = this.code.length;                                                                uint256 value43 = var_c.length;                                                                if (success15) {                                                                    uint256 value41 = returnData15.length;                                                                    if (0x20 <= returnData15.length) {                                                                        value41 = 0x20;                                                                    }                                                                    if (((var_c + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                    var_c = var_c + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                    require(((var_c + value41) - var_c) >= 0x20);                                                                } else {                                                                    value42 = var_c;                                                                    value43 = 0;                                                                }                                                                uint256 value45 = this.code.length;                                                                uint256 value46;                                                                if (unresolved_1be704e0 != address(0)) {                                                                    (bool success16, bytes memory returnData16) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                    require(success16);                                                                    uint256 value96 = var_c.length;                                                                    if (success16) {                                                                        uint256 value44 = returnData16.length;                                                                        if (0x20 <= returnData16.length) {                                                                            value44 = 0x20;                                                                        }                                                                        if (((var_c + ((value44 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value44 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                        var_c = var_c + ((value44 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                        require(((var_c + value44) - var_c) >= 0x20);                                                                    } else {                                                                        value96 = 0;                                                                    }                                                                    value46 = value96;                                                                } else {                                                                    value45 = unresolved_1be704e0;                                                                    value46 = 0;                                                                }                                                                if (!(usdt)) {                                                                    bool flag15 = value46 != 0x0;                                                                    if (value43 != 0x0) {                                                                        flag15 = value43 != 0x0;                                                                    }                                                                    require(!flag15 && 0x0 != 0x0 || flag15, "NFTDiv: no balance");                                                                    uint256 value16 = value34 + value37;                                                                    uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                                    uint256 value88 = 0;                                                                    uint256 value89 = 0x04;                                                                    uint256 value90 = value15;                                                                    uint256 value91 = 0x20;                                                                    uint256 value92 = value12;                                                                    uint256 value93 = 0x40;                                                                    while (true) {                                                                        currentDistributionTotal = value43;                                                                        unresolved_d0dfe553 = value46;                                                                        unresolved_28cce4f4 = 0;                                                                        stor_72 = 0x01;                                                                        currentDistributionClaimed = 0;                                                                        unresolved_0c7f93b5 = 0;                                                                        unresolved_68630a06 = 0;                                                                        distributionActive = true;                                                                        if (value43 > value16) {                                                                            break;                                                                        }                                                                        value16 = totalNFTRewards + value16;                                                                        value87 = value88;                                                                        value88 = value89;                                                                        value89 = value90;                                                                        value90 = value91;                                                                        value91 = value92;                                                                        value92 = value93;                                                                        value93 = 0;                                                                    }                                                                } else {                                                                    (bool success17, bytes memory returnData17) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                    require(success17);                                                                    uint256 value48 = this.code.length;                                                                    uint256 value49 = var_c.length;                                                                    if (success17) {                                                                        uint256 value47 = returnData17.length;                                                                        if (0x20 <= returnData17.length) {                                                                            value47 = 0x20;                                                                        }                                                                        if (((var_c + ((value47 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value47 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                        var_c = var_c + ((value47 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                        require(((var_c + value47) - var_c) >= 0x20);                                                                    } else {                                                                        value48 = var_c;                                                                        value49 = 0;                                                                    }                                                                    bool flag17 = value46 != 0x0;                                                                    if (value43 != 0x0) {                                                                        flag17 = value43 != 0x0;                                                                    }                                                                    require(!flag17 && value49 != 0x0 || flag17, "NFTDiv: no balance");                                                                    uint256 value16 = value43 + value46;                                                                    uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                                    uint256 value88 = 0;                                                                    uint256 value89 = 0x04;                                                                    uint256 value90 = value15;                                                                    uint256 value91 = 0x20;                                                                    uint256 value92 = value12;                                                                    uint256 value93 = 0x40;                                                                    while (true) {                                                                        currentDistributionTotal = value43;                                                                        unresolved_d0dfe553 = value46;                                                                        unresolved_28cce4f4 = value49;                                                                        stor_72 = 0x01;                                                                        currentDistributionClaimed = 0;                                                                        unresolved_0c7f93b5 = 0;                                                                        unresolved_68630a06 = 0;                                                                        distributionActive = true;                                                                        if (value43 > value16) {                                                                            break;                                                                        }                                                                        value16 = totalNFTRewards + value16;                                                                        value87 = value88;                                                                        value88 = value89;                                                                        value89 = value90;                                                                        value90 = value91;                                                                        value91 = value92;                                                                        value92 = value93;                                                                        value93 = 0;                                                                    }                                                                }                                                            } else {                                                                if (((var_c + 0x20) > 0xffffffffffffffff) | ((var_c + 0x20) < var_c)) _desolexPanic(65);                                                                var_c = var_c + 0x20;                                                                require(((var_c + 0x20) - var_c) >= 0x20);                                                                require(var_c.length == var_c.length);                                                                require(var_c.length != 0x0, "NFTDiv: split USDT transfer failed");                                                                (bool success18, bytes memory returnData18) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                require(success18);                                                                uint256 value51 = this.code.length;                                                                uint256 value52 = var_c.length;                                                                if (success18) {                                                                    uint256 value50 = returnData18.length;                                                                    if (0x20 <= returnData18.length) {                                                                        value50 = 0x20;                                                                    }                                                                    if (((var_c + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                    var_c = var_c + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                    require(((var_c + value50) - var_c) >= 0x20);                                                                } else {                                                                    value51 = var_c;                                                                    value52 = 0;                                                                }                                                                uint256 value54 = this.code.length;                                                                uint256 value55;                                                                if (unresolved_1be704e0 != address(0)) {                                                                    (bool success19, bytes memory returnData19) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                    require(success19);                                                                    uint256 value97 = var_c.length;                                                                    if (success19) {                                                                        uint256 value53 = returnData19.length;                                                                        if (0x20 <= returnData19.length) {                                                                            value53 = 0x20;                                                                        }                                                                        if (((var_c + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                        var_c = var_c + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                        require(((var_c + value53) - var_c) >= 0x20);                                                                    } else {                                                                        value97 = 0;                                                                    }                                                                    value55 = value97;                                                                } else {                                                                    value54 = unresolved_1be704e0;                                                                    value55 = 0;                                                                }                                                                if (!(usdt)) {                                                                    bool flag19 = value55 != 0x0;                                                                    if (value52 != 0x0) {                                                                        flag19 = value52 != 0x0;                                                                    }                                                                    require(!flag19 && 0x0 != 0x0 || flag19, "NFTDiv: no balance");                                                                    uint256 value16 = value43 + value46;                                                                    uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                                    uint256 value88 = 0;                                                                    uint256 value89 = 0x04;                                                                    uint256 value90 = value15;                                                                    uint256 value91 = 0x20;                                                                    uint256 value92 = value12;                                                                    uint256 value93 = 0x40;                                                                    while (true) {                                                                        currentDistributionTotal = value52;                                                                        unresolved_d0dfe553 = value55;                                                                        unresolved_28cce4f4 = 0;                                                                        stor_72 = 0x01;                                                                        currentDistributionClaimed = 0;                                                                        unresolved_0c7f93b5 = 0;                                                                        unresolved_68630a06 = 0;                                                                        distributionActive = true;                                                                        if (value52 > value16) {                                                                            break;                                                                        }                                                                        value16 = totalNFTRewards + value16;                                                                        value87 = value88;                                                                        value88 = value89;                                                                        value89 = value90;                                                                        value90 = value91;                                                                        value91 = value92;                                                                        value92 = value93;                                                                        value93 = 0;                                                                    }                                                                } else {                                                                    (bool success20, bytes memory returnData20) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                    require(success20);                                                                    uint256 value57 = this.code.length;                                                                    uint256 value58 = var_c.length;                                                                    if (success20) {                                                                        uint256 value56 = returnData20.length;                                                                        if (0x20 <= returnData20.length) {                                                                            value56 = 0x20;                                                                        }                                                                        if (((var_c + ((value56 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value56 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                        var_c = var_c + ((value56 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                        require(((var_c + value56) - var_c) >= 0x20);                                                                    } else {                                                                        value57 = var_c;                                                                        value58 = 0;                                                                    }                                                                    bool flag21 = value55 != 0x0;                                                                    if (value52 != 0x0) {                                                                        flag21 = value52 != 0x0;                                                                    }                                                                    require(!flag21 && value58 != 0x0 || flag21, "NFTDiv: no balance");                                                                    uint256 value16 = value52 + value55;                                                                    uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                                    uint256 value88 = 0;                                                                    uint256 value89 = 0x04;                                                                    uint256 value90 = value15;                                                                    uint256 value91 = 0x20;                                                                    uint256 value92 = value12;                                                                    uint256 value93 = 0x40;                                                                    while (true) {                                                                        currentDistributionTotal = value52;                                                                        unresolved_d0dfe553 = value55;                                                                        unresolved_28cce4f4 = value58;                                                                        stor_72 = 0x01;                                                                        currentDistributionClaimed = 0;                                                                        unresolved_0c7f93b5 = 0;                                                                        unresolved_68630a06 = 0;                                                                        distributionActive = true;                                                                        if (value52 > value16) {                                                                            break;                                                                        }                                                                        value16 = totalNFTRewards + value16;                                                                        value87 = value88;                                                                        value88 = value89;                                                                        value89 = value90;                                                                        value90 = value91;                                                                        value91 = value92;                                                                        value92 = value93;                                                                        value93 = 0;                                                                    }                                                                }                                                            }                                                        } else {                                                            require(0, "NFTDiv: split USDT transfer failed");                                                            (bool success21, bytes memory returnData21) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                            require(success21);                                                            uint256 value60 = this.code.length;                                                            value61 = var_c.length;                                                            if (success21) {                                                                uint256 value59 = returnData21.length;                                                                if (0x20 <= returnData21.length) {                                                                    value59 = 0x20;                                                                }                                                                if (((var_c + ((value59 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value59 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                var_c = var_c + ((value59 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                require(((var_c + value59) - var_c) >= 0x20);                                                            } else {                                                                value60 = var_c;                                                                value61 = 0;                                                            }                                                            uint256 value63 = this.code.length;                                                            uint256 value64;                                                            if (unresolved_1be704e0 != address(0)) {                                                                (bool success22, bytes memory returnData22) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                require(success22);                                                                uint256 value98 = var_c.length;                                                                if (success22) {                                                                    uint256 value62 = returnData22.length;                                                                    if (0x20 <= returnData22.length) {                                                                        value62 = 0x20;                                                                    }                                                                    if (((var_c + ((value62 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value62 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                    var_c = var_c + ((value62 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                    require(((var_c + value62) - var_c) >= 0x20);                                                                } else {                                                                    value98 = 0;                                                                }                                                                value64 = value98;                                                            } else {                                                                value63 = unresolved_1be704e0;                                                                value64 = 0;                                                            }                                                            if (!(usdt)) {                                                                bool flag23 = value64 != 0x0;                                                                if (value61 != 0x0) {                                                                    flag23 = value61 != 0x0;                                                                }                                                                require(!flag23 && 0x0 != 0x0 || flag23, "NFTDiv: no balance");                                                                uint256 value16 = value52 + value55;                                                                uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                                uint256 value88 = 0;                                                                uint256 value89 = 0x04;                                                                uint256 value90 = value15;                                                                uint256 value91 = 0x20;                                                                uint256 value92 = value12;                                                                uint256 value93 = 0x40;                                                                while (true) {                                                                    currentDistributionTotal = value61;                                                                    unresolved_d0dfe553 = value64;                                                                    unresolved_28cce4f4 = 0;                                                                    stor_72 = 0x01;                                                                    currentDistributionClaimed = 0;                                                                    unresolved_0c7f93b5 = 0;                                                                    unresolved_68630a06 = 0;                                                                    distributionActive = true;                                                                    if (value61 > value16) {                                                                        break;                                                                    }                                                                    value16 = totalNFTRewards + value16;                                                                    value87 = value88;                                                                    value88 = value89;                                                                    value89 = value90;                                                                    value90 = value91;                                                                    value91 = value92;                                                                    value92 = value93;                                                                    value93 = 0;                                                                }                                                            } else {                                                                (bool success23, bytes memory returnData23) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                require(success23);                                                                uint256 value66 = this.code.length;                                                                uint256 value67 = var_c.length;                                                                if (success23) {                                                                    uint256 value65 = returnData23.length;                                                                    if (0x20 <= returnData23.length) {                                                                        value65 = 0x20;                                                                    }                                                                    if (((var_c + ((value65 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value65 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                    var_c = var_c + ((value65 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                    require(((var_c + value65) - var_c) >= 0x20);                                                                } else {                                                                    value66 = var_c;                                                                    value67 = 0;                                                                }                                                                bool flag25 = value64 != 0x0;                                                                if (value61 != 0x0) {                                                                    flag25 = value61 != 0x0;                                                                }                                                                require(!flag25 && value67 != 0x0 || flag25, "NFTDiv: no balance");                                                                uint256 value16 = value61 + value64;                                                                uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                                uint256 value88 = 0;                                                                uint256 value89 = 0x04;                                                                uint256 value90 = value15;                                                                uint256 value91 = 0x20;                                                                uint256 value92 = value12;                                                                uint256 value93 = 0x40;                                                                while (true) {                                                                    currentDistributionTotal = value61;                                                                    unresolved_d0dfe553 = value64;                                                                    unresolved_28cce4f4 = value67;                                                                    stor_72 = 0x01;                                                                    currentDistributionClaimed = 0;                                                                    unresolved_0c7f93b5 = 0;                                                                    unresolved_68630a06 = 0;                                                                    distributionActive = true;                                                                    if (value61 > value16) {                                                                        break;                                                                    }                                                                    value16 = totalNFTRewards + value16;                                                                    value87 = value88;                                                                    value88 = value89;                                                                    value89 = value90;                                                                    value90 = value91;                                                                    value91 = value92;                                                                    value92 = value93;                                                                    value93 = 0;                                                                }                                                            }                                                        }                                                    }                                                }                                            }                                        } else {                                            (bool success24, bytes memory returnData24) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                            require(success24);                                            uint256 value69 = this.code.length;                                            value70 = var_c.length;                                            if (success24) {                                                uint256 value68 = returnData24.length;                                                if (0x20 <= returnData24.length) {                                                    value68 = 0x20;                                                }                                                if (((var_c + ((value68 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value68 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                var_c = var_c + ((value68 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                require(((var_c + value68) - var_c) >= 0x20);                                            } else {                                                value69 = var_c;                                                value70 = 0;                                            }                                            uint256 value72 = this.code.length;                                            uint256 value73;                                            if (unresolved_1be704e0 != address(0)) {                                                (bool success25, bytes memory returnData25) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                require(success25);                                                uint256 value99 = var_c.length;                                                if (success25) {                                                    uint256 value71 = returnData25.length;                                                    if (0x20 <= returnData25.length) {                                                        value71 = 0x20;                                                    }                                                    if (((var_c + ((value71 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value71 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                    var_c = var_c + ((value71 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                    require(((var_c + value71) - var_c) >= 0x20);                                                } else {                                                    value99 = 0;                                                }                                                value73 = value99;                                            } else {                                                value72 = unresolved_1be704e0;                                                value73 = 0;                                            }                                            if (!(usdt)) {                                                bool flag27 = value73 != 0x0;                                                if (value70 != 0x0) {                                                    flag27 = value70 != 0x0;                                                }                                                require(!flag27 && 0x0 != 0x0 || flag27, "NFTDiv: no balance");                                                uint256 value16 = value61 + value64;                                                uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                uint256 value88 = 0;                                                uint256 value89 = 0x04;                                                uint256 value90 = value15;                                                uint256 value91 = 0x20;                                                uint256 value92 = value12;                                                uint256 value93 = 0x40;                                                while (true) {                                                    currentDistributionTotal = value70;                                                    unresolved_d0dfe553 = value73;                                                    unresolved_28cce4f4 = 0;                                                    stor_72 = 0x01;                                                    currentDistributionClaimed = 0;                                                    unresolved_0c7f93b5 = 0;                                                    unresolved_68630a06 = 0;                                                    distributionActive = true;                                                    if (value70 > value16) {                                                        break;                                                    }                                                    value16 = totalNFTRewards + value16;                                                    value87 = value88;                                                    value88 = value89;                                                    value89 = value90;                                                    value90 = value91;                                                    value91 = value92;                                                    value92 = value93;                                                    value93 = 0;                                                }                                            } else {                                                (bool success26, bytes memory returnData26) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                require(success26);                                                uint256 value75 = this.code.length;                                                uint256 value76 = var_c.length;                                                if (success26) {                                                    uint256 value74 = returnData26.length;                                                    if (0x20 <= returnData26.length) {                                                        value74 = 0x20;                                                    }                                                    if (((var_c + ((value74 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value74 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                    var_c = var_c + ((value74 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                    require(((var_c + value74) - var_c) >= 0x20);                                                } else {                                                    value75 = var_c;                                                    value76 = 0;                                                }                                                bool flag29 = value73 != 0x0;                                                if (value70 != 0x0) {                                                    flag29 = value70 != 0x0;                                                }                                                require(!flag29 && value76 != 0x0 || flag29, "NFTDiv: no balance");                                                uint256 value16 = value70 + value73;                                                uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                                uint256 value88 = 0;                                                uint256 value89 = 0x04;                                                uint256 value90 = value15;                                                uint256 value91 = 0x20;                                                uint256 value92 = value12;                                                uint256 value93 = 0x40;                                                while (true) {                                                    currentDistributionTotal = value70;                                                    unresolved_d0dfe553 = value73;                                                    unresolved_28cce4f4 = value76;                                                    stor_72 = 0x01;                                                    currentDistributionClaimed = 0;                                                    unresolved_0c7f93b5 = 0;                                                    unresolved_68630a06 = 0;                                                    distributionActive = true;                                                    if (value70 > value16) {                                                        break;                                                    }                                                    value16 = totalNFTRewards + value16;                                                    value87 = value88;                                                    value88 = value89;                                                    value89 = value90;                                                    value90 = value91;                                                    value91 = value92;                                                    value92 = value93;                                                    value93 = 0;                                                }                                            }                                        }                                        _desolexPanic(17);                                    }                                }                            }                        } else {                            (bool success27, bytes memory returnData27) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                            require(success27);                            uint256 value78 = this.code.length;                            uint256 value79 = var_c.length;                            if (success27) {                                uint256 value77 = returnData27.length;                                if (0x20 <= returnData27.length) {                                    value77 = 0x20;                                }                                if (((var_c + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                var_c = var_c + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_c + value77) - var_c) >= 0x20);                            } else {                                value78 = var_c;                                value79 = 0;                            }                            uint256 value81 = this.code.length;                            uint256 value82;                            if (unresolved_1be704e0 != address(0)) {                                (bool success28, bytes memory returnData28) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                require(success28);                                uint256 value100 = var_c.length;                                if (success28) {                                    uint256 value80 = returnData28.length;                                    if (0x20 <= returnData28.length) {                                        value80 = 0x20;                                    }                                    if (((var_c + ((value80 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value80 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                    var_c = var_c + ((value80 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    require(((var_c + value80) - var_c) >= 0x20);                                } else {                                    value100 = 0;                                }                                value82 = value100;                            } else {                                value81 = unresolved_1be704e0;                                value82 = 0;                            }                            if (!(usdt)) {                                bool flag31 = value82 != 0x0;                                if (value79 != 0x0) {                                    flag31 = value79 != 0x0;                                }                                require(!flag31 && 0x0 != 0x0 || flag31, "NFTDiv: no balance");                                uint256 value16 = value70 + value73;                                uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                uint256 value88 = 0;                                uint256 value89 = 0x04;                                uint256 value90 = value15;                                uint256 value91 = 0x20;                                uint256 value92 = value12;                                uint256 value93 = 0x40;                                while (true) {                                    currentDistributionTotal = value79;                                    unresolved_d0dfe553 = value82;                                    unresolved_28cce4f4 = 0;                                    stor_72 = 0x01;                                    currentDistributionClaimed = 0;                                    unresolved_0c7f93b5 = 0;                                    unresolved_68630a06 = 0;                                    distributionActive = true;                                    if (value79 > value16) {                                        break;                                    }                                    value16 = totalNFTRewards + value16;                                    value87 = value88;                                    value88 = value89;                                    value89 = value90;                                    value90 = value91;                                    value91 = value92;                                    value92 = value93;                                    value93 = 0;                                }                            } else {                                (bool success29, bytes memory returnData29) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                require(success29);                                uint256 value84 = this.code.length;                                uint256 value85 = var_c.length;                                if (success29) {                                    uint256 value83 = returnData29.length;                                    if (0x20 <= returnData29.length) {                                        value83 = 0x20;                                    }                                    if (((var_c + ((value83 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value83 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                    var_c = var_c + ((value83 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    require(((var_c + value83) - var_c) >= 0x20);                                } else {                                    value84 = var_c;                                    value85 = 0;                                }                                bool flag33 = value82 != 0x0;                                if (value79 != 0x0) {                                    flag33 = value79 != 0x0;                                }                                require(!flag33 && value85 != 0x0 || flag33, "NFTDiv: no balance");                                uint256 value16 = value79 + value82;                                uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff;                                uint256 value88 = 0;                                uint256 value89 = 0x04;                                uint256 value90 = value15;                                uint256 value91 = 0x20;                                uint256 value92 = value12;                                uint256 value93 = 0x40;                                while (true) {                                    currentDistributionTotal = value79;                                    unresolved_d0dfe553 = value82;                                    unresolved_28cce4f4 = value85;                                    stor_72 = 0x01;                                    currentDistributionClaimed = 0;                                    unresolved_0c7f93b5 = 0;                                    unresolved_68630a06 = 0;                                    distributionActive = true;                                    if (value79 > value16) {                                        break;                                    }                                    value16 = totalNFTRewards + value16;                                    value87 = value88;                                    value88 = value89;                                    value89 = value90;                                    value90 = value91;                                    value91 = value92;                                    value92 = value93;                                    value93 = 0;                                }                            }                            _desolexPanic(17);                        }                    }                }            }        }    }        function getDistributionProgress() public view returns (bytes memory) {        return abi.encodePacked(stor_72, lockedNFTSupply);    }        function emergencyStopDistribution() public onlyOwner {        distributionActive = false;        lastDistributionEndTime = block.timestamp;        emit DistributionCompleted(currentDistributionClaimed, unresolved_0c7f93b5, unresolved_68630a06);    }        function setDistributor(address newAddress) public onlyOwner {        require((!(!(newAddress))), "NFTDiv: zero address");        distributor = newAddress;    }        function renounceOwnership() public onlyOwner {        emit OwnershipTransferred(owner, address(0));        owner = address(0);    }        function distributeBatch(uint256 arg0) public {        if (!(distributor == msg.sender)) {            require(msg.sender == owner, "NFTDiv: not authorized");        } else {            require(distributor == msg.sender, "NFTDiv: not authorized");        }        require(distributionActive, "NFTDiv: no active distribution");        if (lockedNFTSupply == 0) {            distributionActive = false;            return;        } else {            uint256 value0 = this.code.length;            uint256 value1 = lockedMaxTokenId + 0x01;            if ((stor_72 + arg0) <= (lockedMaxTokenId + 0x01)) {                value0 = lockedMaxTokenId + 0x01;                value1 = stor_72 + arg0;            }            uint256 value2 = stor_72;            uint256 value3 = 0;            uint256 value4 = 0;            uint256 value5 = 0;            while (true) {                uint256 var_g;                if (value2 >= value1) {                    stor_72 = value1;                    currentDistributionClaimed = currentDistributionClaimed + value4;                    unresolved_0c7f93b5 = unresolved_0c7f93b5 + value5;                    unresolved_68630a06 = unresolved_68630a06 + value3;                    emit DividendDistributed(value1 - stor_72, value4, value5, value3);                    if (lockedMaxTokenId >= value1) {                        return;                    }                    distributionActive = false;                    lastDistributionEndTime = block.timestamp;                    uint256 value8 = this.code.length;                    if ((currentDistributionTotal - (currentDistributionClaimed + value4) != 0x0) && ((0xffffffffffffffffffffffffffffffffffffffff & remainderReceiver) != 0x0)) {                        (bool success0, bytes memory returnData0) = token.call(abi.encodeWithSelector(bytes4(0xa9059cbb), remainderReceiver, currentDistributionTotal - (currentDistributionClaimed + value4))); // call transfer                        require(success0);                        uint256 value6 = this.code.length;                        uint256 value7 = var_g.length;                        if (success0) {                            if (0x20 > returnData0.length) {                                if (((var_g + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                var_g = var_g + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_g + returnData0.length) - var_g) >= 0x20);                            } else {                                if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65);                                var_g = var_g + 0x20;                                require(((var_g + 0x20) - var_g) >= 0x20);                            }                            require(var_g.length == var_g.length);                        } else {                            value6 = var_g;                            value7 = 0;                        }                        require(value7 != 0x0, "NFTDiv: remainder transfer1 failed");                    } else {                        value8 = currentDistributionTotal - (currentDistributionClaimed + value4);                    }                    bool flag1 = !(!(remainderReceiver));                    if (unresolved_d0dfe553 - unresolved_0c7f93b5 == 0) {                        flag1 = !(!(unresolved_d0dfe553 - unresolved_0c7f93b5));                    }                    uint256 value11 = this.code.length;                    if ((flag1) && ((0xffffffffffffffffffffffffffffffffffffffff & unresolved_1be704e0) != 0x0)) {                        (bool success1, bytes memory returnData1) = unresolved_1be704e0.call(abi.encodeWithSelector(bytes4(0xa9059cbb), remainderReceiver, unresolved_d0dfe553 - unresolved_0c7f93b5)); // call transfer                        require(success1);                        uint256 value9 = this.code.length;                        uint256 value10 = var_g.length;                        if (success1) {                            if (0x20 > returnData1.length) {                                if (((var_g + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                var_g = var_g + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_g + returnData1.length) - var_g) >= 0x20);                            } else {                                if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65);                                var_g = var_g + 0x20;                                require(((var_g + 0x20) - var_g) >= 0x20);                            }                            require(var_g.length == var_g.length);                        } else {                            value9 = var_g;                            value10 = 0;                        }                        require(value10 != 0x0, "NFTDiv: remainder transfer2 failed");                    } else {                        value11 = unresolved_d0dfe553 - unresolved_0c7f93b5;                    }                    bool flag3 = !(!(remainderReceiver));                    if (unresolved_28cce4f4 - unresolved_68630a06 == 0) {                        flag3 = !(!(unresolved_28cce4f4 - unresolved_68630a06));                    }                    uint256 value14 = 0x20;                    if ((flag3) && ((0xffffffffffffffffffffffffffffffffffffffff & usdt) != 0x0)) {                        (bool success2, bytes memory returnData2) = usdt.call(abi.encodeWithSelector(bytes4(0xa9059cbb), remainderReceiver, unresolved_28cce4f4 - unresolved_68630a06)); // call transfer                        require(success2);                        uint256 value12 = this.code.length;                        uint256 value13 = var_g.length;                        if (success2) {                            if (0x20 > returnData2.length) {                                if (((var_g + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                var_g = var_g + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_g + returnData2.length) - var_g) >= 0x20);                            } else {                                if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65);                                var_g = var_g + 0x20;                                require(((var_g + 0x20) - var_g) >= 0x20);                            }                            require(var_g.length == var_g.length);                        } else {                            value12 = var_g;                            value13 = 0;                        }                        require(value13 != 0x0, "NFTDiv: USDT remainder transfer failed");                    } else {                        value14 = unresolved_28cce4f4 - unresolved_68630a06;                    }                    emit DistributionCompleted(currentDistributionClaimed, unresolved_0c7f93b5, unresolved_68630a06);                    return;                }                (bool success3, bytes memory returnData3) = nft.ownerOf(value2); // staticcall                uint256 value16 = this.code.length;                uint256 value17 = var_g.length;                if (success3) {                    uint256 value15 = returnData3.length;                    if (0x20 <= returnData3.length) {                        value15 = 0x20;                    }                    if (((var_g + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                    var_g = var_g + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    require(((var_g + value15) - var_g) >= 0x20);                    require(var_g.length == (address(var_g.length)));                } else {                    value16 = var_g;                    value17 = 0;                }                uint256 value31;                uint256 value32;                uint256 value33;                if (success3) {                    uint256 value34 = value3;                    uint256 value35 = value4;                    uint256 value36 = value5;                    if (!((value17 & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0 && 0xdead == (value17 & 0xffffffffffffffffffffffffffffffffffffffff) || (value17 & 0xffffffffffffffffffffffffffffffffffffffff) == 0x0)) {                        bool flag6;                        if (perNFTAmount != 0) {                            (bool success4, bytes memory returnData4) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                            require(success4);                            bool flag11 = !(var_g.length < perNFTAmount);                            if (success4) {                                uint256 value18 = returnData4.length;                                if (0x20 <= returnData4.length) {                                    value18 = 0x20;                                }                                if (((var_g + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                var_g = var_g + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_g + value18) - var_g) >= 0x20);                            } else {                                flag11 = !(0 < perNFTAmount);                            }                            flag6 = flag11;                        } else {                            flag6 = perNFTAmount;                        }                        uint256 value21 = this.code.length;                        uint256 value28 = perNFTAmount;                        if (flag6) {                            claimedNFTDividend[address(value17)] = claimedNFTDividend[address(value17)] + perNFTAmount;                            (bool success5, bytes memory returnData5) = token.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(value17), perNFTAmount)); // call transfer                            require(success5);                            uint256 value19 = this.code.length;                            uint256 value20 = var_g.length;                            if (success5) {                                if (0x20 > returnData5.length) {                                    if (((var_g + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                    var_g = var_g + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    require(((var_g + returnData5.length) - var_g) >= 0x20);                                } else {                                    if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65);                                    var_g = var_g + 0x20;                                    require(((var_g + 0x20) - var_g) >= 0x20);                                }                                require(var_g.length == var_g.length);                            } else {                                value19 = var_g;                                value20 = 0;                            }                            require(value20 != 0x0, "NFTDiv: transfer1 failed");                        } else {                            value21 = perNFTAmount;                            value28 = 0;                        }                        bool flag7 = !(!(unresolved_1be704e0));                        if (unresolved_02d3489e == 0) {                            flag7 = unresolved_02d3489e;                        }                        bool flag8;                        if (flag7) {                            (bool success6, bytes memory returnData6) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                            require(success6);                            bool flag12 = !(var_g.length < unresolved_02d3489e);                            if (success6) {                                uint256 value22 = returnData6.length;                                if (0x20 <= returnData6.length) {                                    value22 = 0x20;                                }                                if (((var_g + ((value22 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value22 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                var_g = var_g + ((value22 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_g + value22) - var_g) >= 0x20);                            } else {                                flag12 = !(0 < unresolved_02d3489e);                            }                            flag8 = flag12;                        } else {                            flag8 = flag7;                        }                        uint256 value25 = this.code.length;                        uint256 value27 = unresolved_02d3489e;                        if (flag8) {                            unresolved_f17f8b47[address(value17)] = unresolved_f17f8b47[address(value17)] + unresolved_02d3489e;                            (bool success7, bytes memory returnData7) = unresolved_1be704e0.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(value17), unresolved_02d3489e)); // call transfer                            require(success7);                            uint256 value23 = this.code.length;                            uint256 value24 = var_g.length;                            if (success7) {                                if (0x20 > returnData7.length) {                                    if (((var_g + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                    var_g = var_g + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    require(((var_g + returnData7.length) - var_g) >= 0x20);                                } else {                                    if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65);                                    var_g = var_g + 0x20;                                    require(((var_g + 0x20) - var_g) >= 0x20);                                }                                require(var_g.length == var_g.length);                            } else {                                value23 = var_g;                                value24 = 0;                            }                            require(value24 != 0x0, "NFTDiv: transfer2 failed");                        } else {                            value25 = unresolved_02d3489e;                            value27 = 0;                        }                        bool flag9 = !(!(usdt));                        if (unresolved_6a0fc3a0 == 0) {                            flag9 = unresolved_6a0fc3a0;                        }                        bool flag10;                        if (flag9) {                            (bool success8, bytes memory returnData8) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                            require(success8);                            bool flag13 = !(var_g.length < unresolved_6a0fc3a0);                            if (success8) {                                uint256 value26 = returnData8.length;                                if (0x20 <= returnData8.length) {                                    value26 = 0x20;                                }                                if (((var_g + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                var_g = var_g + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                require(((var_g + value26) - var_g) >= 0x20);                            } else {                                flag13 = !(0 < unresolved_6a0fc3a0);                            }                            flag10 = flag13;                        } else {                            flag10 = flag9;                        }                        uint256 value37 = value3 + unresolved_6a0fc3a0;                        if (flag10) {                            unresolved_2a31f6fb[address(value17)] = unresolved_2a31f6fb[address(value17)] + unresolved_6a0fc3a0;                            (bool success9, bytes memory returnData9) = usdt.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(value17), unresolved_6a0fc3a0)); // call transfer                            require(success9);                            uint256 value29 = this.code.length;                            uint256 value30 = var_g.length;                            if (success9) {                                if (0x20 > returnData9.length) {                                    if (((var_g + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65);                                    var_g = var_g + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    require(((var_g + returnData9.length) - var_g) >= 0x20);                                } else {                                    if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65);                                    var_g = var_g + 0x20;                                    require(((var_g + 0x20) - var_g) >= 0x20);                                }                                require(var_g.length == var_g.length);                            } else {                                value29 = var_g;                                value30 = 0;                            }                            require(value30 != 0x0, "NFTDiv: USDT transfer failed");                            emit Event_fe681dfb(address(value17), value2, value28, value27, unresolved_6a0fc3a0);                        } else {                            emit Event_fe681dfb(address(value17), value2, value28, value27, 0);                            value37 = value3 + 0;                        }                        value34 = value37;                        value35 = value4 + value28;                        value36 = value5 + value27;                    }                    value31 = value34;                    value32 = value35;                    value33 = value36;                } else {                    value31 = value3;                    value32 = value4;                    value33 = value5;                }                value2 = value2 + 0x01;                value3 = value31;                value4 = value32;                value5 = value33;            }        }    }        function setRemainderReceiver(address newAddress) public onlyOwner {        require((!(!(newAddress))), "NFTDiv: zero address");        remainderReceiver = newAddress;    }        function setBatchSize(uint256 newBatchSize) public onlyOwner {        require(newBatchSize != 0x0, "NFTDiv: batch size zero");        batchSize = newBatchSize;    }        function setUSDT(address newAddress) public onlyOwner {        require((!(!(newAddress))), "NFTDiv: zero address");        usdt = newAddress;    }        function setSplitRatio(uint256 newSplitRatio) public onlyOwner {        require(newSplitRatio <= 0x2710, "NFTDiv: ratio too high");        splitRatio = newSplitRatio;    }        function Unknown_44969094(address arg0) public onlyOwner {        unresolved_1be704e0 = arg0;    }        function withdrawBNB() public onlyOwner {        (bool success0, bytes memory returnData0) = address(msg.sender).call{ value: address(this).balance }(""); // call        if ((returnData0.length) != 0x0) {            if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65);            uint256 var_a;            if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);            var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        }        require(success0, "NFTDiv: BNB withdraw failed");    }        function setSplitReceiver(address newAddress) public onlyOwner {        require((!(!(newAddress))), "NFTDiv: zero address");        splitReceiver = newAddress;    }        function currentTokenId() public view returns (uint256) {        return stor_72;    }        function __desolexSelectorShim(uint32 rewrittenSelector) private {        assembly {            let input := mload(0x40)            calldatacopy(input, 0, calldatasize())            mstore(input, or(and(mload(input), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), shl(224, and(rewrittenSelector, 0xffffffff))))            let success := delegatecall(gas(), address(), input, calldatasize(), 0, 0)            let size := returndatasize()            returndatacopy(input, 0, size)            switch success            case 0 { revert(input, size) }            default { return(input, size) }        }    }        // Note: This selector table is synthetic and is not part of the original Solidity source.    // It records the recovered selector-to-signature mapping without executable behavior.        // 0x009a9b7b => currentTokenId()    // 0x02d3489e => unresolved_02d3489e()    // 0x02dd397d => lastDistributionEndTime()    // 0x057259c2 => lockedMaxTokenId()    // 0x0bcdf062 => lockedNFTSupply()    // 0x0c7f93b5 => unresolved_0c7f93b5()    // 0x0e973226 => perNFTAmount()    // 0x15ac9c41 => setSplitReceiver(address)    // 0x1be704e0 => unresolved_1be704e0()    // 0x1d111d13 => withdrawBNB()    // 0x28cce4f4 => unresolved_28cce4f4()    // 0x2a31f6fb => unresolved_2a31f6fb(address)    // 0x2f48ab7d => usdt()    // 0x336784c4 => claimedNFTDividend(address)    // 0x3eb9b901 => unresolved_3eb9b901()    // 0x4059b1c2 => splitReceiver()    // 0x44969094 => Unknown_44969094(address)    // 0x47ccca02 => nft()    // 0x4af669bf => setSplitRatio(uint256)    // 0x50c1b923 => setUSDT(address)    // 0x576f35e3 => setBatchSize(uint256)    // 0x57c9fe68 => currentDistributionClaimed()    // 0x5c59f3bb => splitRatio()    // 0x67f747ef => setRemainderReceiver(address)    // 0x68630a06 => unresolved_68630a06()    // 0x6a0fc3a0 => unresolved_6a0fc3a0()    // 0x6a131175 => distributeBatch(uint256)    // 0x715018a6 => renounceOwnership()    // 0x75619ab5 => setDistributor(address)    // 0x7fb8be15 => emergencyStopDistribution()    // 0x8d2589b0 => remainderReceiver()    // 0x8da5cb5b => owner()    // 0x8e312aac => DISTRIBUTION_COOLDOWN()    // 0x99fb15d2 => distributionActive()    // 0xa49ab8c7 => getDistributionProgress()    // 0xbfe10928 => distributor()    // 0xd0dfe553 => unresolved_d0dfe553()    // 0xd83623dd => startDistribution()    // 0xe5254845 => currentDistributionTotal()    // 0xf17f8b47 => unresolved_f17f8b47(address)    // 0xf1b2a03f => totalNFTRewards()    // 0xf2fde38b => transferOwnership(address)    // 0xf4daaba1 => batchSize()    // 0xf8c8765e => initialize(address,address,address,address)    // 0xfc0c546a => token()}