Untitled

 avatar
unknown
plain_text
2 years ago
13 kB
3
Indexable
contract Contract {
    function main() {
        memory[0x40:0x60] = 0x80;
        var temp0 = memory[0x40:0x60];
        memory[0x40:0x60] = temp0 + 0xa0;
        var temp1 = memory[0x40:0x60];
        memory[0x40:0x60] = temp1 + 0x40;
        memory[temp1:temp1 + 0x20] = 0x05;
        memory[temp1 + 0x20:temp1 + 0x20 + 0x20] = 0x626574656c000000000000000000000000000000000000000000000000000000;
        memory[temp0:temp0 + 0x20] = temp1;
        var temp2 = temp0 + 0x20;
        var temp3 = memory[0x40:0x60];
        memory[0x40:0x60] = temp3 + 0x40;
        memory[temp3:temp3 + 0x20] = 0x05;
        memory[temp3 + 0x20:temp3 + 0x20 + 0x20] = 0x667269736b000000000000000000000000000000000000000000000000000000;
        memory[temp2:temp2 + 0x20] = temp3;
        var temp4 = temp2 + 0x20;
        var temp5 = memory[0x40:0x60];
        memory[0x40:0x60] = temp5 + 0x40;
        memory[temp5:temp5 + 0x20] = 0x05;
        memory[temp5 + 0x20:temp5 + 0x20 + 0x20] = 0x626f6e676f000000000000000000000000000000000000000000000000000000;
        memory[temp4:temp4 + 0x20] = temp5;
        var temp6 = temp4 + 0x20;
        var temp7 = memory[0x40:0x60];
        memory[0x40:0x60] = temp7 + 0x40;
        memory[temp7:temp7 + 0x20] = 0x05;
        memory[temp7 + 0x20:temp7 + 0x20 + 0x20] = 0x626567756e000000000000000000000000000000000000000000000000000000;
        memory[temp6:temp6 + 0x20] = temp7;
        var temp8 = memory[0x40:0x60];
        memory[0x40:0x60] = temp8 + 0x40;
        memory[temp8:temp8 + 0x20] = 0x05;
        memory[temp8 + 0x20:temp8 + 0x20 + 0x20] = 0x617a757265000000000000000000000000000000000000000000000000000000;
        memory[temp6 + 0x20:temp6 + 0x20 + 0x20] = temp8;
        var var0 = 0x000146;
        var var1 = 0x01;
        var var3 = 0x05;
        var var2 = temp0;
        var0 = func_019B(var1, var2, var3);
        var0 = msg.value;
    
        if (var0) { revert(memory[0x00:0x00]); }
    
        storage[0x00] = msg.sender | (storage[0x00] & ~0xffffffffffffffffffffffffffffffffffffffff);
        memory[0x00:0x0872] = code[0x05f9:0x0e6b];
        return memory[0x00:0x0872];
    }
    
    function func_019B(var arg0, var arg1, var arg2) returns (var r0) {
        var temp0 = arg0;
        var temp1 = storage[temp0];
        var temp2 = arg2;
        storage[temp0] = temp2;
        memory[0x00:0x20] = temp0;
        var var0 = keccak256(memory[0x00:0x20]);
        var temp3 = arg1;
        arg1 = var0 + temp1;
        var var1 = temp3;
    
        if (!temp2) {
        label_01E8:
            var temp4 = arg1;
            arg1 = 0x0001f7;
            var0 = var0;
            arg2 = temp4;
            arg1 = func_01FB(arg2, var0);
            return arg0;
        } else {
            var temp5 = arg2;
            var temp6 = var1;
            arg2 = temp6;
            var1 = arg2 + temp5 * 0x20;
        
            if (var1 <= arg2) {
            label_01E7:
                goto label_01E8;
            } else {
            label_01C6:
                var var2 = var0;
                var var3 = 0x0001d6;
                var var5 = var2;
                var var4 = memory[arg2:arg2 + 0x20];
                func_0502(var4, var5);
            
            label_01D6:
                arg2 = arg2 + 0x20;
                var0 = var0 + 0x01;
                var1 = var1;
            
                if (var1 <= arg2) { goto label_01E7; }
                else { goto label_01C6; }
            }
        }
    }
    
    function func_01FB(var arg0, var arg1) returns (var r0) {
        if (arg0 <= arg1) {
        label_021F:
            return arg0;
        } else {
        label_0206:
            var var0 = 0x00;
            var var1 = 0x000215;
            var var2 = arg1;
            var var3 = var0;
            func_0223(var2, var3);
            arg1 = arg1 + 0x01;
        
            if (arg0 <= arg1) { goto label_021F; }
            else { goto label_0206; }
        }
    }
    
    function func_0223(var arg0, var arg1) {
        arg1 = 0x000231;
        var var0 = storage[arg0];
        arg1 = func_02F1(var0);
        storage[arg0] = 0x00;
    
        if (0x1f >= arg1) { goto label_0266; }
    
        memory[0x00:0x20] = arg0;
        arg0 = 0x000265;
        arg1 = keccak256(memory[0x00:0x20]) + (arg1 + 0x1f) / 0x20;
        var0 = keccak256(memory[0x00:0x20]);
        arg0 = func_0269(arg1, var0);
    
    label_0266:
    }
    
    function func_0269(var arg0, var arg1) returns (var r0) {
        if (arg0 <= arg1) {
        label_0284:
            return arg0;
        } else {
        label_0274:
            var temp0 = arg1;
            storage[temp0] = 0x00;
            arg1 = temp0 + 0x01;
        
            if (arg0 <= arg1) { goto label_0284; }
            else { goto label_0274; }
        }
    }
    
    function func_0288(var arg0) returns (var r0) { return memory[arg0:arg0 + 0x20]; }
    
    function func_02F1(var arg0) returns (var r0) {
        var temp0 = arg0;
        var var0 = temp0 / 0x02;
        var var1 = temp0 & 0x01;
    
        if (!var1) {
            var temp1 = var0 & 0x7f;
            var0 = temp1;
        
            if (var1 - (var0 < 0x20)) { goto label_0320; }
            else { goto label_0316; }
        } else if (var1 - (var0 < 0x20)) {
        label_0320:
            return var0;
        } else {
        label_0316:
            var var2 = 0x00031f;
            memory[0x00:0x20] = 0x4e487b7100000000000000000000000000000000000000000000000000000000;
            memory[0x04:0x24] = 0x22;
            revert(memory[0x00:0x24]);
        }
    }
    
    function func_0326(var arg0) returns (var r0) {
        memory[0x00:0x20] = arg0;
        return keccak256(memory[0x00:0x20]);
    }
    
    function func_033B(var arg0) returns (var r0) { return (arg0 + 0x1f) / 0x20; }
    
    function func_034B(var arg0, var arg1) returns (var r0) { return arg0 << arg1; }
    
    function func_03AE(var arg0) returns (var r0) { return arg0; }
    
    function func_03C2(var arg0) returns (var r0) {
        var var0 = 0x00;
        var var1 = 0x0003e3;
        var var2 = 0x0003dd;
        var var3 = 0x0003d7;
        var var4 = arg0;
        var3 = func_03AE(var4);
        var2 = func_03D7(var3);
        return func_03DD(var2);
    }
    
    function func_03D7(var arg0) returns (var r0) { return arg0; }
    
    function func_03DD(var arg0) returns (var r0) {
        r0 = func_03AE(arg0);
        // Error: Could not resolve method call return address!
    }
    
    function func_03EA(var arg0) returns (var r0) { return arg0; }
    
    function func_03F4(var arg0, var arg1, var arg2) {
        var var0 = 0x0003ff;
        var var1 = arg0;
        var0 = func_03C2(var1);
        var1 = 0x000417;
        var var2 = 0x00040e;
        var var3 = var0;
        var2 = func_03EA(var3);
        var1 = func_040E(arg1, arg2, var2);
        storage[arg2] = var1;
    }
    
    function func_040E(var arg0, var arg1, var arg2) returns (var r0) {
        var var0 = arg0;
        var var1 = storage[arg1];
        var var2 = 0x00;
        var var3 = var0 * 0x08;
        var var4 = 0x00038a;
        var var5 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
        var var6 = var3;
        var4 = func_034B(var5, var6);
        var5 = 0x000396;
        var6 = arg2;
        var var7 = var3;
        var5 = func_034B(var6, var7);
        var temp0 = var4;
        return (var1 & ~temp0) | (var5 & temp0);
    }
    
    function func_041F() returns (var r0) { return 0x00; }
    
    function func_0424(var arg0, var arg1) {
        var var0 = 0x00042e;
        var0 = func_041F();
        var var1 = 0x00043b;
        var var2 = var0;
        var var3 = arg0;
        var var4 = arg1;
        func_03F4(var2, var3, var4);
    }
    
    function func_0467(var arg0, var arg1, var arg2) {
        if (arg1 <= 0x1f) {
        label_04B2:
            return;
        } else {
            var var0 = 0x00047c;
            var var1 = arg2;
            var0 = func_0326(var1);
            var1 = 0x000487;
            var var2 = arg0;
            var1 = func_033B(var2);
            var1 = var0 + var1;
        
            if (arg0 >= 0x20) {
                var2 = 0x0004af;
                var var3 = 0x0004a6;
                var var4 = arg1;
                var3 = func_033B(var4);
                func_04A6(var0, var1, var3);
            
            label_04AF:
                goto label_04B2;
            } else {
                var1 = var0;
                var2 = 0x0004af;
                var3 = 0x0004a6;
                var4 = arg1;
                var3 = func_033B(var4);
                func_04A6(var0, var1, var3);
                goto label_04AF;
            }
        }
    }
    
    function func_04A6(var arg0, var arg1, var arg2) {
        arg2 = arg0 + arg2;
        var var0 = arg1;
    
        if (var0 >= arg2) {
        label_0463:
            return;
        } else {
        label_044B:
            var var1 = 0x000457;
            var var2 = 0x00;
            var var3 = var0;
            func_0424(var2, var3);
            var0 = var0 + 0x01;
        
            if (var0 >= arg2) { goto label_0463; }
            else { goto label_044B; }
        }
    }
    
    function func_04B7(var arg0, var arg1) returns (var r0) { return arg0 >> arg1; }
    
    function func_04C4(var arg0, var arg1) returns (var r0) {
        var var0 = 0x00;
        var var1 = 0x0004d7;
        var var2 = ~0x00;
        var var3 = arg0 * 0x08;
        var1 = func_04B7(var2, var3);
        return arg1 & ~var1;
    }
    
    function func_04E4(var arg0, var arg1) returns (var r0) {
        var var0 = 0x00;
        var var1 = 0x0004f2;
        var var2 = arg0;
        var var3 = arg1;
        var1 = func_04C4(var2, var3);
        return var1 | arg0 * 0x02;
    }
    
    function func_0502(var arg0, var arg1) {
        var var0 = 0x00050d;
        var var1 = arg0;
        var0 = func_0288(var1);
    
        if (var0 <= 0xffffffffffffffff) {
            var1 = 0x000535;
            var var2 = storage[arg1];
            var1 = func_02F1(var2);
            var2 = 0x000542;
            var var3 = var0;
            var var4 = var1;
            var var5 = arg1;
            func_0467(var3, var4, var5);
            var2 = 0x20;
            var3 = var0 > 0x1f;
        
            if (var3 == 0x01) {
                var4 = var0 & ~0x1f;
                var5 = 0x00058a;
                var var6 = arg1;
                var5 = func_0326(var6);
                var6 = 0x00;
            
                if (var6 >= var4) {
                label_05B4:
                
                    if (var4 >= var0) {
                    label_05D4:
                        storage[arg1] = var0 * 0x02 + 0x01;
                        return;
                    } else {
                        var var7 = memory[arg0 + var2:arg0 + var2 + 0x20];
                        var var8 = 0x0005d0;
                        var var9 = var0 & 0x1f;
                        var var10 = var7;
                        var8 = func_04C4(var9, var10);
                        storage[var5] = var8;
                        goto label_05D4;
                    }
                } else {
                label_0597:
                    var temp0 = var2;
                    var temp1 = var5;
                    storage[temp1] = memory[arg0 + temp0:arg0 + temp0 + 0x20];
                    var5 = temp1 + 0x01;
                    var2 = temp0 + 0x20;
                    var6 = var6 + 0x20;
                
                    if (var6 >= var4) { goto label_05B4; }
                    else { goto label_0597; }
                }
            } else {
                var4 = 0x00;
            
                if (!var0) {
                    var5 = 0x000571;
                    var6 = var0;
                    var7 = var4;
                    var5 = func_04E4(var6, var7);
                
                label_0571:
                    storage[arg1] = var5;
                    return;
                } else {
                    var4 = memory[arg0 + var2:arg0 + var2 + 0x20];
                    var5 = 0x000571;
                    var6 = var0;
                    var7 = var4;
                    var5 = func_04E4(var6, var7);
                    goto label_0571;
                }
            }
        } else {
            var1 = 0x000528;
            memory[0x00:0x20] = 0x4e487b7100000000000000000000000000000000000000000000000000000000;
            memory[0x04:0x24] = 0x41;
            revert(memory[0x00:0x24]);
        }
    }
}