Ethereum

0x7083ddece38216c7741fa76c75326bea744ed321

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

Decompilation outputEthereum · 0x7083ddec…744ed3219.6 KB36.7 s
Share
1,080 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]         ( )   {         ("memory-safe") {            (0x00, (224, 0x4e487b71))            (0x04, )            (0x00, 0x24)        }    }    ()   {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x1f318cc3)) {            // Route to Unknown_1f318cc3() after replacing only msg.sig.            ((0x9d208414));            ;        }         ((.. >= 4) && (. == 0x991cef43)) {            // Route to Unknown_991cef43() after replacing only msg.sig.            ((0x586c86d9));            ;        }         ((.. >= 4) && (. == 0x9ac92217)) {            // Route to Unknown_9ac92217() after replacing only msg.sig.            ((0xe3e02712));            ;        }         ((.. >= 4) && (. == 0xab2786f5)) {            // Route to Unknown_ab2786f5(uint256,bytes,bytes) after replacing only msg.sig.            ((0x795b4de2));            ;        }         ((.. >= 4) && (. == 0xd98787c9)) {            // Route to Unknown_d98787c9() after replacing only msg.sig.            ((0x481c3d21));            ;        }         ((.. >= 4) && (. == 0xe3bc4005)) {            // Route to Unknown_e3bc4005() after replacing only msg.sig.            ((0x049cc107));            ;        }         ((.. >= 4) && (. == 0xf7d9430e)) {            // Route to Unknown_f7d9430e(uint256,bytes,bytes) after replacing only msg.sig.            ((0x964158f6));            ;        }         ((.. >= 4) && (. == 0xfe2cdc13)) {            // Route to Unknown_fe2cdc13(bytes,bytes,address[],bytes,address[],bytes) after replacing only msg.sig.            ((0xe5cd144c));            ;        }        ();    }             ()    () {         !(!(( / 0x01000000000000000000000000000000000000000000)));    }         ()   {        (. == , "only owner");        ( ,   ) = (0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c).(()); // staticcall        ();          = .(, ());         ( != 0x0) {            ( ,   ) = (0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c).(, ); // call            ();            .(, ());        }    }         ()    () {         ();    }         ()    () {         !(!(( / 0x010000000000000000000000000000000000000000000000)));    }         ( ,   ,   )   {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (. == , "only owner");         = 0x20 + ((. * 0x20) + );         = .[36:36];         = ;        ( ,   ) = ().(); // staticcall        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (( + .) -  >= 0x20);        ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));          = ;         (!(())) {             = ;            (().. != 0x0);            ( ,   ) = ().(, 0x60, (0x12)); // call            ();             = ;            ( ,   ) = ().(); // staticcall            ();             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            (( + .) -  >= 0x20);            ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));             = ;        }        (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");          = 0;         () {             ( >= .) {                ;            }              = ;             (0x0 == ) {                 = ;                 (!( < .)) (50);                ( ,   ) = .(.((0x70a08231), (), )); // staticcall balanceOf                ();                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                (( + .) -  >= 0x20);                 = ;            }             (0x0 != ) {                 (!( < .)) (50);                 = 0x84 + ;                ( ,   ) = .(.((0x23b872dd), , , )); // call transferFrom                  = 0x60;                 (. != 0) {                     =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                     = ;                }            }             = 0x01 + ;        }         = ;        ( ,   ) = .(.((0x70a08231), (), )); // staticcall balanceOf        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (( + .) -  >= 0x20);         ( != 0x0) {             = 0x40 + ;             (!(0 < .)) (50);             (!(0 < .)) (50);             = ;              = 0;              =  + 0x20;              = ;              = 0;              = ;              = ((0x04 + ) + 0x40) + 0x20;             () {                 ( >= ) {                    ;                }                 = 0x01 + ;                 =  + 0x20;                 = ;                 = ;                 = ;                 = 0x20 + ;            }             = 0;             =  + 0x20;             = ;             = 0;             = ;             = (0x20 + (((0x04 + ) + 0x40) + 0x20)) + 0x20;             () {                 ( >= ) {                    ;                }                 = 0x01 + ;                 =  + 0x20;                 = ;                 = ;                 = ;                 = 0x20 + ;            }            (().. != 0x0);            ( ,   ) = ().(0x40, (0x20 + (((0x04 + ) + 0x40) + 0x20)) - (0x04 + )); // call            ();        }    }         ()   {        ();    }         ( ,  , []  , []  ,   )    () {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) +  + 0x20) > ..));         0xbc197c8100000000000000000000000000000000000000000000000000000000;    }         ()    () {         !(!(( / 0x010000000000000000000000000000000000000000)));    }         ()    () {         !(!(( / 0x0100000000000000000000000000000000000000000000)));    }         ( ,  ,  ,  ,   )    () {        (!(((0x04 + ) +  + 0x20) > ..));         0xf23a6e6100000000000000000000000000000000000000000000000000000000;    }         ( ,   ,   )   {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (. == , "only owner");         = 0x20 + ((. * 0x20) + );         = .[36:36];         = ;        ( ,   ) = ().(); // staticcall        ();         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        (( + .) -  >= 0x20);        ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));          = ;         (!(())) {             = ;            (().. != 0x0);            ( ,   ) = ().(, 0x60, (0)); // call            ();             = ;            ( ,   ) = ().(); // staticcall            ();             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            (( + .) -  >= 0x20);            ( == ( & 0xffffffffffffffffffffffffffffffffffffffff));             = ;        }        (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");         (. > 0xffffffffffffffff) (65);         =  + (0x20 + (0x20 * .));          = .;         (. != 0x0) {             = (. * 0x20) + (0x20 + );        }         (. > 0xffffffffffffffff) (65);         =  + (0x20 + (0x20 * .));          = .;         (. != 0x0) {             = (. * 0x20) + (0x20 + );        }          = 0;          = 0;         () {             ( >= .) {                ;            }             = 0x84 + ;            ( ,   ) = ().(, , ); // call              = 0x60;             (. != 0) {                 =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                 = ;            }              = ;             () {                 = ;                 (!( < .)) (50);                ( ,   ) = .(.((0x70a08231), (), )); // staticcall balanceOf                ();                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                (( + .) -  >= 0x20);                 =  > 0;            }              = ;             () {                 (!( < .)) (50);                 (!( < .)) (50);                 (!( < .)) (50);                 = 0x01 + ;            }             = 0x01 + ;             = ;        }         (!( == 0x0)) {             (!( <= 0xffffffffffffffff)) (65);             =  + (0x20 + (0x20 * ));              = ;             = ( * 0x20) + (0x20 + );             (!( <= 0xffffffffffffffff)) (65);             =  + (0x20 + (0x20 * ));             ( != 0x0) {            }              = 0;             () {                 ( >= 0x0) {                    ;                }                 (!( < .)) (50);                 (!( < .)) (50);                 = 0x01 + ;            }             = ;              = 0;              =  + 0x20;              = ;              = 0;              = ;              = ((0x04 + ) + 0x40) + 0x20;             () {                 ( >= ) {                    ;                }                 = 0x01 + ;                 =  + 0x20;                 = ;                 = ;                 = ;                 = 0x20 + ;                  = 0;                  =  + 0x20;                  = ;                  = 0;                  = ;                  =  + 0x20;                 () {                     ( >= ) {                        ;                    }                     = 0x01 + ;                     =  + 0x20;                     = ;                     = ;                     = ;                     = 0x20 + ;                    (().. != 0x0);                    ( ,   ) = ().(0x40,  - (0x04 + )); // call                    ();                }            }        }    }         ()   {        ();    }         (  ,   , []  ,   , []  ,   )   {        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (!(((0x04 + ) + (. << 0x05) + 0x20) > ..));        (. == , "only owner");         (!()) {              = 0x60a0604052348015600e575f5ffd5b50336080526080516103ed6100315f395f8181608001526101dc01526103ed5ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806323b872dd146100385780636453dcf61461005f575b5f5ffd5b61004b610046366004610333565b610074565b604051901515815260200160405180910390f35b61007261006d366004610333565b6101d1565b005b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100dd5760405162461bcd60e51b815260206004820152600860248201526737b7363c90383bb760c11b60448201526064015b60405180910390fd5b600254604080513360248201526001600160a01b038781166044830152861660648201526084810183905260a48082018690528251808303909101815260c490910182526020810180516001600160e01b031663f95d7da360e01b17905290515f91829173faafdc07907ff5120a76b34b731b278c38d6043c916101609161036c565b5f604051808303815f865af19150503d805f8114610199576040519150601f19603f3d011682016040523d82523d5f602084013e61019e565b606091505b50915091508181906101c35760405162461bcd60e51b81526004016100d49190610382565b506001979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102345760405162461bcd60e51b815260206004820152600860248201526737b7363c90383bb760c11b60448201526064016100d4565b604080513360248201526001600160a01b0385811660448301528416606482015260848082018490528251808303909101815260a490910182526020810180516001600160e01b03166320e0ef8760e11b17905290515f91829173faafdc07907ff5120a76b34b731b278c38d6043c916102ad9161036c565b5f604051808303815f865af19150503d805f81146102e6576040519150601f19603f3d011682016040523d82523d5f602084013e6102eb565b606091505b50915091508181906103105760405162461bcd60e51b81526004016100d49190610382565b505050505050565b80356001600160a01b038116811461032e575f5ffd5b919050565b5f5f5f60608486031215610345575f5ffd5b61034e84610318565b925061035c60208501610318565b9150604084013590509250925092565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220dbd7db47e1ae81efaf6aec62dad5e6f0ac7faa034ab06fb93f91010112c17f5e64736f6c63430008240033; // this.code[8319:9373]              = 0;              = ;              = (0x041e + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0x041e + ) - )))));             = ((0, , ((0x041e + ) - )));        }         (!()) {             = 0x6080604052348015600e575f5ffd5b50606180601a5f395ff3fe6080604081905262461bcd60e51b81526020608452600660a452651b1bd8dad95960d21b60c452606490fdfea264697066735822122008a538fd2d8ce6ff50454a9122104c2d08d08ae193d1ad1d3a3c164770c7282964736f6c63430008240033; // this.code[9373:9496]              = 0;              = ;              = (0x7b + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0x7b + ) - )))));             = ((0, , ((0x7b + ) - )));             = 0x6080604052348015600e575f5ffd5b5060b380601a5f395ff3fe6080604052307313fa4b9a6c2f2604c919f96f456e3b50e968b1571480603857503073268c039a3127d3107c014f0dc6c390a53e6db27f145b1560715760405162461bcd60e51b81526020600482015260066024820152651b1bd8dad95960d21b604482015260640160405180910390fd5b3360015560043560025500fea2646970667358221220e7ebef156a5f280fdc19f760009591362d20af39634fe0bb0ddaab90d43ea71e64736f6c63430008240033; // this.code[9496:9701]              = 0;              = ;              = (0xcd + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0xcd + ) - )))));             = (((0, , ((0xcd + ) - )))) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );        }         (!(( / 0x010000000000000000000000000000000000000000))) {            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(0x01); // call            ();            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(); // call            ();            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(, 0x60, 0xc0); // call            ();             = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & );        }         (!(( / 0x01000000000000000000000000000000000000000000))) {            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(0x01); // call            ();            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(); // call            ();            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(, 0x60, 0xc0); // call            ();             = 0x01000000000000000000000000000000000000000000 | (0xffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff & );        }         (!(( / 0x0100000000000000000000000000000000000000000000))) {            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).((), 0x60, 0xa0); // call            ();            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(, 0x60, 0xa0); // call            ();             = 0x0100000000000000000000000000000000000000000000 | (0xffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff & );        }         (!(( / 0x010000000000000000000000000000000000000000000000))) {            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).((), 0x60, 0xa0); // call            ();            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(, 0x60, 0xa0); // call            ();             = 0x010000000000000000000000000000000000000000000000 | (0xffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff & );        }          = 0;         () {             (!( < .)) {                ;            }             (!( < .)) (50);              = 0x40 + ;             (!(0 < .)) (50);             (!( < .)) (50);             = 0x40 + ;             = .[4:36];             (!(0 < .)) (50);             = ;            ( ,   ) = ().((0x20 * ) + ( + 0x20)); // staticcall            ();             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            (!((( + .) - ) < 0x20));            (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));              = .;             (!((.))) {                 = ;                (().. != 0x0);                ( ,   ) = ().((0x20 * ) + ( + 0x20), 0x60, (0)); // call                ();                 = ;                ( ,   ) = ().((0x20 * ) + ( + 0x20)); // staticcall                ();                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                (!((( + .) - ) < 0x20));                (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));                 = .;            }            (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");             ( > 0xffffffffffffffff) (65);             =  + (0x20 + (0x20 * ));              = ;             ( != 0x0) {                 = ( * 0x20) + (0x20 + );            }             ( > 0xffffffffffffffff) (65);             =  + (0x20 + (0x20 * ));              = ;             ( != 0x0) {                 = ( * 0x20) + (0x20 + );            }              = 0;              = 0;             () {                 ( >= ) {                    ;                }                 (!( < )) (50);                 = 0x84 + ;                ( ,   ) = ().(, , ); // call                  = 0x60;                 (. != 0) {                     =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                     = ;                }                  = ;                 () {                     = ;                     (!( < )) (50);                    ( ,   ) = .(.((0x70a08231), (), )); // staticcall balanceOf                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (!((( + .) - ) < 0x20));                     = . > 0;                }                  = ;                 () {                     (!( < )) (50);                     (!( < .)) (50);                     (!( < .)) (50);                     = 0x01 + ;                }                 = 0x01 + ;                 = ;            }             ( != 0x0) {                 (!( <= 0xffffffffffffffff)) (65);                 =  + (0x20 + (0x20 * ));                  = ;                 = ( * 0x20) + (0x20 + );                 (!( <= 0xffffffffffffffff)) (65);                 =  + (0x20 + (0x20 * ));                 ( != 0x0) {                }                  = 0;                 () {                     ( >= 0x0) {                        ;                    }                     (!( < .)) (50);                     (!( < .)) (50);                     = 0x01 + ;                }                  = 0;                  =  + 0x20;                  = ;                  = 0;                  = ;                  = ((0x04 + ) + 0x40) + 0x20;                 () {                     ( >= ) {                        ;                    }                     ((0x01 + ) >= ) {                        ;                    }                     = 0x01 + (0x01 + );                     = ( + 0x20) + 0x20;                     = ;                     = ;                     = ;                     = 0x20 + (0x20 + );                }                ;            }             = 0x01 + ;        }          = 0;         () {             (!( < .)) {                ;            }             (!( < .)) {                (50);                ;            }             = 0x40 + ;             (!(0 < .)) (50);             (!( < .)) {                (50);                ;            }             = 0x40 + ;             = .[4:36];             (!(0 < .)) (50);             = ;            ( ,   ) = ().((0x20 * ) + ( + 0x20)); // staticcall            ();             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            (!((( + .) - ) < 0x20));            (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));              = .;             (!((.))) {                 = ;                (().. != 0x0);                ( ,   ) = ().((0x20 * ) + ( + 0x20), 0x60, (0x12)); // call                ();                 = ;                ( ,   ) = ().((0x20 * ) + ( + 0x20)); // staticcall                ();                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                (!((( + .) - ) < 0x20));                (. == (. & 0xffffffffffffffffffffffffffffffffffffffff));                 = .;            }            (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");              = 0;              = ;              = ;              = ;              = 0;             () {                 ( < ) {                     (!( < )) (50);                      = ;                     (0x0 == ) {                         = ;                         (!( < )) (50);                        ( ,   ) = .(.((0x70a08231), (), ((0x20 * ) + ( + 0x20)))); // staticcall balanceOf                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (!((( + .) - ) < 0x20));                         = .;                    }                     (0x0 != ) {                         (!( < )) (50);                         = 0x84 + ;                        ( ,   ) = .(.((0x23b872dd), , , )); // call transferFrom                          = 0x60;                         (. != 0) {                             =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                             = ;                        }                    }                     = 0x01 + ;                     = ;                     = ;                     = ;                     = ;                    ;                }                 = ;                ( ,   ) = .(.((0x70a08231), (), ((0x20 * ) + ( + 0x20)))); // staticcall balanceOf                ();                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                (!((( + .) - ) < 0x20));                 (. == 0) {                     = 0x01 + ;                    ;                }                 = 0x40 + ;                 (!(0 < .)) (50);                 (!(0 < .)) (50);                  = 0;                  =  + 0x20;                  = ;                  = 0;                  = ;                  = ((0x04 + ) + 0x40) + 0x20;                 () {                     = ;                     ( >= ) {                        ;                    }                     ((0x01 + ) >= ) {                        ;                    }                     = 0x01 + (0x01 + );                     = ( + 0x20) + 0x20;                     = ;                     = ;                     = ;                     = 0x20 + (0x20 + );                      = 0;                      =  + 0x20;                      = ;                      = 0;                      = ;                      = (0x20 + ) + 0x20;                     () {                         ( >= ) {                            ;                        }                         ((0x01 + ) >= ) {                            ;                        }                         = 0x01 + ;                         =  + 0x20;                         = ;                         = ;                         = ;                         = 0x20 + ;                        (().. != 0x0);                        ( ,   ) = ().(0x40, (0x20 + ) - (0x04 + )); // call                        ();                         (!((0x01 + ) < .)) {                            ( ,   ) = (0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c).(()); // staticcall                            ();                              = .(, ());                             ( != 0x0) {                                ( ,   ) = (0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c).(, ); // call                                ();                                .(, ());                            }                            ;                        }                         (!((0x01 + ) < .)) {                            (50);                            ;                        }                        (((0x20 * (0x01 + )) + ((0x04 + ) + 0x20) + 0x20) - ((0x20 * (0x01 + )) + ((0x04 + ) + 0x20)) >= 0x20);                         = 0x40 + ;                         (!(0 < .)) (50);                         (!((0x01 + ) < .)) {                            (50);                            ;                        }                         = 0x40 + ;                         = .[4:36];                         (!(0 < .)) (50);                         = ;                        ( ,   ) = ().((0x20 * (0x01 + )) + ( + 0x20)); // staticcall                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                          = .;                         (!((.))) {                             = ;                            (().. != 0x0);                            ( ,   ) = ().((0x20 * ) + ( + 0x20), 0x60, (0x12)); // call                            ();                             = ;                            ( ,   ) = ().((0x20 * (0x01 + )) + ( + 0x20)); // staticcall                            ();                             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                            (( + .) -  >= 0x20);                             = .;                        }                        (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");                         (0 < ) {                             (!(0 < )) (50);                              = ;                             (0x0 == ) {                                 = ;                                 (!(0 < )) (50);                                ( ,   ) = .(.((0x70a08231), (), ((0x20 * (0x01 + )) + ( + 0x20)))); // staticcall balanceOf                                ();                                 =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                (( + .) -  >= 0x20);                                 = .;                            }                             (0x0 != ) {                                 (!(0 < )) (50);                                ( ,   ) = .(.((0x23b872dd), , , )); // call transferFrom                                  = 0x60;                                 (. != 0) {                                     =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                     = ;                                }                            }                             = 0x01;                             = ;                             = ;                             = ;                             = 0x01 + ;                            ;                        }                         = ;                        ( ,   ) = .(.((0x70a08231), (), ((0x20 * (0x01 + )) + ( + 0x20)))); // staticcall balanceOf                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                         (. == 0) {                            ;                        }                         = 0x40 + ;                         (!(0 < .)) (50);                         (!(0 < .)) (50);                         = ;                         = 0;                         =  + 0x20;                         = ;                         = 0;                         = ;                         = ((0x04 + ) + 0x40) + 0x20;                         = 0x01 + (0x01 + );                    }                    (().. != 0x0);                    ( ,   ) = ().(0x40, (0x20 + ) - (0x04 + ), , , ); // call                    ();                     (!((0x01 + ) < .)) {                        ( ,   ) = (0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c).(()); // staticcall                        ();                          = .(, ());                         ( != 0x0) {                            ( ,   ) = (0xf629cbd94d3791c9250152bd8dfbdf380e2a3b9c).(, ); // call                            ();                            .(, ());                        }                        ;                    }                     (!((0x01 + ) < .)) {                        (50);                        ;                    }                    (((0x20 * (0x01 + )) + ((0x04 + ) + 0x20) + 0x20) - ((0x20 * (0x01 + )) + ((0x04 + ) + 0x20)) >= 0x20);                    ([(0x01 + )] == ([(0x01 + )] & 0xffffffffffffffffffffffffffffffffffffffff));                     = 0x40 + ;                     (!(0 < .)) (50);                     (!((0x01 + ) < .)) {                        (50);                        ;                    }                     = 0x40 + ;                     = .[4:36];                     (!(0 < .)) (50);                     = ;                    ( ,   ) = ().((0x20 * (0x01 + )) + ( + 0x20)); // staticcall                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                      = .;                     (!((.))) {                         = ;                        (().. != 0x0);                        ( ,   ) = ().((0x20 * ) + ( + 0x20), 0x60, (0x12)); // call                        ();                         = ;                        ( ,   ) = ().((0x20 * (0x01 + )) + ( + 0x20)); // staticcall                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                         = .;                    }                    (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");                     (0 < ) {                         (!(0 < )) (50);                          = ;                         (0x0 == ) {                             = ;                             (!(0 < )) (50);                            ( ,   ) = .(.((0x70a08231), (), ((0x20 * (0x01 + )) + ( + 0x20)))); // staticcall balanceOf                            ();                             =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                            (( + .) -  >= 0x20);                             = .;                        }                         (0x0 != ) {                             (!(0 < )) (50);                             = 0x84 + ;                            ( ,   ) = .(.((0x23b872dd), , , )); // call transferFrom                              = 0x60;                             (. != 0) {                                 =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                 = ;                            }                        }                         = 0x01;                         = ;                         = ;                         = ;                         = 0x01 + ;                        ;                    }                     = ;                    ( ,   ) = .(.((0x70a08231), (), ((0x20 * (0x01 + )) + ( + 0x20)))); // staticcall balanceOf                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                     (. == 0) {                        ;                    }                     = 0x40 + ;                     (!(0 < .)) (50);                     (!(0 < .)) (50);                     = ;                     = 0;                     =  + 0x20;                     = ;                     = 0;                     = ;                     = ((0x04 + ) + 0x40) + 0x20;                     = 0x01 + (0x01 + );                }                 = 0;                 =  + 0x20;                 = ;                 = 0;                 = ;                 = (0x20 + ) + 0x20;                 () {                     ( >= ) {                        ;                    }                     ((0x01 + ) >= ) {                        ;                    }                     = 0x01 + (0x01 + );                     = ( + 0x20) + 0x20;                     = ;                     = ;                     = ;                     = 0x20 + (0x20 + );                    (().. != 0x0);                    ( ,   ) = ().(0x40,  - (0x04 + )); // call                    ();                     (!((0x01 + ) < .)) {                        ;                    }                     (!((0x01 + ) < .)) {                        (50);                        ;                    }                    (((0x20 * (0x01 + )) + ((0x04 + ) + 0x20) + 0x20) - ((0x20 * (0x01 + )) + ((0x04 + ) + 0x20)) >= 0x20);                    ([(0x01 + )] == ([(0x01 + )] & 0xffffffffffffffffffffffffffffffffffffffff));                     = 0x40 + ;                     (!(0 < .)) (50);                     (!((0x01 + ) < .)) {                        (50);                        ;                    }                     = 0x40 + ;                     = .[4:36];                     (!(0 < .)) (50);                     = ;                    ( ,   ) = ().((0x20 * (0x01 + )) + ( + 0x20)); // staticcall                    ();                     =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    (( + .) -  >= 0x20);                      = .;                     (!((.))) {                         = ;                        (().. != 0x0);                        ( ,   ) = ().((0x20 * ) + ( + 0x20), 0x60, (0x12)); // call                        ();                         = ;                        ( ,   ) = ().((0x20 * (0x01 + )) + ( + 0x20)); // staticcall                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                         = .;                    }                    (( & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0, "no clone");                     (0 >= ) {                         = ;                        ().((), ((0x20 * (0x01 + )) + ( + 0x20))); // staticcall                        ;                    }                     (!(0 < )) (50);                      = ;                     (0x0 == ) {                         = ;                         (!(0 < )) (50);                        ( ,   ) = .(.((0x70a08231), (), ((0x20 * (0x01 + )) + ( + 0x20)))); // staticcall balanceOf                        ();                         =  + ((. + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                        (( + .) -  >= 0x20);                         = .;                    }                     (0x0 != ) {                         (!(0 < )) (50);                         = 0x84 + ;                        ( ,   ) = .(.((0x23b872dd), , , )); // call transferFrom                          = 0x60;                         (. != 0) {                             =  + ((. + 0x3f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                             = ;                        }                    }                     = 0x01;                     = ;                     = ;                     = ;                     = 0x01 + ;                }                (().. != 0x0);                ( ,   ) = ().(0x40,  - (0x04 + )); // call                ();                 = 0x01 + ;            }        }    }         ()  {        // Decompilation incomplete: helper effect provenance is conservative.        (. == , "only owner");         (!()) {              = 0x60a0604052348015600e575f5ffd5b50336080526080516103ed6100315f395f8181608001526101dc01526103ed5ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c806323b872dd146100385780636453dcf61461005f575b5f5ffd5b61004b610046366004610333565b610074565b604051901515815260200160405180910390f35b61007261006d366004610333565b6101d1565b005b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146100dd5760405162461bcd60e51b815260206004820152600860248201526737b7363c90383bb760c11b60448201526064015b60405180910390fd5b600254604080513360248201526001600160a01b038781166044830152861660648201526084810183905260a48082018690528251808303909101815260c490910182526020810180516001600160e01b031663f95d7da360e01b17905290515f91829173faafdc07907ff5120a76b34b731b278c38d6043c916101609161036c565b5f604051808303815f865af19150503d805f8114610199576040519150601f19603f3d011682016040523d82523d5f602084013e61019e565b606091505b50915091508181906101c35760405162461bcd60e51b81526004016100d49190610382565b506001979650505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102345760405162461bcd60e51b815260206004820152600860248201526737b7363c90383bb760c11b60448201526064016100d4565b604080513360248201526001600160a01b0385811660448301528416606482015260848082018490528251808303909101815260a490910182526020810180516001600160e01b03166320e0ef8760e11b17905290515f91829173faafdc07907ff5120a76b34b731b278c38d6043c916102ad9161036c565b5f604051808303815f865af19150503d805f81146102e6576040519150601f19603f3d011682016040523d82523d5f602084013e6102eb565b606091505b50915091508181906103105760405162461bcd60e51b81526004016100d49190610382565b505050505050565b80356001600160a01b038116811461032e575f5ffd5b919050565b5f5f5f60608486031215610345575f5ffd5b61034e84610318565b925061035c60208501610318565b9150604084013590509250925092565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fea2646970667358221220dbd7db47e1ae81efaf6aec62dad5e6f0ac7faa034ab06fb93f91010112c17f5e64736f6c63430008240033; // this.code[8319:9373]              = 0;              = ;              = (0x041e + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0x041e + ) - )))));             = ((0, , ((0x041e + ) - )));        }         (!(( / 0x010000000000000000000000000000000000000000))) {            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(0x01); // call            ();            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(); // call            ();            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).(, 0x60, 0xc0); // call            ();             = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & );        }         (!(( / 0x01000000000000000000000000000000000000000000))) {            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(0x01); // call            ();            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(); // call            ();            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).(, 0x60, 0xc0); // call            ();             = 0x01000000000000000000000000000000000000000000 | (0xffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff & );        }    }         ()  {        // Decompilation incomplete: helper effect provenance is conservative.        (. == , "only owner");        ((0xff &  / 0x10000000000000000000000000000000000000000 && 0xff &  / 0x1000000000000000000000000000000000000000000), "setup first");         (!()) {              = 0x6080604052348015600e575f5ffd5b50606180601a5f395ff3fe6080604081905262461bcd60e51b81526020608452600660a452651b1bd8dad95960d21b60c452606490fdfea264697066735822122008a538fd2d8ce6ff50454a9122104c2d08d08ae193d1ad1d3a3c164770c7282964736f6c63430008240033; // this.code[9373:9496]              = 0;              = ;              = (0x7b + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0x7b + ) - )))));             = ((0, , ((0x7b + ) - )));             = 0x6080604052348015600e575f5ffd5b5060b380601a5f395ff3fe6080604052307313fa4b9a6c2f2604c919f96f456e3b50e968b1571480603857503073268c039a3127d3107c014f0dc6c390a53e6db27f145b1560715760405162461bcd60e51b81526020600482015260066024820152651b1bd8dad95960d21b604482015260640160405180910390fd5b3360015560043560025500fea2646970667358221220e7ebef156a5f280fdc19f760009591362d20af39634fe0bb0ddaab90d43ea71e64736f6c63430008240033; // this.code[9496:9701]              = 0;              = ;              = (0xcd + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0xcd + ) - )))));             = (((0, , ((0xcd + ) - )))) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & );        }         (!(( / 0x0100000000000000000000000000000000000000000000))) {            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).((), 0x60, 0xa0); // call            ();            ((0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).. != 0x0);            ( ,   ) = (0x13fa4b9a6c2f2604c919f96f456e3b50e968b157).((), 0x60, 0xa0); // call            ();             = 0x0100000000000000000000000000000000000000000000 | (0xffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff & );        }         (!(( / 0x010000000000000000000000000000000000000000000000))) {            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).((), 0x60, 0xa0); // call            ();            ((0x268c039a3127d3107c014f0dc6c390a53e6db27f).. != 0x0);            ( ,   ) = (0x268c039a3127d3107c014f0dc6c390a53e6db27f).((), 0x60, 0xa0); // call            ();             = 0x010000000000000000000000000000000000000000000000 | (0xffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffff & );        }    }         ( )  {         {              := (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.        // 0x1f318cc3 => Unknown_1f318cc3()    // 0x35faa416 => sweep()    // 0x63bd1d4a => payout()    // 0x8da5cb5b => owner()    // 0x991cef43 => Unknown_991cef43()    // 0x9ac92217 => Unknown_9ac92217()    // 0xab2786f5 => Unknown_ab2786f5(uint256,bytes,bytes)    // 0xba0bba40 => setup()    // 0xbc197c81 => onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)    // 0xd7b96d4e => locker()    // 0xd98787c9 => Unknown_d98787c9()    // 0xdb606d80 => evil()    // 0xe3bc4005 => Unknown_e3bc4005()    // 0xf23a6e61 => onERC1155Received(address,address,uint256,uint256,bytes)    // 0xf7d9430e => Unknown_f7d9430e(uint256,bytes,bytes)    // 0xf83d08ba => lock()    // 0xfe2cdc13 => Unknown_fe2cdc13(bytes,bytes,bytes,bytes,bytes,bytes)}