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
This result is permanently available athttps://decompiler.exvul.com/bsc/0x0000c4d115ab078c1dd4dc6d6d9f016100ba0000
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)}