BNB Chain

0xd70b245fcd75444eb12b6318c965c5282a7e372f

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

Decompilation outputBNB Chain · 0xd70b245f…2a7e372f4.7 KB8.4 s
Share
315 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;  {        = (0x6374ca2da5646c73eb444ab99780495d61035f9b);        = (0x63d1eacebb70bbbf0641e7c88e9099301bba3688);        = (0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c);        = (0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1);        = (0x55d398326f99059ff775485246999027b3197955);        = (0x1b81d678ffb9c0263b24a97847620c99d213eb14);         ( , );     (, , );     ( , , , , );     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()   {    }        ()  {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x0e6b4b6e)) {            // Route to Unknown_0e6b4b6e(bytes,bytes,uint256,uint256) after replacing only msg.sig.            ((0xb88c74ec));            ;        }         ((.. >= 4) && (. == 0x8bd28fc3)) {            // Route to Unknown_8bd28fc3(address,uint256,uint256) after replacing only msg.sig.            ((0xb01b6cb9));            ;        }        ();    }             (  ,   ,  ,  )   ( ) {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        ((. == . && . != 0x0), "len");        ( <= 0xbb8, "bribe too high");        ((0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1).. != 0x0);        ( ,   ) = (0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1).(); // call        ();         (. > 0xffffffffffffffff) (65);         ;         =  + (0x20 + (0x20 * .));          = ;         ( != 0x0) {             = (. * 0x20) + (0x20 + );        }         (. > 0xffffffffffffffff) (65);         =  + (0x20 + (0x20 * .));          = ;         ( != 0x0) {             = (. * 0x20) + (0x20 + );        }          = 0;         () {             (!( < .)) {                ;            }            (.[(0x20 * ) + ((0x04 + ) + 0x20)] == ((.[(0x20 * ) + ((0x04 + ) + 0x20)])));             (!( < .)) (50);            ( ,   ) = ().((.[(0x20 * ) + ((0x04 + ) + 0x20)]), ((0x20 * ) + ( + 0x20)), ); // call             () {                 =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f));                (!((( + .) - ) < 0x20));                 (!( < .)) (50);                 (!( < .)) (50);                 = 0x01 + ;            }   () {                 (!( < )) (50);                 (!( < )) (50);                 = 0x01 + ;            }  {                 = 0x01 + ;            }        }        ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(()); // staticcall        ();          = .(, ());         (!(0x0 > 0x0 &&  > 0x0 &&  > 0x0)) {             ( != 0x0) {                ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(., ); // call                ();                .(, ());            }              = 0;              =  + 0x80;              =  + 0x20;             () {                 (!( < .)) {                    ;                }                 = 0x01 + ;                 =  + 0x20;                 = 0x20 + ;            }             .(0, 0x60, 0, .);        }  {             (( * ) / 0x2710 == 0) {                 ( != 0x0) {                    ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(., ); // call                    ();                    .(, ());                }                  = 0;                  =  + 0x80;                  =  + 0x20;                 () {                     (!( < .)) {                        ;                    }                     = 0x01 + ;                     =  + 0x20;                     = 0x20 + ;                }                 .(0, 0x60, 0, .);            }  {                 =  + 0x0100;                ( ,   ) = (0x1b81d678ffb9c0263b24a97847620c99d213eb14).((.)); // call                 (!) {                     (!) {                        ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(()); // staticcall                        ();                          = .(, ());                         ( != 0x0) {                            ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(., ); // call                            ();                            .(, ());                        }                          = 0;                          =  + 0x80;                          =  + 0x20;                         () {                             (!( < .)) {                                ;                            }                             = 0x01 + ;                             =  + 0x20;                             = 0x20 + ;                        }                         .(0, 0x60, 0, .);                    }  {                        ((0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c).. != 0x0);                        ( ,   ) = (0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c).(( * ) / 0x2710); // call                        ();                        ( ,   ) = (0x6374ca2da5646c73eb444ab99780495d61035f9b).{ : ( * ) / 0x2710 }(""); // call                          = 0x60;                         (. != 0) {                             =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                             = ;                        }                          = ;                         () {                             = ( * ) / 0x2710;                        }                         (, ( * ) / 0x2710, );                        ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(()); // staticcall                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (!((( + .) - ) < 0x20));                         (. != 0x0) {                             (0x0 != ) {                                  = 0;                                  = 0;                                 () {                                     (!( < .)) {                                        ;                                    }                                     (!( < )) (50);                                      = ;                                     (!( == 0x0 || 0x0 == )) {                                         (!( < )) (50);                                          = ;                                         (( * .) /  != 0) {                                             (!( < 0x4 +  + 0x20)) (50);                                            (0x20 *  + 0xa6 + 0x20 - (0x20 *  + 0xa6) >= 0x20);                                            (.[(0x20 * ) + 0xa6] == ((.[(0x20 * ) + 0xa6])));                                            ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).((.[(0x20 * ) + 0xa6]), ( * .) / ); // call                                            ();                                            .(, ());                                             (!( < 0x4 +  + 0x20)) (50);                                            (0x20 *  + 0xa6 + 0x20 - (0x20 *  + 0xa6) >= 0x20);                                            (.[(0x20 * ) + 0xa6] == ((.[(0x20 * ) + 0xa6])));                                             ((.[(0x20 * ) + 0xa6]), ( * .) / );                                             = (( * .) / ) + ;                                        }                                         = ;                                    }                                     = 0x01 + ;                                     = ;                                }                                 (. > ) {                                    ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(., . - ); // call                                    ();                                    .(, ());                                }                            }  {                                ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(., .); // call                                ();                                .(, ());                            }                        }                    }                }  {                     =  + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f));                    (!((( + .) - ) < 0x20));                    ((0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c).. != 0x0);                    ( ,   ) = (0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c).(.); // call                    ();                    ( ,   ) = (0x6374ca2da5646c73eb444ab99780495d61035f9b).{ : . }(""); // call                      = 0x60;                     (. != 0) {                         =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                         = ;                    }                      = 0;                     () {                         = .;                    }                     (( * ) / 0x2710, ., );                    ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(()); // staticcall                    ();                      = .(, ());                     (. != 0x0) {                        ( ,   ) = (0x55d398326f99059ff775485246999027b3197955).(., .); // call                        ();                        .(, ());                    }                      = 0;                      =  + 0x80;                      =  + 0x20;                     () {                         (!( < .)) {                            ;                        }                         = 0x01 + ;                         =  + 0x20;                         = 0x20 + ;                    }                     .(0, 0x60, , .);                }            }        }    }         ( ,  ,  )   () {        (, , );         (() * (0x26f7 * )) / ((0x26f7 * ) + (0x2710 * (())));    }         ( ,  ,  )  {        // Decompilation incomplete: helper effect provenance is conservative.        (() == ., "self only");        ( > 0x0, "amount=0");        ( ,   ) = (0x63d1eacebb70bbbf0641e7c88e9099301bba3688).(, 0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1, ); // call        ();          = .(, ());        (, "transferFrom failed");        ( ,   ) = (0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1).(); // staticcall        ();        ( ,  ,  ) = .(, (, , ));        ( ,   ) = (0x63d1eacebb70bbbf0641e7c88e9099301bba3688).(0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1); // staticcall        ();          = .(, ());          =  - (());         (!( > (()))) {             = 0;        }        ( > 0x0, "net=0 blocked");        (( - ) * 0x64 /  <= , "TAX too high");          = (() * (0x26f7 * ) / ((0x26f7 * ) + (0x2710 * (())))) > 0;         (() * (0x26f7 * ) / ((0x26f7 * ) + (0x2710 * (()))) > 0) {             = (() * (0x26f7 * ) / ((0x26f7 * ) + (0x2710 * (())))) < (());        }        (, "bad out");        ((0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1).. != 0x0);        ( ,   ) = (0x17662cadea9e98a5a660ca1fe993f136d3cb0ae1).(((() * (0x26f7 * )) / ((0x26f7 * ) + (0x2710 * (())))), 0, (), 0x80); // call        ();         (, , , (() * (0x26f7 * )) / ((0x26f7 * ) + (0x2710 * (()))), (( - ) * 0x64) / );    }         ( )  {         {              := (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.        // 0x0e6b4b6e => Unknown_0e6b4b6e(bytes,bytes,uint256,uint256)    // 0x66eb6e57 => unresolved_66eb6e57()    // 0x82bfefc8 => TOKEN()    // 0x8bd28fc3 => Unknown_8bd28fc3(address,uint256,uint256)    // 0x8dd95002 => WBNB()    // 0xace3a8a7 => PAIR()    // 0xc54e44eb => USDT()    // 0xff1a1600 => V3ROUTER()}