BNB Chain
0x551897f8203bd131b350601d3ac0679ba0fc0136
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x551897f8…a0fc01369.9 KB9.4 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x551897f8203bd131b350601d3ac0679ba0fc0136
945 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// Decompilation incomplete: generated symbolic output exceeded safe postprocessing limits for 1 of 32 entry points; ABI and selector evidence were preserved but those Solidity bodies were omitted: 3a46b1a8// SPDX-License-Identifier: MIT >=0.8.0; { = 18; ; // STORAGE[0x0] ( => ) ; // STORAGE[0x1] ( => ( => )) ; // STORAGE[0x2] ; // STORAGE[0x3] ; // STORAGE[0x4] ; // STORAGE[0x5] [] ; // STORAGE[0x6] [] ; // STORAGE[0x7] ( => ) ; // STORAGE[0x8] ( => ) ; // STORAGE[0x9] ( => ) ; // STORAGE[0xa] ; // STORAGE[0xb] [] ; // STORAGE[0xc] ( => ) ; // STORAGE[0xd] ( => ) ; ; ; ; ; // DESOLEX_RAW_STORAGE: whole slot: uint256 [ArithmeticUse] vs uint48 [ArithmeticUse] (ambiguous) ; // DESOLEX_RAW_STORAGE: whole slot: uint256 [ArithmeticUse] vs uint48 [ArithmeticUse] (ambiguous) ; ; ; ; ; ; ; ; // DESOLEX_RAW_STORAGE: whole slot: uint256 [ArithmeticUse] vs uint48 [ArithmeticUse] (ambiguous) ; ; ; (, ); (); (, ); (); (, ); (); (); ( , , ); (, ); (, , ); (, ); (); (); (); (); (); (); ( , , ); (, ); ( , , ); (); (); (); (); (, , ); ( , , ); ( , ); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { (. == , ()); ; } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0xc3cda520)) { // Route to Unknown_c3cda520(address,uint256,uint256,bool,uint256,uint256) after replacing only msg.sig. ((0x82fca7a3)); ; } ((.. >= 4) && (. == 0xd505accf)) { // Route to Unknown_d505accf(address,address,uint256,uint256,bool,uint256,uint256) after replacing only msg.sig. ((0xcd2d430f)); ; } (); } () ( ) { ; } ( , ) () { (. != (0), ((0))); ( != (0), ((0))); [.][] = ; (., , ); ; } ( , , ) () { (, ., ); (, , ); ; } ( , ) { () { (![]) { . = 0x01 + .; [.] = ; [] = .; (, ); } (, ); } ([]) { (!(([] - 0x01) == (. - 0x01))) { (!((. - 0x01) < .)) (50); (!(([] - 0x01) < .)) (50); = ; [] = []; } (!(. != 0x0)) (49); = 0; . = . - 0x01; [] = 0; (, ); } (, ); } () () { (!((0x551897f8203bd131b350601d3ac0679ba0fc0136) == () && () == 0x38)) { (.(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x76318fd1ad05983fffa992d1b51c06ddee35b3070274dd8d784f99be42be9fff, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, ., ())); } { 0x672f7299a26e55656624860ad232c8d018b70e1acac5e8ac49da51bbfb42a9bd; } } ( , ) () { // Function body omitted: symbolic output exceeded safe complexity limits. { (0, 0) } } ( , ) { (, ); } ( ) { (); } () ( ) { (!(. > 0xffffffffffff), ()); (!(. > 0xffffffffffff), ()); ((.) == ((.)), ()); = 0; ; () { = 0x40 + ; (!( < .)) { ; } = 0x20 + ; } .(0x20, ., ); } ( ) { [.] = | ([.] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)); (., [.], ); (((0xffffffffffffffffffffffffffffffffffffffff & [.]) != ) && ([(.)] > 0x0)) { (([.])) { ([(.)] <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { ; = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (([.]), (), ( - [(.)])); } ( != (0)) { ([(.)] <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ([(.)] + )); } } } () { (, (0)); = (0); } ( , ) { (, ); } () () { = ; ((0x4e4650726f6d707420414920546f6b656e000000000000000000000000000011 & 0xff) <= 0x1f, ()); = 0x40 + ; = ; = ; ((0x3100000000000000000000000000000000000000000000000000000000000001 & 0xff) <= 0x1f, ()); = 0x40 + ; = ; = 0; () { = + 0x20; (!( < )) { ; } = 0x20 + ; } = 0; () { (!( < )) { ; } = 0x20 + ; } = 0; = 0x20 + ((( + 0xe0) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20); = + 0x20; () { (!( < .)) { ; } = 0x01 + ; = 0x20 + ; = 0x20 + ; } .(0x0f00000000000000000000000000000000000000000000000000000000000000, 0xe0, (( + 0xe0) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20) - , ., (), 0, ((( + 0xe0) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20) + (( + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)) + 0x20) - , , , .); } ( ) () { (!(. > 0xffffffffffff), ()); ( < ((.)), ()); ( <= 0xffffffffffff, ()); = ; = 0; ( > 0x05) { (0x0 != ) { = 0; = ; ( >> 0x80) { = 0x80; = >> 0x80; } = ; = ; (( >> 0x40) != 0x0) { = 0x40 + ; = >> 0x40; } = ; = ; (( >> 0x20) != 0x0) { = 0x20 + ; = >> 0x20; } = ; = ; (( >> 0x10) != 0x0) { = 0x10 + ; = >> 0x10; } = ; = ; (( >> 0x08) != 0x0) { = 0x08 + ; = >> 0x08; } = ; = ; (( >> 0x04) != 0x0) { = 0x04 + ; = >> 0x04; } = ; = ; (( >> 0x02) != 0x0) { = 0x02 + ; = >> 0x02; } = ; (( >> 0x01) != 0x0) { = 0x01 + ; } } = ; = ( - 0) + 0x01; (!(() < (()))) { } { = - 0; = 0; } = ; = ; } = 0; = ; = ; = ; = 0x0b; () { ( >= ) { ; } = ; = ((( ^ ) / 0x02) + ( & )) + 0x01; (!(() > (()))) { } { = (( ^ ) / 0x02) + ( & ); = ; } = ; = ; = ; = ; = ; } = 0; ( != 0x0) { = ( / 0x01000000000000); } (); } () () { (!(. > 0xffffffffffff), ()); (.); } () ( ) { ; } ( ) () { ([] == 0) { 0; } { ( / 0x01000000000000); } } ( , ) () { (. != (0), ((0))); ( != (0), ((0))); (, , .); ; } ( , , , , , ) { ( == ( & 0xff)); (, , , , , ); } ( , , , , , , ) { ( == ( & 0xff)); (, , , , , , ); } ( , ) ( ) { ( == ( & 0xffffffff)); (!(() < )) (50); = 0x40 + ; .((.), ()); } ( ) { ( != (0), ()); (, ); = ; } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0), ((0))); ( != (0), ((0))); (, , ); } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. = (!(!([]))); (!(([]))) { = (!(!([]))); } (!, "blacklisted address"); ( != (0)) { (!([] < ), (, [], )); [] = [] - ; } { = + ; } ( != (0)) { [] = + []; } { = - ; } (, , ); ( != (0)) { ( == (0)) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { ; = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } } ( == (0)) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } } (((0xffffffffffffffffffffffffffffffffffffffff & []) != (0xffffffffffffffffffffffffffffffffffffffff & [])) && ( > 0x0)) { (([] & 0xffffffffffffffffffffffffffffffffffffffff) == 0x0) { (([])) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ( + )); } } { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ( - )); (()) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ( + )); } } } } { ( <= 0x33b2e3c9fd0803ce8000000, ()); ( == (0)) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } } ( == (0)) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } } (((0xffffffffffffffffffffffffffffffffffffffff & []) != (0xffffffffffffffffffffffffffffffffffffffff & [])) && ( > 0x0)) { (([] & 0xffffffffffffffffffffffffffffffffffffffff) == 0x0) { (([])) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ( + )); } } { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ( - )); (()) { ( <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; ( != 0x0) { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!(() < (())), ()); ((.) != (())) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (())); } = ; } (, (), ( + )); } } } } } ( , , ) { (!([][] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) { (!([][] < ), (, [][], )); ( != (0), ((0))); ( != (0), ((0))); [][] = [][] - ; } } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (. == , ()); (, ); } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0), ((0))); (, , 0); } ( ) { // Decompilation incomplete: helper effect provenance is conservative. (, .); } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. ( != (0), ((0))); (, 0, ); } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. ([][.] != 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { (!([][.] < )); ( != (0), ((0))); (. != (0), ((0))); [][.] = ([][(.)] - ); } (, ); } ( , , , , , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(. > ), ()); ; = 0xa0 + ; = ((.(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x76318fd1ad05983fffa992d1b51c06ddee35b3070274dd8d784f99be42be9fff, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, ., ()))); (((0x551897f8203bd131b350601d3ac0679ba0fc0136) == ()) && (() == 0x38)) { = 0x672f7299a26e55656624860ad232c8d018b70e1acac5e8ac49da51bbfb42a9bd; } = 0; ; ; ( <= 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) { (); = 0; = ; (!(())) { = 0x01; = 0; } = ; = ; } { = ; = 0x03; = 0; } (!( <= 0x3)) (33); ( != 0x0) { ( != 0x1, ()); ( != 0x2, ()); ( != 0x3, ()); } [()] = [()] + 0x01; ([()] == , ()); [()] = | ([()] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)); ((), [], ); (((0xffffffffffffffffffffffffffffffffffffffff & []) != ) && ((([()])) > 0x0)) { ((([]))) { ((([()])) <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; () { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!((.) < (())), ()); ((.) != ((.))) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (((() - (((([()])))))))); } = ; } ((([])), (), ( - ((([()]))))); } ( != (0)) { ((([()])) <= 0xffffffffffffffffffffffffffffffffffffffffffffffffffff, ()); (!(. > 0xffffffffffff), ()); = 0; () { = ( / 0x01000000000000); } = 0; (!) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = 0x40 + ; (!((.) < (())), ()); ((.) != ((.))) { = 0x40 + ; = + 0x01; = ((.)) | (0x01000000000000 * (())); } { = (()) | (0x01000000000000 * (((() - (((([()])))))))); } = ; } (, (), ((([()])) + )); } } } ( , , , , , , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(. > ), ()); = 0x08; [] = [] + 0x01; = ((.(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x76318fd1ad05983fffa992d1b51c06ddee35b3070274dd8d784f99be42be9fff, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, ., ()))); (((0x551897f8203bd131b350601d3ac0679ba0fc0136) == ()) && (() == 0x38)) { = 0x672f7299a26e55656624860ad232c8d018b70e1acac5e8ac49da51bbfb42a9bd; } = 0; ; ; ( <= 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) { (); = 0; = ; (!(())) { = 0x01; = 0; } = ; = ; } { = ; = 0x03; = 0; } (!( <= 0x3)) (33); ( != 0x0) { ( != 0x1, ()); ( != 0x2, ()); ( != 0x3, ()); } (() == , ()); ( != (0)); ( != (0)); [][] = ; (, , ); } ( ) { { := (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) // 0x18160ddd => totalSupply() // 0x23b872dd => transferFrom(address,address,uint256) // 0x23fb462a => updateToBlacklist(address,bool) // 0x313ce567 => decimals() // 0x3644e515 => DOMAIN_SEPARATOR() // 0x3a46b1a8 => getPastVotes(address,uint256) // 0x40c10f19 => mint(address,uint256) // 0x42966c68 => burn(uint256) // 0x4bf5d7e9 => CLOCK_MODE() // 0x587cde1e => delegates(address) // 0x5c19a95c => delegate(address) // 0x6fcfff45 => numCheckpoints(address) // 0x70a08231 => balanceOf(address) // 0x715018a6 => renounceOwnership() // 0x79cc6790 => burnFrom(address,uint256) // 0x7ecebe00 => nonces(address) // 0x84b0196e => eip712Domain() // 0x87c7b9f9 => getBlacklistedAddressAtIndex(uint256) // 0x8da5cb5b => owner() // 0x8e539e8c => getPastTotalSupply(uint256) // 0x91ddadf4 => clock() // 0x95d89b41 => symbol() // 0x9ab24eb0 => getVotes(address) // 0xa9059cbb => transfer(address,uint256) // 0xc3cda520 => Unknown_c3cda520(address,uint256,uint256,bool,uint256,uint256) // 0xd505accf => Unknown_d505accf(address,address,uint256,uint256,bool,uint256,uint256) // 0xdd62ed3e => allowance(address,address) // 0xf1127ed8 => checkpoints(address,uint32) // 0xf2fde38b => transferOwnership(address) // 0xfe575a87 => isBlacklisted(address)}