Ethereum
0x950fd558f47e234a2fde23b7d61f7ccdbcb4a86f
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputEthereum · 0x950fd558…bcb4a86f18.3 KB120.1 s
This result is permanently available athttps://decompiler.exvul.com/ethereum/0x950fd558f47e234a2fde23b7d61f7ccdbcb4a86f
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
contract DesolexContract {
address public constant poolManager = address(0x4444c5dc75cb358380d2e3de08a90);
address public constant morpho = address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb);
address public constant weth = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2);
address public constant balancerVault = address(0xba1333333333a1ba1108e8412f11850a5c319ba9);
address public owner; // STORAGE[0x0]
mapping(address => bool) public whitelist; // STORAGE[0x1]
uint256 public unresolved_d9dddc1b; // STORAGE[0x2]
bool stor_3_0_0; // STORAGE[0x3] bytes 0 to 0
mapping(bytes32 => bytes32) transient_map_j;
bytes32 tstore_a;
bytes32 tstore_b;
bytes32 tstore_c;
bool tstore_d;
address tstore_e;
address tstore_f;
address tstore_g;
address tstore_h;
address tstore_i;
error DelegatecallFailed();
event WhitelistUpdated(address indexed, bool);
error CustomError_41e8e806();
error CustomError_27b29e2a();
error CustomError_f0777cc7();
error CustomError_33e02f55();
error InsufficientProfit();
error Unauthorized();
error CustomError_e7be8e74();
error DataTooShort();
error InvalidActionCount();
error CustomError_6ce5aa0c();
event Event_0ef662bd(uint256, uint256);
error TransferFailed();
event Event_c6cf0ccc(uint256);
function _desolexPanic(uint256 code) private pure {
assembly ("memory-safe") {
mstore(0x00, shl(224, 0x4e487b71))
mstore(0x04, code)
revert(0x00, 0x24)
}
}
modifier onlyOwner() {
require(msg.sender == owner, Unauthorized());
_;
}
receive() external payable {
}
fallback() external payable {
// Synthetic compatibility routes preserve original selectors for unresolved names.
if ((msg.data.length >= 4) && (msg.sig == 0x23a69e75)) {
// Route to Unknown_23a69e75(uint256,uint256,bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x607829c6));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x26d8bfb7)) {
// Route to Unknown_26d8bfb7() after replacing only msg.sig.
__desolexSelectorShim(uint32(0xab2ca388));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x2c8958f6)) {
// Route to Unknown_2c8958f6(uint256,uint256,bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xd8389fae));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x3a77b95e)) {
// Route to Unknown_3a77b95e(bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x529c326c));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x728260d0)) {
// Route to Unknown_728260d0(uint256) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xbc34fa92));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x7466e8ff)) {
// Route to Unknown_7466e8ff(bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xc0a8f9bf));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x8a57589a)) {
// Route to Unknown_8a57589a(bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xe6855bc2));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x8e9b1220)) {
// Route to Unknown_8e9b1220(bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x7b9c84f9));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0x8eccac05)) {
// Route to Unknown_8eccac05() after replacing only msg.sig.
__desolexSelectorShim(uint32(0x84112e67));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xcb53bc22)) {
// Route to Unknown_cb53bc22() after replacing only msg.sig.
__desolexSelectorShim(uint32(0x8fab1bc0));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xdd225095)) {
// Route to Unknown_dd225095(bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0x7ba4f0e4));
return;
}
if ((msg.data.length >= 4) && (msg.sig == 0xfa461e33)) {
// Route to Unknown_fa461e33(uint256,uint256,bytes) after replacing only msg.sig.
__desolexSelectorShim(uint32(0xbc391381));
return;
}
revert();
}
function Unknown_23a69e75(uint256 arg0, uint256 arg1, bytes memory arg2) public {
require(((0x04 + arg2) + 0x1f) < msg.data.length);
require(((0x04 + arg2) + arg2 + 0x20) <= msg.data.length);
require((msg.sender == tstore_a) & (tstore_b == 0x01) | (tstore_c == 0x01), "!cb");
uint256 value0 = (arg1) ? 1 : 0;
if (arg0 > 0) {
value0 = arg0;
}
uint256 var_d;
if (((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success0, bytes memory returnData0) = address((arg2 + 0x20) >> 0x60).transfer(msg.sender, value0); // call
uint256 value1 = 0x60;
if ((returnData0.length) != 0x0) {
if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value1 = var_d;
}
uint256 value4 = 0;
bool flag0;
if (success0) {
uint256 value2 = 0;
uint256 value3 = 0;
bool flag1 = !(var_g);
if (var_h) {
require(((value1 + var_h) + 0x20) - (value1 + 0x20) >= 0x20);
require(var_g != 0x0 == var_g);
} else {
value2 = var_h;
value3 = value1;
flag1 = var_h;
}
flag0 = flag1;
} else {
value4 = value1;
flag0 = !success0;
}
require(!(flag0), TransferFailed());
}
function Unknown_2c8958f6(uint256 arg0, uint256 arg1, bytes memory arg2) public {
require(((0x04 + arg2) + 0x1f) < msg.data.length);
require(((0x04 + arg2) + arg2 + 0x20) <= msg.data.length);
require((msg.sender == tstore_a) & (tstore_b == 0x01) | (tstore_c == 0x01), "!cb");
uint256 value0 = (arg1) ? 1 : 0;
if (arg0 > 0) {
value0 = arg0;
}
uint256 var_d;
if (((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success0, bytes memory returnData0) = address((arg2 + 0x20) >> 0x60).transfer(msg.sender, value0); // call
uint256 value1 = 0x60;
if ((returnData0.length) != 0x0) {
if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value1 = var_d;
}
uint256 value4 = 0;
bool flag0;
if (success0) {
uint256 value2 = 0;
uint256 value3 = 0;
bool flag1 = !(var_g);
if (var_h) {
require(((value1 + var_h) + 0x20) - (value1 + 0x20) >= 0x20);
require(var_g != 0x0 == var_g);
} else {
value2 = var_h;
value3 = value1;
flag1 = var_h;
}
flag0 = flag1;
} else {
value4 = value1;
flag0 = !success0;
}
require(!(flag0), TransferFailed());
}
function Unknown_fa461e33(uint256 arg0, uint256 arg1, bytes memory arg2) public {
require(((0x04 + arg2) + 0x1f) < msg.data.length);
require(((0x04 + arg2) + arg2 + 0x20) <= msg.data.length);
require((msg.sender == tstore_a) & (tstore_b == 0x01) | (tstore_c == 0x01), "!cb");
uint256 value0 = (arg1) ? 1 : 0;
if (arg0 > 0) {
value0 = arg0;
}
uint256 var_d;
if (((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success0, bytes memory returnData0) = address((arg2 + 0x20) >> 0x60).transfer(msg.sender, value0); // call
uint256 value1 = 0x60;
if ((returnData0.length) != 0x0) {
if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value1 = var_d;
}
uint256 value4 = 0;
bool flag0;
if (success0) {
uint256 value2 = 0;
uint256 value3 = 0;
bool flag1 = !(var_g);
if (var_h) {
require(((value1 + var_h) + 0x20) - (value1 + 0x20) >= 0x20);
require(var_g != 0x0 == var_g);
} else {
value2 = var_h;
value3 = value1;
flag1 = var_h;
}
flag0 = flag1;
} else {
value4 = value1;
flag0 = !success0;
}
require(!(flag0), TransferFailed());
}
function emergencyWithdraw(address arg0, address arg1, uint256 arg2) public onlyOwner {
uint256 var_a;
if (arg0 == 0) {
require((arg2 + 0x01) < address(this).balance, "Keep 1 wei");
(bool success0, bytes memory returnData0) = arg1.call{ value: arg2 }(""); // call
if ((returnData0.length) != 0x0) {
if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
}
require(success0, TransferFailed());
}
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success1, bytes memory returnData1) = arg0.call(abi.encodeWithSelector(bytes4(0xa9059cbb), arg1, arg2)); // call transfer
uint256 value0 = 0x60;
if ((returnData1.length) != 0x0) {
if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value0 = var_a;
}
if (!success1) {
require(!var_i);
revert("SafeERC20: low-level call failed");
} else {
if (!var_i) {
require(address(arg0).code.length != 0x0, "Address: call to non-contract");
uint256 value1 = 0;
uint256 value2 = 0;
uint256 value3 = var_o;
if (!(!(var_p))) {
require(!(((value0 + var_q) + 0x20) - (value0 + 0x20) < 0x20));
require(var_r != 0x0 == var_r);
} else {
value1 = var_p;
value2 = value0;
value3 = !(var_p);
}
require(value3 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value4 = 0;
uint256 value5 = 0;
uint256 value6 = var_o;
if (!(!(var_p))) {
require(!(((value0 + var_q) + 0x20) - (value0 + 0x20) < 0x20));
require(var_r != 0x0 == var_r);
} else {
value4 = var_p;
value5 = value0;
value6 = !(var_p);
}
require(value6 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
}
function Unknown_dd225095(bytes memory arg0) public payable {
if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0x20) {
if (!(arg0.length > 0xffffffffffffffff)) {
require(((0x04 + arg0) + 0x1f) < msg.data.length);
require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);
if (whitelist[msg.sender]) {
if (!(0x05 > arg0.length)) {
if (0x05 <= ((((arg0 + 0x20) + 0x01) >> 0xe0) + 0x05)) {
if (arg0 >= ((((arg0 + 0x20) + 0x01) >> 0xe0) + 0x05)) {
if (0x05 <= (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0))) {
require((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) <= arg0);
if ((0xff & (arg0 + 0x20)) != 0x0) {
if ((0xff & (arg0 + 0x20)) != 0x1) {
if ((0xff & (arg0 + 0x20)) == 0x2) {
tstore_d = 0;
require(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb.code.length != 0x0);
(bool success4, bytes memory returnData4) = address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb).flashLoan(address(msg.data[0x05 + ((0x04 + arg0) + 0x20)]), (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]), 0x60); // call
uint256 var_c;
if (success4) {
uint256 var_an;
if (!(success4)) {
if (0x05 <= (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0))) {
if ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) <= ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05)) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) <= arg0) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) <= ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x05)) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x05) <= arg0) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) <= (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0))) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) <= (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0))) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) <= arg0) {
if (bytes1((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)))) {
if (bytes1((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0))) != 0x01) {
if (0x02 == (bytes1((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0))))) {
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) - ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) >= 0x01) {
tstore_c = 0x01;
if (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) - ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) - ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) - ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) - ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (!(((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + ((0x04 + arg0) + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) - ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05)) > msg.data.length)) {
var_e = msg.data[46:46];
if (var_c.length >= 0x01) {
if (0 == (var_e == 0xff)) {
if (var_e != 0x0) {
if (!(var_e > 0x64)) {
tstore_b = 0x01;
if (!(0 < var_e)) {
uint256 value5 = 0;
uint256 value6 = 0;
uint256 value7 = 0;
if ((0 != 0x0) && (0x01 < var_c.length)) {
if (!((0x01 < var_ax))) _desolexPanic(50);
require((0x01 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_ay >> 0xf8) * 0x58))) == var_c.length, DataTooShort());
} else {
value5 = 0x01;
value6 = var_c;
value7 = var_c.length;
}
tstore_b = 0;
tstore_c = 0;
(bool success5, bytes memory returnData5) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).balanceOf(address(this)); // staticcall
if (success5) {
uint256 value8 = 0;
uint256 value9 = var_c.length;
if (success5) {
if (0x20 > returnData5.length) {
if (((var_c + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + returnData5.length) - var_c) >= 0x20);
} else {
if (((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
}
} else {
value8 = var_c;
value9 = 0;
}
}
}
}
}
} else {
require(var_c.length >= 0x02, DataTooShort());
if (!(var_ba)) {
tstore_c = 0;
(bool success6, bytes memory returnData6) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).balanceOf(address(this)); // staticcall
require(success6);
uint256 value10 = 0;
uint256 value11;
if (success6) {
uint256 value30 = var_c.length;
if (0x20 > returnData6.length) {
if (((var_c + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + returnData6.length) - var_c) >= 0x20);
} else {
if (((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
value30 = var_ad;
}
value11 = value30;
} else {
value10 = var_c;
value11 = 0;
}
if (value11 > 0x1) {
require(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.code.length != 0x0);
(bool success7, bytes memory returnData7) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).withdraw(value11 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
require(success7);
if (success7) {
if (((var_c + 0) > 0xffffffffffffffff) | ((var_c + 0) < var_c)) _desolexPanic(65);
var_c = var_c + 0;
require((var_c - var_c) >= 0);
}
}
require((((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x21) <= arg0, DataTooShort());
require((((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
} else {
require(var_ba <= 0x64, InvalidActionCount());
tstore_b = 0x01;
if (0 < var_ba) {
require(0x18 <= var_c.length, DataTooShort());
uint256 value12 = (var_bb >> 0xf0) & (0x7fff);
uint256 value13 = (var_bb >> 0xf0) & (0x7fff);
if (0 != !(!((var_bb >> 0xf0) & (0x4000)))) {
require((var_bb >> 0xf0) & (0x8000), CustomError_41e8e806());
value12 = (var_bb >> 0xf0) & (0x3fff);
value13 = (var_bb >> 0xf0) & (0x3fff);
}
require(((0x02 + value12) + 0x16) <= var_c.length, DataTooShort());
uint256 value24 = 0;
bool flag3 = !(!((var_bb >> 0xf0) & (0x4000)));
if (!((var_bb >> 0xf0) & (0x8000))) {
flag2 = !(!((var_bb >> 0xf0) & (0x4000)));
flag3 = !(!((var_bb >> 0xf0) & (0x8000)));
}
if (!flag3) {
if (!(!(!((var_bb >> 0xf0) & (0x8000))))) {
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value13 + 0x1f) >> 0x05)) {
} else {
(bool success8, bytes memory returnData8) = address(var_bd >> 0x60).Unknown_(var_be); // delegatecall
uint256 value14 = 0x60;
if ((returnData8.length) != 0x0) {
if (returnData8.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value14 = var_c;
}
if (!success8) {
require(var_bf != 0x0, DelegatecallFailed());
revert();
}
}
} else {
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value13 + 0x1f) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_bd >> 0x60;
(bool success9, bytes memory returnData9) = address(var_bd >> 0x60).call(""); // call
uint256 value15 = 0x60;
if ((returnData9.length) != 0x0) {
if (returnData9.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value15 = var_c;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success9) {
require(var_bg != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
require(value13 >= 0x20, CustomError_f0777cc7());
if ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_bd >> 0x60;
(bool success10, bytes memory returnData10) = address(var_bd >> 0x60).cehbdjakgfi{ value: var_bi }(0x60, ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05), 0, var_an); // call
uint256 value16 = 0x60;
if ((returnData10.length) != 0x0) {
if (returnData10.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData10.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData10.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData10.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value16 = var_c;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success10) {
require(var_bj != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
uint256 value17 = 0;
uint256 value18 = 0;
uint256 value19 = 0;
if ((0x1 != 0x0) && (0x2 < var_bk)) {
if (!((0x02 < var_ax))) _desolexPanic(50);
require((0x02 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_bl >> 0xf8) * 0x58))) == var_c.length, DataTooShort());
} else {
value17 = 0x02;
value18 = var_c;
value19 = var_c.length;
}
tstore_b = 0;
tstore_c = 0;
(bool success11, bytes memory returnData11) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).balanceOf(address(this)); // staticcall
require(success11);
uint256 value20 = 0;
uint256 value21;
if (success11) {
uint256 value36 = var_c.length;
if (0x20 > returnData11.length) {
if (((var_c + ((returnData11.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData11.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((returnData11.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + returnData11.length) - var_c) >= 0x20);
} else {
if (((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
value36 = var_ad;
}
value21 = value36;
} else {
value20 = var_c;
value21 = 0;
}
if (value21 > 0x1) {
require(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.code.length != 0x0);
(bool success12, bytes memory returnData12) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).withdraw(value21 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
require(success12);
if (success12) {
if (((var_c + 0) > 0xffffffffffffffff) | ((var_c + 0) < var_c)) _desolexPanic(65);
var_c = var_c + 0;
require((var_c - var_c) >= 0);
}
}
require((((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x21) <= arg0, DataTooShort());
require((((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
}
}
}
}
}
} else {
require((((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x21) <= arg0, DataTooShort());
require((((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x05) + (((arg0 + 0x20) + (0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
}
}
}
}
}
}
}
}
}
}
}
}
} else if ((0xff & (arg0 + 0x20)) == 0x3) {
require(!((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05) - (0x05 + ((0x04 + arg0) + 0x20)) < 0x60));
require(!(msg.data[0x05 + ((0x04 + arg0) + 0x20)] > 0xffffffffffffffff));
require(((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)] + 0x1f) < ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05)));
if (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)] + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] << 0x05) + 0x20) > ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05))));
if ((0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)])) < ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)] + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] << 0x05) + 0x20)) {
require(((msg.data[0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)])]) & 0xffffffffffffffffffffffffffffffffffffffff) == (msg.data[0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)])]));
if (((0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)])) + 0x20) < ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)] + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)]] << 0x05) + 0x20)) {
require(((msg.data[(0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)])) + 0x20]) & 0xffffffffffffffffffffffffffffffffffffffff) == (msg.data[(0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + msg.data[0x05 + ((0x04 + arg0) + 0x20)])) + 0x20]));
}
}
require(!(msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20] > 0xffffffffffffffff));
require(((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]) + 0x1f) < ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05)));
if (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] << 0x05) + 0x20) > ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05))));
if (((0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]))) < ((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] << 0x05) + 0x20)) && ((0x20 + (0x20 + ((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])))) < ((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20])] << 0x05) + 0x20))) {
}
require(!(msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40] > 0xffffffffffffffff));
require(((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40]) + 0x1f) < ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05)));
if (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])] > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])])))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])])))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])])))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40]) + 0x20) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])]) > ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05))));
bool flag0 = var_ae > 0x32;
if (!(var_ae)) {
flag0 = !(var_ae);
}
require(!(flag0), CustomError_6ce5aa0c());
tstore_d = 0x01;
tstore_e = var_ae;
if (0 < var_ae) {
tstore_f = var_af;
tstore_g = var_ag;
} else {
tstore_h = var_ah;
if (0 < ((var_ah + 0x1f) >> 0x05)) {
tstore_i = var_ai;
}
if (!(var_ae)) _desolexPanic(50);
if (!(var_ak)) _desolexPanic(50);
if (((var_c + ((((var_c + 0x21) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((((var_c + 0x21) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((((var_c + 0x21) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb.code.length != 0x0);
var_an = address(var_al);
address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb).flashLoan(address(var_al), var_am, 0x60); // call
}
} else {
require(0x4 == (0xff & (arg0 + 0x20)), CustomError_e7be8e74());
require(!((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05) - (0x05 + ((0x04 + arg0) + 0x20)) < 0x60));
require((msg.data[0x05 + ((0x04 + arg0) + 0x20)] & 0xffffffffffffffffffffffffffffffffffffffff) == msg.data[0x05 + ((0x04 + arg0) + 0x20)]);
require(!(msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40] > 0xffffffffffffffff));
require(((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40]) + 0x1f) < ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05)));
if (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])] > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])])))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])])))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])])))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40]) + 0x20) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x40])]) > ((0x05 + ((0x04 + arg0) + 0x20)) + ((0x05 + (((arg0 + 0x20) + 0x01) >> 0xe0)) - 0x05))));
(bool success0, bytes memory returnData0) = address(msg.data[0x05 + ((0x04 + arg0) + 0x20)]).balanceOf(0xba1333333333a1ba1108e8412f11850a5c319ba9); // staticcall
require(success0);
uint256 value0 = 0;
uint256 value1;
if (success0) {
uint256 value22 = var_c.length;
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 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
value22 = var_h;
}
value1 = value22;
} else {
value0 = var_c;
value1 = 0;
}
uint256 value2 = msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20];
if (!(value1 > (msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20]))) {
value2 = value1;
}
(bool success1, bytes memory returnData1) = address(msg.data[0x05 + ((0x04 + arg0) + 0x20)]).balanceOf(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb); // staticcall
require(success1);
uint256 value3 = 0;
uint256 value4;
if (success1) {
uint256 value23 = var_c.length;
if (0x20 > returnData1.length) {
if (((var_c + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + returnData1.length) - var_c) >= 0x20);
} else {
if (((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
value23 = var_k;
}
value4 = value23;
} else {
value3 = var_c;
value4 = 0;
}
require(!((msg.data[(0x05 + ((0x04 + arg0) + 0x20)) + 0x20] - value2) > value4), CustomError_33e02f55());
if (((var_c + (((((var_q + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + ((var_c + 0x20) + 0x80) + 0x20) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((((var_q + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + ((var_c + 0x20) + 0x80) + 0x20) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((((var_q + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + ((var_c + 0x20) + 0x80) + 0x20) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_c + (((((var_y + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + ((var_c + 0x24) + 0x20) + 0x20) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((((var_y + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + ((var_c + 0x24) + 0x20) + 0x20) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((((var_y + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + ((var_c + 0x24) + 0x20) + 0x20) - var_c) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).unlock(0x20); // call
}
}
}
}
}
}
}
}
}
}
}
function Unknown_cb53bc22() public onlyOwner {
stor_3_0_0 = true;
emit Event_c6cf0ccc(0x01);
}
function swapCallback(uint256 arg0, uint256 arg1, bytes memory arg2) public {
require(((0x04 + arg2) + 0x1f) < msg.data.length);
require(((0x04 + arg2) + arg2 + 0x20) <= msg.data.length);
require((msg.sender == tstore_a) & (tstore_b == 0x01) | (tstore_c == 0x01), "!cb");
uint256 var_d;
if (((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + ((((var_d + 0x64) - var_d) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success0, bytes memory returnData0) = address((arg2 + 0x20) >> 0x60).transfer(msg.sender, arg0); // call
uint256 value0 = 0x60;
if ((returnData0.length) != 0x0) {
if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_d)) _desolexPanic(65);
var_d = var_d + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value0 = var_d;
}
uint256 value3 = 0;
bool flag0;
if (success0) {
uint256 value4 = 0;
uint256 value2 = 0;
bool flag1 = !(var_g);
if (var_h) {
require(((value0 + var_h) + 0x20) - (value0 + 0x20) >= 0x20);
require(var_g != 0x0 == var_g);
} else {
value1 = (var_h != 0x0) ? 1 : 0;
value2 = value0;
flag1 = var_h;
}
flag0 = flag1;
} else {
value3 = value0;
flag0 = !success0;
}
require(!(flag0), TransferFailed());
}
function unlockCallback(bytes memory data) public {
require(((0x04 + data) + 0x1f) < msg.data.length);
require(((0x04 + data) + data + 0x20) <= msg.data.length);
require(msg.sender == 0x04444c5dc75cb358380d2e3de08a90, "!pm");
require((msg.sender == tstore_a) & (tstore_b == 0x01) | (tstore_c == 0x01), "!cb");
if (0x100 != ((data + 0x20) + 0xe0)) {
require(((0x04 + data) + 0x20) + data - ((0x04 + data) + 0x20) >= 0x0120);
require(address(data + 0x20) == (data + 0x20));
require(address((data + 0x20) + 0x20) == ((data + 0x20) + 0x20));
require(((data + 0x20) + 0x40) == (uint24((data + 0x20) + 0x40)));
require(((data + 0x20) + 0x60) == (int24((data + 0x20) + 0x60)));
require(address((data + 0x20) + 0x80) == ((data + 0x20) + 0x80));
require(address((data + 0x20) + 0xa0) == ((data + 0x20) + 0xa0));
require(address((data + 0x20) + 0xe0) == ((data + 0x20) + 0xe0));
require(((data + 0x20) + 0x0100) <= 0xffffffffffffffff);
require((((0x04 + data) + 0x20) + ((data + 0x20) + 0x0100) + 0x1f) < (((0x04 + data) + 0x20) + data));
if ((data + 0x20) + ((data + 0x20) + 0x0100) > 0xffffffffffffffff) _desolexPanic(65);
uint256 var_a;
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((data + 0x20) + ((data + 0x20) + 0x0100))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((data + 0x20) + ((data + 0x20) + 0x0100))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((data + 0x20) + ((data + 0x20) + 0x0100))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + data) + 0x20) + ((data + 0x20) + 0x0100) + 0x20) + ((data + 0x20) + ((data + 0x20) + 0x0100)) <= (((0x04 + data) + 0x20) + data));
var_c = msg.data[68:68];
if (((var_a + 0xa0) > 0xffffffffffffffff) | ((var_a + 0xa0) < var_a)) _desolexPanic(65);
var_a = var_a + 0xa0;
uint256 value1;
if (!(address((data + 0x20) + 0xe0))) {
uint256 value0 = 0xfffd8963efd1fc6a506488495d951d5263988d25;
if (address((data + 0x20) + 0xa0) == (address(data + 0x20))) {
value0 = 0x01000276a4;
}
value1 = value0;
} else {
value1 = (data + 0x20) + 0xe0;
}
if (((var_a + 0x60) > 0xffffffffffffffff) | ((var_a + 0x60) < var_a)) _desolexPanic(65);
var_a = var_a + 0x60;
address(0x04444c5dc75cb358380d2e3de08a90).swap(address(var_a.length), address(var_aa), uint24(var_ab)); // call
} else {
require(((0x04 + data) + 0x20) + data - ((0x04 + data) + 0x20) >= 0x0100);
require(address(data + 0x20) == (data + 0x20));
require(address((data + 0x20) + 0x20) == ((data + 0x20) + 0x20));
require(((data + 0x20) + 0x40) == (uint24((data + 0x20) + 0x40)));
require(((data + 0x20) + 0x60) == (int24((data + 0x20) + 0x60)));
require(address((data + 0x20) + 0x80) == ((data + 0x20) + 0x80));
require(address((data + 0x20) + 0xa0) == ((data + 0x20) + 0xa0));
require(((data + 0x20) + 0xe0) <= 0xffffffffffffffff);
require((((0x04 + data) + 0x20) + ((data + 0x20) + 0xe0) + 0x1f) < (((0x04 + data) + 0x20) + data));
if ((data + 0x20) + ((data + 0x20) + 0xe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((data + 0x20) + ((data + 0x20) + 0xe0))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((data + 0x20) + ((data + 0x20) + 0xe0))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((data + 0x20) + ((data + 0x20) + 0xe0))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + data) + 0x20) + ((data + 0x20) + 0xe0) + 0x20) + ((data + 0x20) + ((data + 0x20) + 0xe0)) <= (((0x04 + data) + 0x20) + data));
var_c = msg.data[68:68];
if (((var_a + 0xa0) > 0xffffffffffffffff) | ((var_a + 0xa0) < var_a)) _desolexPanic(65);
var_a = var_a + 0xa0;
uint256 value3;
uint256 value2 = 0xfffd8963efd1fc6a506488495d951d5263988d25;
if (address((data + 0x20) + 0xa0) == (address(data + 0x20))) {
value2 = 0x01000276a4;
}
value3 = value2;
if (((var_a + 0x60) > 0xffffffffffffffff) | ((var_a + 0x60) < var_a)) _desolexPanic(65);
var_a = var_a + 0x60;
address(0x04444c5dc75cb358380d2e3de08a90).swap(address(var_a.length), address(var_aa), uint24(var_ab)); // call
}
}
function Unknown_8eccac05() public view returns (bool) {
return stor_3_0_0;
}
function Unknown_8e9b1220(bytes memory arg0) public payable {
if (!(msg.value)) {
if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0x20) {
if (!(arg0.length > 0xffffffffffffffff)) {
require(((0x04 + arg0) + 0x1f) < msg.data.length);
require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);
if (msg.sender == 0xba1333333333a1ba1108e8412f11850a5c319ba9) {
if (((arg0 + 0x20) + 0x40) == 0x80) {
if (((0x04 + arg0) + 0x20) + arg0 - ((0x04 + arg0) + 0x20) >= 0x80) {
require(address(arg0 + 0x20) == (arg0 + 0x20));
if (((arg0 + 0x20) + 0x40) <= 0xffffffffffffffff) {
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x40) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40) > 0xffffffffffffffff) _desolexPanic(65);
uint256 var_a;
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
bytes var_b = (arg0 + 0x20) + ((arg0 + 0x20) + 0x40);
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x40) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40)) <= (((0x04 + arg0) + 0x20) + arg0));
if (((arg0 + 0x20) + 0x60) <= 0xffffffffffffffff) {
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x60) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x60) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60)) <= (((0x04 + arg0) + 0x20) + arg0));
if (0xba1333333333a1ba1108e8412f11850a5c319ba9.code.length != 0x0) {
(bool success0, bytes memory returnData0) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).sendTo(address(arg0 + 0x20), address(this), ((arg0 + 0x20) + 0x20)); // call
if (success0) {
uint256 value0 = 0;
if (success0) {
if (((var_a + 0) > 0xffffffffffffffff) | ((var_a + 0) < var_a)) _desolexPanic(65);
var_a = var_a + 0;
require((var_a - var_a) >= 0);
} else {
value0 = var_a;
}
if (var_i != 0x0) {
if (var_j != 0x0) {
if (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_k >> 0xf8)) {
require((0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_k >> 0xf8) * 0x58)) == var_i, DataTooShort());
if (0 >= bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_k >> 0xf8)) {
tstore_c = 0x01;
require(var_l >= 0x01, DataTooShort());
if (0 != (var_m == 0xff)) {
require(var_l >= 0x02, DataTooShort());
if (!(var_aj)) {
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success13, bytes memory returnData13) = address(arg0 + 0x20).transfer(0xba1333333333a1ba1108e8412f11850a5c319ba9, ((arg0 + 0x20) + 0x20)); // call
if (returnData13.length == 0) {
uint256 value10 = 0;
bool flag4;
if (success13) {
uint256 value8 = 0;
uint256 value9 = 0;
bool flag11 = !var_b;
if (var_ai) {
require((((0x60 + var_ai) + 0x20) - 0x80) >= 0x20);
require(var_b == var_b);
} else {
value8 = var_ai;
value9 = 0x60;
flag11 = var_ai;
}
flag4 = flag11;
} else {
value10 = 0x60;
flag4 = !success13;
}
require(!(flag4), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
} else {
if (!(returnData13.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
uint256 value13 = 0;
bool flag5;
if (success13) {
uint256 value11 = 0;
uint256 value12 = 0;
bool flag12 = !(var_c);
if (var_a.length != 0) {
require(((var_a + var_a.length) + 0x20) - (var_a + 0x20) >= 0x20);
require((!(!(var_c))) == var_c);
} else {
value11 = var_a.length;
value12 = var_a;
flag12 = var_a.length;
}
flag5 = flag12;
} else {
value13 = var_a;
flag5 = !success13;
}
require(!(flag5), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
}
require(success13);
if (0x20 <= returnData13.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData13.length) - var_a) < 0x20));
} else {
require(var_aj <= 0x64, InvalidActionCount());
tstore_b = 0x01;
if (0 < var_aj) {
require(0x18 <= var_l, DataTooShort());
uint256 value14 = (var_ak >> 0xf0) & (0x7fff);
uint256 value15 = (var_ak >> 0xf0) & (0x7fff);
if (0 != !(!((var_ak >> 0xf0) & (0x4000)))) {
require((var_ak >> 0xf0) & (0x8000), CustomError_41e8e806());
value14 = (var_ak >> 0xf0) & (0x3fff);
value15 = (var_ak >> 0xf0) & (0x3fff);
}
require(((0x02 + value14) + 0x16) <= var_l, DataTooShort());
uint256 value30 = 0;
if (!((var_ak >> 0xf0) & (0x8000))) {
flag6 = !(!((var_ak >> 0xf0) & (0x4000)));
}
if (!((SHR(0xf0, var_al) & 0x8000) != 0x0 && (SHR(0xf0, var_al) & 0x4000) != 0x0)) {
if (!(!(!((var_ak >> 0xf0) & (0x8000))))) {
if (value15 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value15))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value15))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value15))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value15 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value15 + 0x1f) >> 0x05)) {
} else {
(bool success16, bytes memory returnData16) = address(var_an >> 0x60).Unknown_(var_ao); // delegatecall
uint256 value16 = 0x60;
if ((returnData16.length) != 0x0) {
if (!(returnData16.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value16 = var_a;
}
if (!success16) {
require(var_ap != 0x0, DelegatecallFailed());
revert();
}
}
} else {
if (value15 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value15))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value15))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value15))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value15 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value15 + 0x1f) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_an >> 0x60;
(bool success17, bytes memory returnData17) = address(var_an >> 0x60).call(""); // call
uint256 value17 = 0x60;
if ((returnData17.length) != 0x0) {
if (!(returnData17.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData17.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData17.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData17.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value17 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success17) {
require(var_aq != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
require(value15 >= 0x20, CustomError_f0777cc7());
if ((value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
var_c = msg.data[4:115792089237316195423570985008687907853269984665640564039457584007913129639908];
if (0 < ((value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_an >> 0x60;
(bool success18, bytes memory returnData18) = address(var_an >> 0x60).uWjK9{ value: var_as }(address(this)); // call
uint256 value18 = 0x60;
if ((returnData18.length) != 0x0) {
if (!(returnData18.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData18.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData18.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData18.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value18 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success18) {
require(var_at != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
uint256 value19 = 0;
uint256 value20 = 0;
uint256 value21 = 0;
if ((0x1 != 0x0) && (0x2 < var_l)) {
if (!(0x02 < var_l)) _desolexPanic(50);
require((0x02 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_au >> 0xf8) * 0x58))) == var_l, DataTooShort());
} else {
value19 = 0x02;
value20 = var_a;
value21 = var_l;
}
tstore_b = 0;
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success19, bytes memory returnData19) = address(arg0 + 0x20).transfer(0xba1333333333a1ba1108e8412f11850a5c319ba9, ((arg0 + 0x20) + 0x20)); // call
if (returnData19.length == 0) {
uint256 value24 = 0;
bool flag9;
if (success19) {
uint256 value22 = 0;
uint256 value23 = 0;
bool flag13 = !var_b;
if (var_ai) {
require((((0x60 + var_ai) + 0x20) - 0x80) >= 0x20);
require(var_b == var_b);
} else {
value22 = var_ai;
value23 = 0x60;
flag13 = var_ai;
}
flag9 = flag13;
} else {
value24 = 0x60;
flag9 = !success19;
}
require(!(flag9), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
} else {
if (!(returnData19.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData19.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData19.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData19.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
uint256 value27 = 0;
bool flag10;
if (success19) {
uint256 value25 = 0;
uint256 value26 = 0;
bool flag14 = !(var_c);
if (var_a.length != 0) {
require(((var_a + var_a.length) + 0x20) - (var_a + 0x20) >= 0x20);
require((!(!(var_c))) == var_c);
} else {
value25 = var_a.length;
value26 = var_a;
flag14 = var_a.length;
}
flag10 = flag14;
} else {
value27 = var_a;
flag10 = !success19;
}
require(!(flag10), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
}
require(success19);
if (0x20 <= returnData19.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData19.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData19.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
require(!(((var_a + returnData19.length) - var_a) < 0x20));
}
}
} else if (var_m) {
require(var_m <= 0x64, InvalidActionCount());
tstore_b = 0x01;
if (0 < var_m) {
require(0x17 <= var_l, DataTooShort());
uint256 value1 = (var_u >> 0xf0) & (0x7fff);
uint256 value2 = (var_u >> 0xf0) & (0x7fff);
if (0 != !(!((var_u >> 0xf0) & (0x4000)))) {
require((var_u >> 0xf0) & (0x8000), CustomError_41e8e806());
value1 = (var_u >> 0xf0) & (0x3fff);
value2 = (var_u >> 0xf0) & (0x3fff);
}
require(((0x01 + value1) + 0x16) <= var_l, DataTooShort());
uint256 value28 = 0;
if (!((var_u >> 0xf0) & (0x8000))) {
flag0 = !(!((var_u >> 0xf0) & (0x4000)));
}
if (!((SHR(0xf0, var_v) & 0x8000) != 0x0 && (SHR(0xf0, var_v) & 0x4000) != 0x0)) {
if (!(!(!((var_u >> 0xf0) & (0x8000))))) {
if (value2 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value2))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value2))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value2))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value2 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value2 + 0x1f) >> 0x05)) {
} else {
(bool success3, bytes memory returnData3) = address(var_x >> 0x60).Unknown_(var_y); // delegatecall
uint256 value3 = 0x60;
if ((returnData3.length) != 0x0) {
if (!(returnData3.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value3 = var_a;
}
if (!success3) {
require(var_z != 0x0, DelegatecallFailed());
revert();
}
}
} else {
if (value2 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value2))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value2))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value2))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value2 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value2 + 0x1f) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_x >> 0x60;
(bool success4, bytes memory returnData4) = address(var_x >> 0x60).call(""); // call
uint256 value4 = 0x60;
if ((returnData4.length) != 0x0) {
if (!(returnData4.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value4 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success4) {
require(var_aa != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
require(value2 >= 0x20, CustomError_f0777cc7());
if ((value2 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value2 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value2 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value2 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value2 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
var_c = msg.data[4:115792089237316195423570985008687907853269984665640564039457584007913129639908];
if (0 < ((value2 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_x >> 0x60;
(bool success5, bytes memory returnData5) = address(var_x >> 0x60).uWjK9{ value: var_ac }(address(this)); // call
uint256 value5 = 0x60;
if ((returnData5.length) != 0x0) {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value5 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success5) {
require(var_ad != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
uint256 value29 = 0;
uint256 value6 = 0;
uint256 value7 = 0;
if ((0x0 != 0x0) && (0x1 < var_l)) {
if (!((0x01 < var_ae))) _desolexPanic(50);
require((0x01 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_af >> 0xf8) * 0x58))) == var_l, DataTooShort());
} else {
flag3 = true;
value6 = var_a;
value7 = var_l;
}
tstore_b = 0;
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success6, bytes memory returnData6) = address(arg0 + 0x20).transfer(0xba1333333333a1ba1108e8412f11850a5c319ba9, ((arg0 + 0x20) + 0x20)); // call
if (returnData6.length == 0) {
if (!success6) {
require(success6, TransferFailed());
(bool success7, bytes memory returnData7) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
require(success7);
if (0x20 <= returnData7.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
var_a = var_a + 0x20;
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData7.length) - var_a) < 0x20));
}
if (!var_ai) {
(bool success8, bytes memory returnData8) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
require(success8);
if (0x20 <= returnData8.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
var_a = var_a + 0x20;
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData8.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData8.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData8.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData8.length) - var_a) < 0x20));
}
require((((0x60 + var_ai) + 0x20) - 0x80) >= 0x20);
require(var_b != 0x0 == var_b);
require(var_b != 0x0, TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
} else {
if (!(returnData6.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (!success6) {
require(success6, TransferFailed());
(bool success10, bytes memory returnData10) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
require(success10);
if (0x20 <= returnData10.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
var_a = var_a + 0x20;
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData10.length) - var_a) < 0x20));
}
if (var_a.length == 0) {
(bool success11, bytes memory returnData11) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
require(success11);
if (0x20 <= returnData11.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
var_a = var_a + 0x20;
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData11.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData11.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData11.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData11.length) - var_a) < 0x20));
}
require(((var_a + var_a.length) + 0x20) - (var_a + 0x20) >= 0x20);
require(var_c != 0x0 == var_c);
require(var_c != 0x0, TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
}
require(success6);
if (0x20 <= returnData6.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData6.length) - var_a) < 0x20));
}
} else {
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success1, bytes memory returnData1) = address(arg0 + 0x20).transfer(0xba1333333333a1ba1108e8412f11850a5c319ba9, ((arg0 + 0x20) + 0x20)); // call
if (returnData1.length != 0x0) {
if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (!success1) {
require(success1, TransferFailed());
(bool success2, bytes memory returnData2) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
require(success2);
if (0x20 <= returnData2.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
var_a = var_a + 0x20;
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData2.length) - var_a) < 0x20));
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
function Unknown_8a57589a(bytes memory arg0) public payable {
if (!(msg.value)) {
if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0x20) {
if (!(arg0.length > 0xffffffffffffffff)) {
require(((0x04 + arg0) + 0x1f) < msg.data.length);
require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);
if (msg.sender == 0xba1333333333a1ba1108e8412f11850a5c319ba9) {
uint256 value4 = 0;
uint256 var_a;
uint256 value5 = var_a;
uint256 value6 = var_a;
uint256 value7 = var_a;
uint256 value8 = var_a;
if ((arg0 + 0x20) == 0x80) {
require(((0x04 + arg0) + 0x20) + arg0 - ((0x04 + arg0) + 0x20) >= 0x80);
require((arg0 + 0x20) <= 0xffffffffffffffff);
require((((0x04 + arg0) + 0x20) + (arg0 + 0x20) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + (arg0 + 0x20) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + ((arg0 + 0x20) + (arg0 + 0x20) << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + ((arg0 + 0x20) + (arg0 + 0x20) << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + ((arg0 + 0x20) + (arg0 + 0x20) << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg0) + 0x20) + (arg0 + 0x20) + ((arg0 + 0x20) + (arg0 + 0x20) << 0x05) + 0x20) <= (((0x04 + arg0) + 0x20) + arg0));
uint256 value1 = var_a + 0x20;
uint256 value0 = 0x20 + (((0x04 + arg0) + 0x20) + (arg0 + 0x20));
while (true) {
if (value0 >= (((0x04 + arg0) + 0x20) + (arg0 + 0x20) + ((arg0 + 0x20) + (arg0 + 0x20) << 0x05) + 0x20)) {
break;
}
require((msg.data[value0] & 0xffffffffffffffffffffffffffffffffffffffff) == msg.data[value0]);
value1 = value1 + 0x20;
value0 = value0 + 0x20;
}
require(((arg0 + 0x20) + 0x20) <= 0xffffffffffffffff);
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x20) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + ((arg0 + 0x20) + 0x20) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x20) << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x20) << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x20) << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x20) << 0x05) + 0x20) <= (((0x04 + arg0) + 0x20) + arg0));
uint256 value3 = var_a + 0x20;
uint256 value2 = 0x20 + (((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x20));
while (true) {
if (value2 >= (((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x20) << 0x05) + 0x20)) {
break;
}
value3 = 0x20 + value3;
value2 = 0x20 + value2;
}
require(((arg0 + 0x20) + 0x40) <= 0xffffffffffffffff);
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x40) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x40) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x40)) <= (((0x04 + arg0) + 0x20) + arg0));
require(((arg0 + 0x20) + 0x60) <= 0xffffffffffffffff);
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x60) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x60) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60)) <= (((0x04 + arg0) + 0x20) + arg0));
} else {
value4 = arg0 + 0x20;
value5 = 0x60;
value6 = 0x60;
value7 = 0x60;
value8 = 0x60;
}
if (CALLDATALOAD(0x4 + arg0 + 0x20) == 0x80) {
if (0 >= var_h) {
if (var_i != 0x0) {
if (var_i != 0x0) {
if (!(bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_j >> 0xf8))) {
tstore_c = 0x01;
if (var_k >= 0x01) {
if (0 != (var_l == 0xff)) {
if (var_k >= 0x02) {
if (var_m != 0x0) {
if (var_m <= 0x64) {
uint256 value9 = 0;
uint256 value10 = 0x01;
while (true) {
tstore_b = 0x01;
if (value9 >= var_l) {
uint256 value11 = 0;
uint256 value12 = 0;
uint256 value13 = 0;
if ((0x1 != 0x0) && (value10 < var_k)) {
if (!(value10 < var_k)) _desolexPanic(50);
require((value10 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_n >> 0xf8) * 0x58))) == var_k, DataTooShort());
} else {
value11 = value10;
value12 = value6;
value13 = var_k;
}
uint256 value14 = 0;
while (true) {
tstore_b = 0;
tstore_c = 0;
if (value14 >= var_h) {
_desolexPanic(50);
break;
}
if (!(value14 < var_q)) {
_desolexPanic(50);
break;
}
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success0, bytes memory returnData0) = var_r.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(0xba1333333333a1ba1108e8412f11850a5c319ba9), var_s)); // call transfer
uint256 value15 = 0x60;
if ((returnData0.length) != 0x0) {
if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value15 = var_a;
}
uint256 value18 = 0;
bool flag2;
if (success0) {
uint256 value16 = 0;
uint256 value17 = 0;
bool flag13 = !(var_x);
if (var_y) {
require(((value15 + var_y) + 0x20) - (value15 + 0x20) >= 0x20);
require(var_x != 0x0 == var_x);
} else {
value16 = var_y;
value17 = value15;
flag13 = var_y;
}
flag2 = flag13;
} else {
value18 = value15;
flag2 = !success0;
}
require(!(flag2), TransferFailed());
if (!((value14 < var_z))) _desolexPanic(50);
if (!(value14 < var_q)) {
_desolexPanic(50);
break;
}
(bool success1, bytes memory returnData1) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(var_aa), var_s); // call
if (!success1) {
revert();
break;
}
if (success1) {
if (0x20 > returnData1.length) {
if (((var_a + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + returnData1.length) - var_a) < 0x20) {
revert();
break;
}
} else {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + 0x20;
if (((var_a + 0x20) - var_a) < 0x20) {
revert();
break;
}
}
}
value14 = value14 + 0x01;
}
}
}
}
}
}
}
}
} else {
require((0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_j >> 0xf8) * 0x58)) == var_i, DataTooShort());
uint256 value20 = 0x01;
uint256 value19 = 0;
while (true) {
if (value19 >= bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_j >> 0xf8)) {
break;
}
if (((var_a + ((((var_a + 0x80) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x80) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x80) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
transient_map_j[keccak256(abi.encode((var_ad >> 0x60), (var_af & (0xffffffff00000000000000000000000000000000000000000000000000000000)), (var_ah)))] = var_ai;
value20 = value20 + 0x58;
value19 = value19 + 0x01;
}
tstore_c = 0x01;
require(var_k >= 0x01, DataTooShort());
if (0 == (var_l == 0xff)) {
if (!(var_l)) {
uint256 value14 = 0;
while (true) {
tstore_c = 0;
if (!(value14 < var_h)) _desolexPanic(50);
if (!(value14 < var_q)) _desolexPanic(50);
var_u = 0xba1333333333a1ba1108e8412f11850a5c319ba9;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success2, bytes memory returnData2) = var_r.call(abi.encodeWithSelector(bytes4(0xa9059cbb), 0xba1333333333a1ba1108e8412f11850a5c319ba9, var_s)); // call transfer
uint256 value21 = 0x60;
if ((returnData2.length) != 0x0) {
if (returnData2.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value21 = var_a;
}
uint256 value24 = 0;
bool flag3;
if (success2) {
uint256 value22 = 0;
uint256 value23 = 0;
bool flag14 = !(var_ak);
if (var_aj) {
require(!(((value21 + var_aj) + 0x20) - (value21 + 0x20) < 0x20));
require(var_al != 0x0 == var_al);
} else {
value22 = var_aj;
value23 = value21;
flag14 = var_aj;
}
flag3 = flag14;
} else {
value24 = value21;
flag3 = !success2;
}
require(!(flag3), TransferFailed());
if (!(value14 < var_h)) _desolexPanic(50);
if (!(value14 < var_q)) _desolexPanic(50);
(bool success3, bytes memory returnData3) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(var_r), var_s); // call
if (!success3) {
revert();
break;
}
if (success3) {
if (0x20 > returnData3.length) {
if (((var_a + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + returnData3.length) - var_a) < 0x20) {
revert();
break;
}
} else {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + 0x20;
if (((var_a + 0x20) - var_a) < 0x20) {
revert();
break;
}
}
}
value14 = value14 + 0x01;
}
} else {
require(var_l <= 0x64, InvalidActionCount());
uint256 value9 = 0;
uint256 value10 = 0x01;
while (true) {
tstore_b = 0x01;
if (value9 >= var_l) {
break;
}
if ((value10 + 0x16) > var_k) {
revert DataTooShort();
break;
}
uint256 value25 = (var_am >> 0xf0) & (0x7fff);
uint256 value26 = (var_am >> 0xf0) & (0x7fff);
if (0 != !(!((var_am >> 0xf0) & (0x4000)))) {
require((var_am >> 0xf0) & (0x8000), CustomError_41e8e806());
value25 = (var_am >> 0xf0) & (0x3fff);
value26 = (var_am >> 0xf0) & (0x3fff);
}
if (((value10 + value25) + 0x16) > var_k) {
revert DataTooShort();
break;
}
uint256 value56 = 0;
if (!((var_am >> 0xf0) & (0x8000))) {
flag4 = !(!((var_am >> 0xf0) & (0x4000)));
}
if (!((SHR(0xf0, var_an) & 0x8000) != 0x0 && (SHR(0xf0, var_an) & 0x4000) != 0x0)) {
if (!(!(!((var_am >> 0xf0) & (0x8000))))) {
if (value26 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value26))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value26))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value26))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value26 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value27 = 0;
while (true) {
if (value27 >= ((value26 + 0x1f) >> 0x05)) {
break;
}
value27 = value27 + 0x01;
}
(bool success4, bytes memory returnData4) = address(var_ap >> 0x60).Unknown_(var_aq); // delegatecall
uint256 value28 = 0x60;
if ((returnData4.length) != 0x0) {
if (returnData4.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value28 = var_a;
}
if (!success4) {
require(var_ar != 0x0, DelegatecallFailed());
revert();
break;
}
} else {
if (value26 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value26))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value26))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value26))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value26 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value29 = 0;
while (true) {
if (value29 >= ((value26 + 0x1f) >> 0x05)) {
break;
}
value29 = value29 + 0x01;
}
tstore_c = 0;
tstore_a = var_ap >> 0x60;
(bool success5, bytes memory returnData5) = address(var_ap >> 0x60).call(""); // call
uint256 value30 = 0x60;
if ((returnData5.length) != 0x0) {
if (returnData5.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value30 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success5) {
require(var_at != 0x0, DelegatecallFailed());
revert();
break;
}
}
} else {
if (value26 < 0x20) {
revert CustomError_f0777cc7();
break;
}
if ((value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
uint256 value31 = 0;
while (true) {
if (value31 >= ((value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
break;
}
value31 = value31 + 0x01;
}
tstore_c = 0;
tstore_a = var_ap >> 0x60;
(bool success6, bytes memory returnData6) = address(var_ap >> 0x60).uWjK9{ value: var_av }(var_u); // call
uint256 value32 = 0x60;
if ((returnData6.length) != 0x0) {
if (returnData6.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value32 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success6) {
require(var_aw != 0x0, DelegatecallFailed());
revert();
break;
}
}
value9 = 0x01 + value9;
value10 = (value10 + value25) + 0x16;
}
uint256 value33 = 0;
uint256 value34 = 0;
uint256 value35 = 0;
if ((0x0 != 0x0) && (value10 < var_k)) {
if (!((value10 < var_ax))) _desolexPanic(50);
require((value10 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_ay >> 0xf8) * 0x58))) == var_k, DataTooShort());
} else {
value33 = value10;
value34 = value6;
value35 = var_k;
}
uint256 value14 = 0;
while (true) {
tstore_b = 0;
tstore_c = 0;
if (!(value14 < var_h)) _desolexPanic(50);
if (!(value14 < var_q)) _desolexPanic(50);
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success7, bytes memory returnData7) = var_r.call(abi.encodeWithSelector(bytes4(0xa9059cbb), 0xba1333333333a1ba1108e8412f11850a5c319ba9, var_s)); // call transfer
uint256 value36 = 0x60;
if ((returnData7.length) != 0x0) {
if (returnData7.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value36 = var_a;
}
uint256 value39 = 0;
bool flag7;
if (success7) {
uint256 value37 = 0;
uint256 value38 = 0;
bool flag15 = !(var_ba);
if (var_az) {
require(!(((value36 + var_az) + 0x20) - (value36 + 0x20) < 0x20));
require(var_al != 0x0 == var_al);
} else {
value37 = var_az;
value38 = value36;
flag15 = var_az;
}
flag7 = flag15;
} else {
value39 = value36;
flag7 = !success7;
}
require(!(flag7), TransferFailed());
if (!(value14 < var_h)) _desolexPanic(50);
if (!(value14 < var_q)) _desolexPanic(50);
(bool success8, bytes memory returnData8) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(var_r), var_s); // call
if (!success8) {
revert();
break;
}
if (success8) {
if (0x20 > returnData8.length) {
if (((var_a + ((returnData8.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData8.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData8.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + returnData8.length) - var_a) < 0x20) {
revert();
break;
}
} else {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + 0x20;
if (((var_a + 0x20) - var_a) < 0x20) {
revert();
break;
}
}
}
value14 = value14 + 0x01;
}
}
} else {
require(var_k >= 0x02, DataTooShort());
if (!(var_m)) {
uint256 value14 = 0;
while (true) {
tstore_c = 0;
if (value14 >= var_h) {
_desolexPanic(50);
break;
}
if (!(value14 < var_q)) {
_desolexPanic(50);
break;
}
var_u = address(0xba1333333333a1ba1108e8412f11850a5c319ba9);
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success9, bytes memory returnData9) = var_r.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(0xba1333333333a1ba1108e8412f11850a5c319ba9), var_s)); // call transfer
uint256 value40 = 0x60;
if ((returnData9.length) != 0x0) {
if (returnData9.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value40 = var_a;
}
uint256 value43 = 0;
bool flag8;
if (success9) {
uint256 value41 = 0;
uint256 value42 = 0;
bool flag16 = !(var_bb);
if (var_bc) {
require(((value40 + var_bc) + 0x20) - (value40 + 0x20) >= 0x20);
require(var_bb != 0x0 == var_bb);
} else {
value41 = var_bc;
value42 = value40;
flag16 = var_bc;
}
flag8 = flag16;
} else {
value43 = value40;
flag8 = !success9;
}
require(!(flag8), TransferFailed());
if (!((value14 < var_z))) _desolexPanic(50);
if (!(value14 < var_q)) {
_desolexPanic(50);
break;
}
(bool success10, bytes memory returnData10) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(var_aa), var_s); // call
if (!success10) {
revert();
break;
}
if (success10) {
if (0x20 > returnData10.length) {
if (((var_a + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + returnData10.length) - var_a) < 0x20) {
revert();
break;
}
} else {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + 0x20;
if (((var_a + 0x20) - var_a) < 0x20) {
revert();
break;
}
}
}
value14 = value14 + 0x01;
}
} else {
require(var_m <= 0x64, InvalidActionCount());
uint256 value9 = 0;
uint256 value10 = 0x01;
while (true) {
tstore_b = 0x01;
if (value9 >= var_l) {
break;
}
if ((value10 + 0x16) > var_k) {
revert DataTooShort();
break;
}
uint256 value44 = (var_am >> 0xf0) & (0x7fff);
uint256 value45 = (var_am >> 0xf0) & (0x7fff);
if (0 != !(!((var_am >> 0xf0) & (0x4000)))) {
require((var_am >> 0xf0) & (0x8000), CustomError_41e8e806());
value44 = (var_am >> 0xf0) & (0x3fff);
value45 = (var_am >> 0xf0) & (0x3fff);
}
if (((value10 + value44) + 0x16) > var_k) {
revert DataTooShort();
break;
}
uint256 value57 = 0;
if (!((var_am >> 0xf0) & (0x8000))) {
flag9 = !(!((var_am >> 0xf0) & (0x4000)));
}
if (!((SHR(0xf0, var_an) & 0x8000) != 0x0 && (SHR(0xf0, var_an) & 0x4000) != 0x0)) {
if (!(!(!((var_am >> 0xf0) & (0x8000))))) {
if (value45 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value45))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value45))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value45))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value45 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value27 = 0;
while (true) {
if (value27 >= ((value26 + 0x1f) >> 0x05)) {
break;
}
value27 = value27 + 0x01;
}
(bool success11, bytes memory returnData11) = address(var_ap >> 0x60).Unknown_(var_bd); // delegatecall
uint256 value46 = 0x60;
if ((returnData11.length) != 0x0) {
if (returnData11.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value46 = var_a;
}
if (!success11) {
require(var_be != 0x0, DelegatecallFailed());
revert();
break;
}
} else {
if (value45 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value45))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value45))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value45))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value45 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value29 = 0;
while (true) {
if (value29 >= ((value26 + 0x1f) >> 0x05)) {
break;
}
value29 = value29 + 0x01;
}
tstore_c = 0;
tstore_a = var_ap >> 0x60;
(bool success12, bytes memory returnData12) = address(var_ap >> 0x60).call(""); // call
uint256 value47 = 0x60;
if ((returnData12.length) != 0x0) {
if (returnData12.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value47 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success12) {
require(var_bf != 0x0, DelegatecallFailed());
revert();
break;
}
}
} else {
if (value45 < 0x20) {
revert CustomError_f0777cc7();
break;
}
if ((value45 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value45 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value45 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value45 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value45 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
uint256 value31 = 0;
while (true) {
if (value31 >= ((value26 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
break;
}
value31 = value31 + 0x01;
}
tstore_c = 0;
tstore_a = var_ap >> 0x60;
(bool success13, bytes memory returnData13) = address(var_ap >> 0x60).uWjK9{ value: var_av }(var_u); // call
uint256 value48 = 0x60;
if ((returnData13.length) != 0x0) {
if (returnData13.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value48 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success13) {
require(var_bg != 0x0, DelegatecallFailed());
revert();
break;
}
}
value9 = 0x01 + value9;
value10 = (value10 + value44) + 0x16;
}
uint256 value49 = 0;
uint256 value50 = 0;
uint256 value51 = 0;
if ((0x1 != 0x0) && (value10 < var_k)) {
if (!(value10 < var_k)) _desolexPanic(50);
require((value10 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_n >> 0xf8) * 0x58))) == var_k, DataTooShort());
} else {
value49 = value10;
value50 = value6;
value51 = var_k;
}
uint256 value14 = 0;
while (true) {
tstore_b = 0;
tstore_c = 0;
if (value14 >= var_h) {
_desolexPanic(50);
break;
}
if (!(value14 < var_q)) {
_desolexPanic(50);
break;
}
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success14, bytes memory returnData14) = var_r.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(0xba1333333333a1ba1108e8412f11850a5c319ba9), var_s)); // call transfer
uint256 value52 = 0x60;
if ((returnData14.length) != 0x0) {
if (returnData14.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value52 = var_a;
}
uint256 value55 = 0;
bool flag12;
if (success14) {
uint256 value53 = 0;
uint256 value54 = 0;
bool flag17 = !(var_bh);
if (var_bi) {
require(((value52 + var_bi) + 0x20) - (value52 + 0x20) >= 0x20);
require(var_bh != 0x0 == var_bh);
} else {
value53 = var_bi;
value54 = value52;
flag17 = var_bi;
}
flag12 = flag17;
} else {
value55 = value52;
flag12 = !success14;
}
require(!(flag12), TransferFailed());
if (!((value14 < var_z))) _desolexPanic(50);
if (!(value14 < var_q)) {
_desolexPanic(50);
break;
}
(bool success15, bytes memory returnData15) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(var_aa), var_s); // call
if (!success15) {
revert();
break;
}
if (success15) {
if (0x20 > returnData15.length) {
if (((var_a + ((returnData15.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData15.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + ((returnData15.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + returnData15.length) - var_a) < 0x20) {
revert();
break;
}
} else {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) {
_desolexPanic(65);
break;
}
var_a = var_a + 0x20;
if (((var_a + 0x20) - var_a) < 0x20) {
revert();
break;
}
}
}
value14 = value14 + 0x01;
}
}
}
}
}
}
}
}
}
}
}
}
}
function Unknown_7466e8ff(bytes memory arg0) public {
require(((0x04 + arg0) + 0x1f) < msg.data.length);
require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);
require(msg.sender == 0xba1333333333a1ba1108e8412f11850a5c319ba9, "!vault");
require(((0x04 + arg0) + 0x20) + arg0 - ((0x04 + arg0) + 0x20) >= 0x80);
require(address(arg0 + 0x20) == (arg0 + 0x20));
require(((arg0 + 0x20) + 0x60) <= 0xffffffffffffffff);
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x60) + 0x1f) < (((0x04 + arg0) + 0x20) + arg0));
if ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60) > 0xffffffffffffffff) _desolexPanic(65);
uint256 var_a;
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg0) + 0x20) + ((arg0 + 0x20) + 0x60) + 0x20) + ((arg0 + 0x20) + ((arg0 + 0x20) + 0x60)) <= (((0x04 + arg0) + 0x20) + arg0));
var_c = msg.data[68:68];
if (!(!((arg0 + 0x20) + 0x20))) {
require(0xba1333333333a1ba1108e8412f11850a5c319ba9.code.length != 0x0);
(bool success0, bytes memory returnData0) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).sendTo(address(arg0 + 0x20), address(this), ((arg0 + 0x20) + 0x20)); // call
require(success0);
uint256 value0 = 0;
if (success0) {
if (((var_a + 0) > 0xffffffffffffffff) | ((var_a + 0) < var_a)) _desolexPanic(65);
var_a = var_a + 0;
require((var_a - var_a) >= 0);
} else {
value0 = var_a;
}
}
if (((arg0 + 0x20) + 0x40) != 0x0) {
tstore_d = 0x02;
require(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb.code.length != 0x0);
(bool success1, bytes memory returnData1) = address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb).flashLoan(address(arg0 + 0x20), ((arg0 + 0x20) + 0x40), 0x60); // call
require(success1);
uint256 value1 = 0;
if (success1) {
if (((var_a + 0) > 0xffffffffffffffff) | ((var_a + 0) < var_a)) _desolexPanic(65);
var_a = var_a + 0;
require((var_a - var_a) >= 0);
} else {
value1 = var_a;
}
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success2, bytes memory returnData2) = address(arg0 + 0x20).transfer(address(0xba1333333333a1ba1108e8412f11850a5c319ba9), ((arg0 + 0x20) + 0x20)); // call
uint256 value2 = 0x60;
if ((returnData2.length) != 0x0) {
if (returnData2.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value2 = var_a;
}
uint256 value5 = 0;
bool flag0;
if (success2) {
uint256 value3 = 0;
uint256 value4 = 0;
bool flag15 = !(var_m);
if (var_n) {
require(((value2 + var_n) + 0x20) - (value2 + 0x20) >= 0x20);
require(var_m != 0x0 == var_m);
} else {
value3 = var_n;
value4 = value2;
flag15 = var_n;
}
flag0 = flag15;
} else {
value5 = value2;
flag0 = !success2;
}
require(!(flag0), TransferFailed());
(bool success3, bytes memory returnData3) = address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
require(success3);
if (0x20 <= returnData3.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
var_a = var_a + 0x20;
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData3.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + returnData3.length) - var_a) < 0x20));
}
tstore_c = 0x01;
require(var_a.length >= 0x01, DataTooShort());
if (0 == (var_c == 0xff)) {
if (var_c == 0) {
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success4, bytes memory returnData4) = address(arg0 + 0x20).transfer(0xba1333333333a1ba1108e8412f11850a5c319ba9, ((arg0 + 0x20) + 0x20)); // call
uint256 value6 = 0x60;
if ((returnData4.length) != 0x0) {
if (returnData4.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value6 = var_a;
}
uint256 value9 = 0;
bool flag1;
if (success4) {
uint256 value7 = 0;
uint256 value8 = 0;
bool flag11 = !(var_s);
if (var_r != 0) {
require(!(((value6 + var_r) + 0x20) - (value6 + 0x20) < 0x20));
require(var_t != 0x0 == var_t);
} else {
value7 = var_r;
value8 = value6;
flag11 = var_r;
}
flag1 = flag11;
} else {
value9 = value6;
flag1 = !success4;
}
require(!(flag1), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
} else {
require(var_c <= 0x64, InvalidActionCount());
uint256 value10 = 0;
uint256 value11 = 0x01;
while (true) {
tstore_b = 0x01;
if (value10 >= var_c) {
break;
}
if ((value11 + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value12 = (var_v >> 0xf0) & (0x7fff);
uint256 value13 = (var_v >> 0xf0) & (0x7fff);
if (0 != !(!((var_v >> 0xf0) & (0x4000)))) {
require((var_v >> 0xf0) & (0x8000), CustomError_41e8e806());
value12 = (var_v >> 0xf0) & (0x3fff);
value13 = (var_v >> 0xf0) & (0x3fff);
}
if (((value11 + value12) + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value43 = 0;
bool flag3 = !(!((var_v >> 0xf0) & (0x4000)));
if (!((var_v >> 0xf0) & (0x8000))) {
flag2 = !(!((var_v >> 0xf0) & (0x4000)));
flag3 = !(!((var_v >> 0xf0) & (0x8000)));
}
if (!flag3) {
if (!(!(!((var_v >> 0xf0) & (0x8000))))) {
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value14 = 0;
while (true) {
if (value14 >= ((value13 + 0x1f) >> 0x05)) {
break;
}
value14 = value14 + 0x01;
}
(bool success6, bytes memory returnData6) = address(var_x >> 0x60).Unknown_(var_y); // delegatecall
uint256 value15 = 0x60;
if ((returnData6.length) != 0x0) {
if (returnData6.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value15 = var_a;
}
if (!success6) {
require(var_z != 0x0, DelegatecallFailed());
revert();
break;
}
} else {
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value13))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value13 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value16 = 0;
while (true) {
if (value16 >= ((value13 + 0x1f) >> 0x05)) {
break;
}
value16 = value16 + 0x01;
}
tstore_c = 0;
tstore_a = var_x >> 0x60;
(bool success7, bytes memory returnData7) = address(var_x >> 0x60).call(""); // call
uint256 value17 = 0x60;
if ((returnData7.length) != 0x0) {
if (returnData7.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value17 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success7) {
require(var_ab != 0x0, DelegatecallFailed());
revert();
break;
}
}
} else {
if (value13 < 0x20) {
revert CustomError_f0777cc7();
break;
}
if ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
var_c = msg.data[4:115792089237316195423570985008687907853269984665640564039457584007913129639908];
uint256 value18 = 0;
while (true) {
if (value18 >= ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
break;
}
value18 = value18 + 0x01;
}
tstore_c = 0;
tstore_a = var_x >> 0x60;
(bool success8, bytes memory returnData8) = address(var_x >> 0x60).adfepixw{ value: var_ad }(); // call
uint256 value19 = 0x60;
if ((returnData8.length) != 0x0) {
if (returnData8.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value19 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success8) {
require(var_ae != 0x0, DelegatecallFailed());
revert();
break;
}
}
value10 = 0x01 + value10;
value11 = (value11 + value12) + 0x16;
}
uint256 value20 = 0;
uint256 value21 = 0;
uint256 value22 = 0;
if ((0x0 != 0x0) && (value11 < var_af)) {
if (!((value11 < var_ag))) _desolexPanic(50);
require((value11 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_ah >> 0xf8) * 0x58))) == var_a.length, DataTooShort());
} else {
value20 = value11;
value21 = var_a;
value22 = var_a.length;
}
tstore_b = 0;
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success9, bytes memory returnData9) = address(arg0 + 0x20).transfer(0xba1333333333a1ba1108e8412f11850a5c319ba9, ((arg0 + 0x20) + 0x20)); // call
uint256 value23 = 0x60;
if ((returnData9.length) != 0x0) {
if (returnData9.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value23 = var_a;
}
uint256 value26 = 0;
bool flag5;
if (success9) {
uint256 value24 = 0;
uint256 value25 = 0;
bool flag12 = !(var_aj);
if (var_ai) {
require(!(((value23 + var_ai) + 0x20) - (value23 + 0x20) < 0x20));
require(var_t != 0x0 == var_t);
} else {
value24 = var_ai;
value25 = value23;
flag12 = var_ai;
}
flag5 = flag12;
} else {
value26 = value23;
flag5 = !success9;
}
require(!(flag5), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
}
require(success);
if (0x20 <= ret0.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
} else {
require(var_a.length >= 0x02, DataTooShort());
if (!(var_ak)) {
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success11, bytes memory returnData11) = address(arg0 + 0x20).transfer(address(0xba1333333333a1ba1108e8412f11850a5c319ba9), ((arg0 + 0x20) + 0x20)); // call
uint256 value27 = 0x60;
if ((returnData11.length) != 0x0) {
if (returnData11.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value27 = var_a;
}
uint256 value30 = 0;
bool flag6;
if (success11) {
uint256 value28 = 0;
uint256 value29 = 0;
bool flag13 = !(var_al);
if (var_am) {
require(((value27 + var_am) + 0x20) - (value27 + 0x20) >= 0x20);
require(var_al != 0x0 == var_al);
} else {
value28 = var_am;
value29 = value27;
flag13 = var_am;
}
flag6 = flag13;
} else {
value30 = value27;
flag6 = !success11;
}
require(!(flag6), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
} else {
require(var_ak <= 0x64, InvalidActionCount());
uint256 value10 = 0;
uint256 value11 = 0x01;
while (true) {
tstore_b = 0x01;
if (value10 >= var_c) {
break;
}
if ((value11 + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value31 = (var_v >> 0xf0) & (0x7fff);
uint256 value32 = (var_v >> 0xf0) & (0x7fff);
if (0 != !(!((var_v >> 0xf0) & (0x4000)))) {
require((var_v >> 0xf0) & (0x8000), CustomError_41e8e806());
value31 = (var_v >> 0xf0) & (0x3fff);
value32 = (var_v >> 0xf0) & (0x3fff);
}
if (((value11 + value31) + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value44 = 0;
bool flag8 = !(!((var_v >> 0xf0) & (0x4000)));
if (!((var_v >> 0xf0) & (0x8000))) {
flag7 = !(!((var_v >> 0xf0) & (0x4000)));
flag8 = !(!((var_v >> 0xf0) & (0x8000)));
}
if (!flag8) {
if (!(!(!((var_v >> 0xf0) & (0x8000))))) {
if (value32 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value32))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value32))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value32))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value32 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value14 = 0;
while (true) {
if (value14 >= ((value13 + 0x1f) >> 0x05)) {
break;
}
value14 = value14 + 0x01;
}
(bool success13, bytes memory returnData13) = address(var_x >> 0x60).Unknown_(var_an); // delegatecall
uint256 value33 = 0x60;
if ((returnData13.length) != 0x0) {
if (returnData13.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value33 = var_a;
}
if (!success13) {
require(var_ao != 0x0, DelegatecallFailed());
revert();
break;
}
} else {
if (value32 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value32))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value32))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value32))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value32 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value16 = 0;
while (true) {
if (value16 >= ((value13 + 0x1f) >> 0x05)) {
break;
}
value16 = value16 + 0x01;
}
tstore_c = 0;
tstore_a = var_x >> 0x60;
(bool success14, bytes memory returnData14) = address(var_x >> 0x60).call(""); // call
uint256 value34 = 0x60;
if ((returnData14.length) != 0x0) {
if (returnData14.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value34 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success14) {
require(var_ap != 0x0, DelegatecallFailed());
revert();
break;
}
}
} else {
if (value32 < 0x20) {
revert CustomError_f0777cc7();
break;
}
if ((value32 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value32 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value32 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value32 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value32 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
uint256 value18 = 0;
while (true) {
if (value18 >= ((value13 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
break;
}
value18 = value18 + 0x01;
}
tstore_c = 0;
tstore_a = var_x >> 0x60;
(bool success15, bytes memory returnData15) = address(var_x >> 0x60).adfepixw{ value: var_ad }(); // call
uint256 value35 = 0x60;
if ((returnData15.length) != 0x0) {
if (returnData15.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value35 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success15) {
require(var_aq != 0x0, DelegatecallFailed());
revert();
break;
}
}
value10 = 0x01 + value10;
value11 = (value11 + value31) + 0x16;
}
uint256 value36 = 0;
uint256 value37 = 0;
uint256 value38 = 0;
if ((0x1 != 0x0) && (value11 < var_af)) {
if (!(value11 < var_a.length)) _desolexPanic(50);
require((value11 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_ar >> 0xf8) * 0x58))) == var_a.length, DataTooShort());
} else {
value36 = value11;
value37 = var_a;
value38 = var_a.length;
}
tstore_b = 0;
tstore_c = 0;
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success16, bytes memory returnData16) = address(arg0 + 0x20).transfer(address(0xba1333333333a1ba1108e8412f11850a5c319ba9), ((arg0 + 0x20) + 0x20)); // call
uint256 value39 = 0x60;
if ((returnData16.length) != 0x0) {
if (returnData16.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value39 = var_a;
}
uint256 value42 = 0;
bool flag10;
if (success16) {
uint256 value40 = 0;
uint256 value41 = 0;
bool flag14 = !(var_as);
if (var_at) {
require(((value39 + var_at) + 0x20) - (value39 + 0x20) >= 0x20);
require(var_as != 0x0 == var_as);
} else {
value40 = var_at;
value41 = value39;
flag14 = var_at;
}
flag10 = flag14;
} else {
value42 = value39;
flag10 = !success16;
}
require(!(flag10), TransferFailed());
address(0xba1333333333a1ba1108e8412f11850a5c319ba9).settle(address(arg0 + 0x20), ((arg0 + 0x20) + 0x20)); // call
}
require(success);
if (0x20 <= ret0.length) {
if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);
require(!(((var_a + 0x20) - var_a) < 0x20));
}
if (((var_a + ((ret0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((ret0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
}
require(!(((var_a + ret0.length) - var_a) < 0x20));
}
function Unknown_728260d0(uint256 arg0) public onlyOwner {
require(!(arg0 >= 0x0 && arg0 > 0x2710 || arg0 < 0x0), CustomError_27b29e2a());
emit Event_0ef662bd(unresolved_d9dddc1b, arg0);
unresolved_d9dddc1b = arg0;
}
function Unknown_3a77b95e(bytes memory arg0) public payable returns (uint256) {
if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0x20) {
if (!(arg0.length > 0xffffffffffffffff)) {
require(((0x04 + arg0) + 0x1f) < msg.data.length);
require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);
if (whitelist[msg.sender]) {
if (!(arg0.length < 0x01)) {
if (!(BYTE(0x0, CALLDATALOAD(0x4 + arg0 + 0x20)) != 0x0 && BYTE(0x0, CALLDATALOAD(0x4 + arg0 + 0x20)) > 0x20 || BYTE(0x0, CALLDATALOAD(0x4 + arg0 + 0x20)) == 0x0)) {
if (0 >= (arg0 + 0x20)) {
if (!(0x06 > arg0.length)) {
if (0x06 <= ((0x01 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x05)) {
if (((0x01 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x05) <= arg0) {
if (0x06 <= (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) {
if (0x06 <= (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) {
if ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) <= arg0) {
if (bytes1((arg0 + 0x20) + 0x01)) {
if (bytes1((arg0 + 0x20) + 0x01) != 0x01) {
if (0x02 == (bytes1((arg0 + 0x20) + 0x01))) {
if (((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) - 0x06) >= 0x01) {
tstore_c = 0x01;
if (((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) - 0x06) > 0xffffffffffffffff) _desolexPanic(65);
uint256 var_c;
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) - 0x06)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) - 0x06)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) - 0x06)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (!((0x06 + ((0x04 + arg0) + 0x20)) + ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) - 0x06) > msg.data.length)) {
var_e = msg.data[42:42];
if (var_c.length >= 0x01) {
if (0 != (var_e == 0xff)) {
if (var_c.length >= 0x02) {
if (!(var_g)) {
tstore_c = 0;
(bool success0, bytes memory returnData0) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).balanceOf(address(this)); // staticcall
if (success0) {
uint256 value0 = 0;
uint256 value1;
if (success0) {
uint256 value24 = var_c.length;
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 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
value24 = var_j;
}
value1 = value24;
} else {
value0 = var_c;
value1 = 0;
}
if (value1 > 0x1) {
if (0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.code.length != 0x0) {
(bool success1, bytes memory returnData1) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).withdraw(value1 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
if (success1) {
if (success1) {
if (!(((var_c + 0) > 0xffffffffffffffff) | ((var_c + 0) < var_c))) {
var_c = var_c + 0;
if ((var_c - var_c) >= 0) {
if (0x06 <= (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) {
if ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) <= ((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21)) {
if (((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0) {
if (((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0) {
if (arg0 <= arg0) {
if (address(this).balance > 0x01) {
if ((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) {
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 == 0) {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
} else {
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
}
}
}
}
}
}
}
}
}
}
} else {
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0, DataTooShort());
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if ((((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) != 0x0) {
(bool success3, bytes memory returnData3) = address(block.coinbase).call{ value: ((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 }(""); // call
uint256 value2 = 0x60;
if ((returnData3.length) != 0x0) {
if (returnData3.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value2 = var_c;
}
} else {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
(bool success4, bytes memory returnData4) = address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
uint256 value3 = 0x60;
if ((returnData4.length) != 0x0) {
if (returnData4.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value3 = var_c;
}
require(success4, TransferFailed());
}
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
}
}
}
} else {
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0, DataTooShort());
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if ((((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) != 0x0) {
(bool success5, bytes memory returnData5) = address(block.coinbase).call{ value: ((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 }(""); // call
uint256 value4 = 0x60;
if ((returnData5.length) != 0x0) {
if (returnData5.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value4 = var_c;
}
} else {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
(bool success6, bytes memory returnData6) = address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
uint256 value5 = 0x60;
if ((returnData6.length) != 0x0) {
if (returnData6.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData6.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value5 = var_c;
}
require(success6, TransferFailed());
}
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
}
}
} else {
require(var_g <= 0x64, InvalidActionCount());
tstore_b = 0x01;
if (0 < var_g) {
require(0x18 <= var_c.length, DataTooShort());
uint256 value6 = (var_m >> 0xf0) & (0x7fff);
uint256 value7 = (var_m >> 0xf0) & (0x7fff);
if (0 != !(!((var_m >> 0xf0) & (0x4000)))) {
require((var_m >> 0xf0) & (0x8000), CustomError_41e8e806());
value6 = (var_m >> 0xf0) & (0x3fff);
value7 = (var_m >> 0xf0) & (0x3fff);
}
require(((0x02 + value6) + 0x16) <= var_c.length, DataTooShort());
uint256 value25 = 0;
bool flag2 = !(!((var_m >> 0xf0) & (0x4000)));
if (!((var_m >> 0xf0) & (0x8000))) {
flag1 = !(!((var_m >> 0xf0) & (0x4000)));
flag2 = !(!((var_m >> 0xf0) & (0x8000)));
}
if (!flag2) {
if (!(!(!((var_m >> 0xf0) & (0x8000))))) {
if (value7 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value7))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value7))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value7))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value7 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value7 + 0x1f) >> 0x05)) {
} else {
(bool success7, bytes memory returnData7) = address(var_o >> 0x60).Unknown_(var_p); // delegatecall
uint256 value8 = 0x60;
if ((returnData7.length) != 0x0) {
if (returnData7.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value8 = var_c;
}
if (!success7) {
require(var_q != 0x0, DelegatecallFailed());
revert();
}
}
} else {
if (value7 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value7))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value7))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value7))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value7 > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value7 + 0x1f) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_o >> 0x60;
(bool success8, bytes memory returnData8) = address(var_o >> 0x60).call(""); // call
uint256 value9 = 0x60;
if ((returnData8.length) != 0x0) {
if (returnData8.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value9 = var_c;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success8) {
require(var_r != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
require(value7 >= 0x20, CustomError_f0777cc7());
if ((value7 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value7 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value7 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value7 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value7 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (0 < ((value7 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
} else {
tstore_c = 0;
tstore_a = var_o >> 0x60;
(bool success9, bytes memory returnData9) = address(var_o >> 0x60).adfepixw{ value: var_t }(); // call
uint256 value10 = 0x60;
if ((returnData9.length) != 0x0) {
if (returnData9.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value10 = var_c;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success9) {
require(var_u != 0x0, DelegatecallFailed());
revert();
}
}
}
} else {
uint256 value11 = 0;
uint256 value12 = 0;
uint256 value13 = 0;
if ((0x1 != 0x0) && (0x2 < var_v)) {
if (!((0x02 < var_w))) _desolexPanic(50);
require((0x02 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_x >> 0xf8) * 0x58))) == var_c.length, DataTooShort());
} else {
value11 = 0x02;
value12 = var_c;
value13 = var_c.length;
}
tstore_b = 0;
tstore_c = 0;
(bool success10, bytes memory returnData10) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).balanceOf(address(this)); // staticcall
require(success10);
uint256 value14 = 0;
uint256 value15;
if (success10) {
uint256 value30 = var_c.length;
if (0x20 > returnData10.length) {
if (((var_c + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((returnData10.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + returnData10.length) - var_c) >= 0x20);
} else {
if (((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_c + 0x20) - var_c) < 0x20));
value30 = var_j;
}
value15 = value30;
} else {
value14 = var_c;
value15 = 0;
}
if (value15 > 0x1) {
require(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2.code.length != 0x0);
(bool success11, bytes memory returnData11) = address(0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2).withdraw(value15 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
require(success11);
if (success11) {
if (((var_c + 0) > 0xffffffffffffffff) | ((var_c + 0) < var_c)) _desolexPanic(65);
var_c = var_c + 0;
require((var_c - var_c) >= 0);
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0, DataTooShort());
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if ((((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) != 0x0) {
(bool success12, bytes memory returnData12) = address(block.coinbase).call{ value: ((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 }(""); // call
uint256 value16 = 0x60;
if ((returnData12.length) != 0x0) {
if (returnData12.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value16 = var_c;
}
} else {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
(bool success13, bytes memory returnData13) = address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
uint256 value17 = 0x60;
if ((returnData13.length) != 0x0) {
if (returnData13.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData13.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value17 = var_c;
}
require(success13, TransferFailed());
}
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
} else {
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0, DataTooShort());
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if ((((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) != 0x0) {
(bool success14, bytes memory returnData14) = address(block.coinbase).call{ value: ((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 }(""); // call
uint256 value18 = 0x60;
if ((returnData14.length) != 0x0) {
if (returnData14.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value18 = var_c;
}
} else {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
(bool success15, bytes memory returnData15) = address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
uint256 value19 = 0x60;
if ((returnData15.length) != 0x0) {
if (returnData15.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value19 = var_c;
}
require(success15, TransferFailed());
}
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
}
} else {
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0, DataTooShort());
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if ((((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) != 0x0) {
(bool success16, bytes memory returnData16) = address(block.coinbase).call{ value: ((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 }(""); // call
uint256 value20 = 0x60;
if ((returnData16.length) != 0x0) {
if (returnData16.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value20 = var_c;
}
} else {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
(bool success17, bytes memory returnData17) = address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
uint256 value21 = 0x60;
if ((returnData17.length) != 0x0) {
if (returnData17.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData17.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData17.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData17.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value21 = var_c;
}
require(success17, TransferFailed());
}
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
}
}
}
}
}
}
}
}
} else {
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0, DataTooShort());
require(((0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x21) <= arg0);
require(arg0 <= arg0);
require((address(this).balance > 0x01), InsufficientProfit());
require((address(this).balance + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) > ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))), InsufficientProfit());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
} else {
require(((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20) <= 0x64, CustomError_27b29e2a());
if (!((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)) + 0x20)) {
require(unresolved_d9dddc1b >= 0, CustomError_27b29e2a());
}
}
if ((((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) != 0x0) {
(bool success18, bytes memory returnData18) = address(block.coinbase).call{ value: ((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710 }(""); // call
uint256 value22 = 0x60;
if ((returnData18.length) != 0x0) {
if (returnData18.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData18.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData18.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData18.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value22 = var_c;
}
} else {
if ((address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) != 0x0) {
(bool success19, bytes memory returnData19) = address(msg.sender).call{ value: (address(this).balance - (((address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) * unresolved_d9dddc1b) / 0x2710)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff }(""); // call
uint256 value23 = 0x60;
if ((returnData19.length) != 0x0) {
if (returnData19.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData19.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData19.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData19.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value23 = var_c;
}
require(success19, TransferFailed());
}
return (address(this).balance - ((arg0 + 0x20) + (0x06 + ((((arg0 + 0x20) + 0x01) + 0x01) >> 0xe0)))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
function onMorphoFlashLoan(uint256 arg0, bytes memory arg1) public payable {
if (!(msg.value)) {
if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0x40) {
if (!(arg1.length > 0xffffffffffffffff)) {
if (((0x04 + arg1) + 0x1f) < msg.data.length) {
if (!(arg1.length > 0xffffffffffffffff)) {
if (((0x04 + arg1) + arg1 + 0x20) <= msg.data.length) {
if (msg.sender == 0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb) {
tstore_c = 0x01;
if (!(tstore_d)) {
if (((0x04 + arg1) + 0x20) + arg1 - ((0x04 + arg1) + 0x20) >= 0x60) {
require(address(arg1 + 0x20) == (arg1 + 0x20));
if (((arg1 + 0x20) + 0x40) <= 0xffffffffffffffff) {
if ((((0x04 + arg1) + 0x20) + ((arg1 + 0x20) + 0x40) + 0x1f) < (((0x04 + arg1) + 0x20) + arg1)) {
if ((arg1 + 0x20) + ((arg1 + 0x20) + 0x40) > 0xffffffffffffffff) _desolexPanic(65);
uint256 var_a;
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg1 + 0x20) + ((arg1 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg1 + 0x20) + ((arg1 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg1 + 0x20) + ((arg1 + 0x20) + 0x40))))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require((((0x04 + arg1) + 0x20) + ((arg1 + 0x20) + 0x40) + 0x20) + ((arg1 + 0x20) + ((arg1 + 0x20) + 0x40)) <= (((0x04 + arg1) + 0x20) + arg1));
var_c = msg.data[68:68];
if (var_a.length >= 0x01) {
if (0 == (var_c == 0xff)) {
if (var_c != 0x0) {
if (var_c <= 0x64) {
uint256 value0 = 0;
uint256 value1 = 0x01;
while (true) {
tstore_b = 0x01;
if (value0 >= var_c) {
break;
}
if ((value1 + 0x16) > var_a.length) {
break;
}
uint256 value2 = (var_e >> 0xf0) & (0x7fff);
uint256 value3 = (var_e >> 0xf0) & (0x7fff);
if (0 != !(!((var_e >> 0xf0) & (0x4000)))) {
require((var_e >> 0xf0) & (0x8000), CustomError_41e8e806());
value2 = (var_e >> 0xf0) & (0x3fff);
value3 = (var_e >> 0xf0) & (0x3fff);
}
if (((value1 + value2) + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value89 = 0;
bool flag1 = !(!((var_e >> 0xf0) & (0x4000)));
if (!((var_e >> 0xf0) & (0x8000))) {
flag0 = !(!((var_e >> 0xf0) & (0x4000)));
flag1 = !(!((var_e >> 0xf0) & (0x8000)));
}
if (!flag1) {
if (!(!(!((var_e >> 0xf0) & (0x8000))))) {
if (value3 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value3))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value3))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value3))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value3 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value4 = 0;
while (true) {
}
break;
}
if (value3 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value3))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value3))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value3))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value3 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value6 = 0;
while (true) {
if (value6 >= ((value3 + 0x1f) >> 0x05)) {
break;
}
value6 = value6 + 0x01;
}
tstore_c = 0;
tstore_a = var_i >> 0x60;
(bool success0, bytes memory returnData0) = address(var_i >> 0x60).call(""); // call
uint256 value7 = 0x60;
if ((returnData0.length) != 0x0) {
if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value7 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success0) {
require(var_j != 0x0, DelegatecallFailed());
revert();
break;
}
} else {
if (value3 < 0x20) {
revert CustomError_f0777cc7();
break;
}
if ((value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
var_c = msg.data[4:115792089237316195423570985008687907853269984665640564039457584007913129639908];
uint256 value8 = 0;
while (true) {
if (value8 >= ((value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
break;
}
value8 = value8 + 0x01;
}
tstore_c = 0;
tstore_a = var_i >> 0x60;
(bool success1, bytes memory returnData1) = address(var_i >> 0x60).adfepixw{ value: var_l }(); // call
uint256 value9 = 0x60;
if ((returnData1.length) != 0x0) {
if (returnData1.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value9 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success1) {
require(var_m != 0x0, DelegatecallFailed());
revert();
break;
}
}
value0 = 0x01 + value0;
value1 = (value1 + value2) + 0x16;
}
uint256 value10 = 0;
uint256 value11 = 0;
uint256 value12 = 0;
if ((0x0 != 0x0) && (value1 < var_n)) {
if (!((value1 < var_o))) _desolexPanic(50);
require((value1 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_p >> 0xf8) * 0x58))) == var_a.length, DataTooShort());
} else {
value10 = value1;
value11 = var_a;
value12 = var_a.length;
}
tstore_b = 0;
(bool success2, bytes memory returnData2) = address(arg1 + 0x20).allowance(address(this), 0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb); // staticcall
require(success2);
uint256 value13 = 0;
uint256 value14;
if (success2) {
uint256 value86 = var_a.length;
if (0x20 > returnData2.length) {
if (((var_a + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_a + returnData2.length) - var_a) >= 0x20);
} else {
if (((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + 0x20) - var_a) < 0x20));
value86 = var_t;
}
value14 = value86;
} else {
value13 = var_a;
value14 = 0;
}
if (!(value14 >= arg0)) {
if (((var_a + ((0x64 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x64 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x64 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success3, bytes memory returnData3) = address(arg1 + 0x20).approve(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
uint256 value15 = 0x60;
if ((returnData3.length) != 0x0) {
if (returnData3.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData3.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value15 = var_a;
}
uint256 value19 = 0;
uint256 value20;
if (success3) {
uint256 value90 = 0;
uint256 value17 = 0;
uint256 value18 = var_z;
if (var_y) {
require(!(((value15 + var_y) + 0x20) - (value15 + 0x20) < 0x20));
require(var_aa != 0x0 == var_aa);
} else {
value16 = (var_y != 0x0) ? 1 : 0;
value17 = value15;
value18 = !var_y;
}
value20 = value18;
} else {
value19 = value15;
value20 = success3;
}
if (((value20 != 0x0) && (CALLDATALOAD(0x4 + arg1 + 0x20).code.length == 0x0)) || ((value20 == 0x0) && (value20 == 0x0))) {
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success4, bytes memory returnData4) = address(arg1 + 0x20).approve(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb, 0); // call
uint256 value21 = 0x60;
if ((returnData4.length) != 0x0) {
if (returnData4.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData4.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value21 = var_a;
}
if (!success4) {
require(!var_ah);
revert("SafeERC20: low-level call failed");
} else {
if (!var_ah) {
require(address(arg1 + 0x20).code.length != 0x0, "Address: call to non-contract");
uint256 value91 = 0;
uint256 value23 = 0;
uint256 value24 = var_am;
if (var_an != 0) {
require(!(((value21 + var_an) + 0x20) - (value21 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value22 = (var_an != 0x0) ? 1 : 0;
value23 = value21;
value24 = !var_an;
}
require(value24 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value92 = 0;
uint256 value26 = 0;
uint256 value27 = var_am;
if (var_an != 0) {
require(!(((value21 + var_an) + 0x20) - (value21 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value25 = (var_an != 0x0) ? 1 : 0;
value26 = value21;
value27 = !var_an;
}
require(value27 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
if (((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success5, bytes memory returnData5) = address(arg1 + 0x20).approve(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
uint256 value28 = 0x60;
if ((returnData5.length) != 0x0) {
if (returnData5.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData5.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value28 = var_a;
}
if (!success5) {
require(!var_ah);
revert("SafeERC20: low-level call failed");
} else {
if (!var_ah) {
require(address(arg1 + 0x20).code.length != 0x0, "Address: call to non-contract");
uint256 value29 = 0;
uint256 value30 = 0;
uint256 value31 = var_au;
if (!(!(var_av))) {
require(!(((value28 + var_at) + 0x20) - (value28 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value29 = var_av;
value30 = value28;
value31 = !(var_av);
}
require(value31 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value32 = 0;
uint256 value33 = 0;
uint256 value34 = var_au;
if (!(!(var_av))) {
require(!(((value28 + var_at) + 0x20) - (value28 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value32 = var_av;
value33 = value28;
value34 = !(var_av);
}
require(value34 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
}
}
tstore_c = 0;
}
}
} else {
require(var_a.length >= 0x02, DataTooShort());
if (!(var_aw)) {
uint256 var_r = address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb);
(bool success6, bytes memory returnData6) = address(arg1 + 0x20).allowance(address(this), address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb)); // staticcall
require(success6);
uint256 value35 = 0;
uint256 value36;
if (success6) {
uint256 value87 = var_a.length;
if (0x20 > returnData6.length) {
if (((var_a + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData6.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_a + returnData6.length) - var_a) >= 0x20);
} else {
if (((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + 0x20) - var_a) < 0x20));
value87 = var_s;
}
value36 = value87;
} else {
value35 = var_a;
value36 = 0;
}
if (!(value36 >= arg0)) {
uint256 var_v = address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb);
var_w = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;
if (((var_a + 0x80) > 0xffffffffffffffff) | ((var_a + 0x80) < var_a)) _desolexPanic(65);
var_a = var_a + 0x80;
(bool success7, bytes memory returnData7) = address(arg1 + 0x20).approve(address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb), 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
uint256 value37 = 0x60;
if ((returnData7.length) != 0x0) {
if (returnData7.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData7.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value37 = var_a;
}
uint256 value41 = 0;
uint256 value42;
if (success7) {
uint256 value93 = 0;
uint256 value39 = 0;
uint256 value40 = var_ax;
if (var_ay) {
require(((value37 + var_ay) + 0x20) - (value37 + 0x20) >= 0x20);
require(var_ax != 0x0 == var_ax);
} else {
value38 = (var_ay != 0x0) ? 1 : 0;
value39 = value37;
value40 = !var_ay;
}
value42 = value40;
} else {
value41 = value37;
value42 = success7;
}
if (((value42 != 0x0) && ((address(arg1 + 0x20)).code.length == 0x0)) || ((value42 == 0x0) && (value42 == 0x0))) {
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success8, bytes memory returnData8) = address(arg1 + 0x20).approve(address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb), 0); // call
uint256 value43 = 0x60;
if ((returnData8.length) != 0x0) {
if (returnData8.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData8.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value43 = var_a;
}
if (!success8) {
require(!var_ah);
revert("SafeERC20: low-level call failed");
} else {
if (!var_ah) {
require(address(arg1 + 0x20).code.length != 0x0, "Address: call to non-contract");
uint256 value44 = 0;
uint256 value45 = 0;
uint256 value46 = var_ba;
if (!(!(var_bb))) {
require(!(((value43 + var_bc) + 0x20) - (value43 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value44 = var_bb;
value45 = value43;
value46 = !(var_bb);
}
require(value46 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value47 = 0;
uint256 value48 = 0;
uint256 value49 = var_ba;
if (!(!(var_bb))) {
require(!(((value43 + var_bc) + 0x20) - (value43 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value47 = var_bb;
value48 = value43;
value49 = !(var_bb);
}
require(value49 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);
var_a = var_a + 0x40;
(bool success9, bytes memory returnData9) = address(arg1 + 0x20).approve(address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb), 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
uint256 value50 = 0x60;
if ((returnData9.length) != 0x0) {
if (returnData9.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData9.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value50 = var_a;
}
if (!success9) {
require(!var_ah);
revert("SafeERC20: low-level call failed");
} else {
if (!var_ah) {
require(address(arg1 + 0x20).code.length != 0x0, "Address: call to non-contract");
uint256 value94 = 0;
uint256 value52 = 0;
uint256 value53 = var_bd;
if (var_ah) {
require(!(((value21 + var_ah) + 0x20) - (value21 + 0x20) < 0x20));
require(var_bd != 0x0 == var_bd);
} else {
value51 = (var_ah != 0x0) ? 1 : 0;
value52 = value21;
value53 = !var_ah;
}
require(value53 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value95 = 0;
uint256 value55 = 0;
uint256 value56 = var_bd;
if (var_ah) {
require(!(((value21 + var_ah) + 0x20) - (value21 + 0x20) < 0x20));
require(var_bd != 0x0 == var_bd);
} else {
value54 = (var_ah != 0x0) ? 1 : 0;
value55 = value21;
value56 = !var_ah;
}
require(value56 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
}
}
} else {
require(var_aw <= 0x64, InvalidActionCount());
uint256 value0 = 0;
uint256 value1 = 0x01;
while (true) {
tstore_b = 0x01;
if (value0 >= var_c) {
break;
}
if ((value1 + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value57 = (var_e >> 0xf0) & (0x7fff);
uint256 value5 = (var_e >> 0xf0) & (0x7fff);
if (0 != !(!((var_e >> 0xf0) & (0x4000)))) {
require((var_e >> 0xf0) & (0x8000), CustomError_41e8e806());
value57 = (var_e >> 0xf0) & (0x3fff);
value5 = (var_e >> 0xf0) & (0x3fff);
}
if (((value1 + value57) + 0x16) > var_a.length) {
revert DataTooShort();
break;
}
uint256 value96 = 0;
bool flag6 = !(!((var_e >> 0xf0) & (0x4000)));
if (!((var_e >> 0xf0) & (0x8000))) {
flag5 = !(!((var_e >> 0xf0) & (0x4000)));
flag6 = !(!((var_e >> 0xf0) & (0x8000)));
}
if (!flag6) {
if (!(!(!((var_e >> 0xf0) & (0x8000))))) {
if (value5 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value5))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value5))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value5))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value5 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value4 = 0;
while (true) {
if (value4 >= ((value5 + 0x1f) >> 0x05)) {
break;
}
value4 = value4 + 0x01;
}
(bool success10, bytes memory returnData10) = address(var_i >> 0x60).Unknown_(var_bf); // delegatecall
uint256 value58 = 0x60;
if ((returnData10.length) != 0x0) {
if (returnData10.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData10.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData10.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData10.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value58 = var_a;
}
if (!success10) {
require(var_bg != 0x0, DelegatecallFailed());
revert();
break;
}
} else {
if (value5 > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value5))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value5))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + value5))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (value5 > 0xffffffffffffffff) _desolexPanic(65);
uint256 value6 = 0;
while (true) {
if (value6 >= ((value3 + 0x1f) >> 0x05)) {
break;
}
value6 = value6 + 0x01;
}
tstore_c = 0;
tstore_a = var_i >> 0x60;
(bool success11, bytes memory returnData11) = address(var_i >> 0x60).call(""); // call
uint256 value59 = 0x60;
if ((returnData11.length) != 0x0) {
if (returnData11.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData11.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value59 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success11) {
require(var_bh != 0x0, DelegatecallFailed());
revert();
break;
}
}
} else {
if (value5 < 0x20) {
revert CustomError_f0777cc7();
break;
}
if ((value5 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value5 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value5 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (value5 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if ((value5 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) > 0xffffffffffffffff) _desolexPanic(65);
uint256 value8 = 0;
while (true) {
if (value8 >= ((value3 + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) >> 0x05)) {
break;
}
value8 = value8 + 0x01;
}
tstore_c = 0;
tstore_a = var_i >> 0x60;
(bool success12, bytes memory returnData12) = address(var_i >> 0x60).cehbdjakgfi{ value: var_l }(var_r, var_v, var_w, var_bi); // call
uint256 value60 = 0x60;
if ((returnData12.length) != 0x0) {
if (returnData12.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData12.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value60 = var_a;
}
tstore_a = 0;
tstore_c = tstore_c;
if (!success12) {
require(var_bj != 0x0, DelegatecallFailed());
revert();
break;
}
}
value0 = 0x01 + value0;
value1 = (value1 + value57) + 0x16;
}
uint256 value61 = 0;
uint256 value62 = 0;
uint256 value63 = 0;
if ((0x1 != 0x0) && (value1 < var_n)) {
if (!(value1 < var_a.length)) _desolexPanic(50);
require((value1 + (0x01 + (bytes1(0xff00000000000000000000000000000000000000000000000000000000000000 & var_bk >> 0xf8) * 0x58))) == var_a.length, DataTooShort());
} else {
value61 = value1;
value62 = var_a;
value63 = var_a.length;
}
tstore_b = 0;
(bool success13, bytes memory returnData13) = address(arg1 + 0x20).allowance(address(this), address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb)); // staticcall
require(success13);
uint256 value64 = 0;
uint256 value65;
if (success13) {
uint256 value88 = var_a.length;
if (0x20 > returnData13.length) {
if (((var_a + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((returnData13.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_a + returnData13.length) - var_a) >= 0x20);
} else {
if (((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(!(((var_a + 0x20) - var_a) < 0x20));
value88 = var_s;
}
value65 = value88;
} else {
value64 = var_a;
value65 = 0;
}
if (!(value65 >= arg0)) {
if (((var_a + 0x80) > 0xffffffffffffffff) | ((var_a + 0x80) < var_a)) _desolexPanic(65);
var_a = var_a + 0x80;
(bool success14, bytes memory returnData14) = address(arg1 + 0x20).approve(address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb), 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
uint256 value66 = 0x60;
if ((returnData14.length) != 0x0) {
if (returnData14.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData14.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value66 = var_a;
}
uint256 value70 = 0;
uint256 value71;
if (success14) {
uint256 value97 = 0;
uint256 value68 = 0;
uint256 value69 = var_bl;
if (var_bm) {
require(((value66 + var_bm) + 0x20) - (value66 + 0x20) >= 0x20);
require(var_bl != 0x0 == var_bl);
} else {
value67 = var_bm != 0x0;
value68 = value66;
value69 = !var_bm;
}
value71 = value69;
} else {
value70 = value66;
value71 = success14;
}
if (((value71 != 0x0) && ((address(arg1 + 0x20)).code.length == 0x0)) || ((value71 == 0x0) && (value71 == 0x0))) {
if (((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((((var_a + 0x64) - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
if (((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + ((0x40 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
(bool success15, bytes memory returnData15) = address(arg1 + 0x20).approve(address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb), 0); // call
uint256 value72 = 0x60;
if ((returnData15.length) != 0x0) {
if (returnData15.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData15.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value72 = var_a;
}
if (!success15) {
require(!var_ah);
revert("SafeERC20: low-level call failed");
} else {
if (!var_ah) {
require(address(arg1 + 0x20).code.length != 0x0, "Address: call to non-contract");
uint256 value73 = 0;
uint256 value74 = 0;
uint256 value75 = var_bo;
if (!(!(var_bp))) {
require(!(((value72 + var_bq) + 0x20) - (value72 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value73 = var_bp;
value74 = value72;
value75 = !(var_bp);
}
require(value75 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value76 = 0;
uint256 value77 = 0;
uint256 value78 = var_bo;
if (!(!(var_bp))) {
require(!(((value72 + var_bq) + 0x20) - (value72 + 0x20) < 0x20));
require(var_ao != 0x0 == var_ao);
} else {
value76 = var_bp;
value77 = value72;
value78 = !(var_bp);
}
require(value78 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);
var_a = var_a + 0x40;
(bool success16, bytes memory returnData16) = address(arg1 + 0x20).approve(address(0xbbbbbbbbbb9cc5e90e3b3af64bdaf62c37eeffcb), 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff); // call
uint256 value79 = 0x60;
if ((returnData16.length) != 0x0) {
if (returnData16.length > 0xffffffffffffffff) _desolexPanic(65);
if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData16.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
value79 = var_a;
}
if (!success16) {
require(!var_ah);
revert("SafeERC20: low-level call failed");
} else {
if (!var_ah) {
require(address(arg1 + 0x20).code.length != 0x0, "Address: call to non-contract");
uint256 value98 = 0;
uint256 value81 = 0;
uint256 value82 = var_bd;
if (var_ah) {
require(!(((value21 + var_ah) + 0x20) - (value21 + 0x20) < 0x20));
require(var_bd != 0x0 == var_bd);
} else {
value80 = var_ah != 0x0;
value81 = value21;
value82 = !var_ah;
}
require(value82 != 0x0, "SafeERC20: ERC20 operation did not succeed");
} else {
uint256 value99 = 0;
uint256 value84 = 0;
uint256 value85 = var_bd;
if (var_ah) {
require(!(((value21 + var_ah) + 0x20) - (value21 + 0x20) < 0x20));
require(var_bd != 0x0 == var_bd);
} else {
value83 = var_ah != 0x0;
value84 = value21;
value85 = !var_ah;
}
require(value85 != 0x0, "SafeERC20: ERC20 operation did not succeed");
}
}
}
}
}
tstore_c = 0;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
function Unknown_26d8bfb7() public onlyOwner {
stor_3_0_0 = false;
emit Event_c6cf0ccc(0);
}
function updateWhitelist(address arg0, bool arg1) public onlyOwner {
whitelist[arg0] = arg1;
emit WhitelistUpdated(arg0, whitelist[arg0]);
}
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.
// 0x0d392cd9 => updateWhitelist(address,bool)
// 0x158274a5 => balancerVault()
// 0x23a69e75 => Unknown_23a69e75(uint256,uint256,bytes)
// 0x26d8bfb7 => Unknown_26d8bfb7()
// 0x2c8958f6 => Unknown_2c8958f6(uint256,uint256,bytes)
// 0x31f57072 => onMorphoFlashLoan(uint256,bytes)
// 0x3a77b95e => Unknown_3a77b95e(bytes)
// 0x3fc8cef3 => weth()
// 0x728260d0 => Unknown_728260d0(uint256)
// 0x7466e8ff => Unknown_7466e8ff(bytes)
// 0x8a57589a => Unknown_8a57589a(bytes)
// 0x8da5cb5b => owner()
// 0x8e9b1220 => Unknown_8e9b1220(bytes)
// 0x8eccac05 => Unknown_8eccac05()
// 0x91dd7346 => unlockCallback(bytes)
// 0x923b8a2a => swapCallback(uint256,uint256,bytes)
// 0x9b19251a => whitelist(address)
// 0xcb53bc22 => Unknown_cb53bc22()
// 0xd8fbc833 => morpho()
// 0xd9dddc1b => unresolved_d9dddc1b()
// 0xdc4c90d3 => poolManager()
// 0xdd225095 => Unknown_dd225095(bytes)
// 0xe63ea408 => emergencyWithdraw(address,address,uint256)
// 0xfa461e33 => Unknown_fa461e33(uint256,uint256,bytes)
}