contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
var var0 = msg.value;
if (var0) { revert(memory[0x00:0x00]); }
if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); }
var0 = msg.data[0x00:0x20] >> 0xe0;
if (0x39509351 > var0) {
if (var0 == 0x06fdde03) {
// Dispatch table entry for name()
var var1 = 0x00b6;
var1 =
func_01E8();
label_00B6:
var temp0 = var1;
var1 = 0x00c3;
var var2 = temp0;
var var3 = memory[0x40:0x60];
var1 =
func_0803(var2, var3);
label_00C3:
var temp1 = memory[0x40:0x60];
return memory[temp1:temp1 + var1 - temp1];
} else if (var0 == 0x095ea7b3) {
// Dispatch table entry for approve(address,uint256)
var1 = 0x00df;
var2 = 0x00da;
var3 = msg.data.length;
var var4 = 0x04;
var2, var3 =
func_07DA(var3, var4);
var1 =
func_00DA(var2, var3);
label_00DF:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = !!var1;
var1 = temp2 + 0x20;
goto label_00C3;
} else if (var0 == 0x18160ddd) {
// Dispatch table entry for totalSupply()
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = storage[0x02];
var1 = temp3 + 0x20;
goto label_00C3;
} else if (var0 == 0x23b872dd) {
// Dispatch table entry for transferFrom(address,address,uint256)
var1 = 0x00df;
var2 = 0x010f;
var3 = msg.data.length;
var4 = 0x04;
var2, var3, var4 =
func_079F(var3, var4);
var1 =
func_010F(var2, var3, var4);
goto label_00DF;
} else if (var0 == 0x313ce567) {
// Dispatch table entry for decimals()
var temp4 = memory[0x40:0x60];
memory[temp4:temp4 + 0x20] = 0x0000000000000000000000000000000000000000000000000000000000000012 & 0xff;
var1 = temp4 + 0x20;
goto label_00C3;
} else { revert(memory[0x00:0x00]); }
} else if (var0 == 0x39509351) {
// Dispatch table entry for increaseAllowance(address,uint256)
var1 = 0x00df;
var2 = 0x0153;
var3 = msg.data.length;
var4 = 0x04;
var2, var3 =
func_07DA(var3, var4);
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = 0x01;
var temp5 = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = var2 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = temp5;
var4 = 0x00;
var var6 = msg.sender;
var var5 = 0x0287;
var var7 = var2;
var var8 = 0x0336;
var var10 = storage[keccak256(memory[var4:var4 + 0x40])];
var var9 = var3;
var8 =
func_0856(var9, var10);
func_0336(var6, var7, var8);
label_0287:
var1 = 0x01;
// Error: Could not resolve jump destination!
} else if (var0 == 0x70a08231) {
// Dispatch table entry for balanceOf(address)
var1 = 0x00f3;
var2 = 0x0166;
var3 = msg.data.length;
var4 = 0x04;
var2 =
func_074C(var3, var4);
var1 =
func_0166(var2);
label_00F3:
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = var1;
var1 = temp6 + 0x20;
goto label_00C3;
} else if (var0 == 0x95d89b41) {
// Dispatch table entry for
symbol()
var1 = 0x00b6;
var1 =
symbol();
goto label_00B6;
} else if (var0 == 0xa457c2d7) {
// Dispatch table entry for decreaseAllowance(address,uint256)
var1 = 0x00df;
var2 = 0x0197;
var3 = msg.data.length;
var4 = 0x04;
var2, var3 =
func_07DA(var3, var4);
var1 =
func_0197(var2, var3);
goto label_00DF;
} else if (var0 == 0xa9059cbb) {
// Dispatch table entry for transfer(address,uint256)
var1 = 0x00df;
var2 = 0x01aa;
var3 = msg.data.length;
var4 = 0x04;
var2, var3 =
func_07DA(var3, var4);
var4 = 0x00;
var5 = 0x0287;
var6 = msg.sender;
var7 = var2;
var8 = var3;
func_0558(var6, var7, var8);
goto label_0287;
} else if (var0 == 0xdd62ed3e) {
// Dispatch table entry for allowance(address,address)
var1 = 0x00f3;
var2 = 0x01bd;
var3 = msg.data.length;
var4 = 0x04;
var2, var3 =
func_076D(var3, var4);
var1 =
func_01BD(var2, var3);
goto label_00F3;
} else { revert(memory[0x00:0x00]); }
}
function func_00DA(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var var1 = 0x0287;
var var2 = msg.sender;
var var3 = arg0;
var var4 = arg1;
func_0434(var2, var3, var4);
return 0x01;
}
function func_010F(var arg0, var arg1, var arg2) returns (var r0) {
var var0 = 0x00;
var var1 = 0x029d;
var var2 = arg0;
var var3 = arg1;
var var4 = arg2;
func_0558(var2, var3, var4);
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x01;
var temp0 = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = msg.sender;
memory[0x20:0x40] = temp0;
var1 = storage[keccak256(memory[0x00:0x40])];
if (var1 >= arg2) {
var2 = 0x033b;
var3 = arg0;
var4 = msg.sender;
var var5 = 0x0336;
var var6 = arg2;
var var7 = var1;
var5 =
func_086E(var6, var7);
func_0336(var3, var4, var5);
return 0x01;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x28;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x45524332303a207472616e7366657220616d6f756e7420657863656564732061;
memory[temp1 + 0x64:temp1 + 0x64 + 0x20] = 0x6c6c6f77616e6365 << 0xc0;
var2 = temp1 + 0x84;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + var2 - temp2]);
}
}
function func_0166(var arg0) returns (var r0) {
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x00;
return storage[keccak256(memory[0x00:0x40])];
}
function func_0197(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
memory[var0:var0 + 0x20] = msg.sender;
memory[0x20:0x40] = 0x01;
var temp0 = keccak256(memory[var0:var0 + 0x40]);
memory[var0:var0 + 0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = temp0;
var var1 = storage[keccak256(memory[var0:var0 + 0x40])];
if (var1 >= arg1) {
var var2 = 0x041d;
var var3 = msg.sender;
var var4 = arg0;
var var5 = 0x0336;
var var6 = arg1;
var var7 = var1;
var5 =
func_086E(var6, var7);
func_0336(var3, var4, var5);
return 0x01;
} else {
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = 0x461bcd << 0xe5;
memory[temp1 + 0x04:temp1 + 0x04 + 0x20] = 0x20;
memory[temp1 + 0x24:temp1 + 0x24 + 0x20] = 0x25;
memory[temp1 + 0x44:temp1 + 0x44 + 0x20] = 0x45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77;
memory[temp1 + 0x64:temp1 + 0x64 + 0x20] = 0x207a65726f << 0xd8;
var2 = temp1 + 0x84;
var temp2 = memory[0x40:0x60];
revert(memory[temp2:temp2 + var2 - temp2]);
}
}
function func_01BD(var arg0, var arg1) returns (var r0) {
var temp0 = (0x01 << 0xa0) - 0x01;
memory[0x00:0x20] = temp0 & arg0;
memory[0x20:0x40] = 0x01;
var temp1 = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = temp0 & arg1;
memory[0x20:0x40] = temp1;
return storage[keccak256(memory[0x00:0x40])];
}
function func_01E8() returns (var r0) {
var var0 = 0x60;
var var1 = 0x03;
var var2 = 0x01f7;
var var3 = storage[var1];
var2 =
func_0885(var3);
var temp0 = var2;
var temp1 = memory[0x40:0x60];
memory[0x40:0x60] = temp1 + (temp0 + 0x1f) / 0x20 * 0x20 + 0x20;
var temp2 = var1;
var1 = temp1;
var2 = temp2;
var3 = temp0;
memory[var1:var1 + 0x20] = var3;
var var4 = var1 + 0x20;
var var5 = var2;
var var6 = 0x0223;
var var7 = storage[var5];
var6 =
func_0885(var7);
if (!var6) {
label_0270:
return var1;
} else if (0x1f < var6) {
var temp3 = var4;
var temp4 = temp3 + var6;
var4 = temp4;
memory[0x00:0x20] = var5;
var temp5 = keccak256(memory[0x00:0x20]);
memory[temp3:temp3 + 0x20] = storage[temp5];
var5 = temp5 + 0x01;
var6 = temp3 + 0x20;
if (var4 <= var6) { goto label_0267; }
label_0253:
var temp6 = var5;
var temp7 = var6;
memory[temp7:temp7 + 0x20] = storage[temp6];
var5 = temp6 + 0x01;
var6 = temp7 + 0x20;
if (var4 > var6) { goto label_0253; }
label_0267:
var temp8 = var4;
var temp9 = temp8 + (var6 - temp8 & 0x1f);
var6 = temp8;
var4 = temp9;
goto label_0270;
} else {
var temp10 = var4;
memory[temp10:temp10 + 0x20] = storage[var5] / 0x0100 * 0x0100;
var4 = temp10 + 0x20;
var6 = var6;
goto label_0270;
}
}
function func_0336(var arg0, var arg1, var arg2) {
func_0434(arg0, arg1, arg2);
// Error: Could not resolve method call return address!
}
function symbol() returns (var r0) {
var var0 = 0x60;
var var1 = 0x04;
var var2 = 0x01f7;
var var3 = storage[var1];
var2 =
func_0885(var3);
var temp0 = var2;
var temp1 = memory[0x40:0x60];
memory[0x40:0x60] = temp1 + (temp0 + 0x1f) / 0x20 * 0x20 + 0x20;
var temp2 = var1;
var1 = temp1;
var2 = temp2;
var3 = temp0;
memory[var1:var1 + 0x20] = var3;
var var4 = var1 + 0x20;
var var5 = var2;
var var6 = 0x0223;
var var7 = storage[var5];
var6 =
func_0885(var7);
if (!var6) {
label_0270:
return var1;
} else if (0x1f < var6) {
var temp3 = var4;
var temp4 = temp3 + var6;
var4 = temp4;
memory[0x00:0x20] = var5;
var temp5 = keccak256(memory[0x00:0x20]);
memory[temp3:temp3 + 0x20] = storage[temp5];
var5 = temp5 + 0x01;
var6 = temp3 + 0x20;
if (var4 <= var6) { goto label_0267; }
label_0253:
var temp6 = var5;
var temp7 = var6;
memory[temp7:temp7 + 0x20] = storage[temp6];
var5 = temp6 + 0x01;
var6 = temp7 + 0x20;
if (var4 > var6) { goto label_0253; }
label_0267:
var temp8 = var4;
var temp9 = temp8 + (var6 - temp8 & 0x1f);
var6 = temp8;
var4 = temp9;
goto label_0270;
} else {
var temp10 = var4;
memory[temp10:temp10 + 0x20] = storage[var5] / 0x0100 * 0x0100;
var4 = temp10 + 0x20;
var6 = var6;
goto label_0270;
}
}
function func_0434(var arg0, var arg1, var arg2) {
if (!(arg0 & (0x01 << 0xa0) - 0x01)) {
var temp9 = memory[0x40:0x60];
memory[temp9:temp9 + 0x20] = 0x461bcd << 0xe5;
memory[temp9 + 0x04:temp9 + 0x04 + 0x20] = 0x20;
memory[temp9 + 0x24:temp9 + 0x24 + 0x20] = 0x24;
memory[temp9 + 0x44:temp9 + 0x44 + 0x20] = 0x45524332303a20617070726f76652066726f6d20746865207a65726f20616464;
memory[temp9 + 0x64:temp9 + 0x64 + 0x20] = 0x72657373 << 0xe0;
var0 = temp9 + 0x84;
goto label_031E;
} else if (arg1 & (0x01 << 0xa0) - 0x01) {
var temp0 = (0x01 << 0xa0) - 0x01;
var temp1 = temp0 & arg0;
memory[0x00:0x20] = temp1;
memory[0x20:0x40] = 0x01;
var temp2 = keccak256(memory[0x00:0x40]);
var temp3 = arg1 & temp0;
memory[0x00:0x20] = temp3;
memory[0x20:0x40] = temp2;
var temp4 = arg2;
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 + 0x20) - temp6], [0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, stack[-3] & (0x01 << 0xa0) - 0x01, stack[-2] & (0x01 << 0xa0) - 0x01]);
return;
} else {
var temp7 = memory[0x40:0x60];
memory[temp7:temp7 + 0x20] = 0x461bcd << 0xe5;
memory[temp7 + 0x04:temp7 + 0x04 + 0x20] = 0x20;
memory[temp7 + 0x24:temp7 + 0x24 + 0x20] = 0x22;
memory[temp7 + 0x44:temp7 + 0x44 + 0x20] = 0x45524332303a20617070726f766520746f20746865207a65726f206164647265;
memory[temp7 + 0x64:temp7 + 0x64 + 0x20] = 0x7373 << 0xf0;
var var0 = temp7 + 0x84;
label_031E:
var temp8 = memory[0x40:0x60];
revert(memory[temp8:temp8 + var0 - temp8]);
}
}
function func_0558(var arg0, var arg1, var arg2) {
if (!(arg0 & (0x01 << 0xa0) - 0x01)) {
var temp6 = memory[0x40:0x60];
memory[temp6:temp6 + 0x20] = 0x461bcd << 0xe5;
memory[temp6 + 0x04:temp6 + 0x04 + 0x20] = 0x20;
memory[temp6 + 0x24:temp6 + 0x24 + 0x20] = 0x25;
memory[temp6 + 0x44:temp6 + 0x44 + 0x20] = 0x45524332303a207472616e736665722066726f6d20746865207a65726f206164;
memory[temp6 + 0x64:temp6 + 0x64 + 0x20] = 0x6472657373 << 0xd8;
var0 = temp6 + 0x84;
goto label_031E;
} else if (arg1 & (0x01 << 0xa0) - 0x01) {
memory[0x00:0x20] = arg0 & (0x01 << 0xa0) - 0x01;
memory[0x20:0x40] = 0x00;
var var0 = storage[keccak256(memory[0x00:0x40])];
if (var0 >= arg2) {
var var1 = 0x06a0;
var var2 = arg2;
var var3 = var0;
var1 =
func_086E(var2, var3);
var temp0 = (0x01 << 0xa0) - 0x01;
memory[0x00:0x20] = arg0 & temp0;
memory[0x20:0x40] = 0x00;
storage[keccak256(memory[0x00:0x40])] = var1;
memory[0x00:0x20] = arg1 & temp0;
var2 = keccak256(memory[0x00:0x40]);
var1 = arg2;
var3 = 0x00;
var var4 = 0x06d6;
var var5 = var1;
var var6 = storage[var2];
var4 =
func_0856(var5, var6);
storage[var2] = var4;
var1 = arg1 & (0x01 << 0xa0) - 0x01;
var2 = arg0 & (0x01 << 0xa0) - 0x01;
var3 = 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef;
var temp1 = memory[0x40:0x60];
memory[temp1:temp1 + 0x20] = arg2;
var4 = temp1 + 0x20;
var temp2 = memory[0x40:0x60];
log(memory[temp2:temp2 + var4 - temp2], [stack[-2], stack[-3], stack[-4]]);
return;
} else {
var temp3 = memory[0x40:0x60];
memory[temp3:temp3 + 0x20] = 0x461bcd << 0xe5;
memory[temp3 + 0x04:temp3 + 0x04 + 0x20] = 0x20;
memory[temp3 + 0x24:temp3 + 0x24 + 0x20] = 0x26;
memory[temp3 + 0x44:temp3 + 0x44 + 0x20] = 0x45524332303a207472616e7366657220616d6f756e7420657863656564732062;
memory[temp3 + 0x64:temp3 + 0x64 + 0x20] = 0x616c616e6365 << 0xd0;
var1 = temp3 + 0x84;
label_031E:
var temp4 = memory[0x40:0x60];
revert(memory[temp4:temp4 + var1 - temp4]);
}
} else {
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = 0x461bcd << 0xe5;
memory[temp5 + 0x04:temp5 + 0x04 + 0x20] = 0x20;
memory[temp5 + 0x24:temp5 + 0x24 + 0x20] = 0x23;
memory[temp5 + 0x44:temp5 + 0x44 + 0x20] = 0x45524332303a207472616e7366657220746f20746865207a65726f2061646472;
memory[temp5 + 0x64:temp5 + 0x64 + 0x20] = 0x657373 << 0xe8;
var0 = temp5 + 0x84;
goto label_031E;
}
}
function func_0730(var arg0) returns (var r0) {
var temp0 = msg.data[arg0:arg0 + 0x20];
var var0 = temp0;
if (var0 == var0 & (0x01 << 0xa0) - 0x01) { return var0; }
else { revert(memory[0x00:0x00]); }
}
function func_074C(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (arg0 - arg1 i>= 0x20) {
var var1 = 0x0766;
var var2 = arg1;
return
func_0730(var2);
} else {
var temp0 = var0;
revert(memory[temp0:temp0 + temp0]);
}
}
function func_076D(var arg0, var arg1) returns (var r0, var arg0) {
var var0 = 0x00;
var var1 = var0;
if (arg0 - arg1 i>= 0x40) {
var var2 = 0x0788;
var var3 = arg1;
var2 =
func_0730(var3);
var0 = var2;
var2 = 0x0796;
var3 = arg1 + 0x20;
var2 =
func_0730(var3);
arg0 = var2;
r0 = var0;
return r0, arg0;
} else {
var temp0 = var1;
revert(memory[temp0:temp0 + temp0]);
}
}
function func_079F(var arg0, var arg1) returns (var r0, var arg0, var arg1) {
var var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
if (arg0 - arg1 i>= 0x60) {
var var3 = 0x07bc;
var var4 = arg1;
var3 =
func_0730(var4);
var0 = var3;
var3 = 0x07ca;
var4 = arg1 + 0x20;
var3 =
func_0730(var4);
arg1 = msg.data[arg1 + 0x40:arg1 + 0x40 + 0x20];
arg0 = var3;
r0 = var0;
return r0, arg0, arg1;
} else {
var temp0 = var2;
revert(memory[temp0:temp0 + temp0]);
}
}
function func_07DA(var arg0, var arg1) returns (var r0, var arg0) {
var var0 = 0x00;
var var1 = var0;
if (arg0 - arg1 i>= 0x40) {
var var2 = 0x07f5;
var var3 = arg1;
var2 =
func_0730(var3);
r0 = var2;
arg0 = msg.data[arg1 + 0x20:arg1 + 0x20 + 0x20];
return r0, arg0;
} else {
var temp0 = var0;
revert(memory[temp0:temp0 + temp0]);
}
}
function func_0803(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var var1 = 0x20;
var temp0 = arg1;
memory[temp0:temp0 + 0x20] = var1;
var temp1 = memory[arg0:arg0 + 0x20];
var var2 = temp1;
memory[temp0 + var1:temp0 + var1 + 0x20] = var2;
var var3 = var0;
if (var3 >= var2) {
label_082F:
if (var3 <= var2) { return (var2 + 0x1f & ~0x1f) + arg1 + 0x40; }
var temp2 = var2;
var temp3 = arg1;
memory[temp3 + temp2 + 0x40:temp3 + temp2 + 0x40 + 0x20] = var0;
return (temp2 + 0x1f & ~0x1f) + temp3 + 0x40;
} else {
label_081C:
var temp4 = var3;
var temp5 = var1;
memory[temp4 + arg1 + 0x40:temp4 + arg1 + 0x40 + 0x20] = memory[temp5 + temp4 + arg0:temp5 + temp4 + arg0 + 0x20];
var3 = temp5 + temp4;
if (var3 >= var2) { goto label_082F; }
else { goto label_081C; }
}
}
function func_0856(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (arg1 <= ~arg0) { return arg1 + arg0; }
var var1 = 0x0869;
memory[0x00:0x20] = 0x4e487b71 << 0xe0;
memory[0x04:0x24] = 0x11;
revert(memory[0x00:0x24]);
}
function func_086E(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (arg1 >= arg0) { return arg1 - arg0; }
var var1 = 0x0880;
memory[0x00:0x20] = 0x4e487b71 << 0xe0;
memory[0x04:0x24] = 0x11;
revert(memory[0x00:0x24]);
}
function func_0885(var arg0) returns (var r0) {
var temp0 = arg0;
var var0 = temp0 >> 0x01;
var var1 = temp0 & 0x01;
if (!var1) {
var temp1 = var0 & 0x7f;
var0 = temp1;
if (var1 != (var0 < 0x20)) { goto label_08BA; }
else { goto label_08A5; }
} else if (var1 != (var0 < 0x20)) {
label_08BA:
return var0;
} else {
label_08A5:
memory[0x00:0x20] = 0x4e487b71 << 0xe0;
memory[0x04:0x24] = 0x22;
revert(memory[0x00:0x24]);
}
}
}