contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length >= 0x04) {
var0 = msg.data[0x00:0x20] >> 0xe0;
if (var0 != 0x5c60da1b) { goto label_0031; }
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x004e;
var1 =
func_00A5();
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = var1 & (0x01 << 0xa0) - 0x01;
var temp4 = memory[0x40:0x60];
return memory[temp4:temp4 + (temp3 + 0x20) - temp4];
} else if (msg.data.length) {
label_0031:
var var0 = 0x002f;
label_006A:
var var1 = 0x00a3;
var var2 = storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] & (0x01 << 0xa0) - 0x01;
var temp0 = msg.data.length;
memory[0x00:0x00 + temp0] = msg.data[0x00:0x00 + temp0];
var temp1;
temp1, memory[0x00:0x00] = address(var2).delegatecall.gas(msg.gas)(memory[0x00:0x00 + msg.data.length]);
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
if (!temp1) { revert(memory[0x00:0x00 + returndata.length]); }
else { return memory[0x00:0x00 + returndata.length]; }
} else {
var0 = 0x002f;
goto label_006A;
}
}
function func_00A5() returns (var r0) {
var var0 = 0x00;
var var1 = storage[0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc] & (0x01 << 0xa0) - 0x01;
return var1;
}
}
label_0000:
0000 60 PUSH1 0x80
0002 60 PUSH1 0x40
0004 52 MSTORE
0005 60 PUSH1 0x04
0007 36 CALLDATASIZE
0008 10 LT
0009 61 PUSH2 0x0022
000C 57 *JUMPI
label_000D:
000D 60 PUSH1 0x00
000F 35 CALLDATALOAD
0010 60 PUSH1 0xe0
0012 1C SHR
0013 80 DUP1
0014 63 PUSH4 0x5c60da1b
0019 14 EQ
001A 61 PUSH2 0x0039
001D 57 *JUMPI
label_001E:
001E 61 PUSH2 0x0031
0021 56 *JUMP
label_0022:
0022 5B JUMPDEST
0023 36 CALLDATASIZE
0024 61 PUSH2 0x0031
0027 57 *JUMPI
label_0028:
0028 61 PUSH2 0x002f
002B 61 PUSH2 0x006a
002E 56 *JUMP
002F 5B JUMPDEST
0030 00 *STOP
label_0031:
0031 5B JUMPDEST
0032 61 PUSH2 0x002f
0035 61 PUSH2 0x006a
0038 56 *JUMP
label_0039:
0039 5B JUMPDEST
003A 34 CALLVALUE
003B 80 DUP1
003C 15 ISZERO
003D 61 PUSH2 0x0045
0040 57 *JUMPI
label_0041:
0041 60 PUSH1 0x00
0043 80 DUP1
0044 FD *REVERT
label_0045:
0045 5B JUMPDEST
0046 50 POP
0047 61 PUSH2 0x004e
004A 61 PUSH2 0x00a5
004D 56 *JUMP
label_004E:
004E 5B JUMPDEST
004F 60 PUSH1 0x40
0051 51 MLOAD
0052 60 PUSH1 0x01
0054 60 PUSH1 0x01
0056 60 PUSH1 0xa0
0058 1B SHL
0059 03 SUB
005A 90 SWAP1
005B 91 SWAP2
005C 16 AND
005D 81 DUP2
005E 52 MSTORE
005F 60 PUSH1 0x20
0061 01 ADD
0062 60 PUSH1 0x40
0064 51 MLOAD
0065 80 DUP1
0066 91 SWAP2
0067 03 SUB
0068 90 SWAP1
0069 F3 *RETURN
label_006A:
006A 5B JUMPDEST
006B 61 PUSH2 0x00a3
006E 61 PUSH2 0x009e
0071 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
0092 54 SLOAD
0093 60 PUSH1 0x01
0095 60 PUSH1 0x01
0097 60 PUSH1 0xa0
0099 1B SHL
009A 03 SUB
009B 16 AND
009C 90 SWAP1
009D 56 *JUMP
label_009E:
009E 5B JUMPDEST
009F 61 PUSH2 0x010c
00A2 56 *JUMP
00A3 5B JUMPDEST
00A4 56 *JUMP
label_00A5:
00A5 5B JUMPDEST
00A6 60 PUSH1 0x00
00A8 61 PUSH2 0x00d8
00AB 7F PUSH32 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc
00CC 54 SLOAD
00CD 60 PUSH1 0x01
00CF 60 PUSH1 0x01
00D1 60 PUSH1 0xa0
00D3 1B SHL
00D4 03 SUB
00D5 16 AND
00D6 90 SWAP1
00D7 56 *JUMP
label_00D8:
00D8 5B JUMPDEST
00D9 90 SWAP1
00DA 50 POP
00DB 90 SWAP1
00DC 56 *JUMP
00DD 5B JUMPDEST
00DE 90 SWAP1
00DF 56 *JUMP
00E0 5B JUMPDEST
00E1 60 PUSH1 0x60
00E3 61 PUSH2 0x0105
00E6 83 DUP4
00E7 83 DUP4
00E8 60 PUSH1 0x40
00EA 51 MLOAD
00EB 80 DUP1
00EC 60 PUSH1 0x60
00EE 01 ADD
00EF 60 PUSH1 0x40
00F1 52 MSTORE
00F2 80 DUP1
00F3 60 PUSH1 0x27
00F5 81 DUP2
00F6 52 MSTORE
00F7 60 PUSH1 0x20
00F9 01 ADD
00FA 61 PUSH2 0x02d5
00FD 60 PUSH1 0x27
00FF 91 SWAP2
0100 39 CODECOPY
0101 61 PUSH2 0x0130
0104 56 *JUMP
0105 5B JUMPDEST
0106 93 SWAP4
0107 92 SWAP3
0108 50 POP
0109 50 POP
010A 50 POP
010B 56 *JUMP
label_010C:
010C 5B JUMPDEST
010D 36 CALLDATASIZE
010E 60 PUSH1 0x00
0110 80 DUP1
0111 37 CALLDATACOPY
0112 60 PUSH1 0x00
0114 80 DUP1
0115 36 CALLDATASIZE
0116 60 PUSH1 0x00
0118 84 DUP5
0119 5A GAS
011A F4 DELEGATECALL
011B 3D RETURNDATASIZE
011C 60 PUSH1 0x00
011E 80 DUP1
011F 3E RETURNDATACOPY
0120 80 DUP1
0121 80 DUP1
0122 15 ISZERO
0123 61 PUSH2 0x012b
0126 57 *JUMPI
label_0127:
0127 3D RETURNDATASIZE
0128 60 PUSH1 0x00
012A F3 *RETURN
label_012B:
012B 5B JUMPDEST
012C 3D RETURNDATASIZE
012D 60 PUSH1 0x00
012F FD *REVERT
0130 5B JUMPDEST
0131 60 PUSH1 0x60
0133 60 PUSH1 0x00
0135 80 DUP1
0136 85 DUP6
0137 60 PUSH1 0x01
0139 60 PUSH1 0x01
013B 60 PUSH1 0xa0
013D 1B SHL
013E 03 SUB
013F 16 AND
0140 85 DUP6
0141 60 PUSH1 0x40
0143 51 MLOAD
0144 61 PUSH2 0x014d
0147 91 SWAP2
0148 90 SWAP1
0149 61 PUSH2 0x0255
014C 56 *JUMP
014D 5B JUMPDEST
014E 60 PUSH1 0x00
0150 60 PUSH1 0x40
0152 51 MLOAD
0153 80 DUP1
0154 83 DUP4
0155 03 SUB
0156 81 DUP2
0157 85 DUP6
0158 5A GAS
0159 F4 DELEGATECALL
015A 91 SWAP2
015B 50 POP
015C 50 POP
015D 3D RETURNDATASIZE
015E 80 DUP1
015F 60 PUSH1 0x00
0161 81 DUP2
0162 14 EQ
0163 61 PUSH2 0x0188
0166 57 *JUMPI
0167 60 PUSH1 0x40
0169 51 MLOAD
016A 91 SWAP2
016B 50 POP
016C 60 PUSH1 0x1f
016E 19 NOT
016F 60 PUSH1 0x3f
0171 3D RETURNDATASIZE
0172 01 ADD
0173 16 AND
0174 82 DUP3
0175 01 ADD
0176 60 PUSH1 0x40
0178 52 MSTORE
0179 3D RETURNDATASIZE
017A 82 DUP3
017B 52 MSTORE
017C 3D RETURNDATASIZE
017D 60 PUSH1 0x00
017F 60 PUSH1 0x20
0181 84 DUP5
0182 01 ADD
0183 3E RETURNDATACOPY
0184 61 PUSH2 0x018d
0187 56 *JUMP
0188 5B JUMPDEST
0189 60 PUSH1 0x60
018B 91 SWAP2
018C 50 POP
018D 5B JUMPDEST
018E 50 POP
018F 91 SWAP2
0190 50 POP
0191 91 SWAP2
0192 50 POP
0193 61 PUSH2 0x019e
0196 86 DUP7
0197 83 DUP4
0198 83 DUP4
0199 87 DUP8
019A 61 PUSH2 0x01a8
019D 56 *JUMP
019E 5B JUMPDEST
019F 96 SWAP7
01A0 95 SWAP6
01A1 50 POP
01A2 50 POP
01A3 50 POP
01A4 50 POP
01A5 50 POP
01A6 50 POP
01A7 56 *JUMP
01A8 5B JUMPDEST
01A9 60 PUSH1 0x60
01AB 83 DUP4
01AC 15 ISZERO
01AD 61 PUSH2 0x0219
01B0 57 *JUMPI
01B1 82 DUP3
01B2 51 MLOAD
01B3 61 PUSH2 0x0212
01B6 57 *JUMPI
01B7 60 PUSH1 0x01
01B9 60 PUSH1 0x01
01BB 60 PUSH1 0xa0
01BD 1B SHL
01BE 03 SUB
01BF 85 DUP6
01C0 16 AND
01C1 3B EXTCODESIZE
01C2 61 PUSH2 0x0212
01C5 57 *JUMPI
01C6 60 PUSH1 0x40
01C8 51 MLOAD
01C9 62 PUSH3 0x461bcd
01CD 60 PUSH1 0xe5
01CF 1B SHL
01D0 81 DUP2
01D1 52 MSTORE
01D2 60 PUSH1 0x20
01D4 60 PUSH1 0x04
01D6 82 DUP3
01D7 01 ADD
01D8 52 MSTORE
01D9 60 PUSH1 0x1d
01DB 60 PUSH1 0x24
01DD 82 DUP3
01DE 01 ADD
01DF 52 MSTORE
01E0 7F PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0201 60 PUSH1 0x44
0203 82 DUP3
0204 01 ADD
0205 52 MSTORE
0206 60 PUSH1 0x64
0208 01 ADD
0209 5B JUMPDEST
020A 60 PUSH1 0x40
020C 51 MLOAD
020D 80 DUP1
020E 91 SWAP2
020F 03 SUB
0210 90 SWAP1
0211 FD *REVERT
0212 5B JUMPDEST
0213 50 POP
0214 81 DUP2
0215 61 PUSH2 0x0223
0218 56 *JUMP
0219 5B JUMPDEST
021A 61 PUSH2 0x0223
021D 83 DUP4
021E 83 DUP4
021F 61 PUSH2 0x022b
0222 56 *JUMP
0223 5B JUMPDEST
0224 94 SWAP5
0225 93 SWAP4
0226 50 POP
0227 50 POP
0228 50 POP
0229 50 POP
022A 56 *JUMP
022B 5B JUMPDEST
022C 81 DUP2
022D 51 MLOAD
022E 15 ISZERO
022F 61 PUSH2 0x023b
0232 57 *JUMPI
0233 81 DUP2
0234 51 MLOAD
0235 80 DUP1
0236 83 DUP4
0237 60 PUSH1 0x20
0239 01 ADD
023A FD *REVERT
023B 5B JUMPDEST
023C 80 DUP1
023D 60 PUSH1 0x40
023F 51 MLOAD
0240 62 PUSH3 0x461bcd
0244 60 PUSH1 0xe5
0246 1B SHL
0247 81 DUP2
0248 52 MSTORE
0249 60 PUSH1 0x04
024B 01 ADD
024C 61 PUSH2 0x0209
024F 91 SWAP2
0250 90 SWAP1
0251 61 PUSH2 0x0271
0254 56 *JUMP
0255 5B JUMPDEST
0256 60 PUSH1 0x00
0258 82 DUP3
0259 51 MLOAD
025A 61 PUSH2 0x0267
025D 81 DUP2
025E 84 DUP5
025F 60 PUSH1 0x20
0261 87 DUP8
0262 01 ADD
0263 61 PUSH2 0x02a4
0266 56 *JUMP
0267 5B JUMPDEST
0268 91 SWAP2
0269 90 SWAP1
026A 91 SWAP2
026B 01 ADD
026C 92 SWAP3
026D 91 SWAP2
026E 50 POP
026F 50 POP
0270 56 *JUMP
0271 5B JUMPDEST
0272 60 PUSH1 0x20
0274 81 DUP2
0275 52 MSTORE
0276 60 PUSH1 0x00
0278 82 DUP3
0279 51 MLOAD
027A 80 DUP1
027B 60 PUSH1 0x20
027D 84 DUP5
027E 01 ADD
027F 52 MSTORE
0280 61 PUSH2 0x0290
0283 81 DUP2
0284 60 PUSH1 0x40
0286 85 DUP6
0287 01 ADD
0288 60 PUSH1 0x20
028A 87 DUP8
028B 01 ADD
028C 61 PUSH2 0x02a4
028F 56 *JUMP
0290 5B JUMPDEST
0291 60 PUSH1 0x1f
0293 01 ADD
0294 60 PUSH1 0x1f
0296 19 NOT
0297 16 AND
0298 91 SWAP2
0299 90 SWAP1
029A 91 SWAP2
029B 01 ADD
029C 60 PUSH1 0x40
029E 01 ADD
029F 92 SWAP3
02A0 91 SWAP2
02A1 50 POP
02A2 50 POP
02A3 56 *JUMP
02A4 5B JUMPDEST
02A5 60 PUSH1 0x00
02A7 5B JUMPDEST
02A8 83 DUP4
02A9 81 DUP2
02AA 10 LT
02AB 15 ISZERO
02AC 61 PUSH2 0x02bf
02AF 57 *JUMPI
02B0 81 DUP2
02B1 81 DUP2
02B2 01 ADD
02B3 51 MLOAD
02B4 83 DUP4
02B5 82 DUP3
02B6 01 ADD
02B7 52 MSTORE
02B8 60 PUSH1 0x20
02BA 01 ADD
02BB 61 PUSH2 0x02a7
02BE 56 *JUMP
02BF 5B JUMPDEST
02C0 83 DUP4
02C1 81 DUP2
02C2 11 GT
02C3 15 ISZERO
02C4 61 PUSH2 0x02ce
02C7 57 *JUMPI
02C8 60 PUSH1 0x00
02CA 84 DUP5
02CB 84 DUP5
02CC 01 ADD
02CD 52 MSTORE
02CE 5B JUMPDEST
02CF 50 POP
02D0 50 POP
02D1 50 POP
02D2 50 POP
02D3 56 *JUMP
02D4 FE *ASSERT
02D5 41 COINBASE
02D6 64 PUSH5 0x6472657373
02DC 3A GASPRICE
02DD 20 SHA3
02DE 6C PUSH13 0x6f772d6c6576656c2064656c65
02EC 67 PUSH8 0x6174652063616c6c
02F5 20 SHA3
02F6 66 PUSH7 0x61696c6564a264
02FE 69 PUSH10 0x706673582212208d281a
0309 A3 LOG3
030A CA CA
030B 37 CALLDATACOPY
030C 53 MSTORE8
030D 20 SHA3
030E CC CC
030F D1 D1
0310 04 DIV
0311 1F 1F
0312 0A EXP
0313 6D PUSH14 0x22d9f5e3042e0bf18f02754e077e
0322 D3 D3
0323 8A DUP11
0324 89 DUP10
0325 9D SWAP14
0326 64 PUSH5 0x736f6c6343
032C 00 *STOP
032D 08 ADDMOD
032E 07 SMOD
032F 00 *STOP
0330 33 CALLER