BNB Chain

0x71a7919663974000194e3ee699a455d7b6c6734d

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

Decompilation outputBNB Chain · 0x71a79196b6c6734d20.7 KB160.5 s
Share
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec
// Decompilation incomplete: symbolic execution reached a configured deadline for 1 of 62 entry points (170000 ms contract budget): 095bf141
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

contract DesolexContract {
    uint256 public constant GOVERNANCE_ROLE = 51344670724517732003549907689393193919197804398902247150944709319656146718385;
    address public constant stakedToken = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90);
    uint256 public constant unresolved_b2402988 = 604800;
    uint256 public constant DEFAULT_ADMIN_ROLE = 0;
    address public constant stakingMain = address(0xe3a24afea37dc8547cedb480e291881bba335c31);
    address public constant protocolRegistry = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593);
    bool public constant directWithdrawEnabled = true;
    uint256 public constant treasury = 1029826448719675405611422076806224983999605739031;
    uint256 public constant moduleKey = 44466909091094490895291304651108669138770736426393582960939232102955413234133;
    uint256 public constant unresolved_4087ee51 = 3600;
    uint256 public constant redemptionWindow = 172800;
    uint256 public constant GUARDIAN_ROLE = 38565618417199902773051943526088628524471517387241857154768371431684916793409;
    uint256 public constant interfaceVersion = 1;
    address public constant protocolToken = address(0x61e91daf03a49ecec334bffbf5008860cfb33333);
    
    mapping(bytes32 => mapping(address => bool)) public hasRole; // STORAGE[0x0]
    mapping(bytes32 => uint256) public getRoleMemberCount; // STORAGE[0x1]
    bytes32 stor_2; // STORAGE[0x2]
    address[10] public unresolved_2cae9419; // STORAGE[0x3]
    mapping(bytes32 => uint256) public unresolved_66d1cfb1; // STORAGE[0xd]
    mapping(bytes32 => uint256) public unresolved_cb7a8672; // STORAGE[0xe]
    mapping(uint256 => uint256) public unresolved_8e8a7e00; // STORAGE[0xf]
    mapping(uint256 => uint256) public unresolved_29c7a7f2; // STORAGE[0x10]
    mapping(uint256 => uint256) public unresolved_ca859e78; // STORAGE[0x11]
    mapping(uint256 => address) mapping_12; // STORAGE[0x12]
    uint256 stor_13; // STORAGE[0x13]
    uint256 stor_14; // STORAGE[0x14]
    uint256 public unresolved_3288875e; // STORAGE[0x15]
    uint256 public depositCount; // STORAGE[0x16]
    uint16 stor_17; // STORAGE[0x17]
    mapping(address => bool) mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef; // STORAGE[0x316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef]
    mapping(address => uint256) mapping_expr_v;
    bytes32 stor_expr_ab;
    uint256 stor_expr_ac;
    bytes32 stor_expr_ad;
    uint256 stor_expr_af;
    uint256 stor_expr_ag;
    bytes32 stor_expr_aj;
    bytes32 stor_expr_am;
    bytes32 stor_expr_an;
    bytes32 stor_expr_ao;
    bytes32 stor_expr_av;
    bytes32 stor_expr_bf;
    bytes32 stor_expr_bg;
    bytes32 stor_expr_bh;
    bytes32 stor_expr_bj;
    address stor_expr_bk;
    uint256 stor_expr_g;
    uint256 stor_expr_h;
    bytes32 stor_expr_j;
    uint256 stor_expr_p;
    bytes32 stor_expr_s;
    uint256 stor_expr_x;
    uint256 stor_expr_z;
    
    error CustomError_681e9ac2();
    error CustomError_c0562bba();
    error ExceedsAccrued();
    event Event_da302cbf(uint256 indexed, uint256 indexed, uint256 indexed);
    error CustomError_0a817548();
    error SafeERC20FailedOperation(address);
    event RoleGranted(bytes32 indexed, address indexed, address indexed);
    error CustomError_5517cbef();
    error CustomError_8c8a1d13();
    event Event_e00a2a90(uint256 indexed, uint256 indexed, uint256, uint256, uint256);
    event Event_fa0ea7ec(uint256 indexed, uint256 indexed, address indexed, uint256, uint256);
    error CustomError_5b2ae452();
    error CustomError_6f7d306b();
    error DirectWithdrawDisabled();
    event Event_63a02995(address indexed, uint256);
    error DepositNotFound();
    error AlreadyPaused();
    error GuardNotEnabled(address);
    error CustomError_30a1808f();
    error CustomError_c1d0faa8();
    error CustomError_994572b2();
    event RoleRevoked(bytes32 indexed, address indexed, address indexed);
    event Event_760b856d(uint256, uint256, uint256);
    event Event_0ac73116(uint256 indexed, uint256 indexed, uint256, uint256, uint256);
    event Event_6284dc69(address indexed, uint256);
    error PositionLocked();
    error VaultNotActive();
    error CustomError_d04caa59();
    event Event_7b5063c9();
    error CustomError_f4050bec();
    error CustomError_0f92d76c();
    error CustomError_55d74310();
    error NotPaused();
    error CustomError_9ca5eb23();
    error CustomError_e0b791c7();
    event Event_7ca195c1(uint256 indexed, uint256 indexed, uint256, uint256);
    event Event_83ebea6b(uint256, uint256, uint256);
    error CustomError_0e82b123();
    error ReentrancyGuardReentrantCall();
    error AccessControlBadConfirmation();
    error AccessControlUnauthorizedAccount(address, bytes32);
    error CustomError_8bbcfea4();
    error RewardAccountingMismatch();
    error CustomError_969f7dcd();
    event Event_60cb1891(address indexed, uint256);
    error CustomError_fc98447d();
    error ZeroAmount();
    function _desolexPanic(uint256 code) private pure {
        assembly ("memory-safe") {
            mstore(0x00, shl(224, 0x4e487b71))
            mstore(0x04, code)
            revert(0x00, 0x24)
        }
    }
    fallback() external payable {
        // Synthetic compatibility routes preserve original selectors for unresolved names.
        if ((msg.data.length >= 4) && (msg.sig == 0x095bf141)) {
            // Route to Unknown_095bf141(address,uint256,uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xce284e6c));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x0e98a106)) {
            // Route to Unknown_0e98a106() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x3399ba0d));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x11a0303a)) {
            // Route to Unknown_11a0303a() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x016df998));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x2f2ff15d)) {
            // Route to Unknown_2f2ff15d(uint256,address) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x62d62e41));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x36568abe)) {
            // Route to Unknown_36568abe(uint256,address) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x85154951));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x3b9e00dd)) {
            // Route to Unknown_3b9e00dd(uint256,uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x05bffad8));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x584d193b)) {
            // Route to Unknown_584d193b() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xab4f6a0b));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x5d4f9372)) {
            // Route to Unknown_5d4f9372() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x4fb26e9b));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x695b1008)) {
            // Route to Unknown_695b1008(uint16) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x8ff19fa8));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x7283b8b4)) {
            // Route to Unknown_7283b8b4() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xdfb2453d));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x8ce7a62c)) {
            // Route to Unknown_8ce7a62c() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x1f07c6a6));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x9010d07c)) {
            // Route to Unknown_9010d07c(uint256,uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xb656a175));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x99a1425b)) {
            // Route to Unknown_99a1425b(uint256,bool) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x70a1446b));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x9a5dc7e8)) {
            // Route to Unknown_9a5dc7e8(uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xd146d8e8));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xa3246ad3)) {
            // Route to Unknown_a3246ad3(uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x1cf458ec));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xb265183e)) {
            // Route to Unknown_b265183e(uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x047d5520));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xba461eed)) {
            // Route to Unknown_ba461eed(uint256,address) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x1e8ed74e));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xcf8241be)) {
            // Route to Unknown_cf8241be() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x68686167));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xd547741f)) {
            // Route to Unknown_d547741f(uint256,address) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x36cc8c12));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xdb99ca73)) {
            // Route to Unknown_db99ca73(uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xb412e0c6));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xe9f9b1a4)) {
            // Route to Unknown_e9f9b1a4() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x104cb5cd));
            return;
        }
        revert();
    }
    
    
    function isTierActive(uint8 index) public view returns (bool) {
        require(index < 0x0a);
        if (!((index < 0x0a))) _desolexPanic(33);
        return !(!(uint16((0x01 << (bytes1(index))) & (stor_17 >> 0x08))));
    }
    
    function newDepositsPaused() public view returns (bool) {
        return !(!(bytes1(stor_17)));
    }
    
    function Unknown_e9f9b1a4() public {
        require(stor_2 != 0x02, ReentrancyGuardReentrantCall());
        stor_2 = 0x02;
        require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
        var_a = var_a;
        (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).statusOf(var_a, address(this)); // staticcall
        require(success0);
        uint256 value1 = 0;
        uint256 var_f;
        uint256 value2 = var_f.length;
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            if (((var_f + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
            var_f = var_f + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_f + value0) - var_f) >= 0x20);
            require(var_f.length < 0x05);
        } else {
            value1 = var_f;
            value2 = 0;
        }
        if (!(value2 < 0x05)) _desolexPanic(33);
        uint256 value3 = 0;
        if (value2 == 0x02) {
            value3 = value2;
        }
        require(!(value2 != 0x2 && value2 != 0x3), CustomError_0a817548());
        uint256 value5 = 0;
        uint256 value4 = 0;
        while (true) {
            if (value4 >= 0xa) {
                break;
            }
            if (value4 >= 0xa) {
                _desolexPanic(33);
                break;
            }
            if (value5 > (value5 + unresolved_ca859e78[value4])) {
                _desolexPanic(17);
                break;
            }
            if (value4 >= 0xa) {
                _desolexPanic(33);
                break;
            }
            var_a = value4;
            unresolved_ca859e78[value4] = 0;
            value5 = value5 + unresolved_ca859e78[value4];
            value4 = value4 + 0x01;
        }
        require(value5 != 0x0, CustomError_e0b791c7());
        stor_14 = stor_14 - value5;
        (bool success1, bytes memory returnData1) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7); // staticcall
        require(success1);
        uint256 value6 = 0;
        uint256 value7 = var_f.length;
        if (success1) {
            if (0x20 > returnData1.length) {
                if (((var_f + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                var_f = var_f + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_f + returnData1.length) - var_f) >= 0x20);
            } else {
                if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                var_f = var_f + 0x20;
                require(((var_f + 0x20) - var_f) >= 0x20);
            }
            require(var_f.length == (address(var_f.length)));
        } else {
            value6 = var_f;
            value7 = 0;
        }
        uint256 value10 = 0;
        uint256 value11 = 0;
        bool flag1;
        if (address(value7).code.length != 0x0) {
            (bool success2, bytes memory returnData2) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7, address(value7)); // staticcall
            require(success2);
            uint256 value8 = 0;
            uint256 value9 = var_f.length;
            if (success2) {
                if (0x20 > returnData2.length) {
                    if (((var_f + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                    var_f = var_f + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_f + returnData2.length) - var_f) >= 0x20);
                } else {
                    if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                    var_f = var_f + 0x20;
                    require(((var_f + 0x20) - var_f) >= 0x20);
                }
                require(var_f.length == var_f.length);
            } else {
                value8 = var_f;
                value9 = 0;
            }
            flag1 = value9 == 0x0;
        } else {
            value10 = value7;
            value11 = 0xfd89fb9faf9de258c2148b2d0ec14da16ee42593;
            flag1 = value7.code.length == 0x0;
        }
        require(!(flag1), CustomError_f4050bec());
        (bool success3, bytes memory returnData3) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
        require(success3);
        uint256 value13 = 0;
        uint256 value14 = var_f.length;
        if (success3) {
            uint256 value12 = returnData3.length;
            if (0x20 <= returnData3.length) {
                value12 = 0x20;
            }
            if (((var_f + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
            var_f = var_f + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_f + value12) - var_f) >= 0x20);
        } else {
            value13 = var_f;
            value14 = 0;
        }
        (bool success4, bytes memory returnData4) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value7)); // staticcall
        require(success4);
        if (!(success4)) {
            if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
            var_f = var_f + 0x80;
            (bool success5, bytes memory returnData5) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value7), value5); // call
            require(success5);
            bool flag2 = !(0x01 == var_a);
            if (returnData5.length == 0) {
                flag2 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
            }
            require(!(flag2), SafeERC20FailedOperation());
            (bool success6, bytes memory returnData6) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
            require(success6);
            uint256 value16 = 0x20;
            uint256 value17 = var_f.length;
            if (success6) {
                uint256 value15 = returnData6.length;
                if (0x20 <= returnData6.length) {
                    value15 = 0x20;
                }
                if (((var_f + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                var_f = var_f + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_f + value15) - var_f) >= 0x20);
            } else {
                value16 = var_f;
                value17 = 0;
            }
            (bool success7, bytes memory returnData7) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value7)); // staticcall
            require(success7);
            uint256 value19 = 0;
            uint256 value20 = var_f.length;
            if (success7) {
                uint256 value18 = returnData7.length;
                if (0x20 <= returnData7.length) {
                    value18 = 0x20;
                }
                if (((var_f + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                var_f = var_f + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_f + value18) - var_f) >= 0x20);
            } else {
                value19 = var_f;
                value20 = 0;
            }
            uint256 value21 = 0;
            uint256 value22 = 0;
            bool flag3 = value14 - value17 != value5;
            if (value17 <= value14) {
            } else {
                value21 = value14;
                value22 = value17;
                flag3 = value17 > value14;
            }
            bool flag4 = value20 < 0x0;
            if (flag3) {
                flag4 = flag3;
            }
            uint256 value23 = 0;
            if (!flag4) {
            } else {
                value23 = value20;
            }
            require(!(!flag4 && value20 - 0x0 != value5 || flag4), CustomError_994572b2());
            emit Event_6284dc69(address(value7), value5);
            stor_2 = 0x01;
            return;
        }
        uint256 value24 = returnData4.length;
        if (0x20 <= returnData4.length) {
            value24 = 0x20;
        }
        if (((var_f + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
        var_f = var_f + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
        require(((var_f + value24) - var_f) >= 0x20);
        if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
        var_f = var_f + 0x80;
        (bool success8, bytes memory returnData8) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value7), value5); // call
        require(success8);
        bool flag6 = !(0x01 == var_a);
        if (returnData8.length == 0) {
            flag6 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
        }
        require(!(flag6), SafeERC20FailedOperation());
        (bool success9, bytes memory returnData9) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
        require(success9);
        uint256 value26 = 0x20;
        uint256 value27 = var_f.length;
        if (success9) {
            uint256 value25 = returnData9.length;
            if (0x20 <= returnData9.length) {
                value25 = 0x20;
            }
            if (((var_f + ((value25 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value25 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
            var_f = var_f + ((value25 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_f + value25) - var_f) >= 0x20);
        } else {
            value26 = var_f;
            value27 = 0;
        }
        (bool success10, bytes memory returnData10) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value7)); // staticcall
        require(success10);
        uint256 value29 = 0;
        uint256 value30 = var_f.length;
        if (success10) {
            uint256 value28 = returnData10.length;
            if (0x20 <= returnData10.length) {
                value28 = 0x20;
            }
            if (((var_f + ((value28 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value28 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
            var_f = var_f + ((value28 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_f + value28) - var_f) >= 0x20);
        } else {
            value29 = var_f;
            value30 = 0;
        }
        uint256 value31 = 0;
        uint256 value32 = 0;
        bool flag7 = value14 - value27 != value5;
        if (value27 <= value14) {
        } else {
            value31 = value14;
            value32 = value27;
            flag7 = value27 > value14;
        }
        bool flag8 = value30 < var_f.length;
        if (flag7) {
            flag8 = flag7;
        }
        uint256 value33 = 0;
        uint256 value34 = 0;
        bool flag9 = !((value30 - var_f.length) == value5);
        if (!flag8) {
        } else {
            value33 = value30;
            value34 = var_f.length;
            flag9 = flag8;
        }
        require(!(flag9), CustomError_994572b2());
        emit Event_6284dc69(address(value7), value5);
        stor_2 = 0x01;
    }
    
    function Unknown_db99ca73(uint256 arg0) public payable {
        if (!(msg.value)) {
            if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x20) {
                if (stor_2 != 0x02) {
                    stor_2 = 0x02;
                    var_b = var_b;
                    (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).statusOf(var_b, address(this)); // staticcall
                    if (success0) {
                        uint256 value0 = 0;
                        uint256 var_e;
                        uint256 value1 = var_e.length;
                        if (success0) {
                            if (0x20 > returnData0.length) {
                                if (((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                var_e = var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_e + returnData0.length) - var_e) >= 0x20);
                            } else {
                                if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                                var_e = var_e + 0x20;
                                require(((var_e + 0x20) - var_e) >= 0x20);
                            }
                            require(var_e.length < 0x05);
                        } else {
                            value0 = var_e;
                            value1 = 0;
                        }
                        if (value1 < 0x05) {
                            uint256 value2 = 0;
                            bool flag0 = value1 != 0x2;
                            if (value1 == 0x01) {
                                value2 = (!(value1 < 0x05)) ? 1 : 0;
                                flag0 = value1 != 0x1;
                            }
                            uint256 value3 = 0;
                            uint256 value4 = 0;
                            if (flag0) {
                                if (value2) _desolexPanic(33);
                            } else {
                                value3 = value2;
                                value4 = value1;
                            }
                            if (!(flag0 && 0x3 != value1)) {
                                var_f = 0x12;
                                if (mapping_12[arg0]) {
                                    if (msg.sender == mapping_12[arg0]) {
                                        if (bytes1(stor_expr_g >> 0xa0) < 0x07) {
                                            if (0x1 == (bytes1(stor_expr_g >> 0xa0))) {
                                                require(!(0x01), CustomError_969f7dcd());
                                                if (((var_e + 0xe0) > 0xffffffffffffffff) | ((var_e + 0xe0) < var_e)) _desolexPanic(65);
                                                var_e = var_e + 0xe0;
                                                if (!((bytes1(mapping_12[arg0] >> 0xa0) < 0x0a))) _desolexPanic(33);
                                                if (!((bytes1(stor_expr_g >> 0xa0) < 0x07))) _desolexPanic(33);
                                                if (block.timestamp < (uint64(var_n))) {
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    function Unknown_d547741f(uint256 arg0, address arg1) public {
        require(bytes1(hasRole[stor_expr_s][msg.sender]), AccessControlUnauthorizedAccount());
        internal_4872(arg0, arg1);
    }
    
    function Unknown_cf8241be() public returns (uint256) {
        (bool success0, bytes memory returnData0) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
        require(success0);
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            uint256 var_c;
            if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
            var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_c + value0) - var_c) >= 0x20);
            return var_c.length;
        } else {
            return 0;
        }
    }
    
    function depositAt(uint256 arg0) public view returns (bytes memory) {
        uint256 var_a;
        if (((var_a + 0xe0) > 0xffffffffffffffff) | ((var_a + 0xe0) < var_a)) _desolexPanic(65);
        var_a = var_a + 0xe0;
        if (((var_a + 0xe0) > 0xffffffffffffffff) | ((var_a + 0xe0) < var_a)) _desolexPanic(65);
        var_a = var_a + 0xe0;
        if (!(bytes1(mapping_12[arg0] >> 0xa0) < 0x0a)) _desolexPanic(33);
        if (!(bytes1(stor_expr_g >> 0xa0) < 0x07)) _desolexPanic(33);
        if (!(var_s < 0x0a)) _desolexPanic(33);
        if (!(var_ac < 0x07)) _desolexPanic(33);
        return abi.encodePacked(address(var_a.length), var_ae, var_af, uint64(var_ag), uint64(var_ah), address(var_ai), var_aj);
    }
    
    function restake(uint256 index) public payable returns (uint256) {
        if (!(msg.value)) {
            if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x20) {
                if (stor_2 != 0x02) {
                    stor_2 = 0x02;
                    var_b = var_b;
                    (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).statusOf(var_b, address(this)); // staticcall
                    if (success0) {
                        uint256 value0 = 0;
                        uint256 var_e;
                        uint256 value1 = var_e.length;
                        if (success0) {
                            if (0x20 > returnData0.length) {
                                if (((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                var_e = var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_e + returnData0.length) - var_e) >= 0x20);
                            } else {
                                if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                                var_e = var_e + 0x20;
                                require(((var_e + 0x20) - var_e) >= 0x20);
                            }
                            require(var_e.length < 0x05);
                        } else {
                            value0 = var_e;
                            value1 = 0;
                        }
                        if (value1 < 0x05) {
                            uint256 value2 = 0;
                            bool flag0 = value1 != 0x2;
                            if (value1 == 0x01) {
                                value2 = (!(value1 < 0x05)) ? 1 : 0;
                                flag0 = value1 != 0x1;
                            }
                            uint256 value3 = 0;
                            uint256 value4 = 0;
                            if (flag0) {
                                if (value2) _desolexPanic(33);
                            } else {
                                value3 = value2;
                                value4 = value1;
                            }
                            if (!(flag0 && 0x3 != value1)) {
                                if (mapping_12[index]) {
                                    if (msg.sender == mapping_12[index]) {
                                        if (bytes1(stor_expr_g >> 0xa0) < 0x07) {
                                            require(0x1 == (bytes1(stor_expr_g >> 0xa0)), CustomError_9ca5eb23());
                                            if (((var_e + 0xe0) > 0xffffffffffffffff) | ((var_e + 0xe0) < var_e)) _desolexPanic(65);
                                            var_e = var_e + 0xe0;
                                            if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                            if (!((bytes1(stor_expr_g >> 0xa0) < 0x07))) _desolexPanic(33);
                                            if (block.timestamp < (uint64(var_n))) {
                                                require(0 != 0x0, PositionLocked());
                                                stor_expr_g = 0x040000000000000000000000000000000000000000 | (stor_expr_g & (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff));
                                                uint256 value25 = 0;
                                                if (address(stor_expr_g) != address(0)) {
                                                    require(address(stor_expr_g).code.length);
                                                    (bool success1, bytes memory returnData1) = address(stor_expr_g).Unknown_715f3042(); // call
                                                    require(success1);
                                                    uint256 value5 = 0;
                                                    if (success1) {
                                                        if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
                                                        var_e = var_e + 0;
                                                        require(0x0 == 0x0);
                                                    } else {
                                                        value5 = var_e;
                                                    }
                                                } else {
                                                    flag2 = stor_expr_aj != 0x0;
                                                }
                                                if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                                if (bytes1(mapping_12[index] >> 0xa0)) {
                                                    if (bytes1(mapping_12[index] >> 0xa0) != 0x01) {
                                                        if (bytes1(mapping_12[index] >> 0xa0) != 0x02) {
                                                            if (bytes1(mapping_12[index] >> 0xa0) != 0x03) {
                                                                if (bytes1(mapping_12[index] >> 0xa0) != 0x04) {
                                                                    if (bytes1(mapping_12[index] >> 0xa0) != 0x05) {
                                                                        if (bytes1(mapping_12[index] >> 0xa0) != 0x06) {
                                                                            if (bytes1(mapping_12[index] >> 0xa0) == 0x07) {
                                                                                depositCount = 0x01 + depositCount;
                                                                                if (((var_e + 0xe0) > 0xffffffffffffffff) | ((var_e + 0xe0) < var_e)) _desolexPanic(65);
                                                                                var_e = var_e + 0xe0;
                                                                                if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                                                                mapping_12[0x01 + depositCount] = (address(var_e.length)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & mapping_12[0x01 + depositCount]);
                                                                                if (!(var_v < 0x0a)) _desolexPanic(33);
                                                                                mapping_12[0x01 + depositCount] = (0xff0000000000000000000000000000000000000000 & (var_v << 0xa0)) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & mapping_12[0x01 + depositCount]);
                                                                                stor_expr_am = var_w;
                                                                                stor_expr_an = (0xffffffffffffffff0000000000000000 & (var_n << 0x40)) | (0xffffffffffffffff & var_x | (stor_expr_an & (0xffffffffffffffffffffffffffffffff00000000000000000000000000000000)));
                                                                                stor_expr_ao = (address(var_y)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_expr_ao);
                                                                                if ((var_z < 0x07) && (var_z < 0x07)) {
                                                                                    stor_expr_ao = (0xff0000000000000000000000000000000000000000 & (var_z << 0xa0)) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_expr_ao);
                                                                                }
                                                                            } else {
                                                                                if (0x08 == (bytes1(mapping_12[index] >> 0xa0))) {
                                                                                    depositCount = 0x01 + depositCount;
                                                                                    if (((var_e + 0xe0) > 0xffffffffffffffff) | ((var_e + 0xe0) < var_e)) _desolexPanic(65);
                                                                                    var_e = var_e + 0xe0;
                                                                                    if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                                                                    mapping_12[0x01 + depositCount] = (address(var_e.length)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & mapping_12[0x01 + depositCount]);
                                                                                    if (!(var_v < 0x0a)) _desolexPanic(33);
                                                                                    mapping_12[0x01 + depositCount] = (0xff0000000000000000000000000000000000000000 & (var_v << 0xa0)) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & mapping_12[0x01 + depositCount]);
                                                                                    stor_expr_am = var_w;
                                                                                    stor_expr_an = (0xffffffffffffffff0000000000000000 & (var_n << 0x40)) | (0xffffffffffffffff & var_x | (stor_expr_an & (0xffffffffffffffffffffffffffffffff00000000000000000000000000000000)));
                                                                                    stor_expr_ao = (address(var_y)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_expr_ao);
                                                                                    if (!((var_z < 0x07))) _desolexPanic(33);
                                                                                    if (!((var_z < 0x07))) _desolexPanic(33);
                                                                                    stor_expr_ao = (0xff0000000000000000000000000000000000000000 & (var_z << 0xa0)) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_expr_ao);
                                                                                    uint256 value26 = 0;
                                                                                    value26 = 0;
                                                                                    if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                                                                    emit Event_7b5063c9(0x01 + depositCount, msg.sender, bytes1(mapping_12[index] >> 0xa0), stor_expr_h, uint64(block.timestamp), uint64(block.timestamp + 0x067d2200), 0);
                                                                                } else {
                                                                                    depositCount = 0x01 + depositCount;
                                                                                    if (((var_e + 0xe0) > 0xffffffffffffffff) | ((var_e + 0xe0) < var_e)) _desolexPanic(65);
                                                                                    var_e = var_e + 0xe0;
                                                                                    if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                                                                    mapping_12[0x01 + depositCount] = (address(var_e.length)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & mapping_12[0x01 + depositCount]);
                                                                                    if (!(var_v < 0x0a)) _desolexPanic(33);
                                                                                    mapping_12[0x01 + depositCount] = (0xff0000000000000000000000000000000000000000 & (var_v << 0xa0)) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & mapping_12[0x01 + depositCount]);
                                                                                    stor_expr_am = var_w;
                                                                                    stor_expr_an = (0xffffffffffffffff0000000000000000 & (var_n << 0x40)) | (0xffffffffffffffff & var_x | (stor_expr_an & (0xffffffffffffffffffffffffffffffff00000000000000000000000000000000)));
                                                                                    stor_expr_ao = (address(var_y)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_expr_ao);
                                                                                    if (!((var_z < 0x07))) _desolexPanic(33);
                                                                                    if (!((var_z < 0x07))) _desolexPanic(33);
                                                                                    stor_expr_ao = (0xff0000000000000000000000000000000000000000 & (var_z << 0xa0)) | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_expr_ao);
                                                                                    uint256 value27 = 0;
                                                                                    value27 = 0;
                                                                                    if (!(bytes1(mapping_12[index] >> 0xa0) < 0x0a)) _desolexPanic(33);
                                                                                    emit Event_7b5063c9(0x01 + depositCount, msg.sender, bytes1(mapping_12[index] >> 0xa0), stor_expr_h, uint64(block.timestamp), uint64(block.timestamp + 0x076a7000), 0);
                                                                                }
                                                                                emit Event_da302cbf(index, 0x01 + depositCount, msg.sender);
                                                                                stor_2 = 0x01;
                                                                                return 0x01 + depositCount;
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    function Unknown_ba461eed(uint256 arg0, address account) public returns (uint256) {
        require(arg0 < 0x0a);
        if (!((arg0 < 0x0a))) _desolexPanic(33);
        (bool success0, bytes memory returnData0) = address(unresolved_2cae9419[arg0]).balanceOf(account); // staticcall
        require(success0);
        if (!(success0)) {
            if (!((arg0 < 0x0a))) _desolexPanic(33);
            if (0 != (0 > unresolved_cb7a8672[arg0][account])) {
                return 0 - unresolved_cb7a8672[arg0][account];
            }
            return 0;
        }
        uint256 value0 = returnData0.length;
        if (0x20 <= returnData0.length) {
            value0 = 0x20;
        }
        uint256 var_e;
        if (((var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
        var_e = var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
        require(((var_e + value0) - var_e) >= 0x20);
        if (!((arg0 < 0x0a))) _desolexPanic(33);
        if (0 != (var_e.length > unresolved_cb7a8672[arg0][account])) {
            return var_e.length - unresolved_cb7a8672[arg0][account];
        }
        return 0;
    }
    
    function totalPrincipal() public view returns (uint256) {
        return stor_13;
    }
    
    function principalLiability() public view returns (uint256) {
        return stor_13;
    }
    
    function Unknown_b265183e(uint256 arg0) public returns (uint256) {
        require(arg0 < 0x0a);
        if (!((arg0 < 0x0a))) _desolexPanic(33);
        if (!((arg0 < 0x0a))) _desolexPanic(33);
        if (unresolved_8e8a7e00[arg0] > unresolved_29c7a7f2[arg0]) {
            if (!((arg0 < 0x0a))) _desolexPanic(33);
            (bool success0, bytes memory returnData0) = address(unresolved_2cae9419[arg0]).circulatingSupply(); // staticcall
            require(success0);
            if (!(success0)) {
                if (!((arg0 < 0x0a))) _desolexPanic(33);
                if (0 > unresolved_66d1cfb1[arg0]) {
                    if ((0 - unresolved_66d1cfb1[arg0]) < (unresolved_8e8a7e00[arg0] - unresolved_29c7a7f2[arg0])) {
                        return 0 - unresolved_66d1cfb1[arg0];
                    }
                    return unresolved_8e8a7e00[arg0] - unresolved_29c7a7f2[arg0];
                }
                return 0;
            }
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            uint256 var_d;
            if (((var_d + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
            var_d = var_d + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_d + value0) - var_d) >= 0x20);
            if (!((arg0 < 0x0a))) _desolexPanic(33);
            if (var_d.length > unresolved_66d1cfb1[arg0]) {
                if ((var_d.length - unresolved_66d1cfb1[arg0]) < (unresolved_8e8a7e00[arg0] - unresolved_29c7a7f2[arg0])) {
                    return var_d.length - unresolved_66d1cfb1[arg0];
                }
                return unresolved_8e8a7e00[arg0] - unresolved_29c7a7f2[arg0];
            }
            return 0;
        }
        return 0;
    }
    
    function Unknown_a3246ad3(uint256 arg0) public view returns (bytes memory) {
        uint256 value0 = 0;
        uint256 value1 = keccak256(abi.encode(keccak256(abi.encode(arg0, 0x01))));
        uint256 var_a;
        uint256 value2 = var_a + 0x20;
        while (true) {
            if (value0 >= getRoleMemberCount[arg0]) {
                break;
            }
            value0 = 0x01 + value0;
            value1 = 0x01 + value1;
            value2 = value2 + 0x20;
        }
        if (((var_a + (((value2 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((value2 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
        uint256 value3 = 0;
        uint256 value4 = var_a + 0x20;
        uint256 value5 = var_a + 0x40;
        while (true) {
            var_a = var_a + (((value2 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            if (value3 >= var_a.length) {
                return abi.encodePacked(0x20, var_a.length);
            }
            value3 = 0x01 + value3;
            value4 = value4 + 0x20;
            value5 = 0x20 + value5;
        }
    }
    
    function hasOpenPositions() public returns (bool) {
        uint256 value1 = 0;
        uint256 value0 = 0;
        while (true) {
            if (value0 >= 0xa) {
                break;
            }
            (bool success0, bytes memory returnData0) = address(unresolved_2cae9419[value0]).circulatingSupply(); // staticcall
            if (!success0) {
                revert();
                break;
            }
            uint256 value4 = 0x01;
            uint256 var_b;
            uint256 value5 = var_b.length;
            if (success0) {
                uint256 value3 = returnData0.length;
                if (0x20 <= returnData0.length) {
                    value3 = 0x20;
                }
                if (((var_b + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_b + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_b)) _desolexPanic(65);
                var_b = var_b + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_b + value3) - var_b) >= 0x20);
            } else {
                value4 = var_b;
                value5 = 0;
            }
            value1 = value1 + value5;
            value0 = value0 + 0x01;
        }
        bool flag0;
        if (value1 == 0x0) {
            (bool success1, bytes memory returnData1) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
            require(success1);
            bool flag1 = var_b.length;
            if (success1) {
                uint256 value2 = returnData1.length;
                if (0x20 <= returnData1.length) {
                    value2 = 0x20;
                }
                if (((var_b + ((value2 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_b + ((value2 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_b)) _desolexPanic(65);
                var_b = var_b + ((value2 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_b + value2) - var_b) >= 0x20);
            } else {
                flag1 = 0x0 != 0x0;
            }
            flag0 = flag1;
        } else {
            flag0 = value1 != 0x0;
        }
        return flag0;
    }
    
    function Unknown_9a5dc7e8(uint256 arg0) public {
        require(stor_2 != 0x02, ReentrancyGuardReentrantCall());
        stor_2 = 0x02;
        address var_a = msg.sender;
        require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
        require(arg0 != 0x0, ZeroAmount());
        (bool success0, bytes memory returnData0) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
        require(success0);
        uint256 var_e;
        uint256 value1 = var_e.length;
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            if (((var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
            var_e = var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_e + value0) - var_e) >= 0x20);
        } else {
            value1 = 0;
        }
        require(value1 >= stor_13, CustomError_c0562bba());
        require(arg0 <= (value1 - stor_13), CustomError_c1d0faa8());
        (bool success1, bytes memory returnData1) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7); // staticcall
        require(success1);
        uint256 value2 = 0;
        uint256 value3 = var_e.length;
        if (success1) {
            if (0x20 > returnData1.length) {
                if (((var_e + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                var_e = var_e + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_e + returnData1.length) - var_e) >= 0x20);
            } else {
                if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                var_e = var_e + 0x20;
                require(((var_e + 0x20) - var_e) >= 0x20);
            }
            require(var_e.length == (address(var_e.length)));
        } else {
            value2 = var_e;
            value3 = 0;
        }
        uint256 value6 = 0;
        uint256 value7 = 0;
        bool flag0;
        if (address(value3).code.length != 0x0) {
            (bool success2, bytes memory returnData2) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7, address(value3)); // staticcall
            require(success2);
            uint256 value4 = 0;
            uint256 value5 = var_e.length;
            if (success2) {
                if (0x20 > returnData2.length) {
                    if (((var_e + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                    var_e = var_e + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_e + returnData2.length) - var_e) >= 0x20);
                } else {
                    if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                    var_e = var_e + 0x20;
                    require(((var_e + 0x20) - var_e) >= 0x20);
                }
                require(var_e.length == var_e.length);
            } else {
                value4 = var_e;
                value5 = 0;
            }
            flag0 = value5 == 0x0;
        } else {
            value6 = value3;
            value7 = 0xfd89fb9faf9de258c2148b2d0ec14da16ee42593;
            flag0 = value3.code.length == 0x0;
        }
        require(!(flag0), CustomError_f4050bec());
        (bool success3, bytes memory returnData3) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
        require(success3);
        if (success3) {
            uint256 value8 = returnData3.length;
            if (0x20 <= returnData3.length) {
                value8 = 0x20;
            }
            if (((var_e + ((value8 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value8 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
            var_e = var_e + ((value8 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_e + value8) - var_e) >= 0x20);
            (bool success4, bytes memory returnData4) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(value3)); // staticcall
            require(success4);
            uint256 value10 = 0x24;
            uint256 value11 = var_e.length;
            if (success4) {
                uint256 value9 = returnData4.length;
                if (0x20 <= returnData4.length) {
                    value9 = 0x20;
                }
                if (((var_e + ((value9 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value9 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                var_e = var_e + ((value9 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_e + value9) - var_e) >= 0x20);
            } else {
                value10 = var_e;
                value11 = 0;
            }
            if (((var_e + 0x80) > 0xffffffffffffffff) | ((var_e + 0x80) < var_e)) _desolexPanic(65);
            var_e = var_e + 0x80;
            (bool success5, bytes memory returnData5) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).transfer(address(value3), arg0); // call
            require(success5);
            bool flag1 = !(0x01 == var_a);
            if (returnData5.length == 0) {
                flag1 = !(address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).code.length);
            }
            require(!(flag1), SafeERC20FailedOperation());
            (bool success6, bytes memory returnData6) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
            require(success6);
            if (success6) {
                uint256 value12 = returnData6.length;
                if (0x20 <= returnData6.length) {
                    value12 = 0x20;
                }
                if (((var_e + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                var_e = var_e + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_e + value12) - var_e) >= 0x20);
                (bool success7, bytes memory returnData7) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(value3)); // staticcall
                require(success7);
                uint256 value14 = 0;
                uint256 value15 = var_e.length;
                if (success7) {
                    uint256 value13 = returnData7.length;
                    if (0x20 <= returnData7.length) {
                        value13 = 0x20;
                    }
                    if (((var_e + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                    var_e = var_e + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_e + value13) - var_e) >= 0x20);
                } else {
                    value14 = var_e;
                    value15 = 0;
                }
                uint256 value16 = 0;
                uint256 value17 = 0;
                bool flag2 = !((var_e.length - var_e.length) == arg0);
                if (!(var_e.length > var_e.length)) {
                } else {
                    value16 = var_e.length;
                    value17 = var_e.length;
                    flag2 = var_e.length > var_e.length;
                }
                bool flag3 = value15 < value11;
                if (flag2) {
                    flag3 = flag2;
                }
                uint256 value18 = 0;
                uint256 value19 = 0;
                if (!flag3) {
                } else {
                    value18 = value15;
                    value19 = value11;
                }
                require(!(!flag3 && value15 - value11 != arg0 || flag3), CustomError_5b2ae452());
            } else {
                (bool success8, bytes memory returnData8) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(value3)); // staticcall
                require(success8);
                uint256 value21 = 0;
                uint256 value22 = var_e.length;
                if (success8) {
                    uint256 value20 = returnData8.length;
                    if (0x20 <= returnData8.length) {
                        value20 = 0x20;
                    }
                    if (((var_e + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                    var_e = var_e + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_e + value20) - var_e) >= 0x20);
                } else {
                    value21 = var_e;
                    value22 = 0;
                }
                uint256 value23 = 0;
                bool flag5 = !((var_e.length - 0) == arg0);
                if (!(0 > var_e.length)) {
                } else {
                    value23 = var_e.length;
                    flag5 = 0 > var_e.length;
                }
                bool flag6 = value22 < value11;
                if (flag5) {
                    flag6 = flag5;
                }
                uint256 value24 = 0;
                uint256 value25 = 0;
                if (!flag6) {
                } else {
                    value24 = value22;
                    value25 = value11;
                }
                require(!(!flag6 && value22 - value11 != arg0 || flag6), CustomError_5b2ae452());
            }
        } else {
            (bool success9, bytes memory returnData9) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(value3)); // staticcall
            require(success9);
            uint256 value27 = 0x24;
            uint256 value28 = var_e.length;
            if (success9) {
                uint256 value26 = returnData9.length;
                if (0x20 <= returnData9.length) {
                    value26 = 0x20;
                }
                if (((var_e + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                var_e = var_e + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_e + value26) - var_e) >= 0x20);
            } else {
                value27 = var_e;
                value28 = 0;
            }
            if (((var_e + 0x80) > 0xffffffffffffffff) | ((var_e + 0x80) < var_e)) _desolexPanic(65);
            var_e = var_e + 0x80;
            (bool success10, bytes memory returnData10) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).transfer(address(value3), arg0); // call
            require(success10);
            bool flag8 = !(0x01 == var_a);
            if (returnData10.length == 0) {
                flag8 = !(address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).code.length);
            }
            require(!(flag8), SafeERC20FailedOperation());
            (bool success11, bytes memory returnData11) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
            require(success11);
            if (success11) {
                uint256 value29 = returnData11.length;
                if (0x20 <= returnData11.length) {
                    value29 = 0x20;
                }
                if (((var_e + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                var_e = var_e + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_e + value29) - var_e) >= 0x20);
                (bool success12, bytes memory returnData12) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(value3)); // staticcall
                require(success12);
                uint256 value31 = 0;
                uint256 value32 = var_e.length;
                if (success12) {
                    uint256 value30 = returnData12.length;
                    if (0x20 <= returnData12.length) {
                        value30 = 0x20;
                    }
                    if (((var_e + ((value30 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value30 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                    var_e = var_e + ((value30 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_e + value30) - var_e) >= 0x20);
                } else {
                    value31 = var_e;
                    value32 = 0;
                }
                uint256 value33 = 0;
                bool flag9 = !((0 - var_e.length) == arg0);
                if (!(var_e.length > 0)) {
                } else {
                    value33 = var_e.length;
                    flag9 = var_e.length > 0;
                }
                bool flag10 = value32 < value28;
                if (flag9) {
                    flag10 = flag9;
                }
                uint256 value34 = 0;
                uint256 value35 = 0;
                if (!flag10) {
                } else {
                    value34 = value32;
                    value35 = value28;
                }
                require(!(!flag10 && value32 - value28 != arg0 || flag10), CustomError_5b2ae452());
            } else {
                (bool success13, bytes memory returnData13) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(value3)); // staticcall
                require(success13);
                uint256 value37 = 0;
                uint256 value38 = var_e.length;
                if (success13) {
                    uint256 value36 = returnData13.length;
                    if (0x20 <= returnData13.length) {
                        value36 = 0x20;
                    }
                    if (((var_e + ((value36 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value36 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                    var_e = var_e + ((value36 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_e + value36) - var_e) >= 0x20);
                } else {
                    value37 = var_e;
                    value38 = 0;
                }
                bool flag12 = 0x0 != arg0;
                bool flag13 = value38 < value28;
                if (flag12) {
                    flag13 = flag12;
                }
                uint256 value39 = 0;
                uint256 value40 = 0;
                if (!flag13) {
                } else {
                    value39 = value38;
                    value40 = value28;
                }
                require(!(!flag13 && value38 - value28 != arg0 || flag13), CustomError_5b2ae452());
            }
        }
        emit Event_63a02995(address(value3), arg0);
        stor_2 = 0x01;
    }
    
    function Unknown_99a1425b(uint256 arg0, bool arg1) public payable returns (uint256) {
        if (!(msg.value)) {
            if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x40) {
                if (arg0 < 0x0a) {
                    if (stor_2 != 0x02) {
                        stor_2 = 0x02;
                        (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0x0bc08363990a5d8594f51cfdcedc3f7359d3bba2162c25c1f2b1b196035a49cb, msg.sender); // staticcall
                        if (success0) {
                            if (!(success0)) {
                                require(0, CustomError_8c8a1d13());
                                var_d = var_d;
                                (bool success1, bytes memory returnData1) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(var_d, address(this)); // staticcall
                                require(success1);
                                uint256 value1 = 0;
                                uint256 var_e;
                                uint256 value2 = var_e.length;
                                if (success1) {
                                    uint256 value0 = returnData1.length;
                                    if (0x20 <= returnData1.length) {
                                        value0 = 0x20;
                                    }
                                    if (((var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value0) - var_e) >= 0x20);
                                    require(var_e.length == var_e.length);
                                } else {
                                    value1 = var_e;
                                    value2 = 0;
                                }
                                require(value2 != 0x0, VaultNotActive());
                                bool flag0;
                                if (arg1) {
                                    (bool success2, bytes memory returnData2) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                    require(success2);
                                    bool flag6 = (stor_14 + arg1) > var_e.length;
                                    if (success2) {
                                        uint256 value3 = returnData2.length;
                                        if (0x20 <= returnData2.length) {
                                            value3 = 0x20;
                                        }
                                        if (((var_e + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + value3) - var_e) >= 0x20);
                                    } else {
                                        flag6 = (stor_14 + arg1) > 0;
                                    }
                                    flag0 = flag6;
                                } else {
                                    flag0 = !arg1;
                                }
                                require(!(flag0), CustomError_6f7d306b());
                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                (bool success3, bytes memory returnData3) = address(unresolved_2cae9419[arg0]).controller(); // staticcall
                                require(success3);
                                uint256 value4 = 0;
                                uint256 value5 = var_e.length;
                                if (success3) {
                                    if (0x20 > returnData3.length) {
                                        if (((var_e + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + returnData3.length) - var_e) >= 0x20);
                                    } else {
                                        if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                                        var_e = var_e + 0x20;
                                        require(((var_e + 0x20) - var_e) >= 0x20);
                                    }
                                    require(var_e.length == (address(var_e.length)));
                                } else {
                                    value4 = var_e;
                                    value5 = 0;
                                }
                                require((value5 & 0xffffffffffffffffffffffffffffffffffffffff) == address(this), GuardNotEnabled());
                                (bool success4, bytes memory returnData4) = address(unresolved_2cae9419[arg0]).decimals(); // staticcall
                                require(success4);
                                uint256 value7 = 0xff;
                                uint256 value8 = var_e.length;
                                if (success4) {
                                    uint256 value6 = returnData4.length;
                                    if (0x20 <= returnData4.length) {
                                        value6 = 0x20;
                                    }
                                    if (((var_e + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value6) - var_e) >= 0x20);
                                    require(var_e.length == (bytes1(var_e.length)));
                                } else {
                                    value7 = var_e;
                                    value8 = 0;
                                }
                                address account0 = address(0);
                                uint256 value11 = 0;
                                bool flag1;
                                if (0x9 == (0xff & value8)) {
                                    (bool success5, bytes memory returnData5) = address(unresolved_2cae9419[arg0]).symbol(); // staticcall
                                    require(success5);
                                    bool flag7;
                                    if (success5) {
                                        if (((var_e + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + returnData5.length) - var_e) >= 0x20);
                                        require(var_e.length <= 0xffffffffffffffff);
                                        require(((var_e + var_e.length) + 0x1f) < (var_e + returnData5.length));
                                        if (!(var_j <= 0xffffffffffffffff)) _desolexPanic(65);
                                        if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + var_e.length) + var_k + 0x20) <= (var_e + returnData5.length));
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        uint256 value9 = keccak256(abi.encode(0x4443413435000000000000000000000000000000000000000000000000000000));
                                        if (arg0 == 0x0) {
                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        } else {
                                            uint256 value59 = keccak256(abi.encode(0x4443413930000000000000000000000000000000000000000000000000000000));
                                            if (arg0 == 0x1) {
                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            } else {
                                                uint256 value60 = keccak256(abi.encode(0x4443413138300000000000000000000000000000000000000000000000000000));
                                                if (arg0 == 0x2) {
                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                } else {
                                                    uint256 value61 = keccak256(abi.encode(0x4443413336300000000000000000000000000000000000000000000000000000));
                                                    if (arg0 == 0x3) {
                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                    } else {
                                                        uint256 value62 = keccak256(abi.encode(0x4443413534300000000000000000000000000000000000000000000000000000));
                                                        if (arg0 == 0x4) {
                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                        } else {
                                                            uint256 value63 = keccak256(abi.encode(0x4443413732300000000000000000000000000000000000000000000000000000));
                                                            if (arg0 == 0x5) {
                                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                            } else {
                                                                uint256 value64 = keccak256(abi.encode(0x4443413930300000000000000000000000000000000000000000000000000000));
                                                                if (arg0 == 0x6) {
                                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                } else {
                                                                    uint256 value65 = keccak256(abi.encode(0x4443413130383000000000000000000000000000000000000000000000000000));
                                                                    if (arg0 == 0x7) {
                                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                    } else {
                                                                        uint256 value66 = keccak256(abi.encode(0x4443413132363000000000000000000000000000000000000000000000000000));
                                                                        if (0x8 == arg0) {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                        } else {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            value66 = keccak256(abi.encode(0x4443413134343000000000000000000000000000000000000000000000000000));
                                                                        }
                                                                        value65 = value66;
                                                                    }
                                                                    value64 = value65;
                                                                }
                                                                value63 = value64;
                                                            }
                                                            value62 = value63;
                                                        }
                                                        value61 = value62;
                                                    }
                                                    value60 = value61;
                                                }
                                                value59 = value60;
                                            }
                                            value9 = value59;
                                        }
                                        flag7 = !(value9 == (keccak256(var_o)));
                                    } else {
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        uint256 value10 = keccak256(abi.encode(0x4443413435000000000000000000000000000000000000000000000000000000));
                                        if (arg0 == 0x0) {
                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        } else {
                                            uint256 value67 = keccak256(abi.encode(0x4443413930000000000000000000000000000000000000000000000000000000));
                                            if (arg0 == 0x1) {
                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            } else {
                                                uint256 value68 = keccak256(abi.encode(0x4443413138300000000000000000000000000000000000000000000000000000));
                                                if (arg0 == 0x2) {
                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                } else {
                                                    uint256 value69 = keccak256(abi.encode(0x4443413336300000000000000000000000000000000000000000000000000000));
                                                    if (arg0 == 0x3) {
                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                    } else {
                                                        uint256 value70 = keccak256(abi.encode(0x4443413534300000000000000000000000000000000000000000000000000000));
                                                        if (arg0 == 0x4) {
                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                        } else {
                                                            uint256 value71 = keccak256(abi.encode(0x4443413732300000000000000000000000000000000000000000000000000000));
                                                            if (arg0 == 0x5) {
                                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                            } else {
                                                                uint256 value72 = keccak256(abi.encode(0x4443413930300000000000000000000000000000000000000000000000000000));
                                                                if (arg0 == 0x6) {
                                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                } else {
                                                                    uint256 value73 = keccak256(abi.encode(0x4443413130383000000000000000000000000000000000000000000000000000));
                                                                    if (arg0 == 0x7) {
                                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                    } else {
                                                                        uint256 value74 = keccak256(abi.encode(0x4443413132363000000000000000000000000000000000000000000000000000));
                                                                        if (0x8 == arg0) {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                        } else {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            value74 = keccak256(abi.encode(0x4443413134343000000000000000000000000000000000000000000000000000));
                                                                        }
                                                                        value73 = value74;
                                                                    }
                                                                    value72 = value73;
                                                                }
                                                                value71 = value72;
                                                            }
                                                            value70 = value71;
                                                        }
                                                        value69 = value70;
                                                    }
                                                    value68 = value69;
                                                }
                                                value67 = value68;
                                            }
                                            value10 = value67;
                                        }
                                        flag7 = !(value10 == keccak256(var_p));
                                    }
                                    flag1 = flag7;
                                } else {
                                    account0 = address(unresolved_2cae9419[arg0]);
                                    value11 = arg0;
                                    flag1 = 0x9 != (0xff & value8);
                                }
                                require(!(flag1), CustomError_681e9ac2());
                                (bool success6, bytes memory returnData6) = address(0xe3a24afea37dc8547cedb480e291881bba335c31).currentEpoch(); // staticcall
                                require(success6);
                                uint256 value13 = 0;
                                uint256 value17 = var_e.length;
                                if (success6) {
                                    uint256 value12 = returnData6.length;
                                    if (0x20 <= returnData6.length) {
                                        value12 = 0x20;
                                    }
                                    if (((var_e + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value12 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value12) - var_e) >= 0x20);
                                    require(var_e.length == (uint64(var_e.length)));
                                } else {
                                    value13 = var_e;
                                    value17 = 0;
                                }
                                (bool success7, bytes memory returnData7) = address(unresolved_2cae9419[arg0]).circulatingSupply(); // staticcall
                                require(success7);
                                uint256 value15 = 0;
                                uint256 value16 = var_e.length;
                                if (success7) {
                                    uint256 value14 = returnData7.length;
                                    if (0x20 <= returnData7.length) {
                                        value14 = 0x20;
                                    }
                                    if (((var_e + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value14) - var_e) >= 0x20);
                                } else {
                                    value15 = var_e;
                                    value16 = 0;
                                }
                                stor_14 = stor_14 + arg1;
                                uint256 value19 = var_e.length;
                                if (value16 != 0x0) {
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    unresolved_8e8a7e00[arg0] = unresolved_8e8a7e00[arg0] + arg1;
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    (bool success8, bytes memory returnData8) = address(unresolved_2cae9419[arg0]).Unknown_de8ef1cd(arg1 + unresolved_29c7a7f2[arg0], uint64(value17)); // call
                                    require(success8);
                                    if (!(success8)) {
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        unresolved_29c7a7f2[arg0] = (arg1 + unresolved_29c7a7f2[arg0]) - 0;
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        emit Event_0ac73116(arg0, uint64(value17), arg1, 0, !value16);
                                        stor_2 = 0x01;
                                        return 0;
                                    }
                                    uint256 value18 = returnData8.length;
                                    if (0x20 <= returnData8.length) {
                                        value18 = 0x20;
                                    }
                                    if (((var_e + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value18) - var_e) >= 0x20);
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    unresolved_29c7a7f2[arg0] = (arg1 + unresolved_29c7a7f2[arg0]) - var_e.length;
                                } else {
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    var_p = 0x11;
                                    unresolved_ca859e78[arg0] = unresolved_ca859e78[arg0] + arg1;
                                    value19 = 0;
                                }
                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                emit Event_0ac73116(arg0, uint64(value17), arg1, value19, !value16);
                                stor_2 = 0x01;
                                return value19;
                            }
                            if (0x20 > returnData0.length) {
                                if (!(((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e))) {
                                    var_e = var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    if (((var_e + returnData0.length) - var_e) >= 0x20) {
                                        if (var_e.length == var_e.length) {
                                            if (var_e.length != 0x0) {
                                                var_d = var_d;
                                                (bool success9, bytes memory returnData9) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(var_d, address(this)); // staticcall
                                                if (success9) {
                                                    uint256 value21 = 0;
                                                    uint256 value22 = var_e.length;
                                                    if (success9) {
                                                        uint256 value20 = returnData9.length;
                                                        if (0x20 <= returnData9.length) {
                                                            value20 = 0x20;
                                                        }
                                                        if (((var_e + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                        var_e = var_e + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                        require(((var_e + value20) - var_e) >= 0x20);
                                                        require(var_e.length == var_e.length);
                                                    } else {
                                                        value21 = var_e;
                                                        value22 = 0;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            } else {
                                if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                                var_e = var_e + 0x20;
                                require(((var_e + 0x20) - var_e) >= 0x20);
                                require(var_e.length == var_e.length);
                                require(var_e.length != 0x0, CustomError_8c8a1d13());
                                var_d = var_d;
                                (bool success10, bytes memory returnData10) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(var_d, address(this)); // staticcall
                                require(success10);
                                uint256 value24 = 0;
                                uint256 value25 = var_e.length;
                                if (success10) {
                                    uint256 value23 = returnData10.length;
                                    if (0x20 <= returnData10.length) {
                                        value23 = 0x20;
                                    }
                                    if (((var_e + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value23) - var_e) >= 0x20);
                                    require(var_e.length == var_e.length);
                                } else {
                                    value24 = var_e;
                                    value25 = 0;
                                }
                                require(value25 != 0x0, VaultNotActive());
                                bool flag2;
                                if (arg1) {
                                    (bool success11, bytes memory returnData11) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                    require(success11);
                                    bool flag4 = (stor_14 + arg1) > var_e.length;
                                    if (success11) {
                                        uint256 value26 = returnData11.length;
                                        if (0x20 <= returnData11.length) {
                                            value26 = 0x20;
                                        }
                                        if (((var_e + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + value26) - var_e) >= 0x20);
                                    } else {
                                        flag4 = (stor_14 + arg1) > 0;
                                    }
                                    flag2 = flag4;
                                } else {
                                    flag2 = !arg1;
                                }
                                require(!(flag2), CustomError_6f7d306b());
                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                (bool success12, bytes memory returnData12) = address(unresolved_2cae9419[arg0]).controller(); // staticcall
                                require(success12);
                                uint256 value27 = 0;
                                uint256 value28 = var_e.length;
                                if (success12) {
                                    if (0x20 > returnData12.length) {
                                        if (((var_e + ((returnData12.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData12.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + ((returnData12.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + returnData12.length) - var_e) >= 0x20);
                                    } else {
                                        if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                                        var_e = var_e + 0x20;
                                        require(((var_e + 0x20) - var_e) >= 0x20);
                                    }
                                    require(var_e.length == (address(var_e.length)));
                                } else {
                                    value27 = var_e;
                                    value28 = 0;
                                }
                                require((value28 & 0xffffffffffffffffffffffffffffffffffffffff) == address(this), GuardNotEnabled());
                                (bool success13, bytes memory returnData13) = address(unresolved_2cae9419[arg0]).decimals(); // staticcall
                                require(success13);
                                uint256 value30 = 0xff;
                                uint256 value31 = var_e.length;
                                if (success13) {
                                    uint256 value29 = returnData13.length;
                                    if (0x20 <= returnData13.length) {
                                        value29 = 0x20;
                                    }
                                    if (((var_e + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value29) - var_e) >= 0x20);
                                    require(var_e.length == (bytes1(var_e.length)));
                                } else {
                                    value30 = var_e;
                                    value31 = 0;
                                }
                                address account1 = address(0);
                                uint256 value34 = 0;
                                bool flag3;
                                if (0x9 == (0xff & value31)) {
                                    (bool success14, bytes memory returnData14) = address(unresolved_2cae9419[arg0]).symbol(); // staticcall
                                    require(success14);
                                    bool flag5;
                                    if (success14) {
                                        if (((var_e + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + returnData14.length) - var_e) >= 0x20);
                                        require(var_e.length <= 0xffffffffffffffff);
                                        require(((var_e + var_e.length) + 0x1f) < (var_e + returnData14.length));
                                        if (!(var_j <= 0xffffffffffffffff)) _desolexPanic(65);
                                        if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                        var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_e + var_e.length) + var_k + 0x20) <= (var_e + returnData14.length));
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        uint256 value32 = keccak256(abi.encode(0x4443413435000000000000000000000000000000000000000000000000000000));
                                        if (arg0 == 0x0) {
                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        } else {
                                            uint256 value43 = keccak256(abi.encode(0x4443413930000000000000000000000000000000000000000000000000000000));
                                            if (arg0 == 0x1) {
                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            } else {
                                                uint256 value44 = keccak256(abi.encode(0x4443413138300000000000000000000000000000000000000000000000000000));
                                                if (arg0 == 0x2) {
                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                } else {
                                                    uint256 value45 = keccak256(abi.encode(0x4443413336300000000000000000000000000000000000000000000000000000));
                                                    if (arg0 == 0x3) {
                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                    } else {
                                                        uint256 value46 = keccak256(abi.encode(0x4443413534300000000000000000000000000000000000000000000000000000));
                                                        if (arg0 == 0x4) {
                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                        } else {
                                                            uint256 value47 = keccak256(abi.encode(0x4443413732300000000000000000000000000000000000000000000000000000));
                                                            if (arg0 == 0x5) {
                                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                            } else {
                                                                uint256 value48 = keccak256(abi.encode(0x4443413930300000000000000000000000000000000000000000000000000000));
                                                                if (arg0 == 0x6) {
                                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                } else {
                                                                    uint256 value49 = keccak256(abi.encode(0x4443413130383000000000000000000000000000000000000000000000000000));
                                                                    if (arg0 == 0x7) {
                                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                    } else {
                                                                        uint256 value50 = keccak256(abi.encode(0x4443413132363000000000000000000000000000000000000000000000000000));
                                                                        if (0x8 == arg0) {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                        } else {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            value50 = keccak256(abi.encode(0x4443413134343000000000000000000000000000000000000000000000000000));
                                                                        }
                                                                        value49 = value50;
                                                                    }
                                                                    value48 = value49;
                                                                }
                                                                value47 = value48;
                                                            }
                                                            value46 = value47;
                                                        }
                                                        value45 = value46;
                                                    }
                                                    value44 = value45;
                                                }
                                                value43 = value44;
                                            }
                                            value32 = value43;
                                        }
                                        flag5 = !(value32 == (keccak256(var_o)));
                                    } else {
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        uint256 value33 = keccak256(abi.encode(0x4443413435000000000000000000000000000000000000000000000000000000));
                                        if (arg0 == 0x0) {
                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        } else {
                                            uint256 value51 = keccak256(abi.encode(0x4443413930000000000000000000000000000000000000000000000000000000));
                                            if (arg0 == 0x1) {
                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            } else {
                                                uint256 value52 = keccak256(abi.encode(0x4443413138300000000000000000000000000000000000000000000000000000));
                                                if (arg0 == 0x2) {
                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                } else {
                                                    uint256 value53 = keccak256(abi.encode(0x4443413336300000000000000000000000000000000000000000000000000000));
                                                    if (arg0 == 0x3) {
                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                    } else {
                                                        uint256 value54 = keccak256(abi.encode(0x4443413534300000000000000000000000000000000000000000000000000000));
                                                        if (arg0 == 0x4) {
                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                        } else {
                                                            uint256 value55 = keccak256(abi.encode(0x4443413732300000000000000000000000000000000000000000000000000000));
                                                            if (arg0 == 0x5) {
                                                                if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                            } else {
                                                                uint256 value56 = keccak256(abi.encode(0x4443413930300000000000000000000000000000000000000000000000000000));
                                                                if (arg0 == 0x6) {
                                                                    if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                    var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                } else {
                                                                    uint256 value57 = keccak256(abi.encode(0x4443413130383000000000000000000000000000000000000000000000000000));
                                                                    if (arg0 == 0x7) {
                                                                        if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                        var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                    } else {
                                                                        uint256 value58 = keccak256(abi.encode(0x4443413132363000000000000000000000000000000000000000000000000000));
                                                                        if (0x8 == arg0) {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                        } else {
                                                                            if (((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                                                            var_e = var_e + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            value58 = keccak256(abi.encode(0x4443413134343000000000000000000000000000000000000000000000000000));
                                                                        }
                                                                        value57 = value58;
                                                                    }
                                                                    value56 = value57;
                                                                }
                                                                value55 = value56;
                                                            }
                                                            value54 = value55;
                                                        }
                                                        value53 = value54;
                                                    }
                                                    value52 = value53;
                                                }
                                                value51 = value52;
                                            }
                                            value33 = value51;
                                        }
                                        flag5 = !(value33 == keccak256(var_p));
                                    }
                                    flag3 = flag5;
                                } else {
                                    account1 = address(unresolved_2cae9419[arg0]);
                                    value34 = arg0;
                                    flag3 = 0x9 != (0xff & value31);
                                }
                                require(!(flag3), CustomError_681e9ac2());
                                (bool success15, bytes memory returnData15) = address(0xe3a24afea37dc8547cedb480e291881bba335c31).currentEpoch(); // staticcall
                                require(success15);
                                uint256 value36 = 0;
                                uint256 value40 = var_e.length;
                                if (success15) {
                                    uint256 value35 = returnData15.length;
                                    if (0x20 <= returnData15.length) {
                                        value35 = 0x20;
                                    }
                                    if (((var_e + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value35) - var_e) >= 0x20);
                                    require(var_e.length == (uint64(var_e.length)));
                                } else {
                                    value36 = var_e;
                                    value40 = 0;
                                }
                                (bool success16, bytes memory returnData16) = address(unresolved_2cae9419[arg0]).circulatingSupply(); // staticcall
                                require(success16);
                                uint256 value38 = 0;
                                uint256 value39 = var_e.length;
                                if (success16) {
                                    uint256 value37 = returnData16.length;
                                    if (0x20 <= returnData16.length) {
                                        value37 = 0x20;
                                    }
                                    if (((var_e + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value37) - var_e) >= 0x20);
                                } else {
                                    value38 = var_e;
                                    value39 = 0;
                                }
                                stor_14 = stor_14 + arg1;
                                uint256 value42 = var_e.length;
                                if (value39 != 0x0) {
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    unresolved_8e8a7e00[arg0] = unresolved_8e8a7e00[arg0] + arg1;
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    (bool success17, bytes memory returnData17) = address(unresolved_2cae9419[arg0]).Unknown_de8ef1cd(arg1 + unresolved_29c7a7f2[arg0], uint64(value40)); // call
                                    require(success17);
                                    if (!(success17)) {
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        unresolved_29c7a7f2[arg0] = (arg1 + unresolved_29c7a7f2[arg0]) - 0;
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        emit Event_0ac73116(arg0, uint64(value40), arg1, 0, !value39);
                                        stor_2 = 0x01;
                                        return 0;
                                    }
                                    uint256 value41 = returnData17.length;
                                    if (0x20 <= returnData17.length) {
                                        value41 = 0x20;
                                    }
                                    if (((var_e + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                    var_e = var_e + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_e + value41) - var_e) >= 0x20);
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    unresolved_29c7a7f2[arg0] = (arg1 + unresolved_29c7a7f2[arg0]) - var_e.length;
                                } else {
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    unresolved_ca859e78[arg0] = unresolved_ca859e78[arg0] + arg1;
                                    value42 = 0;
                                }
                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                emit Event_0ac73116(arg0, uint64(value40), arg1, value42, !value39);
                                stor_2 = 0x01;
                                return value42;
                            }
                        }
                    }
                }
            }
        }
    }
    
    function totalRewardReserve() public view returns (uint256) {
        return stor_14;
    }
    
    function Unknown_9010d07c(uint256 arg0, uint256 arg1) public view returns (address) {
        if (!(arg1 < getRoleMemberCount[arg0])) _desolexPanic(50);
        return address(stor_expr_av >> 0);
    }
    
    function Unknown_11a0303a() public returns (uint256) {
        (bool success0, bytes memory returnData0) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
        require(success0);
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            uint256 var_c;
            if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
            var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_c + value0) - var_c) >= 0x20);
            require(var_c.length >= stor_13, CustomError_c0562bba());
            return var_c.length - stor_13;
        } else {
            require(0 >= stor_13, CustomError_c0562bba());
            return 0 - stor_13;
        }
    }
    
    function Unknown_8ce7a62c() public returns (uint256) {
        (bool success0, bytes memory returnData0) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(address(this)); // staticcall
        require(success0);
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            uint256 var_c;
            if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
            var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_c + value0) - var_c) >= 0x20);
            require(var_c.length >= stor_13, CustomError_c0562bba());
            return var_c.length - stor_13;
        } else {
            require(0 >= stor_13, CustomError_c0562bba());
            return 0 - stor_13;
        }
    }
    
    function positionState(uint256 arg0) public view returns (uint256) {
        uint256 var_c;
        if (((var_c + 0xe0) > 0xffffffffffffffff) | ((var_c + 0xe0) < var_c)) _desolexPanic(65);
        var_c = var_c + 0xe0;
        if (!((bytes1(mapping_12[arg0] >> 0xa0) < 0x0a))) _desolexPanic(33);
        if (!(bytes1(stor_expr_g >> 0xa0) < 0x07)) _desolexPanic(33);
        if (!(address(var_c.length))) {
            if (!(0 < 0x07)) _desolexPanic(33);
            return 0;
        } else {
            if (!(var_l < 0x07)) _desolexPanic(33);
            bool flag0 = 0x05 == var_l;
            if (0x04 == var_l) {
                flag0 = 0x04 == var_l;
            }
            bool flag1 = 0x06 == var_l;
            if (!flag0) {
                if (!(var_l < 0x07)) _desolexPanic(33);
            } else {
                flag1 = flag0;
            }
            if (flag1) {
                if (!(var_l < 0x07)) _desolexPanic(33);
                if (!(var_l < 0x07)) _desolexPanic(33);
                return var_l;
            } else {
                uint256 value1 = var_m & (0xffffffffffffffff) & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff));
                uint256 value2 = uint64(var_m);
                uint256 value3 = 0;
                if (block.timestamp < (uint64(var_m))) {
                } else {
                    if (!(var_n < 0x0a)) _desolexPanic(33);
                    if (!(var_n < 0x0a)) _desolexPanic(33);
                    uint256 value0 = 0x3b5380;
                    if (!(var_n == 0x0)) {
                        uint256 value4 = 0x76a700;
                        if (!(var_n == 0x1)) {
                            uint256 value5 = 0xed4e00;
                            if (!(var_n == 0x2)) {
                                uint256 value6 = 0x01da9c00;
                                if (!(var_n == 0x3)) {
                                    uint256 value7 = 0x02c7ea00;
                                    if (!(var_n == 0x4)) {
                                        uint256 value8 = 0x03b53800;
                                        if (!(var_n == 0x5)) {
                                            uint256 value9 = 0x04a28600;
                                            if (!(var_n == 0x6)) {
                                                uint256 value10 = 0x058fd400;
                                                if (!(var_n == 0x7)) {
                                                    uint256 value11 = 0x067d2200;
                                                    if (!(0x8 == var_n)) {
                                                        value11 = 0x076a7000;
                                                    }
                                                    value10 = value11;
                                                }
                                                value9 = value10;
                                            }
                                            value8 = value9;
                                        }
                                        value7 = value8;
                                    }
                                    value6 = value7;
                                }
                                value5 = value6;
                            }
                            value4 = value5;
                        }
                        value0 = value4;
                    }
                    value1 = (var_m & (0xffffffffffffffff) & (0xffffffffffffffff) + (block.timestamp & (0xffffffffffffffff) - (var_m & (0xffffffffffffffff)) & (0xffffffffffffffff) / ((value0 & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff))) & (0xffffffffffffffff)) & (0xffffffffffffffff) * ((value0 & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff))) & (0xffffffffffffffff)) & (0xffffffffffffffff) & (0xffffffffffffffff))) & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff));
                    value2 = var_m & (0xffffffffffffffff) & (0xffffffffffffffff) + (block.timestamp & (0xffffffffffffffff) - (var_m & (0xffffffffffffffff)) & (0xffffffffffffffff) / ((value0 & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff))) & (0xffffffffffffffff)) & (0xffffffffffffffff) * ((value0 & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff))) & (0xffffffffffffffff)) & (0xffffffffffffffff) & (0xffffffffffffffff));
                    value3 = (block.timestamp & (0xffffffffffffffff) - (var_m & (0xffffffffffffffff)) & (0xffffffffffffffff)) / ((value0 & (0xffffffffffffffff) + (0x02a300 & (0xffffffffffffffff))) & (0xffffffffffffffff));
                }
                if (0 == (block.timestamp >= (var_m & 0xffffffffffffffff))) {
                    if (!(0x01 < 0x07)) _desolexPanic(33);
                    return 0x01;
                } else {
                    if (!(0x02 < 0x07)) _desolexPanic(33);
                    return 0x02;
                }
            }
        }
    }
    
    function resumeNewDeposits() public {
        require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
        require(bytes1(stor_17), NotPaused());
        stor_17 = (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) & stor_17;
        emit Event_760b856d(0x01, 0, block.timestamp);
    }
    
    function Unknown_7283b8b4() public payable {
        if (!(msg.value)) {
            if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0) {
                if (stor_2 != 0x02) {
                    stor_2 = 0x02;
                    if (mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender]) {
                        var_a = var_a;
                        (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).statusOf(var_a, address(this)); // staticcall
                        if (success0) {
                            if (success0) {
                                uint256 var_f;
                                if (0x20 > returnData0.length) {
                                    if (!(((var_f + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f))) {
                                        var_f = var_f + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        if (((var_f + returnData0.length) - var_f) >= 0x20) {
                                            if (var_f.length < 0x05) {
                                                uint256 value0 = 0;
                                                bool flag0 = !(var_f.length == 0x03);
                                                if (var_f.length == 0x02) {
                                                    value0 = var_f.length;
                                                    flag0 = !(var_f.length == 0x02);
                                                }
                                                if (!(flag0)) {
                                                    uint256 value2 = 0;
                                                    uint256 value1 = 0;
                                                    while (true) {
                                                        if (value1 >= 0xa) {
                                                            break;
                                                        }
                                                        (bool success1, bytes memory returnData1) = address(unresolved_2cae9419[value1]).circulatingSupply(); // staticcall
                                                        if (!success1) {
                                                            revert();
                                                            break;
                                                        }
                                                        uint256 value30 = 0x01;
                                                        uint256 value31 = var_f.length;
                                                        if (success1) {
                                                            uint256 value29 = returnData1.length;
                                                            if (0x20 <= returnData1.length) {
                                                                value29 = 0x20;
                                                            }
                                                            if (((var_f + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                            var_f = var_f + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                            require(((var_f + value29) - var_f) >= 0x20);
                                                        } else {
                                                            value30 = var_f;
                                                            value31 = 0;
                                                        }
                                                        value2 = value2 + value31;
                                                        value1 = value1 + 0x01;
                                                    }
                                                    require(!(value2), CustomError_0e82b123());
                                                    uint256 value3 = 0;
                                                    while (true) {
                                                        if (value3 >= 0xa) {
                                                            stor_14 = 0;
                                                            (bool success2, bytes memory returnData2) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7); // staticcall
                                                            if (success2) {
                                                                uint256 value4 = 0;
                                                                uint256 value5 = var_f.length;
                                                                if (success2) {
                                                                    if (0x20 > returnData2.length) {
                                                                        if (((var_f + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                        var_f = var_f + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                        require(((var_f + returnData2.length) - var_f) >= 0x20);
                                                                    } else {
                                                                        if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                                                        var_f = var_f + 0x20;
                                                                        require(((var_f + 0x20) - var_f) >= 0x20);
                                                                    }
                                                                    require(var_f.length == (address(var_f.length)));
                                                                } else {
                                                                    value4 = var_f;
                                                                    value5 = 0;
                                                                }
                                                                uint256 value8 = 0;
                                                                uint256 value9 = 0;
                                                                bool flag1;
                                                                if (address(value5).code.length != 0x0) {
                                                                    (bool success3, bytes memory returnData3) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7, address(value5)); // staticcall
                                                                    require(success3);
                                                                    uint256 value6 = 0;
                                                                    uint256 value7 = var_f.length;
                                                                    if (success3) {
                                                                        if (0x20 > returnData3.length) {
                                                                            if (((var_f + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                            var_f = var_f + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            require(((var_f + returnData3.length) - var_f) >= 0x20);
                                                                        } else {
                                                                            if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                                                            var_f = var_f + 0x20;
                                                                            require(((var_f + 0x20) - var_f) >= 0x20);
                                                                        }
                                                                        require(var_f.length == var_f.length);
                                                                    } else {
                                                                        value6 = var_f;
                                                                        value7 = 0;
                                                                    }
                                                                    flag1 = value7 == 0x0;
                                                                } else {
                                                                    value8 = value5;
                                                                    value9 = 0xfd89fb9faf9de258c2148b2d0ec14da16ee42593;
                                                                    flag1 = value5.code.length == 0x0;
                                                                }
                                                                if (!(flag1)) {
                                                                    (bool success4, bytes memory returnData4) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                                                    if (success4) {
                                                                        uint256 value11 = 0;
                                                                        uint256 value12 = var_f.length;
                                                                        if (success4) {
                                                                            uint256 value10 = returnData4.length;
                                                                            if (0x20 <= returnData4.length) {
                                                                                value10 = 0x20;
                                                                            }
                                                                            if (((var_f + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                            var_f = var_f + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            require(((var_f + value10) - var_f) >= 0x20);
                                                                        } else {
                                                                            value11 = var_f;
                                                                            value12 = 0;
                                                                        }
                                                                        if (value12 != 0x0) {
                                                                            (bool success5, bytes memory returnData5) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value5)); // staticcall
                                                                            if (success5) {
                                                                                if (!(success5)) {
                                                                                    if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
                                                                                    var_f = var_f + 0x80;
                                                                                    (bool success6, bytes memory returnData6) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value5), value12); // call
                                                                                    require(success6);
                                                                                    bool flag2 = !(0x01 == var_a);
                                                                                    if (returnData6.length == 0) {
                                                                                        flag2 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                                                                    }
                                                                                    require(!(flag2), SafeERC20FailedOperation());
                                                                                    (bool success7, bytes memory returnData7) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                                                                    require(success7);
                                                                                    uint256 value14 = 0x20;
                                                                                    uint256 value15 = var_f.length;
                                                                                    if (success7) {
                                                                                        uint256 value13 = returnData7.length;
                                                                                        if (0x20 <= returnData7.length) {
                                                                                            value13 = 0x20;
                                                                                        }
                                                                                        if (((var_f + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                                        var_f = var_f + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                        require(((var_f + value13) - var_f) >= 0x20);
                                                                                    } else {
                                                                                        value14 = var_f;
                                                                                        value15 = 0;
                                                                                    }
                                                                                    (bool success8, bytes memory returnData8) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value5)); // staticcall
                                                                                    require(success8);
                                                                                    uint256 value17 = 0;
                                                                                    uint256 value18 = var_f.length;
                                                                                    if (success8) {
                                                                                        uint256 value16 = returnData8.length;
                                                                                        if (0x20 <= returnData8.length) {
                                                                                            value16 = 0x20;
                                                                                        }
                                                                                        if (((var_f + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                                        var_f = var_f + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                        require(((var_f + value16) - var_f) >= 0x20);
                                                                                    } else {
                                                                                        value17 = var_f;
                                                                                        value18 = 0;
                                                                                    }
                                                                                    bool flag3 = value18 < 0x0;
                                                                                    if (value15 != 0x0) {
                                                                                        flag3 = value15 != 0x0;
                                                                                    }
                                                                                    uint256 value19 = 0;
                                                                                    if (!flag3) {
                                                                                    } else {
                                                                                        value19 = value18;
                                                                                    }
                                                                                    require(!(!flag3 && value18 - 0x0 != value12 || flag3), CustomError_30a1808f());
                                                                                    emit Event_60cb1891(address(value5), value12);
                                                                                    stor_2 = 0x01;
                                                                                    return;
                                                                                }
                                                                                uint256 value20 = returnData5.length;
                                                                                if (0x20 <= returnData5.length) {
                                                                                    value20 = 0x20;
                                                                                }
                                                                                if (!(((var_f + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f))) {
                                                                                    var_f = var_f + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                    if (((var_f + value20) - var_f) >= 0x20) {
                                                                                        if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
                                                                                        var_f = var_f + 0x80;
                                                                                        (bool success9, bytes memory returnData9) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value5), value12); // call
                                                                                        require(success9);
                                                                                        bool flag5 = !(0x01 == var_a);
                                                                                        if (returnData9.length == 0) {
                                                                                            flag5 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                                                                        }
                                                                                        require(!(flag5), SafeERC20FailedOperation());
                                                                                        (bool success10, bytes memory returnData10) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                                                                        if (success10) {
                                                                                            uint256 value22 = 0x20;
                                                                                            uint256 value23 = var_f.length;
                                                                                            if (success10) {
                                                                                                uint256 value21 = returnData10.length;
                                                                                                if (0x20 <= returnData10.length) {
                                                                                                    value21 = 0x20;
                                                                                                }
                                                                                                if (((var_f + ((value21 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value21 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                                                var_f = var_f + ((value21 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                require(((var_f + value21) - var_f) >= 0x20);
                                                                                            } else {
                                                                                                value22 = var_f;
                                                                                                value23 = 0;
                                                                                            }
                                                                                            (bool success11, bytes memory returnData11) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value5)); // staticcall
                                                                                            if (success11) {
                                                                                                uint256 value25 = 0;
                                                                                                uint256 value26 = var_f.length;
                                                                                                if (success11) {
                                                                                                    uint256 value24 = returnData11.length;
                                                                                                    if (0x20 <= returnData11.length) {
                                                                                                        value24 = 0x20;
                                                                                                    }
                                                                                                    if (((var_f + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                                                                    var_f = var_f + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                    require(((var_f + value24) - var_f) >= 0x20);
                                                                                                } else {
                                                                                                    value25 = var_f;
                                                                                                    value26 = 0;
                                                                                                }
                                                                                                bool flag6 = value26 < var_f.length;
                                                                                                if (value23 != 0x0) {
                                                                                                    flag6 = value23 != 0x0;
                                                                                                }
                                                                                                uint256 value27 = 0;
                                                                                                uint256 value28 = 0;
                                                                                                bool flag7 = !((value26 - var_f.length) == value12);
                                                                                                if (!flag6) {
                                                                                                } else {
                                                                                                    value27 = value26;
                                                                                                    value28 = var_f.length;
                                                                                                    flag7 = flag6;
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                } else {
                                    if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                    var_f = var_f + 0x20;
                                    require(((var_f + 0x20) - var_f) >= 0x20);
                                    require(var_f.length < 0x05);
                                    if (!((var_f.length < 0x05))) _desolexPanic(33);
                                    uint256 value32 = 0;
                                    bool flag8 = !(var_f.length == 0x03);
                                    if (var_f.length == 0x02) {
                                        value32 = var_f.length;
                                        flag8 = !(var_f.length == 0x02);
                                    }
                                    require(!(flag8), CustomError_0a817548());
                                    uint256 value2 = 0;
                                    uint256 value1 = 0;
                                    while (true) {
                                        if (value1 >= 0xa) {
                                            break;
                                        }
                                        (bool success12, bytes memory returnData12) = address(unresolved_2cae9419[value1]).circulatingSupply(); // staticcall
                                        if (!success12) {
                                            revert();
                                            break;
                                        }
                                        uint256 value59 = 0x01;
                                        uint256 value60 = var_f.length;
                                        if (success12) {
                                            uint256 value58 = returnData12.length;
                                            if (0x20 <= returnData12.length) {
                                                value58 = 0x20;
                                            }
                                            if (((var_f + ((value58 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value58 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                            var_f = var_f + ((value58 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(((var_f + value58) - var_f) >= 0x20);
                                        } else {
                                            value59 = var_f;
                                            value60 = 0;
                                        }
                                        value2 = value2 + value60;
                                        value1 = value1 + 0x01;
                                    }
                                    require(!(value2), CustomError_0e82b123());
                                    uint256 value3 = 0;
                                    while (true) {
                                        if (value3 >= 0xa) {
                                            break;
                                        }
                                        if (value3 >= 0xa) {
                                            _desolexPanic(33);
                                            break;
                                        }
                                        unresolved_ca859e78[value3] = 0;
                                        if (value3 >= 0xa) {
                                            _desolexPanic(33);
                                            break;
                                        }
                                        unresolved_8e8a7e00[value3] = 0;
                                        if (value3 >= 0xa) {
                                            _desolexPanic(33);
                                            break;
                                        }
                                        var_a = value3;
                                        unresolved_29c7a7f2[value3] = 0;
                                        value3 = value3 + 0x01;
                                    }
                                    stor_14 = 0;
                                    (bool success13, bytes memory returnData13) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7); // staticcall
                                    require(success13);
                                    uint256 value33 = 0;
                                    uint256 value34 = var_f.length;
                                    if (success13) {
                                        if (0x20 > returnData13.length) {
                                            if (((var_f + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                            var_f = var_f + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(((var_f + returnData13.length) - var_f) >= 0x20);
                                        } else {
                                            if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                            var_f = var_f + 0x20;
                                            require(((var_f + 0x20) - var_f) >= 0x20);
                                        }
                                        require(var_f.length == (address(var_f.length)));
                                    } else {
                                        value33 = var_f;
                                        value34 = 0;
                                    }
                                    uint256 value37 = 0;
                                    uint256 value38 = 0;
                                    bool flag9;
                                    if (address(value34).code.length != 0x0) {
                                        (bool success14, bytes memory returnData14) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7, address(value34)); // staticcall
                                        require(success14);
                                        uint256 value35 = 0;
                                        uint256 value36 = var_f.length;
                                        if (success14) {
                                            if (0x20 > returnData14.length) {
                                                if (((var_f + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                                var_f = var_f + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                require(((var_f + returnData14.length) - var_f) >= 0x20);
                                            } else {
                                                if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                                var_f = var_f + 0x20;
                                                require(((var_f + 0x20) - var_f) >= 0x20);
                                            }
                                            require(var_f.length == var_f.length);
                                        } else {
                                            value35 = var_f;
                                            value36 = 0;
                                        }
                                        flag9 = value36 == 0x0;
                                    } else {
                                        value37 = value34;
                                        value38 = 0xfd89fb9faf9de258c2148b2d0ec14da16ee42593;
                                        flag9 = value34.code.length == 0x0;
                                    }
                                    require(!(flag9), CustomError_f4050bec());
                                    (bool success15, bytes memory returnData15) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                    require(success15);
                                    uint256 value40 = 0;
                                    uint256 value41 = var_f.length;
                                    if (success15) {
                                        uint256 value39 = returnData15.length;
                                        if (0x20 <= returnData15.length) {
                                            value39 = 0x20;
                                        }
                                        if (((var_f + ((value39 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value39 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((value39 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + value39) - var_f) >= 0x20);
                                    } else {
                                        value40 = var_f;
                                        value41 = 0;
                                    }
                                    require(value41 != 0x0, CustomError_d04caa59());
                                    (bool success16, bytes memory returnData16) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value34)); // staticcall
                                    require(success16);
                                    if (!(success16)) {
                                        if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
                                        var_f = var_f + 0x80;
                                        (bool success17, bytes memory returnData17) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value34), value41); // call
                                        require(success17);
                                        bool flag10 = !(0x01 == var_a);
                                        if (returnData17.length == 0) {
                                            flag10 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                        }
                                        require(!(flag10), SafeERC20FailedOperation());
                                        (bool success18, bytes memory returnData18) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                        require(success18);
                                        uint256 value43 = 0x20;
                                        uint256 value44 = var_f.length;
                                        if (success18) {
                                            uint256 value42 = returnData18.length;
                                            if (0x20 <= returnData18.length) {
                                                value42 = 0x20;
                                            }
                                            if (((var_f + ((value42 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value42 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                            var_f = var_f + ((value42 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(((var_f + value42) - var_f) >= 0x20);
                                        } else {
                                            value43 = var_f;
                                            value44 = 0;
                                        }
                                        (bool success19, bytes memory returnData19) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value34)); // staticcall
                                        require(success19);
                                        uint256 value46 = 0;
                                        uint256 value47 = var_f.length;
                                        if (success19) {
                                            uint256 value45 = returnData19.length;
                                            if (0x20 <= returnData19.length) {
                                                value45 = 0x20;
                                            }
                                            if (((var_f + ((value45 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value45 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                            var_f = var_f + ((value45 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(((var_f + value45) - var_f) >= 0x20);
                                        } else {
                                            value46 = var_f;
                                            value47 = 0;
                                        }
                                        bool flag11 = value47 < 0x0;
                                        if (value44 != 0x0) {
                                            flag11 = value44 != 0x0;
                                        }
                                        uint256 value48 = 0;
                                        if (!flag11) {
                                        } else {
                                            value48 = value47;
                                        }
                                        require(!(!flag11 && value47 - 0x0 != value41 || flag11), CustomError_30a1808f());
                                        emit Event_60cb1891(address(value34), value41);
                                        stor_2 = 0x01;
                                        return;
                                    }
                                    uint256 value49 = returnData16.length;
                                    if (0x20 <= returnData16.length) {
                                        value49 = 0x20;
                                    }
                                    if (((var_f + ((value49 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value49 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                    var_f = var_f + ((value49 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_f + value49) - var_f) >= 0x20);
                                    if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
                                    var_f = var_f + 0x80;
                                    (bool success20, bytes memory returnData20) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value34), value41); // call
                                    require(success20);
                                    bool flag13 = !(0x01 == var_a);
                                    if (returnData20.length == 0) {
                                        flag13 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                    }
                                    require(!(flag13), SafeERC20FailedOperation());
                                    (bool success21, bytes memory returnData21) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                    require(success21);
                                    uint256 value51 = 0x20;
                                    uint256 value52 = var_f.length;
                                    if (success21) {
                                        uint256 value50 = returnData21.length;
                                        if (0x20 <= returnData21.length) {
                                            value50 = 0x20;
                                        }
                                        if (((var_f + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + value50) - var_f) >= 0x20);
                                    } else {
                                        value51 = var_f;
                                        value52 = 0;
                                    }
                                    (bool success22, bytes memory returnData22) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value34)); // staticcall
                                    require(success22);
                                    uint256 value54 = 0;
                                    uint256 value55 = var_f.length;
                                    if (success22) {
                                        uint256 value53 = returnData22.length;
                                        if (0x20 <= returnData22.length) {
                                            value53 = 0x20;
                                        }
                                        if (((var_f + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + value53) - var_f) >= 0x20);
                                    } else {
                                        value54 = var_f;
                                        value55 = 0;
                                    }
                                    bool flag14 = value55 < var_f.length;
                                    if (value52 != 0x0) {
                                        flag14 = value52 != 0x0;
                                    }
                                    uint256 value56 = 0;
                                    uint256 value57 = 0;
                                    bool flag15 = !((value55 - var_f.length) == value41);
                                    if (!flag14) {
                                    } else {
                                        value56 = value55;
                                        value57 = var_f.length;
                                        flag15 = flag14;
                                    }
                                    require(!(flag15), CustomError_30a1808f());
                                    emit Event_60cb1891(address(value34), value41);
                                    stor_2 = 0x01;
                                    return;
                                }
                            } else {
                                if (!(0 < 0x05)) _desolexPanic(33);
                                require(!(0x0 != 0x2 && 0x0 != 0x3), CustomError_0a817548());
                                uint256 value2 = 0;
                                uint256 value1 = 0;
                                while (true) {
                                    if (value1 >= 0xa) {
                                        break;
                                    }
                                    (bool success23, bytes memory returnData23) = address(unresolved_2cae9419[value1]).circulatingSupply(); // staticcall
                                    if (!success23) {
                                        revert();
                                        break;
                                    }
                                    uint256 value87 = 0x01;
                                    uint256 value88 = var_f.length;
                                    if (success23) {
                                        uint256 value86 = returnData23.length;
                                        if (0x20 <= returnData23.length) {
                                            value86 = 0x20;
                                        }
                                        if (((var_f + ((value86 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value86 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((value86 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + value86) - var_f) >= 0x20);
                                    } else {
                                        value87 = var_f;
                                        value88 = 0;
                                    }
                                    value2 = value2 + value88;
                                    value1 = value1 + 0x01;
                                }
                                require(!(value2), CustomError_0e82b123());
                                uint256 value3 = 0;
                                while (true) {
                                    if (value3 >= 0xa) {
                                        break;
                                    }
                                    if (value3 >= 0xa) {
                                        _desolexPanic(33);
                                        break;
                                    }
                                    unresolved_ca859e78[value3] = 0;
                                    if (value3 >= 0xa) {
                                        _desolexPanic(33);
                                        break;
                                    }
                                    unresolved_8e8a7e00[value3] = 0;
                                    if (value3 >= 0xa) {
                                        _desolexPanic(33);
                                        break;
                                    }
                                    var_a = value3;
                                    unresolved_29c7a7f2[value3] = 0;
                                    value3 = value3 + 0x01;
                                }
                                stor_14 = 0;
                                (bool success24, bytes memory returnData24) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7); // staticcall
                                require(success24);
                                uint256 value61 = 0;
                                uint256 value62 = var_f.length;
                                if (success24) {
                                    if (0x20 > returnData24.length) {
                                        if (((var_f + ((returnData24.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData24.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((returnData24.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + returnData24.length) - var_f) >= 0x20);
                                    } else {
                                        if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                        var_f = var_f + 0x20;
                                        require(((var_f + 0x20) - var_f) >= 0x20);
                                    }
                                    require(var_f.length == (address(var_f.length)));
                                } else {
                                    value61 = var_f;
                                    value62 = 0;
                                }
                                uint256 value65 = 0;
                                uint256 value66 = 0;
                                bool flag17;
                                if (address(value62).code.length != 0x0) {
                                    (bool success25, bytes memory returnData25) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0x06aa03964db1f7257357ef09714a5f0ca3633723df419e97015e0c7a3e83edb7, address(value62)); // staticcall
                                    require(success25);
                                    uint256 value63 = 0;
                                    uint256 value64 = var_f.length;
                                    if (success25) {
                                        if (0x20 > returnData25.length) {
                                            if (((var_f + ((returnData25.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((returnData25.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                            var_f = var_f + ((returnData25.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(((var_f + returnData25.length) - var_f) >= 0x20);
                                        } else {
                                            if (((var_f + 0x20) > 0xffffffffffffffff) | ((var_f + 0x20) < var_f)) _desolexPanic(65);
                                            var_f = var_f + 0x20;
                                            require(((var_f + 0x20) - var_f) >= 0x20);
                                        }
                                        require(var_f.length == var_f.length);
                                    } else {
                                        value63 = var_f;
                                        value64 = 0;
                                    }
                                    flag17 = value64 == 0x0;
                                } else {
                                    value65 = value62;
                                    value66 = 0xfd89fb9faf9de258c2148b2d0ec14da16ee42593;
                                    flag17 = value62.code.length == 0x0;
                                }
                                require(!(flag17), CustomError_f4050bec());
                                (bool success26, bytes memory returnData26) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                require(success26);
                                uint256 value68 = 0;
                                uint256 value69 = var_f.length;
                                if (success26) {
                                    uint256 value67 = returnData26.length;
                                    if (0x20 <= returnData26.length) {
                                        value67 = 0x20;
                                    }
                                    if (((var_f + ((value67 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value67 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                    var_f = var_f + ((value67 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_f + value67) - var_f) >= 0x20);
                                } else {
                                    value68 = var_f;
                                    value69 = 0;
                                }
                                require(value69 != 0x0, CustomError_d04caa59());
                                (bool success27, bytes memory returnData27) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value62)); // staticcall
                                require(success27);
                                if (!(success27)) {
                                    if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
                                    var_f = var_f + 0x80;
                                    (bool success28, bytes memory returnData28) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value62), value69); // call
                                    require(success28);
                                    bool flag18 = !(0x01 == var_a);
                                    if (returnData28.length == 0) {
                                        flag18 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                    }
                                    require(!(flag18), SafeERC20FailedOperation());
                                    (bool success29, bytes memory returnData29) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                    require(success29);
                                    uint256 value71 = 0x20;
                                    uint256 value72 = var_f.length;
                                    if (success29) {
                                        uint256 value70 = returnData29.length;
                                        if (0x20 <= returnData29.length) {
                                            value70 = 0x20;
                                        }
                                        if (((var_f + ((value70 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value70 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((value70 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + value70) - var_f) >= 0x20);
                                    } else {
                                        value71 = var_f;
                                        value72 = 0;
                                    }
                                    (bool success30, bytes memory returnData30) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value62)); // staticcall
                                    require(success30);
                                    uint256 value74 = 0;
                                    uint256 value75 = var_f.length;
                                    if (success30) {
                                        uint256 value73 = returnData30.length;
                                        if (0x20 <= returnData30.length) {
                                            value73 = 0x20;
                                        }
                                        if (((var_f + ((value73 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value73 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                        var_f = var_f + ((value73 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(((var_f + value73) - var_f) >= 0x20);
                                    } else {
                                        value74 = var_f;
                                        value75 = 0;
                                    }
                                    bool flag19 = value75 < 0x0;
                                    if (value72 != 0x0) {
                                        flag19 = value72 != 0x0;
                                    }
                                    uint256 value76 = 0;
                                    if (!flag19) {
                                    } else {
                                        value76 = value75;
                                    }
                                    require(!(!flag19 && value75 - 0x0 != value69 || flag19), CustomError_30a1808f());
                                    emit Event_60cb1891(address(value62), value69);
                                    stor_2 = 0x01;
                                    return;
                                }
                                uint256 value77 = returnData27.length;
                                if (0x20 <= returnData27.length) {
                                    value77 = 0x20;
                                }
                                if (((var_f + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                var_f = var_f + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_f + value77) - var_f) >= 0x20);
                                if (((var_f + 0x80) > 0xffffffffffffffff) | ((var_f + 0x80) < var_f)) _desolexPanic(65);
                                var_f = var_f + 0x80;
                                (bool success31, bytes memory returnData31) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).transfer(address(value62), value69); // call
                                require(success31);
                                bool flag21 = !(0x01 == var_a);
                                if (returnData31.length == 0) {
                                    flag21 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                }
                                require(!(flag21), SafeERC20FailedOperation());
                                (bool success32, bytes memory returnData32) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                require(success32);
                                uint256 value79 = 0x20;
                                uint256 value80 = var_f.length;
                                if (success32) {
                                    uint256 value78 = returnData32.length;
                                    if (0x20 <= returnData32.length) {
                                        value78 = 0x20;
                                    }
                                    if (((var_f + ((value78 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value78 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                    var_f = var_f + ((value78 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_f + value78) - var_f) >= 0x20);
                                } else {
                                    value79 = var_f;
                                    value80 = 0;
                                }
                                (bool success33, bytes memory returnData33) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(value62)); // staticcall
                                require(success33);
                                uint256 value82 = 0;
                                uint256 value83 = var_f.length;
                                if (success33) {
                                    uint256 value81 = returnData33.length;
                                    if (0x20 <= returnData33.length) {
                                        value81 = 0x20;
                                    }
                                    if (((var_f + ((value81 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_f + ((value81 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_f)) _desolexPanic(65);
                                    var_f = var_f + ((value81 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_f + value81) - var_f) >= 0x20);
                                } else {
                                    value82 = var_f;
                                    value83 = 0;
                                }
                                bool flag22 = value83 < var_f.length;
                                if (value80 != 0x0) {
                                    flag22 = value80 != 0x0;
                                }
                                uint256 value84 = 0;
                                uint256 value85 = 0;
                                bool flag23 = !((value83 - var_f.length) == value69);
                                if (!flag22) {
                                } else {
                                    value84 = value83;
                                    value85 = var_f.length;
                                    flag23 = flag22;
                                }
                                require(!(flag23), CustomError_30a1808f());
                                emit Event_60cb1891(address(value62), value69);
                                stor_2 = 0x01;
                                return;
                            }
                        }
                    }
                }
            }
        }
    }
    
    function Unknown_695b1008(uint16 arg0) public {
        require(arg0 == (arg0 & 0xffff));
        require(mapping_316a51056d8b2401ab04c48d9973add294eadde229c785c6d19cde93785467ef[msg.sender], AccessControlUnauthorizedAccount());
        stor_17 = (stor_17 & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000ff)) | ((arg0 << 0x08) & (0xffff00));
        emit Event_83ebea6b(uint16(stor_17 >> 0x08), uint16(arg0), block.timestamp);
    }
    
    function withdrawPrincipal(uint256 index) public payable returns (uint256) {
        if (!(msg.value)) {
            if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x20) {
                if (stor_2 != 0x02) {
                    stor_2 = 0x02;
                    var_b = var_b;
                    (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).statusOf(var_b, address(this)); // staticcall
                    if (success0) {
                        uint256 value0 = 0;
                        uint256 var_e;
                        uint256 value1 = var_e.length;
                        if (success0) {
                            if (0x20 > returnData0.length) {
                                if (((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                                var_e = var_e + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_e + returnData0.length) - var_e) >= 0x20);
                            } else {
                                if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
                                var_e = var_e + 0x20;
                                require(((var_e + 0x20) - var_e) >= 0x20);
                            }
                            require(var_e.length < 0x05);
                        } else {
                            value0 = var_e;
                            value1 = 0;
                        }
                        if (value1 < 0x05) {
                            uint256 value2 = 0;
                            bool flag0 = value1 != 0x2;
                            if (value1 == 0x01) {
                                value2 = (!(value1 < 0x05)) ? 1 : 0;
                                flag0 = value1 != 0x1;
                            }
                            uint256 value3 = 0;
                            uint256 value4 = 0;
                            if (flag0) {
                                if (value2) _desolexPanic(33);
                            } else {
                                value3 = value2;
                                value4 = value1;
                            }
                            if (!(flag0 && 0x3 != value1)) {
                                var_f = 0x12;
                                if (mapping_12[index]) {
                                    if (msg.sender == mapping_12[index]) {
                                        if (bytes1(stor_expr_g >> 0xa0) < 0x07) {
                                            require(0x1 == (bytes1(stor_expr_g >> 0xa0)), CustomError_9ca5eb23());
                                            require(0x01, DirectWithdrawDisabled());
                                            if (((var_e + 0xe0) > 0xffffffffffffffff) | ((var_e + 0xe0) < var_e)) _desolexPanic(65);
                                            var_e = var_e + 0xe0;
                                            if (!((bytes1(mapping_12[index] >> 0xa0) < 0x0a))) _desolexPanic(33);
                                            if (!((bytes1(stor_expr_g >> 0xa0) < 0x07))) _desolexPanic(33);
                                            if (block.timestamp < (uint64(var_n))) {
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    function Unknown_5d4f9372() public view returns (uint16) {
        return uint16(stor_17 >> 0x08);
    }
    
    function currentCycle(uint256 arg0) public view returns (bool) {
        uint256 var_c;
        if (((var_c + 0xe0) > 0xffffffffffffffff) | ((var_c + 0xe0) < var_c)) _desolexPanic(65);
        var_c = var_c + 0xe0;
        if (!(bytes1(mapping_12[arg0] >> 0xa0) < 0x0a)) _desolexPanic(33);
        if (!(bytes1(stor_expr_g >> 0xa0) < 0x07)) _desolexPanic(33);
        require(address(var_c.length), DepositNotFound());
        if (block.timestamp < (uint64(var_k))) {
            return abi.encodePacked(0, uint64(var_k), uint64(var_k + 0x02a300), 0);
        } else {
            if (!(var_p < 0x0a)) _desolexPanic(33);
            if (!(var_p < 0x0a)) _desolexPanic(33);
            uint256 value0 = 0x3b5380;
            if (var_p) {
                uint256 value1 = 0x76a700;
                if (!(var_p == 0x01)) {
                    uint256 value2 = 0xed4e00;
                    if (!(var_p == 0x02)) {
                        uint256 value3 = 0x01da9c00;
                        if (!(var_p == 0x03)) {
                            uint256 value4 = 0x02c7ea00;
                            if (!(var_p == 0x04)) {
                                uint256 value5 = 0x03b53800;
                                if (!(var_p == 0x05)) {
                                    uint256 value6 = 0x04a28600;
                                    if (!(var_p == 0x06)) {
                                        uint256 value7 = 0x058fd400;
                                        if (!(var_p == 0x07)) {
                                            uint256 value8 = 0x067d2200;
                                            if (!(0x08 == var_p)) {
                                                value8 = 0x076a7000;
                                            }
                                            value7 = value8;
                                        }
                                        value6 = value7;
                                    }
                                    value5 = value6;
                                }
                                value4 = value5;
                            }
                            value3 = value4;
                        }
                        value2 = value3;
                    }
                    value1 = value2;
                }
                value0 = value1;
            }
        }
    }
    
    function Unknown_584d193b() public returns (uint256) {
        (bool success0, bytes memory returnData0) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
        require(success0);
        if (!(success0)) {
            return 0;
        }
        uint256 value0 = returnData0.length;
        if (0x20 <= returnData0.length) {
            value0 = 0x20;
        }
        uint256 var_c;
        if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
        var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
        require(((var_c + value0) - var_c) >= 0x20);
        return var_c.length;
    }
    
    function Unknown_3b9e00dd(uint256 arg0, uint256 arg1) public payable {
        if (!(msg.value)) {
            if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x40) {
                if (arg0 < 0x0a) {
                    if (stor_2 != 0x02) {
                        stor_2 = 0x02;
                        if (arg1 != 0x0) {
                            if (!((arg0 < 0x0a))) _desolexPanic(33);
                            (bool success0, bytes memory returnData0) = address(unresolved_2cae9419[arg0]).balanceOf(msg.sender); // staticcall
                            if (success0) {
                                if (success0) {
                                    uint256 value0 = returnData0.length;
                                    if (0x20 <= returnData0.length) {
                                        value0 = 0x20;
                                    }
                                    uint256 var_c;
                                    if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                    var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_c + value0) - var_c) >= 0x20);
                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                    if (0 != (var_c.length > unresolved_cb7a8672[arg0][msg.sender])) {
                                        require(arg1 <= (var_c.length - unresolved_cb7a8672[arg0][msg.sender]), ExceedsAccrued());
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                        if (unresolved_8e8a7e00[arg0] > unresolved_29c7a7f2[arg0]) {
                                            if (!((arg0 < 0x0a))) _desolexPanic(33);
                                            (bool success1, bytes memory returnData1) = address(unresolved_2cae9419[arg0]).circulatingSupply(); // staticcall
                                            if (success1) {
                                                if (success1) {
                                                    uint256 value1 = returnData1.length;
                                                    if (0x20 <= returnData1.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);
                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                    var_e = 0x0d;
                                                    if (!(var_c.length > unresolved_66d1cfb1[arg0])) {
                                                        if (arg1 <= 0) {
                                                            if (arg0 < 0x0a) {
                                                                (bool success2, bytes memory returnData2) = address(unresolved_2cae9419[arg0]).controller(); // staticcall
                                                                if (success2) {
                                                                    uint256 value2 = 0;
                                                                    uint256 value3 = var_c.length;
                                                                    if (success2) {
                                                                        if (0x20 > returnData2.length) {
                                                                            if (((var_c + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                            var_c = var_c + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                            require(((var_c + returnData2.length) - var_c) >= 0x20);
                                                                        } 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 == (address(var_c.length)));
                                                                    } else {
                                                                        value2 = var_c;
                                                                        value3 = 0;
                                                                    }
                                                                    if ((value3 & 0xffffffffffffffffffffffffffffffffffffffff) == address(this)) {
                                                                        (bool success3, bytes memory returnData3) = address(unresolved_2cae9419[arg0]).decimals(); // staticcall
                                                                        if (success3) {
                                                                            uint256 value5 = 0xff;
                                                                            uint256 value6 = var_c.length;
                                                                            if (success3) {
                                                                                uint256 value4 = returnData3.length;
                                                                                if (0x20 <= returnData3.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);
                                                                                require(var_c.length == (bytes1(var_c.length)));
                                                                            } else {
                                                                                value5 = var_c;
                                                                                value6 = 0;
                                                                            }
                                                                            address account0 = address(0);
                                                                            uint256 value9 = 0;
                                                                            bool flag0;
                                                                            if (0x9 == (0xff & value6)) {
                                                                                (bool success4, bytes memory returnData4) = address(unresolved_2cae9419[arg0]).symbol(); // staticcall
                                                                                require(success4);
                                                                                bool flag19;
                                                                                if (success4) {
                                                                                    if (((var_c + ((returnData4.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData4.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                    var_c = var_c + ((returnData4.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                    require(((var_c + returnData4.length) - var_c) >= 0x20);
                                                                                    require(var_c.length <= 0xffffffffffffffff);
                                                                                    require(((var_c + var_c.length) + 0x1f) < (var_c + returnData4.length));
                                                                                    if (!(var_j <= 0xffffffffffffffff)) _desolexPanic(65);
                                                                                    if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                    var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (var_k + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                    require(((var_c + var_c.length) + var_k + 0x20) <= (var_c + returnData4.length));
                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                    uint256 value7 = keccak256(abi.encode(0x4443413435000000000000000000000000000000000000000000000000000000));
                                                                                    if (arg0 == 0x0) {
                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                    } else {
                                                                                        uint256 value43 = keccak256(abi.encode(0x4443413930000000000000000000000000000000000000000000000000000000));
                                                                                        if (arg0 == 0x1) {
                                                                                            if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                            var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                        } else {
                                                                                            uint256 value44 = keccak256(abi.encode(0x4443413138300000000000000000000000000000000000000000000000000000));
                                                                                            if (arg0 == 0x2) {
                                                                                                if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                            } else {
                                                                                                uint256 value45 = keccak256(abi.encode(0x4443413336300000000000000000000000000000000000000000000000000000));
                                                                                                if (arg0 == 0x3) {
                                                                                                    if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                    var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                } else {
                                                                                                    uint256 value46 = keccak256(abi.encode(0x4443413534300000000000000000000000000000000000000000000000000000));
                                                                                                    if (arg0 == 0x4) {
                                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                    } else {
                                                                                                        uint256 value47 = keccak256(abi.encode(0x4443413732300000000000000000000000000000000000000000000000000000));
                                                                                                        if (arg0 == 0x5) {
                                                                                                            if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                            var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                        } else {
                                                                                                            uint256 value48 = keccak256(abi.encode(0x4443413930300000000000000000000000000000000000000000000000000000));
                                                                                                            if (arg0 == 0x6) {
                                                                                                                if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                            } else {
                                                                                                                uint256 value49 = keccak256(abi.encode(0x4443413130383000000000000000000000000000000000000000000000000000));
                                                                                                                if (arg0 == 0x7) {
                                                                                                                    if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                    var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                } else {
                                                                                                                    uint256 value50 = keccak256(abi.encode(0x4443413132363000000000000000000000000000000000000000000000000000));
                                                                                                                    if (0x8 == arg0) {
                                                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                    } else {
                                                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                        value50 = keccak256(abi.encode(0x4443413134343000000000000000000000000000000000000000000000000000));
                                                                                                                    }
                                                                                                                    value49 = value50;
                                                                                                                }
                                                                                                                value48 = value49;
                                                                                                            }
                                                                                                            value47 = value48;
                                                                                                        }
                                                                                                        value46 = value47;
                                                                                                    }
                                                                                                    value45 = value46;
                                                                                                }
                                                                                                value44 = value45;
                                                                                            }
                                                                                            value43 = value44;
                                                                                        }
                                                                                        value7 = value43;
                                                                                    }
                                                                                    flag19 = !(value7 == (keccak256(var_o)));
                                                                                } else {
                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                    uint256 value8 = keccak256(abi.encode(0x4443413435000000000000000000000000000000000000000000000000000000));
                                                                                    if (arg0 == 0x0) {
                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                    } else {
                                                                                        uint256 value51 = keccak256(abi.encode(0x4443413930000000000000000000000000000000000000000000000000000000));
                                                                                        if (arg0 == 0x1) {
                                                                                            if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                            var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                        } else {
                                                                                            uint256 value52 = keccak256(abi.encode(0x4443413138300000000000000000000000000000000000000000000000000000));
                                                                                            if (arg0 == 0x2) {
                                                                                                if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                            } else {
                                                                                                uint256 value53 = keccak256(abi.encode(0x4443413336300000000000000000000000000000000000000000000000000000));
                                                                                                if (arg0 == 0x3) {
                                                                                                    if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                    var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                } else {
                                                                                                    uint256 value54 = keccak256(abi.encode(0x4443413534300000000000000000000000000000000000000000000000000000));
                                                                                                    if (arg0 == 0x4) {
                                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                    } else {
                                                                                                        uint256 value55 = keccak256(abi.encode(0x4443413732300000000000000000000000000000000000000000000000000000));
                                                                                                        if (arg0 == 0x5) {
                                                                                                            if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                            var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                        } else {
                                                                                                            uint256 value56 = keccak256(abi.encode(0x4443413930300000000000000000000000000000000000000000000000000000));
                                                                                                            if (arg0 == 0x6) {
                                                                                                                if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                            } else {
                                                                                                                uint256 value57 = keccak256(abi.encode(0x4443413130383000000000000000000000000000000000000000000000000000));
                                                                                                                if (arg0 == 0x7) {
                                                                                                                    if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                    var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                } else {
                                                                                                                    uint256 value58 = keccak256(abi.encode(0x4443413132363000000000000000000000000000000000000000000000000000));
                                                                                                                    if (0x8 == arg0) {
                                                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                    } else {
                                                                                                                        if (((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                        var_c = var_c + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                        value58 = keccak256(abi.encode(0x4443413134343000000000000000000000000000000000000000000000000000));
                                                                                                                    }
                                                                                                                    value57 = value58;
                                                                                                                }
                                                                                                                value56 = value57;
                                                                                                            }
                                                                                                            value55 = value56;
                                                                                                        }
                                                                                                        value54 = value55;
                                                                                                    }
                                                                                                    value53 = value54;
                                                                                                }
                                                                                                value52 = value53;
                                                                                            }
                                                                                            value51 = value52;
                                                                                        }
                                                                                        value8 = value51;
                                                                                    }
                                                                                    flag19 = !(value8 == keccak256(var_e));
                                                                                }
                                                                                flag0 = flag19;
                                                                            } else {
                                                                                account0 = address(unresolved_2cae9419[arg0]);
                                                                                value9 = arg0;
                                                                                flag0 = 0x9 != (0xff & value6);
                                                                            }
                                                                            if (!(flag0)) {
                                                                                (bool success5, bytes memory returnData5) = address(unresolved_2cae9419[arg0]).balanceOf(msg.sender); // staticcall
                                                                                if (success5) {
                                                                                    uint256 value11 = 0;
                                                                                    uint256 value12 = var_c.length;
                                                                                    if (success5) {
                                                                                        uint256 value10 = returnData5.length;
                                                                                        if (0x20 <= returnData5.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;
                                                                                    }
                                                                                    (bool success6, bytes memory returnData6) = address(unresolved_2cae9419[arg0]).circulatingSupply(); // staticcall
                                                                                    if (success6) {
                                                                                        uint256 value14 = 0;
                                                                                        uint256 value15 = var_c.length;
                                                                                        if (success6) {
                                                                                            uint256 value13 = returnData6.length;
                                                                                            if (0x20 <= returnData6.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 {
                                                                                            value14 = var_c;
                                                                                            value15 = 0;
                                                                                        }
                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                        unresolved_8e8a7e00[arg0] = unresolved_8e8a7e00[arg0] - arg1;
                                                                                        stor_14 = stor_14 - arg1;
                                                                                        require(address(unresolved_2cae9419[arg0]).code.length);
                                                                                        (bool success7, bytes memory returnData7) = address(unresolved_2cae9419[arg0]).burn(msg.sender, arg1); // call
                                                                                        if (success7) {
                                                                                            uint256 value16 = 0;
                                                                                            if (success7) {
                                                                                                if (((var_c + 0) > 0xffffffffffffffff) | ((var_c + 0) < var_c)) _desolexPanic(65);
                                                                                                var_c = var_c + 0;
                                                                                                require(!(0));
                                                                                            } else {
                                                                                                value16 = var_c;
                                                                                            }
                                                                                            (bool success8, bytes memory returnData8) = address(unresolved_2cae9419[arg0]).balanceOf(msg.sender); // staticcall
                                                                                            if (success8) {
                                                                                                uint256 value18 = 0x20;
                                                                                                uint256 value19 = var_c.length;
                                                                                                if (success8) {
                                                                                                    uint256 value17 = returnData8.length;
                                                                                                    if (0x20 <= returnData8.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 success9, bytes memory returnData9) = address(unresolved_2cae9419[arg0]).circulatingSupply(); // staticcall
                                                                                                if (success9) {
                                                                                                    uint256 value21 = 0;
                                                                                                    uint256 value22 = var_c.length;
                                                                                                    if (success9) {
                                                                                                        uint256 value20 = returnData9.length;
                                                                                                        if (0x20 <= returnData9.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;
                                                                                                    }
                                                                                                    uint256 value23 = 0;
                                                                                                    uint256 value24 = 0;
                                                                                                    bool flag1 = value12 - value19 != arg1;
                                                                                                    if (value19 <= value12) {
                                                                                                    } else {
                                                                                                        value23 = value12;
                                                                                                        value24 = value19;
                                                                                                        flag1 = value19 > value12;
                                                                                                    }
                                                                                                    bool flag2 = value22 > value15;
                                                                                                    if (flag1) {
                                                                                                        flag2 = flag1;
                                                                                                    }
                                                                                                    if (!flag2) {
                                                                                                    }
                                                                                                    if (!(!flag2 && value15 - value22 < arg1 || flag2)) {
                                                                                                        if ((value15 - value22) <= value15) {
                                                                                                            if (((value15 - value22) - arg1) <= (value15 - value22)) {
                                                                                                                uint256 value59 = 0;
                                                                                                                if (value15 - value22 != arg1) {
                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                    require(!((unresolved_29c7a7f2[arg0] + ((value15 - value22) - arg1)) > unresolved_8e8a7e00[arg0]), RewardAccountingMismatch());
                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                    var_d = arg0;
                                                                                                                    unresolved_29c7a7f2[arg0] = unresolved_29c7a7f2[arg0] + ((value15 - value22) - arg1);
                                                                                                                } else {
                                                                                                                    flag4 = value15 - value22 - arg1 != 0x0;
                                                                                                                }
                                                                                                                (bool success10, bytes memory returnData10) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                                                                                                if (success10) {
                                                                                                                    if (success10) {
                                                                                                                        uint256 value25 = returnData10.length;
                                                                                                                        if (0x20 <= returnData10.length) {
                                                                                                                            value25 = 0x20;
                                                                                                                        }
                                                                                                                        if (((var_c + ((value25 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value25 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                        var_c = var_c + ((value25 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                        require(((var_c + value25) - var_c) >= 0x20);
                                                                                                                        if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
                                                                                                                        var_c = var_c + 0x80;
                                                                                                                        (bool success11, bytes memory returnData11) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(address(0xe3a24afea37dc8547cedb480e291881bba335c31), arg1); // call
                                                                                                                        uint256 value26 = 0;
                                                                                                                        uint256 value27 = 0;
                                                                                                                        bool flag5;
                                                                                                                        if (success11) {
                                                                                                                            bool flag20 = 0x01 == var_d;
                                                                                                                            if (returnData11.length == 0) {
                                                                                                                                flag20 = !(!(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length));
                                                                                                                            }
                                                                                                                            flag5 = flag20;
                                                                                                                        } else {
                                                                                                                            value26 = returnData11.length;
                                                                                                                            value27 = var_d;
                                                                                                                            flag5 = success11;
                                                                                                                        }
                                                                                                                        if (!flag5) {
                                                                                                                            if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
                                                                                                                            var_c = var_c + 0x80;
                                                                                                                            (bool success12, bytes memory returnData12) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(address(0xe3a24afea37dc8547cedb480e291881bba335c31), 0); // call
                                                                                                                            require(success12);
                                                                                                                            bool flag6 = !(0x01 == var_d);
                                                                                                                            if (returnData12.length == 0) {
                                                                                                                                flag6 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                                                                                                            }
                                                                                                                            require(!(flag6), SafeERC20FailedOperation());
                                                                                                                            (bool success13, bytes memory returnData13) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(address(0xe3a24afea37dc8547cedb480e291881bba335c31), arg1); // call
                                                                                                                            require(success13);
                                                                                                                            bool flag7 = !(0x01 == var_d);
                                                                                                                            if (returnData13.length == 0) {
                                                                                                                                flag7 = !(address(0x61e91daf03a49ecec334bffbf5008860cfb33333).code.length);
                                                                                                                            }
                                                                                                                            require(!(flag7), SafeERC20FailedOperation());
                                                                                                                        }
                                                                                                                        (bool success14, bytes memory returnData14) = address(0xe3a24afea37dc8547cedb480e291881bba335c31).Unknown_0bb8102f(msg.sender, arg1); // call
                                                                                                                        if (success14) {
                                                                                                                            uint256 value29 = 0;
                                                                                                                            uint256 value30 = var_c.length;
                                                                                                                            uint256 value31 = var_o;
                                                                                                                            if (success14) {
                                                                                                                                uint256 value28 = returnData14.length;
                                                                                                                                if (0x40 <= returnData14.length) {
                                                                                                                                    value28 = 0x40;
                                                                                                                                }
                                                                                                                                if (((var_c + ((value28 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value28 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                                var_c = var_c + ((value28 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                                require(((var_c + value28) - var_c) >= 0x40);
                                                                                                                            } else {
                                                                                                                                value29 = var_c;
                                                                                                                                value30 = 0;
                                                                                                                                value31 = 0;
                                                                                                                            }
                                                                                                                            (bool success15, bytes memory returnData15) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
                                                                                                                            if (success15) {
                                                                                                                                if (!(success15)) {
                                                                                                                                    uint256 value38 = 0;
                                                                                                                                    bool flag13 = !(value31 == var_c.length);
                                                                                                                                    if (value30 == arg1) {
                                                                                                                                        (bool success16, bytes memory returnData16) = address(0xe8e4ddaa28612a98cd50805f53eff32f5ff94d90).balanceOf(msg.sender); // staticcall
                                                                                                                                        require(success16);
                                                                                                                                        if (!(success16)) {
                                                                                                                                            bool flag8 = 0 > var_c.length;
                                                                                                                                            if (!(value31 == 0)) {
                                                                                                                                                flag8 = value31 != 0x0;
                                                                                                                                            }
                                                                                                                                            uint256 value32 = 0;
                                                                                                                                            bool flag9 = !((var_c.length - 0) == arg1);
                                                                                                                                            if (!flag8) {
                                                                                                                                            } else {
                                                                                                                                                value32 = var_c.length;
                                                                                                                                                flag9 = flag8;
                                                                                                                                            }
                                                                                                                                            require(!(flag9), CustomError_8bbcfea4());
                                                                                                                                            if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
                                                                                                                                            var_c = var_c + 0x80;
                                                                                                                                            (bool success17, bytes memory returnData17) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(0xe3a24afea37dc8547cedb480e291881bba335c31, 0); // call
                                                                                                                                            uint256 value33 = 0;
                                                                                                                                            uint256 value34 = 0;
                                                                                                                                            bool flag10;
                                                                                                                                            if (success17) {
                                                                                                                                                bool flag21 = 0x01 == var_d;
                                                                                                                                                if (returnData17.length == 0) {
                                                                                                                                                    flag21 = 0x61e91daf03a49ecec334bffbf5008860cfb33333.code.length != 0x0;
                                                                                                                                                }
                                                                                                                                                flag10 = flag21;
                                                                                                                                            } else {
                                                                                                                                                value33 = returnData17.length;
                                                                                                                                                value34 = var_d;
                                                                                                                                                flag10 = success17;
                                                                                                                                            }
                                                                                                                                            if (!flag10) {
                                                                                                                                                if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
                                                                                                                                                var_c = var_c + 0x80;
                                                                                                                                                (bool success18, bytes memory returnData18) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(0xe3a24afea37dc8547cedb480e291881bba335c31, 0); // call
                                                                                                                                                require(success18);
                                                                                                                                                bool flag11 = !(0x01 == var_d);
                                                                                                                                                if (returnData18.length == 0) {
                                                                                                                                                    flag11 = 0x61e91daf03a49ecec334bffbf5008860cfb33333.code.length == 0x0;
                                                                                                                                                }
                                                                                                                                                require(!(flag11), SafeERC20FailedOperation());
                                                                                                                                                (bool success19, bytes memory returnData19) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(0xe3a24afea37dc8547cedb480e291881bba335c31, 0); // call
                                                                                                                                                require(success19);
                                                                                                                                                bool flag12 = !(0x01 == var_d);
                                                                                                                                                if (returnData19.length == 0) {
                                                                                                                                                    flag12 = 0x61e91daf03a49ecec334bffbf5008860cfb33333.code.length == 0x0;
                                                                                                                                                }
                                                                                                                                                require(!(flag12), SafeERC20FailedOperation());
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                (bool success20, bytes memory returnData20) = address(unresolved_2cae9419[arg0]).balanceOf(msg.sender); // staticcall
                                                                                                                                                require(success20);
                                                                                                                                                if (success20) {
                                                                                                                                                    uint256 value35 = returnData20.length;
                                                                                                                                                    if (0x20 <= returnData20.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);
                                                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                    if (0 == (var_c.length > unresolved_cb7a8672[arg0][msg.sender])) {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, 0, unresolved_8e8a7e00[arg0]);
                                                                                                                                                    } else {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, var_c.length - unresolved_cb7a8672[arg0][msg.sender], unresolved_8e8a7e00[arg0]);
                                                                                                                                                    }
                                                                                                                                                } else {
                                                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                    if (0 == (0 > unresolved_cb7a8672[arg0][msg.sender])) {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, 0, unresolved_8e8a7e00[arg0]);
                                                                                                                                                    } else {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, 0 - unresolved_cb7a8672[arg0][msg.sender], unresolved_8e8a7e00[arg0]);
                                                                                                                                                    }
                                                                                                                                                }
                                                                                                                                            } else {
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                (bool success21, bytes memory returnData21) = address(unresolved_2cae9419[arg0]).balanceOf(msg.sender); // staticcall
                                                                                                                                                require(success21);
                                                                                                                                                if (success21) {
                                                                                                                                                    uint256 value36 = returnData21.length;
                                                                                                                                                    if (0x20 <= returnData21.length) {
                                                                                                                                                        value36 = 0x20;
                                                                                                                                                    }
                                                                                                                                                    if (((var_c + ((value36 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value36 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                                                    var_c = var_c + ((value36 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                                                    require(((var_c + value36) - var_c) >= 0x20);
                                                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                    if (0 == (var_c.length > unresolved_cb7a8672[arg0][msg.sender])) {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, 0, unresolved_8e8a7e00[arg0]);
                                                                                                                                                    } else {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, var_c.length - unresolved_cb7a8672[arg0][msg.sender], unresolved_8e8a7e00[arg0]);
                                                                                                                                                    }
                                                                                                                                                } else {
                                                                                                                                                    if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                    if (0 == (0 > unresolved_cb7a8672[arg0][msg.sender])) {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, 0, unresolved_8e8a7e00[arg0]);
                                                                                                                                                    } else {
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        var_d = arg0;
                                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                        emit Event_e00a2a90(msg.sender, arg0, arg1, 0 - unresolved_cb7a8672[arg0][msg.sender], unresolved_8e8a7e00[arg0]);
                                                                                                                                                    }
                                                                                                                                                }
                                                                                                                                            }
                                                                                                                                            stor_2 = 0x01;
                                                                                                                                            return;
                                                                                                                                        }
                                                                                                                                        uint256 value37 = returnData16.length;
                                                                                                                                        if (0x20 <= returnData16.length) {
                                                                                                                                            value37 = 0x20;
                                                                                                                                        }
                                                                                                                                        if (((var_c + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                                        var_c = var_c + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                                        require(((var_c + value37) - var_c) >= 0x20);
                                                                                                                                    } else {
                                                                                                                                        value38 = value31;
                                                                                                                                        flag13 = value30 != arg1;
                                                                                                                                    }
                                                                                                                                    bool flag14 = 0 > var_c.length;
                                                                                                                                    if (flag13) {
                                                                                                                                        flag14 = flag13;
                                                                                                                                    }
                                                                                                                                    uint256 value39 = 0;
                                                                                                                                    bool flag15 = !((var_c.length - 0) == arg1);
                                                                                                                                    if (!flag14) {
                                                                                                                                    } else {
                                                                                                                                        value39 = var_c.length;
                                                                                                                                        flag15 = flag14;
                                                                                                                                    }
                                                                                                                                    require(!(flag15), CustomError_8bbcfea4());
                                                                                                                                    if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
                                                                                                                                    var_c = var_c + 0x80;
                                                                                                                                    (bool success22, bytes memory returnData22) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(0xe3a24afea37dc8547cedb480e291881bba335c31, 0); // call
                                                                                                                                    uint256 value40 = 0;
                                                                                                                                    uint256 value41 = 0;
                                                                                                                                    bool flag16;
                                                                                                                                    if (success22) {
                                                                                                                                        bool flag22 = 0x01 == var_d;
                                                                                                                                        if (returnData22.length == 0) {
                                                                                                                                            flag22 = 0x61e91daf03a49ecec334bffbf5008860cfb33333.code.length != 0x0;
                                                                                                                                        }
                                                                                                                                        flag16 = flag22;
                                                                                                                                    } else {
                                                                                                                                        value40 = returnData22.length;
                                                                                                                                        value41 = var_d;
                                                                                                                                        flag16 = success22;
                                                                                                                                    }
                                                                                                                                    if (!flag16) {
                                                                                                                                        if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
                                                                                                                                        var_c = var_c + 0x80;
                                                                                                                                        (bool success23, bytes memory returnData23) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(0xe3a24afea37dc8547cedb480e291881bba335c31, 0); // call
                                                                                                                                        require(success23);
                                                                                                                                        bool flag17 = !(0x01 == var_d);
                                                                                                                                        if (returnData23.length == 0) {
                                                                                                                                            flag17 = 0x61e91daf03a49ecec334bffbf5008860cfb33333.code.length == 0x0;
                                                                                                                                        }
                                                                                                                                        require(!(flag17), SafeERC20FailedOperation());
                                                                                                                                        (bool success24, bytes memory returnData24) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).approve(0xe3a24afea37dc8547cedb480e291881bba335c31, 0); // call
                                                                                                                                        if (success24) {
                                                                                                                                            bool flag18 = !(0x01 == var_d);
                                                                                                                                            if (returnData24.length == 0) {
                                                                                                                                                flag18 = 0x61e91daf03a49ecec334bffbf5008860cfb33333.code.length == 0x0;
                                                                                                                                            }
                                                                                                                                        }
                                                                                                                                    } else {
                                                                                                                                        if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                        (bool success25, bytes memory returnData25) = address(unresolved_2cae9419[arg0]).balanceOf(msg.sender); // staticcall
                                                                                                                                        require(success25);
                                                                                                                                        if (success25) {
                                                                                                                                            uint256 value42 = returnData25.length;
                                                                                                                                            if (0x20 <= returnData25.length) {
                                                                                                                                                value42 = 0x20;
                                                                                                                                            }
                                                                                                                                            if (((var_c + ((value42 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value42 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
                                                                                                                                            var_c = var_c + ((value42 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                                                                                                            require(((var_c + value42) - var_c) >= 0x20);
                                                                                                                                            if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                            if (0 == (var_c.length > unresolved_cb7a8672[arg0][msg.sender])) {
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                emit Event_e00a2a90(msg.sender, arg0, arg1, 0, unresolved_8e8a7e00[arg0]);
                                                                                                                                            } else {
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                emit Event_e00a2a90(msg.sender, arg0, arg1, var_c.length - unresolved_cb7a8672[arg0][msg.sender], unresolved_8e8a7e00[arg0]);
                                                                                                                                            }
                                                                                                                                        } else {
                                                                                                                                            if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                            if (0 == (0 > unresolved_cb7a8672[arg0][msg.sender])) {
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                emit Event_e00a2a90(msg.sender, arg0, arg1, 0, unresolved_8e8a7e00[arg0]);
                                                                                                                                            } else {
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                if (!((arg0 < 0x0a))) _desolexPanic(33);
                                                                                                                                                emit Event_e00a2a90(msg.sender, arg0, arg1, 0 - unresolved_cb7a8672[arg0][msg.sender], unresolved_8e8a7e00[arg0]);
                                                                                                                                            }
                                                                                                                                        }
                                                                                                                                        stor_2 = 0x01;
                                                                                                                                        return;
                                                                                                                                    }
                                                                                                                                }
                                                                                                                            }
                                                                                                                        }
                                                                                                                    }
                                                                                                                }
                                                                                                            }
                                                                                                        }
                                                                                                    }
                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    function Unknown_36568abe(uint256 arg0, address arg1) public {
        require(arg1 == msg.sender, AccessControlBadConfirmation());
        if (!(bytes1(hasRole[arg0][arg1]))) {
            if (0 == 0) {
                return;
            }
            uint256 value6 = 0;
            if (!(0 == (!(!(mapping_expr_v[arg1]))))) {
                uint256 value0 = 0;
                uint256 value1 = 0;
                uint256 value2 = 0;
                if ((mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != (getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {
                    if (!((getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < getRoleMemberCount[arg0])) _desolexPanic(50);
                    if (!((mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < getRoleMemberCount[arg0])) _desolexPanic(50);
                    stor_expr_bg = (0 & stor_expr_bh) | ((stor_expr_bf >> 0) << 0);
                    mapping_expr_v[stor_expr_bf >> 0] = mapping_expr_v[arg1];
                } else {
                    value0 = mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
                    value1 = getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
                    value2 = mapping_expr_v[arg1];
                }
                if (!(getRoleMemberCount[arg0])) _desolexPanic(49);
                if (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0]) < getRoleMemberCount[arg0])) _desolexPanic(50);
                stor_expr_bj = (0) & stor_expr_bj;
                getRoleMemberCount[arg0] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0];
                mapping_expr_v[arg1] = 0;
                flag0 = true;
            }
        } else {
            hasRole[arg0][arg1] = false;
            emit RoleRevoked(arg0, arg1, msg.sender);
            if (0x01 == 0) {
                return;
            }
            uint256 value7 = 0;
            if (!(0 == (!(!(mapping_expr_v[arg1]))))) {
                uint256 value3 = 0;
                uint256 value4 = 0;
                uint256 value5 = 0;
                if ((mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != (getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {
                    if (!((getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < getRoleMemberCount[arg0])) _desolexPanic(50);
                    if (!((mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < getRoleMemberCount[arg0])) _desolexPanic(50);
                    stor_expr_bg = (0 & stor_expr_bh) | ((stor_expr_bf >> 0) << 0);
                    mapping_expr_v[stor_expr_bf >> 0] = mapping_expr_v[arg1];
                } else {
                    value3 = mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
                    value4 = getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
                    value5 = mapping_expr_v[arg1];
                }
                if (!(getRoleMemberCount[arg0])) _desolexPanic(49);
                if (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0]) < getRoleMemberCount[arg0])) _desolexPanic(50);
                stor_expr_bj = (0) & stor_expr_bj;
                getRoleMemberCount[arg0] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0];
                mapping_expr_v[arg1] = 0;
                flag1 = true;
            }
        }
    }
    
    function Unknown_2f2ff15d(uint256 arg0, address arg1) public {
        require(bytes1(hasRole[stor_expr_s][msg.sender]), AccessControlUnauthorizedAccount());
        if (bytes1(hasRole[arg0][arg1]) != 0x0) {
            if (0 == 0) {
                return;
            }
        } else {
            hasRole[arg0][arg1] = true;
            emit RoleGranted(arg0, arg1, msg.sender);
            if (0x01 == 0) {
                return;
            }
        }
        if (!(0 == (!(mapping_expr_v[arg1])))) {
            if (!(getRoleMemberCount[arg0] < 0x010000000000000000)) _desolexPanic(65);
            getRoleMemberCount[arg0] = getRoleMemberCount[arg0] + 0x01;
            if (!(getRoleMemberCount[arg0] < getRoleMemberCount[arg0])) _desolexPanic(50);
            stor_expr_bk = (0 & stor_expr_bk) | (arg1 << 0);
            mapping_expr_v[arg1] = getRoleMemberCount[arg0];
        }
    }
    
    function pauseNewDeposits() public {
        require(bytes1(hasRole[0x55435dd261a4b9b3364963f7738a7a662ad9c84396d64be3365284bb7f0a5041][msg.sender]), AccessControlUnauthorizedAccount());
        require(!(bytes1(stor_17)), AlreadyPaused());
        stor_17 = (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & stor_17) | 0x01;
        emit Event_760b856d(0, 0x01, block.timestamp);
    }
    
    function getRoleAdmin(bytes32 role) public view returns (uint256) {
        return stor_expr_s;
    }
    
    function totalLiability() public returns (uint256) {
        uint256 value1 = 0;
        uint256 value0 = 0;
        while (true) {
            if (value0 >= 0xa) {
                break;
            }
            (bool success0, bytes memory returnData0) = address(unresolved_2cae9419[value0]).circulatingSupply(); // staticcall
            if (!success0) {
                revert();
                break;
            }
            uint256 value3 = 0x01;
            uint256 var_b;
            uint256 value4 = var_b.length;
            if (success0) {
                uint256 value2 = returnData0.length;
                if (0x20 <= returnData0.length) {
                    value2 = 0x20;
                }
                if (((var_b + ((value2 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_b + ((value2 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_b)) _desolexPanic(65);
                var_b = var_b + ((value2 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_b + value2) - var_b) >= 0x20);
            } else {
                value3 = var_b;
                value4 = 0;
            }
            if (value1 > value1 + value4) {
                _desolexPanic(17);
                break;
            }
            value1 = value1 + value4;
            value0 = value0 + 0x01;
        }
        // duplicate declaration of value1 omitted
    }
    
    function Unknown_0e98a106() public returns (uint256) {
        (bool success0, bytes memory returnData0) = address(0x61e91daf03a49ecec334bffbf5008860cfb33333).balanceOf(address(this)); // staticcall
        require(success0);
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            uint256 var_c;
            if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
            var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_c + value0) - var_c) >= 0x20);
            require(var_c.length >= stor_14, CustomError_55d74310());
            return var_c.length - stor_14;
        } else {
            require(0 >= stor_14, CustomError_55d74310());
            return 0 - stor_14;
        }
    }
    
    function Unknown_095bf141(address arg0, uint256 arg1, uint256 arg2) public payable {
        if (!(msg.value)) {
            if ((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) >= 0x60) {
                if (arg0 == arg0) {
                    if (arg1 < 0x0a) {
                        if (stor_2 != 0x02) {
                            stor_2 = 0x02;
                            (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(0xec3c2045da149c45c16ce5a6d86d63bb81d27c31c6383c580ec51f98d5c3ee4c, msg.sender); // staticcall
                            if (success0) {
                                if (!(success0)) {
                                    if (0 != 0) {
                                        (bool success1, bytes memory returnData1) = address(msg.sender).protocolRegistry(); // staticcall
                                        if (success1) {
                                            if (!(success1)) {
                                                bool flag0;
                                                flag0 = 0x0 != 0xfd89fb9faf9de258c2148b2d0ec14da16ee42593;
                                                bool flag1;
                                                if (!flag0) {
                                                    (bool success3, bytes memory returnData3) = address(msg.sender).Unknown_1aa5bb66(); // staticcall
                                                    require(success3);
                                                    uint256 value4 = 0;
                                                    uint256 value5 = var_d.length;
                                                    if (success3) {
                                                        uint256 value3 = returnData3.length;
                                                        if (0x20 <= returnData3.length) {
                                                            value3 = 0x20;
                                                        }
                                                        if (((var_d + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                                        var_d = var_d + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                        require(((var_d + value3) - var_d) >= 0x20);
                                                        require(var_d.length == (address(var_d.length)));
                                                    } else {
                                                        value4 = var_d;
                                                        value5 = 0;
                                                    }
                                                    flag1 = address(this) != (0xffffffffffffffffffffffffffffffffffffffff & value5);
                                                } else {
                                                    flag1 = flag0;
                                                }
                                                if (!(flag1)) {
                                                    var_g = var_g;
                                                    address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).isActive(var_g, address(this)); // staticcall
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    function rewardLiability() public view returns (uint256) {
        return stor_14;
    }
    
    function supportsInterface(bytes4 interfaceId) public pure returns (bool) {
        require(interfaceId == (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000));
        uint256 value1 = msg.data[0] >> 0xe0;
        bool flag1;
        if ((interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000) != 0x5a05180f00000000000000000000000000000000000000000000000000000000) {
            uint256 value0 = msg.data[0] >> 0xe0;
            bool flag0 = 0x1ffc9a700000000000000000000000000000000000000000000000000000000 == (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000);
            if (interfaceId & (0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x7965db0b00000000000000000000000000000000000000000000000000000000) {
                value0 = interfaceId & (0xffffffff00000000000000000000000000000000000000000000000000000000);
                flag0 = (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x7965db0b00000000000000000000000000000000000000000000000000000000;
            }
            flag1 = flag0;
        } else {
            value1 = interfaceId & (0xffffffff00000000000000000000000000000000000000000000000000000000);
            flag1 = (interfaceId & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x5a05180f00000000000000000000000000000000000000000000000000000000;
        }
        return flag1;
    }
    
    function internal_4872(uint256 arg0, address arg1) private {
        // Decompilation incomplete: helper effect provenance is conservative.
        uint256 value0 = 0;
        if (bytes1(hasRole[arg0][arg1])) {
            hasRole[arg0][arg1] = false;
            emit RoleRevoked(arg0, arg1, msg.sender);
            value0 = 0x01;
        }
        if (value0 != 0x0) {
            uint256 value4 = 0;
            if (!(0 == (!(!(mapping_expr_v[arg1]))))) {
                uint256 value1 = 0;
                uint256 value2 = 0;
                uint256 value3 = 0;
                if ((mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != (getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {
                    if (!(((getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < stor_expr_x))) _desolexPanic(50);
                    if (!(((mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < stor_expr_z))) _desolexPanic(50);
                    stor_expr_ac = (0 & stor_expr_ad | (stor_expr_ab >> (0 << 0x03) << 0));
                    mapping_expr_v[stor_expr_ab >> (0 << 0x03)] = mapping_expr_v[arg1];
                } else {
                    value1 = mapping_expr_v[arg1] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
                    value2 = getRoleMemberCount[arg0] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
                    value3 = mapping_expr_v[arg1];
                }
                if (!(getRoleMemberCount[arg0])) _desolexPanic(49);
                if (!(((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0]) < stor_expr_af))) _desolexPanic(50);
                stor_expr_ag = (~(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff << (0 << 0x03))) & stor_expr_ag;
                getRoleMemberCount[arg0] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + getRoleMemberCount[arg0];
                mapping_expr_v[arg1] = 0;
                flag0 = true;
            }
        }
    }
    
    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.
    
    // 0x01ffc9a7 => supportsInterface(bytes4)
    // 0x087aa312 => rewardLiability()
    // 0x095bf141 => Unknown_095bf141(address,uint256,uint256)
    // 0x0e98a106 => Unknown_0e98a106()
    // 0x0fc29349 => totalLiability()
    // 0x11a0303a => Unknown_11a0303a()
    // 0x1a465fe1 => protocolToken()
    // 0x1d8ffa4d => interfaceVersion()
    // 0x248a9ca3 => getRoleAdmin(bytes32)
    // 0x24ea54f4 => GUARDIAN_ROLE()
    // 0x26971883 => pauseNewDeposits()
    // 0x29c7a7f2 => unresolved_29c7a7f2(uint256)
    // 0x2cae9419 => unresolved_2cae9419(uint256)
    // 0x2dfdf0b5 => depositCount()
    // 0x2f2ff15d => Unknown_2f2ff15d(uint256,address)
    // 0x3145b902 => redemptionWindow()
    // 0x3288875e => unresolved_3288875e()
    // 0x36568abe => Unknown_36568abe(uint256,address)
    // 0x3b9e00dd => Unknown_3b9e00dd(uint256,uint256)
    // 0x4087ee51 => unresolved_4087ee51()
    // 0x4b1533b2 => totalPrincipal()
    // 0x55fd7fa0 => moduleKey()
    // 0x584d193b => Unknown_584d193b()
    // 0x5970600c => currentCycle(uint256)
    // 0x5d4f9372 => Unknown_5d4f9372()
    // 0x61d027b3 => treasury()
    // 0x658e28a4 => withdrawPrincipal(uint256)
    // 0x66d1cfb1 => unresolved_66d1cfb1(uint256)
    // 0x695b1008 => Unknown_695b1008(uint16)
    // 0x72226482 => directWithdrawEnabled()
    // 0x7283b8b4 => Unknown_7283b8b4()
    // 0x7656419f => protocolRegistry()
    // 0x7c33fc05 => resumeNewDeposits()
    // 0x84b2fc50 => positionState(uint256)
    // 0x8ba1dbf7 => stakingMain()
    // 0x8ce7a62c => Unknown_8ce7a62c()
    // 0x8e8a7e00 => unresolved_8e8a7e00(uint256)
    // 0x9010d07c => Unknown_9010d07c(uint256,uint256)
    // 0x91d14854 => hasRole(bytes32,address)
    // 0x94c9df53 => totalRewardReserve()
    // 0x99a1425b => Unknown_99a1425b(uint256,bool)
    // 0x9a5dc7e8 => Unknown_9a5dc7e8(uint256)
    // 0x9ce6dd9f => hasOpenPositions()
    // 0xa217fddf => DEFAULT_ADMIN_ROLE()
    // 0xa3246ad3 => Unknown_a3246ad3(uint256)
    // 0xb2402988 => unresolved_b2402988()
    // 0xb265183e => Unknown_b265183e(uint256)
    // 0xb469afab => principalLiability()
    // 0xba461eed => Unknown_ba461eed(uint256,address)
    // 0xbce1b520 => restake(uint256)
    // 0xc14611c9 => depositAt(uint256)
    // 0xca15c873 => getRoleMemberCount(bytes32)
    // 0xca859e78 => unresolved_ca859e78(uint256)
    // 0xcb7a8672 => unresolved_cb7a8672(uint256,address)
    // 0xcc7a262e => stakedToken()
    // 0xcf8241be => Unknown_cf8241be()
    // 0xd547741f => Unknown_d547741f(uint256,address)
    // 0xdb99ca73 => Unknown_db99ca73(uint256)
    // 0xe9f9b1a4 => Unknown_e9f9b1a4()
    // 0xf36c8f5c => GOVERNANCE_ROLE()
    // 0xf39ee0f6 => newDepositsPaused()
    // 0xf4bbdf42 => isTierActive(uint8)
}
0x71a791…c6734d on BNB Chain — Decompiled Solidity