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 0x02cc
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 0x027c
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 0x021c
01B0 57 *JUMPI
01B1 82 DUP3
01B2 51 MLOAD
01B3 60 PUSH1 0x00
01B5 03 SUB
01B6 61 PUSH2 0x0215
01B9 57 *JUMPI
01BA 60 PUSH1 0x01
01BC 60 PUSH1 0x01
01BE 60 PUSH1 0xa0
01C0 1B SHL
01C1 03 SUB
01C2 85 DUP6
01C3 16 AND
01C4 3B EXTCODESIZE
01C5 61 PUSH2 0x0215
01C8 57 *JUMPI
01C9 60 PUSH1 0x40
01CB 51 MLOAD
01CC 62 PUSH3 0x461bcd
01D0 60 PUSH1 0xe5
01D2 1B SHL
01D3 81 DUP2
01D4 52 MSTORE
01D5 60 PUSH1 0x20
01D7 60 PUSH1 0x04
01D9 82 DUP3
01DA 01 ADD
01DB 52 MSTORE
01DC 60 PUSH1 0x1d
01DE 60 PUSH1 0x24
01E0 82 DUP3
01E1 01 ADD
01E2 52 MSTORE
01E3 7F PUSH32 0x416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000
0204 60 PUSH1 0x44
0206 82 DUP3
0207 01 ADD
0208 52 MSTORE
0209 60 PUSH1 0x64
020B 01 ADD
020C 5B JUMPDEST
020D 60 PUSH1 0x40
020F 51 MLOAD
0210 80 DUP1
0211 91 SWAP2
0212 03 SUB
0213 90 SWAP1
0214 FD *REVERT
0215 5B JUMPDEST
0216 50 POP
0217 81 DUP2
0218 61 PUSH2 0x0226
021B 56 *JUMP
021C 5B JUMPDEST
021D 61 PUSH2 0x0226
0220 83 DUP4
0221 83 DUP4
0222 61 PUSH2 0x022e
0225 56 *JUMP
0226 5B JUMPDEST
0227 94 SWAP5
0228 93 SWAP4
0229 50 POP
022A 50 POP
022B 50 POP
022C 50 POP
022D 56 *JUMP
022E 5B JUMPDEST
022F 81 DUP2
0230 51 MLOAD
0231 15 ISZERO
0232 61 PUSH2 0x023e
0235 57 *JUMPI
0236 81 DUP2
0237 51 MLOAD
0238 80 DUP1
0239 83 DUP4
023A 60 PUSH1 0x20
023C 01 ADD
023D FD *REVERT
023E 5B JUMPDEST
023F 80 DUP1
0240 60 PUSH1 0x40
0242 51 MLOAD
0243 62 PUSH3 0x461bcd
0247 60 PUSH1 0xe5
0249 1B SHL
024A 81 DUP2
024B 52 MSTORE
024C 60 PUSH1 0x04
024E 01 ADD
024F 61 PUSH2 0x020c
0252 91 SWAP2
0253 90 SWAP1
0254 61 PUSH2 0x0298
0257 56 *JUMP
0258 5B JUMPDEST
0259 60 PUSH1 0x00
025B 5B JUMPDEST
025C 83 DUP4
025D 81 DUP2
025E 10 LT
025F 15 ISZERO
0260 61 PUSH2 0x0273
0263 57 *JUMPI
0264 81 DUP2
0265 81 DUP2
0266 01 ADD
0267 51 MLOAD
0268 83 DUP4
0269 82 DUP3
026A 01 ADD
026B 52 MSTORE
026C 60 PUSH1 0x20
026E 01 ADD
026F 61 PUSH2 0x025b
0272 56 *JUMP
0273 5B JUMPDEST
0274 50 POP
0275 50 POP
0276 60 PUSH1 0x00
0278 91 SWAP2
0279 01 ADD
027A 52 MSTORE
027B 56 *JUMP
027C 5B JUMPDEST
027D 60 PUSH1 0x00
027F 82 DUP3
0280 51 MLOAD
0281 61 PUSH2 0x028e
0284 81 DUP2
0285 84 DUP5
0286 60 PUSH1 0x20
0288 87 DUP8
0289 01 ADD
028A 61 PUSH2 0x0258
028D 56 *JUMP
028E 5B JUMPDEST
028F 91 SWAP2
0290 90 SWAP1
0291 91 SWAP2
0292 01 ADD
0293 92 SWAP3
0294 91 SWAP2
0295 50 POP
0296 50 POP
0297 56 *JUMP
0298 5B JUMPDEST
0299 60 PUSH1 0x20
029B 81 DUP2
029C 52 MSTORE
029D 60 PUSH1 0x00
029F 82 DUP3
02A0 51 MLOAD
02A1 80 DUP1
02A2 60 PUSH1 0x20
02A4 84 DUP5
02A5 01 ADD
02A6 52 MSTORE
02A7 61 PUSH2 0x02b7
02AA 81 DUP2
02AB 60 PUSH1 0x40
02AD 85 DUP6
02AE 01 ADD
02AF 60 PUSH1 0x20
02B1 87 DUP8
02B2 01 ADD
02B3 61 PUSH2 0x0258
02B6 56 *JUMP
02B7 5B JUMPDEST
02B8 60 PUSH1 0x1f
02BA 01 ADD
02BB 60 PUSH1 0x1f
02BD 19 NOT
02BE 16 AND
02BF 91 SWAP2
02C0 90 SWAP1
02C1 91 SWAP2
02C2 01 ADD
02C3 60 PUSH1 0x40
02C5 01 ADD
02C6 92 SWAP3
02C7 91 SWAP2
02C8 50 POP
02C9 50 POP
02CA 56 *JUMP
02CB FE *ASSERT
02CC 41 COINBASE
02CD 64 PUSH5 0x6472657373
02D3 3A GASPRICE
02D4 20 SHA3
02D5 6C PUSH13 0x6f772d6c6576656c2064656c65
02E3 67 PUSH8 0x6174652063616c6c
02EC 20 SHA3
02ED 66 PUSH7 0x61696c6564a264
02F5 69 PUSH10 0x706673582212203400c0
0300 C2 C2
0301 C3 C3
0302 10 LT
0303 35 CALLDATALOAD
0304 69 PUSH10 0x3e678bfcf4597eb7696e
030F 02 MUL
0310 D8 D8
0311 35 CALLDATALOAD
0312 41 COINBASE
0313 1F 1F
0314 B9 B9
0315 86 DUP7
0316 B7 B7
0317 54 SLOAD
0318 92 SWAP3
0319 BF BF
031A 13 SGT
031B D7 D7
031C AD AD
031D 64 PUSH5 0x736f6c6343
0323 00 *STOP
0324 08 ADDMOD
0325 11 GT
0326 00 *STOP
0327 33 CALLER