0x01de90b0c886d26558110356cca020eed91db9ac

deployer: unknown relevance score: 0 status: partially_identified bytecode: 9951 bytes

DECOMPILED SOLIDITY (Heimdall)

// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;

/// @title            Decompiled Contract
/// @author           Jonathan Becker <jonathan@jbecker.dev>
/// @custom:version   heimdall-rs v0.9.2
///
/// @notice           This contract was decompiled using the heimdall-rs decompiler.
///                     It was generated directly by tracing the EVM opcodes from this contract.
///                     As a result, it may not compile or even be valid solidity code.
///                     Despite this, it should be obvious what each function does. Overall
///                     logic should have been preserved throughout decompiling.
///
/// @custom:github    You can find the open-source decompiler here:
///                       https://heimdall.rs

contract DecompiledContract {
    uint256 public constant vault = 297342121567639205117436063340067643185687930970;
    uint256 public constant MAX = 255;
    
    bool public mintClosed;
    uint256 public price;
    uint256 store_k;
    uint256 public allowPrice;
    mapping(bytes32 => bytes32) storage_map_a;
    uint256 public owedTreasury;
    bool public unresolved_2dddda16;
    bytes32 store_q;
    uint256 store_j;
    address public treasury;
    address public owner;
    bool public frozen;
    mapping(bytes32 => bytes32) storage_map_i;
    uint256 public alive;
    uint256 public surfaced;
    bytes32 store_h;
    address public pendingOwner;
    bytes32 store_s;
    uint96 store_t;
    mapping(bytes32 => bytes32) storage_map_u;
    uint256 public nextId;
    
    error ERC2981InvalidDefaultRoyaltyReceiver(address);
    event Transfer(address, address, uint256);
    event OwnershipTransferStarted(address, address);
    event Event_bf465190();
    event Minted(address, uint256, bool);
    event Event_8c5be1e5();
    event Event_17307eab();
    event OwnershipTransferred(address, address);
    
    /// @custom:selector    0x095ea7b3
    /// @custom:signature   Unresolved_095ea7b3(address arg0, uint256 arg1) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function Unresolved_095ea7b3(address arg0, uint256 arg1) public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        require(arg0 - (address(arg0)));
        uint256 var_a = arg1;
        require(!(address(storage_map_a[var_a])), CustomError_a9fbf51f());
        require(msg.sender, CustomError_a9fbf51f());
        require(!(msg.sender == (address(storage_map_a[var_a]))), CustomError_a9fbf51f());
        var_a = msg.sender;
        require(!(bytes1(storage_map_a[var_a])), CustomError_a9fbf51f());
        emit Event_8c5be1e5(address(storage_map_a[var_a]), address(arg0), arg1);
        var_a = arg1;
        storage_map_a[var_a] = (address(arg0)) | (uint96(storage_map_a[var_a]));
        return ;
        require(!(msg.sender == (address(storage_map_a[var_a]))), CustomError_a9fbf51f());
        emit Event_8c5be1e5(address(storage_map_a[var_a]), address(arg0), arg1);
        var_a = arg1;
        storage_map_a[var_a] = (address(arg0)) | (uint96(storage_map_a[var_a]));
        return ;
    }
    
    /// @custom:selector    0xb71d9ad0
    /// @custom:signature   setAllowlist(address[] arg0, uint8 arg1) public view returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["bool", "uint8", "bytes1", "int8"]
    function setAllowlist(address[] arg0, uint8 arg1) public view returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        require(arg0 > 0xffffffffffffffff);
        require(arg0 > 0xffffffffffffffff);
        require(arg1 - (bytes1(arg1)));
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(!(!bytes1(mintClosed >> 0x08)), "closed");
        require(0 < (arg0));
        require(!0 < (arg0));
        require((0 + (arg0 + 0x20)) - (address(0 + (arg0 + 0x20))));
        return ;
    }
    
    /// @custom:selector    0x7b12afab
    /// @custom:signature   Unresolved_7b12afab(uint256 arg0, uint256 arg1) public view returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function Unresolved_7b12afab(uint256 arg0, uint256 arg1) public view returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        require(arg0 > 0xffffffffffffffff);
        require(arg0 > 0xffffffffffffffff);
        require(arg1 - arg1);
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(0 < (arg0));
        require(!0 < (arg0));
        return ;
    }
    
    /// @custom:selector    0x7de55fe1
    /// @custom:signature   mintReserved(address arg0, uint256 arg1) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function mintReserved(address arg0, uint256 arg1) public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        require(arg0 - (address(arg0)));
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(store_h == 0x02, CustomError_3ee5aeb5());
        store_h = 0x02;
        require(!(!bytes1(mintClosed >> 0x08)), "closed");
        uint256 var_e = arg1;
        require(!(bytes1(storage_map_i[var_e])), "id");
        require(!(arg1 < 0x01), "id");
        require(!(!arg1 > 0xff), "id");
        require(alive > (alive + 0x01));
        alive = alive + 0x01;
        require(!address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).code.length);
        var_b = arg1;
        (bool success, bytes memory ret0) = address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).{ value: 0 ether }Unresolved_478bccb2(var_b); // call
        require(((var_h + 0x20) > 0xffffffffffffffff) | ((var_h + 0x20) < var_h), CustomError_73c6ac6e());
        uint256 var_h = var_h + 0x20;
        require(!(address(arg0)), CustomError_73c6ac6e());
        var_e = arg1;
        require(address(storage_map_i[var_e]), CustomError_73c6ac6e());
        var_e = arg1;
        storage_map_i[var_e] = uint96(storage_map_i[var_e]);
        var_e = address(storage_map_i[var_e]);
        storage_map_i[var_e] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + storage_map_i[var_e];
        require(address(arg0), CustomError_73c6ac6e());
        var_e = address(arg0);
        storage_map_i[var_e] = storage_map_i[var_e] + 0x01;
        var_e = arg1;
        storage_map_i[var_e] = (address(arg0)) | (uint96(storage_map_i[var_e]));
        emit Transfer(address(storage_map_i[var_e]), address(arg0), arg1);
        require(address(storage_map_i[var_e]), CustomError_73c6ac6e());
        require(address(arg0).code.length);
        emit Minted(address(arg0), arg1, 0x01);
        store_h = 0x01;
        return ;
        var_c = address(msg.sender);
        uint256 var_d = 0;
        (bool success, bytes memory ret0) = address(arg0).{ value: var_d ether }Unresolved_150b7a02(var_c); // call
        require(!ret0.length);
        require(var_n);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(((var_h + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) > 0xffffffffffffffff) | ((var_h + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) < var_h), CustomError_64a0ae92());
        var_h = var_h + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f));
        require(var_h.length, CustomError_64a0ae92());
        require(0xeaf485fe00000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        emit Minted(address(arg0), arg1, 0x01);
        store_h = 0x01;
        return ;
        require(0x20 > ret0.length);
        require(((var_h + 0x20) > 0xffffffffffffffff) | ((var_h + 0x20) < var_h));
        var_h = var_h + 0x20;
        require(((var_h + 0x20) - var_h) < 0x20);
        require(var_h.length - (uint32(var_h.length)));
        require(!ret0.length);
        require(var_n);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(uint32(var_h.length) - 0x150b7a0200000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        emit Minted(address(arg0), arg1, 0x01);
        store_h = 0x01;
        return ;
        require(var_h > 0xffffffffffffffff, "id");
        require(!(!arg1 < 0x01), "id");
    }
    
    /// @custom:selector    0xdfa50ca2
    /// @custom:signature   bag(uint256 arg0) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function bag(uint256 arg0) public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x20);
        uint256 var_a = arg0;
        require(!address(storage_map_a[var_a]));
        uint256 var_d = arg0;
        (bool success, bytes memory ret0) = address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).Unresolved_dfa50ca2(var_d); // staticcall
        return 0;
        require(0x20 > ret0.length);
        require(((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e));
        uint256 var_e = var_e + 0x20;
        require(((var_e + 0x20) - var_e) < 0x20);
        return var_e.length;
    }
    
    /// @custom:selector    0x55f804b3
    /// @custom:signature   Unresolved_55f804b3(uint256 arg0, uint0 arg1) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["uint0", "bytes0", "int0"]
    function Unresolved_55f804b3(uint256 arg0, uint0 arg1) public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x20);
        require(arg0 > 0xffffffffffffffff);
        require(!(arg0 + 0x23) < msg.data.length);
        require(arg0 > 0xffffffffffffffff);
        require(((arg0 + (arg0)) + 0x24) > msg.data.length, CustomError_118cdaa7());
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(bytes1(frozen), "frozen");
        require(!bytes1(store_j));
        require(((store_j >> 0x01) < 0x20) == (bytes1(store_j)));
        require((store_j >> 0x01) > 0x1f);
        require(arg0 < 0x20);
        require((0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672 + ((arg0 + 0x1f) >> 0x05)) < (((0x1f + (store_j >> 0x01)) >> 0x05) + 0x1b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae672));
        require(0x01 == (arg0 > 0x1f));
        require(0 < (uint248(arg0)));
        require(uint248(arg0) < (arg0));
        store_k = (~(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff >> (bytes1(arg0 << 0x03)))) & (msg.data[0x24 + (0 + arg0)]);
        store_j = (arg0 << 0x01) + 0x01;
        return ;
        store_j = (arg0 << 0x01) + 0x01;
        return ;
        require(arg0);
        store_j = (~(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff >> (arg0 << 0x03)) & (msg.data[(arg0 + 0) + 0x24])) | (arg0 << 0x01);
        return ;
        store_j = (~(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff >> (arg0 << 0x03)) & (0)) | (arg0 << 0x01);
        return ;
    }
    
    /// @custom:selector    0x715018a6
    /// @custom:signature   renounceOwnership() public payable returns (uint256)
    function renounceOwnership() public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0);
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        pendingOwner = uint96(pendingOwner);
        owner = uint96(owner);
        emit OwnershipTransferred(address(owner), 0);
        return ;
    }
    
    /// @custom:selector    0x166bab95
    /// @custom:signature   withdrawTreasury() public payable returns (uint256)
    function withdrawTreasury() public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0);
        require(store_h == 0x02, CustomError_3ee5aeb5());
        store_h = 0x02;
        require(!owedTreasury, "xfer");
        owedTreasury = 0;
        (bool success, bytes memory ret0) = address(treasury).transfer(owedTreasury);
        require(!ret0.length, "xfer");
        store_h = 0x01;
        return ;
        require(ret0.length > 0xffffffffffffffff, "nothing");
        require(((var_g + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) > 0xffffffffffffffff) | ((var_g + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) < var_g), "nothing");
    }
    
    /// @custom:selector    0xd111515d
    /// @custom:signature   freezeMetadata() public payable returns (uint256)
    function freezeMetadata() public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0);
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        frozen = (uint248(frozen)) | 0x01;
        return ;
    }
    
    /// @custom:selector    0x01ffc9a7
    /// @custom:signature   Unresolved_01ffc9a7(uint32 arg0) public pure returns (bool)
    /// @param              arg0 ["uint32", "bytes4", "int32"]
    function Unresolved_01ffc9a7(uint32 arg0) public pure returns (bool) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - (uint32(arg0)));
        require(!(uint32(arg0)) == 0x2a55205a00000000000000000000000000000000000000000000000000000000);
        return !(!(uint32(arg0)) == 0x2a55205a00000000000000000000000000000000000000000000000000000000);
        require(!(uint32(arg0)) == 0x80ac58cd00000000000000000000000000000000000000000000000000000000);
        require(!(uint32(arg0)) == 0x80ac58cd00000000000000000000000000000000000000000000000000000000);
        return !(!(uint32(arg0)) == 0x80ac58cd00000000000000000000000000000000000000000000000000000000);
        return !(!0x01ffc9a700000000000000000000000000000000000000000000000000000000 == (uint32(arg0)));
    }
    
    /// @custom:selector    0xe985e9c5
    /// @custom:signature   Unresolved_e985e9c5(address arg0, address arg1) public view returns (bool)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["address", "uint160", "bytes20", "int160"]
    function Unresolved_e985e9c5(address arg0, address arg1) public view returns (bool) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        require(arg0 - (address(arg0)));
        require(arg1 - (address(arg1)));
        var_a = address(arg1);
        return !(!bytes1(storage_map_a[var_a]));
    }
    
    /// @custom:selector    0xc87b56dd
    /// @custom:signature   Unresolved_c87b56dd(uint256 arg0) public view
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function Unresolved_c87b56dd(uint256 arg0) public view {
        require(msg.value);
        if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x20) {
            uint256 var_a = arg0;
            require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x20, CustomError_7e273289());
            require(!(address(storage_map_a[var_a])), CustomError_7e273289());
            require(!(arg0 < 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000), CustomError_7e273289());
            require(!((arg0 / 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000) < 0x04ee2d6d415b85acef8100000000), CustomError_7e273289());
            require(!(((arg0 / 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000) / 0x04ee2d6d415b85acef8100000000) < 0x2386f26fc10000), CustomError_7e273289());
            require(!((((arg0 / 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000) / 0x04ee2d6d415b85acef8100000000) / 0x2386f26fc10000) < 0x05f5e100), CustomError_7e273289());
            require(!(((((arg0 / 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000) / 0x04ee2d6d415b85acef8100000000) / 0x2386f26fc10000) / 0x05f5e100) < 0x2710), CustomError_7e273289());
            require(!((((((arg0 / 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000) / 0x04ee2d6d415b85acef8100000000) / 0x2386f26fc10000) / 0x05f5e100) / 0x2710) < 0x64), CustomError_7e273289());
            require(!(((((((arg0 / 0x184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000) / 0x04ee2d6d415b85acef8100000000) / 0x2386f26fc10000) / 0x05f5e100) / 0x2710) / 0x64) < 0x0a), CustomError_7e273289());
            require(0x80 > 0xffffffffffffffff, CustomError_7e273289());
            require(((var_d + 0xa0) > 0xffffffffffffffff) | ((var_d + 0xa0) < var_d), CustomError_7e273289());
        }
    }
    
    /// @custom:selector    0x29caa2f5
    /// @custom:signature   Unresolved_29caa2f5(uint256 arg0) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function Unresolved_29caa2f5(uint256 arg0) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - arg0);
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(!(!bytes1(mintClosed >> 0x08)), "closed");
        var_b = 0x20;
        require((alive - surfaced) > alive);
        require(!alive - surfaced);
        require(!alive - surfaced);
        mintClosed = (uint240(mintClosed)) | 0x0100;
        require(!address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).code.length);
        (bool success, bytes memory ret0) = address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).{ value: 0 ether }Unresolved_80d5fda5(var_b); // call
        return ;
        require(var_g > 0xffffffffffffffff, "empty vault: pass true to burn orphan seed");
        return ;
    }
    
    /// @custom:selector    0xa0712d68
    /// @custom:signature   mint(uint256 arg0) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function mint(uint256 arg0) public payable returns (uint256) {
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x20, CustomError_3ee5aeb5());
        require(store_h == 0x02, CustomError_3ee5aeb5());
        store_h = 0x02;
        require(!(bytes1(mintClosed)), "qty");
        require(arg0, "qty");
        require(!(!arg0 > 0x0a), "qty");
        require(!((((price * arg0) / price) == arg0) | !price), "price");
        require(!(msg.value == (price * arg0)), "price");
        require(owedTreasury > (owedTreasury + msg.value), "sold out");
        owedTreasury = owedTreasury + msg.value;
        require(0 < arg0, "sold out");
        require(!(nextId > 0xff), "sold out");
        require(!(!nextId > 0xff), "sold out");
        require(!(!nextId > 0xff), "sold out");
        require(nextId > (nextId + 0x01), "id");
        nextId = nextId + 0x01;
        require(!(nextId < 0x01), "id");
        require(!(!nextId > 0xff), "id");
        require(alive > (alive + 0x01));
        alive = alive + 0x01;
        require(!address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).code.length);
        var_b = nextId;
        (bool success, bytes memory ret0) = address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).{ value: 0 ether }Unresolved_478bccb2(var_b); // call
        require(((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g), CustomError_73c6ac6e());
        uint256 var_g = var_g + 0x20;
        require(!(address(msg.sender)), CustomError_73c6ac6e());
        var_e = nextId;
        require(address(storage_map_i[var_e]), CustomError_73c6ac6e());
        var_e = nextId;
        storage_map_i[var_e] = uint96(storage_map_i[var_e]);
        address var_e = address(storage_map_i[var_e]);
        storage_map_i[var_e] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + storage_map_i[var_e];
        require(address(msg.sender), CustomError_73c6ac6e());
        var_e = address(msg.sender);
        storage_map_i[var_e] = storage_map_i[var_e] + 0x01;
        var_e = nextId;
        storage_map_i[var_e] = (address(msg.sender)) | (uint96(storage_map_i[var_e]));
        emit Transfer(address(storage_map_i[var_e]), address(msg.sender), nextId);
        require(address(storage_map_i[var_e]), CustomError_73c6ac6e());
        require(address(msg.sender).code.length);
        var_c = address(msg.sender);
        uint256 var_d = 0;
        (bool success, bytes memory ret0) = address(msg.sender).{ value: var_d ether }Unresolved_150b7a02(var_c); // call
        require(!ret0.length);
        require(var_n);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(((var_g + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) > 0xffffffffffffffff) | ((var_g + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) < var_g), CustomError_64a0ae92());
        var_g = var_g + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f));
        require(var_g.length, CustomError_64a0ae92());
        require(0xeaf485fe00000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        require(0x20 > ret0.length);
        require(((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g));
        var_g = var_g + 0x20;
        require(((var_g + 0x20) - var_g) < 0x20);
        require(var_g.length - (uint32(var_g.length)));
        require(!ret0.length);
        require(var_n);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(uint32(var_g.length) - 0x150b7a0200000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        require(var_g > 0xffffffffffffffff, "id");
        require(!(!nextId < 0x01), "id");
        if (nextId == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {
            require(nextId == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, "qty");
        }
        store_h = 0x01;
        return ;
        require(!arg0, "qty");
    }
    
    /// @custom:selector    0xa22cb465
    /// @custom:signature   Unresolved_a22cb465(address arg0, uint256 arg1) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function Unresolved_a22cb465(address arg0, uint256 arg1) public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        require(arg0 - (address(arg0)));
        require(arg1 - arg1);
        require(!(address(arg0)), CustomError_5b08ba18());
        var_a = address(arg0);
        storage_map_a[var_a] = (bytes1(arg1)) | (uint248(storage_map_a[var_a]));
        emit Event_17307eab(msg.sender, address(arg0), arg1);
        return ;
    }
    
    /// @custom:selector    0x6352211e
    /// @custom:signature   Unresolved_6352211e(uint256 arg0) public view returns (address)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function Unresolved_6352211e(uint256 arg0) public view returns (address) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20, CustomError_7e273289());
        uint256 var_a = arg0;
        require(!(address(storage_map_a[var_a])), CustomError_7e273289());
        return address(storage_map_a[var_a]);
    }
    
    /// @custom:selector    0x06fdde03
    /// @custom:signature   Unresolved_06fdde03() public view returns (string memory)
    function Unresolved_06fdde03() public view returns (string memory) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0);
        if (!store_q) {
            if (((store_q >> 0x01) < 0x20) == (store_q)) {
                if (0 == (store_q)) {
                    if (0x01 == (store_q)) {
                        if (0 < (store_q >> 0x01)) {
                            if (((var_d + (uint248((((var_d + 0) + 0x20) - var_d) + 0x1f))) > 0xffffffffffffffff) | ((var_d + (uint248((((var_d + 0) + 0x20) - var_d) + 0x1f))) < var_d)) {
                                uint248 var_d = var_d + (uint248((((var_d + 0) + 0x20) - var_d) + 0x1f));
                                return abi.encodePacked(0x20, var_d.length);
                                if (((var_d + (uint248((0 - var_d) + 0x1f))) > 0xffffffffffffffff) | ((var_d + (uint248((0 - var_d) + 0x1f))) < var_d)) {
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    /// @custom:selector    0x246d59b1
    /// @custom:signature   Unresolved_246d59b1(uint256 arg0, uint256 arg1) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function Unresolved_246d59b1(uint256 arg0, uint256 arg1) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x40);
        require(arg1 - arg1);
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(!(!bytes1(mintClosed >> 0x08)), "closed");
        allowPrice = arg0;
        unresolved_2dddda16 = (bytes1(arg1)) | (uint248(unresolved_2dddda16));
        return ;
    }
    
    /// @custom:selector    0x95d89b41
    /// @custom:signature   Unresolved_95d89b41() public view returns (string memory)
    function Unresolved_95d89b41() public view returns (string memory) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0);
        if (!store_s) {
            if (((store_s >> 0x01) < 0x20) == (store_s)) {
                if (0 == (store_s)) {
                    if (0x01 == (store_s)) {
                        if (0 < (store_s >> 0x01)) {
                            if (((var_d + (uint248((((var_d + 0) + 0x20) - var_d) + 0x1f))) > 0xffffffffffffffff) | ((var_d + (uint248((((var_d + 0) + 0x20) - var_d) + 0x1f))) < var_d)) {
                                uint248 var_d = var_d + (uint248((((var_d + 0) + 0x20) - var_d) + 0x1f));
                                return abi.encodePacked(0x20, var_d.length);
                                if (((var_d + (uint248((0 - var_d) + 0x1f))) > 0xffffffffffffffff) | ((var_d + (uint248((0 - var_d) + 0x1f))) < var_d)) {
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    
    /// @custom:selector    0xb88d4fde
    /// @custom:signature   Unresolved_b88d4fde(address arg0, address arg1, uint256 arg2, uint256 arg3) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg2 ["uint256", "bytes32", "int256"]
    /// @param              arg3 ["uint256", "bytes32", "int256"]
    function Unresolved_b88d4fde(address arg0, address arg1, uint256 arg2, uint256 arg3) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x80);
        require(arg0 - (address(arg0)));
        require(arg1 - (address(arg1)));
        require(arg3 > 0xffffffffffffffff);
        require(!((arg3 + 0x23) < msg.data.length), CustomError_64283d7b());
        require(arg3  > 0xffffffffffffffff, CustomError_64283d7b());
        require(((var_c + (uint248((0x20 + (0x1f + (arg3 ))) + 0x1f))) > 0xffffffffffffffff) | ((var_c + (uint248((0x20 + (0x1f + (arg3 ))) + 0x1f))) < var_c), CustomError_64283d7b());
        uint256 var_c = var_c + (uint248((0x20 + (0x1f + (arg3 ))) + 0x1f));
        require(((arg3 + (arg3 )) + 0x24) > msg.data.length, CustomError_64283d7b());
        require(!(address(arg1)), CustomError_64283d7b());
        uint256 var_a = arg2;
        require(msg.sender, CustomError_64283d7b());
        require(msg.sender, CustomError_64283d7b());
        require(!(address(storage_map_a[var_a]) == msg.sender), CustomError_64283d7b());
        var_a = msg.sender;
        require(bytes1(storage_map_a[var_a]), CustomError_64283d7b());
        require(!(bytes1(storage_map_a[var_a])), CustomError_64283d7b());
        require(address(storage_map_a[var_a]), CustomError_64283d7b());
        var_a = arg2;
        storage_map_a[var_a] = uint96(storage_map_a[var_a]);
        var_a = address(storage_map_a[var_a]);
        storage_map_a[var_a] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + storage_map_a[var_a];
        var_a = address(arg1);
        storage_map_a[var_a] = 0x01 + storage_map_a[var_a];
        var_a = arg2;
        storage_map_a[var_a] = (address(arg1)) | (uint96(storage_map_a[var_a]));
        emit Transfer(address(storage_map_a[var_a]), address(arg1), arg2);
        require(address(storage_map_a[var_a]) - (address(arg0)), CustomError_64283d7b());
        require(address(arg1).code.length);
        return ;
        var_h = address(msg.sender);
        uint256 var_m = 0;
        (bool success, bytes memory ret0) = address(arg1).{ value: var_m ether }Unresolved_150b7a02(var_h); // call
        require(!ret0.length);
        require(var_n);
        require(0xeaf485fe00000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        return ;
        require(0x20 > ret0.length);
        require(((var_c + 0x20) > 0xffffffffffffffff) | ((var_c + 0x20) < var_c));
        var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000;
        var_c = var_c + 0x20;
        require(((var_c + 0x20) - var_c) < 0x20);
        require(var_c.length - (uint32(var_c.length)));
        require(!ret0.length);
        require(var_n);
        require(uint32(var_c.length) - 0x150b7a0200000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        return ;
        require(address(storage_map_a[var_a]), CustomError_177e802f());
        var_a = arg2;
        if (!(address(storage_map_a[var_a])) == msg.sender) {
        }
        if (address(storage_map_a[var_a]) == msg.sender) {
        }
    }
    
    /// @custom:selector    0x081812fc
    /// @custom:signature   Unresolved_081812fc(uint256 arg0) public view returns (address)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function Unresolved_081812fc(uint256 arg0) public view returns (address) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20, CustomError_7e273289());
        uint256 var_a = arg0;
        require(!(address(storage_map_a[var_a])), CustomError_7e273289());
        var_a = arg0;
        return address(storage_map_a[var_a]);
    }
    
    /// @custom:selector    0x79ba5097
    /// @custom:signature   acceptOwnership() public payable returns (uint256)
    function acceptOwnership() public payable returns (uint256) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0);
        require(address(pendingOwner) - msg.sender, CustomError_118cdaa7());
        pendingOwner = uint96(pendingOwner);
        owner = (uint96(owner)) | msg.sender;
        emit OwnershipTransferred(address(owner), msg.sender);
        return ;
    }
    
    /// @custom:selector    0xcac92669
    /// @custom:signature   setRoyalty(uint96 arg0) public payable returns (uint256)
    /// @param              arg0 ["uint96", "bytes12", "int96"]
    function setRoyalty(uint96 arg0) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - (uint96(arg0)));
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(uint96(arg0) > 0x03e8, "royalty>10%");
        require(uint96(arg0) > 0x2710, CustomError_6f483d09());
        require(!0x3415482869229c12ccf58c1a2c6e85720c97a85a, CustomError_b6d9900a());
        require(((var_e + 0x40) > 0xffffffffffffffff) | ((var_e + 0x40) < var_e));
        store_t = (uint96(arg0 << 0xa0)) | 0x3415482869229c12ccf58c1a2c6e85720c97a85a;
        return ;
    }
    
    /// @custom:selector    0x23b872dd
    /// @custom:signature   Unresolved_23b872dd(address arg0, address arg1, uint256 arg2) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg2 ["uint256", "bytes32", "int256"]
    function Unresolved_23b872dd(address arg0, address arg1, uint256 arg2) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x60);
        require(arg0 - (address(arg0)));
        require(arg1 - (address(arg1)));
        require(!(address(arg1)), CustomError_64283d7b());
        uint256 var_a = arg2;
        require(msg.sender, CustomError_64283d7b());
        require(msg.sender, CustomError_64283d7b());
        require(!(address(storage_map_a[var_a]) == msg.sender), CustomError_64283d7b());
        var_a = msg.sender;
        require(bytes1(storage_map_a[var_a]), CustomError_64283d7b());
        require(!(bytes1(storage_map_a[var_a])), CustomError_64283d7b());
        require(address(storage_map_a[var_a]), CustomError_64283d7b());
        var_a = arg2;
        storage_map_a[var_a] = uint96(storage_map_a[var_a]);
        var_a = address(storage_map_a[var_a]);
        storage_map_a[var_a] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + storage_map_a[var_a];
        var_a = address(arg1);
        storage_map_a[var_a] = 0x01 + storage_map_a[var_a];
        var_a = arg2;
        storage_map_a[var_a] = (address(arg1)) | (uint96(storage_map_a[var_a]));
        emit Transfer(address(storage_map_a[var_a]), address(arg1), arg2);
        require(address(storage_map_a[var_a]) - (address(arg0)), CustomError_64283d7b());
        return ;
        require(address(storage_map_a[var_a]), CustomError_177e802f());
        var_a = arg2;
        if (!(address(storage_map_a[var_a])) == msg.sender) {
        }
        if (address(storage_map_a[var_a]) == msg.sender) {
        }
    }
    
    /// @custom:selector    0x42842e0e
    /// @custom:signature   Unresolved_42842e0e(address arg0, address arg1, uint256 arg2) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg2 ["uint256", "bytes32", "int256"]
    function Unresolved_42842e0e(address arg0, address arg1, uint256 arg2) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x60);
        require(arg0 - (address(arg0)));
        require(arg1 - (address(arg1)));
        require(((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a), CustomError_64283d7b());
        uint256 var_a = var_a + 0x20;
        uint256 var_d = 0;
        require(!(address(arg1)), CustomError_64283d7b());
        uint256 var_b = arg2;
        require(msg.sender, CustomError_64283d7b());
        require(msg.sender, CustomError_64283d7b());
        require(!(address(storage_map_u[var_b]) == msg.sender), CustomError_64283d7b());
        var_b = msg.sender;
        require(bytes1(storage_map_u[var_b]), CustomError_64283d7b());
        require(!(bytes1(storage_map_u[var_b])), CustomError_64283d7b());
        require(address(storage_map_u[var_b]), CustomError_64283d7b());
        var_b = arg2;
        storage_map_u[var_b] = uint96(storage_map_u[var_b]);
        var_b = address(storage_map_u[var_b]);
        storage_map_u[var_b] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + storage_map_u[var_b];
        var_b = address(arg1);
        storage_map_u[var_b] = 0x01 + storage_map_u[var_b];
        var_b = arg2;
        storage_map_u[var_b] = (address(arg1)) | (uint96(storage_map_u[var_b]));
        emit Transfer(address(storage_map_u[var_b]), address(arg1), arg2);
        require(address(storage_map_u[var_b]) - (address(arg0)), CustomError_64283d7b());
        require(address(arg1).code.length);
        return ;
        var_g = address(msg.sender);
        (bool success, bytes memory ret0) = address(arg1).{ value: var_d ether }Unresolved_150b7a02(var_g); // call
        require(!ret0.length);
        require(var_m);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(((var_a + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) > 0xffffffffffffffff) | ((var_a + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) < var_a), CustomError_64a0ae92());
        var_a = var_a + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f));
        require(var_a.length, CustomError_64a0ae92());
        require(0xeaf485fe00000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        return ;
        require(0x20 > ret0.length);
        require(((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a));
        var_a = var_a + 0x20;
        require(((var_a + 0x20) - var_a) < 0x20);
        require(var_a.length - (uint32(var_a.length)));
        require(!ret0.length);
        require(var_m);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        var_b = 0x4e487b7100000000000000000000000000000000000000000000000000000000;
        require(uint32(var_a.length) - 0x150b7a0200000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        return ;
        require(address(storage_map_u[var_b]), CustomError_177e802f());
        var_b = arg2;
        if (!(address(storage_map_u[var_b])) == msg.sender) {
        }
        if (address(storage_map_u[var_b]) == msg.sender) {
        }
    }
    
    /// @custom:selector    0x53f9195e
    /// @custom:signature   reserved(uint256 arg0) public view returns (bool)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function reserved(uint256 arg0) public view returns (bool) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        uint256 var_a = arg0;
        return !(!bytes1(storage_map_a[var_a]));
    }
    
    /// @custom:selector    0x62338384
    /// @custom:signature   Unresolved_62338384(uint256 arg0, uint256 arg1) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function Unresolved_62338384(uint256 arg0, uint256 arg1) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x40);
        require(arg1 - arg1);
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(!(!bytes1(mintClosed >> 0x08)), "closed");
        price = arg0;
        mintClosed = (uint248(mintClosed)) | (bytes1(arg1));
        return ;
    }
    
    /// @custom:selector    0x2a55205a
    /// @custom:signature   royaltyInfo(uint256 arg0, uint256 arg1) public view returns (bytes memory)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    function royaltyInfo(uint256 arg0, uint256 arg1) public view returns (bytes memory) {
        require(msg.value);
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x40);
        uint256 var_a = arg0;
        require(!address(storage_map_a[var_a]));
        require(!(((arg1 * (uint96(storage_map_a[var_a] >> 0xa0))) / arg1) == (uint96(storage_map_a[var_a] >> 0xa0))) | !arg1);
        var_a = 0x4e487b7100000000000000000000000000000000000000000000000000000000;
        return abi.encodePacked(address(storage_map_a[var_a]), (arg1 * (uint96(storage_map_a[var_a] >> 0xa0))) / 0x2710);
    }
    
    /// @custom:selector    0x70a08231
    /// @custom:signature   Unresolved_70a08231(address arg0) public view returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    function Unresolved_70a08231(address arg0) public view returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - (address(arg0)));
        require(!(address(arg0)), CustomError_89c62b64());
        address var_a = address(arg0);
        return storage_map_a[var_a];
    }
    
    /// @custom:selector    0xf0f44260
    /// @custom:signature   setTreasury(address arg0) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    function setTreasury(address arg0) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - (address(arg0)));
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        require(!(address(arg0)), "0");
        treasury = (uint96(treasury)) | (address(arg0));
        return ;
    }
    
    /// @custom:selector    0xf2fde38b
    /// @custom:signature   transferOwnership(address arg0) public payable returns (uint256)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    function transferOwnership(address arg0) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - (address(arg0)));
        require(msg.sender - (address(owner)), CustomError_118cdaa7());
        pendingOwner = (address(arg0)) | (uint96(pendingOwner));
        emit OwnershipTransferStarted(address(owner), address(arg0));
        return ;
    }
    
    /// @custom:selector    0xff9a5b7e
    /// @custom:signature   allowance_(address arg0) public view returns (bool)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    function allowance_(address arg0) public view returns (bool) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20);
        require(arg0 - (address(arg0)));
        address var_a = address(arg0);
        return bytes1(storage_map_a[var_a]);
    }
    
    /// @custom:selector    0x7db77998
    /// @custom:signature   surface(uint256 arg0) public payable returns (uint256)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    function surface(uint256 arg0) public payable returns (uint256) {
        require(msg.value);
        require((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20, CustomError_3ee5aeb5());
        require(store_h == 0x02, CustomError_3ee5aeb5());
        store_h = 0x02;
        uint256 var_b = arg0;
        require(!(address(storage_map_u[var_b])), "not yours");
        require(address(storage_map_u[var_b]) - msg.sender, "not yours");
        var_b = arg0;
        require(address(storage_map_u[var_b]));
        var_b = arg0;
        storage_map_u[var_b] = uint96(storage_map_u[var_b]);
        var_b = address(storage_map_u[var_b]);
        storage_map_u[var_b] = storage_map_u[var_b] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
        var_b = arg0;
        storage_map_u[var_b] = uint96(storage_map_u[var_b]);
        emit Transfer(address(storage_map_u[var_b]), 0, arg0);
        require(!address(storage_map_u[var_b]));
        require(surfaced > (surfaced + 0x01));
        surfaced = surfaced + 0x01;
        require(!address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).code.length);
        uint256 var_d = arg0;
        (bool success, bytes memory ret0) = address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).{ value: 0 ether }Unresolved_8721e34a(var_d); // call
        emit Event_bf465190(arg0, msg.sender);
        store_h = 0x01;
        return ;
        require(var_h > 0xffffffffffffffff);
        require(0);
        emit Event_bf465190(arg0, msg.sender);
        store_h = 0x01;
        return ;
    }
    
    /// @custom:selector    0x1a440c62
    /// @custom:signature   mintAllow(uint8 arg0) public payable returns (uint256)
    /// @param              arg0 ["bool", "uint8", "bytes1", "int8"]
    function mintAllow(uint8 arg0) public payable returns (uint256) {
        require((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) < 0x20);
        require(arg0 - (bytes1(arg0)));
        require(store_h == 0x02, CustomError_3ee5aeb5());
        store_h = 0x02;
        require(!(bytes1(unresolved_2dddda16)), "quota");
        require(!(!bytes1(arg0)), "quota");
        address var_b = msg.sender;
        require(!(!(bytes1(storage_map_u[var_b])) < (bytes1(arg0))), "quota");
        require(!(((allowPrice * (bytes1(arg0))) / allowPrice) == (bytes1(arg0)) | !allowPrice), "price");
        require(!(msg.value == (allowPrice * (bytes1(arg0)))), "price");
        var_b = msg.sender;
        require(bytes1(storage_map_u[var_b]) - (bytes1(arg0)) > 0xff, "sold out");
        var_b = 0x4e487b7100000000000000000000000000000000000000000000000000000000;
        storage_map_u[var_b] = (uint248(storage_map_u[var_b])) | (bytes1(storage_map_u[var_b] - (arg0)));
        require(owedTreasury > (owedTreasury + msg.value), "sold out");
        owedTreasury = owedTreasury + msg.value;
        require(0 < (bytes1(arg0)), "sold out");
        require(!(nextId > 0xff), "sold out");
        require(!(!nextId > 0xff), "sold out");
        require(!(!nextId > 0xff), "sold out");
        require(nextId > (nextId + 0x01), "id");
        nextId = nextId + 0x01;
        require(!(nextId < 0x01), "id");
        require(!(!nextId > 0xff), "id");
        require(alive > (alive + 0x01));
        alive = alive + 0x01;
        require(!address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).code.length);
        var_d = nextId;
        (bool success, bytes memory ret0) = address(0x3415482869229c12ccf58c1a2c6e85720c97a85a).{ value: 0 ether }Unresolved_478bccb2(var_d); // call
        require(((var_h + 0x20) > 0xffffffffffffffff) | ((var_h + 0x20) < var_h), CustomError_73c6ac6e());
        uint256 var_h = var_h + 0x20;
        require(!(address(msg.sender)), CustomError_73c6ac6e());
        var_b = nextId;
        require(address(storage_map_u[var_b]), CustomError_73c6ac6e());
        var_b = nextId;
        storage_map_u[var_b] = uint96(storage_map_u[var_b]);
        var_b = address(storage_map_u[var_b]);
        storage_map_u[var_b] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + storage_map_u[var_b];
        require(address(msg.sender), CustomError_73c6ac6e());
        var_b = address(msg.sender);
        storage_map_u[var_b] = storage_map_u[var_b] + 0x01;
        var_b = nextId;
        storage_map_u[var_b] = (address(msg.sender)) | (uint96(storage_map_u[var_b]));
        emit Transfer(address(storage_map_u[var_b]), address(msg.sender), nextId);
        require(address(storage_map_u[var_b]), CustomError_73c6ac6e());
        require(address(msg.sender).code.length);
        var_e = address(msg.sender);
        uint256 var_f = 0;
        (bool success, bytes memory ret0) = address(msg.sender).{ value: var_f ether }Unresolved_150b7a02(var_e); // call
        require(!ret0.length);
        require(var_n);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(((var_h + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) > 0xffffffffffffffff) | ((var_h + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f))) < var_h), CustomError_64a0ae92());
        var_h = var_h + (uint248((0x20 + (0x1f + ret0.length)) + 0x1f));
        require(var_h.length, CustomError_64a0ae92());
        require(0xeaf485fe00000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        require(0x20 > ret0.length);
        require(((var_h + 0x20) > 0xffffffffffffffff) | ((var_h + 0x20) < var_h));
        var_h = var_h + 0x20;
        require(((var_h + 0x20) - var_h) < 0x20);
        require(var_h.length - (uint32(var_h.length)));
        require(!ret0.length);
        require(var_n);
        require(ret0.length > 0xffffffffffffffff, CustomError_64a0ae92());
        require(uint32(var_h.length) - 0x150b7a0200000000000000000000000000000000000000000000000000000000, CustomError_64a0ae92());
        require(var_h > 0xffffffffffffffff, "id");
        require(!(!nextId < 0x01), "id");
        if (nextId == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {
            require(nextId == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, "quota");
        }
        store_h = 0x01;
        return ;
        require(!(bytes1(arg0)), "quota");
    }
}

