BNB Chain
0x5e7ef631f513af617222a6a40d2ddb536401ae72
Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.
Decompilation outputBNB Chain · 0x5e7ef631…6401ae7210.9 KB46.2 s
This result is permanently available athttps://decompiler.exvul.com/bsc/0x5e7ef631f513af617222a6a40d2ddb536401ae72
1,684 lines · Click a variable or keyword to highlight its references · Click a line number to copy its link; Shift-click to copy a block link
//decompiled by exvvul decompiler tool [email protected] https://x.com/exvulsec// SPDX-License-Identifier: MITpragma solidity >=0.8.0;contract DesolexContract { uint256 stor_0; // STORAGE[0x0] address public owner; // STORAGE[0x33] address public token; // STORAGE[0x65] address public usdt; // STORAGE[0x66] address public nft; // STORAGE[0x67] uint256 public totalNFTRewards; // STORAGE[0x68] uint256 public unresolved_3eb9b901; // STORAGE[0x69] mapping(address => uint256) public claimedNFTDividend; // STORAGE[0x6a] mapping(address => uint256) public unresolved_2a31f6fb; // STORAGE[0x6b] uint256 public currentDistributionTotal; // STORAGE[0x6c] uint256 public unresolved_28cce4f4; // STORAGE[0x6d] uint256 public lockedNFTSupply; // STORAGE[0x6e] uint256 public lockedMaxTokenId; // STORAGE[0x6f] uint256 public perNFTAmount; // STORAGE[0x70] uint256 public unresolved_6a0fc3a0; // STORAGE[0x71] uint256 stor_72; // STORAGE[0x72] uint256 public currentDistributionClaimed; // STORAGE[0x73] uint256 public unresolved_68630a06; // STORAGE[0x74] bool public distributionActive; // STORAGE[0x75] bytes 0 to 0 uint256 public lastDistributionEndTime; // STORAGE[0x76] uint256 public DISTRIBUTION_COOLDOWN; // STORAGE[0x77] uint256 public batchSize; // STORAGE[0x78] address public distributor; // STORAGE[0x79] address public remainderReceiver; // STORAGE[0x7a] address public unresolved_1be704e0; // STORAGE[0x7b] uint256 public unresolved_d0dfe553; // STORAGE[0x7c] uint256 public unresolved_0c7f93b5; // STORAGE[0x7d] uint256 public unresolved_02d3489e; // STORAGE[0x7e] mapping(address => uint256) public unresolved_f17f8b47; // STORAGE[0x7f] address public splitReceiver; // STORAGE[0x80] uint256 public splitRatio; // STORAGE[0x81] event DistributionCompleted(uint256, uint256, uint256); event DividendDistributed(uint256, uint256, uint256, uint256); event Event_fe681dfb(address indexed, uint256 indexed, uint256, uint256, uint256); event Initialized(uint8); event OwnershipTransferred(address indexed, address indexed); 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, "Ownable: caller is not the owner"); _; } fallback() external { // Synthetic compatibility routes preserve original selectors for unresolved names. if ((msg.data.length >= 4) && (msg.sig == 0x44969094)) { // Route to Unknown_44969094(address) after replacing only msg.sig. __desolexSelectorShim(uint32(0xb02d1111)); return; } revert(); } function initialize(address arg0, address arg1, address arg2, address arg3) public { bool flag0 = (bytes1(stor_0)) < 0x01; if (bytes1(stor_0 >> 0x08)) { flag0 = !(bytes1(stor_0 >> 0x08)); } require(!flag0 && (address(this).code.length == 0x0 && (stor_0 & 0xff) == 0x1) || flag0, "Initializable: contract is already initialized"); stor_0 = 0x01 | (stor_0 & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00)); uint256 value0 = this.code.length; if (!(bytes1(stor_0 >> 0x08))) { stor_0 = 0x0101 | (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000 & stor_0); } else { value0 = stor_0; } require(bytes1(stor_0 >> 0x08), "Initializable: contract is not initializing"); require(bytes1(stor_0 >> 0x08), "Initializable: contract is not initializing"); emit OwnershipTransferred(owner, msg.sender); owner = msg.sender; DISTRIBUTION_COOLDOWN = 0x0e10; token = arg0; nft = arg1; batchSize = 0x32; distributor = arg2; remainderReceiver = arg3; if (bytes1(stor_0 >> 0x08)) { return; } stor_0 = stor_0 & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff); emit Initialized(0x01); } function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } function startDistribution() public { if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0) { bool flag0 = msg.sender == owner; if (msg.sender == distributor) { flag0 = msg.sender == distributor; } if (flag0) { if (!distributionActive) { uint256 value0 = this.code.length; if (lastDistributionEndTime != 0) { } else { value0 = lastDistributionEndTime; } if (((lastDistributionEndTime != 0x0) && (block.timestamp >= lastDistributionEndTime + DISTRIBUTION_COOLDOWN)) || (lastDistributionEndTime == 0x0)) { if (((splitReceiver & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0) && (splitRatio != 0x0)) { (bool success0, bytes memory returnData0) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf uint256 var_c; if (success0) { uint256 value2 = this.code.length; uint256 value3 = var_c.length; if (success0) { uint256 value1 = returnData0.length; if (0x20 <= returnData0.length) { value1 = 0x20; } if (((var_c + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value1 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value1) - var_c) >= 0x20); } else { value2 = var_c; value3 = 0; } uint256 value12; uint256 value70; if (value3 == 0) { if (unresolved_1be704e0 != address(0)) { (bool success1, bytes memory returnData1) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf if (success1) { uint256 value5 = this.code.length; uint256 value6 = var_c.length; if (success1) { uint256 value4 = returnData1.length; if (0x20 <= returnData1.length) { value4 = 0x20; } if (((var_c + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value4 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value4) - var_c) >= 0x20); } else { value5 = var_c; value6 = 0; } if (value6 == 0) { if (usdt != address(0)) { (bool success2, bytes memory returnData2) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf if (success2) { uint256 value8 = this.code.length; uint256 value9 = var_c.length; if (success2) { uint256 value7 = returnData2.length; if (0x20 <= returnData2.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 && (((value9 * splitRatio) / value9) == splitRatio) | !value9 && (value9 * splitRatio) / 0x2710) { usdt.transfer(splitReceiver, (value9 * splitRatio) / 0x2710); // call } } } else { (bool success4, bytes memory returnData4) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success4); uint256 value11 = this.code.length; value12 = var_c.length; if (success4) { uint256 value10 = returnData4.length; if (0x20 <= returnData4.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); } else { value11 = var_c; value12 = 0; } uint256 value14 = this.code.length; uint256 value15; if (unresolved_1be704e0 != address(0)) { (bool success5, bytes memory returnData5) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success5); uint256 value86 = var_c.length; if (success5) { uint256 value13 = returnData5.length; if (0x20 <= returnData5.length) { value13 = 0x20; } if (((var_c + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value13 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value13) - var_c) >= 0x20); } else { value86 = 0; } value15 = value86; } else { value14 = unresolved_1be704e0; value15 = 0; } if (!(usdt)) { bool flag3 = value15 != 0x0; if (value12 != 0x0) { flag3 = value12 != 0x0; } require(!flag3 && 0x0 != 0x0 || flag3, "NFTDiv: no balance"); uint256 value16 = value12 + value15; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value12; unresolved_d0dfe553 = value15; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value12 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success6, bytes memory returnData6) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success6); uint256 value18 = this.code.length; uint256 value19 = var_c.length; if (success6) { uint256 value17 = returnData6.length; if (0x20 <= returnData6.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); } else { value18 = var_c; value19 = 0; } bool flag5 = value15 != 0x0; if (value12 != 0x0) { flag5 = value12 != 0x0; } require(!flag5 && value19 != 0x0 || flag5, "NFTDiv: no balance"); uint256 value16 = value12 + value15; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value12; unresolved_d0dfe553 = value15; unresolved_28cce4f4 = value19; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value12 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } _desolexPanic(17); } } } } else { if (usdt != address(0)) { (bool success7, bytes memory returnData7) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success7); uint256 value21 = this.code.length; uint256 value22 = var_c.length; if (success7) { uint256 value20 = returnData7.length; if (0x20 <= returnData7.length) { value20 = 0x20; } if (((var_c + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value20 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value20) - var_c) >= 0x20); } else { value21 = var_c; value22 = 0; } if (value22 == 0x0) { (bool success8, bytes memory returnData8) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success8); uint256 value24 = this.code.length; uint256 value25 = var_c.length; if (success8) { uint256 value23 = returnData8.length; if (0x20 <= returnData8.length) { value23 = 0x20; } if (((var_c + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value23 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value23) - var_c) >= 0x20); } else { value24 = var_c; value25 = 0; } uint256 value27 = this.code.length; uint256 value28; if (unresolved_1be704e0 != address(0)) { (bool success9, bytes memory returnData9) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success9); uint256 value94 = var_c.length; if (success9) { uint256 value26 = returnData9.length; if (0x20 <= returnData9.length) { value26 = 0x20; } if (((var_c + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value26) - var_c) >= 0x20); } else { value94 = 0; } value28 = value94; } else { value27 = unresolved_1be704e0; value28 = 0; } if (!(usdt)) { bool flag7 = value28 != 0x0; if (value25 != 0x0) { flag7 = value25 != 0x0; } require(!flag7 && 0x0 != 0x0 || flag7, "NFTDiv: no balance"); uint256 value16 = value12 + value15; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value25; unresolved_d0dfe553 = value28; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value25 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success10, bytes memory returnData10) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success10); uint256 value30 = this.code.length; uint256 value31 = var_c.length; if (success10) { uint256 value29 = returnData10.length; if (0x20 <= returnData10.length) { value29 = 0x20; } if (((var_c + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value29 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value29) - var_c) >= 0x20); } else { value30 = var_c; value31 = 0; } bool flag9 = value28 != 0x0; if (value25 != 0x0) { flag9 = value25 != 0x0; } require(!flag9 && value31 != 0x0 || flag9, "NFTDiv: no balance"); uint256 value16 = value25 + value28; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value25; unresolved_d0dfe553 = value28; unresolved_28cce4f4 = value31; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value25 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } } else { uint256 value61; if ((((value22 * splitRatio) / value22) == splitRatio) | !value22) { if ((value22 * splitRatio) / 0x2710 == 0) { (bool success11, bytes memory returnData11) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success11); uint256 value33 = this.code.length; uint256 value34 = var_c.length; if (success11) { uint256 value32 = returnData11.length; if (0x20 <= returnData11.length) { value32 = 0x20; } if (((var_c + ((value32 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value32 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value32 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value32) - var_c) >= 0x20); } else { value33 = var_c; value34 = 0; } uint256 value36 = this.code.length; uint256 value37; if (unresolved_1be704e0 != address(0)) { (bool success12, bytes memory returnData12) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success12); uint256 value95 = var_c.length; if (success12) { uint256 value35 = returnData12.length; if (0x20 <= returnData12.length) { value35 = 0x20; } if (((var_c + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value35 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value35) - var_c) >= 0x20); } else { value95 = 0; } value37 = value95; } else { value36 = unresolved_1be704e0; value37 = 0; } if (!(usdt)) { bool flag11 = value37 != 0x0; if (value34 != 0x0) { flag11 = value34 != 0x0; } require(!flag11 && 0x0 != 0x0 || flag11, "NFTDiv: no balance"); uint256 value16 = value25 + value28; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value34; unresolved_d0dfe553 = value37; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value34 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success13, bytes memory returnData13) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success13); uint256 value39 = this.code.length; uint256 value40 = var_c.length; if (success13) { uint256 value38 = returnData13.length; if (0x20 <= returnData13.length) { value38 = 0x20; } if (((var_c + ((value38 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value38 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value38 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value38) - var_c) >= 0x20); } else { value39 = var_c; value40 = 0; } bool flag13 = value37 != 0x0; if (value34 != 0x0) { flag13 = value34 != 0x0; } require(!flag13 && value40 != 0x0 || flag13, "NFTDiv: no balance"); uint256 value16 = value34 + value37; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value34; unresolved_d0dfe553 = value37; unresolved_28cce4f4 = value40; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value34 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } } else { (bool success14, bytes memory returnData14) = usdt.call(abi.encodeWithSelector(bytes4(0xa9059cbb), splitReceiver, (value22 * splitRatio) / 0x2710)); // call transfer require(success14); if (success14) { if (0x20 > returnData14.length) { if (((var_c + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((returnData14.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + returnData14.length) - var_c) >= 0x20); require(var_c.length == var_c.length); require(var_c.length != 0x0, "NFTDiv: split USDT transfer failed"); (bool success15, bytes memory returnData15) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success15); uint256 value42 = this.code.length; uint256 value43 = var_c.length; if (success15) { uint256 value41 = returnData15.length; if (0x20 <= returnData15.length) { value41 = 0x20; } if (((var_c + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value41 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value41) - var_c) >= 0x20); } else { value42 = var_c; value43 = 0; } uint256 value45 = this.code.length; uint256 value46; if (unresolved_1be704e0 != address(0)) { (bool success16, bytes memory returnData16) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success16); uint256 value96 = var_c.length; if (success16) { uint256 value44 = returnData16.length; if (0x20 <= returnData16.length) { value44 = 0x20; } if (((var_c + ((value44 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value44 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value44 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value44) - var_c) >= 0x20); } else { value96 = 0; } value46 = value96; } else { value45 = unresolved_1be704e0; value46 = 0; } if (!(usdt)) { bool flag15 = value46 != 0x0; if (value43 != 0x0) { flag15 = value43 != 0x0; } require(!flag15 && 0x0 != 0x0 || flag15, "NFTDiv: no balance"); uint256 value16 = value34 + value37; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value43; unresolved_d0dfe553 = value46; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value43 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success17, bytes memory returnData17) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success17); uint256 value48 = this.code.length; uint256 value49 = var_c.length; if (success17) { uint256 value47 = returnData17.length; if (0x20 <= returnData17.length) { value47 = 0x20; } if (((var_c + ((value47 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value47 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value47 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value47) - var_c) >= 0x20); } else { value48 = var_c; value49 = 0; } bool flag17 = value46 != 0x0; if (value43 != 0x0) { flag17 = value43 != 0x0; } require(!flag17 && value49 != 0x0 || flag17, "NFTDiv: no balance"); uint256 value16 = value43 + value46; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value43; unresolved_d0dfe553 = value46; unresolved_28cce4f4 = value49; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value43 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } } else { if (((var_c + 0x20) > 0xffffffffffffffff) | ((var_c + 0x20) < var_c)) _desolexPanic(65); var_c = var_c + 0x20; require(((var_c + 0x20) - var_c) >= 0x20); require(var_c.length == var_c.length); require(var_c.length != 0x0, "NFTDiv: split USDT transfer failed"); (bool success18, bytes memory returnData18) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success18); uint256 value51 = this.code.length; uint256 value52 = var_c.length; if (success18) { uint256 value50 = returnData18.length; if (0x20 <= returnData18.length) { value50 = 0x20; } if (((var_c + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value50 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value50) - var_c) >= 0x20); } else { value51 = var_c; value52 = 0; } uint256 value54 = this.code.length; uint256 value55; if (unresolved_1be704e0 != address(0)) { (bool success19, bytes memory returnData19) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success19); uint256 value97 = var_c.length; if (success19) { uint256 value53 = returnData19.length; if (0x20 <= returnData19.length) { value53 = 0x20; } if (((var_c + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value53 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value53) - var_c) >= 0x20); } else { value97 = 0; } value55 = value97; } else { value54 = unresolved_1be704e0; value55 = 0; } if (!(usdt)) { bool flag19 = value55 != 0x0; if (value52 != 0x0) { flag19 = value52 != 0x0; } require(!flag19 && 0x0 != 0x0 || flag19, "NFTDiv: no balance"); uint256 value16 = value43 + value46; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value52; unresolved_d0dfe553 = value55; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value52 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success20, bytes memory returnData20) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success20); uint256 value57 = this.code.length; uint256 value58 = var_c.length; if (success20) { uint256 value56 = returnData20.length; if (0x20 <= returnData20.length) { value56 = 0x20; } if (((var_c + ((value56 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value56 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value56 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value56) - var_c) >= 0x20); } else { value57 = var_c; value58 = 0; } bool flag21 = value55 != 0x0; if (value52 != 0x0) { flag21 = value52 != 0x0; } require(!flag21 && value58 != 0x0 || flag21, "NFTDiv: no balance"); uint256 value16 = value52 + value55; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value52; unresolved_d0dfe553 = value55; unresolved_28cce4f4 = value58; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value52 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } } } else { require(0, "NFTDiv: split USDT transfer failed"); (bool success21, bytes memory returnData21) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success21); uint256 value60 = this.code.length; value61 = var_c.length; if (success21) { uint256 value59 = returnData21.length; if (0x20 <= returnData21.length) { value59 = 0x20; } if (((var_c + ((value59 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value59 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value59 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value59) - var_c) >= 0x20); } else { value60 = var_c; value61 = 0; } uint256 value63 = this.code.length; uint256 value64; if (unresolved_1be704e0 != address(0)) { (bool success22, bytes memory returnData22) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success22); uint256 value98 = var_c.length; if (success22) { uint256 value62 = returnData22.length; if (0x20 <= returnData22.length) { value62 = 0x20; } if (((var_c + ((value62 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value62 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value62 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value62) - var_c) >= 0x20); } else { value98 = 0; } value64 = value98; } else { value63 = unresolved_1be704e0; value64 = 0; } if (!(usdt)) { bool flag23 = value64 != 0x0; if (value61 != 0x0) { flag23 = value61 != 0x0; } require(!flag23 && 0x0 != 0x0 || flag23, "NFTDiv: no balance"); uint256 value16 = value52 + value55; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value61; unresolved_d0dfe553 = value64; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value61 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success23, bytes memory returnData23) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success23); uint256 value66 = this.code.length; uint256 value67 = var_c.length; if (success23) { uint256 value65 = returnData23.length; if (0x20 <= returnData23.length) { value65 = 0x20; } if (((var_c + ((value65 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value65 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value65 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value65) - var_c) >= 0x20); } else { value66 = var_c; value67 = 0; } bool flag25 = value64 != 0x0; if (value61 != 0x0) { flag25 = value61 != 0x0; } require(!flag25 && value67 != 0x0 || flag25, "NFTDiv: no balance"); uint256 value16 = value61 + value64; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value61; unresolved_d0dfe553 = value64; unresolved_28cce4f4 = value67; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value61 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } } } } } } else { (bool success24, bytes memory returnData24) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success24); uint256 value69 = this.code.length; value70 = var_c.length; if (success24) { uint256 value68 = returnData24.length; if (0x20 <= returnData24.length) { value68 = 0x20; } if (((var_c + ((value68 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value68 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value68 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value68) - var_c) >= 0x20); } else { value69 = var_c; value70 = 0; } uint256 value72 = this.code.length; uint256 value73; if (unresolved_1be704e0 != address(0)) { (bool success25, bytes memory returnData25) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success25); uint256 value99 = var_c.length; if (success25) { uint256 value71 = returnData25.length; if (0x20 <= returnData25.length) { value71 = 0x20; } if (((var_c + ((value71 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value71 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value71 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value71) - var_c) >= 0x20); } else { value99 = 0; } value73 = value99; } else { value72 = unresolved_1be704e0; value73 = 0; } if (!(usdt)) { bool flag27 = value73 != 0x0; if (value70 != 0x0) { flag27 = value70 != 0x0; } require(!flag27 && 0x0 != 0x0 || flag27, "NFTDiv: no balance"); uint256 value16 = value61 + value64; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value70; unresolved_d0dfe553 = value73; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value70 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success26, bytes memory returnData26) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success26); uint256 value75 = this.code.length; uint256 value76 = var_c.length; if (success26) { uint256 value74 = returnData26.length; if (0x20 <= returnData26.length) { value74 = 0x20; } if (((var_c + ((value74 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value74 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value74 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value74) - var_c) >= 0x20); } else { value75 = var_c; value76 = 0; } bool flag29 = value73 != 0x0; if (value70 != 0x0) { flag29 = value70 != 0x0; } require(!flag29 && value76 != 0x0 || flag29, "NFTDiv: no balance"); uint256 value16 = value70 + value73; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value70; unresolved_d0dfe553 = value73; unresolved_28cce4f4 = value76; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value70 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } } _desolexPanic(17); } } } } else { (bool success27, bytes memory returnData27) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success27); uint256 value78 = this.code.length; uint256 value79 = var_c.length; if (success27) { uint256 value77 = returnData27.length; if (0x20 <= returnData27.length) { value77 = 0x20; } if (((var_c + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value77 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value77) - var_c) >= 0x20); } else { value78 = var_c; value79 = 0; } uint256 value81 = this.code.length; uint256 value82; if (unresolved_1be704e0 != address(0)) { (bool success28, bytes memory returnData28) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success28); uint256 value100 = var_c.length; if (success28) { uint256 value80 = returnData28.length; if (0x20 <= returnData28.length) { value80 = 0x20; } if (((var_c + ((value80 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value80 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value80 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value80) - var_c) >= 0x20); } else { value100 = 0; } value82 = value100; } else { value81 = unresolved_1be704e0; value82 = 0; } if (!(usdt)) { bool flag31 = value82 != 0x0; if (value79 != 0x0) { flag31 = value79 != 0x0; } require(!flag31 && 0x0 != 0x0 || flag31, "NFTDiv: no balance"); uint256 value16 = value70 + value73; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value79; unresolved_d0dfe553 = value82; unresolved_28cce4f4 = 0; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value79 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } else { (bool success29, bytes memory returnData29) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success29); uint256 value84 = this.code.length; uint256 value85 = var_c.length; if (success29) { uint256 value83 = returnData29.length; if (0x20 <= returnData29.length) { value83 = 0x20; } if (((var_c + ((value83 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + ((value83 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65); var_c = var_c + ((value83 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_c + value83) - var_c) >= 0x20); } else { value84 = var_c; value85 = 0; } bool flag33 = value82 != 0x0; if (value79 != 0x0) { flag33 = value79 != 0x0; } require(!flag33 && value85 != 0x0 || flag33, "NFTDiv: no balance"); uint256 value16 = value79 + value82; uint256 value87 = 0xffffffffffffffffffffffffffffffffffffffff; uint256 value88 = 0; uint256 value89 = 0x04; uint256 value90 = value15; uint256 value91 = 0x20; uint256 value92 = value12; uint256 value93 = 0x40; while (true) { currentDistributionTotal = value79; unresolved_d0dfe553 = value82; unresolved_28cce4f4 = value85; stor_72 = 0x01; currentDistributionClaimed = 0; unresolved_0c7f93b5 = 0; unresolved_68630a06 = 0; distributionActive = true; if (value79 > value16) { break; } value16 = totalNFTRewards + value16; value87 = value88; value88 = value89; value89 = value90; value90 = value91; value91 = value92; value92 = value93; value93 = 0; } } _desolexPanic(17); } } } } } } function getDistributionProgress() public view returns (bytes memory) { return abi.encodePacked(stor_72, lockedNFTSupply); } function emergencyStopDistribution() public onlyOwner { distributionActive = false; lastDistributionEndTime = block.timestamp; emit DistributionCompleted(currentDistributionClaimed, unresolved_0c7f93b5, unresolved_68630a06); } function setDistributor(address newAddress) public onlyOwner { require((!(!(newAddress))), "NFTDiv: zero address"); distributor = newAddress; } function renounceOwnership() public onlyOwner { emit OwnershipTransferred(owner, address(0)); owner = address(0); } function distributeBatch(uint256 arg0) public { if (!(distributor == msg.sender)) { require(msg.sender == owner, "NFTDiv: not authorized"); } else { require(distributor == msg.sender, "NFTDiv: not authorized"); } require(distributionActive, "NFTDiv: no active distribution"); if (lockedNFTSupply == 0) { distributionActive = false; return; } else { uint256 value0 = this.code.length; uint256 value1 = lockedMaxTokenId + 0x01; if ((stor_72 + arg0) <= (lockedMaxTokenId + 0x01)) { value0 = lockedMaxTokenId + 0x01; value1 = stor_72 + arg0; } uint256 value2 = stor_72; uint256 value3 = 0; uint256 value4 = 0; uint256 value5 = 0; while (true) { uint256 var_g; if (value2 >= value1) { stor_72 = value1; currentDistributionClaimed = currentDistributionClaimed + value4; unresolved_0c7f93b5 = unresolved_0c7f93b5 + value5; unresolved_68630a06 = unresolved_68630a06 + value3; emit DividendDistributed(value1 - stor_72, value4, value5, value3); if (lockedMaxTokenId >= value1) { return; } distributionActive = false; lastDistributionEndTime = block.timestamp; uint256 value8 = this.code.length; if ((currentDistributionTotal - (currentDistributionClaimed + value4) != 0x0) && ((0xffffffffffffffffffffffffffffffffffffffff & remainderReceiver) != 0x0)) { (bool success0, bytes memory returnData0) = token.call(abi.encodeWithSelector(bytes4(0xa9059cbb), remainderReceiver, currentDistributionTotal - (currentDistributionClaimed + value4))); // call transfer require(success0); uint256 value6 = this.code.length; uint256 value7 = var_g.length; if (success0) { if (0x20 > returnData0.length) { if (((var_g + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + returnData0.length) - var_g) >= 0x20); } else { if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65); var_g = var_g + 0x20; require(((var_g + 0x20) - var_g) >= 0x20); } require(var_g.length == var_g.length); } else { value6 = var_g; value7 = 0; } require(value7 != 0x0, "NFTDiv: remainder transfer1 failed"); } else { value8 = currentDistributionTotal - (currentDistributionClaimed + value4); } bool flag1 = !(!(remainderReceiver)); if (unresolved_d0dfe553 - unresolved_0c7f93b5 == 0) { flag1 = !(!(unresolved_d0dfe553 - unresolved_0c7f93b5)); } uint256 value11 = this.code.length; if ((flag1) && ((0xffffffffffffffffffffffffffffffffffffffff & unresolved_1be704e0) != 0x0)) { (bool success1, bytes memory returnData1) = unresolved_1be704e0.call(abi.encodeWithSelector(bytes4(0xa9059cbb), remainderReceiver, unresolved_d0dfe553 - unresolved_0c7f93b5)); // call transfer require(success1); uint256 value9 = this.code.length; uint256 value10 = var_g.length; if (success1) { if (0x20 > returnData1.length) { if (((var_g + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + returnData1.length) - var_g) >= 0x20); } else { if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65); var_g = var_g + 0x20; require(((var_g + 0x20) - var_g) >= 0x20); } require(var_g.length == var_g.length); } else { value9 = var_g; value10 = 0; } require(value10 != 0x0, "NFTDiv: remainder transfer2 failed"); } else { value11 = unresolved_d0dfe553 - unresolved_0c7f93b5; } bool flag3 = !(!(remainderReceiver)); if (unresolved_28cce4f4 - unresolved_68630a06 == 0) { flag3 = !(!(unresolved_28cce4f4 - unresolved_68630a06)); } uint256 value14 = 0x20; if ((flag3) && ((0xffffffffffffffffffffffffffffffffffffffff & usdt) != 0x0)) { (bool success2, bytes memory returnData2) = usdt.call(abi.encodeWithSelector(bytes4(0xa9059cbb), remainderReceiver, unresolved_28cce4f4 - unresolved_68630a06)); // call transfer require(success2); uint256 value12 = this.code.length; uint256 value13 = var_g.length; if (success2) { if (0x20 > returnData2.length) { if (((var_g + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((returnData2.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + returnData2.length) - var_g) >= 0x20); } else { if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65); var_g = var_g + 0x20; require(((var_g + 0x20) - var_g) >= 0x20); } require(var_g.length == var_g.length); } else { value12 = var_g; value13 = 0; } require(value13 != 0x0, "NFTDiv: USDT remainder transfer failed"); } else { value14 = unresolved_28cce4f4 - unresolved_68630a06; } emit DistributionCompleted(currentDistributionClaimed, unresolved_0c7f93b5, unresolved_68630a06); return; } (bool success3, bytes memory returnData3) = nft.ownerOf(value2); // staticcall uint256 value16 = this.code.length; uint256 value17 = var_g.length; if (success3) { uint256 value15 = returnData3.length; if (0x20 <= returnData3.length) { value15 = 0x20; } if (((var_g + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((value15 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + value15) - var_g) >= 0x20); require(var_g.length == (address(var_g.length))); } else { value16 = var_g; value17 = 0; } uint256 value31; uint256 value32; uint256 value33; if (success3) { uint256 value34 = value3; uint256 value35 = value4; uint256 value36 = value5; if (!((value17 & 0xffffffffffffffffffffffffffffffffffffffff) != 0x0 && 0xdead == (value17 & 0xffffffffffffffffffffffffffffffffffffffff) || (value17 & 0xffffffffffffffffffffffffffffffffffffffff) == 0x0)) { bool flag6; if (perNFTAmount != 0) { (bool success4, bytes memory returnData4) = token.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success4); bool flag11 = !(var_g.length < perNFTAmount); if (success4) { uint256 value18 = returnData4.length; if (0x20 <= returnData4.length) { value18 = 0x20; } if (((var_g + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((value18 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + value18) - var_g) >= 0x20); } else { flag11 = !(0 < perNFTAmount); } flag6 = flag11; } else { flag6 = perNFTAmount; } uint256 value21 = this.code.length; uint256 value28 = perNFTAmount; if (flag6) { claimedNFTDividend[address(value17)] = claimedNFTDividend[address(value17)] + perNFTAmount; (bool success5, bytes memory returnData5) = token.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(value17), perNFTAmount)); // call transfer require(success5); uint256 value19 = this.code.length; uint256 value20 = var_g.length; if (success5) { if (0x20 > returnData5.length) { if (((var_g + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + returnData5.length) - var_g) >= 0x20); } else { if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65); var_g = var_g + 0x20; require(((var_g + 0x20) - var_g) >= 0x20); } require(var_g.length == var_g.length); } else { value19 = var_g; value20 = 0; } require(value20 != 0x0, "NFTDiv: transfer1 failed"); } else { value21 = perNFTAmount; value28 = 0; } bool flag7 = !(!(unresolved_1be704e0)); if (unresolved_02d3489e == 0) { flag7 = unresolved_02d3489e; } bool flag8; if (flag7) { (bool success6, bytes memory returnData6) = unresolved_1be704e0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success6); bool flag12 = !(var_g.length < unresolved_02d3489e); if (success6) { uint256 value22 = returnData6.length; if (0x20 <= returnData6.length) { value22 = 0x20; } if (((var_g + ((value22 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value22 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((value22 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + value22) - var_g) >= 0x20); } else { flag12 = !(0 < unresolved_02d3489e); } flag8 = flag12; } else { flag8 = flag7; } uint256 value25 = this.code.length; uint256 value27 = unresolved_02d3489e; if (flag8) { unresolved_f17f8b47[address(value17)] = unresolved_f17f8b47[address(value17)] + unresolved_02d3489e; (bool success7, bytes memory returnData7) = unresolved_1be704e0.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(value17), unresolved_02d3489e)); // call transfer require(success7); uint256 value23 = this.code.length; uint256 value24 = var_g.length; if (success7) { if (0x20 > returnData7.length) { if (((var_g + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((returnData7.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + returnData7.length) - var_g) >= 0x20); } else { if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65); var_g = var_g + 0x20; require(((var_g + 0x20) - var_g) >= 0x20); } require(var_g.length == var_g.length); } else { value23 = var_g; value24 = 0; } require(value24 != 0x0, "NFTDiv: transfer2 failed"); } else { value25 = unresolved_02d3489e; value27 = 0; } bool flag9 = !(!(usdt)); if (unresolved_6a0fc3a0 == 0) { flag9 = unresolved_6a0fc3a0; } bool flag10; if (flag9) { (bool success8, bytes memory returnData8) = usdt.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf require(success8); bool flag13 = !(var_g.length < unresolved_6a0fc3a0); if (success8) { uint256 value26 = returnData8.length; if (0x20 <= returnData8.length) { value26 = 0x20; } if (((var_g + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((value26 + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + value26) - var_g) >= 0x20); } else { flag13 = !(0 < unresolved_6a0fc3a0); } flag10 = flag13; } else { flag10 = flag9; } uint256 value37 = value3 + unresolved_6a0fc3a0; if (flag10) { unresolved_2a31f6fb[address(value17)] = unresolved_2a31f6fb[address(value17)] + unresolved_6a0fc3a0; (bool success9, bytes memory returnData9) = usdt.call(abi.encodeWithSelector(bytes4(0xa9059cbb), address(value17), unresolved_6a0fc3a0)); // call transfer require(success9); uint256 value29 = this.code.length; uint256 value30 = var_g.length; if (success9) { if (0x20 > returnData9.length) { if (((var_g + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_g + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_g)) _desolexPanic(65); var_g = var_g + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); require(((var_g + returnData9.length) - var_g) >= 0x20); } else { if (((var_g + 0x20) > 0xffffffffffffffff) | ((var_g + 0x20) < var_g)) _desolexPanic(65); var_g = var_g + 0x20; require(((var_g + 0x20) - var_g) >= 0x20); } require(var_g.length == var_g.length); } else { value29 = var_g; value30 = 0; } require(value30 != 0x0, "NFTDiv: USDT transfer failed"); emit Event_fe681dfb(address(value17), value2, value28, value27, unresolved_6a0fc3a0); } else { emit Event_fe681dfb(address(value17), value2, value28, value27, 0); value37 = value3 + 0; } value34 = value37; value35 = value4 + value28; value36 = value5 + value27; } value31 = value34; value32 = value35; value33 = value36; } else { value31 = value3; value32 = value4; value33 = value5; } value2 = value2 + 0x01; value3 = value31; value4 = value32; value5 = value33; } } } function setRemainderReceiver(address newAddress) public onlyOwner { require((!(!(newAddress))), "NFTDiv: zero address"); remainderReceiver = newAddress; } function setBatchSize(uint256 newBatchSize) public onlyOwner { require(newBatchSize != 0x0, "NFTDiv: batch size zero"); batchSize = newBatchSize; } function setUSDT(address newAddress) public onlyOwner { require((!(!(newAddress))), "NFTDiv: zero address"); usdt = newAddress; } function setSplitRatio(uint256 newSplitRatio) public onlyOwner { require(newSplitRatio <= 0x2710, "NFTDiv: ratio too high"); splitRatio = newSplitRatio; } function Unknown_44969094(address arg0) public onlyOwner { unresolved_1be704e0 = arg0; } function withdrawBNB() public onlyOwner { (bool success0, bytes memory returnData0) = address(msg.sender).call{ value: address(this).balance }(""); // call if ((returnData0.length) != 0x0) { if (!(returnData0.length <= 0xffffffffffffffff)) _desolexPanic(65); uint256 var_a; if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65); var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (returnData0.length + 0x1f))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0)); } require(success0, "NFTDiv: BNB withdraw failed"); } function setSplitReceiver(address newAddress) public onlyOwner { require((!(!(newAddress))), "NFTDiv: zero address"); splitReceiver = newAddress; } function currentTokenId() public view returns (uint256) { return stor_72; } 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. // 0x009a9b7b => currentTokenId() // 0x02d3489e => unresolved_02d3489e() // 0x02dd397d => lastDistributionEndTime() // 0x057259c2 => lockedMaxTokenId() // 0x0bcdf062 => lockedNFTSupply() // 0x0c7f93b5 => unresolved_0c7f93b5() // 0x0e973226 => perNFTAmount() // 0x15ac9c41 => setSplitReceiver(address) // 0x1be704e0 => unresolved_1be704e0() // 0x1d111d13 => withdrawBNB() // 0x28cce4f4 => unresolved_28cce4f4() // 0x2a31f6fb => unresolved_2a31f6fb(address) // 0x2f48ab7d => usdt() // 0x336784c4 => claimedNFTDividend(address) // 0x3eb9b901 => unresolved_3eb9b901() // 0x4059b1c2 => splitReceiver() // 0x44969094 => Unknown_44969094(address) // 0x47ccca02 => nft() // 0x4af669bf => setSplitRatio(uint256) // 0x50c1b923 => setUSDT(address) // 0x576f35e3 => setBatchSize(uint256) // 0x57c9fe68 => currentDistributionClaimed() // 0x5c59f3bb => splitRatio() // 0x67f747ef => setRemainderReceiver(address) // 0x68630a06 => unresolved_68630a06() // 0x6a0fc3a0 => unresolved_6a0fc3a0() // 0x6a131175 => distributeBatch(uint256) // 0x715018a6 => renounceOwnership() // 0x75619ab5 => setDistributor(address) // 0x7fb8be15 => emergencyStopDistribution() // 0x8d2589b0 => remainderReceiver() // 0x8da5cb5b => owner() // 0x8e312aac => DISTRIBUTION_COOLDOWN() // 0x99fb15d2 => distributionActive() // 0xa49ab8c7 => getDistributionProgress() // 0xbfe10928 => distributor() // 0xd0dfe553 => unresolved_d0dfe553() // 0xd83623dd => startDistribution() // 0xe5254845 => currentDistributionTotal() // 0xf17f8b47 => unresolved_f17f8b47(address) // 0xf1b2a03f => totalNFTRewards() // 0xf2fde38b => transferOwnership(address) // 0xf4daaba1 => batchSize() // 0xf8c8765e => initialize(address,address,address,address) // 0xfc0c546a => token()}