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
Share
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)}