Ethereum

0x9c1065e4a2fe67715ce82772cfc223bd76009451

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

Decompilation outputEthereum · 0x9c1065e4…760094513.0 KB3.6 s
Share
316 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[0x1]    ( => )  ; // STORAGE[0x2]    ( => )  ; // STORAGE[0x3]        ()  {        // Synthetic compatibility routes preserve original selectors for unresolved names.         ((.. >= 4) && (. == 0x7a637186)) {            // Route to Unknown_7a637186(uint256) after replacing only msg.sig.            ((0x53ecc1d1));            ;        }        ();    }             ( )  {         ((!(. == 0x73b61a56cb93c17a1f5fb21c01cfe0fb23f132c3)) && ((!(. == 0xae587866822dced0c4b5a0b534ec025b52c4acd0)) && ((!(. == 0x16e21b702ea2ee0f4dc40e877099c88acd3d27d5)) && (!(. == 0x5167350d082c9ec48ed6fd4c694dea7361269705))))) {            (. == (0x820d115b9c982260edaa1741812d1f85132736b5));        }        (. < 0x989680);         ( > 0) {            ( ,   ) = (.).{ : 0x08fc * !, :  }(""); // call            ();        }    }         ( )  {        ();    }         ( ,  ,  ,  )    () {         ((!(. == 0x73b61a56cb93c17a1f5fb21c01cfe0fb23f132c3)) && ((!(. == 0xae587866822dced0c4b5a0b534ec025b52c4acd0)) && ((!(. == 0x16e21b702ea2ee0f4dc40e877099c88acd3d27d5)) && (!(. == 0x5167350d082c9ec48ed6fd4c694dea7361269705))))) {            (. == (0x820d115b9c982260edaa1741812d1f85132736b5));        }        (. < 0x989680);        (.. != 0x0);        ( ,   ) = .(); // call        ();        (!(. < 0x20));        ( > );         (.) {             (!((0xff &  / 0x1) != 0x0 || 0x1f4 >= )) {                 = 0x01 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00 & );                  = 0x01f4;                 ( < 0x01f4) {                     = ;                }                  = 0;                  = (0);                  = ;                 () {                     ( >= ) {                        ;                    }                     ( >= ) {                        ;                    }                     (!.) {                        ;                    }                     ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([])] / .))) - (0x03e8 * ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([])] / .))) / 0x03e8)) < 0x05) {                        [([])] = 0x01 + [([])];                          = 0x01 + ;                          = ;                         (!(0x0 < 0x1 + [[]] && 0x1 + [[]] < 0x80)) {                              = 0x01;                              = 0;                             () {                                 ((0x01 + [([])]) < ) {                                    ;                                }                                 = 0x0100 * ;                                 = 0x01 + ;                            }                        }  {                             = 0x01;                             = 0x01;                        }                          = ((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + )))) + (0x0100000000000000000000 * (([]))) + (0x01000000000000000000 * (0x80 + ))) + ((0x01 + [([])]) * (0x0100 ** (0x09 - )));                         ((0x0 < 0x1 + [[]]) && (0x1 + [[]] < 0x80)) {                             = ((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + )))) + (0x0100000000000000000000 * (([])))) + (0x01000000000000000000 * (0x01 + [([])]));                        }                        [([])] = (.(((.())) * 0x01000000000000000000000000));                        (([]).. != 0x0);                        ( ,   ) = ([]).{ : . }(, , , ); // call                        ();                        ((.). < ((.).));                         ;                        ;                    }                     = ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([])] / .)))) - (0x03e8 * ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([])] / .))) / 0x03e8));                     = ([]);                     =  + 0x01;                }                 0;            }  {                  = 0;                  = (0);                  = ;                 () {                     = (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00) & ;                      = 0x01f4;                     ( < 0x01f4) {                         = ;                    }                     (0x0 >= ) {                         0;                        ;                    }                     (0 >= ) {                        ;                    }                     (!.) {                        ;                    }                     ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([0])] / .))) - (0x03e8 * ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([0])] / .))) / 0x03e8)) < 0x05) {                        [([0])] = 0x01 + [([0])];                          = 0x01 + ;                          = ;                         (!(0x0 < 0x1 + [[0x0]] && 0x1 + [[0x0]] < 0x80)) {                              = 0x01;                              = 0;                             () {                                 ((0x01 + [([])]) < ) {                                    ;                                }                                 = 0x0100 * ;                                 = 0x01 + ;                            }                        }  {                             = 0x01;                             = 0x01;                        }                          = ((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + )))) + (0x0100000000000000000000 * (([0]))) + (0x01000000000000000000 * (0x80 + ))) + ((0x01 + [([0])]) * (0x0100 ** (0x09 - )));                         ((0x0 < 0x1 + [[0x0]]) && (0x1 + [[0x0]] < 0x80)) {                             = ((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + )))) + (0x0100000000000000000000 * (([0])))) + (0x01000000000000000000 * (0x01 + [([0])]));                        }                        [([0])] = (.(((.())) * 0x01000000000000000000000000));                        (([0]).. != 0x0);                        ( ,   ) = ([0]).{ : . }(, , , ); // call                        ();                        ((.). < ((.).));                         0;                        ;                    }                     = ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([0])] / .)))) - (0x03e8 * ((.((((. + .) + ((.((.) * 0x01000000000000000000000000)) / .) + .) + .) + ([([0])] / .))) / 0x03e8));                     = ([0]);                     = ;                }            }        }    }         ( )  {        // Decompilation incomplete: helper effect provenance is conservative.         ((!(. == 0x73b61a56cb93c17a1f5fb21c01cfe0fb23f132c3)) && ((!(. == 0xae587866822dced0c4b5a0b534ec025b52c4acd0)) && ((!(. == 0x16e21b702ea2ee0f4dc40e877099c88acd3d27d5)) && (!(. == 0x5167350d082c9ec48ed6fd4c694dea7361269705))))) {            (. == (0x820d115b9c982260edaa1741812d1f85132736b5));        }          = 0;          = 0;          = ;         () {             ( >= ) {                ;            }              = 0x608060405234801561001057600080fd5b5061032b806100206000396000f3006080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663de3a04ad8114610042575b005b61004073ffffffffffffffffffffffffffffffffffffffff600435166024356044356064357373b61a56cb93c17a1f5fb21c01cfe0fb23f132c332146100f35773ae587866822dced0c4b5a0b534ec025b52c4acd032146100f3577316e21b702ea2ee0f4dc40e877099c88acd3d27d532146100f357735167350d082c9ec48ed6fd4c694dea736126970532146100f35773820d115b9c982260edaa1741812d1f85132736b532146100f357600080fd5b3484848484610100610159565b73ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252604080840191909152606083019190915251908190036080019082f080158015610150573d6000803e3d6000fd5b50505050505050565b6040516101968061016a833901905600608060405260405160808061019683398101604090815281516020830151918301516060909301519092908360005b83600101811015610189578282600160a060020a031663d87574e06040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561009157600080fd5b505af11580156100a5573d6000803e3d6000fd5b505050506040513d60208110156100bb57600080fd5b505110156100c857610189565b85600160a060020a031634638f38f309908760016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038185885af193505050505085600160a060020a0316633ccfd60b6040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303816000875af150506001909201915061002e9050565b32600160a060020a0316ff00a165627a7a723058203cb0b872e6e5bdc3326a4f0e488a2a3592347584d4829419c979d6ecff2ac5880029; // this.code[2227:3070]              = 0;              = ;              = (0x034b + ) - ;             ;             {  := (, , ) }            (!(!((0, , ((0x034b + ) - )))));             = 0x01 + ;            [] = ((0, , ((0x034b + ) - )) & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []);            [((0, , ((0x034b + ) - )))] = 0x01;            (0x01, (0, , ((0x034b + ) - )));            [((0, , ((0x034b + ) - )))] = (.(((.())) * 0x01000000000000000000000000));             = 0x01 + ;             = (0, , ((0x034b + ) - ));             = ;        }    }         ( ,  )    () {        // Decompilation incomplete: helper effect provenance is conservative.          = 0x01 + ((0x01));          = (0x01);         ((0x0 < 0x1) && (0x1 < 0x80)) {             = 0x01;             = 0x01;            ;        }        (0x01);          = ((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + )))) + (0x0100000000000000000000 * (((0, , ((0x034b + ) - ))))) + (0x01000000000000000000 * (0x80 + ))) + (0x01 * (0x0100 ** (0x09 - )));         ((0x0 < 0x1) && (0x1 < 0x80)) {             = ((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + )))) + (0x0100000000000000000000 * (((0, , ((0x034b + ) - )))))) + 0x01000000000000000000;        }         =  + 0x20;         (.());    }         ( )   () {        // Decompilation incomplete: helper effect provenance is conservative.          = 0x01;          = 0;          = 0;          = ;         () {             ( < ) {                ;            }             ( < (0x0100 * )) {                ;            }             = (0x0100 * (0x0100 * ));             = (0x01 + (0x01 + ));             = ;             = ;             (!(0x0 < 0x1 && 0x1 < 0x80)) {                  =  + 0x20;                [(((0, , ((0x034b + ) - ))))] = (.((((.((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + (0x01 + (0x01 + )))))) + (0x0100000000000000000000 * (((0, , ((0x034b + ) - ))))) + (0x01000000000000000000 * (0x80 + (0x01 + ))) + (0x01 * (0x0100 ** (0x09 - (0x01 + )))))))) * 0x01000000000000000000000000));                 ((0x01 + ) >= ) {                    ;                }                 = 0x608060405234801561001057600080fd5b5061032b806100206000396000f3006080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663de3a04ad8114610042575b005b61004073ffffffffffffffffffffffffffffffffffffffff600435166024356044356064357373b61a56cb93c17a1f5fb21c01cfe0fb23f132c332146100f35773ae587866822dced0c4b5a0b534ec025b52c4acd032146100f3577316e21b702ea2ee0f4dc40e877099c88acd3d27d532146100f357735167350d082c9ec48ed6fd4c694dea736126970532146100f35773820d115b9c982260edaa1741812d1f85132736b532146100f357600080fd5b3484848484610100610159565b73ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252604080840191909152606083019190915251908190036080019082f080158015610150573d6000803e3d6000fd5b50505050505050565b6040516101968061016a833901905600608060405260405160808061019683398101604090815281516020830151918301516060909301519092908360005b83600101811015610189578282600160a060020a031663d87574e06040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561009157600080fd5b505af11580156100a5573d6000803e3d6000fd5b505050506040513d60208110156100bb57600080fd5b505110156100c857610189565b85600160a060020a031634638f38f309908760016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038185885af193505050505085600160a060020a0316633ccfd60b6040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303816000875af150506001909201915061002e9050565b32600160a060020a0316ff00a165627a7a723058203cb0b872e6e5bdc3326a4f0e488a2a3592347584d4829419c979d6ecff2ac5880029; // this.code[2227:3070]                  = 0;                  = ;                  = (0x034b + ) - ;                 ;                 {  := (, , ) }                (!(!((0, , ((0x034b + ) - )))));                 = 0x01 + ;                [] = ((0, , ((0x034b + ) - )) & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []);                [((0, , ((0x034b + ) - )))] = 0x01;                 ((0x0 < ) && ( < 0x80)) {                      = ((0xd694000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000 * (()))) + 0x81000000000000000000) + ( * 0x010000000000000000);                     ((0x0 < ) && ( < 0x80)) {                         = (0xd694000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000 * (()))) + (0x01000000000000000000 * );                    }                     =  + 0x20;                    ;                }                 = 0x01;                 = 0;                 = 0;                 = ;                [((0, , ((0x034b + ) - )))] = (.(((.())) * 0x01000000000000000000000000));            }  {                 =  + 0x20;                [(((0, , ((0x034b + ) - ))))] = (.((((.((0x94000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000000000000000000000000000000000000000000000 * (0xc0 + (0x15 + (0x01 + (0x01 + )))))) + (0x0100000000000000000000 * (((0, , ((0x034b + ) - ))))) + 0x01000000000000000000)))) * 0x01000000000000000000000000));                 ((0x01 + ) >= ) {                    ;                }                 = 0x608060405234801561001057600080fd5b5061032b806100206000396000f3006080604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663de3a04ad8114610042575b005b61004073ffffffffffffffffffffffffffffffffffffffff600435166024356044356064357373b61a56cb93c17a1f5fb21c01cfe0fb23f132c332146100f35773ae587866822dced0c4b5a0b534ec025b52c4acd032146100f3577316e21b702ea2ee0f4dc40e877099c88acd3d27d532146100f357735167350d082c9ec48ed6fd4c694dea736126970532146100f35773820d115b9c982260edaa1741812d1f85132736b532146100f357600080fd5b3484848484610100610159565b73ffffffffffffffffffffffffffffffffffffffff90941684526020840192909252604080840191909152606083019190915251908190036080019082f080158015610150573d6000803e3d6000fd5b50505050505050565b6040516101968061016a833901905600608060405260405160808061019683398101604090815281516020830151918301516060909301519092908360005b83600101811015610189578282600160a060020a031663d87574e06040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15801561009157600080fd5b505af11580156100a5573d6000803e3d6000fd5b505050506040513d60208110156100bb57600080fd5b505110156100c857610189565b85600160a060020a031634638f38f309908760016040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038185885af193505050505085600160a060020a0316633ccfd60b6040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004016000604051808303816000875af150506001909201915061002e9050565b32600160a060020a0316ff00a165627a7a723058203cb0b872e6e5bdc3326a4f0e488a2a3592347584d4829419c979d6ecff2ac5880029; // this.code[2227:3070]                  = 0;                  = ;                  = (0x034b + ) - ;                 ;                 {  := (, , ) }                (!(!((0, , ((0x034b + ) - )))));                 = 0x01 + ;                [] = ((0, , ((0x034b + ) - )) & (0xffffffffffffffffffffffffffffffffffffffff)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & []);                [((0, , ((0x034b + ) - )))] = 0x01;                 ((0x0 < ) && ( < 0x80)) {                      = ((0xd694000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000 * (()))) + 0x81000000000000000000) + ( * 0x010000000000000000);                     ((0x0 < ) && ( < 0x80)) {                         = (0xd694000000000000000000000000000000000000000000000000000000000000 + (0x0100000000000000000000 * (()))) + (0x01000000000000000000 * );                    }                     =  + 0x20;                    ;                }                 = 0x01;                 = 0;                 = 0;                 = ;                [((0, , ((0x034b + ) - )))] = (.(((.())) * 0x01000000000000000000000000));            }             = (0x01 + );             = ((0, , ((0x034b + ) - )));             = ;        }         ;    }         ( )  {         {              := (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.        // 0x2e1a7d4d => withdraw(uint256)    // 0x7a637186 => Unknown_7a637186(uint256)    // 0x7e1aa7a7 => unresolved_7e1aa7a7(address)    // 0x8aa19122 => unresolved_8aa19122(uint256)    // 0xa5008247 => unresolved_a5008247(address)    // 0xde3a04ad => execute(address,uint256,uint256,uint256)    // 0xfdbb43b4 => unresolved_fdbb43b4()}