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 0x706673582212200103e0
	0300    86    DUP7
	0301    4C    4C
	0302    97    SWAP8
	0303    52    MSTORE
	0304    9D    SWAP14
	0305    71    PUSH18 0xd628488d7318984e492ea1b6f11df482f6d3
	0318    F7    F7
	0319    25    25
	031A    81    DUP2
	031B    6C    PUSH13 0xea64736f6c63430008110033