BNB Chain

0xd6e3678a75c31eeb62c96fc5b99dba022c5aeedc

Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.

Decompilation outputBNB Chain · 0xd6e3678a…2c5aeedc9.7 KB9.3 s
Share
629 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;  {     ()    ( );     ( )    ( );     ( ,  )   ( );     ( ,  ,  )   ( );}  {     ()    ( ,  ,  );}  {     ( ,  ,  ,  ,  ,  ,  ,  )   ( ,  ,  );}  {      ; // STORAGE[0x0]    ( => )  ; // STORAGE[0x1]    ( => ( => ))  ; // STORAGE[0x2]     ; // STORAGE[0x3] bytes 0 to 19     ; // STORAGE[0x5]      ; // STORAGE[0x6]     ; // STORAGE[0x7]     ; // STORAGE[0x8]      ; // STORAGE[0x9] bytes 0 to 0     ; // STORAGE[0xa]     ; // STORAGE[0xb]     ; // STORAGE[0xc]     ; // STORAGE[0xd]    ( => ) ; // STORAGE[0xe]    ( => )  ; // STORAGE[0xf]      ; // STORAGE[0x10]      ; // STORAGE[0x11]      ; // STORAGE[0x12]    ( => )  ; // STORAGE[0x13]     ; // STORAGE[0x14] bytes 0 to 0      ; // STORAGE[0x14] bytes 1 to 1      ; // STORAGE[0x14] bytes 2 to 21      ; // STORAGE[0x15]      ; // STORAGE[0x16]      ; // STORAGE[0x17]      ; // STORAGE[0x18]      ; // STORAGE[0x19]      ; // STORAGE[0x1a]      ; // STORAGE[0x1b]      ; // STORAGE[0x1c]      ; // STORAGE[0x1d]      ; // STORAGE[0x1e]      ; // STORAGE[0x1f]     ; // STORAGE[0x20]    [] ; // STORAGE[0x21]    ( => ) ; // STORAGE[0x22] // DESOLEX_RAW_STORAGE: mapping key 0: address [LegacyInference] vs uint256 [LegacyInference] (ambiguous)    ( => ) ; // STORAGE[0x23]     ; // STORAGE[0x24]     ; // STORAGE[0x25]     ; // STORAGE[0x26]         ( ,  , );     ( ,  , );     ( ,  );     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }         () {        (. == , "!owner");        ;    }    ()   {    }             ()    ( ) {         ;    }         ( ,  )   () {        [.][] = ;         (., , [.][]);         ;    }         ( ,  )  {         ([.]) {            ().(, );        }    }         ( ,  ,  )   () {        (, , );         ([][.] != ().) {            [][.] = [][.] - ;        }         ;    }         ()  {         ([.]) {            ( ,   ) = .{ : 0x08fc * !()., : (). }(""); // call            ();        }    }         ( )   {         = ;    }         ( )   {         = ;        [] = ;    }         ()    () {         ;    }         ()   {         (, (0));         = (0);    }         ( ,  )   {        [] = ;    }         ( )   {         = ;        [] = ;    }         ()    ( ) {         ;    }         ( ,  )   {        [] = ;    }         ( ,  )   () {        (, , .);         ;    }         ( ,  )   {        [] = ;    }         ( )   {         = ;    }         ([]  ,  )  {         (. > 0xffffffffffffffff) (65);         ;         ((( + (((. << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((. << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);         =  + (((. << 0x05) + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        []  = ;        (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..));          =  + 0x20;          = (0x04 + ) + 0x20;         () {             (!( < (0x20 + ((0x04 + ) + (. << 0x05))))) {                ;            }            (.[] == ((.[])));             = 0x20 + ;             = 0x20 + ;        }        (. == , "!owner");          = 0;         () {             ( >= ) {                ;            }            [()] = ;             = 0x01 + ;        }    }         ( ,  )   {        [] = ;    }         ( )   {        ( != (0), "new 0");         (, );         = ;    }         ( ,  ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.        [] = ([] - );        [] = ( + []);         (, , );    }         ( ,  ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.        (!([] < ), "balanceNotEnough");          = !([]);         (![]) {             = !([]);        }          = ;         () {              = 0;              = 0;             () {                 ( > 0x2) {                    ;                }                [] = ([] - 0x64);                [((((.(, , .)))))] = (0x64 + [((((.(, , .)))))]);                 (, ((((.(, , .))))), 0x64);                 = 0x01 + ;                 = ((.(, , .)));            }             =  - 0x012c;        }          = !([]);         (![]) {             = !([]);        }          = 0;         () {             = 0x01;        }          = 0;          = 0;          = 0;          = 0;         (([] || [])) {             (0x0 == ) {                  = ([]) ? 1 : 0;                 ([]) {                     = ( == ) ? 1 : 0;                }                  = ;                 ( != 0x0) {                      = ().();                     = ( == 0) ? 1 : 0;                }                 ( != 0x0) {                     = .;                     = .;                }            }              = 0;              = 0;              = 0;             ((![] && ![])) {                  = 0;                 ;                 (![]) {                    ( ,  , ) = ().();                      = (());                     ( < ()) {                         = ();                    }                    ( ,   ) = .(.((0x70a08231), )); // staticcall balanceOf                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                     (0x0 == ) {                        (0x0, "!Trade");                    }                     ([]) {                         (!) {                             ([()] != 0) {                                  = (( + ( + ( + ( + ( + ))))) * ) / 0x32;                                 (((( + ( + ( + ( + ( + ))))) * ) / 0x32) > [()]) {                                     = [()];                                }                                 = ;                                 =  + 0x60;                                 (!(0 < .)) (50);                                 (!(0x01 < .)) (50);                                  = 0;                                  = (0x04 + ) + 0xc0;                                  =  + 0x20;                                 () {                                     (!( < )) {                                        ;                                    }                                     = 0x01 + ;                                     =  + 0x20;                                     = 0x20 + ;                                }                                (.. != 0x0);                                ( ,   ) = .(.((0x5c11d795), (( - ((( * ) / ((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + ))))))))))), 0, 0xa0, , .)); // call swapExactTokensForTokensSupportingFeeOnTransferTokens                                ();                                  = ().();                                  = ( * );                                 (0x0 != ) {                                    ( *  /  == , "SafeMath: multiplication overflow");                                }  {                                     = 0;                                }                                (0x64 != 0x0, "SafeMath: division by zero");                                  = 0x32 * (( / 0x64));                                 (0x0 != (( / 0x64))) {                                    (0x32 * (( / 0x64)) / (( / 0x64)) == 0x32, "SafeMath: multiplication overflow");                                }  {                                     = 0;                                }                                 = 0x40 + ;                                (0x64 != 0x0, "SafeMath: division by zero");                                ().(, , ( / 0x64));                                  = 0x32 * (( / 0x64));                                 (0x0 != (( / 0x64))) {                                    (0x32 * (( / 0x64)) / (( / 0x64)) == 0x32, "SafeMath: multiplication overflow");                                }  {                                     = 0;                                }                                 = 0x40 + ;                                (0x64 != 0x0, "SafeMath: division by zero");                                ().(, , ( / 0x64));                                ().(, (), ( - (( / 0x64))));                                 ((( * ) / ((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + ))))))) != 0) && (( * ) / (((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + )))))) - )) != 0)) {                                    ().((), , (( * ) / ((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + )))))))), (( * ) / (((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + )))))) - ))), 0, 0, , .);                                }                                 = ;                            }                        }                    }                     = (!( < )) ? 1 : 0;                }  {                    ( ,  , ) = ().();                      = (());                     ( < ()) {                         = ();                    }                    ( ,   ) = .(.((0x70a08231), )); // staticcall balanceOf                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                      = ;                     ( > ) {                         = ;                    }                     (0x0 == ) {                          = 0 < ;                         (0 < ) {                             =  > ;                        }                        (, "!Trade");                    }                     ([]) {                         (!) {                             ([()] != 0) {                                  = (( + ( + ( + ( + ( + ))))) * ) / 0x32;                                 (((( + ( + ( + ( + ( + ))))) * ) / 0x32) > [()]) {                                     = [()];                                }                                 = ;                                 =  + 0x60;                                 (!(0 < .)) (50);                                 (!(0x01 < .)) (50);                                  = 0;                                  = (0x04 + ) + 0xc0;                                  =  + 0x20;                                 () {                                     (!( < )) {                                        ;                                    }                                     = 0x01 + ;                                     =  + 0x20;                                     = 0x20 + ;                                }                                (.. != 0x0);                                ( ,   ) = .(.((0x5c11d795), (( - ((( * ) / ((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + ))))))))))), 0, 0xa0, , .)); // call swapExactTokensForTokensSupportingFeeOnTransferTokens                                ();                                  = ().();                                  = ( * );                                 (0x0 != ) {                                    ( *  /  == , "SafeMath: multiplication overflow");                                }  {                                     = 0;                                }                                (0x64 != 0x0, "SafeMath: division by zero");                                  = 0x32 * (( / 0x64));                                 (0x0 != (( / 0x64))) {                                    (0x32 * (( / 0x64)) / (( / 0x64)) == 0x32, "SafeMath: multiplication overflow");                                }  {                                     = 0;                                }                                 = 0x40 + ;                                (0x64 != 0x0, "SafeMath: division by zero");                                ().(, , ( / 0x64));                                  = 0x32 * (( / 0x64));                                 (0x0 != (( / 0x64))) {                                    (0x32 * (( / 0x64)) / (( / 0x64)) == 0x32, "SafeMath: multiplication overflow");                                }  {                                     = 0;                                }                                 = 0x40 + ;                                (0x64 != 0x0, "SafeMath: division by zero");                                ().(, , ( / 0x64));                                ().(, (), ( - (( / 0x64))));                                 ((( * ) / ((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + ))))))) != 0) && (( * ) / (((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + )))))) - )) != 0)) {                                    ().((), , (( * ) / ((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + )))))))), (( * ) / (((( + ( + ( + ( + ( + ))))) + ( + ( + ( + ( + ( + )))))) - ))), 0, 0, , .);                                }                                 = ;                            }                        }                    }                     = ( > ) ? 1 : 0;                     = 0;                }                 = ;                 = ;                 = 0x01;            }              = 0;             ([]) {                 = 0x01;            }             = ;             = ;             = ;             = ;        }        [] = ([] - );          = 0;         ( != 0x0) {              = ( + (( + )));             ( == 0x0) {                (!( > ), "over max buy amount");            }  {                (!( > ), "over max sell amount");                 = ( + (( + )));            }              = 0;             (( * ) / 0x64 != 0) {                [()] = ((( * ) / 0x64)) + [()];                 (, (), ((( * ) / 0x64)));                 = ((( * ) / 0x64) + 0);            }             = ;        }         (![] && ) {            (!((( + []) - ) > ), "over max wallet limit");        }          = ;         ( != 0x0) {             = (!([])) ? 1 : 0;        }          = ;         ( != 0x0) {             = (!([])) ? 1 : 0;        }          = ;         ( != 0x0) {              = ;             (( * ) / 0x64 != 0) {                [()] = ((( * ) / 0x64)) + [()];                 (, (), ((( * ) / 0x64)));                 = ((( * ) / 0x64) + );            }             = ;        }        [] = (( - )) + [];         (, , (( - )));         (!(() == )) {             (![]) {                 (!(( + 0xc8) > .)) {                      = ().(());                     (!( < )) {                          = ().();                          = 0x0 < 0x7a120;                          = ();                          = 0;                          = 0;                          = 0;                          = 0;                          = (0);                         () {                             (!( &&  < .)) {                                 = .;                                ;                            }                             ( >= .) {                                 = 0;                            }                             (!( < .)) (50);                              = ().(([]));                              =  > 0;                             ( > 0) {                                 = !([([])]);                            }                              = ;                             () {                                 (( * ) /  != 0) {                                    ().(([]), (( * ) / ));                                }                                 = (( * ) / );                            }                             = (0x01 + );                             = ((( - ()) + )) < 0x07a120;                             = ();                             = (0x01 + );                             = (( - ()) + );                             = ;                             = ;                             = ([]);                        }                    }                }            }  {                ();                 (!(( + 0xc8) > .)) {                      = ().(());                     (!( < )) {                          = ().();                          = 0x0 < 0x7a120;                          = ();                          = 0;                          = 0;                          = 0;                          = 0;                          = (0);                         () {                             (!( &&  < .)) {                                 = .;                                ;                            }                             ( >= .) {                                 = 0;                            }                             (!( < .)) (50);                              = ().(([]));                              =  > 0;                             ( > 0) {                                 = !([([])]);                            }                              = ;                             () {                                 (( * ) /  != 0) {                                    ().(([]), (( * ) / ));                                }                                 = (( * ) / );                            }                             = (0x01 + );                             = ((( - ()) + )) < 0x07a120;                             = ();                             = (0x01 + );                             = (( - ()) + );                             = ;                             = ;                             = ([]);                        }                    }                }            }        }    }         ( )  {        // Decompilation incomplete: helper effect provenance is conservative.         (.. == 0x0) {             (0 == []) {                 (. != 0x0) {                     (!(0 < .)) (50);                }                 ((. == 0x0) || ([0x0] != )) {                    [] = .;                    .(());                }            }            ;        }  {            ;        }    }        // 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)    // 0x0a607930 => _sellLPDividendFee()    // 0x1698755f => claimToken(address,uint256)    // 0x18160ddd => totalSupply()    // 0x206c17bb => _swapRouter()    // 0x23b872dd => transferFrom(address,address,uint256)    // 0x27c8f835 => deadAddress()    // 0x30509bca => claimBalance()    // 0x313ce567 => decimals()    // 0x3ae0ca3d => _minTotal()    // 0x3bfe62ca => _sellFundFee()    // 0x3c11100d => _swapPairList(address)    // 0x4188bf5a => _mainPair()    // 0x4482004e => startLPBlock()    // 0x53ad6616 => setMinTotal(uint256)    // 0x553193ca => startTradeBlock()    // 0x5e0117c0 => ruiojhu(address)    // 0x6690864e => setTeamAddress(address)    // 0x69768b50 => limitEnable()    // 0x70a08231 => balanceOf(address)    // 0x715018a6 => renounceOwnership()    // 0x81277789 => setvghyufs(address,bool)    // 0x85dc3004 => setFundAddress(address)    // 0x8718b24f => _tokenDistributor()    // 0x8da5cb5b => owner()    // 0x95d89b41 => symbol()    // 0xa8424861 => setSwapPairList(address,bool)    // 0xa9059cbb => transfer(address,uint256)    // 0xa925a6bd => _buyLPDividendFee()    // 0xacb2ad6f => transferFee()    // 0xadc7955d => _sellLPFee()    // 0xb9fbc49d => _buyLPFee()    // 0xbe3601f8 => _usdt()    // 0xbf3fd995 => seQWxcludedFromFees(address,bool)    // 0xc213d62d => setHolderRewardCondition(uint256)    // 0xc92d567e => enableOffTrade()    // 0xce0192f9 => _buyFundFee()    // 0xd91eb6f2 => batchSetExcludedFromFees(address[],bool)    // 0xdd62ed3e => allowance(address,address)    // 0xf247e1d3 => setruiojhu(address,bool)    // 0xf2fde38b => transferOwnership(address)}