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
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x9c1065e4a2fe67715ce82772cfc223bd76009451
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()}