contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length < 0x04) {
label_00C2:
storage[0x08] = (storage[0x08] & ~0xff) | 0x01;
stop();
} else {
var var0 = msg.data[0x00:0x20] >> 0xe0;
if (0x313ce567 > var0) {
if (var0 == 0x06fdde03) {
// Dispatch table entry for
name()
var var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x00e6;
var var2 =
name();
label_00E6:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x20;
var temp1 = var2;
memory[temp0 + 0x20:temp0 + 0x20 + 0x20] = memory[temp1:temp1 + 0x20];
var var3 = temp0;
var var4 = var3;
var var5 = var4 + 0x40;
var var7 = memory[temp1:temp1 + 0x20];
var var6 = temp1 + 0x20;
var var8 = var7;
var var9 = var5;
var var10 = var6;
var var11 = 0x00;
if (var11 >= var8) {
label_0120:
var temp2 = var7;
var5 = temp2 + var5;
var6 = temp2 & 0x1f;
if (!var6) {
var temp3 = memory[0x40:0x60];
return memory[temp3:temp3 + var5 - temp3];
} else {
var temp4 = var6;
var temp5 = var5 - temp4;
memory[temp5:temp5 + 0x20] = ~(0x0100 ** (0x20 - temp4) - 0x01) & memory[temp5:temp5 + 0x20];
var temp6 = memory[0x40:0x60];
return memory[temp6:temp6 + (temp5 + 0x20) - temp6];
}
} else {
label_0111:
var temp7 = var11;
memory[temp7 + var9:temp7 + var9 + 0x20] = memory[temp7 + var10:temp7 + var10 + 0x20];
var11 = temp7 + 0x20;
if (var11 >= var8) { goto label_0120; }
else { goto label_0111; }
}
} else if (var0 == 0x095ea7b3) {
// Dispatch table entry for
approve(address,uint256)
var1 = 0x0187;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
var1 =
approve(var2, var3);
label_0187:
var temp8 = memory[0x40:0x60];
memory[temp8:temp8 + 0x20] = !!var1;
var temp9 = memory[0x40:0x60];
return memory[temp9:temp9 + temp8 - temp9 + 0x20];
} else if (var0 == 0x18160ddd) {
// Dispatch table entry for
totalSupply()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 =
totalSupply();
label_01B0:
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + 0x20] = var2;
var temp11 = memory[0x40:0x60];
return memory[temp11:temp11 + temp10 - temp11 + 0x20];
} else if (var0 == 0x1ba1ccab) {
// Dispatch table entry for
block(address[])
var1 = 0x0187;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var1 =
block(var2, var3);
goto label_0187;
} else if (var0 == 0x23b872dd) {
// Dispatch table entry for
transferFrom(address,address,uint256)
var1 = 0x0187;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x60) { revert(memory[0x00:0x00]); }
var1 =
transferFrom(var2, var3);
goto label_0187;
} else if (var0 == 0x295b4e17) {
// Dispatch table entry for
paid()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0187;
var2 =
paid();
goto label_0187;
} else { goto label_00C2; }
} else if (0xa9059cbb > var0) {
if (var0 == 0x313ce567) {
// Dispatch table entry for
decimals()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 =
decimals();
goto label_01B0;
} else if (var0 == 0x70a08231) {
// Dispatch table entry for
balanceOf(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x20) { revert(memory[0x00:0x00]); }
var2 =
balanceOf(var2, var3);
goto label_01B0;
} else if (var0 == 0x95d89b41) {
// Dispatch table entry for
symbol()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x00e6;
var2 =
symbol();
goto label_00E6;
} else { goto label_00C2; }
} else if (var0 == 0xa9059cbb) {
// Dispatch table entry for
transfer(address,uint256)
var1 = 0x0187;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
var temp12 = var2;
var2 = msg.data[temp12:temp12 + 0x20] & (0x01 << 0xa0) - 0x01;
var3 = msg.data[temp12 + 0x20:temp12 + 0x20 + 0x20];
var4 = 0x00;
var5 = 0x07e1;
var6 = msg.sender;
var7 = var2;
var8 = var3;
var5 =
transfer(var6, var7, var8);
var1 = var5;
// Error: Could not resolve jump destination!
} else if (var0 == 0xaa2f5220) {
// Dispatch table entry for
batchSend(address[],uint256)
var1 = 0x0187;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
var1 =
batchSend(var2, var3);
goto label_0187;
} else if (var0 == 0xd6d2b6ba) {
// Dispatch table entry for
delegate(address,bytes)
var1 = 0x0494;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
delegate(var2, var3);
stop();
} else if (var0 == 0xdd62ed3e) {
// Dispatch table entry for
allowance(address,address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 = 0x04;
var3 = msg.data.length - var2;
if (var3 < 0x40) { revert(memory[0x00:0x00]); }
var2 =
allowance(var2, var3);
goto label_01B0;
} else { goto label_00C2; }
}
}
function approve(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = msg.data[temp0 + 0x20:temp0 + 0x20 + 0x20];
var temp1 = msg.sender;
memory[0x00:0x20] = temp1;
memory[0x20:0x40] = 0x03;
var temp2 = keccak256(memory[0x00:0x40]);
var temp3 = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x00:0x20] = temp3;
memory[0x20:0x40] = temp2;
var temp4 = arg1;
storage[keccak256(memory[0x00:0x40])] = temp4;
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = temp4;
var temp6 = memory[0x40:0x60];
log(memory[temp6:temp6 + temp5 - temp6 + 0x20], [0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, msg.sender, stack[-2] & (0x01 << 0xa0) - 0x01]);
return 0x01;
}
function block(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
var temp1 = temp0 + arg1;
arg1 = temp0;
arg0 = temp1;
var var0 = arg1 + 0x20;
var var1 = msg.data[arg1:arg1 + 0x20];
if (var1 > 0x0100000000) { revert(memory[0x00:0x00]); }
var temp2 = arg1 + var1;
var1 = temp2;
if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); }
var temp3 = var1;
var temp4 = msg.data[temp3:temp3 + 0x20];
var1 = temp4;
var temp5 = var0;
var0 = temp3 + 0x20;
var var2 = temp5;
if ((var1 > 0x0100000000) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
var temp6 = var1;
var temp7 = memory[0x40:0x60];
memory[0x40:0x60] = temp7 + temp6 * 0x20 + 0x20;
memory[temp7:temp7 + 0x20] = temp6;
var temp8 = temp7 + 0x20;
var temp9 = temp6 * 0x20;
memory[temp8:temp8 + temp9] = msg.data[var0:var0 + temp9];
memory[temp8 + temp9:temp8 + temp9 + 0x20] = 0x00;
arg0 = temp7;
arg1 = 0x00;
if (msg.sender != storage[0x08] / 0x0100 & (0x01 << 0xa0) - 0x01) { revert(memory[0x00:0x00]); }
var0 = 0x00;
if (var0 >= memory[arg0:arg0 + 0x20]) {
label_064D:
return arg1;
} else {
label_05F7:
storage[0x08] = (storage[0x08] & ~0xff) | 0x01;
var1 = 0x00;
var2 = arg0;
var var3 = var0;
if (var3 >= memory[var2:var2 + 0x20]) { assert(); }
memory[0x00:0x20] = memory[var3 * 0x20 + var2 + 0x20:var3 * 0x20 + var2 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x01;
var temp10 = keccak256(memory[0x00:0x40]);
storage[temp10] = (storage[temp10] & ~0xff) | 0x01;
var0 = var0 + 0x01;
if (var0 >= memory[arg0:arg0 + 0x20]) { goto label_064D; }
else { goto label_05F7; }
}
}
function transferFrom(var arg0, var arg1) returns (var r0) {
var temp0 = (0x01 << 0xa0) - 0x01;
var temp1 = arg0;
arg0 = temp0 & msg.data[temp1:temp1 + 0x20];
arg1 = temp0 & msg.data[temp1 + 0x20:temp1 + 0x20 + 0x20];
var var0 = msg.data[temp1 + 0x40:temp1 + 0x40 + 0x20];
r0 =
transfer(arg0, arg1, var0);
// Error: Could not resolve method call return address!
}
function balanceOf(var arg0, var arg1) returns (var arg0) {
arg0 = msg.data[arg0:arg0 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x02;
memory[0x00:0x20] = arg0;
return storage[keccak256(memory[0x00:0x40])];
}
function batchSend(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
var temp1 = temp0 + arg1;
arg1 = temp0;
arg0 = temp1;
var var0 = arg1 + 0x20;
var var1 = msg.data[arg1:arg1 + 0x20];
if (var1 > 0x0100000000) { revert(memory[0x00:0x00]); }
var temp2 = arg1 + var1;
var1 = temp2;
if (var1 + 0x20 > arg0) { revert(memory[0x00:0x00]); }
var temp3 = var1;
var temp4 = msg.data[temp3:temp3 + 0x20];
var1 = temp4;
var temp5 = var0;
var0 = temp3 + 0x20;
var var2 = temp5;
if ((var1 > 0x0100000000) | (var0 + var1 * 0x20 > arg0)) { revert(memory[0x00:0x00]); }
var temp6 = var1;
var temp7 = memory[0x40:0x60];
memory[0x40:0x60] = temp7 + temp6 * 0x20 + 0x20;
memory[temp7:temp7 + 0x20] = temp6;
var temp8 = temp7 + 0x20;
var temp9 = temp6 * 0x20;
memory[temp8:temp8 + temp9] = msg.data[var0:var0 + temp9];
memory[temp8 + temp9:temp8 + temp9 + 0x20] = 0x00;
arg0 = temp7;
arg1 = msg.data[var2:var2 + 0x20];
var0 = 0x00;
if (msg.sender != storage[0x08] / 0x0100 & (0x01 << 0xa0) - 0x01) { revert(memory[0x00:0x00]); }
var temp10 = memory[arg0:arg0 + 0x20];
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x02;
var1 = arg1 * temp10;
if (var1 > storage[keccak256(memory[0x00:0x40])]) { revert(memory[0x00:0x00]); }
var2 = 0x00;
memory[var2:var2 + 0x20] = msg.sender;
memory[0x20:0x40] = 0x02;
var temp11 = keccak256(memory[var2:var2 + 0x40]);
storage[temp11] = storage[temp11] - var1;
if (var2 >= memory[arg0:arg0 + 0x20]) {
label_0956:
return 0x01;
} else {
label_08D3:
var var3 = 0x00;
var var4 = arg0;
var var5 = var2;
if (var5 >= memory[var4:var4 + 0x20]) { assert(); }
var temp12 = memory[var5 * 0x20 + var4 + 0x20:var5 * 0x20 + var4 + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01;
memory[0x00:0x20] = temp12;
memory[0x20:0x40] = 0x02;
var temp13 = keccak256(memory[0x00:0x40]);
var temp14 = arg1;
storage[temp13] = temp14 + storage[temp13];
memory[0x20:0x40] = 0x00;
storage[keccak256(memory[0x00:0x40])] = 0x01;
var temp15 = memory[0x40:0x60];
memory[temp15:temp15 + 0x20] = temp14;
var temp16 = memory[0x40:0x60];
log(memory[temp16:temp16 + temp15 - temp16 + 0x20], [0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, msg.sender, memory[stack[-1] * 0x20 + stack[-2] + 0x20:stack[-1] * 0x20 + stack[-2] + 0x20 + 0x20] & (0x01 << 0xa0) - 0x01]);
var2 = var2 + 0x01;
if (var2 >= memory[arg0:arg0 + 0x20]) { goto label_0956; }
else { goto label_08D3; }
}
}
function delegate(var arg0, var arg1) {
var temp0 = arg0;
arg0 = msg.data[temp0:temp0 + 0x20] & (0x01 << 0xa0) - 0x01;
arg1 = temp0 + arg1;
var var0 = temp0;
var var1 = var0 + 0x40;
var var2 = msg.data[var0 + 0x20:var0 + 0x20 + 0x20];
if (var2 > 0x0100000000) { revert(memory[0x00:0x00]); }
var temp1 = var0 + var2;
var2 = temp1;
if (var2 + 0x20 > arg1) { revert(memory[0x00:0x00]); }
var temp2 = var2;
var temp3 = msg.data[temp2:temp2 + 0x20];
var2 = temp3;
var var3 = var1;
var1 = temp2 + 0x20;
if ((var2 > 0x0100000000) | (var1 + var2 > arg1)) { revert(memory[0x00:0x00]); }
var temp4 = var2;
var temp5 = memory[0x40:0x60];
memory[0x40:0x60] = temp5 + (temp4 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[temp5:temp5 + 0x20] = temp4;
var temp6 = temp5 + 0x20;
memory[temp6:temp6 + temp4] = msg.data[var1:var1 + temp4];
memory[temp6 + temp4:temp6 + temp4 + 0x20] = 0x00;
arg1 = temp5;
if (msg.sender != storage[0x08] / 0x0100 & (0x01 << 0xa0) - 0x01) { revert(memory[0x00:0x00]); }
var0 = arg0 & (0x01 << 0xa0) - 0x01;
var temp7 = arg1;
var1 = temp7;
var2 = memory[0x40:0x60];
var3 = var2;
var var4 = var1 + 0x20;
var var5 = memory[var1:var1 + 0x20];
var var6 = var5;
var var7 = var3;
var var8 = var4;
if (var6 < 0x20) {
label_09B7:
var temp8 = 0x0100 ** (0x20 - var6) - 0x01;
var temp9 = var7;
memory[temp9:temp9 + 0x20] = (memory[var8:var8 + 0x20] & ~temp8) | (memory[temp9:temp9 + 0x20] & temp8);
var temp10 = memory[0x40:0x60];
var temp11;
temp11, memory[temp10:temp10 + 0x00] = address(var0).delegatecall.gas(msg.gas)(memory[temp10:temp10 + (var5 + var3) - temp10]);
var1 = returndata.length;
var2 = var1;
if (var2 == 0x00) { return; }
var temp12 = memory[0x40:0x60];
var1 = temp12;
memory[0x40:0x60] = var1 + (returndata.length + 0x3f & ~0x1f);
memory[var1:var1 + 0x20] = returndata.length;
var temp13 = returndata.length;
memory[var1 + 0x20:var1 + 0x20 + temp13] = returndata[0x00:0x00 + temp13];
return;
} else {
label_09A1:
var temp14 = var8;
var temp15 = var7;
memory[temp15:temp15 + 0x20] = memory[temp14:temp14 + 0x20];
var6 = var6 + ~0x1f;
var7 = temp15 + 0x20;
var8 = temp14 + 0x20;
if (var6 < 0x20) { goto label_09B7; }
else { goto label_09A1; }
}
}
function allowance(var arg0, var arg1) returns (var arg0) {
var temp0 = (0x01 << 0xa0) - 0x01;
var temp1 = arg0;
arg0 = temp0 & msg.data[temp1:temp1 + 0x20];
arg1 = msg.data[temp1 + 0x20:temp1 + 0x20 + 0x20] & temp0;
memory[0x20:0x40] = 0x03;
memory[0x00:0x20] = arg0;
memory[0x20:0x40] = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = arg1;
return storage[keccak256(memory[0x00:0x40])];
}
function name() returns (var r0) {
var temp0 = storage[0x06];
var temp1 = memory[0x40:0x60];
var temp2 = (temp0 & !(temp0 & 0x01) * 0x0100 + ~0x00) / 0x02;
var var2 = temp2;
memory[0x40:0x60] = temp1 + (var2 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[temp1:temp1 + 0x20] = var2;
r0 = temp1;
var var1 = 0x06;
var var3 = r0 + 0x20;
var var4 = var1;
var var5 = var2;
if (!var5) {
label_0557:
return r0;
} else if (0x1f < var5) {
var temp3 = var3;
var temp4 = temp3 + var5;
var3 = temp4;
memory[0x00:0x20] = var4;
var temp5 = keccak256(memory[0x00:0x20]);
memory[temp3:temp3 + 0x20] = storage[temp5];
var4 = temp5 + 0x01;
var5 = temp3 + 0x20;
if (var3 <= var5) { goto label_054E; }
label_053A:
var temp6 = var4;
var temp7 = var5;
memory[temp7:temp7 + 0x20] = storage[temp6];
var4 = temp6 + 0x01;
var5 = temp7 + 0x20;
if (var3 > var5) { goto label_053A; }
label_054E:
var temp8 = var3;
var temp9 = temp8 + (var5 - temp8 & 0x1f);
var5 = temp8;
var3 = temp9;
goto label_0557;
} else {
var temp10 = var3;
memory[temp10:temp10 + 0x20] = storage[var4] / 0x0100 * 0x0100;
var3 = temp10 + 0x20;
var5 = var5;
goto label_0557;
}
}
function totalSupply() returns (var r0) { return storage[0x05]; }
function transfer(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
if (arg2) {
var var1 = arg0 & (0x01 << 0xa0) - 0x01 == msg.sender;
if (arg0 & (0x01 << 0xa0) - 0x01 == msg.sender) {
memory[0x00:0x20] = tx.origin;
memory[0x20:0x40] = 0x00;
if (storage[keccak256(memory[0x00:0x40])]) { goto label_06E8; }
else { goto label_068E; }
} else if (!var1) {
label_06E8:
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x02;
if (arg2 > storage[keccak256(memory[0x00:0x40])]) { revert(memory[0x00:0x00]); }
var temp0 = (0x01 << 0xa0) - 0x01;
memory[0x00:0x20] = arg0 & temp0;
memory[0x20:0x40] = 0x02;
var temp1 = keccak256(memory[0x00:0x40]);
storage[temp1] = storage[temp1] - arg2;
memory[0x00:0x20] = arg1 & temp0;
memory[0x20:0x40] = 0x01;
var1 = storage[keccak256(memory[0x00:0x40])] & 0xff;
if (!var1) {
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x01;
if (!(storage[keccak256(memory[0x00:0x40])] & 0xff)) { goto label_076E; }
else { goto label_0767; }
} else if (!var1) {
label_076E:
var1 = 0x00;
var var2 = 0x077b;
var var3 = arg0;
var var4 = arg1;
var var5 = arg2;
var2 =
func_0A40(var3, var4, var5);
var temp2 = (0x01 << 0xa0) - 0x01;
var temp3 = arg1 & temp2;
memory[0x00:0x20] = temp3;
memory[0x20:0x40] = 0x02;
var temp4 = keccak256(memory[0x00:0x40]);
var temp5 = arg2;
storage[temp4] = temp5 - var2 + storage[temp4];
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = temp5;
var temp7 = memory[0x40:0x60];
log(memory[temp7:temp7 + temp6 - temp7 + 0x20], [0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, stack[-6] & (0x01 << 0xa0) - 0x01, stack[-5] & (0x01 << 0xa0) - 0x01]);
var0 = 0x01;
label_07E1:
return var0;
} else {
label_0767:
var0 = 0x01;
goto label_07E1;
}
} else {
label_068E:
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x03;
var temp8 = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = temp8;
if (arg2 > storage[keccak256(memory[0x00:0x40])]) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x03;
var temp9 = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = temp9;
var temp10 = keccak256(memory[0x00:0x40]);
storage[temp10] = storage[temp10] - arg2;
goto label_06E8;
}
} else {
var0 = 0x01;
goto label_07E1;
}
}
function paid() returns (var r0) { return storage[0x08] & 0xff; }
function decimals() returns (var r0) { return storage[0x04]; }
function symbol() returns (var r0) {
var temp0 = storage[0x07];
var temp1 = memory[0x40:0x60];
var temp2 = (temp0 & !(temp0 & 0x01) * 0x0100 + ~0x00) / 0x02;
var var2 = temp2;
memory[0x40:0x60] = temp1 + (var2 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[temp1:temp1 + 0x20] = var2;
r0 = temp1;
var var1 = 0x07;
var var3 = r0 + 0x20;
var var4 = var1;
var var5 = var2;
if (!var5) {
label_0557:
return r0;
} else if (0x1f < var5) {
var temp3 = var3;
var temp4 = temp3 + var5;
var3 = temp4;
memory[0x00:0x20] = var4;
var temp5 = keccak256(memory[0x00:0x20]);
memory[temp3:temp3 + 0x20] = storage[temp5];
var4 = temp5 + 0x01;
var5 = temp3 + 0x20;
if (var3 <= var5) { goto label_054E; }
label_053A:
var temp6 = var4;
var temp7 = var5;
memory[temp7:temp7 + 0x20] = storage[temp6];
var4 = temp6 + 0x01;
var5 = temp7 + 0x20;
if (var3 > var5) { goto label_053A; }
label_054E:
var temp8 = var3;
var temp9 = temp8 + (var5 - temp8 & 0x1f);
var5 = temp8;
var3 = temp9;
goto label_0557;
} else {
var temp10 = var3;
memory[temp10:temp10 + 0x20] = storage[var4] / 0x0100 * 0x0100;
var3 = temp10 + 0x20;
var5 = var5;
goto label_0557;
}
}
function func_0A40(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
var var1 = storage[0x08] & 0xff;
if (var1) {
var temp4 = (0x01 << 0xa0) - 0x01;
var1 = storage[0x09] & temp4 == temp4 & arg1;
if (!var1) { goto label_0A81; }
else { goto label_0A69; }
} else if (!var1) {
label_0A81:
if (!var1) {
label_0AA3:
if (!var1) {
label_0B47:
return 0x00;
} else {
label_0AA9:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x2f8e5179 << 0xe2;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = address(this);
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = storage[0x09] & (0x01 << 0xa0) - 0x01;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = arg2;
var1 = 0x0f450ddc280787b49b14b866a6e4e4d279a22fa6;
var var2 = 0xbe3945e4;
var var3 = temp0 + 0x64;
var var4 = 0x20;
var var5 = memory[0x40:0x60];
var var6 = temp0 - var5 + 0x64;
var var7 = var5;
var var8 = 0x00;
var var9 = var1;
var var10 = !address(var9).code.length;
if (var10) { revert(memory[0x00:0x00]); }
var temp1;
temp1, memory[var5:var5 + var4] = address(var9).call.gas(msg.gas).value(var8)(memory[var7:var7 + var6]);
var4 = !temp1;
if (!var4) {
var1 = memory[0x40:0x60];
var2 = returndata.length;
if (var2 >= 0x20) { return memory[var1:var1 + 0x20]; }
else { revert(memory[0x00:0x00]); }
} else {
var temp2 = returndata.length;
memory[0x00:0x00 + temp2] = returndata[0x00:0x00 + temp2];
revert(memory[0x00:0x00 + returndata.length]);
}
}
} else {
label_0A88:
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x00;
if (storage[keccak256(memory[0x00:0x40])]) { goto label_0B47; }
else { goto label_0AA9; }
}
} else {
label_0A69:
var temp3 = (0x01 << 0xa0) - 0x01;
var1 = storage[0x08] / 0x0100 & temp3 != temp3 & arg0;
if (!var1) { goto label_0AA3; }
else { goto label_0A88; }
}
}
}