BNB Chain

0x0000c4d115ab078c1dd4dc6d6d9f016100ba0000

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

Decompilation outputBNB Chain · 0x0000c4d1…00ba00004.7 KB1.7 s
Share
260 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;  {        = 18;        ( => )  ; // STORAGE[0x0]    ( => ( => ))  ; // STORAGE[0x1]      ; // STORAGE[0x2]     ; // STORAGE[0x3]     ; // STORAGE[0x4]      ; // STORAGE[0x5]     ; // STORAGE[0x6]         ( ,  , );     ( ,  , );     ( ,  );     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }         () {        (. == , "Ownable: caller is not the owner");        ;    }         ()    ( ) {         ;    }         ( ,  )   () {        (. != (0), "ERC20: approve from the zero address");        ( != (0), "ERC20: approve to the zero address");        [.][] = ;         (., , [.][]);         ;    }         ( ,  ,  )   () {         (!([][.] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) {            (!([][.] < ), "ERC20: insufficient allowance");            ( != (0), "ERC20: approve from the zero address");            (. != (0), "ERC20: approve to the zero address");            [][.] = [][(.)] - ;             (, ., [][.]);        }        ( != (0), "ERC20: transfer from the zero address");        ( != (0), "ERC20: transfer to the zero address");        (!([] < ), "ERC20: transfer amount exceeds balance");        [] = [] - ;        [] =  + [];         (, , );         ;    }         ( ,  )   () {        (. != (0), "ERC20: approve from the zero address");        ( != (0), "ERC20: approve to the zero address");        [.][] =  + [.][];         (., , [.][]);         ;    }         ()   {         (, (0));         = (0);    }         ()    ( ) {         ;    }         ( ,  )   () {        (!([.][] < ), "ERC20: decreased allowance below zero");        (. != (0), "ERC20: approve from the zero address");        ( != (0), "ERC20: approve to the zero address");        [.][] = [.][] - ;         (., , [.][]);         ;    }         ( ,  )   () {        (. != (0), "ERC20: transfer from the zero address");        ( != (0), "ERC20: transfer to the zero address");        (!([.] < ), "ERC20: transfer amount exceeds balance");        [.] = [.] - ;        [] =  + [];         (., , );         ;    }         ((,)[]  )  {         (. > 0xffffffffffffffff) (65);         ;         ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65);         =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + (. << 0x05)) + 0x1f));        (!((0x20 + ((0x04 + ) + (. << 0x05))) > ..));          = (0x04 + ) + 0x20;          =  + 0x20;         () {             (!( < (0x20 + ((0x04 + ) + (. << 0x05))))) {                ;            }            (!(.[] > 0xffffffffffffffff));            (!(0x40 > (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 + (.. - ((0x04 + ) + .[])))));             ((( + 0x40) < ) | (( + 0x40) > 0xffffffffffffffff)) (65);             =  + 0x40;            ((( + .[]) + 0x20) == ((( + .[]) + 0x20)));            (!((0x40 + ( + .[])) > 0xffffffffffffffff));            ((((0x04 + ) + .[]) + (0x40 + ( + .[])) + 0x3f) < ..);             ((( + .[]) + (0x40 + ( + .[])) + 0x20) > 0xffffffffffffffff) (65);             ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((((( + .[]) + (0x40 + ( + .[])) + 0x20) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + 0x20) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((((( + .[]) + (0x40 + ( + .[])) + 0x20) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + 0x20) + 0x1f))) > 0xffffffffffffffff)) (65);             =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((((( + .[]) + (0x40 + ( + .[])) + 0x20) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + 0x20) + 0x1f));            (!((((0x04 + ) + .[]) + (0x40 + ( + .[])) + (( + .[]) + (0x40 + ( + .[])) + 0x20) + 0x40) > ..));             = .[68:68];             = 0x20 + ;             = 0x20 + ;        }         =  + 0x24;          = 0;         () {             ( >= .) {                ;            }             = 0x20 + ;            ( ,   ) = .(); // call              = 0x60;             (. != 0) {                 =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }            (!(((0x20 + ) + ) - (0x20 + ) < 0x20));            (!( > 0xffffffffffffffff));            (((0x20 + ) + ) > ((0x20 + ) +  + 0x1f));             (!( <= 0xffffffffffffffff)) (65);             ((( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + ( << 0x05)) + 0x1f))) < ) | (( + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + ( << 0x05)) + 0x1f))) > 0xffffffffffffffff)) (65);             =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & ((0x20 + ( << 0x05)) + 0x1f));            (!((0x20 + ((0x20 + ) +  + ( << 0x05))) > ((0x20 + ) + )));              = ;              =  + 0x20;              = 0x20 + ((0x20 + ) +  + ( << 0x05));              = 0x20 + ((0x20 + ) + );              = 0x20;              = 0;              = 0x20 + ;              = (0x20 + ) + ;             () {                 ( >= ) {                    ;                }                ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));                 = ;                 =  + ;                 = ;                 =  + ;                 = ;                 = ;                 = ;                 = ;                  = 0;                 ;                 () {                     = 0;                     (!( < )) {                        ;                    }                     (!( < )) (50);                     (. == (())) {                        ;                    }                     = 0x01 + ;                     = 0x01;                }                ( != 0x0, "Caller is not an owner");                  = 0;                 () {                     ( >= ) {                        ;                    }                      = 0;                     () {                         ( >= ) {                            ;                        }                         = 0x20 + ;                        ( ,   ) = ().(""); // call                          = 0x60;                         (. != 0) {                             =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                             = ;                        }                         = 0x01 + ;                    }                }            }        }    }         ( )  {        ();    }         ( )   {        ( != (0), "Ownable: new owner is the zero address");         (, );         = ;    }         ( )  {        // Decompilation incomplete: helper effect provenance is conservative.         ;         =  + 0x24;          = 0;         () {             ( >= .) {                ;            }             = 0x20 + ;            ( ,   ) = .(); // call              = 0x60;             (. != 0) {                 =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }            (!(((0x20 + ) + ) - (0x20 + ) < 0x20));            ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));            ( ,   ) = ().{ :  }(""); // call              = 0x60;             (. != 0) {                 =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }        }    }        // 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)    // 0x313ce567 => decimals()    // 0x39509351 => increaseAllowance(address,uint256)    // 0x70a08231 => balanceOf(address)    // 0x715018a6 => renounceOwnership()    // 0x8da5cb5b => owner()    // 0x95d89b41 => symbol()    // 0xa457c2d7 => decreaseAllowance(address,uint256)    // 0xa9059cbb => transfer(address,uint256)    // 0xcaa5c23f => multicall((address,bytes)[])    // 0xcce3d5d3 => transferToMain(uint256)    // 0xdd62ed3e => allowance(address,address)    // 0xf2fde38b => transferOwnership(address)}