0x5fb1d86a48251f6163af5e9cc68a501e11ac3e58

deployer: unknown relevance score: 20 status: partially_identified bytecode: 3483 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 unresolved_f02bf6c9;
    
    event ContractDeployed(address, bytes32, address);
    
    /// @custom:selector    0xb61d27f6
    /// @custom:signature   Unresolved_b61d27f6(address arg0, uint256 arg1, uint256 arg2) public payable returns (bytes memory)
    /// @param              arg0 ["address", "uint160", "bytes20", "int160"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    /// @param              arg2 ["uint256", "bytes32", "int256"]
    function Unresolved_b61d27f6(address arg0, uint256 arg1, uint256 arg2) public payable returns (bytes memory) {
        require(arg0 == (address(arg0)));
        require(arg1 == arg1);
        require(!arg2 > 0xffffffffffffffff);
        require(!(arg2) > 0xffffffffffffffff);
        require(address(tx.origin) == 0x98c89980d1eae247ada3636ae27648f78e66e121, "External call failed");
        (bool success, bytes memory ret0) = address(arg0).transfer(arg1);
        require(ret0.length == 0, "External call failed");
        return abi.encodePacked((var_d + 0x20) - var_d, var_h);
        uint256 var_d = var_d + (uint248(ret0.length + 0x3f));
        return abi.encodePacked((var_d + 0x20) - var_d, var_d.length);
    }
    
    /// @custom:selector    0xc7aeef0f
    /// @custom:signature   Unresolved_c7aeef0f(uint256 arg0, uint256 arg1, uint256 arg2) public payable returns (address)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["uint256", "bytes32", "int256"]
    /// @param              arg2 ["uint256", "bytes32", "int256"]
    function Unresolved_c7aeef0f(uint256 arg0, uint256 arg1, uint256 arg2) public payable returns (address) {
        require(arg0 == arg0);
        require(!arg1 > 0xffffffffffffffff);
        require(!(arg1) > 0xffffffffffffffff);
        require(arg2 == arg2);
        var_a = 0x40 + var_a;
        var_a = (((0x20 + var_a) + var_a.length) + 0x14) + var_a.length;
        require(address(keccak256(var_m) >> 0).code.length == 0, "fail to create2 contract");
        require(arg2 > 0, "fail to create2 contract");
        unresolved_f02bf6c9 = arg2;
        require(!(0 < arg2), "fail to create2 contract");
        require(address(this).balance > 0x01, "fail to create2 contract");
        require(!((address(this).balance - 0x01) > address(this).balance), "fail to create2 contract");
        var_a = 0x40 + var_a;
        var_a = (((0x20 + var_a) + var_a.length) + 0x14) + var_a.length;
        assembly { addr := create(address(this).balance - 0x01, var_a + 0x20, var_a.length, arg0) }
        require(!(address(245) == (address(keccak256(var_m) >> 0))), "fail to create2 contract");
        require(!(address(245) == 0), "fail to create2 contract");
        emit ContractDeployed(address(msg.sender), arg0, address(245));
        return address(245);
        require(address(245) == (address(keccak256(var_m) >> 0)), "fail to create2 contract");
        emit ContractDeployed(address(msg.sender), arg0, address(245));
        return address(245);
    }
    
    /// @custom:selector    0x93757745
    /// @custom:signature   deployAddress(bytes32 arg0, address arg1) public pure returns (address)
    /// @param              arg0 ["uint256", "bytes32", "int256"]
    /// @param              arg1 ["address", "uint160", "bytes20", "int160"]
    function deployAddress(bytes32 arg0, address arg1) public pure returns (address) {
        require(arg0 == arg0);
        require(arg1 == (address(arg1)));
        var_a = 0x40 + var_a;
        var_a = (((0x20 + var_a) + var_a.length) + 0x14) + var_a.length;
        return address(keccak256(var_m) >> 0);
    }
}

ABI

[
  {
    "type": "function",
    "name": "Unresolved_b61d27f6",
    "inputs": [
      {
        "name": "arg0",
        "type": "address"
      },
      {
        "name": "arg1",
        "type": "uint256"
      },
      {
        "name": "arg2",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "bytes"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_c7aeef0f",
    "inputs": [
      {
        "name": "arg0",
        "type": "uint256"
      },
      {
        "name": "arg1",
        "type": "uint256"
      },
      {
        "name": "arg2",
        "type": "uint256"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "payable"
  },
  {
    "type": "function",
    "name": "Unresolved_f02bf6c9",
    "inputs": [],
    "outputs": [
      {
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view"
  },
  {
    "type": "function",
    "name": "deployAddress",
    "inputs": [
      {
        "name": "arg0",
        "type": "bytes32"
      },
      {
        "name": "arg1",
        "type": "address"
      }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "pure"
  },
  {
    "type": "event",
    "name": "ContractDeployed",
    "inputs": [
      {
        "name": "arg0",
        "type": "address",
        "indexed": false
      },
      {
        "name": "arg1",
        "type": "bytes32",
        "indexed": false
      },
      {
        "name": "arg2",
        "type": "address",
        "indexed": false
      }
    ],
    "anonymous": false
  }
]

UNKNOWN SELECTORS (1)

0xf02bf6c9unknown

KNOWN CLUSTER ADDRESSES IN THIS BYTECODE (1)

0x98c89980d1eae247ada3636ae27648f78e66e121 (Pioneer_E121)