--[[ _,'| _.-''``-...___..--';) /_ \'. __..-' , ,--...--''' <\ .`--''' ` /' `-';' ; ; ; __...--'' ___...--_..' .;.' (,__....----''' (,..--'' DO NOT REDISTRIBUTE THIS SCRIPT AS PAID! © 2024 htauk. This code is provided "as-is" and can be used, modified, and redistributed freely, provided that proper credit is given to the original author. ]] --[[ INFO: THIS SCRIPT LOGS YOUR REGION AND EXECUTOR! The purpose of this script is to help crowd source a map of the most popular executors in different regions. ]] local StrToNumber = tonumber; local Byte = string.byte; local Char = string.char; local Sub = string.sub; local Subg = string.gsub; local Rep = string.rep; local Concat = table.concat; local Insert = table.insert; local LDExp = math.ldexp; local GetFEnv = getfenv or function() return _ENV; end; local Setmetatable = setmetatable; local PCall = pcall; local Select = select; local Unpack = unpack or table.unpack; local ToNumber = tonumber; local function VMCall(ByteString, vmenv, ...) local DIP = 1; local repeatNext; ByteString = Subg(Sub(ByteString, 5), "..", function(byte) if (Byte(byte, 2) == 81) then repeatNext = StrToNumber(Sub(byte, 1, 1)); return ""; else local a = Char(StrToNumber(byte, 16)); if repeatNext then local b = Rep(a, repeatNext); repeatNext = nil; return b; else return a; end end end); local function gBit(Bit, Start, End) if End then local Res = (Bit / (2 ^ (Start - 1))) % (2 ^ (((End - 1) - (Start - 1)) + 1)); return Res - (Res % 1); else local Plc = 2 ^ (Start - 1); return (((Bit % (Plc + Plc)) >= Plc) and 1) or 0; end end local function gBits8() local a = Byte(ByteString, DIP, DIP); DIP = DIP + 1; return a; end local function gBits16() local a, b = Byte(ByteString, DIP, DIP + 2); DIP = DIP + 2; return (b * 256) + a; end local function gBits32() local a, b, c, d = Byte(ByteString, DIP, DIP + 3); DIP = DIP + 4; return (d * 16777216) + (c * 65536) + (b * 256) + a; end local function gFloat() local Left = gBits32(); local Right = gBits32(); local IsNormal = 1; local Mantissa = (gBit(Right, 1, 20) * (2 ^ 32)) + Left; local Exponent = gBit(Right, 21, 31); local Sign = ((gBit(Right, 32) == 1) and -1) or 1; if (Exponent == 0) then if (Mantissa == 0) then return Sign * 0; else Exponent = 1; IsNormal = 0; end elseif (Exponent == 2047) then return ((Mantissa == 0) and (Sign * (1 / 0))) or (Sign * NaN); end return LDExp(Sign, Exponent - 1023) * (IsNormal + (Mantissa / (2 ^ 52))); end local function gString(Len) local Str; if not Len then Len = gBits32(); if (Len == 0) then return ""; end end Str = Sub(ByteString, DIP, (DIP + Len) - 1); DIP = DIP + Len; local FStr = {}; for Idx = 1, #Str do FStr[Idx] = Char(Byte(Sub(Str, Idx, Idx))); end return Concat(FStr); end local gInt = gBits32; local function _R(...) return {...}, Select("#", ...); end local function Deserialize() local Instrs = {}; local Functions = {}; local Lines = {}; local Chunk = {Instrs,Functions,nil,Lines}; local ConstCount = gBits32(); local Consts = {}; for Idx = 1, ConstCount do local Type = gBits8(); local Cons; if (Type == 1) then Cons = gBits8() ~= 0; elseif (Type == 2) then Cons = gFloat(); elseif (Type == 3) then Cons = gString(); end Consts[Idx] = Cons; end Chunk[3] = gBits8(); for Idx = 1, gBits32() do local Descriptor = gBits8(); if (gBit(Descriptor, 1, 1) == 0) then local Type = gBit(Descriptor, 2, 3); local Mask = gBit(Descriptor, 4, 6); local Inst = {gBits16(),gBits16(),nil,nil}; if (Type == 0) then Inst[3] = gBits16(); Inst[4] = gBits16(); elseif (Type == 1) then Inst[3] = gBits32(); elseif (Type == 2) then Inst[3] = gBits32() - (2 ^ 16); elseif (Type == 3) then Inst[3] = gBits32() - (2 ^ 16); Inst[4] = gBits16(); end if (gBit(Mask, 1, 1) == 1) then Inst[2] = Consts[Inst[2]]; end if (gBit(Mask, 2, 2) == 1) then Inst[3] = Consts[Inst[3]]; end if (gBit(Mask, 3, 3) == 1) then Inst[4] = Consts[Inst[4]]; end Instrs[Idx] = Inst; end end for Idx = 1, gBits32() do Functions[Idx - 1] = Deserialize(); end return Chunk; end local function Wrap(Chunk, Upvalues, Env) local Instr = Chunk[1]; local Proto = Chunk[2]; local Params = Chunk[3]; return function(...) local Instr = Instr; local Proto = Proto; local Params = Params; local _R = _R; local VIP = 1; local Top = -1; local Vararg = {}; local Args = {...}; local PCount = Select("#", ...) - 1; local Lupvals = {}; local Stk = {}; for Idx = 0, PCount do if (Idx >= Params) then Vararg[Idx - Params] = Args[Idx + 1]; else Stk[Idx] = Args[Idx + 1]; end end local Varargsz = (PCount - Params) + 1; local Inst; local Enum; while true do Inst = Instr[VIP]; Enum = Inst[1]; if (Enum <= 25) then if (Enum <= 12) then if (Enum <= 5) then if (Enum <= 2) then if (Enum <= 0) then local A = Inst[2]; Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3])); elseif (Enum > 1) then local A = Inst[2]; do return Unpack(Stk, A, Top); end else Stk[Inst[2]] = Stk[Inst[3]][Inst[4]]; end elseif (Enum <= 3) then if Stk[Inst[2]] then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum > 4) then local A = Inst[2]; do return Unpack(Stk, A, A + Inst[3]); end else Stk[Inst[2]] = Upvalues[Inst[3]]; end elseif (Enum <= 8) then if (Enum <= 6) then Stk[Inst[2]][Inst[3]] = Stk[Inst[4]]; elseif (Enum > 7) then Stk[Inst[2]][Inst[3]] = Inst[4]; else Stk[Inst[2]] = {}; end elseif (Enum <= 10) then if (Enum > 9) then local A = Inst[2]; Stk[A] = Stk[A](Stk[A + 1]); else Stk[Inst[2]] = Stk[Inst[3]][Inst[4]]; end elseif (Enum > 11) then local NewProto = Proto[Inst[3]]; local NewUvals; local Indexes = {}; NewUvals = Setmetatable({}, {__index=function(_, Key) local Val = Indexes[Key]; return Val[1][Val[2]]; end,__newindex=function(_, Key, Value) local Val = Indexes[Key]; Val[1][Val[2]] = Value; end}); for Idx = 1, Inst[4] do VIP = VIP + 1; local Mvm = Instr[VIP]; if (Mvm[1] == 38) then Indexes[Idx - 1] = {Stk,Mvm[3]}; else Indexes[Idx - 1] = {Upvalues,Mvm[3]}; end Lupvals[#Lupvals + 1] = Indexes; end Stk[Inst[2]] = Wrap(NewProto, NewUvals, Env); else local A = Inst[2]; local B = Stk[Inst[3]]; Stk[A + 1] = B; Stk[A] = B[Inst[4]]; end elseif (Enum <= 18) then if (Enum <= 15) then if (Enum <= 13) then local A = Inst[2]; Stk[A](Stk[A + 1]); elseif (Enum > 14) then VIP = Inst[3]; else local A = Inst[2]; Stk[A] = Stk[A](); end elseif (Enum <= 16) then local A = Inst[2]; do return Unpack(Stk, A, Top); end elseif (Enum == 17) then if (Stk[Inst[2]] ~= Inst[4]) then VIP = VIP + 1; else VIP = Inst[3]; end elseif not Stk[Inst[2]] then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum <= 21) then if (Enum <= 19) then local A = Inst[2]; local Results = {Stk[A](Stk[A + 1])}; local Edx = 0; for Idx = A, Inst[4] do Edx = Edx + 1; Stk[Idx] = Results[Edx]; end elseif (Enum == 20) then local B = Inst[3]; local K = Stk[B]; for Idx = B + 1, Inst[4] do K = K .. Stk[Idx]; end Stk[Inst[2]] = K; else Stk[Inst[2]] = Env[Inst[3]]; end elseif (Enum <= 23) then if (Enum == 22) then local A = Inst[2]; Stk[A] = Stk[A](); else do return; end end elseif (Enum == 24) then do return Stk[Inst[2]]; end else Stk[Inst[2]] = {}; end elseif (Enum <= 38) then if (Enum <= 31) then if (Enum <= 28) then if (Enum <= 26) then local B = Inst[3]; local K = Stk[B]; for Idx = B + 1, Inst[4] do K = K .. Stk[Idx]; end Stk[Inst[2]] = K; elseif (Enum > 27) then Stk[Inst[2]] = Inst[3]; else do return; end end elseif (Enum <= 29) then local A = Inst[2]; Stk[A](Unpack(Stk, A + 1, Inst[3])); elseif (Enum > 30) then Stk[Inst[2]] = Env[Inst[3]]; else local A = Inst[2]; Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3])); end elseif (Enum <= 34) then if (Enum <= 32) then local A = Inst[2]; Stk[A](Stk[A + 1]); elseif (Enum > 33) then Stk[Inst[2]][Inst[3]] = Stk[Inst[4]]; else Stk[Inst[2]] = Wrap(Proto[Inst[3]], nil, Env); end elseif (Enum <= 36) then if (Enum == 35) then local A = Inst[2]; Stk[A](Unpack(Stk, A + 1, Inst[3])); else VIP = Inst[3]; end elseif (Enum > 37) then Stk[Inst[2]] = Stk[Inst[3]]; elseif not Stk[Inst[2]] then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum <= 45) then if (Enum <= 41) then if (Enum <= 39) then if Stk[Inst[2]] then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum == 40) then local A = Inst[2]; local B = Stk[Inst[3]]; Stk[A + 1] = B; Stk[A] = B[Inst[4]]; else Stk[Inst[2]][Inst[3]] = Inst[4]; end elseif (Enum <= 43) then if (Enum > 42) then local A = Inst[2]; local Results = {Stk[A](Stk[A + 1])}; local Edx = 0; for Idx = A, Inst[4] do Edx = Edx + 1; Stk[Idx] = Results[Edx]; end else Stk[Inst[2]] = Inst[3]; end elseif (Enum > 44) then Stk[Inst[2]] = Upvalues[Inst[3]]; else local A = Inst[2]; Stk[A] = Stk[A](Stk[A + 1]); end elseif (Enum <= 48) then if (Enum <= 46) then if (Stk[Inst[2]] ~= Inst[4]) then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum == 47) then local NewProto = Proto[Inst[3]]; local NewUvals; local Indexes = {}; NewUvals = Setmetatable({}, {__index=function(_, Key) local Val = Indexes[Key]; return Val[1][Val[2]]; end,__newindex=function(_, Key, Value) local Val = Indexes[Key]; Val[1][Val[2]] = Value; end}); for Idx = 1, Inst[4] do VIP = VIP + 1; local Mvm = Instr[VIP]; if (Mvm[1] == 38) then Indexes[Idx - 1] = {Stk,Mvm[3]}; else Indexes[Idx - 1] = {Upvalues,Mvm[3]}; end Lupvals[#Lupvals + 1] = Indexes; end Stk[Inst[2]] = Wrap(NewProto, NewUvals, Env); else Stk[Inst[2]] = Wrap(Proto[Inst[3]], nil, Env); end elseif (Enum <= 50) then if (Enum == 49) then local A = Inst[2]; do return Stk[A](Unpack(Stk, A + 1, Inst[3])); end else Stk[Inst[2]] = Stk[Inst[3]]; end elseif (Enum == 51) then do return Stk[Inst[2]]; end else local A = Inst[2]; do return Stk[A](Unpack(Stk, A + 1, Inst[3])); end end VIP = VIP + 1; end end; end return Wrap(Deserialize(), {}, vmenv)(...); end return VMCall("LOL!093Q0003043Q0067616D65030A3Q0047657453657276696365030B3Q00482Q74705365727669636503073Q00506C6179657273030B3Q004C6F63616C506C6179657203063Q00557365724964030B3Q00446973706C61794E616D6503103Q006964656E746966796578656375746F7203073Q00556E6B6E6F776E00243Q0012153Q00013Q00200B5Q000200122A000200034Q001E3Q00020002001215000100013Q00200B00010001000200122A000300044Q001E00010003000200200900020001000500200900030002000600200900040002000700023000055Q00062F00060001000100012Q00268Q0032000700054Q00160007000100022Q0032000800064Q0032000900074Q000A00080002000200062F00090002000100012Q00268Q0032000A00054Q0016000A000100022Q0032000B00064Q0032000C000A4Q000A000B00020002001215000C00084Q0016000C00010002000625000C001F0001000100040F3Q001F000100122A000C00094Q0032000D00094Q0032000E000C4Q0032000F000B4Q0023000D000F00012Q00173Q00013Q00033Q000B3Q00030C3Q00682Q74705F7265717565737403073Q007265717565737403083Q00482Q7470506F73742Q033Q0073796E03143Q00682Q7470733A2Q2F76342E6964656E742E6D652F2Q033Q0055726C03063Q004D6574686F642Q033Q0047455403043Q00426F6479034Q0003123Q004661696C656420746F206665746368204950001F3Q0012153Q00013Q0006253Q000B0001000100040F3Q000B00010012153Q00023Q0006253Q000B0001000100040F3Q000B00010012153Q00033Q0006253Q000B0001000100040F3Q000B00010012153Q00043Q0020095Q000200122A000100054Q003200026Q000700033Q00020010060003000600010030290003000700082Q000A0002000200020006030002001C00013Q00040F3Q001C00010020090003000200090006030003001C00013Q00040F3Q001C000100200900030002000900262E0003001C0001000A00040F3Q001C00010020090003000200092Q0018000300023Q00040F3Q001E000100122A0003000B4Q0018000300024Q00173Q00017Q00103Q00030C3Q00682Q74705F7265717565737403073Q007265717565737403083Q00482Q7470506F73742Q033Q0073796E03173Q00682Q74703A2Q2F69702D6170692E636F6D2F6A736F6E2F2Q033Q0055726C03063Q004D6574686F642Q033Q0047455403043Q00426F6479034Q0003053Q007063612Q6C030B3Q00636F756E747279436F646503063Q00726567696F6E03013Q002F03193Q004661696C656420746F206465636F64652067656F206461746103183Q004661696C656420746F2066657463682067656F206461746101323Q001215000100013Q0006250001000B0001000100040F3Q000B0001001215000100023Q0006250001000B0001000100040F3Q000B0001001215000100033Q0006250001000B0001000100040F3Q000B0001001215000100043Q00200900010001000200122A000200054Q003200036Q001A0002000200032Q0032000300014Q000700043Q00020010060004000600020030290004000700082Q000A0003000200020006030003002F00013Q00040F3Q002F00010020090004000300090006030004002F00013Q00040F3Q002F000100200900040003000900262E0004002F0001000A00040F3Q002F00010012150004000B3Q00062F00053Q000100022Q002D8Q00263Q00034Q002B0004000200050006030004002C00013Q00040F3Q002C00010006030005002C00013Q00040F3Q002C000100200900060005000C00200900070005000D2Q0032000800063Q00122A0009000E4Q0032000A00074Q001A00080008000A2Q0018000800023Q00040F3Q0031000100122A0006000F4Q0018000600023Q00040F3Q0031000100122A000400104Q0018000400024Q00173Q00013Q00013Q00023Q00030A3Q004A534F4E4465636F646503043Q00426F647900074Q00047Q00200B5Q00012Q0004000200013Q0020090002000200022Q00343Q00024Q00108Q00173Q00017Q00113Q0003803Q00682Q7470733A2Q2F63616E6172792E646973636F72642E636F6D2F6170692F776562682Q6F6B732F31333139313336313533383335392Q333731372F7A3257455F37323773674A4E4F474D64496A536979726E4F6447695F4B6B6861794A6C384A4D39596A434F4C5876615A6276426E5F692Q57564364745A725142625F624E03063Q00737472696E6703063Q00666F726D617403193Q004578656375746F723A2025730A4C6F636174696F6E3A20257303073Q00636F6E74656E74030C3Q00436F6E74656E742D5479706503103Q00612Q706C69636174696F6E2F6A736F6E030C3Q00682Q74705F7265717565737403073Q007265717565737403083Q00482Q7470506F73742Q033Q0073796E2Q033Q0055726C03063Q004D6574686F6403043Q00504F535403073Q004865616465727303043Q00426F6479030A3Q004A534F4E456E636F646502223Q00122A000200013Q001215000300023Q00200900030003000300122A000400044Q003200056Q0032000600014Q001E0003000600022Q000700043Q00010010060004000500032Q000700053Q0001003029000500060007001215000600083Q000625000600160001000100040F3Q00160001001215000600093Q000625000600160001000100040F3Q001600010012150006000A3Q000625000600160001000100040F3Q001600010012150006000B3Q0020090006000600092Q0032000700064Q000700083Q00040010060008000C00020030290008000D000E0010060008000F00052Q000400095Q00200B0009000900112Q0032000B00044Q001E0009000B00020010060008001000092Q00200007000200012Q00173Q00017Q00", GetFEnv(), ...);