BNB Chain
0x98ec01a6d26233d2c2b2c35bd86fa1af2177873c
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x98ec01a6…2177873c2.5 KB5.7 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x98ec01a6d26233d2c2b2c35bd86fa1af2177873c
//decompiled by exvvul decompiler tool contact@exvul.com https://x.com/exvulsec
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0;
contract DesolexContract {
address public constant token = address(0xf12d5048a6bed7ecc572fa7805d03af7b5fb9d2);
uint256 public constant fee = 3000;
uint256 public constant marginFee = 2500;
uint256 public constant poolId = 90310526856941952249835635612342530199996101877573223301000285361169299700248;
address public constant beneficiary = address(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e);
function _desolexPanic(uint256 code) private pure {
assembly ("memory-safe") {
mstore(0x00, shl(224, 0x4e487b71))
mstore(0x04, code)
revert(0x00, 0x24)
}
}
receive() external payable {
}
function walk() public payable {
require(msg.sender == 0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e);
require(msg.value != 0x0);
uint256 var_a;
if (((var_a + 0xc0) > 0xffffffffffffffff) | ((var_a + 0xc0) < var_a)) _desolexPanic(65);
var_a = var_a + 0xc0;
(bool success0, bytes memory returnData0) = address(0xb397fe16be79b082f17f1cd96e6489df19e07bcd).exactInput{ value: msg.value }(var_a.length); // call
require(success0);
if (0x60 <= returnData0.length) {
if (((var_a + 0x60) > 0xffffffffffffffff) | ((var_a + 0x60) < var_a)) _desolexPanic(65);
var_a = var_a + 0x60;
require(!(((var_a + 0x60) - var_a) < 0x60));
require(var_t == (uint24(var_t)));
}
if (((var_a + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);
require(!(((var_a + returnData0.length) - var_a) < 0x60));
require(var_w == (uint24(var_w)));
}
function drain() public {
require(msg.sender == 0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e);
(bool success0, bytes memory returnData0) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success0);
uint256 value1 = msg.data[0] >> 0xe0;
uint256 var_c;
uint256 value2 = var_c.length;
if (success0) {
uint256 value0 = returnData0.length;
if (0x20 <= returnData0.length) {
value0 = 0x20;
}
if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value0) - var_c) >= 0x20);
} else {
value1 = var_c;
value2 = 0;
}
require(value2 != 0x0);
if (((var_c + 0x80) > 0xffffffffffffffff) | ((var_c + 0x80) < var_c)) _desolexPanic(65);
var_c = var_c + 0x80;
uint256 value3 = msg.data[0] >> 0xe0;
uint256 value4 = value2;
if ((value2 >> 0x04) != 0x0) {
value3 = value2;
value4 = value2 >> 0x04;
}
uint256 value10 = value4;
uint256 value5 = 0;
while (true) {
if (value5 >= 0x30) {
uint256 value21 = 0;
if (address(this).balance != 0x0) {
(bool success1, bytes memory returnData1) = address(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e).call{ value: address(this).balance }(""); // call
if (returnData1.length != 0x0) {
if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData1.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
}
} else {
flag0 = SELFBALANCE() != 0x0;
}
(bool success2, bytes memory returnData2) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success2);
uint256 value7 = 0;
uint256 value8 = var_c.length;
if (success2) {
uint256 value6 = returnData2.length;
if (0x20 <= returnData2.length) {
value6 = 0x20;
}
if (((var_c + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value6) - var_c) >= 0x20);
} else {
value7 = var_c;
value8 = 0;
}
if (value8 != 0x0) {
(bool success3, bytes memory returnData3) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).transfer(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e, value8); // call
require(success3);
if (success3) {
uint256 value9 = returnData3.length;
if (0x20 <= returnData3.length) {
value9 = 0x20;
}
if (((var_c + ((value9 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value9 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value9 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value9) - var_c) >= 0x20);
require(var_c.length == var_c.length);
}
}
}
(bool success4, bytes memory returnData4) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
if (!success4) {
revert();
break;
}
uint256 value12 = msg.data[0] >> 0xe0;
uint256 value13 = var_c.length;
if (success4) {
uint256 value11 = returnData4.length;
if (0x20 <= returnData4.length) {
value11 = 0x20;
}
if (((var_c + ((value11 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value11 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value11 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value11) - var_c) >= 0x20);
} else {
value12 = var_c;
value13 = 0;
}
if (value13 == 0x0) {
uint256 value22 = 0;
if (address(this).balance != 0x0) {
(bool success5, bytes memory returnData5) = address(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e).call{ value: address(this).balance }(""); // call
if (returnData5.length != 0x0) {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
}
} else {
flag1 = SELFBALANCE() != 0x0;
}
(bool success6, bytes memory returnData6) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success6);
uint256 value15 = 0;
uint256 value16 = var_c.length;
if (success6) {
uint256 value14 = returnData6.length;
if (0x20 <= returnData6.length) {
value14 = 0x20;
}
if (((var_c + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value14 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value14) - var_c) >= 0x20);
} else {
value15 = var_c;
value16 = 0;
}
if (value16 != 0x0) {
(bool success7, bytes memory returnData7) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).transfer(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e, value16); // call
require(success7);
if (success7) {
uint256 value17 = returnData7.length;
if (0x20 <= returnData7.length) {
value17 = 0x20;
}
if (((var_c + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value17 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value17) - var_c) >= 0x20);
require(var_c.length == var_c.length);
}
}
break;
}
uint256 value18 = value10;
if (value13 < value10) {
value18 = value13;
}
if (((var_c + 0xe0) > 0xffffffffffffffff) | ((var_c + 0xe0) < var_c)) {
_desolexPanic(65);
break;
}
var_c = var_c + 0xe0;
(bool success8, bytes memory returnData8) = address(0x6bec0c1dc4898484b7f094566ddf8bc82ed7abe8).addMargin(address(var_c.length), address(var_an)); // call
uint256 value20 = msg.data[0] >> 0xe0;
if (success8) {
uint256 value19 = returnData8.length;
if (0x60 <= returnData8.length) {
value19 = 0x60;
}
if (((var_c + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value19 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value19) - var_c) >= 0x60);
} else {
value20 = var_c;
}
if (success8) {
break;
}
uint256 value25 = value18;
uint256 value26 = value5;
if (value18 <= 0x1) {
break;
}
if (!(value18 >> 0x01)) {
break;
}
value10 = value18 >> 0x01;
value5 = value5 + 0x01;
value25 = value5;
value26 = value18 >> 0x01;
value10 = value10;
value5 = value5 + 0x01;
}
internal_852();
}
function unwind() public {
require(msg.sender == 0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e);
(bool success0, bytes memory returnData0) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success0);
uint256 value1 = msg.data[0] >> 0xe0;
uint256 var_c;
uint256 value2 = var_c.length;
if (success0) {
uint256 value0 = returnData0.length;
if (0x20 <= returnData0.length) {
value0 = 0x20;
}
if (((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value0 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value0) - var_c) >= 0x20);
} else {
value1 = var_c;
value2 = 0;
}
require(value2 != 0x0);
if (((var_c + 0xc0) > 0xffffffffffffffff) | ((var_c + 0xc0) < var_c)) _desolexPanic(65);
var_c = var_c + 0xc0;
(bool success1, bytes memory returnData1) = address(0xb397fe16be79b082f17f1cd96e6489df19e07bcd).exactInput(var_c.length); // call
require(success1);
if (!(success1)) {
uint256 value11 = 0;
if (address(this).balance != 0x0) {
(bool success2, bytes memory returnData2) = address(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e).call{ value: address(this).balance }(""); // call
if (returnData2.length != 0x0) {
if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData2.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
}
} else {
flag0 = SELFBALANCE() != 0x0;
}
(bool success3, bytes memory returnData3) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success3);
uint256 value4 = 0;
uint256 value5 = var_c.length;
if (success3) {
uint256 value3 = returnData3.length;
if (0x20 <= returnData3.length) {
value3 = 0x20;
}
if (((var_c + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value3 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value3) - var_c) >= 0x20);
} else {
value4 = var_c;
value5 = 0;
}
if (value5 != 0x0) {
(bool success4, bytes memory returnData4) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).transfer(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e, value5); // call
require(success4);
if (success4) {
uint256 value6 = returnData4.length;
if (0x20 <= returnData4.length) {
value6 = 0x20;
}
if (((var_c + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value6 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value6) - var_c) >= 0x20);
require(var_c.length == var_c.length);
}
}
}
if (0x60 > 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) >= 0x60);
require(var_c.length == (uint24(var_c.length)));
uint256 value12 = 0;
if (address(this).balance != 0x0) {
(bool success5, bytes memory returnData5) = address(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e).call{ value: address(this).balance }(""); // call
if (returnData5.length != 0x0) {
if (!(returnData5.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData5.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
}
} else {
flag1 = SELFBALANCE() != 0x0;
}
(bool success6, bytes memory returnData6) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success6);
uint256 value8 = 0;
uint256 value9 = var_c.length;
if (success6) {
uint256 value7 = returnData6.length;
if (0x20 <= returnData6.length) {
value7 = 0x20;
}
if (((var_c + ((value7 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value7 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value7 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value7) - var_c) >= 0x20);
} else {
value8 = var_c;
value9 = 0;
}
if (value9 != 0x0) {
(bool success7, bytes memory returnData7) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).transfer(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e, value9); // call
require(success7);
if (success7) {
uint256 value10 = returnData7.length;
if (0x20 <= returnData7.length) {
value10 = 0x20;
}
if (((var_c + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value10 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value10) - var_c) >= 0x20);
require(var_c.length == var_c.length);
}
}
} else {
if (((var_c + 0x60) > 0xffffffffffffffff) | ((var_c + 0x60) < var_c)) _desolexPanic(65);
var_c = var_c + 0x60;
require(((var_c + 0x60) - var_c) >= 0x60);
require(var_c.length == (uint24(var_c.length)));
internal_852();
}
}
function internal_852() private {
// Decompilation incomplete: helper effect provenance is conservative.
uint256 value0 = 0;
if (address(this).balance != 0x0) {
(bool success0, bytes memory returnData0) = address(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e).call{ value: address(this).balance }(""); // call
if (returnData0.length != 0x0) {
if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65);
if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
}
} else {
flag2 = SELFBALANCE() != 0x0;
}
(bool success1, bytes memory returnData1) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).balanceOf(address(this)); // staticcall
require(success1);
uint256 value22 = 0;
uint256 value23 = var_c.length;
if (success1) {
uint256 value21 = returnData1.length;
if (0x20 <= returnData1.length) {
value21 = 0x20;
}
if (((var_c + ((value21 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value21 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value21 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value21) - var_c) >= 0x20);
} else {
value22 = var_c;
value23 = 0;
}
if (value23 != 0x0) {
(bool success2, bytes memory returnData2) = address(0x0f12d5048a6bed7ecc572fa7805d03af7b5fb9d2).transfer(0x90bde1e0bb16b3deeb9d638acf8d01f19fd2f31e, value23); // call
require(success2);
if (success2) {
uint256 value24 = returnData2.length;
if (0x20 <= returnData2.length) {
value24 = 0x20;
}
if (((var_c + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);
var_c = var_c + ((value24 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));
require(((var_c + value24) - var_c) >= 0x20);
require(var_c.length == var_c.length);
}
}
}
// 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.
// 0x38af3eed => beneficiary()
// 0x3e0dc34e => poolId()
// 0x807763ab => unwind()
// 0x9890220b => drain()
// 0xb67df1c3 => marginFee()
// 0xddca3f43 => fee()
// 0xfc0c546a => token()
// 0xfc98512e => walk()
}