contract Contract {
function main() {
memory[0x40:0x60] = 0x80;
if (msg.data.length < 0x04) { revert(memory[0x00:0x00]); }
var var0 = msg.data[0x00:0x20] / 0x0100000000000000000000000000000000000000000000000000000000 & 0xffffffff;
if (var0 == 0x01ffc9a7) {
// Dispatch table entry for
supportsInterface(bytes4)
var var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var var2 = msg.data[0x04:0x24] & ~0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
var1 =
supportsInterface(var2);
label_01B0:
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = !!var1;
var temp1 = memory[0x40:0x60];
return memory[temp1:temp1 + temp0 - temp1 + 0x20];
} else if (var0 == 0x06fdde03) {
// Dispatch table entry for
name()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01d9;
var1 =
name();
label_01D9:
var temp2 = memory[0x40:0x60];
memory[temp2:temp2 + 0x20] = 0x20;
var temp3 = var1;
memory[temp2 + 0x20:temp2 + 0x20 + 0x20] = memory[temp3:temp3 + 0x20];
var2 = temp2;
var var3 = var2;
var var4 = var3 + 0x40;
var var6 = memory[temp3:temp3 + 0x20];
var var5 = temp3 + 0x20;
var var7 = var6;
var var8 = var4;
var var9 = var5;
var var10 = 0x00;
if (var10 >= var7) {
label_0213:
var temp4 = var6;
var4 = temp4 + var4;
var5 = temp4 & 0x1f;
if (!var5) {
var temp5 = memory[0x40:0x60];
return memory[temp5:temp5 + var4 - temp5];
} else {
var temp6 = var5;
var temp7 = var4 - temp6;
memory[temp7:temp7 + 0x20] = ~(0x0100 ** (0x20 - temp6) - 0x01) & memory[temp7:temp7 + 0x20];
var temp8 = memory[0x40:0x60];
return memory[temp8:temp8 + (temp7 + 0x20) - temp8];
}
} else {
label_0204:
var temp9 = var10;
memory[temp9 + var8:temp9 + var8 + 0x20] = memory[temp9 + var9:temp9 + var9 + 0x20];
var10 = temp9 + 0x20;
if (var10 >= var7) { goto label_0213; }
else { goto label_0204; }
}
} else if (var0 == 0x081812fc) {
// Dispatch table entry for
getApproved(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0266;
var2 = msg.data[0x04:0x24];
var1 =
getApproved(var2);
label_0266:
var temp10 = memory[0x40:0x60];
memory[temp10:temp10 + 0x20] = var1 & 0x02 ** 0xa0 - 0x01;
var temp11 = memory[0x40:0x60];
return memory[temp11:temp11 + temp10 - temp11 + 0x20];
} else if (var0 == 0x095ea7b3) {
// Dispatch table entry for
approve(address,uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = msg.data[0x24:0x44];
approve(var2, var3);
stop();
} else if (var0 == 0x1785f53c) {
// Dispatch table entry for removeAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = 0x079f;
var4 = msg.sender;
label_084A:
var5 = 0x00;
var6 = 0x085d;
var7 = 0x01;
var8 = var4;
var6 =
bwAddAdmin(var7, var8);
label_085D:
var3 = var6;
// Error: Could not resolve jump destination!
} else if (var0 == 0x18160ddd) {
// Dispatch table entry for
totalSupply()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02de;
var1 =
totalSupply();
label_02DE:
var temp12 = memory[0x40:0x60];
memory[temp12:temp12 + 0x20] = var1;
var temp13 = memory[0x40:0x60];
return memory[temp13:temp13 + temp12 - temp13 + 0x20];
} else if (var0 == 0x23b872dd) {
// Dispatch table entry for
transferFrom(address,address,uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var temp14 = 0x02 ** 0xa0 - 0x01;
var2 = temp14 & msg.data[0x04:0x24];
var3 = msg.data[0x24:0x44] & temp14;
var4 = msg.data[0x44:0x64];
transferFrom(var2, var3, var4);
stop();
} else if (var0 == 0x24d7806c) {
// Dispatch table entry for isAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
goto label_084A;
} else if (var0 == 0x26b3b1ee) {
// Dispatch table entry for
bwAddAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = 0x086c;
var4 = msg.sender;
label_0DAA:
var5 = 0x00;
var6 = 0x085d;
var7 = 0x02;
var8 = var4;
var6 =
bwAddAdmin(var7, var8);
goto label_085D;
} else if (var0 == 0x2f745c59) {
// Dispatch table entry for
tokenOfOwnerByIndex(address,uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02de;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = msg.data[0x24:0x44];
var1 =
tokenOfOwnerByIndex(var2, var3);
goto label_02DE;
} else if (var0 == 0x40abfe26) {
// Dispatch table entry for addBwAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = 0x0986;
var4 = msg.sender;
goto label_0DAA;
} else if (var0 == 0x40c10f19) {
// Dispatch table entry for mint(address,uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = msg.data[0x24:0x44];
var4 = 0x00;
var5 = 0x09a5;
var6 = msg.sender;
goto label_084A;
} else if (var0 == 0x42842e0e) {
// Dispatch table entry for
safeTransferFrom(address,address,uint256)
var1 = 0x02a6;
var temp15 = 0x02 ** 0xa0 - 0x01;
var2 = temp15 & msg.data[0x04:0x24];
var3 = msg.data[0x24:0x44] & temp15;
var4 = msg.data[0x44:0x64];
safeTransferFrom(var2, var3, var4);
stop();
} else if (var0 == 0x42966c68) {
// Dispatch table entry for burn(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24];
if (!(storage[0x05] & 0xff)) { revert(memory[0x00:0x00]); }
var3 = 0x0a14;
var4 = var2;
var3 =
ownerOf(var4);
if (msg.sender != var3 & 0x02 ** 0xa0 - 0x01) { revert(memory[0x00:0x00]); }
var3 = 0x07b3;
var4 = msg.sender;
var5 = var2;
func_155C(var4, var5);
// Error: Could not resolve jump destination!
} else if (var0 == 0x4f6ccce7) {
// Dispatch table entry for
tokenByIndex(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02de;
var2 = msg.data[0x04:0x24];
var1 =
tokenByIndex(var2);
goto label_02DE;
} else if (var0 == 0x50bb4e7f) {
// Dispatch table entry for mintWithTokenURI(address,uint256,string)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var temp16 = memory[0x40:0x60];
var temp17 = msg.data[0x44:0x64];
var temp18 = msg.data[temp17 + 0x04:temp17 + 0x04 + 0x20];
memory[0x40:0x60] = temp16 + (temp18 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[temp16:temp16 + 0x20] = temp18;
var1 = 0x01b0;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = msg.data[0x24:0x44];
memory[temp16 + 0x20:temp16 + 0x20 + temp18] = msg.data[temp17 + 0x24:temp17 + 0x24 + temp18];
var4 = temp16;
var5 = 0x00;
var6 = 0x0aeb;
var7 = msg.sender;
goto label_084A;
} else if (var0 == 0x6352211e) {
// Dispatch table entry for
ownerOf(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x0266;
var2 = msg.data[0x04:0x24];
var1 =
ownerOf(var2);
goto label_0266;
} else if (var0 == 0x70480275) {
// Dispatch table entry for addAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = 0x0b41;
var4 = msg.sender;
goto label_084A;
} else if (var0 == 0x706e7373) {
// Dispatch table entry for 0x706e7373 (unknown)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 =
func_0B55();
goto label_01B0;
} else if (var0 == 0x70a08231) {
// Dispatch table entry for
balanceOf(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02de;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var1 =
balanceOf(var2);
goto label_02DE;
} else if (var0 == 0x95d89b41) {
// Dispatch table entry for
symbol()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01d9;
var1 =
symbol();
goto label_01D9;
} else if (var0 == 0xa07c7ce4) {
// Dispatch table entry for
burnable()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 =
burnable();
goto label_01B0;
} else if (var0 == 0xa22cb465) {
// Dispatch table entry for
setApprovalForAll(address,bool)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = !!msg.data[0x24:0x44];
setApprovalForAll(var2, var3);
stop();
} else if (var0 == 0xa75d5254) {
// Dispatch table entry for bwRemoveAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
var3 = 0x0d06;
var4 = msg.sender;
goto label_0DAA;
} else if (var0 == 0xb88d4fde) {
// Dispatch table entry for
safeTransferFrom(address,address,uint256,bytes)
var1 = 0x02a6;
var temp19 = 0x02 ** 0xa0 - 0x01;
var2 = temp19 & msg.data[0x04:0x24];
var3 = temp19 & msg.data[0x24:0x44];
var4 = msg.data[0x44:0x64];
var temp20 = msg.data[0x64:0x84];
var5 = temp20 + 0x24;
var6 = msg.data[temp20 + 0x04:temp20 + 0x04 + 0x20];
safeTransferFrom(var2, var3, var4, var5, var6);
stop();
} else if (var0 == 0xbc9ac68c) {
// Dispatch table entry for isBwAdmin(address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var2 = msg.data[0x04:0x24] & 0x02 ** 0xa0 - 0x01;
goto label_0DAA;
} else if (var0 == 0xc87b56dd) {
// Dispatch table entry for
tokenURI(uint256)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01d9;
var2 = msg.data[0x04:0x24];
var1 =
tokenURI(var2);
goto label_01D9;
} else if (var0 == 0xe19e4349) {
// Dispatch table entry for
renounceBwAdmin()
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x02a6;
renounceBwAdmin();
stop();
} else if (var0 == 0xe985e9c5) {
// Dispatch table entry for
isApprovedForAll(address,address)
var1 = msg.value;
if (var1) { revert(memory[0x00:0x00]); }
var1 = 0x01b0;
var temp21 = 0x02 ** 0xa0 - 0x01;
var2 = temp21 & msg.data[0x04:0x24];
var3 = msg.data[0x24:0x44] & temp21;
var1 =
isApprovedForAll(var2, var3);
goto label_01B0;
} else { revert(memory[0x00:0x00]); }
}
function supportsInterface(var arg0) returns (var r0) {
memory[0x00:0x20] = arg0 & ~0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
memory[0x20:0x40] = 0x00;
return storage[keccak256(memory[0x00:0x40])] & 0xff;
}
function name() returns (var r0) {
var temp0 = storage[0x03];
var temp1 = memory[0x40:0x60];
var temp2 = (temp0 & !(temp0 & 0x01) * 0x0100 + ~0x00) / 0x02;
memory[0x40:0x60] = temp1 + (temp2 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[temp1:temp1 + 0x20] = temp2;
var var0 = 0x60;
var var1 = temp1;
var var3 = temp2;
var var2 = 0x03;
var var4 = var1 + 0x20;
var var5 = var2;
var var6 = var3;
if (!var6) {
label_06BC:
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_06B3; }
label_069F:
var temp6 = var5;
var temp7 = var6;
memory[temp7:temp7 + 0x20] = storage[temp6];
var5 = temp6 + 0x01;
var6 = temp7 + 0x20;
if (var4 > var6) { goto label_069F; }
label_06B3:
var temp8 = var4;
var temp9 = temp8 + (var6 - temp8 & 0x1f);
var6 = temp8;
var4 = temp9;
goto label_06BC;
} else {
var temp10 = var4;
memory[temp10:temp10 + 0x20] = storage[var5] / 0x0100 * 0x0100;
var4 = temp10 + 0x20;
var6 = var6;
goto label_06BC;
}
}
function getApproved(var arg0) returns (var r0) {
var var0 = 0x00;
var var1 = 0x06d2;
var var2 = arg0;
var1 =
func_0EAB(var2);
if (!var1) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg0;
memory[0x20:0x40] = 0x0b;
return storage[keccak256(memory[0x00:0x40])] & 0x02 ** 0xa0 - 0x01;
}
function approve(var arg0, var arg1) {
var var0 = 0x00;
var var1 = 0x0704;
var var2 = arg1;
var1 =
ownerOf(var2);
var0 = var1;
var1 = var0 & 0x02 ** 0xa0 - 0x01 == msg.sender;
if (var1) {
label_0722:
if (!var1) { revert(memory[0x00:0x00]); }
var temp0 = arg1;
memory[0x00:0x20] = temp0;
memory[0x20:0x40] = 0x0b;
var temp1 = keccak256(memory[0x00:0x40]);
var temp2 = 0x02 ** 0xa0 - 0x01;
var temp3 = temp2 & arg0;
storage[temp1] = temp3 | (storage[temp1] & ~0xffffffffffffffffffffffffffffffffffffffff);
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925, stack[-1] & 0x02 ** 0xa0 - 0x01, stack[-3] & 0x02 ** 0xa0 - 0x01, stack[-2]]);
return;
} else {
var1 = 0x0722;
var2 = var0;
var var3 = msg.sender;
var1 =
isApprovedForAll(var2, var3);
goto label_0722;
}
}
function totalSupply() returns (var r0) { return storage[0x06]; }
function transferFrom(var arg0, var arg1, var arg2) {
var var0 = 0x07c6;
var var1 = msg.sender;
var var2 = arg2;
var0 =
func_0F10(var1, var2);
if (!var0) { revert(memory[0x00:0x00]); }
if (!(arg1 & 0x02 ** 0xa0 - 0x01)) { revert(memory[0x00:0x00]); }
var0 = 0x07f0;
var1 = arg0;
var2 = arg2;
func_0F6F(var1, var2);
var0 = 0x07fa;
var1 = arg0;
var2 = arg2;
func_0FE0(var1, var2);
label_07FA:
var0 = 0x0804;
var1 = arg1;
var2 = arg2;
func_117F(var1, var2);
var temp0 = memory[0x40:0x60];
log(memory[temp0:temp0 + memory[0x40:0x60] - temp0], [0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, stack[-3] & 0x02 ** 0xa0 - 0x01, stack[-2] & 0x02 ** 0xa0 - 0x01, stack[-1]]);
}
function tokenOfOwnerByIndex(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (storage[0x05] / 0x0100 & 0xff) {
var var1 = 0x093b;
var var2 = arg0;
var1 =
balanceOf(var2);
if (arg1 >= var1) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x09;
var1 = keccak256(memory[0x00:0x40]);
var2 = arg1;
if (var2 >= storage[var1]) { assert(); }
memory[0x00:0x20] = var1;
return storage[keccak256(memory[0x00:0x20]) + var2];
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x17;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x546f6b656e206973206e6f7420656e756d657261626c65000000000000000000;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
}
function safeTransferFrom(var arg0, var arg1, var arg2) {
var var0 = 0x09ce;
var var1 = arg0;
var var2 = arg1;
var var3 = arg2;
transferFrom(var1, var2, var3);
var0 = 0x09ea;
var1 = arg0;
var2 = arg1;
var3 = arg2;
var temp0 = memory[0x40:0x60];
var var4 = temp0;
memory[0x40:0x60] = var4 + 0x20;
memory[var4:var4 + 0x20] = 0x00;
var0 =
func_13D4(var1, var2, var3, var4);
if (var0) { return; }
else { revert(memory[0x00:0x00]); }
}
function tokenByIndex(var arg0) returns (var r0) {
var var0 = 0x00;
if (storage[0x05] / 0x0100 & 0xff) {
var var1 = 0x0ab5;
var1 =
totalSupply();
if (arg0 >= var1) { revert(memory[0x00:0x00]); }
var1 = 0x06;
var var2 = arg0;
if (var2 >= storage[var1]) { assert(); }
memory[0x00:0x20] = var1;
return storage[keccak256(memory[0x00:0x20]) + var2];
} else {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x17;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x546f6b656e206973206e6f7420656e756d657261626c65000000000000000000;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
}
}
function ownerOf(var arg0) returns (var r0) {
var var0 = 0x00;
memory[var0:var0 + 0x20] = arg0;
memory[0x20:0x40] = 0x08;
var var1 = storage[keccak256(memory[var0:var0 + 0x40])] & 0x02 ** 0xa0 - 0x01;
if (var1) { return var1; }
else { revert(memory[0x00:0x00]); }
}
function func_0B55() returns (var r0) { return storage[0x05] / 0x0100 & 0xff; }
function balanceOf(var arg0) returns (var r0) {
var var0 = 0x00;
if (!(storage[0x05] / 0x0100 & 0xff)) {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x08c379a000000000000000000000000000000000000000000000000000000000;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = 0x20;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = 0x17;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = 0x546f6b656e206973206e6f7420656e756d657261626c65000000000000000000;
var temp1 = memory[0x40:0x60];
revert(memory[temp1:temp1 + temp0 - temp1 + 0x64]);
} else if (arg0 & 0x02 ** 0xa0 - 0x01) {
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x0c;
return storage[keccak256(memory[0x00:0x40])];
} else { revert(memory[0x00:0x00]); }
}
function symbol() returns (var r0) {
var temp0 = storage[0x04];
var temp1 = memory[0x40:0x60];
var temp2 = (temp0 & !(temp0 & 0x01) * 0x0100 + ~0x00) / 0x02;
memory[0x40:0x60] = temp1 + (temp2 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[temp1:temp1 + 0x20] = temp2;
var var0 = 0x60;
var var1 = temp1;
var var3 = temp2;
var var2 = 0x04;
var var4 = var1 + 0x20;
var var5 = var2;
var var6 = var3;
if (!var6) {
label_06BC:
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_06B3; }
label_069F:
var temp6 = var5;
var temp7 = var6;
memory[temp7:temp7 + 0x20] = storage[temp6];
var5 = temp6 + 0x01;
var6 = temp7 + 0x20;
if (var4 > var6) { goto label_069F; }
label_06B3:
var temp8 = var4;
var temp9 = temp8 + (var6 - temp8 & 0x1f);
var6 = temp8;
var4 = temp9;
goto label_06BC;
} else {
var temp10 = var4;
memory[temp10:temp10 + 0x20] = storage[var5] / 0x0100 * 0x0100;
var6 = var6;
var4 = temp10 + 0x20;
goto label_06BC;
}
}
function burnable() returns (var r0) { return storage[0x05] & 0xff; }
function setApprovalForAll(var arg0, var arg1) {
if (msg.sender == arg0 & 0x02 ** 0xa0 - 0x01) { revert(memory[0x00:0x00]); }
var temp0 = msg.sender;
memory[0x00:0x20] = temp0;
memory[0x20:0x40] = 0x0d;
var temp1 = keccak256(memory[0x00:0x40]);
var temp2 = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x00:0x20] = temp2;
memory[0x20:0x40] = temp1;
var temp3 = keccak256(memory[0x00:0x40]);
var temp4 = !!arg1;
storage[temp3] = temp4 | (storage[temp3] & ~0xff);
var temp5 = memory[0x40:0x60];
memory[temp5:temp5 + 0x20] = temp4;
var temp6 = memory[0x40:0x60];
log(memory[temp6:temp6 + temp5 - temp6 + 0x20], [0x17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31, msg.sender, stack[-2] & 0x02 ** 0xa0 - 0x01]);
}
function safeTransferFrom(var arg0, var arg1, var arg2, var arg3, var arg4) {
var var0 = 0x0d5c;
var var1 = arg0;
var var2 = arg1;
var var3 = arg2;
transferFrom(var1, var2, var3);
var0 = 0x0d98;
var1 = arg0;
var2 = arg1;
var3 = arg2;
var temp0 = arg4;
var temp1 = memory[0x40:0x60];
memory[0x40:0x60] = temp1 + (temp0 + 0x1f) / 0x20 * 0x20 + 0x20;
var var4 = temp1;
memory[var4:var4 + 0x20] = temp0;
memory[var4 + 0x20:var4 + 0x20 + temp0] = msg.data[arg3:arg3 + temp0];
var0 =
func_13D4(var1, var2, var3, var4);
if (var0) { return; }
else { revert(memory[0x00:0x00]); }
}
function tokenURI(var arg0) returns (var r0) {
var var0 = 0x60;
var var1 = 0x0dc8;
var var2 = arg0;
var1 =
func_0EAB(var2);
if (!var1) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg0;
memory[0x20:0x40] = 0x0e;
var temp0 = keccak256(memory[0x00:0x40]);
var temp1 = storage[temp0];
var temp2 = memory[0x40:0x60];
var temp3 = (temp1 & !(temp1 & 0x01) * 0x0100 + ~0x00) / 0x02;
var1 = temp2;
memory[0x40:0x60] = var1 + (temp3 + 0x1f) / 0x20 * 0x20 + 0x20;
memory[var1:var1 + 0x20] = temp3;
var var3 = temp3;
var2 = temp0;
var var4 = var1 + 0x20;
var var5 = var2;
var var6 = var3;
if (!var6) {
label_0E66:
return var1;
} else if (0x1f < var6) {
var temp4 = var4;
var temp5 = temp4 + var6;
var4 = temp5;
memory[0x00:0x20] = var5;
var temp6 = keccak256(memory[0x00:0x20]);
memory[temp4:temp4 + 0x20] = storage[temp6];
var5 = temp6 + 0x01;
var6 = temp4 + 0x20;
if (var4 <= var6) { goto label_0E5D; }
label_0E49:
var temp7 = var5;
var temp8 = var6;
memory[temp8:temp8 + 0x20] = storage[temp7];
var5 = temp7 + 0x01;
var6 = temp8 + 0x20;
if (var4 > var6) { goto label_0E49; }
label_0E5D:
var temp9 = var4;
var temp10 = temp9 + (var6 - temp9 & 0x1f);
var6 = temp9;
var4 = temp10;
goto label_0E66;
} else {
var temp11 = var4;
memory[temp11:temp11 + 0x20] = storage[var5] / 0x0100 * 0x0100;
var4 = temp11 + 0x20;
var6 = var6;
goto label_0E66;
}
}
function renounceBwAdmin() {
var var0 = 0x0e7b;
var var1 = msg.sender;
func_16E0(var1);
}
function isApprovedForAll(var arg0, var arg1) returns (var r0) {
var temp0 = 0x02 ** 0xa0 - 0x01;
memory[0x00:0x20] = temp0 & arg0;
memory[0x20:0x40] = 0x0d;
var temp1 = keccak256(memory[0x00:0x40]);
memory[0x00:0x20] = temp0 & arg1;
memory[0x20:0x40] = temp1;
return storage[keccak256(memory[0x00:0x40])] & 0xff;
}
function func_0EAB(var arg0) returns (var r0) {
memory[0x00:0x20] = arg0;
memory[0x20:0x40] = 0x08;
return !!(storage[keccak256(memory[0x00:0x40])] & 0x02 ** 0xa0 - 0x01);
}
function func_0F10(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var var1 = var0;
var var2 = 0x0f1c;
var var3 = arg1;
var2 =
ownerOf(var3);
var1 = var2;
var2 = arg0 & 0x02 ** 0xa0 - 0x01 == var1 & 0x02 ** 0xa0 - 0x01;
if (var2) {
label_0F57:
if (var2) {
label_0F67:
return var2;
} else {
var2 = 0x0f67;
var3 = var1;
var var4 = arg0;
var2 =
isApprovedForAll(var3, var4);
goto label_0F67;
}
} else {
var2 = arg0 & 0x02 ** 0xa0 - 0x01;
var3 = 0x0f4c;
var4 = arg1;
var3 =
getApproved(var4);
var2 = var3 & 0x02 ** 0xa0 - 0x01 == var2;
goto label_0F57;
}
}
function func_0F6F(var arg0, var arg1) {
var var0 = arg0 & 0x02 ** 0xa0 - 0x01;
var var1 = 0x0f82;
var var2 = arg1;
var1 =
ownerOf(var2);
if (var1 & 0x02 ** 0xa0 - 0x01 != var0) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x0b;
if (!(storage[keccak256(memory[0x00:0x40])] & 0x02 ** 0xa0 - 0x01)) { return; }
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x0b;
var temp0 = keccak256(memory[0x00:0x40]);
storage[temp0] = storage[temp0] & ~0xffffffffffffffffffffffffffffffffffffffff;
}
function func_0FE0(var arg0, var arg1) {
var var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = arg0 & 0x02 ** 0xa0 - 0x01;
var var4 = 0x0ff8;
var var5 = arg1;
var4 =
ownerOf(var5);
if (var4 & 0x02 ** 0xa0 - 0x01 != var3) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x0c;
var4 = storage[keccak256(memory[0x00:0x40])];
var3 = 0x1035;
var5 = 0x01;
var3 =
func_1774(var4, var5);
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x0c;
storage[keccak256(memory[0x00:0x40])] = var3;
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x08;
var temp0 = keccak256(memory[0x00:0x40]);
storage[temp0] = storage[temp0] & ~0xffffffffffffffffffffffffffffffffffffffff;
if (!(storage[0x05] / 0x0100 & 0xff)) { return; }
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x0a;
var temp1 = storage[keccak256(memory[0x00:0x40])];
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x09;
var0 = temp1;
var3 = 0x10c2;
var4 = storage[keccak256(memory[0x00:0x40])];
var5 = 0x01;
var3 =
func_1774(var4, var5);
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x09;
var temp2 = var3;
var1 = temp2;
var3 = keccak256(memory[0x00:0x40]);
var4 = var1;
if (var4 >= storage[var3]) { assert(); }
memory[0x00:0x20] = var3;
var2 = storage[keccak256(memory[0x00:0x20]) + var4];
var3 = var2;
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x09;
var4 = keccak256(memory[0x00:0x40]);
var5 = var0;
if (var5 >= storage[var4]) { assert(); }
memory[0x00:0x20] = var4;
storage[var5 + keccak256(memory[0x00:0x20])] = var3;
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x09;
var3 = storage[keccak256(memory[0x00:0x40])];
var4 = 0x1161;
var5 = keccak256(memory[0x00:0x40]);
var var6 = var3 + ~0x00;
func_17FA(var5, var6);
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x0a;
storage[keccak256(memory[0x00:0x40])] = 0x00;
memory[0x00:0x20] = var2;
storage[keccak256(memory[0x00:0x40])] = var0;
}
function func_117F(var arg0, var arg1) {
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x08;
if (storage[keccak256(memory[0x00:0x40])] & 0x02 ** 0xa0 - 0x01) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x08;
var temp0 = keccak256(memory[0x00:0x40]);
var temp1 = arg0 & 0x02 ** 0xa0 - 0x01;
storage[temp0] = temp1 | (storage[temp0] & ~0xffffffffffffffffffffffffffffffffffffffff);
memory[0x00:0x20] = temp1;
memory[0x20:0x40] = 0x0c;
var var0 = 0x11f0;
var var1 = storage[keccak256(memory[0x00:0x40])];
var var2 = 0x01;
var0 =
func_178B(var1, var2);
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x0c;
storage[keccak256(memory[0x00:0x40])] = var0;
if (!(storage[0x05] / 0x0100 & 0xff)) { return; }
var temp2 = arg1;
memory[0x00:0x20] = arg0 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = 0x09;
var temp3 = keccak256(memory[0x00:0x40]);
var temp4 = storage[temp3];
storage[temp3] = temp4 + 0x01;
memory[0x00:0x20] = temp3;
storage[keccak256(memory[0x00:0x20]) + temp4] = temp2;
memory[0x00:0x20] = temp2;
memory[0x20:0x40] = 0x0a;
storage[keccak256(memory[0x00:0x40])] = storage[temp3] + ~0x00;
}
function bwAddAdmin(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
if (!(arg1 & 0x02 ** 0xa0 - 0x01)) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg1 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = arg0;
return storage[keccak256(memory[0x00:0x40])] & 0xff;
}
function func_13D4(var arg0, var arg1, var arg2, var arg3) returns (var r0) {
var var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x13eb;
var var4 = arg1 & 0x02 ** 0xa0 - 0x01;
var3 =
func_17F2(var4);
if (var3) {
var temp0 = memory[0x40:0x60];
memory[temp0:temp0 + 0x20] = 0x150b7a0200000000000000000000000000000000000000000000000000000000;
memory[temp0 + 0x04:temp0 + 0x04 + 0x20] = msg.sender;
var temp1 = 0x02 ** 0xa0 - 0x01;
memory[temp0 + 0x24:temp0 + 0x24 + 0x20] = temp1 & arg0;
memory[temp0 + 0x44:temp0 + 0x44 + 0x20] = arg2;
memory[temp0 + 0x64:temp0 + 0x64 + 0x20] = 0x80;
var temp2 = arg3;
memory[temp0 + 0x84:temp0 + 0x84 + 0x20] = memory[temp2:temp2 + 0x20];
var1 = arg1;
var3 = var1 & temp1;
var4 = 0x150b7a02;
var var5 = msg.sender;
var var9 = temp0 + 0x04;
var var6 = arg0;
var var7 = arg2;
var var8 = temp2;
var var10 = temp0 + 0x64;
var var11 = temp0 + 0xa4;
var var13 = memory[var8:var8 + 0x20];
var var12 = var8 + 0x20;
var var14 = var13;
var var15 = var11;
var var16 = var12;
var var17 = 0x00;
if (var17 >= var14) {
label_1490:
var temp3 = var13;
var11 = temp3 + var11;
var12 = temp3 & 0x1f;
if (!var12) {
var5 = var11;
var6 = 0x20;
var7 = memory[0x40:0x60];
var8 = var5 - var7;
var9 = var7;
var10 = 0x00;
var11 = var3;
var12 = !address(var11).code.length;
if (var12) { revert(memory[0x00:0x00]); }
label_14DF:
var temp4;
temp4, memory[var7:var7 + var6] = address(var11).call.gas(msg.gas).value(var10)(memory[var9:var9 + var8]);
var6 = !temp4;
if (!var6) {
var3 = memory[0x40:0x60];
var4 = returndata.length;
if (var4 < 0x20) { revert(memory[0x00:0x00]); }
var0 = memory[var3:var3 + 0x20] & ~0xffffffffffffffffffffffffffffffffffffffffffffffffffffffff == 0x150b7a0200000000000000000000000000000000000000000000000000000000;
var2 = memory[var3:var3 + 0x20];
label_1552:
return var0;
} else {
var temp5 = returndata.length;
memory[0x00:0x00 + temp5] = returndata[0x00:0x00 + temp5];
revert(memory[0x00:0x00 + returndata.length]);
}
} else {
var temp6 = var12;
var temp7 = var11 - temp6;
memory[temp7:temp7 + 0x20] = ~(0x0100 ** (0x20 - temp6) - 0x01) & memory[temp7:temp7 + 0x20];
var5 = temp7 + 0x20;
var6 = 0x20;
var7 = memory[0x40:0x60];
var8 = var5 - var7;
var9 = var7;
var10 = 0x00;
var11 = var3;
var12 = !address(var11).code.length;
if (!var12) { goto label_14DF; }
else { revert(memory[0x00:0x00]); }
}
} else {
label_1481:
var temp8 = var17;
memory[temp8 + var15:temp8 + var15 + 0x20] = memory[temp8 + var16:temp8 + var16 + 0x20];
var17 = temp8 + 0x20;
if (var17 >= var14) { goto label_1490; }
else { goto label_1481; }
}
} else {
var0 = 0x01;
goto label_1552;
}
}
function func_155C(var arg0, var arg1) {
var var0 = 0x00;
var var1 = var0;
var var2 = 0x00;
var var3 = 0x156b;
var var4 = arg0;
var var5 = arg1;
func_0F6F(var4, var5);
var3 = 0x1575;
var4 = arg0;
var5 = arg1;
func_0FE0(var4, var5);
label_1575:
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x0e;
var temp0 = storage[keccak256(memory[0x00:0x40])];
if (!((temp0 & !(temp0 & 0x01) * 0x0100 + ~0x00) / 0x02)) {
label_15B3:
if (!(storage[0x05] / 0x0100 & 0xff)) {
label_166E:
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef, stack[-5] & 0x02 ** 0xa0 - 0x01, 0x00, stack[-4]]);
return;
} else {
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x07;
var0 = storage[keccak256(memory[0x00:0x40])];
var3 = 0x15e9;
var4 = storage[0x06];
var5 = 0x01;
var3 =
func_1774(var4, var5);
var temp1 = var3;
var1 = temp1;
var3 = 0x06;
var4 = var1;
if (var4 >= storage[var3]) { assert(); }
memory[0x00:0x20] = var3;
var2 = storage[keccak256(memory[0x00:0x20]) + var4];
var3 = var2;
var4 = 0x06;
var5 = var0;
if (var5 >= storage[var4]) { assert(); }
memory[0x00:0x20] = var4;
var temp2 = var3;
var3 = 0x00;
storage[keccak256(memory[var3:var3 + 0x20]) + var5] = temp2;
var4 = 0x06;
var5 = var1;
if (var5 >= storage[var4]) { assert(); }
memory[0x00:0x20] = var4;
storage[keccak256(memory[0x00:0x20]) + var5] = var3;
var3 = storage[0x06];
var4 = 0x1652;
var5 = 0x06;
var var6 = var3 + ~0x00;
func_17FA(var5, var6);
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x07;
storage[keccak256(memory[0x00:0x40])] = 0x00;
memory[0x00:0x20] = var2;
storage[keccak256(memory[0x00:0x40])] = var0;
goto label_166E;
}
} else {
memory[0x00:0x20] = arg1;
memory[0x20:0x40] = 0x0e;
var4 = keccak256(memory[0x00:0x40]);
var3 = 0x15b3;
var5 = 0x00;
func_181E(var4, var5);
goto label_15B3;
}
}
function func_16E0(var arg0) {
var var0 = 0x16f1;
var var1 = 0x02;
var var2 = arg0;
func_1728(var1, var2);
log(memory[memory[0x40:0x60]:memory[0x40:0x60] + 0x00], [0x4035d91020256e004a98d6a179f13602f5e859c5f0c874dd50eadaf3ea3034d1, stack[-1] & 0x02 ** 0xa0 - 0x01]);
}
function func_1728(var arg0, var arg1) {
if (!(arg1 & 0x02 ** 0xa0 - 0x01)) { revert(memory[0x00:0x00]); }
var var0 = 0x1747;
var var1 = arg0;
var var2 = arg1;
var0 =
bwAddAdmin(var1, var2);
if (!var0) { revert(memory[0x00:0x00]); }
memory[0x00:0x20] = arg1 & 0x02 ** 0xa0 - 0x01;
memory[0x20:0x40] = arg0;
var temp0 = keccak256(memory[0x00:0x40]);
storage[temp0] = storage[temp0] & ~0xff;
}
function func_1774(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var var1 = var0;
if (arg1 <= arg0) { return arg0 - arg1; }
else { revert(memory[0x00:0x00]); }
}
function func_178B(var arg0, var arg1) returns (var r0) {
var var0 = 0x00;
var temp0 = arg0;
var var1 = arg1 + temp0;
if (var1 >= temp0) { return var1; }
else { revert(memory[0x00:0x00]); }
}
function func_17F2(var arg0) returns (var r0) { return address(arg0).code.length > 0x00; }
function func_17FA(var arg0, var arg1) {
var temp0 = arg0;
var temp1 = storage[temp0];
var var0 = temp1;
var temp2 = arg1;
storage[temp0] = temp2;
if (var0 <= temp2) {
label_09F5:
return;
} else {
memory[0x00:0x20] = arg0;
var temp3 = keccak256(memory[0x00:0x20]);
var temp4 = var0;
var0 = 0x09f5;
var var1 = temp3 + temp4;
var var2 = arg1 + temp3;
var0 =
func_18E0(var1, var2);
goto label_09F5;
}
}
function func_181E(var arg0, var arg1) {
var temp0 = arg0;
var temp1 = storage[temp0];
arg1 = (!(temp1 & 0x01) * 0x0100 - 0x01 & temp1) / 0x02;
storage[temp0] = 0x00;
if (0x1f >= arg1) { goto label_07B3; }
memory[0x00:0x20] = arg0;
arg0 = 0x07b3;
arg1 = keccak256(memory[0x00:0x20]) + (arg1 + 0x1f) / 0x20;
var var0 = keccak256(memory[0x00:0x20]);
arg0 =
func_18E0(arg1, var0);
label_07B3:
}
function func_18E0(var arg0, var arg1) returns (var r0) {
var temp0 = arg0;
arg0 = 0x06c4;
var temp1 = arg1;
var var0 = temp1;
arg1 = temp0;
if (arg1 > var0) { return
func_18EF(arg1, var0); }
arg0 = arg1;
// Error: Could not resolve jump destination!
}
function func_18EF(var arg0, var arg1) returns (var r0) {
var temp0 = arg1;
storage[temp0] = 0x00;
arg1 = temp0 + 0x01;
if (arg0 <= arg1) { return arg0; }
r0 =
func_18EF(arg0, arg1);
// Error: Could not resolve method call return address!
}
}