Online Solidity Decompiler

« Decompile another contract

Address

0x9dd27baf072cade31b23b7d40cda04997dc312e5 [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() { memory[0x40:0x60] = 0x80; var var0 = storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]; var var1 = 0x00; var temp0 = msg.data.length; memory[var1:var1 + temp0] = msg.data[var1:var1 + temp0]; var temp1; temp1, memory[var1:var1 + var1] = address(var0).delegatecall.gas(msg.gas)(memory[var1:var1 + msg.data.length]); var temp2 = returndata.length; memory[var1:var1 + temp2] = returndata[var1:var1 + temp2]; if (!temp1) { revert(memory[var1:var1 + returndata.length]); } else { return memory[var1:var1 + returndata.length]; } } }

Disassembly

label_0000: // Inputs[9] // { // @0026 storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7] // @0029 msg.data.length // @002C msg.data[0x00:0x00 + msg.data.length] // @002F msg.data.length // @0032 msg.gas // @0033 memory[0x00:0x00 + msg.data.length] // @0033 address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) // @0034 returndata.length // @0037 returndata[0x00:0x00 + returndata.length] // } 0000 60 PUSH1 0x80 0002 60 PUSH1 0x40 0004 52 MSTORE 0005 7F PUSH32 0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7 0026 54 SLOAD 0027 60 PUSH1 0x00 0029 36 CALLDATASIZE 002A 81 DUP2 002B 82 DUP3 002C 37 CALLDATACOPY 002D 80 DUP1 002E 81 DUP2 002F 36 CALLDATASIZE 0030 83 DUP4 0031 85 DUP6 0032 5A GAS 0033 F4 DELEGATECALL 0034 3D RETURNDATASIZE 0035 82 DUP3 0036 83 DUP4 0037 3E RETURNDATACOPY 0038 80 DUP1 0039 80 DUP1 003A 15 ISZERO 003B 60 PUSH1 0x41 003D 57 *JUMPI // Stack delta = +4 // Outputs[8] // { // @0004 memory[0x40:0x60] = 0x80 // @0026 stack[0] = storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7] // @0027 stack[1] = 0x00 // @002C memory[0x00:0x00 + msg.data.length] = msg.data[0x00:0x00 + msg.data.length] // @0033 stack[2] = address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) // @0033 memory[0x00:0x00] = address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) // @0037 memory[0x00:0x00 + returndata.length] = returndata[0x00:0x00 + returndata.length] // @0038 stack[3] = address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) // } // Block ends with conditional jump to 0x0041, if !address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) label_003E: // Incoming jump from 0x003D, if not !address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) // Inputs[3] // { // @003E returndata.length // @003F stack[-3] // @0040 memory[stack[-3]:stack[-3] + returndata.length] // } 003E 3D RETURNDATASIZE 003F 83 DUP4 0040 F3 *RETURN // Stack delta = +0 // Outputs[1] { @0040 return memory[stack[-3]:stack[-3] + returndata.length]; } // Block terminates label_0041: // Incoming jump from 0x003D, if !address(storage[0xc5f16f0fcc639fa48a6947836d9850f504798523bf8c9a3a87d5876cf622bcf7]).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]) // Inputs[3] // { // @0042 returndata.length // @0043 stack[-3] // @0044 memory[stack[-3]:stack[-3] + returndata.length] // } 0041 5B JUMPDEST 0042 3D RETURNDATASIZE 0043 83 DUP4 0044 FD *REVERT // Stack delta = +0 // Outputs[1] { @0044 revert(memory[stack[-3]:stack[-3] + returndata.length]); } // Block terminates 0045 FE *ASSERT 0046 A2 LOG2 0047 64 PUSH5 0x6970667358 004D 22 22 004E 12 SLT 004F 20 SHA3 0050 96 SWAP7 0051 EB EB 0052 FF *SELFDESTRUCT 0053 E4 E4 0054 69 PUSH10 0x92d3c6658c1930e1f868 005F 0D 0D 0060 2E 2E 0061 26 26 0062 19 NOT 0063 6E PUSH15 0x26103e0ca987753a28512e8e64736f 0073 6C PUSH13 0x63430006060033
Found this site useful?
Donations are greatly appreciated!
ETH: 0xB3F04f0c276fa1177c1779f6E1E156B2738ea392
Contact/hire: [email protected]