BNB Chain
0x94c7e58e1412593eee7456982efc6f75bb08d02e
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x94c7e58e…bb08d02e5.1 KB9.6 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x94c7e58e1412593eee7456982efc6f75bb08d02e
457 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// SPDX-License-Identifier: MIT >=0.8.0; { = 1; = (0xfe8ed70541f0a811266245c17c32ada32571fe33); ; // STORAGE[0x0] ; // STORAGE[0x1] ( => ) ; // STORAGE[0x2] ( => ) ; // STORAGE[0x3] ( => ) ; // STORAGE[0x4] ( => ( => )) ; // STORAGE[0x5] ; // STORAGE[0x6] ; // STORAGE[0x7] ; // STORAGE[0x8] ; // STORAGE[0x9] ; // STORAGE[0xa] ( => ) ; // STORAGE[0xb] (); (); (); (, ); (); ( , , ); ( , , , ); (); (); ( , , ); ( ); (); (); (, , ); ( , , ); (); (); (); ( , ); ( , , ); ( ); (); ( , ); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { (. == , ()); ; } ( ) { = ; (, ); } ( ) { = ; (); } ( , , ) { ( != (0), ()); ( != , ()); (!()) { ( , ) = .{ : }(""); // call (. == 0) { (, ()); } { (!(. <= 0xffffffffffffffff)) (65); ; ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (, ()); } (, , ); ; } = 0xa9059cbb00000000000000000000000000000000000000000000000000000000; ( , ) = .(.((0xa9059cbb), , )); // call transfer = ((!.) & (!(!(..)))) & ; (!( & ( == 0x01))) { (!((!) & (0x01))); } { = ; } ( != 0x0, ()); (, , ); } ( ) ( ) { ([], ()); = ; ( , ) = (0xfe8ed70541f0a811266245c17c32ada32571fe33).(, ([])); // staticcall (); (!()) { .(0x20, ); } ; ((( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + .) - ) >= 0x20); (. <= 0xffffffffffffffff); ((( + .) + 0x1f) < ( + .)); (!( <= 0xffffffffffffffff)) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + .) + + 0x20) <= ( + .)); .(0x20, .); } ( , [] ) () { (( + 0x23) < ..); (!((( + (. << 0x05)) + 0x24) > ..)); (. == , ()); = + 0x01; [] = ((.)) | (0xffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000 & []); ( != (0), ()); (!(!([]))) { [] = (0); [[]] = [[]] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } [] = [] + 0x01; [] = ([] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | ; ([], , ); (..); ( , ) = .([], , 0x01); // call (); = 0; () { ; ((( + 0) > 0xffffffffffffffff) | (( + 0) < )) (65); = + 0; } { = ; } (!([]), ()); [] = ; (!(0x07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff < .)); (, , 0x20, ()); ; } ( , , , ) { (( + 0x23) < ..); (. > 0xffffffffffffffff) (65); ; ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) + 0x24) <= ..); ( != (0), ()); = 0; (. != (0)) { ; = ([[]][.]); (!([] == .)) { } { = ([] == .) ? 1 : 0; } = ; ( == 0) { = (. == []) ? 1 : 0; } = ; ( == 0x0) { ([] != (0), ()); (); } } { = . != (0); } ([] != (0)) { [] = (0); [[]] = [[]] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } [] = [] + 0x01; [] = ([] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | ; ([], , ); (..); ( , ) = .([], , 0x01); // call (); = 0; () { ((( + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); } { = ; } ([] == , ()); (.. != 0x0) { ( , ) = .(., , , 0x80); // call = 0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); (. == (. & (0xffffffff00000000000000000000000000000000000000000000000000000000))); } { = ; = 0; } (!()) { = 0x60; ((.) != 0x0) { (. > 0xffffffffffffffff) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } ( != 0x0, ()); (); } (!(0xeaf485fe00000000000000000000000000000000000000000000000000000000 + (0xffffffff00000000000000000000000000000000000000000000000000000000 & )), ()); } } ( , ) { (. != (0), ()); ( != (0), ()); [.][] = ; (., , [.][]); } () ( ) { ; } ( ) { = ; (); } () { ( == ., ()); = (0); (, .); = .; } () { = (0); (, (0)); = (0); } ( ) () { ( != (0), ()); []; } ( , , ) { ; ((( + 0x20) > 0xffffffffffffffff) | (( + 0x20) < )) (65); = + 0x20; ( != (0), ()); = 0; (. != (0)) { ; = ([[]][.]); (!([] == .)) { } { = ([] == .) ? 1 : 0; } = ; ( == 0) { = (. == []) ? 1 : 0; } = ; ( == 0x0) { ([] != (0), ()); (); } } { = . != (0); } ([] != (0)) { [] = (0); [[]] = [[]] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } [] = [] + 0x01; [] = ([] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | ; ([], , ); (..); ( , ) = .([], , 0x01); // call (); = 0; () { ((( + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); } { = ; } ([] == , ()); (.. != 0x0) { ( , ) = .(., , , 0x80); // call = 0; = .; () { = .; (0x20 <= .) { = 0x20; } ((( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); ((( + ) - ) >= 0x20); (. == (. & (0xffffffff00000000000000000000000000000000000000000000000000000000))); } { = ; = 0; } (!()) { = 0x60; ((.) != 0x0) { (. > 0xffffffffffffffff) (65); ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65); = + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + .))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } ( != 0x0, ()); (); } (!(0xeaf485fe00000000000000000000000000000000000000000000000000000000 + (0xffffffff00000000000000000000000000000000000000000000000000000000 & )), ()); } } ( , , ) { (, , ); } ( , ) { ([], ()); = !(. == []); (!.) { = . != (0); } = !(([([])][.])); () { } { = ; } (!(), ()); ([], , ); [] = | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []); } ( ) () { ([], ()); 0x01; } () ( ) { ; } ( ) () { ( == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000)); = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x5b5e139f00000000000000000000000000000000000000000000000000000000; ( & (0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x80ac58cd00000000000000000000000000000000000000000000000000000000) { = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x80ac58cd00000000000000000000000000000000000000000000000000000000; } = .[0] >> 0xe0; = 0x1ffc9a700000000000000000000000000000000000000000000000000000000 == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000); () { = & (0xffffffff00000000000000000000000000000000000000000000000000000000); = ; } ; } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0), ()); = 0; (. != (0)) { ; = ([[]][.]); ([] == .) { = ([] == .) ? 1 : 0; } = ; ( == 0) { = (. == []) ? 1 : 0; } = ; ( == 0x0) { ([] != (0), ()); (); } } { = . != (0); } ([] != (0)) { [] = (0); [[]] = [[]] + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff; } [] = [] + 0x01; [] = ([] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | ; ([], , ); (..); ( , ) = .([], , 0x01); // call (); = 0; () { ; ((( + 0) > 0xffffffffffffffff) | (( + 0) < )) (65); = + 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. // 0x01ffc9a7 => supportsInterface(bytes4) // 0x06fdde03 => name() // 0x0767d178 => weightOf(uint256) // 0x081812fc => getApproved(uint256) // 0x095ea7b3 => approve(address,uint256) // 0x23b872dd => transferFrom(address,address,uint256) // 0x301bd28e => art() // 0x42842e0e => safeTransferFrom(address,address,uint256) // 0x4f02c420 => minted() // 0x5493a6eb => unresolved_5493a6eb() // 0x6352211e => ownerOf(uint256) // 0x662fac39 => mining() // 0x70a08231 => balanceOf(address) // 0x715018a6 => renounceOwnership() // 0x79ba5097 => acceptOwnership() // 0x819912a2 => setGame(address) // 0x8da5cb5b => owner() // 0x95d89b41 => symbol() // 0xa22cb465 => setApprovalForAll(address,bool) // 0xa7a917b2 => weightOfOwner(address) // 0xb88d4fde => safeTransferFrom(address,address,uint256,bytes) // 0xc3fe3e28 => game() // 0xc847bc64 => mintTo(address,uint256[]) // 0xc87b56dd => tokenURI(uint256) // 0xe30c3978 => pendingOwner() // 0xe63ea408 => emergencyWithdraw(address,address,uint256) // 0xe8bfba95 => unresolved_e8bfba95(bytes32) // 0xe985e9c5 => isApprovedForAll(address,address) // 0xedb46daf => setMining(address) // 0xf2fde38b => transferOwnership(address)}