Ethereum
0x975f5b9c13fa3088c0be9b305f5cc0e92e54a0f5
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0x975f5b9c…2e54a0f54.6 KB49.7 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x975f5b9c13fa3088c0be9b305f5cc0e92e54a0f5
354 lines · Click a variable or keyword to highlight its references · Click a line number to copy its link; Shift-click to copy a block link
//decompiled by exvvul decompiler tool contact@exvul.com https://x.com/exvulsec// Decompilation incomplete: symbolic execution reached a configured deadline for 1 of 11 entry points (170000 ms contract budget): fallback// SPDX-License-Identifier: MIT >=0.8.0; { ; // STORAGE[0x646ce8048c3626bbbf5c2c647f51b237237cec25cfed45e79d4914601933bf31] ; // STORAGE[0xa5a2208abe0c5f4ba3d9a1a8257f99a7a123333d5d7deaa908e85dd3c5dd4525] [] ; // STORAGE[0xd90f15b2999653a565bb43347e20e8f705982e5466eb55a88528398f299d0c68] ; ; ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { (. == ); ; } () { } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x0eecf949)) { // Route to Unknown_0eecf949(address) after replacing only msg.sig. ((0x52e8c97a)); ; } ((.. >= 4) && (. == 0x15383154)) { // Route to Unknown_15383154(bytes,bytes,uint256) after replacing only msg.sig. ((0xebd9c142)); ; } ((.. >= 4) && (. == 0x385b517f)) { // Route to Unknown_385b517f(bytes) after replacing only msg.sig. ((0xb9dc40f7)); ; } ((.. >= 4) && (. == 0x6c898447)) { // Route to Unknown_6c898447(uint256) after replacing only msg.sig. ((0xd5465759)); ; } ((.. >= 4) && (. == 0xb0e6892a)) { // Route to Unknown_b0e6892a(bytes,uint256) after replacing only msg.sig. ((0xceea9770)); ; } ((.. >= 4) && (. == 0xf8eda687)) { // Route to Unknown_f8eda687() after replacing only msg.sig. ((0x774c3e11)); ; } } () ( ) { = 0; = 0x805af178237f59accad94e1a7d58b8056894d12216da697d92ee72cda3efd7ac; ; = + 0x20; () { ( >= .) { ; } = 0x01 + ; = 0x01 + ; = + 0x20; } ((( + ((( - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((( - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = 0; = + 0x20; = + 0x40; () { = + ((( - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ( >= .) { ; } = 0x01 + ; = + 0x20; = 0x20 + ; } .(0x20, .); } ( ) { = ; } ( , ) { (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (. == ); (. == ); = 0; () { (!(( < .))) (50); (.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1)); ((.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])]) != (.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])])) { (); ; } (!(( < .))) (50); (.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1)); (!(( < .))) (50); (.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1)); (!(.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40] < ((.. - (((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)]))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1))) { (); ; } (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40])] > 0xffffffffffffffff) { (); ; } ((0x20 + (((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)]) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40]))) > (.. - (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40])]))) { (); ; } ( , ) = (.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])]).{ : .[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x20] }(""); // call ((.) != 0x0) { (!(. <= 0xffffffffffffffff)) (65); ; ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); } (!) { (); ; } = 0x01 + ; } } ( ) { = 0; = 0; ( != (. + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) { (!((. + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < .)) (50); (!( < .)) (50); [] = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []) | (( >> 0) & (0xffffffffffffffffffffffffffffffffffffffff) & (0xffffffffffffffffffffffffffffffffffffffff) << 0); } { = ; = . + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } (!(. != 0x0)) (49); (!((. + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < .)) (50); = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & ; . = . + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } ( ) { (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (. == ); () { (. == 0) { ; } (. == 0) { (49); ; } (!((. + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) < .)) { (50); ; } = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000) & ; . = . + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } = 0; () { (!( < .)) { ; } ((( + 0x20) + ( << 0x05)) != (( + 0x20) + ( << 0x05))) { (); ; } (!(. < 0x010000000000000000)) { (65); ; } . = . + 0x01; (!(. < .)) { (50); ; } [.] = (( + 0x20) + ( << 0x05) & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & [.]); = + 0x01; } } ( , , ) { (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (((0x04 + ) + 0x1f) < ..); (!(((. << 0x05) + (0x04 + ) + 0x20) > ..)); (. == ); = 0; () { ( >= .) { ; } ( >= .) { (50); ; } (!(.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1))) { (); ; } ((.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])] & 0xffffffffffffffffffffffffffffffffffffffff) == .[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])]); (!(( < .))) (50); (.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1)); ( >= .) { (50); ; } (!(.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1))) { (); ; } (!(.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40] < ((.. - (((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)]))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1))) { (); ; } (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40])] > 0xffffffffffffffff) { (); ; } ((0x20 + (((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)]) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40]))) > (.. - (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40])]))) { (); ; } ( , ) = (.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])]).{ : .[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x20] }(""); // call = 0x60; ((.) != 0x0) { (. > 0xffffffffffffffff) (65); ; ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (!) { (); ; } = + 0x01; } = 0; ; () { = 0x01; ( >= .) { ; } ( >= .) { (50); ; } (([]) == ((.))) { ; } = 0x01 + ; (( != 0x0) && (. == )) { = 0; () { ( >= .) { ; } (!(( < .))) (50); (.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1)); ((.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])] & 0xffffffffffffffffffffffffffffffffffffffff) == (.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])])); (!(( < .))) (50); (.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1)); ( >= .) { (50); ; } (!(.[((0x04 + ) + 0x20) + ( << 0x05)] < ((.. - ((0x04 + ) + 0x20)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1))) { (); ; } (!(.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40] < ((.. - (((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)]))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1))) { (); ; } (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40])] > 0xffffffffffffffff) { (); ; } ((0x20 + (((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)]) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40]))) > (.. - (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + (.[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x40])]))) { (); ; } ( , ) = (.[((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])]).{ : .[(((0x04 + ) + 0x20) + (.[((0x04 + ) + 0x20) + ( << 0x05)])) + 0x20] }(""); // call ((.) != 0x0) { (. > 0xffffffffffffffff) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); } (); = + 0x01; } } } = 0; } ( ) { ( != (0)); = ; } ( ) { (!(. < 0x010000000000000000)) (65); . = . + 0x01; (!(. < .)) (50); [.] = | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & [.]); } ( ) { { := (0x40) (, 0, ()) (, (((), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), (224, (, 0xffffffff)))) := ((), (), , (), 0, 0) := () (, 0, ) 0 { (, ) } { (, ) } } } // Note: This selector table is synthetic and is not part of the original Solidity source. // It records the recovered selector-to-signature mapping without executable behavior. // 0x0eecf949 => Unknown_0eecf949(address) // 0x13af4035 => setOwner(address) // 0x15383154 => Unknown_15383154(bytes,bytes,uint256) // 0x385b517f => Unknown_385b517f(bytes) // 0x6c898447 => Unknown_6c898447(uint256) // 0x8da5cb5b => owner() // 0xb0e6892a => Unknown_b0e6892a(bytes,uint256) // 0xf635c1b5 => setMask(bytes32) // 0xf8eda687 => Unknown_f8eda687()}