Online Solidity Decompiler

« Decompile another contract

Address

0x964853402e9f60cbb47f465de95ccfd3e9ed878d [etherscan.io | etherchain.org]

Public Methods

No public methods detected.

Internal Methods

No internal methods detected.

Decompilation

This might be constructor bytecode - to get at the deployed contract, go back and remove the constructor prefix, usually up to the next 6060 or 6080.
contract Contract { function main() { var temp0 = msg.data.length; memory[returndata.length:returndata.length + temp0] = msg.data[returndata.length:returndata.length + temp0]; var temp1 = returndata.length; var temp2; temp2, memory[returndata.length:returndata.length + returndata.length] = address(0xe38f942db7a1b4213d6213f70c499b59287b01f1).delegatecall.gas(msg.gas)(memory[returndata.length:returndata.length + msg.data.length]); var temp3 = returndata.length; memory[temp1:temp1 + temp3] = returndata[temp1:temp1 + temp3]; var var1 = temp1; var var0 = returndata.length; if (temp2) { return memory[var1:var1 + var0]; } else { revert(memory[var1:var1 + var0]); } } }

Disassembly

label_0000: // Inputs[15] // { // @0000 msg.data.length // @0001 returndata.length // @0002 returndata.length // @0003 msg.data[returndata.length:returndata.length + msg.data.length] // @0004 returndata.length // @0005 returndata.length // @0006 returndata.length // @0007 msg.data.length // @0008 returndata.length // @001E msg.gas // @001F address(0xe38f942db7a1b4213d6213f70c499b59287b01f1).delegatecall.gas(msg.gas)(memory[returndata.length:returndata.length + msg.data.length]) // @001F memory[returndata.length:returndata.length + msg.data.length] // @0020 returndata.length // @0023 returndata[returndata.length:returndata.length + returndata.length] // @0025 returndata.length // } 0000 36 CALLDATASIZE 0001 3D RETURNDATASIZE 0002 3D RETURNDATASIZE 0003 37 CALLDATACOPY 0004 3D RETURNDATASIZE 0005 3D RETURNDATASIZE 0006 3D RETURNDATASIZE 0007 36 CALLDATASIZE 0008 3D RETURNDATASIZE 0009 73 PUSH20 0xe38f942db7a1b4213d6213f70c499b59287b01f1 001E 5A GAS 001F F4 DELEGATECALL 0020 3D RETURNDATASIZE 0021 82 DUP3 0022 80 DUP1 0023 3E RETURNDATACOPY 0024 90 SWAP1 0025 3D RETURNDATASIZE 0026 91 SWAP2 0027 60 PUSH1 0x2b 0029 57 *JUMPI // Stack delta = +2 // Outputs[5] // { // @0003 memory[returndata.length:returndata.length + msg.data.length] = msg.data[returndata.length:returndata.length + msg.data.length] // @001F memory[returndata.length:returndata.length + returndata.length] = address(0xe38f942db7a1b4213d6213f70c499b59287b01f1).delegatecall.gas(msg.gas)(memory[returndata.length:returndata.length + msg.data.length]) // @0023 memory[returndata.length:returndata.length + returndata.length] = returndata[returndata.length:returndata.length + returndata.length] // @0024 stack[1] = returndata.length // @0026 stack[0] = returndata.length // } // Block ends with conditional jump to 0x002b, if address(0xe38f942db7a1b4213d6213f70c499b59287b01f1).delegatecall.gas(msg.gas)(memory[returndata.length:returndata.length + msg.data.length]) label_002A: // Incoming jump from 0x0029, if not address(0xe38f942db7a1b4213d6213f70c499b59287b01f1).delegatecall.gas(msg.gas)(memory[returndata.length:returndata.length + msg.data.length]) // Inputs[3] // { // @002A stack[-1] // @002A stack[-2] // @002A memory[stack[-1]:stack[-1] + stack[-2]] // } 002A FD *REVERT // Stack delta = -2 // Outputs[1] { @002A revert(memory[stack[-1]:stack[-1] + stack[-2]]); } // Block terminates label_002B: // Incoming jump from 0x0029, if address(0xe38f942db7a1b4213d6213f70c499b59287b01f1).delegatecall.gas(msg.gas)(memory[returndata.length:returndata.length + msg.data.length]) // Inputs[3] // { // @002C stack[-1] // @002C stack[-2] // @002C memory[stack[-1]:stack[-1] + stack[-2]] // } 002B 5B JUMPDEST 002C F3 *RETURN // Stack delta = -2 // Outputs[1] { @002C return memory[stack[-1]:stack[-1] + stack[-2]]; } // Block terminates
Found this site useful?
Donations are greatly appreciated!
ETH: 0xB3F04f0c276fa1177c1779f6E1E156B2738ea392
Contact/hire: [email protected]