ABI

[
  {
    "type": "function",
    "name": "MAX",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "Unresolved_01ffc9a7",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint32"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "Unresolved_06fdde03",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_081812fc",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_095ea7b3",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_23b872dd",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "address"
      },
      {
        "name": "arg2",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_246d59b1",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_29caa2f5",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_2dddda16",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_42842e0e",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "address"
      },
      {
        "name": "arg2",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_55f804b3",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint0"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_62338384",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_6352211e",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_70a08231",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_7b12afab",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_95d89b41",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "string"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_a22cb465",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_b88d4fde",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "address"
      },
      {
        "name": "arg2",
        "type": "uint256"
      },
      {
        "name": "arg3",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_c87b56dd",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "Unresolved_e985e9c5",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "acceptOwnership",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "alive",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "allowPrice",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "allowance_",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "bag",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "freezeMetadata",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "frozen",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "mint",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "mintAllow",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint8"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "mintClosed",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "mintOpen",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "mintReserved",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "minted",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "nextId",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "owedTreasury",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "owner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "pendingOwner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "price",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "renounceOwnership",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "reserved",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "royaltyInfo",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "setAllowlist",
    "inputs": [
      {
        "name": "arg0",
        "type": "address[]"
      },
      {
        "name": "arg1",
        "type": "uint8"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "setRoyalty",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint96"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "setTreasury",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "surface",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "surfaced",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "transferOwnership",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "treasury",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "vault",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "withdrawTreasury",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "event",
    "name": "Event_17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31",
    "inputs": [],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Event_8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
    "inputs": [],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Event_bf4651902aafaf60c861c297c0d3cf34a2c61e1cb3bc7e1bf96c65d8af27475c",
    "inputs": [],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Minted",
    "inputs": [
      {
        "name": "arg0",
        "type": "address",
        "indexed": false
      },
      {
        "name": "arg1",
        "type": "uint256",
        "indexed": false
      },
      {
        "name": "arg2",
        "type": "bool",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "OwnershipTransferStarted",
    "inputs": [
      {
        "name": "arg0",
        "type": "address",
        "indexed": false
      },
      {
        "name": "arg1",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "OwnershipTransferred",
    "inputs": [
      {
        "name": "arg0",
        "type": "address",
        "indexed": false
      },
      {
        "name": "arg1",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "event",
    "name": "Transfer",
    "inputs": [
      {
        "name": "arg0",
        "type": "address",
        "indexed": false
      },
      {
        "name": "arg1",
        "type": "address",
        "indexed": false
      },
      {
        "name": "arg2",
        "type": "uint256",
        "indexed": false
      }
    ],
    "anonymous": false
  },
  {
    "type": "error",
    "name": "ERC2981InvalidDefaultRoyalty",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC2981InvalidDefaultRoyaltyReceiver",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721IncorrectOwner",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      },
      {
        "name": "arg2",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721InsufficientApproval",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721InvalidApprover",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721InvalidOperator",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721InvalidOwner",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721InvalidReceiver",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721InvalidSender",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ERC721NonexistentToken",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      }
    ]
  },
  {
    "type": "error",
    "name": "OwnableUnauthorizedAccount",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ]
  },
  {
    "type": "error",
    "name": "ReentrancyGuardReentrantCall",
    "inputs": []
  }
]

UNKNOWN SELECTORS (26)

0x0a85bd01unknown
0x5b5e139funknown
0x6f483d09unknown
0x3c3332b9unknown
0x4390f1a5unknown
0xee8bd0dbunknown
0x7db77998unknown
0x0b611743unknown
0x079157faunknown
0x23c5e659unknown
0x32505749unknown
0x7b12afabunknown
0xb71d9ad0unknown
0x80ac58cdunknown
0x246d59b1unknown
0x39e35637unknown
0x22718ad9unknown
0xff9a5b7eunknown
0x5b6cc805unknown
0x05f5e100unknown
0x29caa2f5unknown
0x6fd28651unknown
0x80d5fda5unknown
0x53f9195eunknown
0x2dddda16unknown
0x152a902dunknown
These selectors are not yet in the research database — they are being investigated and will be added as known functions once identified. They are also marked in red in the decompiled Solidity above.

KNOWN CLUSTER ADDRESSES IN THIS BYTECODE (0)

(none)