Contract: AdminUpgradeabilityProxy
Etherscan label: tornado-cash
Tag: Tornado.Cash: Mixer 2
Malicious: no
Decompiled opcodes:
PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x09ab CODESIZE SUB DUP1 PUSH2 0x09ab DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x60 DUP2 LT ISZERO PUSH2 0x0026 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP5 ADD DUP1 MLOAD SWAP3 SWAP5 SWAP2 SWAP4 DUP3 ADD SWAP3 PUSH5 0x0100000000 DUP2 GT ISZERO PUSH2 0x004c JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 ADD PUSH1 0x20 DUP2 ADD DUP5 DUP2 GT ISZERO PUSH2 0x005f JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH5 0x0100000000 DUP2 GT DUP3 DUP3 ADD DUP8 LT OR ISZERO PUSH2 0x0079 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP POP SWAP3 SWAP2 SWAP1 POP POP POP DUP3 DUP2 PUSH1 0x40 MLOAD DUP1 DUP1 PUSH2 0x0929 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x23 ADD SWAP1 SHA3 PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0909 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE EQ SWAP1 POP PUSH2 0x00b3 JUMPI UNKNOWN_0xfe JUMPDEST PUSH2 0x00c5 DUP3 PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB PUSH2 0x022d AND JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x01c9 JUMPI PUSH1 0x00 DUP3 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP3 PUSH1 0x40 MLOAD DUP1 DUP3 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 DUP1 DUP4 DUP4 JUMPDEST PUSH1 0x20 DUP4 LT PUSH2 0x0108 JUMPI DUP1 MLOAD DUP3 MSTORE PUSH1 0x1f NOT SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0x00e9 JUMP JUMPDEST PUSH1 0x01 DUP4 PUSH1 0x20 SUB PUSH2 0x0100 EXP SUB DUP1 NOT DUP3 MLOAD AND DUP2 DUP5 MLOAD AND DUP1 DUP3 OR DUP6 MSTORE POP POP POP POP POP POP SWAP1 POP ADD SWAP2 POP POP PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x0168 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x016d JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x01c7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x24 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x094c PUSH1 0x24 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP JUMPDEST POP POP PUSH1 0x40 DUP1 MLOAD PUSH32 0x6f72672e7a657070656c696e6f732e70726f78792e61646d696e000000000000 DUP2 MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x1a ADD SWAP1 SHA3 PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x08e9 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE EQ PUSH2 0x0213 JUMPI UNKNOWN_0xfe JUMPDEST PUSH2 0x0225 DUP3 PUSH1 0x01 PUSH1 0x01 PUSH1 0xe0 SHL SUB PUSH2 0x02a7 AND JUMP JUMPDEST POP POP POP PUSH2 0x02bf JUMP JUMPDEST PUSH2 0x0240 DUP2 PUSH2 0x02b9 PUSH1 0x20 SHL PUSH2 0x053d OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x0295 JUMPI PUSH1 0x40 MLOAD PUSH32 0x08c379a000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3b DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0970 PUSH1 0x3b SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x0909 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x08e9 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SSTORE JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST PUSH2 0x061b DUP1 PUSH2 0x02ce PUSH1 0x00 CODECOPY PUSH1 0x00 RETURN UNKNOWN_0xfe PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x04 CALLDATASIZE LT PUSH2 0x004a JUMPI PUSH1 0x00 CALLDATALOAD PUSH1 0xe0 SHR DUP1 PUSH4 0x3659cfe6 EQ PUSH2 0x0054 JUMPI DUP1 PUSH4 0x4f1ef286 EQ PUSH2 0x0087 JUMPI DUP1 PUSH4 0x5c60da1b EQ PUSH2 0x0107 JUMPI DUP1 PUSH4 0x8f283970 EQ PUSH2 0x0138 JUMPI DUP1 PUSH4 0xf851a440 EQ PUSH2 0x016b JUMPI JUMPDEST PUSH2 0x0052 PUSH2 0x0180 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0060 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x0052 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x0077 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH2 0x019a JUMP JUMPDEST PUSH2 0x0052 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x009d JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP3 CALLDATALOAD AND SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH5 0x0100000000 DUP2 GT ISZERO PUSH2 0x00c8 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x00da JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x01 DUP4 MUL DUP5 ADD GT PUSH5 0x0100000000 DUP4 GT OR ISZERO PUSH2 0x00fc JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x01d4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0113 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x011c PUSH2 0x0281 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0144 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x0052 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x015b JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH2 0x02be JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x0177 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x011c PUSH2 0x0378 JUMP JUMPDEST PUSH2 0x0188 PUSH2 0x03a3 JUMP JUMPDEST PUSH2 0x0198 PUSH2 0x0193 PUSH2 0x0403 JUMP JUMPDEST PUSH2 0x0428 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x01a2 PUSH2 0x044c JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x01c9 JUMPI PUSH2 0x01c4 DUP2 PUSH2 0x0471 JUMP JUMPDEST PUSH2 0x01d1 JUMP JUMPDEST PUSH2 0x01d1 PUSH2 0x0180 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x01dc PUSH2 0x044c JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x0274 JUMPI PUSH2 0x01fe DUP4 PUSH2 0x0471 JUMP JUMPDEST PUSH1 0x00 DUP4 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x40 MLOAD SWAP3 ADD SWAP5 POP PUSH1 0x00 SWAP4 POP SWAP1 SWAP2 POP POP DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x025b JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1f NOT PUSH1 0x3f RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x00 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x0260 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x026e JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH2 0x027c JUMP JUMPDEST PUSH2 0x027c PUSH2 0x0180 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x00 PUSH2 0x028b PUSH2 0x044c JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x02b3 JUMPI PUSH2 0x02ac PUSH2 0x0403 JUMP JUMPDEST SWAP1 POP PUSH2 0x02bb JUMP JUMPDEST PUSH2 0x02bb PUSH2 0x0180 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH2 0x02c6 PUSH2 0x044c JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x01c9 JUMPI PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP2 AND PUSH2 0x0324 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x36 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0576 PUSH1 0x36 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f PUSH2 0x034d PUSH2 0x044c JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE DUP1 MLOAD SWAP2 DUP3 SWAP1 SUB ADD SWAP1 LOG1 PUSH2 0x01c4 DUP2 PUSH2 0x04b1 JUMP JUMPDEST PUSH1 0x00 PUSH2 0x0382 PUSH2 0x044c JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x02b3 JUMPI PUSH2 0x02ac PUSH2 0x044c JUMP JUMPDEST PUSH2 0x03ab PUSH2 0x044c JUMP JUMPDEST PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND CALLER PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND EQ ISZERO PUSH2 0x03fb JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x32 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0544 PUSH1 0x32 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x0198 PUSH2 0x0198 JUMP JUMPDEST PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3 SLOAD SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x00 DUP1 CALLDATACOPY PUSH1 0x00 DUP1 CALLDATASIZE PUSH1 0x00 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x0447 JUMPI RETURNDATASIZE PUSH1 0x00 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x047a DUP2 PUSH2 0x04d5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP3 AND SWAP1 PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b SWAP1 PUSH1 0x00 SWAP1 LOG2 POP JUMP JUMPDEST PUSH32 0x10d6a54a4754c8869d6886b5f5d7fbfa5b4522237ea5c60d11bc4e7a1ff9390b SSTORE JUMP JUMPDEST PUSH2 0x04de DUP2 PUSH2 0x053d JUMP JUMPDEST PUSH2 0x0519 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x3b DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x05ac PUSH1 0x3b SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c036e5a723fd8ee048ed3f8c3 SSTORE JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP UNKNOWN_0xfe NUMBER PUSH2 0x6e6e PUSH16 0x742063616c6c2066616c6c6261636b20 PUSH7 0x756e6374696f6e SHA3 PUSH7 0x726f6d20746865 SHA3 PUSH17 0x726f78792061646d696e43616e6e6f7420 PUSH4 0x68616e67 PUSH6 0x207468652061 PUSH5 0x6d696e206f PUSH7 0x20612070726f78 PUSH26 0x20746f20746865207a65726f206164647265737343616e6e6f74 SHA3 PUSH20 0x657420612070726f787920696d706c656d656e74 PUSH2 0x7469 PUSH16 0x6e20746f2061206e6f6e2d636f6e7472 PUSH2 0x6374 SHA3 PUSH2 0x6464 PUSH19 0x657373a265627a7a72305820dc6ae000c61974 UNKNOWN_0xb7 SSTORE UNKNOWN_0x23 BALANCE UNKNOWN_0x2c UNKNOWN_0xad UNKNOWN_0xd6 TIMESTAMP CREATE GASLIMIT EXTCODESIZE UNKNOWN_0xe0 UNKNOWN_0xae UNKNOWN_0xd2 UNKNOWN_0xd4 UNKNOWN_0xd9 DUP8 UNKNOWN_0x22 MULMOD UNKNOWN_0xa9 SSTORE LOG0 UNKNOWN_0x2b UNKNOWN_0xac DUP15 PUSH5 0x736f6c6343 STOP SDIV EXP STOP ORIGIN LT UNKNOWN_0xd6 UNKNOWN_0xa5 UNKNOWN_0x4a SELFBALANCE SLOAD UNKNOWN_0xc8 DUP7 SWAP14 PUSH9 0x86b5f5d7fbfa5b4522 UNKNOWN_0x23 PUSH31 0xa5c60d11bc4e7a1ff9390b7050c9e0f4ca769c69bd3a8ef740bc37934f8e2c SUB PUSH15 0x5a723fd8ee048ed3f8c36f72672e7a PUSH6 0x7070656c696e PUSH16 0x732e70726f78792e696d706c656d656e PUSH21 0x6174696f6e63616e6e6f742063616c6c20696d706c PUSH6 0x6d656e746174 PUSH10 0x6f6e2077697468206461 PUSH21 0x6143616e6e6f742073657420612070726f78792069 PUSH14 0x706c656d656e746174696f6e2074 PUSH16 0x2061206e6f6e2d636f6e747261637420 PUSH2 0x6464 PUSH19 0x657373000000000000000000000000cd095712 PUSH30 0x271d77bd0476d9e97873378eb14c44000000000000000000000000dd4c48 UNKNOWN_0xc0 UNOFFICIAL_SWAP BLOCKHASH CODECOPY SWAP7 SWAP16 UNKNOWN_0xc1 PUSH14 0x1cdf626eab821d33840000000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP PUSH1 0x00 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP