BNB Chain
0x493fb5319f3cb2a05640d9b3ef7b2f9197c266e2
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x493fb531…97c266e24.6 KB5.2 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x493fb5319f3cb2a05640d9b3ef7b2f9197c266e2
387 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] ; // STORAGE[0x4] ; // STORAGE[0x5] bytes 0 to 0 ; // STORAGE[0x6] ; // STORAGE[0x7] ; // STORAGE[0x8] ; // STORAGE[0xe] ( => ) ; // STORAGE[0xf] ( => ) ; // STORAGE[0x10] ; // STORAGE[0x13] ; // STORAGE[0x15] ; // STORAGE[0x16] ; // STORAGE[0x1e] ( , , ); ( , , ); ( , ); () { (. == , "Ownable: caller is not the owner"); ; } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x1624c22f)) { // Route to Unknown_1624c22f(address) after replacing only msg.sig. ((0x95933789)); ; } ((.. >= 4) && (. == 0x51c868ec)) { // Route to Unknown_51c868ec(uint256) after replacing only msg.sig. ((0x1822f5ae)); ; } ((.. >= 4) && (. == 0xebaeea4b)) { // Route to Unknown_ebaeea4b(address,bool) after replacing only msg.sig. ((0x8ec17677)); ; } (); } () ( ) { ; } ( , ) () { (. != (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"); ( > 0x0, "Transfer amount must be greater than zero"); (!(([]) || ([]))) { (![]); ( == ) { ( , ) = .(); // staticcall (); ( , ) = .(); // staticcall (); ( , ) = .(.((0x0902f1ac))); // staticcall getReserves (); ( , ) = (.).(); // staticcall (); ( , ) = (.).(); // staticcall (); = 0; = 0; = 0; (. == ) { = 0; = 0; (. > .) { = . - .; = ((. - .) > ) ? 1 : 0; } = 0; (. == .) { = 0x01; } = ; = ; = ; } = ; = ; = ; (. == ) { = ; = ; ( > .) { = - .; = (( - .) > ) ? 1 : 0; } = ; ( == .) { = 0x01; } = ; = ; = ; } (( | ) == 0x0); } (, , ); } { (, , ); } = 0x60 + ; ( <= [][.]) { ( != (0), "ERC20: approve from the zero address"); (. != (0), "ERC20: approve to the zero address"); [][.] = [][.] - ; (, ., [][.]); ; } { = 0; () { (!( < )) { ; } = 0x20 + ; } ( > ) { } ("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } } ( , ) () { (!(([.][] + ) < [.][]), "SafeMath: addition overflow"); (. != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [.][] = [.][] + ; (., , [.][]); ; } ( ) { (); } ( ) () { ( != (0), "balance query for the zero address"); (![]) { ; } []; } () { (, (0)); = (0); } () ( ) { ; } ([] , , ) { = 0; () { ( >= .) { ; } (, [], ); = 0x01 + ; } } ( , ) () { ; = 0x60 + ; (!( > [.][])) { (. != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [.][] = [.][] - ; (., , [.][]); } { = 0; () { (!( < .)) { ; } = 0x20 + ; } (0x40 > .) { } ("ERC20: decreased allowance below zero"); } ; } ( , ) () { (, , .); ; } ( , ) { (); [] = ; } ( ) { ( != (0), "Ownable: new owner is the zero address"); (, ); = ; } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0), "ERC20: transfer from the zero address"); ( != (0), "ERC20: transfer to the zero address"); (!( > []), "ERC20: transfer amount exceeds balance"); = 0x40 + ; (!( <= [])) { = 0; () { = ; (!( < .)) { ; } (!((0x20 + ) < .)) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } ("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } [] = ([] - ); ([] + >= [], "SafeMath: addition overflow"); [] = ([] + ); (, , ); } ( ) { // Decompilation incomplete: helper effect provenance is conservative. (); ( != 0x0, "ERC20: transfer from the zero address"); ( != 0x0, "ERC20: transfer to the zero address"); (!( > []), "ERC20: transfer amount exceeds balance"); = 0x40 + ; (!( <= [])) { = 0; () { = ; (!( < .)) { ; } (!((0x20 + ) < .)) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } ("\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); } [] = ([] - ); ([] + >= [], "SafeMath: addition overflow"); [] = ([] + ); (, , ); } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0), "ERC20: transfer from the zero address"); ( != (0), "ERC20: transfer to the zero address"); ( > 0x0, "Transfer amount must be greater than zero"); (!(([]) || ([]))) { (![]); ( == ) { ( , ) = .(); // staticcall (); ( , ) = .(); // staticcall (); ( , ) = .(.((0x0902f1ac))); // staticcall getReserves (); ( , ) = (.).(); // staticcall (); ( , ) = (.).(); // staticcall (); = 0; = 0; = 0; (. == ) { = 0; = 0; (. > .) { = . - .; = ((. - .) > ) ? 1 : 0; } = 0; (. == .) { = 0x01; } = ; = ; = ; } = ; = ; = ; (. == ) { = ; = ; ( > .) { = - .; = (( - .) > ) ? 1 : 0; } = ; ( == .) { = 0x01; } = ; = ; = ; } (( | ) == 0x0); } (, , ); ; } { (, , ); ; } } ( ) { { := (0x40) (, 0, ()) (, (((), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), (224, (, 0xffffffff)))) := ((), (), , (), 0, 0) := () (, 0, ) 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. // 0x06fdde03 => name() // 0x095ea7b3 => approve(address,uint256) // 0x1624c22f => Unknown_1624c22f(address) // 0x18160ddd => totalSupply() // 0x23b872dd => transferFrom(address,address,uint256) // 0x313ce567 => decimals() // 0x39509351 => increaseAllowance(address,uint256) // 0x49bd5a5e => uniswapV2Pair() // 0x51c868ec => Unknown_51c868ec(uint256) // 0x70a08231 => balanceOf(address) // 0x715018a6 => renounceOwnership() // 0x768a8f1a => unresolved_768a8f1a() // 0x8da5cb5b => owner() // 0x927f3d41 => _defaultAddress() // 0x95d89b41 => symbol() // 0x983bc41b => airdrop(address[],address,uint256) // 0xa457c2d7 => decreaseAllowance(address,uint256) // 0xa9059cbb => transfer(address,uint256) // 0xc45a0155 => factory() // 0xdd62ed3e => allowance(address,address) // 0xebaeea4b => Unknown_ebaeea4b(address,bool) // 0xf2fde38b => transferOwnership(address)}