Contract: Wormhole
Etherscan label: bridge
Tag: Wormhole: Ethereum Core Bridge
Malicious: no
Decompiled opcodes:
PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x0010 JUMPI PUSH1 0x00 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x0783 CODESIZE SUB DUP1 PUSH2 0x0783 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x002f SWAP2 PUSH2 0x0308 JUMP JUMPDEST DUP2 DUP2 PUSH2 0x005c PUSH1 0x01 PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbd PUSH2 0x0420 JUMP JUMPDEST PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x073c DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE EQ PUSH2 0x0086 JUMPI PUSH4 0x4e487b71 PUSH1 0xe0 SHL PUSH1 0x00 MSTORE PUSH1 0x01 PUSH1 0x04 MSTORE PUSH1 0x24 PUSH1 0x00 REVERT JUMPDEST PUSH2 0x0092 DUP3 DUP3 PUSH1 0x00 PUSH2 0x009b JUMP JUMPDEST POP POP POP POP PUSH2 0x0485 JUMP JUMPDEST PUSH2 0x00a4 DUP4 PUSH2 0x0105 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP5 AND SWAP1 PUSH32 0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b SWAP1 PUSH1 0x00 SWAP1 LOG2 PUSH1 0x00 DUP3 MLOAD GT DUP1 PUSH2 0x00e5 JUMPI POP DUP1 JUMPDEST ISZERO PUSH2 0x0100 JUMPI PUSH2 0x00fe DUP4 DUP4 PUSH2 0x01c5 PUSH1 0x20 SHL PUSH2 0x0029 OR PUSH1 0x20 SHR JUMP JUMPDEST POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x0118 DUP2 PUSH2 0x01f1 PUSH1 0x20 SHL PUSH2 0x0055 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x017f JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x2d PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x455243313936373a206e657720696d706c656d656e746174696f6e206973206e PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x1bdd08184818dbdb9d1c9858dd PUSH1 0x9a SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH2 0x01a4 PUSH1 0x00 DUP1 MLOAD PUSH1 0x20 PUSH2 0x073c DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH1 0x00 SHL PUSH2 0x01f7 PUSH1 0x20 SHL PUSH2 0x005b OR PUSH1 0x20 SHR JUMP JUMPDEST DUP1 SLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB NOT AND PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH2 0x01ea DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x075c PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x01fa JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x60 DUP4 EXTCODESIZE PUSH2 0x0259 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1b9d1c9858dd PUSH1 0xd2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x0176 JUMP JUMPDEST PUSH1 0x00 DUP1 DUP6 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x0274 SWAP2 SWAP1 PUSH2 0x03d1 JUMP JUMPDEST PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x02af 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 0x02b4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x02c5 DUP3 DUP3 DUP7 PUSH2 0x02cf JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x02de JUMPI POP DUP2 PUSH2 0x01ea JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x02ee JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH2 0x0176 SWAP2 SWAP1 PUSH2 0x03ed JUMP JUMPDEST PUSH1 0x00 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x031a JUMPI DUP2 DUP3 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x0330 JUMPI DUP3 DUP4 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x01 PUSH1 0x01 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x034c JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1f DUP4 ADD SLT PUSH2 0x035f JUMPI DUP3 DUP4 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x0371 JUMPI PUSH2 0x0371 PUSH2 0x046f JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1f DUP3 ADD PUSH1 0x1f NOT SWAP1 DUP2 AND PUSH1 0x3f ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x0399 JUMPI PUSH2 0x0399 PUSH2 0x046f JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x03b1 JUMPI DUP6 DUP7 REVERT JUMPDEST PUSH2 0x03c2 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x0443 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x00 DUP3 MLOAD PUSH2 0x03e3 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x0443 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x00 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x040c DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x0443 JUMP JUMPDEST PUSH1 0x1f ADD PUSH1 0x1f NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x00 DUP3 DUP3 LT ISZERO PUSH2 0x043e JUMPI PUSH4 0x4e487b71 PUSH1 0xe0 SHL DUP2 MSTORE PUSH1 0x11 PUSH1 0x04 MSTORE PUSH1 0x24 DUP2 REVERT JUMPDEST POP SUB SWAP1 JUMP JUMPDEST PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x045e JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x0446 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x00fe JUMPI POP POP PUSH1 0x00 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH4 0x4e487b71 PUSH1 0xe0 SHL PUSH1 0x00 MSTORE PUSH1 0x41 PUSH1 0x04 MSTORE PUSH1 0x24 PUSH1 0x00 REVERT JUMPDEST PUSH2 0x02a8 DUP1 PUSH2 0x0494 PUSH1 0x00 CODECOPY PUSH1 0x00 RETURN UNKNOWN_0xfe PUSH1 0x80 PUSH1 0x40 MSTORE CALLDATASIZE PUSH2 0x0013 JUMPI PUSH2 0x0011 PUSH2 0x0017 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x0011 JUMPDEST PUSH2 0x0027 PUSH2 0x0022 PUSH2 0x005e JUMP JUMPDEST PUSH2 0x0096 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x60 PUSH2 0x004e DUP4 DUP4 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x27 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x024c PUSH1 0x27 SWAP2 CODECOPY PUSH2 0x00ba JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST EXTCODESIZE ISZERO ISZERO SWAP1 JUMP JUMPDEST SWAP1 JUMP JUMPDEST PUSH1 0x00 PUSH2 0x0091 PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc SLOAD PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP 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 0x00b5 JUMPI RETURNDATASIZE PUSH1 0x00 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x00 REVERT JUMPDEST PUSH1 0x60 DUP4 EXTCODESIZE PUSH2 0x011e JUMPI PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x04 DUP3 ADD MSTORE PUSH1 0x26 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f PUSH1 0x44 DUP3 ADD MSTORE PUSH6 0x1b9d1c9858dd PUSH1 0xd2 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x00 DUP1 DUP6 PUSH1 0x01 PUSH1 0x01 PUSH1 0xa0 SHL SUB AND DUP6 PUSH1 0x40 MLOAD PUSH2 0x0139 SWAP2 SWAP1 PUSH2 0x01cc JUMP JUMPDEST PUSH1 0x00 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x00 DUP2 EQ PUSH2 0x0174 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 0x0179 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x0189 DUP3 DUP3 DUP7 PUSH2 0x0193 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP4 ISZERO PUSH2 0x01a2 JUMPI POP DUP2 PUSH2 0x004e JUMP JUMPDEST DUP3 MLOAD ISZERO PUSH2 0x01b2 JUMPI DUP3 MLOAD DUP1 DUP5 PUSH1 0x20 ADD REVERT JUMPDEST DUP2 PUSH1 0x40 MLOAD PUSH3 0x461bcd PUSH1 0xe5 SHL DUP2 MSTORE PUSH1 0x04 ADD PUSH2 0x0115 SWAP2 SWAP1 PUSH2 0x01e8 JUMP JUMPDEST PUSH1 0x00 DUP3 MLOAD PUSH2 0x01de DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x021b JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x00 DUP3 MLOAD DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x0207 DUP2 PUSH1 0x40 DUP6 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x021b JUMP JUMPDEST PUSH1 0x1f ADD PUSH1 0x1f NOT AND SWAP2 SWAP1 SWAP2 ADD PUSH1 0x40 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x00 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x0236 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x021e JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x0245 JUMPI PUSH1 0x00 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP UNKNOWN_0xfe COINBASE PUSH5 0x6472657373 GASPRICE SHA3 PUSH13 0x6f772d6c6576656c2064656c65 PUSH8 0x6174652063616c6c SHA3 PUSH7 0x61696c6564a264 PUSH10 0x70667358221220288c22 SUB PUSH10 0xda354982f013e8a0fada ADDRESS CALLDATASIZE UNKNOWN_0x2f UNKNOWN_0xbf UNKNOWN_0x24 UNKNOWN_0xd2 UNKNOWN_0xe UNKNOWN_0xb5 SELFDESTRUCT UNKNOWN_0xdd DUP4 UNKNOWN_0x28 SWAP6 PUSH18 0xf62b6f64736f6c63430008040033360894a1 EXTCODESIZE LOG1 LOG3 UNKNOWN_0x21 MOD PUSH8 0xc828492db98dca3e SHA3 PUSH23 0xcc3735a920a3ca505d382bbc416464726573733a206c6f PUSH24 0x2d6c6576656c2064656c65676174652063616c6c20666169 PUSH13 0x65640000000000000000000000 STOP PUSH20 0x6d2a394f7810c17b3c6fed017d5bc7d60c077d00 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 BLOCKHASH 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 UNKNOWN_0xc4 UNKNOWN_0xf6 SMOD SWAP1 OR 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 DUP1 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 MUL 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 ADD 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 DIV 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 ADD STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP PC UNKNOWN_0xcc GASPRICE UNKNOWN_0xe5 UNKNOWN_0xc0 SWAP8 UNOFFICIAL_SWAP SGT UNKNOWN_0xce EXTCODECOPY DUP2 SWAP8 SWAP15 SHL SWAP16 SWAP6 PUSH17 0x746aa50000000000000000000000000000 STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP