Ethereum

0x35c31f688b45bca7f3692a5aa989fabd11a9ff43

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

Decompilation outputEthereum · 0x35c31f68…11a9ff431.8 KB7.2 s
Share
358 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;  {        = (0xb2eafb2d020af198ae4888f3a4d6af35cead1634);         ();     ();     ();     ();     ();     ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()  {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x0127d85a)) {            // Route to Unknown_0127d85a(address,address,address,bytes,bytes,uint256,bytes,bytes,uint256) after replacing only msg.sig.            ((0xde353787));            ;        }         ((.. >= 4) && (. == 0x533a03e6)) {            // Route to Unknown_533a03e6(address,address,uint256) after replacing only msg.sig.            ((0xa703a4a7));            ;        }         ((.. >= 4) && (. == 0xdb566128)) {            // Route to Unknown_db566128(address,address,bytes,bytes,uint256) after replacing only msg.sig.            ((0x9526dc52));            ;        }        ();    }             ( ,  ,   ,   ,  )  {        (((0x04 + ) + 0x1f) < ..);        (!(((. << 0x05) + (0x04 + ) + 0x20) > ..));        (((0x04 + ) + 0x1f) < ..);        (!(((. << 0x05) + (0x04 + ) + 0x20) > ..));        (. == 0xb2eafb2d020af198ae4888f3a4d6af35cead1634, ());        ( == (0xb2eafb2d020af198ae4888f3a4d6af35cead1634), ());        ( == , ());          = 0;         () {             (!( < .)) {                ;            }             (!(( < .))) (50);             (.[( << 0x05) + ((0x04 + ) + 0x20)] != ((.[( << 0x05) + ((0x04 + ) + 0x20)]))) {                ();                ;            }             ;             ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ( ,   ) = .(.((0x23b872dd), , (.[( << 0x05) + ((0x04 + ) + 0x20)]), )); // call transferFrom              = 0x60;             ((.) != 0x0) {                 (!(. <= 0xffffffffffffffff)) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }             (!) {                 ();                ;            }              = 0;              = 0;              = !();             () {                ((( + ) + 0x20) - ( + 0x20) >= 0x20);                ( == (!(!())));            }  {                 = ;                 = ;                 = ;            }             () {                 ();                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ( ,   ) = (( << 0x05) + ( + 0x20)).(, (( << 0x05) + ( + 0x20)), ); // call              = 0x60;             ((.) != 0x0) {                 (!(. <= 0xffffffffffffffff)) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }             (!) {                 ();                ;            }             ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                (17);                ;            }             = 0x01 + ;        }    }         ( ,  ,  )  {        (. == 0xb2eafb2d020af198ae4888f3a4d6af35cead1634, ());         = 0x44;         ;         ((( + 0x80) > 0xffffffffffffffff) | (( + 0x80) < )) (65);         =  + 0x80;        ( ,   ) = .(.((0xa9059cbb), , )); // call transfer         (. == 0) {            (, ());              = 0x40;              = 0x40;              = !;             () {                ((((0x60 + ) + 0x20) - 0x80) >= 0x20);                ( == );            }  {                 = ;                 = 0x60;                 = ;            }            (!(), ());        }  {             (!(. <= 0xffffffffffffffff)) (65);             ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            (, ());              = 0x40;              = 0x40;              = !();             (. != 0) {                ((( + .) + 0x20) - ( + 0x20) >= 0x20);                ( == (!(!())));            }  {                 = .;                 = ;                 = .;            }            (!(), ());        }    }         ( ,  ,  ,   ,   ,  ,   ,   ,  )  {        (((0x04 + ) + 0x1f) < ..);        (!(((. << 0x05) + (0x04 + ) + 0x20) > ..));        (((0x04 + ) + 0x1f) < ..);        (!(((. << 0x05) + (0x04 + ) + 0x20) > ..));        (((0x04 + ) + 0x1f) < ..);        (!(((. << 0x05) + (0x04 + ) + 0x20) > ..));        (((0x04 + ) + 0x1f) < ..);        (!(((. << 0x05) + (0x04 + ) + 0x20) > ..));        (. == 0xb2eafb2d020af198ae4888f3a4d6af35cead1634, ());        ( == (0xb2eafb2d020af198ae4888f3a4d6af35cead1634), ());        ( == , ());        ( == , ());          = 0;         () {             (!( < .)) {                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             ;             ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ( ,   ) = .(.((0x23b872dd), , (( << 0x05) + ( + 0x20)), )); // call transferFrom              = 0x60;             ((.) != 0x0) {                 (!(. <= 0xffffffffffffffff)) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }             (!) {                 ();                ;            }              = 0;              = 0;              = !();             () {                ((( + ) + 0x20) - ( + 0x20) >= 0x20);                ( == (!(!())));            }  {                 = ;                 = ;                 = ;            }             () {                 ();                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ( ,   ) = (( << 0x05) + ( + 0x20)).(, (( << 0x05) + ( + 0x20)), ); // call              = 0x60;             ((.) != 0x0) {                 (!(. <= 0xffffffffffffffff)) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }             (!) {                 ();                ;            }             ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                (17);                ;            }             = 0x01 + ;        }          = 0;         () {             (!( < .)) {                ;            }             (!( < .)) {                (50);                ;            }            (( << 0x05) + ( + 0x20) == ((( << 0x05) + ( + 0x20))));             ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ( ,   ) = .(.((0x23b872dd), , (( << 0x05) + ( + 0x20)), )); // call transferFrom              = 0x60;             ((.) != 0x0) {                 (!(. <= 0xffffffffffffffff)) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }             (!) {                 ();                ;            }              = 0;              = 0;              = !();             () {                (!((( + ) + 0x20) - ( + 0x20) < 0x20));                ( == );            }  {                 = ;                 = ;                 = ;            }             () {                 ();                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             (!( < .)) {                (50);                ;            }             (( << 0x05) + ( + 0x20) != ((( << 0x05) + ( + 0x20)))) {                ();                ;            }             ((( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);             =  + (((( + 0x84) - ) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            ( ,   ) = (( << 0x05) + ( + 0x20)).(, (( << 0x05) + ( + 0x20)), ); // call              = 0x60;             ((.) != 0x0) {                 (!(. <= 0xffffffffffffffff)) (65);                 ((( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | (( + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < )) (65);                 =  + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (. + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }             (!) {                 ();                ;            }             ( == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                (17);                ;            }             = 0x01 + ;        }    }         ( )  {         {              := (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.        // 0x0127d85a => Unknown_0127d85a(address,address,address,bytes,bytes,uint256,bytes,bytes,uint256)    // 0x533a03e6 => Unknown_533a03e6(address,address,uint256)    // 0x8da5cb5b => owner()    // 0xdb566128 => Unknown_db566128(address,address,bytes,bytes,uint256)}