0x1b2e925399e51c65bca72a46ea8c37bd10cbc816

deployer: unknown relevance score: 20 status: partially_identified bytecode: 2626 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 owner = 872240118219848495597058231834296814826443694369;
    
    
    /// @custom:selector    0x50431ce4
    /// @custom:signature   withdrawNative() public
    function withdrawNative() public {
        require(address(msg.sender) == 0x98c89980d1eae247ada3636ae27648f78e66e121);
        require(!address(this).balance > 0);
        (bool success, bytes memory ret0) = address(0x98c89980d1eae247ada3636ae27648f78e66e121).transfer(address(this).balance);
    }
    
    /// @custom:selector    0x89476069
    /// @custom:signature   withdrawToken(address arg0) public
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    function withdrawToken(address arg0) public {
        require(arg0 == (address(arg0)));
        require(address(msg.sender) == 0x98c89980d1eae247ada3636ae27648f78e66e121);
        address var_b = address(this);
        (bool success, bytes memory ret0) = address(arg0).Unresolved_70a08231(var_b); // staticcall
        uint256 var_c = var_c + (uint248(ret0.length + 0x1f));
        require(!((var_c + ret0.length) - var_c) < 0x20);
        require(var_d == (var_d));
        require(!(var_d) > 0);
        var_f = 0x98c89980d1eae247ada3636ae27648f78e66e121;
        (bool success, bytes memory ret0) = address(arg0).Unresolved_a9059cbb(var_f); // call
        var_c = var_c + (uint248(ret0.length + 0x1f));
        require(!((var_c + ret0.length) - var_c) < 0x20);
        require(var_d == (var_d));
    }
    
    /// @custom:selector    0x7d2bf68a
    /// @custom:signature   Unresolved_7d2bf68a(address arg0) public pure
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    function Unresolved_7d2bf68a(address arg0) public pure {
        require(arg0 == (address(arg0)));
    }
}

ABI

[
  {
    "type": "function",
    "name": "Unresolved_7d2bf68a",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "owner",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "function",
    "name": "withdrawNative",
    "inputs": [],
    "outputs": [],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "withdrawToken",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      }
    ],
    "outputs": [],
    "stateMutability": "nonpayable"
  }
]

UNKNOWN SELECTORS (1)

0x7d2bf68aunknown
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 (1)

0x98c89980d1eae247ada3636ae27648f78e66e121 (Pioneer_E121)