Ethereum
0x15fc6561f97da526804e26fb843b7c354196aa86
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0x15fc6561…4196aa8612.5 KB44.8 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x15fc6561f97da526804e26fb843b7c354196aa86
421 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 29 entry points (170000 ms contract budget): 485cc955// SPDX-License-Identifier: MIT >=0.8.0; { = ; ( => ) ; // STORAGE[0x0] ; // STORAGE[0x1] ; // STORAGE[0x2] ; // STORAGE[0x3] bytes 0 to 19 ; // STORAGE[0x4] bytes 0 to 19 ; // STORAGE[0x5] ( => ) ; // STORAGE[0x6] // DESOLEX_STORAGE_CONFLICT_RESOLVED: mapping value 0: bool [ResolvedAbi] vs uint256 [ResolvedAbi] (selected bool) | mapping value 0: bool [VerifiedAbi] vs uint256 [ResolvedAbi] (selected bool) ( => ) ; // STORAGE[0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace00] ( => ( => )) ; // STORAGE[0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace01] ; // STORAGE[0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02] ; // STORAGE[0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03] ; // STORAGE[0x52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04] ; // STORAGE[0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300] bytes 0 to 19 ; ; (, , , ); (); ( , ); ( , , ); (, ); ( , ); (); ( , , ); ( , ); (); (); (); ( , ); (); (); (); ( , , ); ( , ); (, ); (); (, ); (); (, ); ( , ); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { } () ( ) { ; } ( , ) () { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); (. != (0)); ( != (0)); [.][] = ; (., , ); ; } ( , , ) () { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x60)); (, , ); ; } ( ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x20)); ( == ((.)), ()); (, ); = ; } ([] , ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); (!(. > 0xffffffffffffffff)); (((0x04 + ) + 0x1f) < (0x04 + (.. - 0x04))); (!(. > 0xffffffffffffffff)); (!(((0x04 + ) + 0x20) + (. * 0x20) > (0x04 + (.. - 0x04)))); ((.) == , ()); = 0; () { ( >= .) { ; } (0x20 * + ((0x04 + ) + 0x20) + 0x20 - (0x20 * + ((0x04 + ) + 0x20)) >= 0x20); ([] != 0, ()); ([([])] - != 0) { = 0; ( != 0x0) { = 0; ([]. < ) { (!((). < ( - ([].))), ()); = - ([].); } = ; } [[]] = ; ([], [[]]); ( != 0) { ( , ) = [].{ : }(""); // call = 0x60; (. != 0) { ; = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (, ()); ([], ); } } = 0x01 + ; } } ( ) () { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x20)); ; = (0x20 + ) + 0x14; = + ((((.( << 0x60)))) % (( - ) + (0x01))); ( - - 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { } { = ((.( << 0x60))); } ; } ( , ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); = (( / 0x01)) == 0; (( / 0x01) == 0) { = !(( / 0x010000000000000000)); } = (( / 0x01)) == 0x01; (( / 0x01) == 0x01) { = (()..) == 0; } (!(! && !), ()); = 0x01 | (0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 & ); (!(( / 0x010000000000000000))) { = (0x01 * 0x010000000000000000) | (0xffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff & ); } } () { (); } ([] , [] ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); (!(. > 0xffffffffffffffff)); (((0x04 + ) + 0x1f) < (0x04 + (.. - 0x04))); (!(. > 0xffffffffffffffff)); (!(((0x04 + ) + 0x20) + (. * 0x20) > (0x04 + (.. - 0x04)))); (!(. > 0xffffffffffffffff)); (((0x04 + ) + 0x1f) < (0x04 + (.. - 0x04))); (!(. > 0xffffffffffffffff)); (!(((0x04 + ) + 0x20) + (. * 0x20) > (0x04 + (.. - 0x04)))); ( == ((.)), ()); ( == , ()); = 0; () { ( >= .) { ; } (0x20 * + ((0x04 + ) + 0x20) + 0x20 - (0x20 * + ((0x04 + ) + 0x20)) >= 0x20); (!( < .)) (50); ([] != 0, ()); (!([] > [[]])) { ([] < [[]]) { ((0xffffffffffffffffffffffffffffffffffffffff & []) != 0x0); ((0xffffffffffffffffffffffffffffffffffffffff & []) != 0x0) { (!([[]] < ([[]] - []))); [[]] = [[]] - ([[]] - []); } { = + ([[]] - []); } ((0xffffffffffffffffffffffffffffffffffffffff & 0) != 0x0) { [(0)] = [(0)] + ([[]] - []); } { = - ([[]] - []); } ([], (0), ); } } { ((0xffffffffffffffffffffffffffffffffffffffff & []) != 0x0); ((0xffffffffffffffffffffffffffffffffffffffff & 0) != 0x0) { (!([(0)] < ([] - [[]]))); [(0)] = [(0)] - ([] - [[]]); } { = + ([] - [[]]); } ((0xffffffffffffffffffffffffffffffffffffffff & []) != 0x0) { [[]] = [[]] + ([] - [[]]); } { = - ([] - [[]]); } ((0), [], ); } ([], ([[]]), ([])); = 0x01 + ; } } () { ( == ((.)), ()); = 0 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); (( / 0x01), (0)); } ( , ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); ( == ); ( == ); ( == ((.)), ()); ( <= , ()); (, , , ); = ; = ; } () ( ) { ; } ( , ) () { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); (. != (0)); ( != (0)); (. != (0)) { (!([.] < )); [.] = [.] - ; } { = + ; } ( != (0)) { [] = [] + ; } { = - ; } (., , ); ; } ( ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x20)); ( == ((.)), ()); (, ); = ; } ( ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x20)); ( == ((.)), ()); (!((). < ), ()); ( , ) = ( / 0x01).{ : }(""); // call = 0x60; (. != 0) { ; = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (, ()); (( / 0x01), ); } ( , , ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x60)); ( != (( / 0x01))) { = 0x23b872dd00000000000000000000000000000000000000000000000000000000; ( , ) = .(.((0x23b872dd), , (), )); // call transferFrom = ; (!( & ( == 0x01))) { (!((!) & (0x01))); = & ((!.) & (().. > 0)); } ( != 0x0, ()); } { = 0xa9059cbb00000000000000000000000000000000000000000000000000000000; ( , ) = .(.((0xa9059cbb), , )); // call transfer = ; (!( & ( == 0x01))) { (!((!) & (0x01))); = & ((!.) & (().. > 0)); } ( != 0x0, ()); } } ( ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x20)); ( == ((.)), ()); ( != (0), ()); = ( * 0x01) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & ); (( / 0x01), ); } ( , ) { (!(((0x04 + (.. - 0x04)) - 0x04) < 0x40)); = 0xa9059cbb00000000000000000000000000000000000000000000000000000000; ( , ) = .(.((0xa9059cbb), , )); // call transfer = ; (!( & ( == 0x01))) { (!((!) & (0x01))); = & ((!.) & (().. > 0)); } ( != 0x0, ()); } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ([][(.)] < 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (!([][(.)] < )); ( != (0)); (. != (0)); [][.] = ((([][(.)])) - ); } (, , ); } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0)); ( != (0)); (, , ); } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0)) { (!([] < )); [] = [] - ; } { = + ; } ( != (0)) { [] = [] + ; } { = - ; } (, , ); } () { // Decompilation incomplete: helper effect provenance is conservative. ([.], ()); ( , ) = .(., ()); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); = .(, ()); (!( < 0xe8d4a51000), ()); (![.], ()); = ((0x20 + ) + 0x14); = ( + (((((.(. << 0x60)))) % ((( - ) + 0x01))))); (( - ) - 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff == 0) { = ((.(. << 0x60))); } ( != 0x0, ()); [.] = ; (. != (0)); ((0xffffffffffffffffffffffffffffffffffffffff & 0) != 0x0) { (!([(0)] < )); [(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. // 0x06fdde03 => name() // 0x095ea7b3 => approve(address,uint256) // 0x18160ddd => totalSupply() // 0x23b872dd => transferFrom(address,address,uint256) // 0x2b681ce8 => setMinimalEth(uint256) // 0x313ce567 => decimals() // 0x3c271a05 => setWhitelist(address[],bool) // 0x402914f5 => claimable(address) // 0x485cc955 => initialize(address,address) // 0x4e71d92d => claim() // 0x570ca735 => operator() // 0x64547536 => rebase(address[],uint256[]) // 0x70a08231 => balanceOf(address) // 0x715018a6 => renounceOwnership() // 0x83ad4542 => setRange(uint256,uint256) // 0x878fb82d => unresolved_878fb82d() // 0x8da5cb5b => owner() // 0x95d89b41 => symbol() // 0x9b85961f => getRange() // 0xa9059cbb => transfer(address,uint256) // 0xb3ab15fb => setOperator(address) // 0xc311d049 => withdrawEth(uint256) // 0xc884ef83 => claimed(address) // 0xc8fea2fb => collect(address,address,uint256) // 0xd936547e => whitelisted(address) // 0xdd62ed3e => allowance(address,address) // 0xf2fde38b => transferOwnership(address) // 0xf3fef3a3 => withdraw(address,uint256)}