BNB Chain
0xb3bac1fd23bba04a64199fee22b21d132b720f2c
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0xb3bac1fd…2b720f2c12.9 KB11.6 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0xb3bac1fd23bba04a64199fee22b21d132b720f2c
1,021 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; { ( ) ( ); ( , ) ( );} { () ( , , );} { = 59982529565474602786053471651654676140957756238362561887554810313527260672626; = (0xb188526f94182873baf52abaf7656c49e2c70b9a); = 18; = 57005; = 445871849533988182036309736462192083979662038182; = (0xddb812c5b32eddaac4b483844859d954feff096); = 0; = 639002531771979466940299477152232070597554863328; = 93607044848363402794244116661092631206634518530482369123436161345688078138743; = (0x55d398326f99059ff775485246999027b3197955); = (0x10ed43c718714eb63d5aa57b78b54704e256024e); = 40368397740492514231869833713661771874802627165310775572604548191503390570144; ( => ) ; // STORAGE[0x0] ( => ( => )) ; // STORAGE[0x1] ; // STORAGE[0x2] ; // STORAGE[0x3] ; // STORAGE[0x4] [] ; // STORAGE[0x5] [] ; // STORAGE[0x6] ( => ) ; // STORAGE[0x7] ( => ( => )) ; // STORAGE[0x9] ; // STORAGE[0xa] ; // STORAGE[0xb] ; // STORAGE[0xc] ; // STORAGE[0xd] ; // STORAGE[0xe] ; // STORAGE[0xf] ; // STORAGE[0x10] ; // STORAGE[0x11] ; // STORAGE[0x12] ; // STORAGE[0x13] ; ; ; (, ); ( , , ); (); (, ); ( , , ); (); (); ( , , ); ( , , ); (); (, , , ); (, , , ); (); ( ) { ("memory-safe") { (0x00, (224, 0x4e487b71)) (0x04, ) (0x00, 0x24) } } () { } () { // Synthetic compatibility routes preserve original selectors for unresolved names. ((.. >= 4) && (. == 0x04965850)) { // Route to Unknown_04965850(uint256) after replacing only msg.sig. ((0x5f147226)); ; } ((.. >= 4) && (. == 0x148592c1)) { // Route to Unknown_148592c1() after replacing only msg.sig. ((0x345e608e)); ; } ((.. >= 4) && (. == 0x3e8e7905)) { // Route to Unknown_3e8e7905() after replacing only msg.sig. ((0x20cff587)); ; } ((.. >= 4) && (. == 0x8ce5c9b2)) { // Route to Unknown_8ce5c9b2(uint256) after replacing only msg.sig. ((0xad98e3dd)); ; } ((.. >= 4) && (. == 0xc9d3648f)) { // Route to Unknown_c9d3648f(bool) after replacing only msg.sig. ((0x9a4e7088)); ; } ((.. >= 4) && (. == 0xd505accf)) { // Route to Unknown_d505accf(address,address,uint256,uint256,bool,uint256,uint256) after replacing only msg.sig. ((0xcd2d430f)); ; } (); } ( ) () { ( == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000)); = 0x7965db0b00000000000000000000000000000000000000000000000000000000 == ( & 0xffffffff00000000000000000000000000000000000000000000000000000000); (0x7965db0b00000000000000000000000000000000000000000000000000000000 != ( & 0xffffffff00000000000000000000000000000000000000000000000000000000)) { = ( & 0xffffffff00000000000000000000000000000000000000000000000000000000) == 0x1ffc9a700000000000000000000000000000000000000000000000000000000; } ; } ( ) { = ; = .; (([][.]) != 0x0, ()); ( <= 0x64, ()); = () ? 1 : 0; } () ( ) { ; } ( , ) () { (. != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [.][] = ; (., , [.][]); ; } ( ) { = ; = .; (([][.]) != 0x0, ()); = / 0x015180; } () { = ; = .; (([][.]) != 0x0, ()); ((. / 0x015180) > ) { = . / 0x015180; = ().(0x0ddb812c5b32eddaac4b483844859d954feff096); ( > 0xd3c21bcecceda1000000) { = / 0xc8; (( - ( / 0xc8)) < 0xd3c21bcecceda1000000) { = - 0xd3c21bcecceda1000000; } ((0x0ddb812c5b32eddaac4b483844859d954feff096 & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "ERC20: transfer from the zero address"); ((0xdead & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "ERC20: transfer to the zero address"); (!([(0x0ddb812c5b32eddaac4b483844859d954feff096)] < ), "ERC20: transfer amount exceeds balance"); [(0x0ddb812c5b32eddaac4b483844859d954feff096)] = [(0x0ddb812c5b32eddaac4b483844859d954feff096)] - ; [(0xdead)] = + [(0xdead)]; ((0x0ddb812c5b32eddaac4b483844859d954feff096), (0xdead), ); ((0x0ddb812c5b32eddaac4b483844859d954feff096).. != 0x0); ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // call (); (, ); } } } ( , , ) () { (, ., ); (, , ); ; } ( ) () { ; } ( ) { = ; = .; (([][.]) != 0x0, ()); = | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & ); } ( , ) { (, ); } ( , ) { = ; = .; (([][.]) != 0x0, ()); ((). != 0x0) { ( , ) = (.).{ : (). }(""); // call = 0x60; ; (. != 0) { = + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); = ; } (, ()); } (!(() == )) { ( , ) = .(.((0xa9059cbb), ., )); // call transfer (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. != 0x0)); } } () () { (!((0xb3bac1fd23bba04a64199fee22b21d132b720f2c) == () && () == 0x38)) { (.(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x9595765698653a218f80db894ae5a0d9d1aeea01913b21811697eea1220d08bc, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, ., ())); } { 0x05ba1df72b4b4996664f58cafd8405703af28d5f622486d746219092877c6914; } } ( , ) { (. == , "AccessControl: can only renounce roles for self"); (([][])) { [][] = ; (, , .); } } ( , ) () { (. != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [.][] = + [.][]; (., , [.][]); ; } () () { !(!(())); } () () { ((. / 0x015180) > ) { ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // staticcall (); ( , , ) = .(, (, , )); = 0 == (()); (!(0 == (()))) { = !(()); } ; (!) { = (() * 0x0de0b6b3a7640000) / (()); (() == (0xffffffffffffffffffffffffffffffffffffffff & )) { } { = (() * 0x0de0b6b3a7640000) / (()); } = ; } { = 0; } // duplicate declaration of value2 omitted } ; } () () { !(!(())); } () () { ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // staticcall (); ( , , ) = .(, (, , )); = 0 == (()); (!(0 == (()))) { = !(()); } ; (!) { = (() * 0x0de0b6b3a7640000) / (()); (() == (0xffffffffffffffffffffffffffffffffffffffff & )) { } { = (() * 0x0de0b6b3a7640000) / (()); } = ; } { = 0; } ( < ) { (((( - ) * 0x64) / ) < 0x0a) { 0; } = ; ((((((( - ) * 0x64) / ) - 0x0a) * 0x05) + 0x0a) <= ) { = ((((( - ) * 0x64) / ) - 0x0a) * 0x05) + 0x0a; } ; } 0; } () { (); } () () { = ; ((0x50617920546f6b656e0000000000000000000000000000000000000000000009 & 0xff) <= 0x1f, ()); = 0x40 + ; = ; = ; ((0x3100000000000000000000000000000000000000000000000000000000000001 & 0xff) <= 0x1f, ()); = 0x40 + ; = ; = + 0x20; = 0; () { (!( < )) { ; } = 0x20 + ; = 0; () { (!( < )) { ; } = 0x20 + ; = 0; = 0x20 + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ( + 0xe0))))); = + 0x20; () { (!( < .)) { ; } = 0x01 + ; = 0x20 + ; = 0x20 + ; } .(0x0f00000000000000000000000000000000000000000000000000000000000000, 0xe0, (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ( + 0xe0))) - , ., (), 0, (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ) + ( + 0xe0))))) - , , , .); } } } ( ) { = ; = .; (([][.]) != 0x0, ()); = / 0x015180; } () ( ) { ; } ( , ) { = ; = .; (([][.]) != 0x0, ()); (!( > 0x186a0 || > 0x186a0), ()); = () ? 1 : 0; = ; } ( , ) () { (!([.][] < ), "ERC20: decreased allowance below zero"); (. != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [.][] = [(.)][] - ; (., , [.][]); ; } ( , ) () { (, , .); ; } ( ) { = ; = .; (([][.]) != 0x0, ()); = | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & ); } ( , , , , , , ) { ( == ( & 0xff)); (, , , , , , ); } ( , ) { (, ); } ( ) { = ; = .; (([][.]) != 0x0, ()); = ; } ( , , ) { // Decompilation incomplete: helper effect provenance is conservative. ((. / 0x015180) > ) { ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // staticcall (); ; = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // staticcall (); ( , , ) = .(, (, , )); = 0x0 == (0xffffffffffffffffffffffffffff & ); (!(0 == (()))) { = (0xffffffffffffffffffffffffffff & ) == 0x0; } ; (!) { = (() * 0x0de0b6b3a7640000) / (()); (!(() == (0xffffffffffffffffffffffffffffffffffffffff & ))) { = (() * 0x0de0b6b3a7640000) / (()); } = ; } { = 0; } ( != 0x0) { = (. / 0x015180); = ; (., ); } } (!([0x849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f272][] != 0x0 || [0x849ce89bfb011047badb624cc7bca584328cbe2b50dc206a08607a3818d8f272][])) { ; ( != 0xddb812c5b32eddaac4b483844859d954feff096) { = ; ( == (0xddb812c5b32eddaac4b483844859d954feff096)) { (); = (); = ( * ) / 0x0186a0; (( * ) / 0x64 != 0) { = (( * ) / 0x64) + ; = (( * ) / 0x64) + (( * ) / 0x0186a0); } ( != (0), "ERC20: transfer from the zero address"); (() != (0), "ERC20: transfer to the zero address"); (!([] < ), "ERC20: transfer amount exceeds balance"); [] = [] - ; [()] = + [()]; (, (), ); (, , , ( * ) / 0x64); = ().(()); (!( < )) { = 0; (() != 0x0) { = (((( - ) * 0x01) / 0x05) + ); (!( > )) { = ; } (!( == 0x0)) { = + 0x60; (!(0 < .)) (50); (!(0x01 < .)) (50); (!(( - 0x01) < )) (50); = ().((0xb188526f94182873baf52abaf7656c49e2c70b9a)); = 0; = (0x04 + ) + 0xc0; = + 0x20; () { = ; = ; = ; (!( < )) { ; } (!((0x01 + ) < )) { ; } = 0x01 + (0x01 + ); = 0x20 + (0x20 + ); = 0x20 + (0x20 + ); = 0x01 + ; = 0x20 + ; = 0x20 + ; } ((0x10ed43c718714eb63d5aa57b78b54704e256024e).. != 0x0); ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(( / 0x02), 0x01, 0xa0, (0xb188526f94182873baf52abaf7656c49e2c70b9a), ., ); // call (); = ().((0xb188526f94182873baf52abaf7656c49e2c70b9a)); ( , ) = (0x55d398326f99059ff775485246999027b3197955).(((0xb188526f94182873baf52abaf7656c49e2c70b9a)), (), - ); // call (); = .(, ()); ( , ) = (0x55d398326f99059ff775485246999027b3197955).(((0x10ed43c718714eb63d5aa57b78b54704e256024e)), - ); // call (); = .(, ()); ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(0x55d398326f99059ff775485246999027b3197955, (), - , / 0x02, 0x01, 0x01, (), .); // call (); .(, (, , )); } ( , ) = .(.((0xa9059cbb), ((0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6)), ((( - ) * 0x03) / 0x04))); // call transfer (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( != 0x0)); ().(((0x6feddd51a5d321f243b7f3d000e9d4db3891fce0)), (( - ) / 0x04)); (., , , ); } { ().(((0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6)), ); (., , , 0); } } = - ; } = ; } { (!(()), ()); ( != (0), "ERC20: transfer from the zero address"); (0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6 != 0x0, "ERC20: transfer to the zero address"); (!([] < (( * ) / 0x0186a0)), "ERC20: transfer amount exceeds balance"); [] = [] - (( * ) / 0x0186a0); [0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6] = (( * ) / 0x0186a0) + [0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6]; (, 0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6, ( * ) / 0x0186a0); (, , ( * ) / 0x0186a0, 0); = - (( * ) / 0x0186a0); } ( != (0), "ERC20: transfer from the zero address"); ( != (0), "ERC20: transfer to the zero address"); (!([] < ), "ERC20: transfer amount exceeds balance"); [] = [] - ; [] = + []; (, , ); ; } { (, , ); ; } } () { // Decompilation incomplete: helper effect provenance is conservative. (!((. / 0x015180) > )) { ; } { = (. / 0x015180); = ().(0x0ddb812c5b32eddaac4b483844859d954feff096); ( > 0xd3c21bcecceda1000000) { = ( / 0xc8); (( - (( / 0xc8))) < 0xd3c21bcecceda1000000) { = ( - 0xd3c21bcecceda1000000); } (, ((0xdead)), ((0x0ddb812c5b32eddaac4b483844859d954feff096))); ((0x0ddb812c5b32eddaac4b483844859d954feff096).. != 0x0); ( , ) = (0x0ddb812c5b32eddaac4b483844859d954feff096).(); // call (); (, ); } ; } } () () { // Decompilation incomplete: helper effect provenance is conservative. = (0x0de0b6b3a7640000, (), ((0x0ddb812c5b32eddaac4b483844859d954feff096))); (!( < )) { 0; } { ; (!(((( - ) * 0x64) / ) < 0x0a)) { = ; (!((((((( - ) * 0x64) / ) - 0x0a) * 0x05) + 0x0a) > )) { = (((((( - ) * 0x64) / ) - 0x0a) * 0x05) + 0x0a); } ; } { 0; } } } ( , , ) { ( != (0), "ERC20: transfer from the zero address"); (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "ERC20: transfer to the zero address"); (!([] < ), "ERC20: transfer amount exceeds balance"); [] = [] - ; [] = + []; (, , ); } ( , , ) () { // Decompilation incomplete: helper effect provenance is conservative. ( , ) = .(); // staticcall (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (( + .) - >= 0x20); ( == ( & 0xffffffffffffffffffffffffffffffffffffffff)); ( , , ) = ().(); = 0x0 == (0xffffffffffffffffffffffffffff & ); (!(0 == (()))) { = (0xffffffffffffffffffffffffffff & ) == 0x0; } ; (!) { = (() * ) / (()); (!( == (()))) { = (() * ) / (()); } ; } { 0; } } ( , , ) { (!([][] == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) { (!([][] < ), "ERC20: insufficient allowance"); ( != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [][] = [][] - ; (, , [][]); } } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(([][.]) != 0x0)) { (!(0x14 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); ; = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x14 * 0x02) + 0x02)))); = (0x14 * 0x02) + 0x02; (0x14 * 0x2 + 0x2 != 0x0) { = ((0x14 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x14 * 0x02) + 0x01; = .; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); (!(0x20 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x20 * 0x02) + 0x02)))); = (0x20 * 0x02) + 0x02; ((0x20 * 0x02) + 0x02 != 0) { = ((0x20 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x20 * 0x02) + 0x01; = ; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } = 0x28 + (. + ((0x20 + ) + .)); = 0; () { ( >= .) { ; } (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\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\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\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"); } } (!((([][])) != 0x0)) { [][] = ; (, , .); } } () { // Decompilation incomplete: helper effect provenance is conservative. = ; = .; (([][.]) != 0x0, ()); = ().(()); (!( < )) { = 0; (() != 0x0) { = ((( - ) * 0x01) / 0x05) + ; (!( > )) { = ; } ; (!( == 0x0)) { = + 0x60; (!(0 < .)) (50); (!(0x01 < .)) (50); (!(( - 0x01) < )) (50); = ().((0xb188526f94182873baf52abaf7656c49e2c70b9a)); = 0; = (0x04 + ) + 0xc0; = + 0x20; ; () { (!( < )) { ; } = 0x01 + ; = 0x20 + ; = 0x20 + ; ( , ) = (0x55d398326f99059ff775485246999027b3197955).(((0xb188526f94182873baf52abaf7656c49e2c70b9a)), (), ( - )); // call (); = .(, ()); ( , ) = (0x55d398326f99059ff775485246999027b3197955).(((0x10ed43c718714eb63d5aa57b78b54704e256024e)), ( - )); // call (); = .(, ()); ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).(0x55d398326f99059ff775485246999027b3197955, (), ( - ), ( / 0x02), 0x01, 0x01, (), .); // call (); .(, (, , )); } ((0x10ed43c718714eb63d5aa57b78b54704e256024e).. != 0x0); ( , ) = (0x10ed43c718714eb63d5aa57b78b54704e256024e).((( / 0x02)), 0x01, 0xa0, (0xb188526f94182873baf52abaf7656c49e2c70b9a), ., ); // call (); = ().((0xb188526f94182873baf52abaf7656c49e2c70b9a)); } ( , ) = .(.((0xa9059cbb), ((0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6)), (( - ) * 0x03) / 0x04)); // call transfer (); = + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); (!((( + .) - ) < 0x20)); (. == (. != 0x0)); ().(((0x6feddd51a5d321f243b7f3d000e9d4db3891fce0)), ( - ) / 0x04); (., , , ); } { ().(((0x4e1995d0cb72c8ffcfd62ae25e6085ca364494a6)), ); (., , , 0); } } } ( , , , , , , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(. > ), "ERC20Permit: expired deadline"); = 0x07; [] = [] + 0x01; = ((.(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x9595765698653a218f80db894ae5a0d9d1aeea01913b21811697eea1220d08bc, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, ., ()))); (((0xb3bac1fd23bba04a64199fee22b21d132b720f2c) == ()) && (() == 0x38)) { = 0x05ba1df72b4b4996664f58cafd8405703af28d5f622486d746219092877c6914; } ; ; ( <= 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) { (); = 0; = ; (!(())) { = 0x01; = 0; } = ; = ; } { = 0x03; = 0; } (!( <= 0x4)) (33); ( != 0x0) { ( != 0x1, "ECDSA: invalid signature"); ( != 0x2, "ECDSA: invalid signature length"); ( != 0x3, "ECDSA: invalid signature 's' value"); } (() == , "ERC20Permit: invalid signature"); ( != (0), "ERC20: approve from the zero address"); ( != (0), "ERC20: approve to the zero address"); [][] = ; (, , [][]); } ( , ) { // Decompilation incomplete: helper effect provenance is conservative. (!(([][.]) != 0x0)) { (!(0x14 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); ; = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x14 * 0x02) + 0x02)))); = (0x14 * 0x02) + 0x02; (0x14 * 0x2 + 0x2 != 0x0) { = ((0x14 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x14 * 0x02) + 0x01; = .; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); (!(0x20 * 0x2 + 0x2 <= 0xffffffffffffffff)) (65); = + (0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x20 * 0x02) + 0x02)))); = (0x20 * 0x02) + 0x02; ((0x20 * 0x02) + 0x02 != 0) { = ((0x20 * 0x02) + 0x02) + ( + 0x20); } (!(0 < .)) (50); (!(0x01 < .)) (50); = (0x20 * 0x02) + 0x01; = ; ; () { = ; = ; ( <= 0x1) { ; } (!((0xf & ) < 0x10)) (50); (!( < .)) (50); (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + <= 0x1) { ; } (!(0x0f & ( >> 0x04) < 0x10)) (50); (!((0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ) < .)) (50); = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ); = ( >> 0x04) >> 0x04; = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + ; = >> 0x04; } ( == 0x0, "Strings: hex length insufficient"); = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } = 0; () { = ; ( >= ) { ; } (0x20 + >= ) { ; } = 0x20 + (0x20 + ); = 0x20 + ; } = 0x28 + (. + ((0x20 + ) + .)); = 0; () { ( >= .) { ; } (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\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\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\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"); } } ((([][]))) { [][] = ; (, , .); } } ( ) { { := (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. // 0x01ffc9a7 => supportsInterface(bytes4) // 0x04965850 => Unknown_04965850(uint256) // 0x06fdde03 => name() // 0x095ea7b3 => approve(address,uint256) // 0x0ee37889 => setLastDay(uint256) // 0x148592c1 => Unknown_148592c1() // 0x18160ddd => totalSupply() // 0x1f9bbe20 => INTERN_SYSTEM() // 0x23b872dd => transferFrom(address,address,uint256) // 0x23feb3d6 => unresolved_23feb3d6() // 0x248a9ca3 => getRoleAdmin(bytes32) // 0x29555f0c => setBuyLimit(bool) // 0x2b14ca56 => sellFee() // 0x2c871eec => lastDayPrice() // 0x2dfb66d7 => openPrice() // 0x2f2ff15d => grantRole(bytes32,address) // 0x313ce567 => decimals() // 0x33f3d628 => rescueToken(address,uint256) // 0x3644e515 => DOMAIN_SEPARATOR() // 0x36568abe => renounceRole(bytes32,address) // 0x39509351 => increaseAllowance(address,uint256) // 0x3e8e7905 => Unknown_3e8e7905() // 0x47062402 => buyFee() // 0x4b9036d1 => getDayPrice() // 0x4c0dd643 => isLimitBuy() // 0x4ef64d09 => unresolved_4ef64d09() // 0x546da5f6 => getDownFee() // 0x55eda4e8 => BLACK_HOLE() // 0x56f0ef4b => allotFee() // 0x65df2e51 => FOUNDATION() // 0x6644c1e4 => unresolved_6644c1e4() // 0x6b0c932d => lastDay() // 0x6f7b0850 => LP_TOKEN_USDT() // 0x70a08231 => balanceOf(address) // 0x7ecebe00 => nonces(address) // 0x84b0196e => eip712Domain() // 0x8ce5c9b2 => Unknown_8ce5c9b2(uint256) // 0x91d14854 => hasRole(bytes32,address) // 0x95d89b41 => symbol() // 0x98b7d4be => setFeeRatio(uint256,uint256) // 0xa217fddf => DEFAULT_ADMIN_ROLE() // 0xa457c2d7 => decreaseAllowance(address,uint256) // 0xa5f596e5 => unresolved_a5f596e5() // 0xa9059cbb => transfer(address,uint256) // 0xc2524a4a => INTERN_SYSTEM_MANAGER() // 0xc54e44eb => USDT() // 0xc9d3648f => Unknown_c9d3648f(bool) // 0xcbd7be97 => SWAPROUTER() // 0xd505accf => Unknown_d505accf(address,address,uint256,uint256,bool,uint256,uint256) // 0xd547741f => revokeRole(bytes32,address) // 0xd6117529 => setMinFeeAmount(uint256) // 0xdd62ed3e => allowance(address,address) // 0xe0956e0f => TOKEN_MANAGER() // 0xf5d36475 => minFeeAmount()}