Contract: MerkleDistributor
Etherscan label: uniswap
Tag: Uniswap: Token Distributor
Malicious: no
Decompiled opcodes:
PUSH1 0xc0 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x0010 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x0617 CODESIZE SUB DUP1 PUSH2 0x0617 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x40 DUP2 LT ISZERO PUSH2 0x0033 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP DUP1 MLOAD PUSH1 0x20 SWAP1 SWAP2 ADD MLOAD PUSH1 0x60 DUP3 SWAP1 SHL PUSH1 0x01 PUSH1 0x01 PUSH1 0x60 SHL SUB NOT AND PUSH1 0x80 MSTORE PUSH1 0xa0 DUP2 SWAP1 MSTORE PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH2 0x0591 PUSH2 0x0086 PUSH1 0x00 CODECOPY DUP1 PUSH2 0x020b MSTORE DUP1 PUSH2 0x03b3 MSTORE POP DUP1 PUSH2 0x027c MSTORE DUP1 PUSH2 0x03fd MSTORE POP PUSH2 0x0591 PUSH1 0x00 RETURN UNKNOWN_0xfe PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x0010 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH1 0x04 CALLDATASIZE LT PUSH2 0x004c JUMPI PUSH1 0x00 CALLDATALOAD PUSH1 0xe0 SHR DUP1 PUSH4 0x2e7ba6ef EQ PUSH2 0x0051 JUMPI DUP1 PUSH4 0x2eb4a7ab EQ PUSH2 0x00df JUMPI DUP1 PUSH4 0x9e34070f EQ PUSH2 0x00f9 JUMPI DUP1 PUSH4 0xfc0c546a EQ PUSH2 0x012a JUMPI JUMPDEST PUSH1 0x00 DUP1 REVERT JUMPDEST PUSH2 0x00dd PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x80 DUP2 LT ISZERO PUSH2 0x0067 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB PUSH1 0x20 DUP3 ADD CALLDATALOAD AND SWAP2 PUSH1 0x40 DUP3 ADD CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x80 DUP2 ADD PUSH1 0x60 DUP3 ADD CALLDATALOAD PUSH5 0x0100000000 DUP2 GT ISZERO PUSH2 0x009e JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x00b0 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x20 DUP4 MUL DUP5 ADD GT PUSH5 0x0100000000 DUP4 GT OR ISZERO PUSH2 0x00d2 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x014e JUMP JUMPDEST STOP JUMPDEST PUSH2 0x00e7 PUSH2 0x03b1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x0116 PUSH1 0x04 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x010f JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x03d5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x0132 PUSH2 0x03fb 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 PUSH2 0x0157 DUP6 PUSH2 0x03d5 JUMP JUMPDEST ISZERO PUSH2 0x0193 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 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x04f0 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 ADD DUP9 SWAP1 MSTORE PUSH12 0xffffffffffffffffffffffff NOT PUSH1 0x60 DUP9 SWAP1 SHL AND DUP3 DUP5 ADD MSTORE PUSH1 0x54 DUP1 DUP4 ADD DUP8 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x74 DUP4 ADD DUP1 DUP6 MSTORE DUP2 MLOAD SWAP2 DUP4 ADD SWAP2 SWAP1 SWAP2 SHA3 PUSH1 0x94 SWAP3 DUP7 MUL DUP1 DUP6 ADD DUP5 ADD SWAP1 SWAP6 MSTORE DUP6 DUP3 MSTORE SWAP4 PUSH2 0x0236 SWAP4 SWAP2 SWAP3 DUP8 SWAP3 DUP8 SWAP3 DUP4 SWAP3 SWAP1 SWAP2 ADD SWAP1 DUP5 SWAP1 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x00 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 SWAP3 POP DUP6 SWAP2 POP PUSH2 0x041f SWAP1 POP JUMP JUMPDEST PUSH2 0x0271 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 0x21 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0518 PUSH1 0x21 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x027a DUP7 PUSH2 0x04c8 JUMP JUMPDEST PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH4 0xa9059cbb DUP7 DUP7 PUSH1 0x40 MLOAD DUP4 PUSH4 0xffffffff AND PUSH1 0xe0 SHL DUP2 MSTORE PUSH1 0x04 ADD DUP1 DUP4 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x00 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x02fa JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x030e JUMPI RETURNDATASIZE PUSH1 0x00 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x0324 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP MLOAD PUSH2 0x0361 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 0x23 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0x0539 PUSH1 0x23 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP8 DUP2 MSTORE PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP8 AND PUSH1 0x20 DUP3 ADD MSTORE DUP1 DUP3 ADD DUP7 SWAP1 MSTORE SWAP1 MLOAD PUSH32 0x4ec90e965519d92681267467f775ada5bd214aa92c0dc93d90a5e880ce9ed026 SWAP2 DUP2 SWAP1 SUB PUSH1 0x60 ADD SWAP1 LOG1 POP POP POP POP POP POP JUMP JUMPDEST PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 DUP2 JUMP JUMPDEST PUSH2 0x0100 DUP2 DIV PUSH1 0x00 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD PUSH1 0x01 PUSH1 0xff SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 SHL SWAP1 DUP2 AND EQ SWAP1 JUMP JUMPDEST PUSH32 0x0000000000000000000000000000000000000000000000000000000000000000 DUP2 JUMP JUMPDEST PUSH1 0x00 DUP2 DUP2 JUMPDEST DUP6 MLOAD DUP2 LT ISZERO PUSH2 0x04bd JUMPI PUSH1 0x00 DUP7 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x043b JUMPI UNKNOWN_0xfe JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD SWAP1 POP DUP1 DUP4 GT PUSH2 0x0482 JUMPI DUP3 DUP2 PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SHA3 SWAP3 POP PUSH2 0x04b4 JUMP JUMPDEST DUP1 DUP4 PUSH1 0x40 MLOAD PUSH1 0x20 ADD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SHA3 SWAP3 POP JUMPDEST POP PUSH1 0x01 ADD PUSH2 0x0424 JUMP JUMPDEST POP SWAP1 SWAP3 EQ SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x0100 DUP2 DIV PUSH1 0x00 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 DUP1 SLOAD PUSH1 0x01 PUSH1 0xff SWAP1 SWAP4 AND SWAP3 SWAP1 SWAP3 SHL SWAP1 SWAP2 OR SWAP1 SSTORE JUMP UNKNOWN_0xfe UNKNOWN_0x4d PUSH6 0x726b6c654469 PUSH20 0x7472696275746f723a2044726f7020616c726561 PUSH5 0x7920636c61 PUSH10 0x6d65642e4d65726b6c65 DIFFICULTY PUSH10 0x737472696275746f723a SHA3 UNKNOWN_0x49 PUSH15 0x76616c69642070726f6f662e4d6572 PUSH12 0x6c654469737472696275746f PUSH19 0x3a205472616e73666572206661696c65642ea2 PUSH5 0x6970667358 UNKNOWN_0x22 SLT SHA3 PUSH1 0x06 SWAP4 MOD JUMPDEST LOG4 PUSH10 0x01450139c046c9982b4c DUP14 UNKNOWN_0xac PUSH16 0x5389b2587f164bb4df4e528c64736f6c PUSH4 0x4300060b STOP CALLER STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP UNKNOWN_0x1f SWAP9 BLOCKHASH UNKNOWN_0xa8 UNKNOWN_0x5d GAS CREATE2 UNKNOWN_0xbf SAR OR PUSH3 0xf925bd UNKNOWN_0xad UNKNOWN_0xdc TIMESTAMP ADD UNKNOWN_0xf9 DUP5 UNKNOWN_0xc8 POP UNKNOWN_0xf DUP15 UNKNOWN_0x2f UNKNOWN_0xcf EXTCODECOPY SWAP11 ORIGIN DUP9 UNKNOWN_0xe SHL SWAP8 EXTCODEHASH UNOFFICIAL_SWAP DUP11 UNKNOWN_0xcc DUP9 UNKNOWN_0xbe CALLDATALOAD INVALID_0x78 0x7a8abcf9981b2b65dbdeb5