BNB Chain

0x61e91daf03a49ecec334bffbf5008860cfb33333

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

Decompilation outputBNB Chain · 0x61e91dafcfb333338.6 KB138.7 s
Share
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec
// Decompilation incomplete: symbolic execution reached a configured deadline for 2 of 40 entry points (170000 ms contract budget): 42966c68, 79cc6790
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

contract DesolexContract {
    uint256 public constant unresolved_f373c651 = 300;
    uint256 public constant FEE_PRECISION = 100000;
    address public constant pancakeRouter = address(0x10ed43c718714eb63d5aa57b78b54704e256024e);
    uint256 public constant SELL_FEE_RATIO = 4990;
    uint256 public constant taxEscrow = 774216309378699540460438195841246015587579053178;
    address public constant mainPair = address(0xbc4df56bb74a06a5a19965adea7833d6b4d9070);
    address public constant protocolRegistry = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593);
    uint256 public constant moduleKey = 85737828019912589099793259543323118033947792806487707066029810587023711289617;
    uint256 public constant unresolved_4537f729 = 100;
    address public constant unresolved_385a3460 = address(0xb1b482b72c71a037baea0f30ee307a02118d0851);
    uint256 public constant MAX_SUPPLY = 1000000000000000000000;
    uint8 public constant decimals = 9;
    address public constant quoteToken = address(0x55d398326f99059ff775485246999027b3197955);
    uint256 public constant interfaceVersion = 6;
    address public constant unresolved_0db502c8 = address(0xb9e2d931985e54d3f457c9edc20c51fc5fe17f5);
    uint256 public constant unresolved_0d11b75a = 0;
    uint256 public constant unresolved_07d32c16 = 600000;
    
    mapping(address => uint256) public balanceOf; // STORAGE[0x0]
    mapping(address => mapping(address => uint256)) public allowance; // STORAGE[0x1]
    uint256 public totalSupply; // STORAGE[0x2]
    string _name; // STORAGE[0x3]
    string _symbol; // STORAGE[0x4]
    bytes32 stor_5; // STORAGE[0x5]
    bytes32 stor_6; // STORAGE[0x6]
    mapping(address => uint256) public nonces; // STORAGE[0x7]
    bool public tradingOpen; // STORAGE[0x8] bytes 0 to 0
    address public rewardMinter; // STORAGE[0x8] bytes 1 to 20
    bool stor_9; // STORAGE[0x9]
    
    event Event_eaa635b8(uint256 indexed, uint256);
    event Event_70cbb1cd(address indexed);
    error ECDSAInvalidSignature();
    error CustomError_727f1ef2();
    event Approval(address indexed, address indexed, uint256);
    error CustomError_61fb5f24();
    error ERC20InvalidApprover(address);
    error TradingNotOpen();
    event Transfer(address indexed, address indexed, uint256);
    error ERC20InvalidReceiver(address);
    event TradingOpened(address indexed, uint256);
    error CustomError_50b8d5a9();
    error CustomError_8c272967();
    error MaxSupplyExceeded(uint256, uint256);
    error ECDSAInvalidSignatureLength(uint256);
    event Event_53ed7b97(uint256 indexed, uint256 indexed, uint256 indexed, uint256);
    error ERC20InsufficientBalance(address, uint256, uint256);
    event Event_965d3876();
    error ERC2612ExpiredSignature(uint256);
    event Event_d36f618e(uint256 indexed, uint256, uint256);
    error ECDSAInvalidSignatureS(bytes32);
    error CustomError_6e1454bf();
    error CustomError_fd769ae5();
    error ERC20InvalidSender(address);
    error InvalidShortString();
    error CustomError_9626db1d();
    event Event_d4a28637();
    error ERC2612InvalidSigner(address, address);
    error ERC20InvalidSpender(address);
    error CustomError_bd440bd8();
    error NothingToLiquidate();
    error ERC20InsufficientAllowance(address, uint256, uint256);
    function _desolexPanic(uint256 code) private pure {
        assembly ("memory-safe") {
            mstore(0x00, shl(224, 0x4e487b71))
            mstore(0x04, code)
            revert(0x00, 0x24)
        }
    }
    fallback() external {
        // Synthetic compatibility routes preserve original selectors for unresolved names.
        if ((msg.data.length >= 4) && (msg.sig == 0x2d882458)) {
            // Route to Unknown_2d882458(address,uint256,bool) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x6c797ef0));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x43634a5f)) {
            // Route to Unknown_43634a5f() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x2ae4dbfe));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0x843a51d6)) {
            // Route to Unknown_843a51d6() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x8ea32aae));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xab070197)) {
            // Route to Unknown_ab070197() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x9e39cd30));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xd0778058)) {
            // Route to Unknown_d0778058() after replacing only msg.sig.
            __desolexSelectorShim(uint32(0x26c5d58e));
            return;
        }
        if ((msg.data.length >= 4) && (msg.sig == 0xd505accf)) {
            // Route to Unknown_d505accf(address,address,bytes32,uint256,bool,uint256,uint256) after replacing only msg.sig.
            __desolexSelectorShim(uint32(0xf6ce846b));
            return;
        }
        revert();
    }
    
    
    function Unknown_d505accf(address owner, address spender, bytes32 arg2, uint256 arg3, bool arg4, uint256 arg5, uint256 arg6) public {
        require(arg4 == (arg4 & 0xff));
        require(block.timestamp <= arg3, ERC2612ExpiredSignature());
        address var_b;
        var_b = 0x07;
        nonces[owner] = nonces[owner] + 0x01;
        uint256 var_j;
        if (((var_j + 0xe0) > 0xffffffffffffffff) | ((var_j + 0xe0) < var_j)) _desolexPanic(65);
        var_j = var_j + 0xe0;
        if (!(address(0x61e91daf03a49ecec334bffbf5008860cfb33333) == address(this) && CHAINID() == 0x38)) {
            if (((var_j + 0xc0) > 0xffffffffffffffff) | ((var_j + 0xc0) < var_j)) _desolexPanic(65);
            if (arg6 > 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) {
                if (!(0x03 < 0x04)) _desolexPanic(33);
                require(0x02 != 0x0, ECDSAInvalidSignature());
                require(0x01 != 0x0, ECDSAInvalidSignatureLength());
                require(0x03 != 0x03, ECDSAInvalidSignatureS());
                require(address(0) == owner, ERC2612InvalidSigner());
                require(owner, ERC20InvalidApprover(address(0)));
                require(spender, ERC20InvalidSpender(address(0)));
            } else {
                address var_a = ecrecover(keccak256(abi.encode(0x1901000000000000000000000000000000000000000000000000000000000000, (keccak256(abi.encode(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x35e4e74b0eb22b5ada81c63a096a3c9d95216bab420b9816f82ccb884c0aab46, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, block.chainid, address(this)))), (keccak256(abi.encode(0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9, (owner), (spender), arg2, (nonces[owner]), arg3))))), bytes1(arg4), arg5, arg6);
                require(var_b);
                if (!(address(var_a))) {
                    if (!(0x01 < 0x04)) _desolexPanic(33);
                    require(0 != 0x0, ECDSAInvalidSignature());
                    require(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff != 0x0, ECDSAInvalidSignatureLength());
                    require(0x03 != 0x01, ECDSAInvalidSignatureS());
                    require(address(0) == owner, ERC2612InvalidSigner());
                    require(owner, ERC20InvalidApprover(address(0)));
                    require(spender, ERC20InvalidSpender(address(0)));
                } else {
                    if (!(0 < 0x04)) _desolexPanic(33);
                    require(address(var_a) == owner, ERC2612InvalidSigner());
                    require(owner, ERC20InvalidApprover(address(0)));
                    require(spender, ERC20InvalidSpender(address(0)));
                }
            }
            var_b = keccak256(abi.encode(owner, 0x01));
            allowance[owner][spender] = arg2;
        } else {
            if (arg6 > 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) {
                if (!(0x03 < 0x04)) _desolexPanic(33);
                require(0x02 != 0x0, ECDSAInvalidSignature());
                require(0x01 != 0x0, ECDSAInvalidSignatureLength());
                require(0x03 != 0x03, ECDSAInvalidSignatureS());
                require(address(0) == owner, ERC2612InvalidSigner());
                require(owner, ERC20InvalidApprover(address(0)));
                require(spender, ERC20InvalidSpender(address(0)));
            } else {
                address var_a = ecrecover(keccak256(abi.encode(0x1901000000000000000000000000000000000000000000000000000000000000, 0x7c8661d5ddcea6377ddefbd6e4e923abb43d420fd3af826fd20479bcd9df2fba, (keccak256(abi.encode(0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9, (owner), (spender), arg2, (nonces[owner]), arg3))))), bytes1(arg4), arg5, arg6);
                require(var_b);
                if (!(address(var_a))) {
                    if (!(0x01 < 0x04)) _desolexPanic(33);
                    require(0 != 0x0, ECDSAInvalidSignature());
                    require(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff != 0x0, ECDSAInvalidSignatureLength());
                    require(0x03 != 0x01, ECDSAInvalidSignatureS());
                    require(address(0) == owner, ERC2612InvalidSigner());
                    require(owner, ERC20InvalidApprover(address(0)));
                    require(spender, ERC20InvalidSpender(address(0)));
                } else {
                    if (!(0 < 0x04)) _desolexPanic(33);
                    require(address(var_a) == owner, ERC2612InvalidSigner());
                    require(owner, ERC20InvalidApprover(address(0)));
                    require(spender, ERC20InvalidSpender(address(0)));
                }
            }
            allowance[owner][spender] = arg2;
        }
        emit Approval(owner, spender, arg2);
    }
    
    function Unknown_d0778058() public {
        require(!(rewardMinter), CustomError_727f1ef2());
        (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc); // staticcall
        require(success0);
        uint256 value1 = msg.data[0] >> 0xe0;
        uint256 var_c;
        uint256 value2 = var_c.length;
        if (success0) {
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            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 == (address(var_c.length)));
        } else {
            value1 = var_c;
            value2 = 0;
        }
        require(address(value2), CustomError_8c272967());
        rewardMinter = value2;
        emit Event_70cbb1cd(address(value2));
    }
    
    function Unknown_ab070197() public view returns (address) {
        return address(stor_9);
    }
    
    function transfer(address to, uint256 amount) public returns (uint256) {
        internal_148d(msg.sender, to, amount);
        return 0x01;
    }
    
    function symbol() public view returns (string memory) {
        return _symbol;
    }
    
    function eip712Domain() public view returns (uint256) {
        require(0x03 <= 0x1f, InvalidShortString());
        if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);
        var_a = var_a + 0x40;
        require(0x01 <= 0x1f, InvalidShortString());
        if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);
        var_a = var_a + 0x40;
        if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
        uint256 value7 = 0;
        uint256 value8 = var_a + 0x20;
        uint256 value9 = (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (var_a + 0xe0) + 0x20) + 0x20) + 0x20;
        while (true) {
            var_a = var_a + 0x20;
            if (value7 >= var_a.length) {
                return abi.encodePacked(0x0f00000000000000000000000000000000000000000000000000000000000000, 0xe0, (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (var_a + 0xe0) + 0x20) - var_a, block.chainid, address(this), 0, (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (var_a + 0xe0) + 0x20) + 0x20) - var_a, var_a.length, var_a.length, var_a.length, var_q, var_a.length);
            }
            value7 = 0x01 + value7;
            value8 = 0x20 + value8;
            value9 = 0x20 + value9;
        }
    }
    
    function Unknown_843a51d6() public {
        require(!(address(stor_9)), CustomError_61fb5f24());
        (bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b); // staticcall
        require(success0);
        if (!(success0)) {
            require(0, CustomError_6e1454bf());
            stor_9 = 0 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_9);
            emit Event_965d3876(0);
        }
        uint256 var_c;
        if (0x20 > returnData0.length) {
            if (((var_c + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
            var_c = var_c + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_c + returnData0.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)));
        require(address(var_c.length), CustomError_6e1454bf());
        stor_9 = (address(var_c.length)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_9);
        emit Event_965d3876(address(var_c.length));
    }
    
    function burnFrom(address account, uint256 amount) public view {
        if (!(msg.value) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x40) && account == account) {
        }
    }
    
    function tradingEnabled() public returns (bool) {
        uint256 var_a;
        uint256 value1 = var_a.length;
        if (!tradingOpen) {
            (bool success0, bytes memory returnData0) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).tradingOpen(); // staticcall
            require(success0);
            if (!(success0)) {
                return false;
            }
            uint256 value0 = returnData0.length;
            if (0x20 <= returnData0.length) {
                value0 = 0x20;
            }
            if (((var_a + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
            var_a = var_a + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_a + value0) - var_a) >= 0x20);
            require(var_a.length == var_a.length);
        } else {
            value1 = (tradingOpen) ? 1 : 0;
        }
        return value1;
    }
    
    function Unknown_43634a5f() public {
        internal_132c();
    }
    
    function burn(uint256 arg0) public view {
        if (!(msg.value) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20) && msg.sender != 0x0) {
            uint256 value0 = 0x01;
        }
    }
    
    function DOMAIN_SEPARATOR() public view returns (uint256) {
        if (!(address(0x61e91daf03a49ecec334bffbf5008860cfb33333) == address(this) && CHAINID() == 0x38)) {
            if (((var_g + 0xc0) > 0xffffffffffffffff) | ((var_g + 0xc0) < var_g)) _desolexPanic(65);
            return keccak256(abi.encode(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x35e4e74b0eb22b5ada81c63a096a3c9d95216bab420b9816f82ccb884c0aab46, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, block.chainid, address(this)));
        } else {
            return 0x7c8661d5ddcea6377ddefbd6e4e923abb43d420fd3af826fd20479bcd9df2fba;
        }
    }
    
    function Unknown_2d882458(address to, uint256 amount, bool arg2) public {
        require(arg2 == (arg2 & 0xff));
        require(msg.sender == rewardMinter, CustomError_50b8d5a9());
        if (totalSupply <= (totalSupply + amount)) {
            if ((totalSupply + amount) <= 0x3635c9adc5dea00000) {
                require(to != address(0), ERC20InvalidReceiver(address(0)));
                totalSupply = totalSupply + amount;
                if (to != address(0)) {
                    balanceOf[to] = balanceOf[to] + amount;
                } else {
                    totalSupply = totalSupply - amount;
                }
                emit Transfer(address(0), to, amount);
                emit Event_53ed7b97(msg.sender, bytes1(arg2), to, amount);
            }
            require((0x3635c9adc5dea00000 - totalSupply) > 0x3635c9adc5dea00000, MaxSupplyExceeded());
        }
        _desolexPanic(17);
    }
    
    function liquidate() public {
        require(balanceOf[address(this)], NothingToLiquidate());
        uint256 value0 = msg.data[0] >> 0xe0;
        if (!(!(uint40(stor_9 >> 0xa8)))) {
        } else {
            value0 = uint40(stor_9 >> 0xa8);
        }
        require(!((SHR(0xa8, stor_9) & 0xffffffffff) != 0x0 && block.timestamp < (SHR(0xa8, stor_9) & 0xffffffffff) + 0x12c), CustomError_fd769ae5());
        (bool success0, bytes memory returnData0) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
        require(success0);
        uint256 value2 = 0x20;
        uint256 value3 = var_d;
        uint256 var_e;
        uint256 value4 = var_e.length;
        if (success0) {
            uint256 value1 = returnData0.length;
            if (0x60 <= returnData0.length) {
                value1 = 0x60;
            }
            if (((var_e + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
            var_e = var_e + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
            require(((var_e + value1) - var_e) >= 0x60);
            require(var_e.length == (uint112(var_e.length)));
            require(var_d == (uint112(var_d)));
            require(var_f == (uint32(var_f)));
        } else {
            value2 = var_e;
            value3 = 0;
            value4 = 0;
        }
        (bool success1, bytes memory returnData1) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
        require(success1);
        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);
                require(var_e.length == (address(var_e.length)));
                uint256 value5 = value3;
                if (address(this) == (address(var_e.length))) {
                    value5 = value4;
                }
                require(((uint112(value5) * 0x64) / 0x2710), CustomError_9626db1d());
                uint256 value6 = (uint112(value5) * 0x64) / 0x2710;
                if (balanceOf[address(this)] < ((uint112(value5) * 0x64) / 0x2710)) {
                    value6 = balanceOf[address(this)];
                }
                stor_9 = (0xffffffffff000000000000000000000000000000000000000000 & (block.timestamp << 0xa8)) | (0xffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff & stor_9);
                stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
                if (((var_e + 0x60) > 0xffffffffffffffff) | ((var_e + 0x60) < var_e)) _desolexPanic(65);
                var_e = var_e + 0x60;
                if (!(var_e.length != 0x0)) _desolexPanic(50);
                if (!(0x01 < var_e.length)) _desolexPanic(50);
                require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = value6;
                emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
                uint256 value7 = 0;
                uint256 value8 = var_e + 0x20;
                uint256 value9 = var_e + 0xc4;
                while (true) {
                    if (value7 >= var_e.length) {
                        break;
                    }
                    value7 = 0x01 + value7;
                    value8 = value8 + 0x20;
                    value9 = 0x20 + value9;
                }
                (bool success2, bytes memory returnData2) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(value6, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_e.length); // call
                uint256 value10 = 0;
                if (success2) {
                    if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
                    var_e = var_e + 0;
                } else {
                    value10 = var_e;
                }
                if (success2) {
                    stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                    require(0x01, CustomError_bd440bd8());
                } else {
                    if (returnData2.length == 0) {
                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                        emit Event_d4a28637(value6, 0x40, var_v);
                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                        require(0, CustomError_bd440bd8());
                    } else {
                        if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);
                        if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                        var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                        emit Event_d4a28637(value6, 0x40, var_v);
                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                        require(0, CustomError_bd440bd8());
                    }
                }
                emit Event_eaa635b8(msg.sender, value6);
            } 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)));
                uint256 value11 = value3;
                if (address(this) == (address(var_e.length))) {
                    value11 = value4;
                }
                require(((uint112(value11) * 0x64) / 0x2710), CustomError_9626db1d());
                uint256 value12 = (uint112(value11) * 0x64) / 0x2710;
                if (balanceOf[address(this)] < ((uint112(value11) * 0x64) / 0x2710)) {
                    value12 = balanceOf[address(this)];
                }
                stor_9 = (0xffffffffff000000000000000000000000000000000000000000 & (block.timestamp << 0xa8)) | (0xffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff & stor_9);
                stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
                if (((var_e + 0x60) > 0xffffffffffffffff) | ((var_e + 0x60) < var_e)) _desolexPanic(65);
                var_e = var_e + 0x60;
                if (!(var_e.length != 0x0)) _desolexPanic(50);
                if (!(0x01 < var_e.length)) _desolexPanic(50);
                require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = value12;
                emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
                uint256 value7 = 0;
                uint256 value8 = var_e + 0x20;
                uint256 value9 = var_e + 0xc4;
                while (true) {
                    if (value7 >= var_e.length) {
                        break;
                    }
                    value7 = 0x01 + value7;
                    value8 = value8 + 0x20;
                    value9 = 0x20 + value9;
                }
                (bool success3, bytes memory returnData3) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(value12, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_e.length); // call
                uint256 value13 = 0;
                if (success3) {
                    if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
                    var_e = var_e + 0;
                } else {
                    value13 = var_e;
                }
                if (success3) {
                    stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                    require(0x01, CustomError_bd440bd8());
                } else {
                    if (returnData3.length == 0) {
                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                        emit Event_d4a28637(value12, 0x40, var_v);
                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                        require(0, CustomError_bd440bd8());
                    } else {
                        if (!(returnData3.length <= 0xffffffffffffffff)) _desolexPanic(65);
                        if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                        var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                        emit Event_d4a28637(value12, 0x40, var_v);
                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                        require(0, CustomError_bd440bd8());
                    }
                }
                emit Event_eaa635b8(msg.sender, value12);
            }
        } else {
            uint256 value14 = value3;
            if (address(this) == 0x0) {
                value14 = value4;
            }
            require(((uint112(value14) * 0x64) / 0x2710), CustomError_9626db1d());
            uint256 value15 = (uint112(value14) * 0x64) / 0x2710;
            if (balanceOf[address(this)] < ((uint112(value14) * 0x64) / 0x2710)) {
                value15 = balanceOf[address(this)];
            }
            stor_9 = (0xffffffffff000000000000000000000000000000000000000000 & (block.timestamp << 0xa8)) | (0xffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff & stor_9);
            stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
            if (((var_e + 0x60) > 0xffffffffffffffff) | ((var_e + 0x60) < var_e)) _desolexPanic(65);
            var_e = var_e + 0x60;
            if (!(var_e.length != 0x0)) _desolexPanic(50);
            if (!(0x01 < var_e.length)) _desolexPanic(50);
            require(address(this) != address(0), ERC20InvalidApprover(address(0)));
            require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
            allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = value15;
            emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
            require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
            uint256 value7 = 0;
            uint256 value8 = var_e + 0x20;
            uint256 value9 = var_e + 0xc4;
            while (true) {
                if (value7 >= var_e.length) {
                    break;
                }
                value7 = 0x01 + value7;
                value8 = value8 + 0x20;
                value9 = 0x20 + value9;
            }
            (bool success4, bytes memory returnData4) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(value15, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_e.length); // call
            uint256 value16 = 0;
            if (success4) {
                if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
                var_e = var_e + 0;
            } else {
                value16 = var_e;
            }
            if (success4) {
                stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                require(0x01, CustomError_bd440bd8());
            } else {
                if (returnData4.length == 0) {
                    require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                    require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                    allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                    emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                    emit Event_d4a28637(value15, 0x40, var_v);
                    stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                    require(0, CustomError_bd440bd8());
                } else {
                    if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
                    if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
                    var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                    require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                    allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                    emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                    emit Event_d4a28637(value15, 0x40, var_v, var_v);
                    stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                    require(0, CustomError_bd440bd8());
                }
            }
            emit Event_eaa635b8(msg.sender, value15);
        }
    }
    
    function transferFrom(address from, address to, uint256 amount) public returns (uint256) {
        address account0 = address(0);
        address account1 = address(0);
        uint256 value0 = 0;
        uint256 value1 = 0;
        if (allowance[from][msg.sender] < 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {
            require(!(allowance[from][msg.sender] < amount), ERC20InsufficientAllowance(msg.sender, allowance[from][msg.sender], amount));
            require(from != address(0), ERC20InvalidApprover(address(0)));
            require(msg.sender != 0x0, ERC20InvalidSpender(address(0)));
            allowance[from][msg.sender] = allowance[from][msg.sender] - amount;
        } else {
            account0 = from;
            account1 = msg.sender;
            value0 = amount;
            value1 = allowance[from][msg.sender];
        }
        require(from != address(0), ERC20InvalidSender(address(0)));
        require(to != address(0), ERC20InvalidReceiver(address(0)));
        bool flag0 = !(to);
        if (flag0) {
            if (!(from)) {
                totalSupply = totalSupply + amount;
                if (to != address(0)) {
                    balanceOf[to] = balanceOf[to] + amount;
                } else {
                    totalSupply = totalSupply - amount;
                }
                emit Transfer(from, to, amount);
                return 0x01;
            }
            require(balanceOf[from] >= amount);
            balanceOf[from] = balanceOf[from] - amount;
            if (to != address(0)) {
                balanceOf[to] = balanceOf[to] + amount;
            } else {
                totalSupply = totalSupply - amount;
            }
            emit Transfer(from, to, amount);
        } else {
            if (!tradingOpen) {
                internal_1e6b(from, to);
            }
            bool flag2 = from == address(this);
            if (0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 != to) {
                flag2 = !(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 == to);
            }
            bool flag3 = from == (address(stor_9));
            if (flag2) {
                flag3 = flag2;
            }
            if (((!flag3) && (from == address(0xb1b482b72c71a037baea0f30ee307a02118d0851))) || (flag3)) {
                if (!(from)) {
                    totalSupply = totalSupply + amount;
                    if (to != address(0)) {
                        balanceOf[to] = balanceOf[to] + amount;
                    } else {
                        totalSupply = totalSupply - amount;
                    }
                    emit Transfer(from, to, amount);
                    return 0x01;
                }
                require(balanceOf[from] >= amount);
                balanceOf[from] = balanceOf[from] - amount;
                if (to != address(0)) {
                    balanceOf[to] = balanceOf[to] + amount;
                } else {
                    totalSupply = totalSupply - amount;
                }
                emit Transfer(from, to, amount);
            } else {
                if (amount * 0x137e / 0x186a0 == 0x0) {
                    if (!(from)) {
                        totalSupply = totalSupply + amount;
                        if (to != address(0)) {
                            balanceOf[to] = balanceOf[to] + amount;
                        } else {
                            totalSupply = totalSupply - amount;
                        }
                        emit Transfer(from, to, amount);
                        return 0x01;
                    }
                    require(balanceOf[from] >= amount);
                    balanceOf[from] = balanceOf[from] - amount;
                    if (to != address(0)) {
                        balanceOf[to] = balanceOf[to] + amount;
                    } else {
                        totalSupply = totalSupply - amount;
                    }
                    emit Transfer(from, to, amount);
                } else {
                    if (from != address(0)) {
                        require(balanceOf[from] >= ((amount * 0x137e) / 0x0186a0));
                        balanceOf[from] = balanceOf[from] - ((amount * 0x137e) / 0x0186a0);
                        if (address(this) != address(0)) {
                            balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
                        } else {
                            totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
                        }
                        emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
                        emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
                        if (bytes1(stor_9 >> 0xa0) != 0x0) {
                            if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
                            var_d = var_d + 0x40;
                            emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_d.length);
                            if (!(from)) {
                                totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                                if (to != address(0)) {
                                    balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                } else {
                                    totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                }
                                emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                                return 0x01;
                            }
                            require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                            balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                            if (to != address(0)) {
                                balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                            } else {
                                totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                            }
                            emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                        } else {
                            (bool success0, bytes memory returnData0) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
                            require(success0);
                            uint256 value9 = 0;
                            uint256 value10;
                            uint256 value11;
                            if (success0) {
                                uint256 value42 = var_d.length;
                                uint256 value43 = var_m;
                                if (0x60 > returnData0.length) {
                                    if (((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData0.length) - var_d) >= 0x60);
                                    require(var_d.length == (uint112(var_d.length)));
                                    require(var_m == (uint112(var_m)));
                                    require(var_n == (uint32(var_n)));
                                } else {
                                    if (((var_d + 0x60) > 0xffffffffffffffff) | ((var_d + 0x60) < var_d)) _desolexPanic(65);
                                    var_d = var_d + 0x60;
                                    require(((var_d + 0x60) - var_d) >= 0x60);
                                    require(var_o == (uint112(var_o)));
                                    require(var_p == (uint112(var_p)));
                                    require(var_n == (uint32(var_n)));
                                    value42 = var_r;
                                    value43 = var_q;
                                }
                                value10 = value42;
                                value11 = value43;
                            } else {
                                value9 = var_d;
                                value10 = 0;
                                value11 = 0;
                            }
                            (bool success1, bytes memory returnData1) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
                            require(success1);
                            uint256 value12 = 0;
                            uint256 value13 = var_d.length;
                            if (success1) {
                                if (0x20 > returnData1.length) {
                                    if (((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData1.length) - var_d) >= 0x20);
                                } else {
                                    if (((var_d + 0x20) > 0xffffffffffffffff) | ((var_d + 0x20) < var_d)) _desolexPanic(65);
                                    var_d = var_d + 0x20;
                                    require(((var_d + 0x20) - var_d) >= 0x20);
                                }
                                require(var_d.length == (address(var_d.length)));
                            } else {
                                value12 = var_d;
                                value13 = 0;
                            }
                            uint256 value14 = uint112(value11);
                            uint256 value15 = uint112(value10);
                            if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value13)) {
                                value14 = uint112(value10);
                                value15 = uint112(value11);
                            }
                            (bool success2, bytes memory returnData2) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
                            require(success2);
                            uint256 value17 = 0;
                            uint256 value18 = var_d.length;
                            if (success2) {
                                uint256 value16 = returnData2.length;
                                if (0x20 <= returnData2.length) {
                                    value16 = 0x20;
                                }
                                if (((var_d + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_d + value16) - var_d) >= 0x20);
                            } else {
                                value17 = var_d;
                                value18 = 0;
                            }
                            uint256 value20 = 0;
                            uint256 value21 = 0;
                            bool flag5;
                            if (value18 <= value14) {
                                (bool success3, bytes memory returnData3) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
                                require(success3);
                                bool flag9 = var_d.length > value15;
                                if (success3) {
                                    uint256 value19 = returnData3.length;
                                    if (0x20 <= returnData3.length) {
                                        value19 = 0x20;
                                    }
                                    if (((var_d + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + value19) - var_d) >= 0x20);
                                } else {
                                    flag9 = 0x0 > value15;
                                }
                                flag5 = flag9;
                            } else {
                                value20 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
                                value21 = value15;
                                flag5 = value18 > value14;
                            }
                            if (flag5) {
                                if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
                                var_d = var_d + 0x40;
                                emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_y);
                                if (!(from)) {
                                    totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                                    if (to != address(0)) {
                                        balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                    } else {
                                        totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                    }
                                    emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                                    return 0x01;
                                }
                                require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                                balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                                if (to != address(0)) {
                                    balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                } else {
                                    totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                }
                                emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                            } else {
                                stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
                                if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                var_m = msg.data[4:68];
                                if (!(var_d.length != 0x0)) _desolexPanic(50);
                                if (!(0x01 < var_d.length)) _desolexPanic(50);
                                require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
                                require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
                                allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = (amount * 0x137e) / 0x0186a0;
                                emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
                                uint256 value22 = 0;
                                uint256 value23 = var_d + 0x20;
                                uint256 value24 = var_d + 0xc4;
                                while (true) {
                                    if (value22 >= var_d.length) {
                                        break;
                                    }
                                    value22 = 0x01 + value22;
                                    value23 = value23 + 0x20;
                                    value24 = 0x20 + value24;
                                }
                                (bool success4, bytes memory returnData4) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }((amount * 0x137e) / 0x0186a0, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
                                uint256 value25 = 0;
                                if (success4) {
                                    if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                } else {
                                    value25 = var_d;
                                }
                                uint256 value26 = 0x60;
                                bool flag6 = true;
                                if (success4) {
                                    stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                } else {
                                    uint256 value44 = 0x60;
                                    if (returnData4.length == 0) {
                                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                        emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
                                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                    } else {
                                        if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
                                        if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                        var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                        emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
                                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                        value44 = var_d;
                                    }
                                    value26 = value44;
                                    value2 = 0;
                                }
                                if (!(from)) {
                                    totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                                    if (to != address(0)) {
                                        balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                    } else {
                                        totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                    }
                                    emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                                    return 0x01;
                                }
                                require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                                balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                                if (to != address(0)) {
                                    balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                } else {
                                    totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                }
                                emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                            }
                        }
                    } else {
                        totalSupply = totalSupply + ((amount * 0x137e) / 0x0186a0);
                        if (address(this) != address(0)) {
                            balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
                        } else {
                            totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
                        }
                        emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
                        emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
                        if (bytes1(stor_9 >> 0xa0) != 0x0) {
                            if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
                            var_d = var_d + 0x40;
                            emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_d.length, address(this));
                            if (!(from)) {
                                totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                                if (to != address(0)) {
                                    balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                } else {
                                    totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                }
                                emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                                return 0x01;
                            }
                            require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                            balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                            if (to != address(0)) {
                                balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                            } else {
                                totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                            }
                            emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                        } else {
                            (bool success5, bytes memory returnData5) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
                            require(success5);
                            uint256 value27 = 0;
                            uint256 value28;
                            uint256 value29;
                            if (success5) {
                                uint256 value45 = var_d.length;
                                uint256 value46 = var_m;
                                if (0x60 > returnData5.length) {
                                    if (((var_d + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData5.length) - var_d) >= 0x60);
                                    require(var_d.length == (uint112(var_d.length)));
                                    require(var_m == (uint112(var_m)));
                                    require(var_n == (uint32(var_n)));
                                } else {
                                    if (((var_d + 0x60) > 0xffffffffffffffff) | ((var_d + 0x60) < var_d)) _desolexPanic(65);
                                    var_d = var_d + 0x60;
                                    require(((var_d + 0x60) - var_d) >= 0x60);
                                    require(var_o == (uint112(var_o)));
                                    require(var_p == (uint112(var_p)));
                                    require(var_n == (uint32(var_n)));
                                    value45 = var_r;
                                    value46 = var_q;
                                }
                                value28 = value45;
                                value29 = value46;
                            } else {
                                value27 = var_d;
                                value28 = 0;
                                value29 = 0;
                            }
                            (bool success6, bytes memory returnData6) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
                            require(success6);
                            uint256 value30 = 0;
                            uint256 value31 = var_d.length;
                            if (success6) {
                                if (0x20 > returnData6.length) {
                                    if (((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData6.length) - var_d) >= 0x20);
                                } else {
                                    if (((var_d + 0x20) > 0xffffffffffffffff) | ((var_d + 0x20) < var_d)) _desolexPanic(65);
                                    var_d = var_d + 0x20;
                                    require(((var_d + 0x20) - var_d) >= 0x20);
                                }
                                require(var_d.length == (address(var_d.length)));
                            } else {
                                value30 = var_d;
                                value31 = 0;
                            }
                            uint256 value32 = uint112(value29);
                            uint256 value33 = uint112(value28);
                            if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value31)) {
                                value32 = uint112(value28);
                                value33 = uint112(value29);
                            }
                            (bool success7, bytes memory returnData7) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
                            require(success7);
                            uint256 value35 = 0;
                            uint256 value36 = var_d.length;
                            if (success7) {
                                uint256 value34 = returnData7.length;
                                if (0x20 <= returnData7.length) {
                                    value34 = 0x20;
                                }
                                if (((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_d + value34) - var_d) >= 0x20);
                            } else {
                                value35 = var_d;
                                value36 = 0;
                            }
                            uint256 value38 = 0;
                            uint256 value39 = 0;
                            bool flag7;
                            if (value36 <= value32) {
                                (bool success8, bytes memory returnData8) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
                                require(success8);
                                bool flag10 = var_d.length > value33;
                                if (success8) {
                                    uint256 value37 = returnData8.length;
                                    if (0x20 <= returnData8.length) {
                                        value37 = 0x20;
                                    }
                                    if (((var_d + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + value37) - var_d) >= 0x20);
                                } else {
                                    flag10 = 0x0 > value33;
                                }
                                flag7 = flag10;
                            } else {
                                value38 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
                                value39 = value33;
                                flag7 = value36 > value32;
                            }
                            if (flag7) {
                                if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
                                var_d = var_d + 0x40;
                                emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_y, ((amount * 0x137e) / 0x0186a0));
                                if (!(from)) {
                                    totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                                    if (to != address(0)) {
                                        balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                    } else {
                                        totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                    }
                                    emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                                    return 0x01;
                                }
                                require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                                balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                                if (to != address(0)) {
                                    balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                } else {
                                    totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                }
                                emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                            } else {
                                stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
                                if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                if (!(var_d.length != 0x0)) _desolexPanic(50);
                                if (!(0x01 < var_d.length)) _desolexPanic(50);
                                require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
                                require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
                                allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = (amount * 0x137e) / 0x0186a0;
                                emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
                                uint256 value22 = 0;
                                uint256 value23 = var_d + 0x20;
                                uint256 value24 = var_d + 0xc4;
                                while (true) {
                                    if (value22 >= var_d.length) {
                                        break;
                                    }
                                    value22 = 0x01 + value22;
                                    value23 = value23 + 0x20;
                                    value24 = 0x20 + value24;
                                }
                                (bool success9, bytes memory returnData9) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }((amount * 0x137e) / 0x0186a0, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
                                uint256 value40 = 0;
                                if (success9) {
                                    if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                } else {
                                    value40 = var_d;
                                }
                                uint256 value41 = 0x60;
                                bool flag8 = true;
                                if (success9) {
                                    stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                } else {
                                    uint256 value47 = 0x60;
                                    if (returnData9.length == 0) {
                                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                        emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
                                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                    } else {
                                        if (!(returnData9.length <= 0xffffffffffffffff)) _desolexPanic(65);
                                        if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                        var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                        require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                        allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                        emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                        emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
                                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                        value47 = var_d;
                                    }
                                    value41 = value47;
                                    value3 = 0;
                                }
                                if (!(from)) {
                                    totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                                    if (to != address(0)) {
                                        balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                    } else {
                                        totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                    }
                                    emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                                    return 0x01;
                                }
                                require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                                balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                                if (to != address(0)) {
                                    balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                                } else {
                                    totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                                }
                                emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                            }
                        }
                    }
                }
            }
        }
        return 0x01;
    }
    
    function approve(address spender, uint256 amount) public returns (bool) {
        require(msg.sender != address(0), ERC20InvalidApprover(address(0)));
        require(spender != address(0), ERC20InvalidSpender(address(0)));
        allowance[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
        return true;
    }
    
    function name() public view returns (string memory) {
        return _name;
    }
    
    function internal_148d(address from, address to, uint256 amount) private {
        // Decompilation incomplete: helper effect provenance is conservative.
        require(from != address(0), ERC20InvalidSender(address(0)));
        require(to != address(0), ERC20InvalidReceiver(address(0)));
        bool flag0 = !(to);
        if (flag0) {
            if (from != address(0)) {
                require(balanceOf[from] >= amount);
                balanceOf[from] = balanceOf[from] - amount;
            } else {
                totalSupply = totalSupply + amount;
            }
            if (to != address(0)) {
                balanceOf[to] = balanceOf[to] + amount;
            } else {
                totalSupply = totalSupply - amount;
            }
            emit Transfer(from, to, amount);
            return;
        } else {
            if (!tradingOpen) {
                internal_1e6b(from, to);
            }
            bool flag2 = from == address(this);
            if (0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 != to) {
                flag2 = !(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 == to);
            }
            bool flag3 = from == (address(stor_9));
            if (flag2) {
                flag3 = flag2;
            }
            if (((!flag3) && (from == address(0xb1b482b72c71a037baea0f30ee307a02118d0851))) || (flag3)) {
                if (from != address(0)) {
                    require(balanceOf[from] >= amount);
                    balanceOf[from] = balanceOf[from] - amount;
                } else {
                    totalSupply = totalSupply + amount;
                }
                if (to != address(0)) {
                    balanceOf[to] = balanceOf[to] + amount;
                } else {
                    totalSupply = totalSupply - amount;
                }
                emit Transfer(from, to, amount);
                return;
            } else {
                if (amount * 0x137e / 0x186a0 == 0x0) {
                    if (from != address(0)) {
                        require(balanceOf[from] >= amount);
                        balanceOf[from] = balanceOf[from] - amount;
                    } else {
                        totalSupply = totalSupply + amount;
                    }
                    if (to != address(0)) {
                        balanceOf[to] = balanceOf[to] + amount;
                    } else {
                        totalSupply = totalSupply - amount;
                    }
                    emit Transfer(from, to, amount);
                    return;
                } else {
                    if (from != address(0)) {
                        require(balanceOf[from] >= ((amount * 0x137e) / 0x0186a0));
                        balanceOf[from] = balanceOf[from] - ((amount * 0x137e) / 0x0186a0);
                        if (address(this) != address(0)) {
                            balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
                        } else {
                            totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
                        }
                        emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
                        emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
                        if (bytes1(stor_9 >> 0xa0) != 0x0) {
                            if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                            var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                            emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_p);
                        } else {
                            (bool success0, bytes memory returnData0) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
                            require(success0);
                            uint256 value7 = 0;
                            uint256 value8;
                            uint256 value9;
                            if (success0) {
                                uint256 value44 = var_f;
                                uint256 value45 = var_r;
                                if (0x60 > returnData0.length) {
                                    if (((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData0.length) - var_d) >= 0x60);
                                    require(var_s == (uint112(var_s)));
                                    require(var_t == (uint112(var_t)));
                                    require(var_u == (uint32(var_u)));
                                } else {
                                    if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(!(((var_d + 0x60) - var_d) < 0x60));
                                    require(var_s == (uint112(var_s)));
                                    require(var_t == (uint112(var_t)));
                                    require(var_v == (uint32(var_v)));
                                    value44 = var_f;
                                    value45 = (var_r);
                                }
                                value8 = value44;
                                value9 = value45;
                            } else {
                                value7 = var_d;
                                value8 = 0;
                                value9 = 0;
                            }
                            (bool success1, bytes memory returnData1) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
                            require(success1);
                            uint256 value10 = 0;
                            uint256 value11;
                            if (success1) {
                                uint256 value46 = var_d.length;
                                if (0x20 > returnData1.length) {
                                    if (((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData1.length) - var_d) >= 0x20);
                                    require(var_d.length == (address(var_d.length)));
                                } else {
                                    if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(!(((var_d + 0x20) - var_d) < 0x20));
                                    require(var_y == (address(var_y)));
                                    value46 = var_f;
                                }
                                value11 = value46;
                            } else {
                                value10 = var_d;
                                value11 = 0;
                            }
                            uint256 value12 = uint112(value9);
                            uint256 value13 = uint112(value8);
                            if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value11)) {
                                value12 = uint112(value8);
                                value13 = uint112(value9);
                            }
                            (bool success2, bytes memory returnData2) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
                            require(success2);
                            uint256 value15 = 0;
                            uint256 value16 = var_d.length;
                            if (success2) {
                                uint256 value14 = returnData2.length;
                                if (0x20 <= returnData2.length) {
                                    value14 = 0x20;
                                }
                                if (((var_d + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_d + value14) - var_d) >= 0x20);
                            } else {
                                value15 = var_d;
                                value16 = 0;
                            }
                            uint256 value18 = 0;
                            uint256 value19 = 0;
                            bool flag5;
                            if (value16 <= value12) {
                                (bool success3, bytes memory returnData3) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
                                require(success3);
                                bool flag7 = var_d.length > value13;
                                if (success3) {
                                    uint256 value17 = returnData3.length;
                                    if (0x20 <= returnData3.length) {
                                        value17 = 0x20;
                                    }
                                    if (((var_d + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + value17) - var_d) >= 0x20);
                                } else {
                                    flag7 = 0x0 > value13;
                                }
                                flag5 = flag7;
                            } else {
                                value18 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
                                value19 = value13;
                                flag5 = value16 > value12;
                            }
                            if (flag5) {
                                if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                            } else {
                                stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
                                if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                var_ah = msg.data[4:68];
                                if (!(var_d.length != 0x0)) _desolexPanic(50);
                                if (!(0x01 < var_d.length)) _desolexPanic(50);
                                require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
                                require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
                                allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = ((amount * 0x137e) / 0x0186a0);
                                emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
                                uint256 value22;
                                uint256 value23;
                                if (0 < var_d.length) {
                                    uint256 value47;
                                    uint256 value49;
                                    if (!(0x01 < var_d.length)) {
                                        (bool success4, bytes memory returnData4) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp); // call
                                        uint256 value20 = 0;
                                        if (success4) {
                                            if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                            var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        } else {
                                            value20 = var_d;
                                        }
                                        value47 = 0x60;
                                        value49 = 0x01;
                                        if (success4) {
                                            stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                        } else {
                                            uint256 value54 = 0x60;
                                            if (returnData4.length == 0) {
                                                require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                                allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                                emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                                emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                                stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                            } else {
                                                if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
                                                if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                                var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                                allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                                emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                                emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                                stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                                value54 = var_d;
                                            }
                                            value47 = value54;
                                            value49 = 0;
                                        }
                                    }
                                    value22 = value47;
                                    value23 = value49;
                                } else {
                                    (bool success5, bytes memory returnData5) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
                                    uint256 value21 = 0;
                                    if (success5) {
                                        if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                        var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    } else {
                                        value21 = var_d;
                                    }
                                    uint256 value48 = 0x60;
                                    uint256 value50 = 0x01;
                                    if (success5) {
                                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                    } else {
                                        uint256 value55 = 0x60;
                                        if (returnData5.length == 0) {
                                            require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                            require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                            allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                            emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                            emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                            stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                        } else {
                                            if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
                                            if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                            var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                            require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                            allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                            emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                            emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                            stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                            value55 = var_d;
                                        }
                                        value48 = value55;
                                        value50 = 0;
                                    }
                                    value22 = value48;
                                    value23 = value50;
                                }
                            }
                        }
                        return;
                    } else {
                        totalSupply = totalSupply + ((amount * 0x137e) / 0x0186a0);
                        if (address(this) != address(0)) {
                            balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
                        } else {
                            totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
                        }
                        emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
                        emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
                        if (bytes1(stor_9 >> 0xa0) != 0x0) {
                            if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                            var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                            emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_p, address(this));
                        } else {
                            (bool success6, bytes memory returnData6) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
                            require(success6);
                            uint256 value24 = 0;
                            uint256 value25;
                            uint256 value26;
                            if (success6) {
                                uint256 value56 = var_f;
                                uint256 value57 = var_r;
                                if (0x60 > returnData6.length) {
                                    if (((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData6.length) - var_d) >= 0x60);
                                    require(var_s == (uint112(var_s)));
                                    require(var_t == (uint112(var_t)));
                                    require(var_u == (uint32(var_u)));
                                } else {
                                    if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(!(((var_d + 0x60) - var_d) < 0x60));
                                    require(var_s == (uint112(var_s)));
                                    require(var_t == (uint112(var_t)));
                                    require(var_v == (uint32(var_v)));
                                    value56 = var_f;
                                    value57 = (var_r);
                                }
                                value25 = value56;
                                value26 = value57;
                            } else {
                                value24 = var_d;
                                value25 = 0;
                                value26 = 0;
                            }
                            (bool success7, bytes memory returnData7) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
                            require(success7);
                            uint256 value27 = 0;
                            uint256 value28;
                            if (success7) {
                                uint256 value58 = var_d.length;
                                if (0x20 > returnData7.length) {
                                    if (((var_d + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + returnData7.length) - var_d) >= 0x20);
                                    require(var_d.length == (address(var_d.length)));
                                } else {
                                    if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(!(((var_d + 0x20) - var_d) < 0x20));
                                    require(var_y == (address(var_y)));
                                    value58 = var_f;
                                }
                                value28 = value58;
                            } else {
                                value27 = var_d;
                                value28 = 0;
                            }
                            uint256 value29 = uint112(value26);
                            uint256 value30 = uint112(value25);
                            if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value28)) {
                                value29 = uint112(value25);
                                value30 = uint112(value26);
                            }
                            (bool success8, bytes memory returnData8) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
                            require(success8);
                            uint256 value32 = 0;
                            uint256 value33 = var_d.length;
                            if (success8) {
                                uint256 value31 = returnData8.length;
                                if (0x20 <= returnData8.length) {
                                    value31 = 0x20;
                                }
                                if (((var_d + ((value31 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value31 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((value31 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                require(((var_d + value31) - var_d) >= 0x20);
                            } else {
                                value32 = var_d;
                                value33 = 0;
                            }
                            uint256 value35 = 0;
                            uint256 value36 = 0;
                            bool flag6;
                            if (value33 <= value29) {
                                (bool success9, bytes memory returnData9) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
                                require(success9);
                                bool flag8 = var_d.length > value30;
                                if (success9) {
                                    uint256 value34 = returnData9.length;
                                    if (0x20 <= returnData9.length) {
                                        value34 = 0x20;
                                    }
                                    if (((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                    var_d = var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    require(((var_d + value34) - var_d) >= 0x20);
                                } else {
                                    flag8 = 0x0 > value30;
                                }
                                flag6 = flag8;
                            } else {
                                value35 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
                                value36 = value30;
                                flag6 = value33 > value29;
                            }
                            if (flag6) {
                                if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p, ((amount * 0x137e) / 0x0186a0));
                            } else {
                                stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
                                if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                var_ah = msg.data[4:68];
                                if (!(var_d.length != 0x0)) _desolexPanic(50);
                                if (!(0x01 < var_d.length)) _desolexPanic(50);
                                require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
                                require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
                                allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = ((amount * 0x137e) / 0x0186a0);
                                emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
                                uint256 value39;
                                uint256 value40;
                                if (0 < var_d.length) {
                                    uint256 value59;
                                    uint256 value61;
                                    if (!(0x01 < var_d.length)) {
                                        (bool success10, bytes memory returnData10) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp); // call
                                        uint256 value37 = 0;
                                        if (success10) {
                                            if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                            var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                        } else {
                                            value37 = var_d;
                                        }
                                        value59 = 0x60;
                                        value61 = 0x01;
                                        if (success10) {
                                            stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                        } else {
                                            uint256 value63 = 0x60;
                                            if (returnData10.length == 0) {
                                                require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                                allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                                emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                                emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                                stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                            } else {
                                                if (!(returnData10.length <= 0xffffffffffffffff)) _desolexPanic(65);
                                                if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                                var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                                require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                                require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                                allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                                emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                                emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                                stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                                value63 = var_d;
                                            }
                                            value59 = value63;
                                            value61 = 0;
                                        }
                                    }
                                    value39 = value59;
                                    value40 = value61;
                                } else {
                                    (bool success11, bytes memory returnData11) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
                                    uint256 value38 = 0;
                                    if (success11) {
                                        if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                        var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                    } else {
                                        value38 = var_d;
                                    }
                                    uint256 value60 = 0x60;
                                    uint256 value62 = 0x01;
                                    if (success11) {
                                        stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                    } else {
                                        uint256 value64 = 0x60;
                                        if (returnData11.length == 0) {
                                            require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                            require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                            allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                            emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                            emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                            stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                        } else {
                                            if (!(returnData11.length <= 0xffffffffffffffff)) _desolexPanic(65);
                                            if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                                            var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                                            require(address(this) != address(0), ERC20InvalidApprover(address(0)));
                                            require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
                                            allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
                                            emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
                                            emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
                                            stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
                                            value64 = var_d;
                                        }
                                        value60 = value64;
                                        value62 = 0;
                                    }
                                    value39 = value60;
                                    value40 = value62;
                                }
                            }
                        }
                        return;
                    }
                    if (from != address(0)) {
                        require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
                        balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
                    } else {
                        totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
                    }
                    if (to != address(0)) {
                        balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
                    } else {
                        totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
                    }
                    emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
                }
            }
        }
    }
    
    function internal_1e6b(address arg0, address arg1) private {
        // Decompilation incomplete: helper effect provenance is conservative.
        (bool success0, bytes memory returnData0) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).tradingOpen(); // staticcall
        require(success0);
        uint256 value0 = 0;
        uint256 value1;
        if (success0) {
            uint256 var_d;
            uint256 value41 = var_d.length;
            if (0x20 > returnData0.length) {
                if (((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                var_d = var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(((var_d + returnData0.length) - var_d) >= 0x20);
                require(var_d.length == var_d.length);
            } else {
                if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                require(!(((var_d + 0x20) - var_d) < 0x20));
                require(var_e == var_e);
                value41 = var_f;
            }
            value1 = value41;
        } else {
            value0 = var_d;
            value1 = 0;
        }
        if (value1 != 0x0) {
            tradingOpen = true;
            emit TradingOpened(msg.sender, block.timestamp);
        } else {
            (bool success1, bytes memory returnData1) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).Unknown_e4aee622(arg0); // staticcall
            require(success1);
            uint256 value2 = 0;
            uint256 value3;
            if (success1) {
                uint256 value42 = var_d.length;
                if (0x20 > returnData1.length) {
                    if (((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                    var_d = var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_d + returnData1.length) - var_d) >= 0x20);
                    require(var_d.length == var_d.length);
                } else {
                    if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                    var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(!(((var_d + 0x20) - var_d) < 0x20));
                    require(var_i == var_i);
                    value42 = var_f;
                }
                value3 = value42;
            } else {
                value2 = var_d;
                value3 = 0;
            }
            address account0 = address(0);
            uint256 value6 = 0;
            bool flag1;
            if (value3 == 0x0) {
                (bool success2, bytes memory returnData2) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).Unknown_e4aee622(arg1); // staticcall
                require(success2);
                uint256 value4 = 0;
                uint256 value5;
                if (success2) {
                    uint256 value43 = var_d.length;
                    if (0x20 > returnData2.length) {
                        if (((var_d + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                        var_d = var_d + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                        require(((var_d + returnData2.length) - var_d) >= 0x20);
                        require(var_d.length == var_d.length);
                    } else {
                        if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
                        var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                        require(!(((var_d + 0x20) - var_d) < 0x20));
                        require(var_l == var_l);
                        value43 = var_f;
                    }
                    value5 = value43;
                } else {
                    value4 = var_d;
                    value5 = 0;
                }
                flag1 = value5 == 0x0;
            } else {
                account0 = arg1;
                value6 = 0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5;
                flag1 = value3 == 0x0;
            }
            require(!(flag1), TradingNotOpen());
        }
    }
    
    function internal_132c() private {
        // Decompilation incomplete: helper effect provenance is conservative.
        if (!tradingOpen) {
            (bool success0, bytes memory returnData0) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).tradingOpen(); // staticcall
            require(success0);
            uint256 value0 = 0;
            uint256 var_b;
            uint256 value1 = var_b.length;
            if (success0) {
                if (0x20 > returnData0.length) {
                    if (((var_b + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_b + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_b)) _desolexPanic(65);
                    var_b = var_b + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
                    require(((var_b + returnData0.length) - var_b) >= 0x20);
                    require(var_b.length == var_b.length);
                } else {
                    if (((var_b + 0x20) > 0xffffffffffffffff) | ((var_b + 0x20) < var_b)) _desolexPanic(65);
                    var_b = var_b + 0x20;
                    require(!(((var_b + 0x20) - var_b) < 0x20));
                    require(var_c == var_c);
                    require(var_c != 0x0, TradingNotOpen());
                    tradingOpen = true;
                    emit TradingOpened(msg.sender, block.timestamp);
                }
            } else {
                value0 = var_b;
                value1 = 0;
            }
            require(value1 != 0x0, TradingNotOpen());
            tradingOpen = true;
            emit TradingOpened(msg.sender, block.timestamp);
        }
    }
    
    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.
    
    // 0x06fdde03 => name()
    // 0x07d32c16 => unresolved_07d32c16()
    // 0x095ea7b3 => approve(address,uint256)
    // 0x0d11b75a => unresolved_0d11b75a()
    // 0x0db502c8 => unresolved_0db502c8()
    // 0x18160ddd => totalSupply()
    // 0x1d8ffa4d => interfaceVersion()
    // 0x217a4b70 => quoteToken()
    // 0x23b872dd => transferFrom(address,address,uint256)
    // 0x28a07025 => liquidate()
    // 0x2d882458 => Unknown_2d882458(address,uint256,bool)
    // 0x313ce567 => decimals()
    // 0x32cb6b0c => MAX_SUPPLY()
    // 0x3644e515 => DOMAIN_SEPARATOR()
    // 0x385a3460 => unresolved_385a3460()
    // 0x42966c68 => burn(uint256)
    // 0x43634a5f => Unknown_43634a5f()
    // 0x4537f729 => unresolved_4537f729()
    // 0x4ada218b => tradingEnabled()
    // 0x55fd7fa0 => moduleKey()
    // 0x70a08231 => balanceOf(address)
    // 0x7656419f => protocolRegistry()
    // 0x79cc6790 => burnFrom(address,uint256)
    // 0x7ecebe00 => nonces(address)
    // 0x843a51d6 => Unknown_843a51d6()
    // 0x84b0196e => eip712Domain()
    // 0x85af30c5 => mainPair()
    // 0x95d89b41 => symbol()
    // 0x9b8e5563 => rewardMinter()
    // 0xa629fd4b => taxEscrow()
    // 0xa9059cbb => transfer(address,uint256)
    // 0xab070197 => Unknown_ab070197()
    // 0xb59dd82a => SELL_FEE_RATIO()
    // 0xc21ebd07 => pancakeRouter()
    // 0xd0778058 => Unknown_d0778058()
    // 0xd505accf => Unknown_d505accf(address,address,bytes32,uint256,bool,uint256,uint256)
    // 0xdd62ed3e => allowance(address,address)
    // 0xe63a391f => FEE_PRECISION()
    // 0xf373c651 => unresolved_f373c651()
    // 0xffb54a99 => tradingOpen()
}
0x61e91d…b33333 on BNB Chain — Decompiled Solidity