Ethereum

0x2234a8467fe1d372b6155cfc033854eed9dfa836

Decompiled Solidity recovered from this contract's runtime bytecode. Best-effort reconstruction — confirm behaviour against on-chain state.

Decompilation outputEthereum · 0x2234a846…d9dfa83613.8 KB21.2 s
Share
3,053 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 public constant unresolved_ecc34e60 = 22154441650658625721468672576359056;    uint256 public constant morpho = 1071767867375834718561649552532670117991385333707;    uint256 public constant unresolved_bc3eee61 = 773725381719276160229242488166406195640368342242;    uint256 public constant self = 195279983812120867349059471986669464989477087286;    uint256 public constant unresolved_2352bfd5 = 714502710703523971254698233933324635463053330345;    uint256 public constant unresolved_051105d5 = 1062276670219503018717391839032010498165418226376;        address public owner; // STORAGE[0x0]    uint256 public checksum; // STORAGE[0x1]    mapping(address => bool) public allowed_searchers; // STORAGE[0x2]    mapping(uint256 => address) public map_address; // STORAGE[0x3]    mapping(uint256 => uint256) public map_uint256; // STORAGE[0x4]    mapping(uint256 => uint256) public map_bytes32; // STORAGE[0x5]    mapping(uint256 => bool) public map_bool; // STORAGE[0x6]    mapping(uint256 => uint256) public gas_garbage; // STORAGE[0x7]    uint256 public gas_garbage_count; // STORAGE[0x8]    mapping(bytes4 => address) public implementations; // STORAGE[0x9]        function _desolexPanic(uint256 code) private pure {        assembly ("memory-safe") {            mstore(0x00, shl(224, 0x4e487b71))            mstore(0x04, code)            revert(0x00, 0x24)        }    }    fallback() external payable {        // Synthetic compatibility routes preserve original selectors for unresolved names.        if ((msg.data.length >= 4) && (msg.sig == 0x08bbf43c)) {            // Route to Unknown_08bbf43c(bytes,uint256) after replacing only msg.sig.            __desolexSelectorShim(uint32(0x50a467a1));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0x5b1330bc)) {            // Route to Unknown_5b1330bc() after replacing only msg.sig.            __desolexSelectorShim(uint32(0x5a7cbfa2));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0x898054c6)) {            // Route to Unknown_898054c6(bytes,address,uint256,bool) after replacing only msg.sig.            __desolexSelectorShim(uint32(0xb19fd13c));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0x9c078d2d)) {            // Route to Unknown_9c078d2d(address,address,uint256,uint256,uint256,bytes) after replacing only msg.sig.            __desolexSelectorShim(uint32(0x25e28d92));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0xaa4899ee)) {            // Route to Unknown_aa4899ee(address,address,uint256,uint256,uint256,bytes) after replacing only msg.sig.            __desolexSelectorShim(uint32(0xda73e847));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0xad23241e)) {            // Route to Unknown_ad23241e(bytes) after replacing only msg.sig.            __desolexSelectorShim(uint32(0x0eb206b0));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0xe8c8de1e)) {            // Route to Unknown_e8c8de1e(address,address,uint256,uint256,uint256,bytes,bool) after replacing only msg.sig.            __desolexSelectorShim(uint32(0x5cf7bea7));            return;        }        if ((msg.data.length >= 4) && (msg.sig == 0xe8fa0778)) {            // Route to Unknown_e8fa0778() after replacing only msg.sig.            __desolexSelectorShim(uint32(0xca2af77d));            return;        }        revert();    }            function Unknown_e8fa0778() public view {        if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0) {            require(allowed_searchers[msg.sender], "Caller is not searcher");            require(msg.data.length <= msg.data.length);            if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) > 0xffffffffffffffff) _desolexPanic(65);            uint256 var_c;            if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);            var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            require(!((0x04 + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)) > msg.data.length));            var_e = msg.data[4:4];            if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);            var_c = var_c + 0x40;            if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);            var_c = var_c + 0x40;            uint256 value0 = 0;            if (var_c.length != 0) {                uint256 value32 = 0;                if (var_j >= 0xc0) {                    value32 = 0x01;                }                value0 = value32;            }            require(value0 != 0x0);            if (var_c.length != 0x0) {                uint256 value1;                if (!(var_k < 0x80)) {                    bool flag0;                    if (!(var_k < 0xb8)) {                        bool flag19 = !(var_k < 0xc0);                        if (!(var_k < 0xc0)) {                            flag19 = var_k < 0xf8;                        }                        flag0 = flag19;                    } else {                        flag0 = var_k < 0xb8;                    }                    uint256 value33;                    if (!flag0) {                        uint256 value34 = (var_l + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                        if (!(var_k < 0xc0)) {                        } else {                            value34 = (var_l + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                        }                        value33 = value34;                    } else {                        value33 = 0x01;                    }                    value1 = value33;                } else {                    value1 = 0;                }                if ((var_e + value1) >= (var_e + var_c.length)) {                    if (!(0 <= 0xffffffffffffffff)) _desolexPanic(65);                    if (((var_c + 0x20) > 0xffffffffffffffff) | ((var_c + 0x20) < var_c)) _desolexPanic(65);                    var_c = var_c + 0x20;                    if (!(0 <= 0xffffffffffffffff)) _desolexPanic(65);                    uint256 value2;                    if (!(var_j < 0x80)) {                        bool flag1;                        if (!(var_j < 0xb8)) {                            bool flag20 = !(var_j < 0xc0);                            if (var_j >= 0xc0) {                                flag20 = var_j < 0xf8;                            }                            flag1 = flag20;                        } else {                            flag1 = var_j < 0xb8;                        }                        uint256 value35;                        if (!flag1) {                            uint256 value36 = (var_j + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                            if (var_j >= 0xc0) {                            } else {                                value36 = (var_j + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                            }                            value35 = value36;                        } else {                            value35 = 0x01;                        }                        value2 = value35;                    } else {                        value2 = 0;                    }                    if (var_c.length != 0x0) {                        if (var_o == 0x15) {                            uint256 value3 = this.code.length;                            bool flag2 = !(var_o > 0x21);                            if (!(var_o)) {                                value3 = var_o;                                flag2 = !(!(var_o));                            }                            require(flag2);                            uint256 value4;                            if (!(var_q < 0x80)) {                                if (!(var_q < 0xb8)) {                                }                                uint256 value37;                                if (!(BYTE(0x0, var_q) >= 0xb8 && (var_q >= 0xc0 && var_q < 0xf8) || BYTE(0x0, var_q) < 0xb8)) {                                    uint256 value38 = (var_r + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                    if (!(var_q < 0xc0)) {                                    } else {                                        value38 = (var_r + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                    }                                    value37 = value38;                                } else {                                    value37 = 0x01;                                }                                value4 = value37;                            } else {                                value4 = 0;                            }                            uint256 value5 = var_t / (0x0100 ** (0x20 - (var_u - value4)));                            if (!((var_u - value4) < 0x20)) {                                value5 = var_t;                            }                            if (!(0x01 < var_v)) _desolexPanic(50);                            require(var_w == 0x15);                            uint256 value6 = this.code.length;                            bool flag4 = !(var_w > 0x21);                            if (!(var_w)) {                                value6 = var_w;                                flag4 = !(!(var_w));                            }                            require(flag4);                            uint256 value7;                            if (!(var_q < 0x80)) {                                if (!(var_q < 0xb8)) {                                }                                uint256 value39;                                if (!(BYTE(0x0, var_q) >= 0xb8 && (var_q >= 0xc0 && var_q < 0xf8) || BYTE(0x0, var_q) < 0xb8)) {                                    uint256 value40 = (var_r + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                    if (!(var_q < 0xc0)) {                                    } else {                                        value40 = (var_r + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                    }                                    value39 = value40;                                } else {                                    value39 = 0x01;                                }                                value7 = value39;                            } else {                                value7 = 0;                            }                            uint256 value8 = var_y / (0x0100 ** (0x20 - (var_z - value7)));                            if (!((var_z - value7) < 0x20)) {                                value8 = var_y;                            }                            if (0x02 < var_c.length) {                                uint256 value9 = this.code.length;                                bool flag6 = !(var_ab > 0x21);                                if (!(var_ab)) {                                    value9 = var_ab;                                    flag6 = !(!(var_ab));                                }                                if (flag6) {                                    uint256 value10;                                    if (!(var_q < 0x80)) {                                        if (!(var_q < 0xb8)) {                                        }                                        uint256 value41;                                        if (!(BYTE(0x0, var_q) >= 0xb8 && (var_q >= 0xc0 && var_q < 0xf8) || BYTE(0x0, var_q) < 0xb8)) {                                            uint256 value42 = (var_ad + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                            if (!(var_q < 0xc0)) {                                            } else {                                                value42 = (var_ad + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                            }                                            value41 = value42;                                        } else {                                            value41 = 0x01;                                        }                                        value10 = value41;                                    } else {                                        value10 = 0;                                    }                                    if ((var_ab - value10) >= 0x20) {                                        if (0x03 < var_c.length) {                                            uint256 value11 = this.code.length;                                            bool flag8 = !(var_af > 0x21);                                            if (!(var_af)) {                                                value11 = var_af;                                                flag8 = !(!(var_af));                                            }                                            if (flag8) {                                                uint256 value12;                                                if (!(var_q < 0x80)) {                                                    if (!(var_q < 0xb8)) {                                                    }                                                    uint256 value43;                                                    if (!(BYTE(0x0, var_q) >= 0xb8 && (var_q >= 0xc0 && var_q < 0xf8) || BYTE(0x0, var_q) < 0xb8)) {                                                        uint256 value44 = (var_ai + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                        if (!(var_q < 0xc0)) {                                                        } else {                                                            value44 = (var_ai + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                        }                                                        value43 = value44;                                                    } else {                                                        value43 = 0x01;                                                    }                                                    value12 = value43;                                                } else {                                                    value12 = 0;                                                }                                                if ((var_af - value12) >= 0x20) {                                                    if (0x04 < var_c.length) {                                                        uint256 value13 = this.code.length;                                                        bool flag10 = !(var_ak > 0x21);                                                        if (!(var_ak)) {                                                            value13 = var_ak;                                                            flag10 = !(!(var_ak));                                                        }                                                        if (flag10) {                                                            uint256 value14;                                                            if (!(var_q < 0x80)) {                                                                if (!(var_q < 0xb8)) {                                                                }                                                                uint256 value45;                                                                if (!(BYTE(0x0, var_q) >= 0xb8 && (var_q >= 0xc0 && var_q < 0xf8) || BYTE(0x0, var_q) < 0xb8)) {                                                                    uint256 value46 = (var_an + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                    if (!(var_q < 0xc0)) {                                                                    } else {                                                                        value46 = (var_an + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                    }                                                                    value45 = value46;                                                                } else {                                                                    value45 = 0x01;                                                                }                                                                value14 = value45;                                                            } else {                                                                value14 = 0;                                                            }                                                            if ((var_ak - value14) >= 0x20) {                                                                if (0x05 < var_c.length) {                                                                    uint256 value15 = this.code.length;                                                                    bool flag12 = !(var_ap > 0x21);                                                                    if (!(var_ap)) {                                                                        value15 = var_ap;                                                                        flag12 = !(!(var_ap));                                                                    }                                                                    if (flag12) {                                                                        uint256 value16;                                                                        if (!(var_q < 0x80)) {                                                                            if (!(var_q < 0xb8)) {                                                                            }                                                                            uint256 value47;                                                                            if (!(BYTE(0x0, var_q) >= 0xb8 && (var_q >= 0xc0 && var_q < 0xf8) || BYTE(0x0, var_q) < 0xb8)) {                                                                                uint256 value48 = (var_as + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                                if (!(var_q < 0xc0)) {                                                                                } else {                                                                                    value48 = (var_as + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                                }                                                                                value47 = value48;                                                                            } else {                                                                                value47 = 0x01;                                                                            }                                                                            value16 = value47;                                                                        } else {                                                                            value16 = 0;                                                                        }                                                                        if ((var_ap - value16) < 0x20) {                                                                            if (0x06 < var_c.length) {                                                                                uint256 value17 = 0;                                                                                if (var_av) {                                                                                    uint256 value49 = 0;                                                                                    if (var_aw >= 0xc0) {                                                                                        value49 = 0x01;                                                                                    }                                                                                    value17 = value49;                                                                                }                                                                                require(value17 != 0x0);                                                                                if (var_av) {                                                                                    uint256 value18;                                                                                    if (!(var_k < 0x80)) {                                                                                        if (!(var_k < 0xb8)) {                                                                                        }                                                                                        uint256 value50;                                                                                        if (!(BYTE(0x0, var_k) >= 0xb8 && (var_k >= 0xc0 && var_k < 0xf8) || BYTE(0x0, var_k) < 0xb8)) {                                                                                            uint256 value51 = (var_ay + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                                            if (!(var_k < 0xc0)) {                                                                                            } else {                                                                                                value51 = (var_ay + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                                            }                                                                                            value50 = value51;                                                                                        } else {                                                                                            value50 = 0x01;                                                                                        }                                                                                        value18 = value50;                                                                                    } else {                                                                                        value18 = 0;                                                                                    }                                                                                    uint256 value19 = var_ax + value28;                                                                                    uint256 value20 = 0;                                                                                    while (true) {                                                                                        if (value19 >= (var_ax + var_av)) {                                                                                            if (!(value20 <= 0xffffffffffffffff)) _desolexPanic(65);                                                                                            if (((var_c + (((0x20 + (value20 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (value20 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                                            var_c = var_c + (((0x20 + (value20 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                                            if (!(value20 <= 0xffffffffffffffff)) _desolexPanic(65);                                                                                            uint256 value21 = 0;                                                                                            while (true) {                                                                                                if (value21 >= 0) {                                                                                                    uint256 value22;                                                                                                    if (!(var_aw < 0x80)) {                                                                                                        bool flag15;                                                                                                        if (!(var_aw < 0xb8)) {                                                                                                            bool flag28 = !(var_aw < 0xc0);                                                                                                            if (var_aw >= 0xc0) {                                                                                                                flag28 = var_aw < 0xf8;                                                                                                            }                                                                                                            flag15 = flag28;                                                                                                        } else {                                                                                                            flag15 = var_aw < 0xb8;                                                                                                        }                                                                                                        uint256 value52;                                                                                                        if (!flag15) {                                                                                                            uint256 value53 = (var_aw + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                                                            if (var_aw >= 0xc0) {                                                                                                            } else {                                                                                                                value53 = (var_aw + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                                                            }                                                                                                            value52 = value53;                                                                                                        } else {                                                                                                            value52 = 0x01;                                                                                                        }                                                                                                        value22 = value52;                                                                                                    } else {                                                                                                        value22 = 0;                                                                                                    }                                                                                                    uint256 value24 = var_ax + value22;                                                                                                    uint256 value23 = 0;                                                                                                    while (true) {                                                                                                        if (value23 >= 0) {                                                                                                            break;                                                                                                        }                                                                                                        if (!(var_ba < 0x80)) {                                                                                                            break;                                                                                                        }                                                                                                        if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                                                                                        var_c = var_c + 0x40;                                                                                                        if (!(value23 < var_c.length)) _desolexPanic(50);                                                                                                        if (!(value23 < var_c.length)) {                                                                                                            _desolexPanic(50);                                                                                                            break;                                                                                                        }                                                                                                        if (value24 > value24 + 0x1) {                                                                                                            _desolexPanic(17);                                                                                                            break;                                                                                                        }                                                                                                        value24 = value24 + 0x01;                                                                                                        value23 = value23 + 0x01;                                                                                                    }                                                                                                }                                                                                            }                                                                                        }                                                                                    }                                                                                }                                                                            }                                                                        } else {                                                                            if (!((0x06 < var_c.length))) _desolexPanic(50);                                                                            uint256 value25 = 0;                                                                            if (var_av) {                                                                                uint256 value54 = 0;                                                                                if (var_aw >= 0xc0) {                                                                                    value54 = 0x01;                                                                                }                                                                                value25 = value54;                                                                            }                                                                            require(value25 != 0x0);                                                                            if (!(var_av)) {                                                                                if (!(0 <= 0xffffffffffffffff)) _desolexPanic(65);                                                                                if (((var_c + 0x20) > 0xffffffffffffffff) | ((var_c + 0x20) < var_c)) _desolexPanic(65);                                                                                var_c = var_c + 0x20;                                                                                if (!(0 <= 0xffffffffffffffff)) _desolexPanic(65);                                                                                uint256 value21 = 0;                                                                                while (true) {                                                                                    if (value21 >= 0) {                                                                                        break;                                                                                    }                                                                                    if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                                                                    var_c = var_c + 0x40;                                                                                    value21 = value21 + 0x20;                                                                                }                                                                                uint256 value26;                                                                                if (!(var_aw < 0x80)) {                                                                                    bool flag16;                                                                                    if (!(var_aw < 0xb8)) {                                                                                        bool flag29 = !(var_aw < 0xc0);                                                                                        if (var_aw >= 0xc0) {                                                                                            flag29 = var_aw < 0xf8;                                                                                        }                                                                                        flag16 = flag29;                                                                                    } else {                                                                                        flag16 = var_aw < 0xb8;                                                                                    }                                                                                    uint256 value55;                                                                                    if (!flag16) {                                                                                        uint256 value56 = (var_aw + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                                        if (var_aw >= 0xc0) {                                                                                        } else {                                                                                            value56 = (var_aw + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                                        }                                                                                        value55 = value56;                                                                                    } else {                                                                                        value55 = 0x01;                                                                                    }                                                                                    value26 = value55;                                                                                } else {                                                                                    value26 = 0;                                                                                }                                                                                uint256 value24 = var_ax + value22;                                                                                uint256 value23 = 0;                                                                                while (true) {                                                                                    if (value23 >= 0) {                                                                                        break;                                                                                    }                                                                                    uint256 value27;                                                                                    if (!(var_ba < 0x80)) {                                                                                        uint256 value57;                                                                                        if (!(var_ba < 0xb8)) {                                                                                            uint256 value58;                                                                                            if (!(var_ba < 0xc0)) {                                                                                                uint256 value59 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a + (var_be / (0x0100 ** (0xf7 + (0x20 - var_ba))) + var_ba);                                                                                                if (var_ba < 0xf8) {                                                                                                    value59 = (var_ba + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40) + 0x01;                                                                                                }                                                                                                value58 = value59;                                                                                            } else {                                                                                                value58 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a + (var_be / (0x0100 ** (0xb7 + (0x20 - var_ba))) + var_ba);                                                                                            }                                                                                            value57 = value58;                                                                                        } else {                                                                                            value57 = (var_ba + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) + 0x01;                                                                                        }                                                                                        value27 = value57;                                                                                    } else {                                                                                        value27 = 0x01;                                                                                    }                                                                                    if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                                                                    var_c = var_c + 0x40;                                                                                    if (!(value23 < var_c.length)) _desolexPanic(50);                                                                                    if (!(value23 < var_c.length)) {                                                                                        _desolexPanic(50);                                                                                        break;                                                                                    }                                                                                    if (value24 > value24 + value27) {                                                                                        _desolexPanic(17);                                                                                        break;                                                                                    }                                                                                    value24 = value24 + value27;                                                                                    value23 = value23 + 0x01;                                                                                }                                                                            } else {                                                                                uint256 value28;                                                                                if (!(var_k < 0x80)) {                                                                                    if (!(var_k < 0xb8)) {                                                                                    }                                                                                    uint256 value60;                                                                                    if (!(BYTE(0x0, var_k) >= 0xb8 && (var_k >= 0xc0 && var_k < 0xf8) || BYTE(0x0, var_k) < 0xb8)) {                                                                                        uint256 value61 = (var_ay + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                                        if (!(var_k < 0xc0)) {                                                                                        } else {                                                                                            value61 = (var_ay + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                                        }                                                                                        value60 = value61;                                                                                    } else {                                                                                        value60 = 0x01;                                                                                    }                                                                                    value28 = value60;                                                                                } else {                                                                                    value28 = 0;                                                                                }                                                                                uint256 value19 = var_ax + value28;                                                                                uint256 value20 = 0;                                                                                while (true) {                                                                                    if (value19 >= (var_ax + var_av)) {                                                                                        break;                                                                                    }                                                                                    uint256 value29;                                                                                    if (!(var_bf < 0x80)) {                                                                                        uint256 value62;                                                                                        if (!(var_bf < 0xb8)) {                                                                                            uint256 value63;                                                                                            if (!(var_bf < 0xc0)) {                                                                                                uint256 value64 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a + (var_bg / (0x0100 ** (0xf7 + (0x20 - var_bh))) + var_bh);                                                                                                if (var_bf < 0xf8) {                                                                                                    value64 = (var_bh + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40) + 0x01;                                                                                                }                                                                                                value63 = value64;                                                                                            } else {                                                                                                value63 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a + (var_bg / (0x0100 ** (0xb7 + (0x20 - var_bh))) + var_bh);                                                                                            }                                                                                            value62 = value63;                                                                                        } else {                                                                                            value62 = (var_bh + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) + 0x01;                                                                                        }                                                                                        value29 = value62;                                                                                    } else {                                                                                        value29 = 0x01;                                                                                    }                                                                                    if (value19 > value19 + value29) {                                                                                        _desolexPanic(17);                                                                                        break;                                                                                    }                                                                                    if (value20 == 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) {                                                                                        _desolexPanic(17);                                                                                        break;                                                                                    }                                                                                    value19 = value19 + value29;                                                                                    value20 = 0x01 + value20;                                                                                }                                                                                if (!(value20 <= 0xffffffffffffffff)) _desolexPanic(65);                                                                                if (((var_c + (((0x20 + (value20 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (value20 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                                                var_c = var_c + (((0x20 + (value20 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                                if (!(value20 <= 0xffffffffffffffff)) _desolexPanic(65);                                                                                uint256 value21 = 0;                                                                                while (true) {                                                                                    if (value21 >= 0) {                                                                                        break;                                                                                    }                                                                                    if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                                                                    var_c = var_c + 0x40;                                                                                    value21 = value21 + 0x20;                                                                                }                                                                                uint256 value30;                                                                                if (!(var_aw < 0x80)) {                                                                                    bool flag18;                                                                                    if (!(var_aw < 0xb8)) {                                                                                        bool flag31 = !(var_aw < 0xc0);                                                                                        if (var_aw >= 0xc0) {                                                                                            flag31 = var_aw < 0xf8;                                                                                        }                                                                                        flag18 = flag31;                                                                                    } else {                                                                                        flag18 = var_aw < 0xb8;                                                                                    }                                                                                    uint256 value65;                                                                                    if (!flag18) {                                                                                        uint256 value66 = (var_aw + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                                        if (var_aw >= 0xc0) {                                                                                        } else {                                                                                            value66 = (var_aw + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                                        }                                                                                        value65 = value66;                                                                                    } else {                                                                                        value65 = 0x01;                                                                                    }                                                                                    value30 = value65;                                                                                } else {                                                                                    value30 = 0;                                                                                }                                                                                uint256 value24 = var_ax + value22;                                                                                uint256 value23 = 0;                                                                                while (true) {                                                                                    if (value23 >= 0) {                                                                                        break;                                                                                    }                                                                                    uint256 value31;                                                                                    if (!(var_ba < 0x80)) {                                                                                        uint256 value67;                                                                                        if (!(var_ba < 0xb8)) {                                                                                            uint256 value68;                                                                                            if (!(var_ba < 0xc0)) {                                                                                                uint256 value69 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a + (var_be / (0x0100 ** (0xf7 + (0x20 - var_ba))) + var_ba);                                                                                                if (var_ba < 0xf8) {                                                                                                    value69 = (var_ba + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40) + 0x01;                                                                                                }                                                                                                value68 = value69;                                                                                            } else {                                                                                                value68 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a + (var_be / (0x0100 ** (0xb7 + (0x20 - var_ba))) + var_ba);                                                                                            }                                                                                            value67 = value68;                                                                                        } else {                                                                                            value67 = (var_ba + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) + 0x01;                                                                                        }                                                                                        value31 = value67;                                                                                    } else {                                                                                        value31 = 0x01;                                                                                    }                                                                                    if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                                                                    var_c = var_c + 0x40;                                                                                    if (!(value23 < var_c.length)) _desolexPanic(50);                                                                                    if (!(value23 < var_c.length)) {                                                                                        _desolexPanic(50);                                                                                        break;                                                                                    }                                                                                    if (value24 > value24 + value31) {                                                                                        _desolexPanic(17);                                                                                        break;                                                                                    }                                                                                    value24 = value24 + value31;                                                                                    value23 = value23 + 0x01;                                                                                }                                                                            }                                                                            if (!(var_c.length <= 0xffffffffffffffff)) _desolexPanic(65);                                                                        }                                                                    }                                                                }                                                            }                                                        }                                                    }                                                }                                            }                                        }                                    }                                }                            }                        }                    }                }            }        }    }        function Unknown_e8c8de1e(address arg0, address arg1, uint256 arg2, uint256 arg3, uint256 arg4, bytes memory arg5, bool arg6) public payable returns (bytes memory) {        require(((0x04 + arg5) + 0x1f) < msg.data.length);        if (arg5.length > 0xffffffffffffffff) _desolexPanic(65);        uint256 var_a;        if (((var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);        var_a = var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        require(!(((0x04 + arg5) + (arg5.length << 0x05) + 0x20) > msg.data.length));        uint256 value1 = var_a + 0x20;        uint256 value0 = (0x04 + arg5) + 0x20;        while (true) {            if (!(value0 < ((0x04 + arg5) + (arg5.length << 0x05) + 0x20))) {                break;            }            if (msg.data[value0] > 0xffffffffffffffff) {                revert();                break;            }            if (((msg.data.length - ((0x04 + arg5) + msg.data[value0])) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) < 0x40) {                revert();                break;            }            if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);            var_a = var_a + 0x40;            require(address((arg5 + msg.data[value0]) + 0x20) == ((arg5 + msg.data[value0]) + 0x20));            if (((arg5 + msg.data[value0]) + 0x40) > 0xffffffffffffffff) {                revert();                break;            }            if (!((((0x04 + arg5) + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x3f) < msg.data.length)) {                revert();                break;            }            if (((arg5 + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x20) > 0xffffffffffffffff) _desolexPanic(65);            if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg5 + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x20)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg5 + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x20)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);            var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg5 + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x20)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            require((((0x04 + arg5) + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x40) + ((arg5 + msg.data[value0]) + ((arg5 + msg.data[value0]) + 0x40) + 0x20) <= msg.data.length);            var_e = msg.data[68:68];            value1 = value1 + 0x20;            value0 = value0 + 0x20;        }        require(arg6 == (arg6 & 0xff));        require(allowed_searchers[msg.sender], "Caller is not searcher");        require(block.timestamp < arg3, "toolate");        (bool success0, bytes memory returnData0) = arg0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf        require(success0);        uint256 value2 = this.code.length;        uint256 value3 = var_a.length;        if (success0) {            if (0x20 > returnData0.length) {                if (((var_a + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                var_a = var_a + ((returnData0.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                require(((var_a + returnData0.length) - var_a) >= 0x20);            } else {                if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                var_a = var_a + 0x20;                require(((var_a + 0x20) - var_a) >= 0x20);            }        } else {            value2 = var_a;            value3 = 0;        }        (bool success1, bytes memory returnData1) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf        require(success1);        uint256 value4 = this.code.length;        uint256 value5 = var_a.length;        if (success1) {            if (0x20 > returnData1.length) {                if (((var_a + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                var_a = var_a + ((returnData1.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                require(((var_a + returnData1.length) - var_a) >= 0x20);            } else {                if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                var_a = var_a + 0x20;                require(((var_a + 0x20) - var_a) >= 0x20);            }        } else {            value4 = var_a;            value5 = 0;        }        if (!(value3 >= arg2 || (arg6 & 0xff) == 0x0)) {            if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);            var_a = var_a + 0x40;            if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);            var_a = var_a + 0x40;            uint256 value7 = (var_a + 0x24) + 0x80;            uint256 value6 = 0;            uint256 value8 = var_e + 0x20;            uint256 value9 = ((var_a + 0x24) + (var_l << 0x05)) + 0x80;            while (true) {                if (value6 >= var_t) {                    break;                }                uint256 value10 = 0;                while (true) {                    if (!(value10 < var_ab)) {                        break;                    }                    value10 = 0x20 + value10;                    value7 = value7 + 0x20;                    value6 = value6 + 0x01;                    value8 = value8 + 0x20;                    value9 = ((var_z + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) + (value9 + 0x40)) + 0x20;                }            }            if (((var_a + (((value9 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((value9 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);            var_a = var_a + (((value9 - var_a) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            uint256 value10 = 0;            while (true) {                if (!(value10 < var_aj)) {                    break;                }                value10 = 0x20 + value10;            }        } else {            if (!(0 < var_a.length)) {                (bool success2, bytes memory returnData2) = arg0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                require(success2);                uint256 value11 = this.code.length;                uint256 value12 = var_a.length;                if (success2) {                    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) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                        var_a = var_a + 0x20;                        require(((var_a + 0x20) - var_a) >= 0x20);                    }                } else {                    value11 = var_a;                    value12 = 0;                }                (bool success3, bytes memory returnData3) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                require(success3);                if (!(success3)) {                    require((!(value3 > value12)), "lost1");                    require((!(value5 > 0)), "lost2");                    uint256 value29 = this.code.length;                    uint256 value30 = this.code.length;                    if (arg4 != 0x0) {                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                            require(!((0 / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                            if (!((0 / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                uint256 value13 = this.code.length;                                uint256 value14 = address(this).balance;                                if (address(this).balance >= 0) {                                    value13 = address(this).balance;                                    value14 = 0;                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value15 = 0x08fc;                                    if (value14 != 0x0) {                                        value15 = 0;                                    }                                    (bool success4, bytes memory returnData4) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value14 }(""); // call                                    require(success4);                                    return abi.encodePacked(0, 0 - value5);                                }                                uint256 value16 = 0x08fc;                                if (value14 != 0x0) {                                    value16 = 0;                                }                                (bool success5, bytes memory returnData5) = address(block.coinbase).call{ value: value14 }(""); // call                            } else {                                uint256 value17 = this.code.length;                                uint256 value18 = address(this).balance;                                if (!(address(this).balance < ((0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                    value17 = address(this).balance;                                    value18 = (0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value19 = 0x08fc;                                    if (value18 != 0x0) {                                        value19 = 0;                                    }                                    (bool success6, bytes memory returnData6) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value18 }(""); // call                                    require(success6);                                    return abi.encodePacked(0, 0 - value5);                                }                                uint256 value20 = 0x08fc;                                if (value18 != 0x0) {                                    value20 = 0;                                }                                address(block.coinbase).call{ value: value18 }(""); // call                            }                        } else {                            if (!((0 / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                uint256 value21 = this.code.length;                                uint256 value22 = address(this).balance;                                if (address(this).balance >= 0) {                                    value21 = address(this).balance;                                    value22 = 0;                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value23 = 0x08fc;                                    if (value22 != 0x0) {                                        value23 = 0;                                    }                                    (bool success8, bytes memory returnData8) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value22 }(""); // call                                    require(success8);                                    return abi.encodePacked(0, 0 - value5);                                }                                uint256 value24 = 0x08fc;                                if (value22 != 0x0) {                                    value24 = 0;                                }                                (bool success9, bytes memory returnData9) = address(block.coinbase).call{ value: value22 }(""); // call                            } else {                                uint256 value25 = this.code.length;                                uint256 value26 = address(this).balance;                                if (!(address(this).balance < ((0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                    value25 = address(this).balance;                                    value26 = (0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value27 = 0x08fc;                                    if (value26 != 0x0) {                                        value27 = 0;                                    }                                    (bool success10, bytes memory returnData10) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value26 }(""); // call                                    require(success10);                                    return abi.encodePacked(0, 0 - value5);                                }                                uint256 value28 = 0x08fc;                                if (value26 != 0x0) {                                    value28 = 0;                                }                                address(block.coinbase).call{ value: value26 }(""); // call                            }                        }                        require(success9);                    } else {                        value29 = arg4;                        value30 = gasleft();                    }                    return abi.encodePacked(0, 0 - value5);                }                if (returnData5.length < 0x20) {                    if (((var_a + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                    var_a = var_a + ((returnData5.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    require(((var_a + returnData5.length) - var_a) >= 0x20);                    uint256 accountBalance = abi.decode(returnData3, (uint256));                    require((!(value3 > value12)), "lost1");                    require((!(value5 > accountBalance)), "lost2");                    uint256 value47 = this.code.length;                    uint256 value48 = this.code.length;                    if (arg4 != 0x0) {                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                            require(!(((accountBalance * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                            if (!(((accountBalance * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                uint256 value31 = this.code.length;                                uint256 value32 = address(this).balance;                                if (address(this).balance >= 0) {                                    value31 = address(this).balance;                                    value32 = 0;                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value33 = 0x08fc;                                    if (value32 != 0x0) {                                        value33 = 0;                                    }                                    (bool success12, bytes memory returnData12) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value32 }(""); // call                                    require(success12);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value34 = 0x08fc;                                if (value32 != 0x0) {                                    value34 = 0;                                }                                address(block.coinbase).call{ value: value32 }(""); // call                            } else {                                uint256 value35 = this.code.length;                                uint256 value36 = address(this).balance;                                if (!(address(this).balance < (((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                    value35 = address(this).balance;                                    value36 = ((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value37 = 0x08fc;                                    if (value36 != 0x0) {                                        value37 = 0;                                    }                                    (bool success14, bytes memory returnData14) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value36 }(""); // call                                    require(success14);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value38 = 0x08fc;                                if (value36 != 0x0) {                                    value38 = 0;                                }                                address(block.coinbase).call{ value: value36 }(""); // call                            }                        } else {                            if (!(((accountBalance * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                uint256 value39 = this.code.length;                                uint256 value40 = address(this).balance;                                if (address(this).balance >= 0) {                                    value39 = address(this).balance;                                    value40 = 0;                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value41 = 0x08fc;                                    if (value40 != 0x0) {                                        value41 = 0;                                    }                                    (bool success16, bytes memory returnData16) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value40 }(""); // call                                    require(success16);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value42 = 0x08fc;                                if (value40 != 0x0) {                                    value42 = 0;                                }                                (bool success17, bytes memory returnData17) = address(block.coinbase).call{ value: value40 }(""); // call                            } else {                                uint256 value43 = this.code.length;                                uint256 value44 = address(this).balance;                                if (!(address(this).balance < (((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                    value43 = address(this).balance;                                    value44 = ((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value45 = 0x08fc;                                    if (value44 != 0x0) {                                        value45 = 0;                                    }                                    (bool success18, bytes memory returnData18) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value44 }(""); // call                                    require(success18);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value46 = 0x08fc;                                if (value44 != 0x0) {                                    value46 = 0;                                }                                address(block.coinbase).call{ value: value44 }(""); // call                            }                        }                        require(success17);                    } else {                        value47 = arg4;                        value48 = gasleft();                    }                } else {                    if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                    var_a = var_a + 0x20;                    require(((var_a + 0x20) - var_a) >= 0x20);                    uint256 accountBalance = abi.decode(returnData3, (uint256));                    require((!(value3 > value12)), "lost1");                    require((!(value5 > accountBalance)), "lost2");                    uint256 value65 = this.code.length;                    uint256 value66 = this.code.length;                    if (arg4 != 0x0) {                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                            require(!(((accountBalance * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                            if (!(((accountBalance * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                uint256 value49 = this.code.length;                                uint256 value50 = address(this).balance;                                if (address(this).balance >= 0) {                                    value49 = address(this).balance;                                    value50 = 0;                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value51 = 0x08fc;                                    if (value50 != 0x0) {                                        value51 = 0;                                    }                                    (bool success20, bytes memory returnData20) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value50 }(""); // call                                    require(success20);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value52 = 0x08fc;                                if (value50 != 0x0) {                                    value52 = 0;                                }                                address(block.coinbase).call{ value: value50 }(""); // call                            } else {                                uint256 value53 = this.code.length;                                uint256 value54 = address(this).balance;                                if (!(address(this).balance < (((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                    value53 = address(this).balance;                                    value54 = ((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value55 = 0x08fc;                                    if (value54 != 0x0) {                                        value55 = 0;                                    }                                    (bool success22, bytes memory returnData22) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value54 }(""); // call                                    require(success22);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value56 = 0x08fc;                                if (value54 != 0x0) {                                    value56 = 0;                                }                                address(block.coinbase).call{ value: value54 }(""); // call                            }                        } else {                            if (!(((accountBalance * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                uint256 value57 = this.code.length;                                uint256 value58 = address(this).balance;                                if (address(this).balance >= 0) {                                    value57 = address(this).balance;                                    value58 = 0;                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value59 = 0x08fc;                                    if (value58 != 0x0) {                                        value59 = 0;                                    }                                    (bool success24, bytes memory returnData24) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value58 }(""); // call                                    require(success24);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value60 = 0x08fc;                                if (value58 != 0x0) {                                    value60 = 0;                                }                                (bool success25, bytes memory returnData25) = address(block.coinbase).call{ value: value58 }(""); // call                            } else {                                uint256 value61 = this.code.length;                                uint256 value62 = address(this).balance;                                if (!(address(this).balance < (((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                    value61 = address(this).balance;                                    value62 = ((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                }                                if (0 != (block.chainid == 0x38)) {                                    uint256 value63 = 0x08fc;                                    if (value62 != 0x0) {                                        value63 = 0;                                    }                                    (bool success26, bytes memory returnData26) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value62 }(""); // call                                    require(success26);                                    return abi.encodePacked(accountBalance, accountBalance - value5);                                }                                uint256 value64 = 0x08fc;                                if (value62 != 0x0) {                                    value64 = 0;                                }                                address(block.coinbase).call{ value: value62 }(""); // call                            }                        }                        require(success25);                    } else {                        value65 = arg4;                        value66 = gasleft();                    }                }                return abi.encodePacked(accountBalance, accountBalance - value5);            } else {                if (!(0 < var_a.length)) _desolexPanic(50);                if (!(0 < var_a.length)) _desolexPanic(50);                uint256 value10 = 0;                while (true) {                    if (!(value10 < var_au)) {                        break;                    }                    value10 = 0x20 + value10;                }            }        }    }        function adopt() public {        implementations[0x9c078d2d00000000000000000000000000000000000000000000000000000000] = (implementations[0x9c078d2d00000000000000000000000000000000000000000000000000000000] & (0xffffffffffffffffffffffff0000000000000000000000000000000000000000)) | 0x2234a8467fe1d372b6155cfc033854eed9dfa836;        implementations[0xaa4899ee00000000000000000000000000000000000000000000000000000000] = 0x2234a8467fe1d372b6155cfc033854eed9dfa836 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & implementations[0xaa4899ee00000000000000000000000000000000000000000000000000000000]);        implementations[0xe8c8de1e00000000000000000000000000000000000000000000000000000000] = 0x2234a8467fe1d372b6155cfc033854eed9dfa836 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & implementations[0xe8c8de1e00000000000000000000000000000000000000000000000000000000]);        implementations[0xe8fa077800000000000000000000000000000000000000000000000000000000] = 0x2234a8467fe1d372b6155cfc033854eed9dfa836 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & implementations[0xe8fa077800000000000000000000000000000000000000000000000000000000]);        implementations[0x5b1330bc00000000000000000000000000000000000000000000000000000000] = 0x2234a8467fe1d372b6155cfc033854eed9dfa836 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & implementations[0x5b1330bc00000000000000000000000000000000000000000000000000000000]);        implementations[0x08bbf43c00000000000000000000000000000000000000000000000000000000] = 0x2234a8467fe1d372b6155cfc033854eed9dfa836 | (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & implementations[0x08bbf43c00000000000000000000000000000000000000000000000000000000]);        implementations[0x898054c600000000000000000000000000000000000000000000000000000000] = (0xffffffffffffffffffffffff0000000000000000000000000000000000000000 & implementations[0x898054c600000000000000000000000000000000000000000000000000000000]) | 0x2234a8467fe1d372b6155cfc033854eed9dfa836;    }        function Unknown_ad23241e(bytes memory arg0) public pure {        require(((msg.data.length - arg0) + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0x40);        uint256 var_a;        if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);        var_a = var_a + 0x40;        require(msg.data[arg0 + 0x24] <= 0xffffffffffffffff);        require((((arg0 + (msg.data[arg0 + 0x24])) + 0x04) + 0x1f) < msg.data.length);        if (!((arg0 + msg.data[arg0 + 0x24]) <= 0xffffffffffffffff)) _desolexPanic(65);        if (((var_a + (((0x20 + ((arg0 + (msg.data[arg0 + 0x24]))  << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + ((arg0 + (msg.data[arg0 + 0x24]))  << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);        var_a = var_a + (((0x20 + ((arg0 + (msg.data[arg0 + 0x24]))  << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        require((((arg0 + msg.data[arg0 + 0x24]) + 0x04) + ((arg0 + msg.data[arg0 + 0x24])  << 0x05) + 0x20) <= msg.data.length);        if ((((arg0 + (msg.data[arg0 + 0x24])) + 0x04) + 0x20) < (((arg0 + (msg.data[arg0 + 0x24])) + 0x04) + ((arg0 + (msg.data[arg0 + 0x24]))  << 0x05) + 0x20)) {            require(((arg0 + msg.data[arg0 + 0x24])  + 0x20) <= 0xffffffffffffffff);            require(((msg.data.length - (((arg0 + msg.data[arg0 + 0x24]) + 0x04) + ((arg0 + msg.data[arg0 + 0x24])  + 0x20))) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0) >= 0x40);            if (((var_a + 0x40) > 0xffffffffffffffff) | ((var_a + 0x40) < var_a)) _desolexPanic(65);            var_a = var_a + 0x40;            require(address((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x20) == ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x20));            require(((arg0 + msg.data[arg0 + 0x24])  + ((arg0 + msg.data[arg0 + 0x24])  + 0x20) + 0x40) <= 0xffffffffffffffff);            require((((arg0 + (msg.data[arg0 + 0x24])) + 0x04) + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x40) + 0x3f) < msg.data.length);            if (((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x40) + 0x20) > 0xffffffffffffffff) _desolexPanic(65);            if (((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x40) + 0x20)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x40) + 0x20)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);            var_a = var_a + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + ((arg0 + (msg.data[arg0 + 0x24]))  + ((arg0 + (msg.data[arg0 + 0x24]))  + 0x20) + 0x40) + 0x20)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));        } else {            if (0 < var_g) {                if (!(0 < var_g)) _desolexPanic(50);                if (!(0 < var_g)) _desolexPanic(50);                uint256 value0 = 0;                while (true) {                    if (!(value0 < var_n)) {                        break;                    }                    value0 = 0x20 + value0;                }            }        }    }        function Unknown_aa4899ee(address arg0, address arg1, uint256 arg2, uint256 arg3, uint256 arg4, bytes memory arg5) public payable returns (bytes memory) {        if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0xc0) {            if (!(arg5.length > 0xffffffffffffffff)) {                if (((0x04 + arg5) + 0x1f) < msg.data.length) {                    if (arg5.length > 0xffffffffffffffff) _desolexPanic(65);                    uint256 var_a;                    if (((var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                    var_a = var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    if (!(((0x04 + arg5) + (arg5.length << 0x05) + 0x20) > msg.data.length)) {                        if (!(((0x04 + arg5) + 0x20) < ((0x04 + arg5) + (arg5.length << 0x05) + 0x20))) {                            if (allowed_searchers[msg.sender]) {                                uint256 value0 = 0;                                while (true) {                                    if (!(value0 < var_a.length)) {                                        break;                                    }                                    value0 = 0x01 + value0;                                }                                if (block.timestamp < arg3) {                                    (bool success0, bytes memory returnData0) = arg0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                    if (success0) {                                        if (!(success0)) {                                            (bool success1, bytes memory returnData1) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                            if (success1) {                                                if (!(success1)) {                                                    if (0x1 != 0) {                                                        if (!(0 < var_a.length)) {                                                            (bool success2, bytes memory returnData2) = arg0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                            if (success2) {                                                                if (success2) {                                                                    if (0x20 <= returnData2.length) {                                                                        if (!(((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a))) {                                                                            var_a = var_a + 0x20;                                                                            if (((var_a + 0x20) - var_a) >= 0x20) {                                                                                (bool success3, bytes memory returnData3) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                                if (success3) {                                                                                    if (!(success3)) {                                                                                        require((!(0 > var_a.length)), "lost1");                                                                                        require((!(0 > 0)), "lost2");                                                                                        if (arg4 == 0x0) {                                                                                            return abi.encodePacked(0, 0);                                                                                        }                                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                                            require(!((0 / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                                            if (!((0 / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value1 = arg2;                                                                                                uint256 value2 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value1 = address(this).balance;                                                                                                    value2 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value3 = 0x08fc;                                                                                                    if (value2 != 0x0) {                                                                                                        value3 = 0;                                                                                                    }                                                                                                    (bool success4, bytes memory returnData4) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value2 }(""); // call                                                                                                    require(success4);                                                                                                    return abi.encodePacked(0, 0);                                                                                                }                                                                                                uint256 value4 = 0x08fc;                                                                                                if (value2 != 0x0) {                                                                                                    value4 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value2 }(""); // call                                                                                            } else {                                                                                                uint256 value5 = arg2;                                                                                                uint256 value6 = address(this).balance;                                                                                                if (address(this).balance >= ((0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                    value5 = address(this).balance;                                                                                                    value6 = (0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value7 = 0x08fc;                                                                                                    if (value6 != 0x0) {                                                                                                        value7 = 0;                                                                                                    }                                                                                                    (bool success6, bytes memory returnData6) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value6 }(""); // call                                                                                                    require(success6);                                                                                                    return abi.encodePacked(0, 0);                                                                                                }                                                                                                uint256 value8 = 0x08fc;                                                                                                if (value6 != 0x0) {                                                                                                    value8 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value6 }(""); // call                                                                                            }                                                                                        } else {                                                                                            if (!((0 / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value9 = arg2;                                                                                                uint256 value10 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value9 = address(this).balance;                                                                                                    value10 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value11 = 0x08fc;                                                                                                    if (value10 != 0x0) {                                                                                                        value11 = 0;                                                                                                    }                                                                                                    (bool success8, bytes memory returnData8) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value10 }(""); // call                                                                                                    require(success8);                                                                                                    return abi.encodePacked(0, 0);                                                                                                }                                                                                                uint256 value12 = 0x08fc;                                                                                                if (value10 != 0x0) {                                                                                                    value12 = 0;                                                                                                }                                                                                                (bool success9, bytes memory returnData9) = address(block.coinbase).call{ value: value10 }(""); // call                                                                                            } else {                                                                                                uint256 value13 = arg2;                                                                                                uint256 value14 = address(this).balance;                                                                                                if (address(this).balance >= ((0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                    value13 = address(this).balance;                                                                                                    value14 = (0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value15 = 0x08fc;                                                                                                    if (value14 != 0x0) {                                                                                                        value15 = 0;                                                                                                    }                                                                                                    (bool success10, bytes memory returnData10) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value14 }(""); // call                                                                                                    require(success10);                                                                                                    return abi.encodePacked(0, 0);                                                                                                }                                                                                                uint256 value16 = 0x08fc;                                                                                                if (value14 != 0x0) {                                                                                                    value16 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value14 }(""); // call                                                                                            }                                                                                        }                                                                                        require(success9);                                                                                        return abi.encodePacked(0, 0);                                                                                    }                                                                                    if (returnData9.length < 0x20) {                                                                                        if (!(((var_a + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a))) {                                                                                            var_a = var_a + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                                            if (((var_a + returnData9.length) - var_a) >= 0x20) {                                                                                                uint256 accountBalance = abi.decode(returnData3, (uint256));                                                                                                if (!(0 > var_a.length)) {                                                                                                    require((!(0 > accountBalance)), "lost2");                                                                                                    if (!((accountBalance - 0) > accountBalance)) {                                                                                                        if (arg4 == 0x0) {                                                                                                            return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                                        }                                                                                                        if (0xc350 <= (0xc350 + gasleft())) {                                                                                                        }                                                                                                    }                                                                                                }                                                                                            }                                                                                        }                                                                                    } else {                                                                                        if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                                                                                        var_a = var_a + 0x20;                                                                                        require(((var_a + 0x20) - var_a) >= 0x20);                                                                                        uint256 accountBalance = abi.decode(returnData3, (uint256));                                                                                        require((!(0 > var_a.length)), "lost1");                                                                                        require((!(0 > accountBalance)), "lost2");                                                                                        if (arg4 == 0x0) {                                                                                            return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                        }                                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                                            require(!(((accountBalance * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                                            if (!(((accountBalance * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value17 = arg2;                                                                                                uint256 value18 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value17 = address(this).balance;                                                                                                    value18 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value19 = 0x08fc;                                                                                                    if (value18 != 0x0) {                                                                                                        value19 = 0;                                                                                                    }                                                                                                    (bool success12, bytes memory returnData12) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value18 }(""); // call                                                                                                    require(success12);                                                                                                    return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                                }                                                                                                uint256 value20 = 0x08fc;                                                                                                if (value18 != 0x0) {                                                                                                    value20 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value18 }(""); // call                                                                                            } else {                                                                                                uint256 value21 = arg2;                                                                                                uint256 value22 = address(this).balance;                                                                                                if (!(address(this).balance < (((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                                    value21 = address(this).balance;                                                                                                    value22 = ((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value23 = 0x08fc;                                                                                                    if (value22 != 0x0) {                                                                                                        value23 = 0;                                                                                                    }                                                                                                    (bool success14, bytes memory returnData14) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value22 }(""); // call                                                                                                    require(success14);                                                                                                    return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                                }                                                                                                uint256 value24 = 0x08fc;                                                                                                if (value22 != 0x0) {                                                                                                    value24 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value22 }(""); // call                                                                                            }                                                                                        } else {                                                                                            if (!(((accountBalance * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value25 = arg2;                                                                                                uint256 value26 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value25 = address(this).balance;                                                                                                    value26 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value27 = 0x08fc;                                                                                                    if (value26 != 0x0) {                                                                                                        value27 = 0;                                                                                                    }                                                                                                    (bool success16, bytes memory returnData16) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value26 }(""); // call                                                                                                    require(success16);                                                                                                    return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                                }                                                                                                uint256 value28 = 0x08fc;                                                                                                if (value26 != 0x0) {                                                                                                    value28 = 0;                                                                                                }                                                                                                (bool success17, bytes memory returnData17) = address(block.coinbase).call{ value: value26 }(""); // call                                                                                            } else {                                                                                                uint256 value29 = arg2;                                                                                                uint256 value30 = address(this).balance;                                                                                                if (!(address(this).balance < (((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                                    value29 = address(this).balance;                                                                                                    value30 = ((accountBalance * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value31 = 0x08fc;                                                                                                    if (value30 != 0x0) {                                                                                                        value31 = 0;                                                                                                    }                                                                                                    (bool success18, bytes memory returnData18) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value30 }(""); // call                                                                                                    require(success18);                                                                                                    return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                                }                                                                                                uint256 value32 = 0x08fc;                                                                                                if (value30 != 0x0) {                                                                                                    value32 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value30 }(""); // call                                                                                            }                                                                                        }                                                                                        require(success17);                                                                                        return abi.encodePacked(accountBalance, accountBalance - 0);                                                                                    }                                                                                }                                                                            }                                                                        }                                                                    }                                                                } else {                                                                    (bool success20, bytes memory returnData20) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                    require(success20);                                                                    if (!(success20)) {                                                                        require((!(0 > 0)), "lost1");                                                                        require((!(0 > 0)), "lost2");                                                                        if (arg4 == 0x0) {                                                                            return abi.encodePacked(0, 0);                                                                        }                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                            require(!((0 / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                            if (!((0 / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value33 = arg2;                                                                                uint256 value34 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value33 = address(this).balance;                                                                                    value34 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value35 = 0x08fc;                                                                                    if (value34 != 0x0) {                                                                                        value35 = 0;                                                                                    }                                                                                    (bool success21, bytes memory returnData21) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value34 }(""); // call                                                                                    require(success21);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value36 = 0x08fc;                                                                                if (value34 != 0x0) {                                                                                    value36 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value34 }(""); // call                                                                            } else {                                                                                uint256 value37 = arg2;                                                                                uint256 value38 = address(this).balance;                                                                                if (address(this).balance >= ((0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                    value37 = address(this).balance;                                                                                    value38 = (0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value39 = 0x08fc;                                                                                    if (value38 != 0x0) {                                                                                        value39 = 0;                                                                                    }                                                                                    (bool success23, bytes memory returnData23) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value38 }(""); // call                                                                                    require(success23);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value40 = 0x08fc;                                                                                if (value38 != 0x0) {                                                                                    value40 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value38 }(""); // call                                                                            }                                                                        } else {                                                                            if (!((0 / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value41 = arg2;                                                                                uint256 value42 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value41 = address(this).balance;                                                                                    value42 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value43 = 0x08fc;                                                                                    if (value42 != 0x0) {                                                                                        value43 = 0;                                                                                    }                                                                                    (bool success25, bytes memory returnData25) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value42 }(""); // call                                                                                    require(success25);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value44 = 0x08fc;                                                                                if (value42 != 0x0) {                                                                                    value44 = 0;                                                                                }                                                                                (bool success26, bytes memory returnData26) = address(block.coinbase).call{ value: value42 }(""); // call                                                                            } else {                                                                                uint256 value45 = arg2;                                                                                uint256 value46 = address(this).balance;                                                                                if (address(this).balance >= ((0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                    value45 = address(this).balance;                                                                                    value46 = (0 / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value47 = 0x08fc;                                                                                    if (value46 != 0x0) {                                                                                        value47 = 0;                                                                                    }                                                                                    (bool success27, bytes memory returnData27) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value46 }(""); // call                                                                                    require(success27);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value48 = 0x08fc;                                                                                if (value46 != 0x0) {                                                                                    value48 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value46 }(""); // call                                                                            }                                                                        }                                                                        require(success26);                                                                        return abi.encodePacked(0, 0);                                                                    }                                                                    if (returnData26.length < 0x20) {                                                                        if (((var_a + ((returnData26.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData26.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                                                                        var_a = var_a + ((returnData26.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                        require(((var_a + returnData26.length) - var_a) >= 0x20);                                                                        uint256 accountBalance1 = abi.decode(returnData20, (uint256));                                                                        require((!(0 > 0)), "lost1");                                                                        require((!(0 > accountBalance1)), "lost2");                                                                        if (arg4 == 0x0) {                                                                            return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                        }                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                            require(!(((accountBalance1 * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                            if (!(((accountBalance1 * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value49 = arg2;                                                                                uint256 value50 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value49 = address(this).balance;                                                                                    value50 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value51 = 0x08fc;                                                                                    if (value50 != 0x0) {                                                                                        value51 = 0;                                                                                    }                                                                                    (bool success29, bytes memory returnData29) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value50 }(""); // call                                                                                    require(success29);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value52 = 0x08fc;                                                                                if (value50 != 0x0) {                                                                                    value52 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value50 }(""); // call                                                                            } else {                                                                                uint256 value53 = arg2;                                                                                uint256 value54 = address(this).balance;                                                                                if (!(address(this).balance < (((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value53 = address(this).balance;                                                                                    value54 = ((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value55 = 0x08fc;                                                                                    if (value54 != 0x0) {                                                                                        value55 = 0;                                                                                    }                                                                                    (bool success31, bytes memory returnData31) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value54 }(""); // call                                                                                    require(success31);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value56 = 0x08fc;                                                                                if (value54 != 0x0) {                                                                                    value56 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value54 }(""); // call                                                                            }                                                                        } else {                                                                            if (!(((accountBalance1 * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value57 = arg2;                                                                                uint256 value58 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value57 = address(this).balance;                                                                                    value58 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value59 = 0x08fc;                                                                                    if (value58 != 0x0) {                                                                                        value59 = 0;                                                                                    }                                                                                    (bool success33, bytes memory returnData33) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value58 }(""); // call                                                                                    require(success33);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value60 = 0x08fc;                                                                                if (value58 != 0x0) {                                                                                    value60 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value58 }(""); // call                                                                            } else {                                                                                uint256 value61 = arg2;                                                                                uint256 value62 = address(this).balance;                                                                                if (!(address(this).balance < (((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value61 = address(this).balance;                                                                                    value62 = ((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value63 = 0x08fc;                                                                                    if (value62 != 0x0) {                                                                                        value63 = 0;                                                                                    }                                                                                    (bool success35, bytes memory returnData35) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value62 }(""); // call                                                                                    require(success35);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value64 = 0x08fc;                                                                                if (value62 != 0x0) {                                                                                    value64 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value62 }(""); // call                                                                            }                                                                        }                                                                    } else {                                                                        if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                                                                        var_a = var_a + 0x20;                                                                        require(((var_a + 0x20) - var_a) >= 0x20);                                                                        uint256 accountBalance1 = abi.decode(returnData20, (uint256));                                                                        require((!(0 > 0)), "lost1");                                                                        require((!(0 > accountBalance1)), "lost2");                                                                        if (arg4 == 0x0) {                                                                            return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                        }                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                            require(!(((accountBalance1 * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                            if (!(((accountBalance1 * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value65 = arg2;                                                                                uint256 value66 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value65 = address(this).balance;                                                                                    value66 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value67 = 0x08fc;                                                                                    if (value66 != 0x0) {                                                                                        value67 = 0;                                                                                    }                                                                                    (bool success37, bytes memory returnData37) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value66 }(""); // call                                                                                    require(success37);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value68 = 0x08fc;                                                                                if (value66 != 0x0) {                                                                                    value68 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value66 }(""); // call                                                                            } else {                                                                                uint256 value69 = arg2;                                                                                uint256 value70 = address(this).balance;                                                                                if (!(address(this).balance < (((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value69 = address(this).balance;                                                                                    value70 = ((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value71 = 0x08fc;                                                                                    if (value70 != 0x0) {                                                                                        value71 = 0;                                                                                    }                                                                                    (bool success39, bytes memory returnData39) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value70 }(""); // call                                                                                    require(success39);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value72 = 0x08fc;                                                                                if (value70 != 0x0) {                                                                                    value72 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value70 }(""); // call                                                                            }                                                                        } else {                                                                            if (!(((accountBalance1 * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value73 = arg2;                                                                                uint256 value74 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value73 = address(this).balance;                                                                                    value74 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value75 = 0x08fc;                                                                                    if (value74 != 0x0) {                                                                                        value75 = 0;                                                                                    }                                                                                    (bool success41, bytes memory returnData41) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value74 }(""); // call                                                                                    require(success41);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value76 = 0x08fc;                                                                                if (value74 != 0x0) {                                                                                    value76 = 0;                                                                                }                                                                                (bool success42, bytes memory returnData42) = address(block.coinbase).call{ value: value74 }(""); // call                                                                            } else {                                                                                uint256 value77 = arg2;                                                                                uint256 value78 = address(this).balance;                                                                                if (!(address(this).balance < (((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value77 = address(this).balance;                                                                                    value78 = ((accountBalance1 * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value79 = 0x08fc;                                                                                    if (value78 != 0x0) {                                                                                        value79 = 0;                                                                                    }                                                                                    (bool success43, bytes memory returnData43) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value78 }(""); // call                                                                                    require(success43);                                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                                }                                                                                uint256 value80 = 0x08fc;                                                                                if (value78 != 0x0) {                                                                                    value80 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value78 }(""); // call                                                                            }                                                                        }                                                                    }                                                                    require(success42);                                                                    return abi.encodePacked(accountBalance1, accountBalance1 - 0);                                                                }                                                            }                                                        } else {                                                            if (!(0 < var_a.length)) _desolexPanic(50);                                                            if (!(0 < var_a.length)) _desolexPanic(50);                                                            uint256 value81 = 0;                                                            while (true) {                                                                if (!(value81 < var_p)) {                                                                    break;                                                                }                                                                value81 = 0x20 + value81;                                                            }                                                        }                                                    }                                                }                                            }                                        }                                    }                                }                            }                        }                    }                }            }        }    }        function Unknown_9c078d2d(address arg0, address arg1, uint256 arg2, uint256 arg3, uint256 arg4, bytes memory arg5) public payable returns (bytes memory) {        if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0xc0) {            if (!(arg5.length > 0xffffffffffffffff)) {                if (((0x04 + arg5) + 0x1f) < msg.data.length) {                    if (arg5.length > 0xffffffffffffffff) _desolexPanic(65);                    uint256 var_a;                    if (((var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                    var_a = var_a + (((0x20 + (arg5.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    if (!(((0x04 + arg5) + (arg5.length << 0x05) + 0x20) > msg.data.length)) {                        if (!(((0x04 + arg5) + 0x20) < ((0x04 + arg5) + (arg5.length << 0x05) + 0x20))) {                            if (allowed_searchers[msg.sender]) {                                if (block.timestamp < arg3) {                                    (bool success0, bytes memory returnData0) = arg0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                    if (success0) {                                        if (!(success0)) {                                            (bool success1, bytes memory returnData1) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                            if (success1) {                                                if (!(success1)) {                                                    if (0x0 >= arg2) {                                                        if (!(0 < var_a.length)) {                                                            (bool success2, bytes memory returnData2) = arg0.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                            if (success2) {                                                                if (success2) {                                                                    if (0x20 <= returnData2.length) {                                                                        if (!(((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a))) {                                                                            var_a = var_a + 0x20;                                                                            if (((var_a + 0x20) - var_a) >= 0x20) {                                                                                (bool success3, bytes memory returnData3) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                                if (success3) {                                                                                    if (!(success3)) {                                                                                        require((!(0 > var_a.length)), "lost1");                                                                                        require((!(0 > 0)), "lost2");                                                                                        if (arg4 == 0) {                                                                                            return abi.encodePacked(var_a.length - 0, 0);                                                                                        }                                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                                            require(!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value0 = this.code.length;                                                                                                uint256 value1 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value0 = address(this).balance;                                                                                                    value1 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value2 = 0x08fc;                                                                                                    if (value1 != 0x0) {                                                                                                        value2 = 0;                                                                                                    }                                                                                                    (bool success4, bytes memory returnData4) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value1 }(""); // call                                                                                                    require(success4);                                                                                                    return abi.encodePacked(var_a.length - 0, 0);                                                                                                }                                                                                                uint256 value3 = 0x08fc;                                                                                                if (value1 != 0x0) {                                                                                                    value3 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value1 }(""); // call                                                                                            } else {                                                                                                uint256 value4 = this.code.length;                                                                                                uint256 value5 = address(this).balance;                                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                                    value4 = address(this).balance;                                                                                                    value5 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value6 = 0x08fc;                                                                                                    if (value5 != 0x0) {                                                                                                        value6 = 0;                                                                                                    }                                                                                                    (bool success6, bytes memory returnData6) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value5 }(""); // call                                                                                                    require(success6);                                                                                                    return abi.encodePacked(var_a.length - 0, 0);                                                                                                }                                                                                                uint256 value7 = 0x08fc;                                                                                                if (value5 != 0x0) {                                                                                                    value7 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value5 }(""); // call                                                                                            }                                                                                        } else {                                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value8 = this.code.length;                                                                                                uint256 value9 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value8 = address(this).balance;                                                                                                    value9 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value10 = 0x08fc;                                                                                                    if (value9 != 0x0) {                                                                                                        value10 = 0;                                                                                                    }                                                                                                    (bool success8, bytes memory returnData8) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value9 }(""); // call                                                                                                    require(success8);                                                                                                    return abi.encodePacked(var_a.length - 0, 0);                                                                                                }                                                                                                uint256 value11 = 0x08fc;                                                                                                if (value9 != 0x0) {                                                                                                    value11 = 0;                                                                                                }                                                                                                (bool success9, bytes memory returnData9) = address(block.coinbase).call{ value: value9 }(""); // call                                                                                            } else {                                                                                                uint256 value12 = this.code.length;                                                                                                uint256 value13 = address(this).balance;                                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                                    value12 = address(this).balance;                                                                                                    value13 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value14 = 0x08fc;                                                                                                    if (value13 != 0x0) {                                                                                                        value14 = 0;                                                                                                    }                                                                                                    (bool success10, bytes memory returnData10) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value13 }(""); // call                                                                                                    require(success10);                                                                                                    return abi.encodePacked(var_a.length - 0, 0);                                                                                                }                                                                                                uint256 value15 = 0x08fc;                                                                                                if (value13 != 0x0) {                                                                                                    value15 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value13 }(""); // call                                                                                            }                                                                                        }                                                                                        require(success9);                                                                                        return abi.encodePacked(var_a.length - 0, 0);                                                                                    }                                                                                    if (returnData9.length < 0x20) {                                                                                        if (!(((var_a + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a))) {                                                                                            var_a = var_a + ((returnData9.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                                            if (((var_a + returnData9.length) - var_a) >= 0x20) {                                                                                                uint256 accountBalance = abi.decode(returnData3, (uint256));                                                                                                if ((!(0 > var_a.length)) && ((!(0 > accountBalance)) && ((!((var_a.length - 0) > var_a.length)) && ((!((accountBalance - 0) > accountBalance)) && (arg4 == 0))))) {                                                                                                    return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                                }                                                                                            }                                                                                        }                                                                                    } else {                                                                                        if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                                                                                        var_a = var_a + 0x20;                                                                                        require(((var_a + 0x20) - var_a) >= 0x20);                                                                                        uint256 accountBalance = abi.decode(returnData3, (uint256));                                                                                        require((!(0 > var_a.length)), "lost1");                                                                                        require((!(0 > accountBalance)), "lost2");                                                                                        if (arg4 == 0) {                                                                                            return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                        }                                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                                            require(!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value16 = this.code.length;                                                                                                uint256 value17 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value16 = address(this).balance;                                                                                                    value17 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value18 = 0x08fc;                                                                                                    if (value17 != 0x0) {                                                                                                        value18 = 0;                                                                                                    }                                                                                                    (bool success12, bytes memory returnData12) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value17 }(""); // call                                                                                                    require(success12);                                                                                                    return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                                }                                                                                                uint256 value19 = 0x08fc;                                                                                                if (value17 != 0x0) {                                                                                                    value19 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value17 }(""); // call                                                                                            } else {                                                                                                uint256 value20 = this.code.length;                                                                                                uint256 value21 = address(this).balance;                                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                                    value20 = address(this).balance;                                                                                                    value21 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value22 = 0x08fc;                                                                                                    if (value21 != 0x0) {                                                                                                        value22 = 0;                                                                                                    }                                                                                                    (bool success14, bytes memory returnData14) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value21 }(""); // call                                                                                                    require(success14);                                                                                                    return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                                }                                                                                                uint256 value23 = 0x08fc;                                                                                                if (value21 != 0x0) {                                                                                                    value23 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value21 }(""); // call                                                                                            }                                                                                        } else {                                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                                uint256 value24 = this.code.length;                                                                                                uint256 value25 = address(this).balance;                                                                                                if (address(this).balance >= 0) {                                                                                                    value24 = address(this).balance;                                                                                                    value25 = 0;                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value26 = 0x08fc;                                                                                                    if (value25 != 0x0) {                                                                                                        value26 = 0;                                                                                                    }                                                                                                    (bool success16, bytes memory returnData16) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value25 }(""); // call                                                                                                    require(success16);                                                                                                    return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                                }                                                                                                uint256 value27 = 0x08fc;                                                                                                if (value25 != 0x0) {                                                                                                    value27 = 0;                                                                                                }                                                                                                (bool success17, bytes memory returnData17) = address(block.coinbase).call{ value: value25 }(""); // call                                                                                            } else {                                                                                                uint256 value28 = this.code.length;                                                                                                uint256 value29 = address(this).balance;                                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                                    value28 = address(this).balance;                                                                                                    value29 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                                }                                                                                                if (0x38 == block.chainid) {                                                                                                    uint256 value30 = 0x08fc;                                                                                                    if (value29 != 0x0) {                                                                                                        value30 = 0;                                                                                                    }                                                                                                    (bool success18, bytes memory returnData18) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value29 }(""); // call                                                                                                    require(success18);                                                                                                    return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                                }                                                                                                uint256 value31 = 0x08fc;                                                                                                if (value29 != 0x0) {                                                                                                    value31 = 0;                                                                                                }                                                                                                address(block.coinbase).call{ value: value29 }(""); // call                                                                                            }                                                                                        }                                                                                        require(success17);                                                                                        return abi.encodePacked(var_a.length - 0, accountBalance - 0);                                                                                    }                                                                                }                                                                            }                                                                        }                                                                    }                                                                } else {                                                                    (bool success20, bytes memory returnData20) = arg1.staticcall(abi.encodeWithSelector(bytes4(0x70a08231), address(this))); // staticcall balanceOf                                                                    require(success20);                                                                    if (!(success20)) {                                                                        require((!(0 > 0)), "lost1");                                                                        require((!(0 > 0)), "lost2");                                                                        if (arg4 == 0) {                                                                            return abi.encodePacked(0, 0);                                                                        }                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                            require(!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value32 = this.code.length;                                                                                uint256 value33 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value32 = address(this).balance;                                                                                    value33 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value34 = 0x08fc;                                                                                    if (value33 != 0x0) {                                                                                        value34 = 0;                                                                                    }                                                                                    (bool success21, bytes memory returnData21) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value33 }(""); // call                                                                                    require(success21);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value35 = 0x08fc;                                                                                if (value33 != 0x0) {                                                                                    value35 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value33 }(""); // call                                                                            } else {                                                                                uint256 value36 = this.code.length;                                                                                uint256 value37 = address(this).balance;                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value36 = address(this).balance;                                                                                    value37 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value38 = 0x08fc;                                                                                    if (value37 != 0x0) {                                                                                        value38 = 0;                                                                                    }                                                                                    (bool success23, bytes memory returnData23) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value37 }(""); // call                                                                                    require(success23);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value39 = 0x08fc;                                                                                if (value37 != 0x0) {                                                                                    value39 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value37 }(""); // call                                                                            }                                                                        } else {                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value40 = this.code.length;                                                                                uint256 value41 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value40 = address(this).balance;                                                                                    value41 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value42 = 0x08fc;                                                                                    if (value41 != 0x0) {                                                                                        value42 = 0;                                                                                    }                                                                                    (bool success25, bytes memory returnData25) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value41 }(""); // call                                                                                    require(success25);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value43 = 0x08fc;                                                                                if (value41 != 0x0) {                                                                                    value43 = 0;                                                                                }                                                                                (bool success26, bytes memory returnData26) = address(block.coinbase).call{ value: value41 }(""); // call                                                                            } else {                                                                                uint256 value44 = this.code.length;                                                                                uint256 value45 = address(this).balance;                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value44 = address(this).balance;                                                                                    value45 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value46 = 0x08fc;                                                                                    if (value45 != 0x0) {                                                                                        value46 = 0;                                                                                    }                                                                                    (bool success27, bytes memory returnData27) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value45 }(""); // call                                                                                    require(success27);                                                                                    return abi.encodePacked(0, 0);                                                                                }                                                                                uint256 value47 = 0x08fc;                                                                                if (value45 != 0x0) {                                                                                    value47 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value45 }(""); // call                                                                            }                                                                        }                                                                        require(success26);                                                                        return abi.encodePacked(0, 0);                                                                    }                                                                    if (returnData26.length < 0x20) {                                                                        if (((var_a + ((returnData26.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_a + ((returnData26.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_a)) _desolexPanic(65);                                                                        var_a = var_a + ((returnData26.length + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                                        require(((var_a + returnData26.length) - var_a) >= 0x20);                                                                        uint256 accountBalance1 = abi.decode(returnData20, (uint256));                                                                        require((!(0 > 0)), "lost1");                                                                        require((!(0 > accountBalance1)), "lost2");                                                                        if (arg4 == 0) {                                                                            return abi.encodePacked(0, accountBalance1 - 0);                                                                        }                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                            require(!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value48 = this.code.length;                                                                                uint256 value49 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value48 = address(this).balance;                                                                                    value49 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value50 = 0x08fc;                                                                                    if (value49 != 0x0) {                                                                                        value50 = 0;                                                                                    }                                                                                    (bool success29, bytes memory returnData29) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value49 }(""); // call                                                                                    require(success29);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value51 = 0x08fc;                                                                                if (value49 != 0x0) {                                                                                    value51 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value49 }(""); // call                                                                            } else {                                                                                uint256 value52 = this.code.length;                                                                                uint256 value53 = address(this).balance;                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value52 = address(this).balance;                                                                                    value53 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value54 = 0x08fc;                                                                                    if (value53 != 0x0) {                                                                                        value54 = 0;                                                                                    }                                                                                    (bool success31, bytes memory returnData31) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value53 }(""); // call                                                                                    require(success31);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value55 = 0x08fc;                                                                                if (value53 != 0x0) {                                                                                    value55 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value53 }(""); // call                                                                            }                                                                        } else {                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value56 = this.code.length;                                                                                uint256 value57 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value56 = address(this).balance;                                                                                    value57 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value58 = 0x08fc;                                                                                    if (value57 != 0x0) {                                                                                        value58 = 0;                                                                                    }                                                                                    (bool success33, bytes memory returnData33) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value57 }(""); // call                                                                                    require(success33);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value59 = 0x08fc;                                                                                if (value57 != 0x0) {                                                                                    value59 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value57 }(""); // call                                                                            } else {                                                                                uint256 value60 = this.code.length;                                                                                uint256 value61 = address(this).balance;                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value60 = address(this).balance;                                                                                    value61 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value62 = 0x08fc;                                                                                    if (value61 != 0x0) {                                                                                        value62 = 0;                                                                                    }                                                                                    (bool success35, bytes memory returnData35) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value61 }(""); // call                                                                                    require(success35);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value63 = 0x08fc;                                                                                if (value61 != 0x0) {                                                                                    value63 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value61 }(""); // call                                                                            }                                                                        }                                                                    } else {                                                                        if (((var_a + 0x20) > 0xffffffffffffffff) | ((var_a + 0x20) < var_a)) _desolexPanic(65);                                                                        var_a = var_a + 0x20;                                                                        require(((var_a + 0x20) - var_a) >= 0x20);                                                                        uint256 accountBalance1 = abi.decode(returnData20, (uint256));                                                                        require((!(0 > 0)), "lost1");                                                                        require((!(0 > accountBalance1)), "lost2");                                                                        if (arg4 == 0) {                                                                            return abi.encodePacked(0, accountBalance1 - 0);                                                                        }                                                                        if (((CHAINID() != 0x38) && (CHAINID() == 0x1)) || (CHAINID() == 0x38)) {                                                                            require(!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) < ((0xc350 + gasleft()) - gasleft() * tx.gasprice)), "gascover");                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value64 = this.code.length;                                                                                uint256 value65 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value64 = address(this).balance;                                                                                    value65 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value66 = 0x08fc;                                                                                    if (value65 != 0x0) {                                                                                        value66 = 0;                                                                                    }                                                                                    (bool success37, bytes memory returnData37) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value65 }(""); // call                                                                                    require(success37);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value67 = 0x08fc;                                                                                if (value65 != 0x0) {                                                                                    value67 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value65 }(""); // call                                                                            } else {                                                                                uint256 value68 = this.code.length;                                                                                uint256 value69 = address(this).balance;                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value68 = address(this).balance;                                                                                    value69 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value70 = 0x08fc;                                                                                    if (value69 != 0x0) {                                                                                        value70 = 0;                                                                                    }                                                                                    (bool success39, bytes memory returnData39) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value69 }(""); // call                                                                                    require(success39);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value71 = 0x08fc;                                                                                if (value69 != 0x0) {                                                                                    value71 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value69 }(""); // call                                                                            }                                                                        } else {                                                                            if (!((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) > ((0xc350 + gasleft()) - gasleft() * tx.gasprice))) {                                                                                uint256 value72 = this.code.length;                                                                                uint256 value73 = address(this).balance;                                                                                if (address(this).balance >= 0) {                                                                                    value72 = address(this).balance;                                                                                    value73 = 0;                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value74 = 0x08fc;                                                                                    if (value73 != 0x0) {                                                                                        value74 = 0;                                                                                    }                                                                                    (bool success41, bytes memory returnData41) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value73 }(""); // call                                                                                    require(success41);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value75 = 0x08fc;                                                                                if (value73 != 0x0) {                                                                                    value75 = 0;                                                                                }                                                                                (bool success42, bytes memory returnData42) = address(block.coinbase).call{ value: value73 }(""); // call                                                                            } else {                                                                                uint256 value76 = this.code.length;                                                                                uint256 value77 = address(this).balance;                                                                                if (!(address(this).balance < ((((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice)))) {                                                                                    value76 = address(this).balance;                                                                                    value77 = (((var_a.length - 0) * 0x0de0b6b3a7640000) / arg4) - ((0xc350 + gasleft()) - gasleft() * tx.gasprice);                                                                                }                                                                                if (0x38 == block.chainid) {                                                                                    uint256 value78 = 0x08fc;                                                                                    if (value77 != 0x0) {                                                                                        value78 = 0;                                                                                    }                                                                                    (bool success43, bytes memory returnData43) = address(0x74c5f8c6ffe41ad4789602bdb9a48e6cad623520).call{ value: value77 }(""); // call                                                                                    require(success43);                                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                                }                                                                                uint256 value79 = 0x08fc;                                                                                if (value77 != 0x0) {                                                                                    value79 = 0;                                                                                }                                                                                address(block.coinbase).call{ value: value77 }(""); // call                                                                            }                                                                        }                                                                    }                                                                    require(success42);                                                                    return abi.encodePacked(0, accountBalance1 - 0);                                                                }                                                            }                                                        } else {                                                            if (!(0 < var_a.length)) _desolexPanic(50);                                                            if (!(0 < var_a.length)) _desolexPanic(50);                                                            uint256 value80 = 0;                                                            while (true) {                                                                if (!(value80 < var_p)) {                                                                    break;                                                                }                                                                value80 = 0x20 + value80;                                                            }                                                        }                                                    }                                                }                                            }                                        }                                    }                                }                            }                        }                    }                }            }        }    }        function Unknown_898054c6(bytes memory arg0, address arg1, uint256 arg2, bool arg3) public payable returns (bytes memory) {        require(((0x04 + arg0) + 0x1f) < msg.data.length);        require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);        require(allowed_searchers[msg.sender], "Caller is not searcher");        uint256 var_e = 0;        (bool success0, bytes memory returnData0) = address(this).Unknown_(var_f); // delegatecall        if (returnData0.length == 0) {            require(success0);            require((((0x60 + var_g) + 0x20) - 0x80) >= 0x40);            uint256 value0 = this.code.length;            uint256 value1 = this.code.length;            bool flag0 = !((((0xc350 + gasleft()) - gasleft() * tx.gasprice) + arg2) > ((var_e * 0x0de0b6b3a7640000) / arg3));            if (arg3) {            } else {                value0 = (arg3) ? 1 : 0;                value1 = ((0xc350 + gasleft()) - gasleft()) * tx.gasprice;                flag0 = arg3;            }            require(flag0, "tipcover");            (bool success1, bytes memory returnData1) = arg1.call{ value: arg2 }(""); // call            uint256 var_c;            if (returnData1.length == 0) {                require(success1, "tip");                var_h = var_h;            } else {                if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);                if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                var_e = returnData1.length;                require(success1, "tip");            }            return abi.encodePacked(var_e, var_h);        } else {            if (!(returnData1.length <= 0xffffffffffffffff)) _desolexPanic(65);            if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);            var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData1.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            require(success1);            require(((var_c + var_c.length) + 0x20) - (var_c + 0x20) >= 0x40);            uint256 value2 = this.code.length;            uint256 value3 = this.code.length;            bool flag1 = !((((0xc350 + gasleft()) - gasleft() * tx.gasprice) + arg2) > ((var_e * 0x0de0b6b3a7640000) / arg3));            if (arg3) {            } else {                value2 = (arg3) ? 1 : 0;                value3 = ((0xc350 + gasleft()) - gasleft()) * tx.gasprice;                flag1 = arg3;            }            require(flag1, "tipcover");            (bool success2, bytes memory returnData2) = arg1.call{ value: arg2 }(""); // call            if (returnData2.length == 0) {                require(success2, "tip");            } else {                if (!(returnData2.length <= 0xffffffffffffffff)) _desolexPanic(65);                if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData2.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                require(success2, "tip");            }            return abi.encodePacked(var_l, var_k);        }    }        function generate_garbage(uint256 arg0) public {        uint256 value0 = 0;        while (true) {            gas_garbage_count = gas_garbage_count + arg0;            gas_garbage[value0] = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff;            value0 = value0 + 0x01;        }    }        function Unknown_5b1330bc() public view {        if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) >= 0) {            require(allowed_searchers[msg.sender], "Caller is not searcher");            require(msg.data.length <= msg.data.length);            if ((msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc) > 0xffffffffffffffff) _desolexPanic(65);            uint256 var_c;            if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);            var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            require(!((0x04 + (msg.data.length + 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc)) > msg.data.length));            if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);            var_c = var_c + 0x40;            if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);            var_c = var_c + 0x40;            uint256 value0 = 0;            if (var_k) {                uint256 value36 = 0;                if (!(var_l < 0xc0)) {                    value36 = 0x01;                }                value0 = value36;            }            require(value0 != 0x0);            if (var_m != 0x0) {                uint256 value1;                if (!(var_o < 0x80)) {                    bool flag0;                    if (!(var_o < 0xb8)) {                        bool flag21 = !(var_o < 0xc0);                        if (!(var_o < 0xc0)) {                            flag21 = var_o < 0xf8;                        }                        flag0 = flag21;                    } else {                        flag0 = var_o < 0xb8;                    }                    uint256 value37;                    if (!flag0) {                        uint256 value38 = (var_p + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                        if (!(var_o < 0xc0)) {                        } else {                            value38 = (var_p + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                        }                        value37 = value38;                    } else {                        value37 = 0x01;                    }                    value1 = value37;                } else {                    value1 = 0;                }                if ((var_n + value1) >= (var_n + var_m)) {                    if (0 > 0xffffffffffffffff) _desolexPanic(65);                    if (((var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                    var_c = var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                    if (0 > 0xffffffffffffffff) _desolexPanic(65);                    if (!(0 < ((0x20 + (0 << 0x05)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) {                        uint256 value2;                        if (!(var_s < 0x80)) {                            bool flag1;                            if (!(var_s < 0xb8)) {                                bool flag22 = !(var_s < 0xc0);                                if (!(var_s < 0xc0)) {                                    flag22 = var_s < 0xf8;                                }                                flag1 = flag22;                            } else {                                flag1 = var_s < 0xb8;                            }                            uint256 value39;                            if (!flag1) {                                uint256 value40 = (var_t + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_s < 0xc0)) {                                } else {                                    value40 = (var_t + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value39 = value40;                            } else {                                value39 = 0x01;                            }                            value2 = value39;                        } else {                            value2 = 0;                        }                        if (!(var_c.length != 0x0)) _desolexPanic(50);                        require(var_v == 0x15);                        uint256 value3 = this.code.length;                        bool flag2 = !(var_w > 0x21);                        if (!var_w) {                            value3 = var_w;                            flag2 = var_w;                        }                        require(flag2);                        uint256 value4;                        if (!(var_x < 0x80)) {                            if (!(var_x < 0xb8)) {                            }                            uint256 value41;                            if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                uint256 value42 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_x < 0xc0)) {                                } else {                                    value42 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value41 = value42;                            } else {                                value41 = 0x01;                            }                            value4 = value41;                        } else {                            value4 = 0;                        }                        uint256 value5 = var_ab / (0x0100 ** (0x20 - (var_v - value4)));                        if (!((var_w - value4) < 0x20)) {                            value5 = var_ab;                        }                        if (!(0x01 < var_c.length)) _desolexPanic(50);                        require(var_v == 0x15);                        uint256 value6 = this.code.length;                        bool flag4 = !(var_w > 0x21);                        if (!var_w) {                            value6 = var_w;                            flag4 = var_w;                        }                        require(flag4);                        uint256 value7;                        if (!(var_x < 0x80)) {                            if (!(var_x < 0xb8)) {                            }                            uint256 value43;                            if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                uint256 value44 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_x < 0xc0)) {                                } else {                                    value44 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value43 = value44;                            } else {                                value43 = 0x01;                            }                            value7 = value43;                        } else {                            value7 = 0;                        }                        uint256 value8 = var_ae / (0x0100 ** (0x20 - (var_v - value7)));                        if (!((var_w - value7) < 0x20)) {                            value8 = var_ae;                        }                        if (!(0x02 < var_c.length)) _desolexPanic(50);                        uint256 value9 = this.code.length;                        bool flag6 = !(var_ag > 0x21);                        if (!(var_ag)) {                            value9 = var_ag;                            flag6 = !(!(var_ag));                        }                        require(flag6);                        uint256 value10;                        if (!(var_x < 0x80)) {                            if (!(var_x < 0xb8)) {                            }                            uint256 value45;                            if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                uint256 value46 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_x < 0xc0)) {                                } else {                                    value46 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value45 = value46;                            } else {                                value45 = 0x01;                            }                            value10 = value45;                        } else {                            value10 = 0;                        }                        uint256 value11 = var_ai / (0x0100 ** (0x20 - (var_aj - value10)));                        if (!((var_aj - value10) < 0x20)) {                            value11 = var_ai;                        }                        if (!(0x03 < var_c.length)) _desolexPanic(50);                        uint256 value12 = this.code.length;                        bool flag8 = !(var_ak > 0x21);                        if (!(var_ak)) {                            value12 = var_ak;                            flag8 = !(!(var_ak));                        }                        require(flag8);                        uint256 value13;                        if (!(var_x < 0x80)) {                            if (!(var_x < 0xb8)) {                            }                            uint256 value47;                            if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                uint256 value48 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_x < 0xc0)) {                                } else {                                    value48 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value47 = value48;                            } else {                                value47 = 0x01;                            }                            value13 = value47;                        } else {                            value13 = 0;                        }                        uint256 value14 = var_am / (0x0100 ** (0x20 - (var_an - value13)));                        if (!((var_an - value13) < 0x20)) {                            value14 = var_am;                        }                        if (!(0x04 < var_c.length)) _desolexPanic(50);                        uint256 value15 = this.code.length;                        bool flag10 = !(var_ao > 0x21);                        if (!(var_ao)) {                            value15 = var_ao;                            flag10 = !(!(var_ao));                        }                        require(flag10);                        uint256 value16;                        if (!(var_x < 0x80)) {                            if (!(var_x < 0xb8)) {                            }                            uint256 value49;                            if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                uint256 value50 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_x < 0xc0)) {                                } else {                                    value50 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value49 = value50;                            } else {                                value49 = 0x01;                            }                            value16 = value49;                        } else {                            value16 = 0;                        }                        uint256 value17 = var_aq / (0x0100 ** (0x20 - (var_ar - value16)));                        if (!((var_ar - value16) < 0x20)) {                            value17 = var_aq;                        }                        if (!(0x05 < var_c.length)) _desolexPanic(50);                        uint256 value18 = this.code.length;                        bool flag12 = !(var_as > 0x21);                        if (!(var_as)) {                            value18 = var_as;                            flag12 = !(!(var_as));                        }                        require(flag12);                        uint256 value19;                        if (!(var_x < 0x80)) {                            if (!(var_x < 0xb8)) {                            }                            uint256 value51;                            if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                uint256 value52 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                if (!(var_x < 0xc0)) {                                } else {                                    value52 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                }                                value51 = value52;                            } else {                                value51 = 0x01;                            }                            value19 = value51;                        } else {                            value19 = 0;                        }                        uint256 value20 = bytes1(var_au / (0x0100 ** (0x20 - (var_av - value19))));                        if (!((var_av - value19) < 0x20)) {                            value20 = bytes1(var_au);                        }                        if (0x06 < var_c.length) {                            uint256 value21 = 0;                            if (var_k) {                                uint256 value53 = 0;                                if (!(var_l < 0xc0)) {                                    value53 = 0x01;                                }                                value21 = value53;                            }                            require(value21 != 0x0);                            if (var_m != 0x0) {                                uint256 value22;                                if (!(var_o < 0x80)) {                                    if (!(var_o < 0xb8)) {                                    }                                    uint256 value54;                                    if (!(BYTE(0x0, var_o) >= 0xb8 && (var_o >= 0xc0 && var_o < 0xf8) || BYTE(0x0, var_o) < 0xb8)) {                                        uint256 value55 = (var_p + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                        if (!(var_o < 0xc0)) {                                        } else {                                            value55 = (var_p + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                        }                                        value54 = value55;                                    } else {                                        value54 = 0x01;                                    }                                    value22 = value54;                                } else {                                    value22 = 0;                                }                                if ((var_n + value22) >= (var_n + var_m)) {                                    if (0 > 0xffffffffffffffff) _desolexPanic(65);                                    if (((var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                    var_c = var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                    if (0 > 0xffffffffffffffff) _desolexPanic(65);                                    if (!(0 < ((0x20 + (0 << 0x05)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) {                                        uint256 value23;                                        if (!(var_s < 0x80)) {                                            if (!(var_s < 0xb8)) {                                            }                                            uint256 value56;                                            if (!(BYTE(0x0, var_s) >= 0xb8 && (var_s >= 0xc0 && var_s < 0xf8) || BYTE(0x0, var_s) < 0xb8)) {                                                uint256 value57 = (var_ba + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                if (!(var_s < 0xc0)) {                                                } else {                                                    value57 = (var_ba + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                }                                                value56 = value57;                                            } else {                                                value56 = 0x01;                                            }                                            value23 = value56;                                        } else {                                            value23 = 0;                                        }                                        uint256 value25 = var_az + value23;                                        uint256 value24 = 0;                                        while (true) {                                            if (!(value24 < (0))) {                                                break;                                            }                                            uint256 value26;                                            if (!(var_bb < 0x80)) {                                                uint256 value58;                                                if (!(var_bb < 0xb8)) {                                                    uint256 value59;                                                    if (!(var_bb < 0xc0)) {                                                        uint256 value60 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a + (var_bc / (0x0100 ** (0xf7 + (0x20 - var_bd))) + var_bd);                                                        if (var_bb < 0xf8) {                                                            value60 = (var_bd + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40) + 0x01;                                                        }                                                        value59 = value60;                                                    } else {                                                        value59 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a + (var_bc / (0x0100 ** (0xb7 + (0x20 - var_bd))) + var_bd);                                                    }                                                    value58 = value59;                                                } else {                                                    value58 = (var_bd + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) + 0x01;                                                }                                                value26 = value58;                                            } else {                                                value26 = 0x01;                                            }                                            if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                            var_c = var_c + 0x40;                                            if (!((value24 < var_bh))) _desolexPanic(50);                                            if (!(value24 < var_bi)) {                                                _desolexPanic(50);                                                break;                                            }                                            if (value25 > value25 + value26) {                                                _desolexPanic(17);                                                break;                                            }                                            value25 = value25 + value26;                                            value24 = value24 + 0x01;                                        }                                        if (var_c.length > 0xffffffffffffffff) _desolexPanic(65);                                        if (((var_c + (((0x20 + (var_c.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (var_c.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                        var_c = var_c + (((0x20 + (var_c.length << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                        if (var_c.length > 0xffffffffffffffff) _desolexPanic(65);                                        uint256 value27 = 0;                                        while (true) {                                            if (!(value27 < ((0x20 + (var_c.length << 0x05)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) {                                                break;                                            }                                            if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                            var_c = var_c + 0x40;                                            value27 = value27 + 0x20;                                            if (0 < var_c.length) {                                                if (0 < var_c.length) {                                                    uint256 value28 = 0;                                                    if (var_k) {                                                        uint256 value61 = 0;                                                        if (!(var_l < 0xc0)) {                                                            value61 = 0x01;                                                        }                                                        value28 = value61;                                                    }                                                    require(value28 != 0x0);                                                    if (var_m != 0x0) {                                                        uint256 value29;                                                        if (!(var_o < 0x80)) {                                                            if (!(var_o < 0xb8)) {                                                            }                                                            uint256 value62;                                                            if (!(BYTE(0x0, var_o) >= 0xb8 && (var_o >= 0xc0 && var_o < 0xf8) || BYTE(0x0, var_o) < 0xb8)) {                                                                uint256 value63 = (var_p + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                if (!(var_o < 0xc0)) {                                                                } else {                                                                    value63 = (var_p + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                }                                                                value62 = value63;                                                            } else {                                                                value62 = 0x01;                                                            }                                                            value29 = value62;                                                        } else {                                                            value29 = 0;                                                        }                                                        if ((var_n + value29) >= (var_n + var_m)) {                                                            if (0 > 0xffffffffffffffff) _desolexPanic(65);                                                            if (((var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);                                                            var_c = var_c + (((0x20 + (0 << 0x05)) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));                                                            if (0 > 0xffffffffffffffff) _desolexPanic(65);                                                            if (!(0 < ((0x20 + (0 << 0x05)) + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) {                                                                uint256 value30;                                                                if (!(var_s < 0x80)) {                                                                    if (!(var_s < 0xb8)) {                                                                    }                                                                    uint256 value64;                                                                    if (!(BYTE(0x0, var_s) >= 0xb8 && (var_s >= 0xc0 && var_s < 0xf8) || BYTE(0x0, var_s) < 0xb8)) {                                                                        uint256 value65 = (var_bo + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                        if (!(var_s < 0xc0)) {                                                                        } else {                                                                            value65 = (var_bo + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                        }                                                                        value64 = value65;                                                                    } else {                                                                        value64 = 0x01;                                                                    }                                                                    value30 = value64;                                                                } else {                                                                    value30 = 0;                                                                }                                                                uint256 value25 = var_bn + value30;                                                                uint256 value24 = 0;                                                                while (true) {                                                                    if (!(value24 < (0))) {                                                                        break;                                                                    }                                                                    uint256 value31;                                                                    if (!(var_bb < 0x80)) {                                                                        uint256 value66;                                                                        if (!(var_bb < 0xb8)) {                                                                            uint256 value67;                                                                            if (!(var_bb < 0xc0)) {                                                                                uint256 value68 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0a + (var_bc / (0x0100 ** (0xf7 + (0x20 - var_bd))) + var_bd);                                                                                if (var_bb < 0xf8) {                                                                                    value68 = (var_bd + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40) + 0x01;                                                                                }                                                                                value67 = value68;                                                                            } else {                                                                                value67 = 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4a + (var_bc / (0x0100 ** (0xb7 + (0x20 - var_bd))) + var_bd);                                                                            }                                                                            value66 = value67;                                                                        } else {                                                                            value66 = (var_bd + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80) + 0x01;                                                                        }                                                                        value31 = value66;                                                                    } else {                                                                        value31 = 0x01;                                                                    }                                                                    if (((var_c + 0x40) > 0xffffffffffffffff) | ((var_c + 0x40) < var_c)) _desolexPanic(65);                                                                    var_c = var_c + 0x40;                                                                    if (!((value24 < var_bh))) _desolexPanic(50);                                                                    if (!(value24 < var_bi)) {                                                                        _desolexPanic(50);                                                                        break;                                                                    }                                                                    if (value25 > value25 + value31) {                                                                        _desolexPanic(17);                                                                        break;                                                                    }                                                                    value25 = value25 + value31;                                                                    value24 = value24 + 0x01;                                                                }                                                                if (!(var_bq != 0x0)) _desolexPanic(50);                                                                require(var_br == 0x15);                                                                uint256 value32 = this.code.length;                                                                bool flag18 = !(var_w > 0x21);                                                                if (!var_w) {                                                                    value32 = var_w;                                                                    flag18 = var_w;                                                                }                                                                require(flag18);                                                                uint256 value33;                                                                if (!(var_x < 0x80)) {                                                                    if (!(var_x < 0xb8)) {                                                                    }                                                                    uint256 value69;                                                                    if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                                                        uint256 value70 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                        if (!(var_x < 0xc0)) {                                                                        } else {                                                                            value70 = (var_y + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                        }                                                                        value69 = value70;                                                                    } else {                                                                        value69 = 0x01;                                                                    }                                                                    value33 = value69;                                                                } else {                                                                    value33 = 0;                                                                }                                                                uint256 value34 = var_bt / (0x0100 ** (0x20 - (var_br - value33)));                                                                if (!((var_w - value33) < 0x20)) {                                                                    value34 = var_bt;                                                                }                                                                if (!((0 < var_bv))) _desolexPanic(50);                                                                if (!(0x01 < var_bw)) _desolexPanic(50);                                                                require(var_bx);                                                                uint256 value35;                                                                if (!(var_x < 0x80)) {                                                                    if (!(var_x < 0xb8)) {                                                                    }                                                                    uint256 value71;                                                                    if (!(BYTE(0x0, var_x) >= 0xb8 && (var_x >= 0xc0 && var_x < 0xf8) || BYTE(0x0, var_x) < 0xb8)) {                                                                        uint256 value72 = (var_ca + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff09) + 0x01;                                                                        if (!(var_x < 0xc0)) {                                                                        } else {                                                                            value72 = (var_ca + 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49) + 0x01;                                                                        }                                                                        value71 = value72;                                                                    } else {                                                                        value71 = 0x01;                                                                    }                                                                    value35 = value71;                                                                } else {                                                                    value35 = 0;                                                                }                                                            }                                                        }                                                    }                                                }                                            }                                        }                                    }                                }                            }                        }                    }                }            }        }    }        function Unknown_08bbf43c(bytes memory arg0, uint256 arg1) public payable returns (bytes memory) {        require(((0x04 + arg0) + 0x1f) < msg.data.length);        require(((0x04 + arg0) + arg0 + 0x20) <= msg.data.length);        require(allowed_searchers[msg.sender], "Caller is not searcher");        uint256 value0 = this.code.length;        if (arg1 != 0x0) {            require(!(block.number > arg1), "T");        } else {            value0 = arg1;        }        (bool success0, bytes memory returnData0) = address(this).Unknown_(var_f); // delegatecall        uint256 value1 = 0x60;        if ((returnData0.length) != 0x0) {            if (returnData0.length > 0xffffffffffffffff) _desolexPanic(65);            uint256 var_c;            if (((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) > 0xffffffffffffffff) | ((var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0))) < var_c)) _desolexPanic(65);            var_c = var_c + (((0x20 + (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0 & (0x1f + returnData0.length))) + 0x1f) & (0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0));            value1 = var_c;        }        require(success0);        require(((value1 + var_g) + 0x20) - (value1 + 0x20) >= 0x40);        return abi.encodePacked(var_i, var_h);    }        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.        // 0x051105d5 => unresolved_051105d5()    // 0x08bbf43c => Unknown_08bbf43c(bytes,uint256)    // 0x2352bfd5 => unresolved_2352bfd5()    // 0x4075f301 => allowed_searchers(address)    // 0x487c2091 => checksum()    // 0x5b1330bc => Unknown_5b1330bc()    // 0x5d5f4c3b => generate_garbage(uint256)    // 0x7104ddb2 => self()    // 0x898054c6 => Unknown_898054c6(bytes,address,uint256,bool)    // 0x8da5cb5b => owner()    // 0x903d31bd => map_bytes32(uint256)    // 0x9c078d2d => Unknown_9c078d2d(address,address,uint256,uint256,uint256,bytes)    // 0xaa4899ee => Unknown_aa4899ee(address,address,uint256,uint256,uint256,bytes)    // 0xad23241e => Unknown_ad23241e(bytes)    // 0xb0f5d8a4 => adopt()    // 0xbc3eee61 => unresolved_bc3eee61()    // 0xc2c34853 => map_uint256(uint256)    // 0xc770af06 => gas_garbage_count()    // 0xd1d7aaab => map_bool(uint256)    // 0xd8fbc833 => morpho()    // 0xe866d0dd => gas_garbage(uint256)    // 0xe8c8de1e => Unknown_e8c8de1e(address,address,uint256,uint256,uint256,bytes,bool)    // 0xe8fa0778 => Unknown_e8fa0778()    // 0xe91db8e5 => implementations(bytes4)    // 0xecc34e60 => unresolved_ecc34e60()    // 0xef1e9190 => map_address(uint256)}
0x2234a8…dfa836 on Ethereum — Decompiled Solidity