BNB Chain
0x61e91daf03a49ecec334bffbf5008860cfb33333
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x61e91daf…cfb333338.6 KB138.7 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x61e91daf03a49ecec334bffbf5008860cfb33333
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec
// Decompilation incomplete: symbolic execution reached a configured deadline for 2 of 40 entry points (170000 ms contract budget): 42966c68, 79cc6790
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
contract DesolexContract {
uint256 public constant unresolved_f373c651 = 300;
uint256 public constant FEE_PRECISION = 100000;
address public constant pancakeRouter = address(0x10ed43c718714eb63d5aa57b78b54704e256024e);
uint256 public constant SELL_FEE_RATIO = 4990;
uint256 public constant taxEscrow = 774216309378699540460438195841246015587579053178;
address public constant mainPair = address(0xbc4df56bb74a06a5a19965adea7833d6b4d9070);
address public constant protocolRegistry = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593);
uint256 public constant moduleKey = 85737828019912589099793259543323118033947792806487707066029810587023711289617;
uint256 public constant unresolved_4537f729 = 100;
address public constant unresolved_385a3460 = address(0xb1b482b72c71a037baea0f30ee307a02118d0851);
uint256 public constant MAX_SUPPLY = 1000000000000000000000;
uint8 public constant decimals = 9;
address public constant quoteToken = address(0x55d398326f99059ff775485246999027b3197955);
uint256 public constant interfaceVersion = 6;
address public constant unresolved_0db502c8 = address(0xb9e2d931985e54d3f457c9edc20c51fc5fe17f5);
uint256 public constant unresolved_0d11b75a = 0;
uint256 public constant unresolved_07d32c16 = 600000;
mapping(address => uint256) public balanceOf; // STORAGE[0x0]
mapping(address => mapping(address => uint256)) public allowance; // STORAGE[0x1]
uint256 public totalSupply; // STORAGE[0x2]
string _name; // STORAGE[0x3]
string _symbol; // STORAGE[0x4]
bytes32 stor_5; // STORAGE[0x5]
bytes32 stor_6; // STORAGE[0x6]
mapping(address => uint256) public nonces; // STORAGE[0x7]
bool public tradingOpen; // STORAGE[0x8] bytes 0 to 0
address public rewardMinter; // STORAGE[0x8] bytes 1 to 20
bool stor_9; // STORAGE[0x9]
event Event_eaa635b8(uint256 indexed, uint256);
event Event_70cbb1cd(address indexed);
error ECDSAInvalidSignature();
error CustomError_727f1ef2();
event Approval(address indexed, address indexed, uint256);
error CustomError_61fb5f24();
error ERC20InvalidApprover(address);
error TradingNotOpen();
event Transfer(address indexed, address indexed, uint256);
error ERC20InvalidReceiver(address);
event TradingOpened(address indexed, uint256);
error CustomError_50b8d5a9();
error CustomError_8c272967();
error MaxSupplyExceeded(uint256, uint256);
error ECDSAInvalidSignatureLength(uint256);
event Event_53ed7b97(uint256 indexed, uint256 indexed, uint256 indexed, uint256);
error ERC20InsufficientBalance(address, uint256, uint256);
event Event_965d3876();
error ERC2612ExpiredSignature(uint256);
event Event_d36f618e(uint256 indexed, uint256, uint256);
error ECDSAInvalidSignatureS(bytes32);
error CustomError_6e1454bf();
error CustomError_fd769ae5();
error ERC20InvalidSender(address);
error InvalidShortString();
error CustomError_9626db1d();
event Event_d4a28637();
error ERC2612InvalidSigner(address, address);
error ERC20InvalidSpender(address);
error CustomError_bd440bd8();
error NothingToLiquidate();
error ERC20InsufficientAllowance(address, uint256, uint256);
function _desolexPanic(uint256 code) private pure {
assembly ("memory-safe") {
mstore(0x00, shl(224, 0x4e487b71))
mstore(0x04, code)
revert(0x00, 0x24)
}
}
fallback() external {
// Synthetic compatibility routes preserve original selectors for unresolved names.
if ((msg.data.length >= 4) && (msg.sig == 0x2d882458)) {
// Route to Unknown_2d882458(address,uint256,bool) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x6c797ef0));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x43634a5f)) {
// Route to Unknown_43634a5f() after replacing only msg.sig.
__desolexSelectorShim(uint32(0x2ae4dbfe));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x843a51d6)) {
// Route to Unknown_843a51d6() after replacing only msg.sig.
__desolexSelectorShim(uint32(0x8ea32aae));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xab070197)) {
// Route to Unknown_ab070197() after replacing only msg.sig.
__desolexSelectorShim(uint32(0x9e39cd30));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xd0778058)) {
// Route to Unknown_d0778058() after replacing only msg.sig.
__desolexSelectorShim(uint32(0x26c5d58e));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xd505accf)) {
// Route to Unknown_d505accf(address,address,bytes32,uint256,bool,uint256,uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xf6ce846b));
return;
}
revert();
}
function Unknown_d505accf(address owner, address spender, bytes32 arg2, uint256 arg3, bool arg4, uint256 arg5, uint256 arg6) public {
require(arg4 == (arg4 & 0xff));
require(block.timestamp <= arg3, ERC2612ExpiredSignature());
address var_b;
var_b = 0x07;
nonces[owner] = nonces[owner] + 0x01;
uint256 var_j;
if (((var_j + 0xe0) > 0xffffffffffffffff) | ((var_j + 0xe0) < var_j)) _desolexPanic(65);
var_j = var_j + 0xe0;
if (!(address(0x61e91daf03a49ecec334bffbf5008860cfb33333) == address(this) && CHAINID() == 0x38)) {
if (((var_j + 0xc0) > 0xffffffffffffffff) | ((var_j + 0xc0) < var_j)) _desolexPanic(65);
if (arg6 > 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) {
if (!(0x03 < 0x04)) _desolexPanic(33);
require(0x02 != 0x0, ECDSAInvalidSignature());
require(0x01 != 0x0, ECDSAInvalidSignatureLength());
require(0x03 != 0x03, ECDSAInvalidSignatureS());
require(address(0) == owner, ERC2612InvalidSigner());
require(owner, ERC20InvalidApprover(address(0)));
require(spender, ERC20InvalidSpender(address(0)));
} else {
address var_a = ecrecover(keccak256(abi.encode(0x1901000000000000000000000000000000000000000000000000000000000000, (keccak256(abi.encode(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x35e4e74b0eb22b5ada81c63a096a3c9d95216bab420b9816f82ccb884c0aab46, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, block.chainid, address(this)))), (keccak256(abi.encode(0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9, (owner), (spender), arg2, (nonces[owner]), arg3))))), bytes1(arg4), arg5, arg6);
require(var_b);
if (!(address(var_a))) {
if (!(0x01 < 0x04)) _desolexPanic(33);
require(0 != 0x0, ECDSAInvalidSignature());
require(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff != 0x0, ECDSAInvalidSignatureLength());
require(0x03 != 0x01, ECDSAInvalidSignatureS());
require(address(0) == owner, ERC2612InvalidSigner());
require(owner, ERC20InvalidApprover(address(0)));
require(spender, ERC20InvalidSpender(address(0)));
} else {
if (!(0 < 0x04)) _desolexPanic(33);
require(address(var_a) == owner, ERC2612InvalidSigner());
require(owner, ERC20InvalidApprover(address(0)));
require(spender, ERC20InvalidSpender(address(0)));
}
}
var_b = keccak256(abi.encode(owner, 0x01));
allowance[owner][spender] = arg2;
} else {
if (arg6 > 0x7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0) {
if (!(0x03 < 0x04)) _desolexPanic(33);
require(0x02 != 0x0, ECDSAInvalidSignature());
require(0x01 != 0x0, ECDSAInvalidSignatureLength());
require(0x03 != 0x03, ECDSAInvalidSignatureS());
require(address(0) == owner, ERC2612InvalidSigner());
require(owner, ERC20InvalidApprover(address(0)));
require(spender, ERC20InvalidSpender(address(0)));
} else {
address var_a = ecrecover(keccak256(abi.encode(0x1901000000000000000000000000000000000000000000000000000000000000, 0x7c8661d5ddcea6377ddefbd6e4e923abb43d420fd3af826fd20479bcd9df2fba, (keccak256(abi.encode(0x6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9, (owner), (spender), arg2, (nonces[owner]), arg3))))), bytes1(arg4), arg5, arg6);
require(var_b);
if (!(address(var_a))) {
if (!(0x01 < 0x04)) _desolexPanic(33);
require(0 != 0x0, ECDSAInvalidSignature());
require(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff != 0x0, ECDSAInvalidSignatureLength());
require(0x03 != 0x01, ECDSAInvalidSignatureS());
require(address(0) == owner, ERC2612InvalidSigner());
require(owner, ERC20InvalidApprover(address(0)));
require(spender, ERC20InvalidSpender(address(0)));
} else {
if (!(0 < 0x04)) _desolexPanic(33);
require(address(var_a) == owner, ERC2612InvalidSigner());
require(owner, ERC20InvalidApprover(address(0)));
require(spender, ERC20InvalidSpender(address(0)));
}
}
allowance[owner][spender] = arg2;
}
emit Approval(owner, spender, arg2);
}
function Unknown_d0778058() public {
require(!(rewardMinter), CustomError_727f1ef2());
(bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0x960b275155f222cac626b2b4f3b2481eec93ea32eb68be7a59eb45618ce7f9cc); // staticcall
require(success0);
uint256 value1 = msg.data[0] >> 0xe0;
uint256 var_c;
uint256 value2 = var_c.length;
if (success0) {
uint256 value0 = returnData0.length;
if (0x20 <= returnData0.length) {
value0 = 0x20;
}
if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value0) - var_c) >= 0x20);
require(var_c.length == (address(var_c.length)));
} else {
value1 = var_c;
value2 = 0;
}
require(address(value2), CustomError_8c272967());
rewardMinter = value2;
emit Event_70cbb1cd(address(value2));
}
function Unknown_ab070197() public view returns (address) {
return address(stor_9);
}
function transfer(address to, uint256 amount) public returns (uint256) {
internal_148d(msg.sender, to, amount);
return 0x01;
}
function symbol() public view returns (string memory) {
return _symbol;
}
function eip712Domain() public view returns (uint256) {
require(0x03 <= 0x1f, InvalidShortString());
if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);
var_a = var_a + 0x40;
require(0x01 <= 0x1f, InvalidShortString());
if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);
var_a = var_a + 0x40;
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
uint256 value7 = 0;
uint256 value8 = var_a + 0x20;
uint256 value9 = (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (var_a + 0xe0) + 0x20) + 0x20) + 0x20;
while (true) {
var_a = var_a + 0x20;
if (value7 >= var_a.length) {
return abi.encodePacked(0x0f00000000000000000000000000000000000000000000000000000000000000, 0xe0, (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (var_a + 0xe0) + 0x20) - var_a, block.chainid, address(this), 0, (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + var_a.length) + (var_a + 0xe0) + 0x20) + 0x20) - var_a, var_a.length, var_a.length, var_a.length, var_q, var_a.length);
}
value7 = 0x01 + value7;
value8 = 0x20 + value8;
value9 = 0x20 + value9;
}
}
function Unknown_843a51d6() public {
require(!(address(stor_9)), CustomError_61fb5f24());
(bool success0, bytes memory returnData0) = address(0xfd89fb9faf9de258c2148b2d0ec14da16ee42593).activeAddress(0xd31d62023fdeafac4bf2c4703c52ccdf6bbbaba48929b17d60672d017ed1866b); // staticcall
require(success0);
if (!(success0)) {
require(0, CustomError_6e1454bf());
stor_9 = 0 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_9);
emit Event_965d3876(0);
}
uint256 var_c;
if (0x20 > returnData0.length) {
if (((var_c + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + returnData0.length) - var_c) >= 0x20);
} else {
if (((var_c + 0x20) > 0xffffffffffffffff) | ((var_c + 0x20) < var_c)) _desolexPanic(65);
var_c = var_c + 0x20;
require(((var_c + 0x20) - var_c) >= 0x20);
}
require(var_c.length == (address(var_c.length)));
require(address(var_c.length), CustomError_6e1454bf());
stor_9 = (address(var_c.length)) | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & stor_9);
emit Event_965d3876(address(var_c.length));
}
function burnFrom(address account, uint256 amount) public view {
if (!(msg.value) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x40) && account == account) {
}
}
function tradingEnabled() public returns (bool) {
uint256 var_a;
uint256 value1 = var_a.length;
if (!tradingOpen) {
(bool success0, bytes memory returnData0) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).tradingOpen(); // staticcall
require(success0);
if (!(success0)) {
return false;
}
uint256 value0 = returnData0.length;
if (0x20 <= returnData0.length) {
value0 = 0x20;
}
if (((var_a + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_a + value0) - var_a) >= 0x20);
require(var_a.length == var_a.length);
} else {
value1 = (tradingOpen) ? 1 : 0;
}
return value1;
}
function Unknown_43634a5f() public {
internal_132c();
}
function burn(uint256 arg0) public view {
if (!(msg.value) && !((0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc + msg.data.length) < 0x20) && msg.sender != 0x0) {
uint256 value0 = 0x01;
}
}
function DOMAIN_SEPARATOR() public view returns (uint256) {
if (!(address(0x61e91daf03a49ecec334bffbf5008860cfb33333) == address(this) && CHAINID() == 0x38)) {
if (((var_g + 0xc0) > 0xffffffffffffffff) | ((var_g + 0xc0) < var_g)) _desolexPanic(65);
return keccak256(abi.encode(0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f, 0x35e4e74b0eb22b5ada81c63a096a3c9d95216bab420b9816f82ccb884c0aab46, 0xc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc6, block.chainid, address(this)));
} else {
return 0x7c8661d5ddcea6377ddefbd6e4e923abb43d420fd3af826fd20479bcd9df2fba;
}
}
function Unknown_2d882458(address to, uint256 amount, bool arg2) public {
require(arg2 == (arg2 & 0xff));
require(msg.sender == rewardMinter, CustomError_50b8d5a9());
if (totalSupply <= (totalSupply + amount)) {
if ((totalSupply + amount) <= 0x3635c9adc5dea00000) {
require(to != address(0), ERC20InvalidReceiver(address(0)));
totalSupply = totalSupply + amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(address(0), to, amount);
emit Event_53ed7b97(msg.sender, bytes1(arg2), to, amount);
}
require((0x3635c9adc5dea00000 - totalSupply) > 0x3635c9adc5dea00000, MaxSupplyExceeded());
}
_desolexPanic(17);
}
function liquidate() public {
require(balanceOf[address(this)], NothingToLiquidate());
uint256 value0 = msg.data[0] >> 0xe0;
if (!(!(uint40(stor_9 >> 0xa8)))) {
} else {
value0 = uint40(stor_9 >> 0xa8);
}
require(!((SHR(0xa8, stor_9) & 0xffffffffff) != 0x0 && block.timestamp < (SHR(0xa8, stor_9) & 0xffffffffff) + 0x12c), CustomError_fd769ae5());
(bool success0, bytes memory returnData0) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
require(success0);
uint256 value2 = 0x20;
uint256 value3 = var_d;
uint256 var_e;
uint256 value4 = var_e.length;
if (success0) {
uint256 value1 = returnData0.length;
if (0x60 <= returnData0.length) {
value1 = 0x60;
}
if (((var_e + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_e + value1) - var_e) >= 0x60);
require(var_e.length == (uint112(var_e.length)));
require(var_d == (uint112(var_d)));
require(var_f == (uint32(var_f)));
} else {
value2 = var_e;
value3 = 0;
value4 = 0;
}
(bool success1, bytes memory returnData1) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
require(success1);
if (success1) {
if (0x20 > returnData1.length) {
if (((var_e + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_e + returnData1.length) - var_e) >= 0x20);
require(var_e.length == (address(var_e.length)));
uint256 value5 = value3;
if (address(this) == (address(var_e.length))) {
value5 = value4;
}
require(((uint112(value5) * 0x64) / 0x2710), CustomError_9626db1d());
uint256 value6 = (uint112(value5) * 0x64) / 0x2710;
if (balanceOf[address(this)] < ((uint112(value5) * 0x64) / 0x2710)) {
value6 = balanceOf[address(this)];
}
stor_9 = (0xffffffffff000000000000000000000000000000000000000000 & (block.timestamp << 0xa8)) | (0xffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff & stor_9);
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_e + 0x60) > 0xffffffffffffffff) | ((var_e + 0x60) < var_e)) _desolexPanic(65);
var_e = var_e + 0x60;
if (!(var_e.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_e.length)) _desolexPanic(50);
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = value6;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value7 = 0;
uint256 value8 = var_e + 0x20;
uint256 value9 = var_e + 0xc4;
while (true) {
if (value7 >= var_e.length) {
break;
}
value7 = 0x01 + value7;
value8 = value8 + 0x20;
value9 = 0x20 + value9;
}
(bool success2, bytes memory returnData2) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(value6, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_e.length); // call
uint256 value10 = 0;
if (success2) {
if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
var_e = var_e + 0;
} else {
value10 = var_e;
}
if (success2) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0x01, CustomError_bd440bd8());
} else {
if (returnData2.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(value6, 0x40, var_v);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0, CustomError_bd440bd8());
} else {
if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(value6, 0x40, var_v);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0, CustomError_bd440bd8());
}
}
emit Event_eaa635b8(msg.sender, value6);
} else {
if (((var_e + 0x20) > 0xffffffffffffffff) | ((var_e + 0x20) < var_e)) _desolexPanic(65);
var_e = var_e + 0x20;
require(((var_e + 0x20) - var_e) >= 0x20);
require(var_e.length == (address(var_e.length)));
uint256 value11 = value3;
if (address(this) == (address(var_e.length))) {
value11 = value4;
}
require(((uint112(value11) * 0x64) / 0x2710), CustomError_9626db1d());
uint256 value12 = (uint112(value11) * 0x64) / 0x2710;
if (balanceOf[address(this)] < ((uint112(value11) * 0x64) / 0x2710)) {
value12 = balanceOf[address(this)];
}
stor_9 = (0xffffffffff000000000000000000000000000000000000000000 & (block.timestamp << 0xa8)) | (0xffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff & stor_9);
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_e + 0x60) > 0xffffffffffffffff) | ((var_e + 0x60) < var_e)) _desolexPanic(65);
var_e = var_e + 0x60;
if (!(var_e.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_e.length)) _desolexPanic(50);
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = value12;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value7 = 0;
uint256 value8 = var_e + 0x20;
uint256 value9 = var_e + 0xc4;
while (true) {
if (value7 >= var_e.length) {
break;
}
value7 = 0x01 + value7;
value8 = value8 + 0x20;
value9 = 0x20 + value9;
}
(bool success3, bytes memory returnData3) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(value12, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_e.length); // call
uint256 value13 = 0;
if (success3) {
if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
var_e = var_e + 0;
} else {
value13 = var_e;
}
if (success3) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0x01, CustomError_bd440bd8());
} else {
if (returnData3.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(value12, 0x40, var_v);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0, CustomError_bd440bd8());
} else {
if (!(returnData3.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData3.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(value12, 0x40, var_v);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0, CustomError_bd440bd8());
}
}
emit Event_eaa635b8(msg.sender, value12);
}
} else {
uint256 value14 = value3;
if (address(this) == 0x0) {
value14 = value4;
}
require(((uint112(value14) * 0x64) / 0x2710), CustomError_9626db1d());
uint256 value15 = (uint112(value14) * 0x64) / 0x2710;
if (balanceOf[address(this)] < ((uint112(value14) * 0x64) / 0x2710)) {
value15 = balanceOf[address(this)];
}
stor_9 = (0xffffffffff000000000000000000000000000000000000000000 & (block.timestamp << 0xa8)) | (0xffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffffff & stor_9);
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_e + 0x60) > 0xffffffffffffffff) | ((var_e + 0x60) < var_e)) _desolexPanic(65);
var_e = var_e + 0x60;
if (!(var_e.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_e.length)) _desolexPanic(50);
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = value15;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value7 = 0;
uint256 value8 = var_e + 0x20;
uint256 value9 = var_e + 0xc4;
while (true) {
if (value7 >= var_e.length) {
break;
}
value7 = 0x01 + value7;
value8 = value8 + 0x20;
value9 = 0x20 + value9;
}
(bool success4, bytes memory returnData4) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(value15, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_e.length); // call
uint256 value16 = 0;
if (success4) {
if (((var_e + 0) > 0xffffffffffffffff) | ((var_e + 0) < var_e)) _desolexPanic(65);
var_e = var_e + 0;
} else {
value16 = var_e;
}
if (success4) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0x01, CustomError_bd440bd8());
} else {
if (returnData4.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(value15, 0x40, var_v);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0, CustomError_bd440bd8());
} else {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_e)) _desolexPanic(65);
var_e = var_e + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(value15, 0x40, var_v, var_v);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
require(0, CustomError_bd440bd8());
}
}
emit Event_eaa635b8(msg.sender, value15);
}
}
function transferFrom(address from, address to, uint256 amount) public returns (uint256) {
address account0 = address(0);
address account1 = address(0);
uint256 value0 = 0;
uint256 value1 = 0;
if (allowance[from][msg.sender] < 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {
require(!(allowance[from][msg.sender] < amount), ERC20InsufficientAllowance(msg.sender, allowance[from][msg.sender], amount));
require(from != address(0), ERC20InvalidApprover(address(0)));
require(msg.sender != 0x0, ERC20InvalidSpender(address(0)));
allowance[from][msg.sender] = allowance[from][msg.sender] - amount;
} else {
account0 = from;
account1 = msg.sender;
value0 = amount;
value1 = allowance[from][msg.sender];
}
require(from != address(0), ERC20InvalidSender(address(0)));
require(to != address(0), ERC20InvalidReceiver(address(0)));
bool flag0 = !(to);
if (flag0) {
if (!(from)) {
totalSupply = totalSupply + amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
return 0x01;
}
require(balanceOf[from] >= amount);
balanceOf[from] = balanceOf[from] - amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
} else {
if (!tradingOpen) {
internal_1e6b(from, to);
}
bool flag2 = from == address(this);
if (0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 != to) {
flag2 = !(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 == to);
}
bool flag3 = from == (address(stor_9));
if (flag2) {
flag3 = flag2;
}
if (((!flag3) && (from == address(0xb1b482b72c71a037baea0f30ee307a02118d0851))) || (flag3)) {
if (!(from)) {
totalSupply = totalSupply + amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
return 0x01;
}
require(balanceOf[from] >= amount);
balanceOf[from] = balanceOf[from] - amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
} else {
if (amount * 0x137e / 0x186a0 == 0x0) {
if (!(from)) {
totalSupply = totalSupply + amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
return 0x01;
}
require(balanceOf[from] >= amount);
balanceOf[from] = balanceOf[from] - amount;
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
} else {
if (from != address(0)) {
require(balanceOf[from] >= ((amount * 0x137e) / 0x0186a0));
balanceOf[from] = balanceOf[from] - ((amount * 0x137e) / 0x0186a0);
if (address(this) != address(0)) {
balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
} else {
totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
}
emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
if (bytes1(stor_9 >> 0xa0) != 0x0) {
if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
var_d = var_d + 0x40;
emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_d.length);
if (!(from)) {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
return 0x01;
}
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
} else {
(bool success0, bytes memory returnData0) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
require(success0);
uint256 value9 = 0;
uint256 value10;
uint256 value11;
if (success0) {
uint256 value42 = var_d.length;
uint256 value43 = var_m;
if (0x60 > returnData0.length) {
if (((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData0.length) - var_d) >= 0x60);
require(var_d.length == (uint112(var_d.length)));
require(var_m == (uint112(var_m)));
require(var_n == (uint32(var_n)));
} else {
if (((var_d + 0x60) > 0xffffffffffffffff) | ((var_d + 0x60) < var_d)) _desolexPanic(65);
var_d = var_d + 0x60;
require(((var_d + 0x60) - var_d) >= 0x60);
require(var_o == (uint112(var_o)));
require(var_p == (uint112(var_p)));
require(var_n == (uint32(var_n)));
value42 = var_r;
value43 = var_q;
}
value10 = value42;
value11 = value43;
} else {
value9 = var_d;
value10 = 0;
value11 = 0;
}
(bool success1, bytes memory returnData1) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
require(success1);
uint256 value12 = 0;
uint256 value13 = var_d.length;
if (success1) {
if (0x20 > returnData1.length) {
if (((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData1.length) - var_d) >= 0x20);
} else {
if (((var_d + 0x20) > 0xffffffffffffffff) | ((var_d + 0x20) < var_d)) _desolexPanic(65);
var_d = var_d + 0x20;
require(((var_d + 0x20) - var_d) >= 0x20);
}
require(var_d.length == (address(var_d.length)));
} else {
value12 = var_d;
value13 = 0;
}
uint256 value14 = uint112(value11);
uint256 value15 = uint112(value10);
if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value13)) {
value14 = uint112(value10);
value15 = uint112(value11);
}
(bool success2, bytes memory returnData2) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
require(success2);
uint256 value17 = 0;
uint256 value18 = var_d.length;
if (success2) {
uint256 value16 = returnData2.length;
if (0x20 <= returnData2.length) {
value16 = 0x20;
}
if (((var_d + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value16 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value16) - var_d) >= 0x20);
} else {
value17 = var_d;
value18 = 0;
}
uint256 value20 = 0;
uint256 value21 = 0;
bool flag5;
if (value18 <= value14) {
(bool success3, bytes memory returnData3) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
require(success3);
bool flag9 = var_d.length > value15;
if (success3) {
uint256 value19 = returnData3.length;
if (0x20 <= returnData3.length) {
value19 = 0x20;
}
if (((var_d + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value19) - var_d) >= 0x20);
} else {
flag9 = 0x0 > value15;
}
flag5 = flag9;
} else {
value20 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
value21 = value15;
flag5 = value18 > value14;
}
if (flag5) {
if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
var_d = var_d + 0x40;
emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_y);
if (!(from)) {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
return 0x01;
}
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
} else {
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
var_m = msg.data[4:68];
if (!(var_d.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_d.length)) _desolexPanic(50);
require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = (amount * 0x137e) / 0x0186a0;
emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value22 = 0;
uint256 value23 = var_d + 0x20;
uint256 value24 = var_d + 0xc4;
while (true) {
if (value22 >= var_d.length) {
break;
}
value22 = 0x01 + value22;
value23 = value23 + 0x20;
value24 = 0x20 + value24;
}
(bool success4, bytes memory returnData4) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }((amount * 0x137e) / 0x0186a0, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
uint256 value25 = 0;
if (success4) {
if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
value25 = var_d;
}
uint256 value26 = 0x60;
bool flag6 = true;
if (success4) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
uint256 value44 = 0x60;
if (returnData4.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
value44 = var_d;
}
value26 = value44;
value2 = 0;
}
if (!(from)) {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
return 0x01;
}
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
}
}
} else {
totalSupply = totalSupply + ((amount * 0x137e) / 0x0186a0);
if (address(this) != address(0)) {
balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
} else {
totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
}
emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
if (bytes1(stor_9 >> 0xa0) != 0x0) {
if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
var_d = var_d + 0x40;
emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_d.length, address(this));
if (!(from)) {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
return 0x01;
}
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
} else {
(bool success5, bytes memory returnData5) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
require(success5);
uint256 value27 = 0;
uint256 value28;
uint256 value29;
if (success5) {
uint256 value45 = var_d.length;
uint256 value46 = var_m;
if (0x60 > returnData5.length) {
if (((var_d + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData5.length) - var_d) >= 0x60);
require(var_d.length == (uint112(var_d.length)));
require(var_m == (uint112(var_m)));
require(var_n == (uint32(var_n)));
} else {
if (((var_d + 0x60) > 0xffffffffffffffff) | ((var_d + 0x60) < var_d)) _desolexPanic(65);
var_d = var_d + 0x60;
require(((var_d + 0x60) - var_d) >= 0x60);
require(var_o == (uint112(var_o)));
require(var_p == (uint112(var_p)));
require(var_n == (uint32(var_n)));
value45 = var_r;
value46 = var_q;
}
value28 = value45;
value29 = value46;
} else {
value27 = var_d;
value28 = 0;
value29 = 0;
}
(bool success6, bytes memory returnData6) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
require(success6);
uint256 value30 = 0;
uint256 value31 = var_d.length;
if (success6) {
if (0x20 > returnData6.length) {
if (((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData6.length) - var_d) >= 0x20);
} else {
if (((var_d + 0x20) > 0xffffffffffffffff) | ((var_d + 0x20) < var_d)) _desolexPanic(65);
var_d = var_d + 0x20;
require(((var_d + 0x20) - var_d) >= 0x20);
}
require(var_d.length == (address(var_d.length)));
} else {
value30 = var_d;
value31 = 0;
}
uint256 value32 = uint112(value29);
uint256 value33 = uint112(value28);
if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value31)) {
value32 = uint112(value28);
value33 = uint112(value29);
}
(bool success7, bytes memory returnData7) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
require(success7);
uint256 value35 = 0;
uint256 value36 = var_d.length;
if (success7) {
uint256 value34 = returnData7.length;
if (0x20 <= returnData7.length) {
value34 = 0x20;
}
if (((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value34) - var_d) >= 0x20);
} else {
value35 = var_d;
value36 = 0;
}
uint256 value38 = 0;
uint256 value39 = 0;
bool flag7;
if (value36 <= value32) {
(bool success8, bytes memory returnData8) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
require(success8);
bool flag10 = var_d.length > value33;
if (success8) {
uint256 value37 = returnData8.length;
if (0x20 <= returnData8.length) {
value37 = 0x20;
}
if (((var_d + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value37 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value37) - var_d) >= 0x20);
} else {
flag10 = 0x0 > value33;
}
flag7 = flag10;
} else {
value38 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
value39 = value33;
flag7 = value36 > value32;
}
if (flag7) {
if (((var_d + 0x40) > 0xffffffffffffffff) | ((var_d + 0x40) < var_d)) _desolexPanic(65);
var_d = var_d + 0x40;
emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_y, ((amount * 0x137e) / 0x0186a0));
if (!(from)) {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
return 0x01;
}
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
} else {
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (!(var_d.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_d.length)) _desolexPanic(50);
require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = (amount * 0x137e) / 0x0186a0;
emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value22 = 0;
uint256 value23 = var_d + 0x20;
uint256 value24 = var_d + 0xc4;
while (true) {
if (value22 >= var_d.length) {
break;
}
value22 = 0x01 + value22;
value23 = value23 + 0x20;
value24 = 0x20 + value24;
}
(bool success9, bytes memory returnData9) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }((amount * 0x137e) / 0x0186a0, 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
uint256 value40 = 0;
if (success9) {
if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
value40 = var_d;
}
uint256 value41 = 0x60;
bool flag8 = true;
if (success9) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
uint256 value47 = 0x60;
if (returnData9.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
if (!(returnData9.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData9.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_y);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
value47 = var_d;
}
value41 = value47;
value3 = 0;
}
if (!(from)) {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
return 0x01;
}
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
}
}
}
}
}
}
return 0x01;
}
function approve(address spender, uint256 amount) public returns (bool) {
require(msg.sender != address(0), ERC20InvalidApprover(address(0)));
require(spender != address(0), ERC20InvalidSpender(address(0)));
allowance[msg.sender][spender] = amount;
emit Approval(msg.sender, spender, allowance[msg.sender][spender]);
return true;
}
function name() public view returns (string memory) {
return _name;
}
function internal_148d(address from, address to, uint256 amount) private {
// Decompilation incomplete: helper effect provenance is conservative.
require(from != address(0), ERC20InvalidSender(address(0)));
require(to != address(0), ERC20InvalidReceiver(address(0)));
bool flag0 = !(to);
if (flag0) {
if (from != address(0)) {
require(balanceOf[from] >= amount);
balanceOf[from] = balanceOf[from] - amount;
} else {
totalSupply = totalSupply + amount;
}
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
return;
} else {
if (!tradingOpen) {
internal_1e6b(from, to);
}
bool flag2 = from == address(this);
if (0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 != to) {
flag2 = !(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070 == to);
}
bool flag3 = from == (address(stor_9));
if (flag2) {
flag3 = flag2;
}
if (((!flag3) && (from == address(0xb1b482b72c71a037baea0f30ee307a02118d0851))) || (flag3)) {
if (from != address(0)) {
require(balanceOf[from] >= amount);
balanceOf[from] = balanceOf[from] - amount;
} else {
totalSupply = totalSupply + amount;
}
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
return;
} else {
if (amount * 0x137e / 0x186a0 == 0x0) {
if (from != address(0)) {
require(balanceOf[from] >= amount);
balanceOf[from] = balanceOf[from] - amount;
} else {
totalSupply = totalSupply + amount;
}
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + amount;
} else {
totalSupply = totalSupply - amount;
}
emit Transfer(from, to, amount);
return;
} else {
if (from != address(0)) {
require(balanceOf[from] >= ((amount * 0x137e) / 0x0186a0));
balanceOf[from] = balanceOf[from] - ((amount * 0x137e) / 0x0186a0);
if (address(this) != address(0)) {
balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
} else {
totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
}
emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
if (bytes1(stor_9 >> 0xa0) != 0x0) {
if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_p);
} else {
(bool success0, bytes memory returnData0) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
require(success0);
uint256 value7 = 0;
uint256 value8;
uint256 value9;
if (success0) {
uint256 value44 = var_f;
uint256 value45 = var_r;
if (0x60 > returnData0.length) {
if (((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData0.length) - var_d) >= 0x60);
require(var_s == (uint112(var_s)));
require(var_t == (uint112(var_t)));
require(var_u == (uint32(var_u)));
} else {
if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x60) - var_d) < 0x60));
require(var_s == (uint112(var_s)));
require(var_t == (uint112(var_t)));
require(var_v == (uint32(var_v)));
value44 = var_f;
value45 = (var_r);
}
value8 = value44;
value9 = value45;
} else {
value7 = var_d;
value8 = 0;
value9 = 0;
}
(bool success1, bytes memory returnData1) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
require(success1);
uint256 value10 = 0;
uint256 value11;
if (success1) {
uint256 value46 = var_d.length;
if (0x20 > returnData1.length) {
if (((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData1.length) - var_d) >= 0x20);
require(var_d.length == (address(var_d.length)));
} else {
if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x20) - var_d) < 0x20));
require(var_y == (address(var_y)));
value46 = var_f;
}
value11 = value46;
} else {
value10 = var_d;
value11 = 0;
}
uint256 value12 = uint112(value9);
uint256 value13 = uint112(value8);
if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value11)) {
value12 = uint112(value8);
value13 = uint112(value9);
}
(bool success2, bytes memory returnData2) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
require(success2);
uint256 value15 = 0;
uint256 value16 = var_d.length;
if (success2) {
uint256 value14 = returnData2.length;
if (0x20 <= returnData2.length) {
value14 = 0x20;
}
if (((var_d + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value14) - var_d) >= 0x20);
} else {
value15 = var_d;
value16 = 0;
}
uint256 value18 = 0;
uint256 value19 = 0;
bool flag5;
if (value16 <= value12) {
(bool success3, bytes memory returnData3) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
require(success3);
bool flag7 = var_d.length > value13;
if (success3) {
uint256 value17 = returnData3.length;
if (0x20 <= returnData3.length) {
value17 = 0x20;
}
if (((var_d + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value17) - var_d) >= 0x20);
} else {
flag7 = 0x0 > value13;
}
flag5 = flag7;
} else {
value18 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
value19 = value13;
flag5 = value16 > value12;
}
if (flag5) {
if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
} else {
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
var_ah = msg.data[4:68];
if (!(var_d.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_d.length)) _desolexPanic(50);
require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = ((amount * 0x137e) / 0x0186a0);
emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value22;
uint256 value23;
if (0 < var_d.length) {
uint256 value47;
uint256 value49;
if (!(0x01 < var_d.length)) {
(bool success4, bytes memory returnData4) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp); // call
uint256 value20 = 0;
if (success4) {
if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
value20 = var_d;
}
value47 = 0x60;
value49 = 0x01;
if (success4) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
uint256 value54 = 0x60;
if (returnData4.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData4.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
value54 = var_d;
}
value47 = value54;
value49 = 0;
}
}
value22 = value47;
value23 = value49;
} else {
(bool success5, bytes memory returnData5) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
uint256 value21 = 0;
if (success5) {
if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
value21 = var_d;
}
uint256 value48 = 0x60;
uint256 value50 = 0x01;
if (success5) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
uint256 value55 = 0x60;
if (returnData5.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
value55 = var_d;
}
value48 = value55;
value50 = 0;
}
value22 = value48;
value23 = value50;
}
}
}
return;
} else {
totalSupply = totalSupply + ((amount * 0x137e) / 0x0186a0);
if (address(this) != address(0)) {
balanceOf[address(this)] = balanceOf[address(this)] + ((amount * 0x137e) / 0x0186a0);
} else {
totalSupply = totalSupply - ((amount * 0x137e) / 0x0186a0);
}
emit Transfer(from, address(this), (amount * 0x137e) / 0x0186a0);
emit Event_d36f618e(from, amount, (amount * 0x137e) / 0x0186a0);
if (bytes1(stor_9 >> 0xa0) != 0x0) {
if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
emit Event_d4a28637((amount * 0x137e) / 0x0186a0, 0x40, var_p, address(this));
} else {
(bool success6, bytes memory returnData6) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).getReserves(); // staticcall
require(success6);
uint256 value24 = 0;
uint256 value25;
uint256 value26;
if (success6) {
uint256 value56 = var_f;
uint256 value57 = var_r;
if (0x60 > returnData6.length) {
if (((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData6.length) - var_d) >= 0x60);
require(var_s == (uint112(var_s)));
require(var_t == (uint112(var_t)));
require(var_u == (uint32(var_u)));
} else {
if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x60) - var_d) < 0x60));
require(var_s == (uint112(var_s)));
require(var_t == (uint112(var_t)));
require(var_v == (uint32(var_v)));
value56 = var_f;
value57 = (var_r);
}
value25 = value56;
value26 = value57;
} else {
value24 = var_d;
value25 = 0;
value26 = 0;
}
(bool success7, bytes memory returnData7) = address(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070).token0(); // staticcall
require(success7);
uint256 value27 = 0;
uint256 value28;
if (success7) {
uint256 value58 = var_d.length;
if (0x20 > returnData7.length) {
if (((var_d + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData7.length) - var_d) >= 0x20);
require(var_d.length == (address(var_d.length)));
} else {
if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x20) - var_d) < 0x20));
require(var_y == (address(var_y)));
value58 = var_f;
}
value28 = value58;
} else {
value27 = var_d;
value28 = 0;
}
uint256 value29 = uint112(value26);
uint256 value30 = uint112(value25);
if (address(this) == (0xffffffffffffffffffffffffffffffffffffffff & value28)) {
value29 = uint112(value25);
value30 = uint112(value26);
}
(bool success8, bytes memory returnData8) = this.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070)); // staticcall balanceOf
require(success8);
uint256 value32 = 0;
uint256 value33 = var_d.length;
if (success8) {
uint256 value31 = returnData8.length;
if (0x20 <= returnData8.length) {
value31 = 0x20;
}
if (((var_d + ((value31 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value31 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value31 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value31) - var_d) >= 0x20);
} else {
value32 = var_d;
value33 = 0;
}
uint256 value35 = 0;
uint256 value36 = 0;
bool flag6;
if (value33 <= value29) {
(bool success9, bytes memory returnData9) = address(0x55d398326f99059ff775485246999027b3197955).balanceOf(0x0bc4df56bb74a06a5a19965adea7833d6b4d9070); // staticcall
require(success9);
bool flag8 = var_d.length > value30;
if (success9) {
uint256 value34 = returnData9.length;
if (0x20 <= returnData9.length) {
value34 = 0x20;
}
if (((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((value34 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + value34) - var_d) >= 0x20);
} else {
flag8 = 0x0 > value30;
}
flag6 = flag8;
} else {
value35 = 0x0bc4df56bb74a06a5a19965adea7833d6b4d9070;
value36 = value30;
flag6 = value33 > value29;
}
if (flag6) {
if (((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p, ((amount * 0x137e) / 0x0186a0));
} else {
stor_9 = 0x010000000000000000000000000000000000000000 | (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff & stor_9);
if (((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x60 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
var_ah = msg.data[4:68];
if (!(var_d.length != 0x0)) _desolexPanic(50);
if (!(0x01 < var_d.length)) _desolexPanic(50);
require(address(this) != 0x0, ERC20InvalidApprover(address(0)));
require(address(0x10ed43c718714eb63d5aa57b78b54704e256024e), ERC20InvalidSpender(address(0)));
allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)] = ((amount * 0x137e) / 0x0186a0);
emit Approval(address(this), address(0x10ed43c718714eb63d5aa57b78b54704e256024e), allowance[address(this)][address(0x10ed43c718714eb63d5aa57b78b54704e256024e)]);
require(0x10ed43c718714eb63d5aa57b78b54704e256024e.code.length != 0x0);
uint256 value39;
uint256 value40;
if (0 < var_d.length) {
uint256 value59;
uint256 value61;
if (!(0x01 < var_d.length)) {
(bool success10, bytes memory returnData10) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp); // call
uint256 value37 = 0;
if (success10) {
if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
value37 = var_d;
}
value59 = 0x60;
value61 = 0x01;
if (success10) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
uint256 value63 = 0x60;
if (returnData10.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
if (!(returnData10.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData10.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
value63 = var_d;
}
value59 = value63;
value61 = 0;
}
}
value39 = value59;
value40 = value61;
} else {
(bool success11, bytes memory returnData11) = address(0x10ed43c718714eb63d5aa57b78b54704e256024e).Unknown_5c11d795{ gas: 0x0927c0 }(((amount * 0x137e) / 0x0186a0), 0, 0xa0, 0x879d0f5cf90cfab869417131b5d678586c3fc47a, block.timestamp, var_d.length); // call
uint256 value38 = 0;
if (success11) {
if (((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
value38 = var_d;
}
uint256 value60 = 0x60;
uint256 value62 = 0x01;
if (success11) {
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
uint256 value64 = 0x60;
if (returnData11.length == 0) {
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
} else {
if (!(returnData11.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData11.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(address(this) != address(0), ERC20InvalidApprover(address(0)));
require(0x10ed43c718714eb63d5aa57b78b54704e256024e, ERC20InvalidSpender(address(0)));
allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e] = 0;
emit Approval(address(this), 0x10ed43c718714eb63d5aa57b78b54704e256024e, allowance[address(this)][0x10ed43c718714eb63d5aa57b78b54704e256024e]);
emit Event_d4a28637(((amount * 0x137e) / 0x0186a0), 0x40, var_p);
stor_9 = (0xffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff) & stor_9;
value64 = var_d;
}
value60 = value64;
value62 = 0;
}
value39 = value60;
value40 = value62;
}
}
}
return;
}
if (from != address(0)) {
require(balanceOf[from] >= (amount - ((amount * 0x137e) / 0x0186a0)));
balanceOf[from] = balanceOf[from] - (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply + (amount - ((amount * 0x137e) / 0x0186a0));
}
if (to != address(0)) {
balanceOf[to] = balanceOf[to] + (amount - ((amount * 0x137e) / 0x0186a0));
} else {
totalSupply = totalSupply - (amount - ((amount * 0x137e) / 0x0186a0));
}
emit Transfer(from, to, amount - ((amount * 0x137e) / 0x0186a0));
}
}
}
}
function internal_1e6b(address arg0, address arg1) private {
// Decompilation incomplete: helper effect provenance is conservative.
(bool success0, bytes memory returnData0) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).tradingOpen(); // staticcall
require(success0);
uint256 value0 = 0;
uint256 value1;
if (success0) {
uint256 var_d;
uint256 value41 = var_d.length;
if (0x20 > returnData0.length) {
if (((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData0.length) - var_d) >= 0x20);
require(var_d.length == var_d.length);
} else {
if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x20) - var_d) < 0x20));
require(var_e == var_e);
value41 = var_f;
}
value1 = value41;
} else {
value0 = var_d;
value1 = 0;
}
if (value1 != 0x0) {
tradingOpen = true;
emit TradingOpened(msg.sender, block.timestamp);
} else {
(bool success1, bytes memory returnData1) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).Unknown_e4aee622(arg0); // staticcall
require(success1);
uint256 value2 = 0;
uint256 value3;
if (success1) {
uint256 value42 = var_d.length;
if (0x20 > returnData1.length) {
if (((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData1.length) - var_d) >= 0x20);
require(var_d.length == var_d.length);
} else {
if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x20) - var_d) < 0x20));
require(var_i == var_i);
value42 = var_f;
}
value3 = value42;
} else {
value2 = var_d;
value3 = 0;
}
address account0 = address(0);
uint256 value6 = 0;
bool flag1;
if (value3 == 0x0) {
(bool success2, bytes memory returnData2) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).Unknown_e4aee622(arg1); // staticcall
require(success2);
uint256 value4 = 0;
uint256 value5;
if (success2) {
uint256 value43 = var_d.length;
if (0x20 > returnData2.length) {
if (((var_d + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_d + returnData2.length) - var_d) >= 0x20);
require(var_d.length == var_d.length);
} else {
if (((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_d + 0x20) - var_d) < 0x20));
require(var_l == var_l);
value43 = var_f;
}
value5 = value43;
} else {
value4 = var_d;
value5 = 0;
}
flag1 = value5 == 0x0;
} else {
account0 = arg1;
value6 = 0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5;
flag1 = value3 == 0x0;
}
require(!(flag1), TradingNotOpen());
}
}
function internal_132c() private {
// Decompilation incomplete: helper effect provenance is conservative.
if (!tradingOpen) {
(bool success0, bytes memory returnData0) = address(0x0b9e2d931985e54d3f457c9edc20c51fc5fe17f5).tradingOpen(); // staticcall
require(success0);
uint256 value0 = 0;
uint256 var_b;
uint256 value1 = var_b.length;
if (success0) {
if (0x20 > returnData0.length) {
if (((var_b + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_b + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_b)) _desolexPanic(65);
var_b = var_b + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_b + returnData0.length) - var_b) >= 0x20);
require(var_b.length == var_b.length);
} else {
if (((var_b + 0x20) > 0xffffffffffffffff) | ((var_b + 0x20) < var_b)) _desolexPanic(65);
var_b = var_b + 0x20;
require(!(((var_b + 0x20) - var_b) < 0x20));
require(var_c == var_c);
require(var_c != 0x0, TradingNotOpen());
tradingOpen = true;
emit TradingOpened(msg.sender, block.timestamp);
}
} else {
value0 = var_b;
value1 = 0;
}
require(value1 != 0x0, TradingNotOpen());
tradingOpen = true;
emit TradingOpened(msg.sender, block.timestamp);
}
}
function __desolexSelectorShim(uint32 rewrittenSelector) private {
assembly {
let input := mload(0x40)
calldatacopy(input, 0, calldatasize())
mstore(input, or(and(mload(input), 0x00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff), shl(224, and(rewrittenSelector, 0xffffffff))))
let success := delegatecall(gas(), address(), input, calldatasize(), 0, 0)
let size := returndatasize()
returndatacopy(input, 0, size)
switch success
case 0 { revert(input, size) }
default { return(input, size) }
}
}
// Note: This selector table is synthetic and is not part of the original Solidity source.
// It records the recovered selector-to-signature mapping without executable behavior.
// 0x06fdde03 => name()
// 0x07d32c16 => unresolved_07d32c16()
// 0x095ea7b3 => approve(address,uint256)
// 0x0d11b75a => unresolved_0d11b75a()
// 0x0db502c8 => unresolved_0db502c8()
// 0x18160ddd => totalSupply()
// 0x1d8ffa4d => interfaceVersion()
// 0x217a4b70 => quoteToken()
// 0x23b872dd => transferFrom(address,address,uint256)
// 0x28a07025 => liquidate()
// 0x2d882458 => Unknown_2d882458(address,uint256,bool)
// 0x313ce567 => decimals()
// 0x32cb6b0c => MAX_SUPPLY()
// 0x3644e515 => DOMAIN_SEPARATOR()
// 0x385a3460 => unresolved_385a3460()
// 0x42966c68 => burn(uint256)
// 0x43634a5f => Unknown_43634a5f()
// 0x4537f729 => unresolved_4537f729()
// 0x4ada218b => tradingEnabled()
// 0x55fd7fa0 => moduleKey()
// 0x70a08231 => balanceOf(address)
// 0x7656419f => protocolRegistry()
// 0x79cc6790 => burnFrom(address,uint256)
// 0x7ecebe00 => nonces(address)
// 0x843a51d6 => Unknown_843a51d6()
// 0x84b0196e => eip712Domain()
// 0x85af30c5 => mainPair()
// 0x95d89b41 => symbol()
// 0x9b8e5563 => rewardMinter()
// 0xa629fd4b => taxEscrow()
// 0xa9059cbb => transfer(address,uint256)
// 0xab070197 => Unknown_ab070197()
// 0xb59dd82a => SELL_FEE_RATIO()
// 0xc21ebd07 => pancakeRouter()
// 0xd0778058 => Unknown_d0778058()
// 0xd505accf => Unknown_d505accf(address,address,bytes32,uint256,bool,uint256,uint256)
// 0xdd62ed3e => allowance(address,address)
// 0xe63a391f => FEE_PRECISION()
// 0xf373c651 => unresolved_f373c651()
// 0xffb54a99 => tradingOpen()
}