0xecb456ea5365865ebab8a2661b0c503410e9b347

deployer: unknown relevance score: 0 status: partially_identified bytecode: 7669 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 store_b;
    uint256 store_d;
    uint256 store_a;
    uint256 store_c;
    uint256 store_e;
    uint256 store_f;
    bytes32 store_g;
    mapping(bytes32 => bytes32) storage_map_h;
    bytes32 store_i;
    uint256 store_j;
    
    event CommitAdmins(address, address, address);
    event ApplyAdmins(address, address, address);
    event AddBurner(address);
    fallback() external payable {
        require(!var_b == 0x8cb16c8a);
        require(!arg0 >> 0xa0);
        require(!arg1 >> 0xa0);
        require(!arg2 >> 0xa0);
        require(!(!msg.sender == store_a), "Access denied");
        store_b = arg0;
        store_c = arg1;
        store_d = arg2;
        emit CommitAdmins(arg0, arg1, arg2);
        require(!var_b == 0x61893921);
        require(!(!msg.sender == store_a), "Access denied");
        var_c = store_b;
        var_d = store_c;
        var_e = store_d;
        store_a = var_c;
        store_e = var_d;
        store_f = var_e;
        uint256 var_h = var_e;
        emit ApplyAdmins(var_c, var_d, var_e);
        require(!0);
        require(!var_b == 0x1198c785);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!arg1 >> 0xa0);
        require(!(!msg.sender == store_a), "Access denied");
        var_c = var_c;
        var_d = var_d;
        var_j = 0x07;
        var_f = storage_map_h[var_j];
        require(!var_c ^ 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee);
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        var_g = var_d;
        emit AddBurner(var_d);
        require(!var_f ^ 0);
        var_k = 0x04;
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }Unresolved_095ea7b3(var_m); // call
        uint256 var_o = 0;
        (bool success, bytes memory ret0) = address(0x04).{ value: var_o ether }adfepixw(); // call
        (bool success, bytes memory ret0) = address(var_c).transfer(0);
        require(!0x20 > ret0.length);
        (bool success, bytes memory ret0) = address(0x04).{ value: var_o ether }adfepixw(); // call
        require(!var_g ^ 0);
        require(!var_g > 0x20);
        require(!var_g < 0);
        require(var_h / (0x0100 ** (0x20 - var_g)));
        require(!var_d ^ 0);
        var_k = 0x04;
        (bool success, bytes memory ret0) = address(0x04).{ value: var_o ether }Unresolved_095ea7b3(var_m); // call
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        (bool success, bytes memory ret0) = address(var_c).transfer(0);
        require(!0x20 > ret0.length);
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        require(!var_g ^ 0);
        require(!var_g > 0x20);
        require(!var_g < 0);
        require(var_h / (0x0100 ** (0x20 - var_g)));
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        emit AddBurner(var_d);
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        emit AddBurner(var_d);
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        emit AddBurner(var_d);
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        require(!var_b == 0x0ab74d6f);
        require(!store_g);
        store_g = 0x01;
        uint256 var_r = 0;
        require(!(var_r) >> 0xa0);
        var_r = var_r + 0x20;
        require(!var_r < 0x0280);
        var_r = 0;
        require(!(msg.data[0x0284 + var_r]) >> 0xa0);
        var_r = var_r + 0x20;
        require(!(var_r < 0x0280), "Access denied");
        require(!(!msg.sender == store_a), "Access denied");
        var_c = 0;
        require(var_c < 0x14);
        var_d = ((0x20 * var_c) );
        require(var_d);
        require(var_c < 0x14);
        var_f = msg.data[(0x20 * var_c) + 0x0284];
        var_e = 88 + 0x06;
        var_c = var_e;
        var_d = var_f;
        var_j = 0x07;
        var_f = storage_map_h[var_j];
        require(!var_c ^ 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee);
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        var_g = var_d;
        emit AddBurner(var_d);
        require(!var_f ^ 0);
        var_k = 0x04;
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }Unresolved_095ea7b3(var_m); // call
        var_o = 0;
        (bool success, bytes memory ret0) = address(0x04).{ value: var_o ether }adfepixw(); // call
        (bool success, bytes memory ret0) = address(var_c).transfer(0);
        require(!0x20 > ret0.length);
        (bool success, bytes memory ret0) = address(0x04).{ value: var_o ether }adfepixw(); // call
        require(!var_g ^ 0);
        require(!var_g > 0x20);
        require(!var_g < 0);
        require(var_h / (0x0100 ** (0x20 - var_g)));
        require(!var_d ^ 0);
        var_k = 0x04;
        (bool success, bytes memory ret0) = address(0x04).{ value: var_o ether }Unresolved_095ea7b3(var_m); // call
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        (bool success, bytes memory ret0) = address(var_c).transfer(0);
        require(!0x20 > ret0.length);
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        require(!var_g ^ 0);
        require(!var_g > 0x20);
        require(!var_g < 0);
        require(var_h / (0x0100 ** (0x20 - var_g)));
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        emit AddBurner(var_d);
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        emit AddBurner(var_d);
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        var_j = 0x07;
        storage_map_h[var_j] = var_d;
        emit AddBurner(var_d);
        var_q = ret0.length;
        (bool success, bytes memory ret0) = address(0x04).{ value: 0 ether }adfepixw(); // call
        store_g = 0;
        require(!var_b == 0xe4e67c0f);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xd7f649fd);
        require(!store_g);
        store_g = 0x01;
        var_r = 0;
        require(!(var_r) >> 0xa0);
        var_r = var_r + 0x20;
        require(!var_r < 0x0280);
        var_d = 0;
        var_c = (var_d * 0x20);
        require(var_c);
        require(address(var_c).code.length);
        (bool success, bytes memory ret0) = address(var_c).transfer(0);
        var_d = store_g + var_d;
        require(!0x14 == (0x01 + var_d));
        store_g = 0;
        store_g = 0;
        require(!var_b == 0x89afcb44);
        require(!store_i);
        store_i = 0x01;
        require(!arg0 >> 0xa0);
        require(tx.origin == msg.sender);
        require(!store_j);
        require(!arg0 == 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee);
        var_c = address(this).balance;
        var_j = 0x07;
        (bool success, bytes memory ret0) = address(storage_map_h[var_j]).transfer(var_c);
        require(ret0.length > 0x1f);
        store_i = 0;
        require(!var_b == 0x910a8aec);
        require(!store_i);
        store_i = 0x01;
        var_r = 0;
        require(!(var_r) >> 0xa0);
        var_r = var_r + 0x20;
        require(!var_r < 0x0280);
        require(tx.origin == msg.sender);
        require(!store_j);
        var_d = 0;
        var_c = (var_d * 0x20);
        require(var_c);
        require(!var_c == 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee);
        var_e = address(this).balance;
        var_j = 0x07;
        (bool success, bytes memory ret0) = address(storage_map_h[var_j]).transfer(var_e);
        require(ret0.length > 0x1f);
        var_d = store_i + var_d;
        require(!0x14 == (0x01 + var_d));
        store_i = 0;
        store_i = 0;
        require(!var_b == 0xb01f275f);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!(!msg.sender == store_f), "Access denied");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0x1cfbc236);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!(msg.sender == store_f), "Access denied");
        require(!(!msg.sender == store_a), "Access denied");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xf132f2a5);
        require(!arg0 >> 0x01);
        require(!(msg.sender == store_f), "Access denied");
        require(!(!msg.sender == store_a), "Access denied");
        store_j = arg0;
        require(!var_b == 0x3ea1c6f4);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!arg1 >> 0xa0);
        require(!(!msg.sender == store_a), "Access denied");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0x5f608d1e);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xa8f22cf1);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xa352c2eb);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        var_c = 0;
        require(!msg.sender == (var_s));
        var_r = store_g + var_r;
        require(!0x02 == (0x01 + var_r));
        require(0x01 == var_c);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        var_c = 0x01;
        require(!(!0x01 == var_c), "Access denied");
        var_h = 0x0d;
        require(!var_b == 0x6f331ff3);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!(!msg.sender == store_e), "Access denied");
        var_j = 0x06;
        storage_map_h[var_j] = arg4;
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xcf56a4d8);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(msg.sender == tx.origin);
        var_j = 0x06;
        var_c = storage_map_h[var_j];
        require(!var_c > 0);
        (bool success, bytes memory ret0) = address(0x22d53366457f9d5e68ec105046fc4383).Unresolved_(var_u); // staticcall
        require(ret0.length > 0x1f);
        var_d = var_h;
        (bool success, bytes memory ret0) = address(var_d).Unresolved_(var_w); // staticcall
        require(ret0.length > 0xff);
        (bool success, bytes memory ret0) = address(var_d).Unresolved_(var_af); // staticcall
        require(ret0.length > 0xff);
        uint256 var_ao = 0;
        require(var_ao < 0x08);
        var_ap = var_aq;
        require(var_ap);
        require(var_ao < 0x08);
        require(!0x12 < (var_ar));
        require((0x12 - (var_ar)) < 0x4e);
        require(var_ao < 0x08);
        require(!0x12 < (var_ar));
        require(((var_ap * (0x0a ** (0x12 - (var_ar)))) / var_ap) == (0x0a ** (0x12 - (var_ar))) | !var_ap);
        uint256 var_ap = var_ap * (0x0a ** (0x12 - (var_ar)));
        require(var_ao < 0x08);
        require(!(var_am + var_ap) < var_am);
        uint256 var_am = var_am + var_ap;
        var_ao = store_g + var_ao;
        require(!0x08 == (0x01 + var_ao));
        require((((var_an * 0x0de0b6b3a7640000) / var_an) == 0x0de0b6b3a7640000) | !var_an);
        var_ao = var_an * 0x0de0b6b3a7640000;
        var_ap = 0;
        require(var_ap < 0x08);
        var_as = var_at;
        require(var_as);
        require((((var_ao * var_as) / var_ao) == var_as) | !var_ao);
        require(var_am, "Unsafe to apply");
        var_ao = (var_ao * var_as) / var_am;
        var_ap = store_g + var_ap;
        require(!(0x08 == (0x01 + var_ap)), "Unsafe to apply");
        require(!(var_ao < var_c), "Unsafe to apply");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0x5082b389);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        var_c = 0;
        require(!msg.sender == (var_s));
        var_r = store_g + var_r;
        require(!0x03 == (0x01 + var_r));
        require(0x01 == var_c);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        var_c = 0x01;
        require(!(!0x01 == var_c), "Access denied");
        require(!var_b == 0xcfca0bdb);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!(!msg.sender == store_e), "Access denied");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xe8d64d6c);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0x9d4a4380);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!(!msg.sender == store_e), "Access denied");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0x53f79b2b);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        var_c = 0;
        require(!msg.sender == (var_s));
        var_r = store_g + var_r;
        require(!0x02 == (0x01 + var_r));
        require(0x01 == var_c);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        var_c = 0x01;
        require(!(!0x01 == var_c), "Access denied");
        require(!var_b == 0xdda3c543);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!(!msg.sender == store_a), "Access denied");
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0xf7709539);
        require(!arg0 >> 0xa0);
        require(!arg1 >> 0xa0);
        require(!arg2 >> 0x01);
        require(!(!msg.sender == store_a), "Access denied");
        var_j = keccak256(var_j);
        storage_map_h[var_j] = arg2;
        require(!var_b == 0xdb0a8406);
        require(!store_g);
        store_g = 0x01;
        require(!arg0 >> 0xa0);
        require(!msg.sender ^ store_a);
        var_j = keccak256(var_j);
        require(storage_map_h[var_j]);
        require(address(arg0).code.length);
        (bool success, bytes memory ret0) = address(arg0).transfer(0);
        store_g = 0;
        require(!var_b == 0x47c8715f);
        var_b = store_a;
        return store_a;
        require(!var_b == 0xa5b0b7e9);
        var_b = store_e;
        return store_e;
        require(!var_b == 0x680c7783);
        var_b = store_f;
        return store_f;
        require(!var_b == 0x3c2fcbf4);
        var_b = store_b;
        return store_b;
        require(!var_b == 0x824b5085);
        var_b = store_c;
        return store_c;
        require(!var_b == 0x5866507a);
        var_b = store_d;
        return store_d;
        require(!var_b == 0xdd165f91);
        require(!arg0 >> 0xa0);
        var_j = 0x06;
        var_b = storage_map_h[var_j];
        return storage_map_h[var_j];
        require(!var_b == 0x03d41e0e);
        require(!arg0 >> 0xa0);
        var_j = 0x07;
        var_b = storage_map_h[var_j];
        return storage_map_h[var_j];
        require(!var_b == 0x49dd3788);
        var_b = store_j;
        return store_j;
        require(!var_b == 0x87dcefb7);
        require(!arg0 >> 0xa0);
        require(!arg1 >> 0xa0);
        var_j = keccak256(var_j);
        return storage_map_h[var_j];
    }
    
}

ABI

[]

UNKNOWN SELECTORS (24)

0xf132f2a5unknown
0x910a8aecunknown
0x53f79b2bunknown
0xf7709539unknown
0x824b5085unknown
0xdd165f91unknown
0x1198c785unknown
0x0ab74d6funknown
0xd7f649fdunknown
0xdda3c543unknown
0x49dd3788unknown
0xdb0a8406unknown
0x6f331ff3unknown
0xa352c2ebunknown
0xb01f275funknown
0xa5b0b7e9unknown
0x1cfbc236unknown
0x87dcefb7unknown
0x9d4a4380unknown
0x01000000unknown
0x5f608d1eunknown
0x5082b389unknown
0xe4e67c0funknown
0xcfca0bdbunknown
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)