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 do return; end elseif (Enum == 1) then local A = Inst[2]; Stk[A] = Stk[A](Stk[A + 1]); else local A = Inst[2]; local B = Stk[Inst[3]]; Stk[A + 1] = B; Stk[A] = B[Inst[4]]; end elseif (Enum <= 3) then local A = Inst[2]; Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3])); elseif (Enum == 4) then local A = Inst[2]; local C = Inst[4]; local CB = A + 2; local Result = {Stk[A](Stk[A + 1], Stk[CB])}; for Idx = 1, C do Stk[CB + Idx] = Result[Idx]; end local R = Result[1]; if R then Stk[CB] = R; VIP = Inst[3]; else VIP = VIP + 1; end else Stk[Inst[2]] = Stk[Inst[3]] * Inst[4]; end elseif (Enum <= 8) then if (Enum <= 6) then Stk[Inst[2]][Inst[3]] = Inst[4]; elseif (Enum == 7) then Stk[Inst[2]] = Stk[Inst[3]] + Stk[Inst[4]]; else local A = Inst[2]; Stk[A] = Stk[A](Stk[A + 1]); end elseif (Enum <= 10) then if (Enum == 9) then for Idx = Inst[2], Inst[3] do Stk[Idx] = nil; end elseif Stk[Inst[2]] then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum == 11) then for Idx = Inst[2], Inst[3] do Stk[Idx] = nil; end else local A = Inst[2]; Stk[A](Unpack(Stk, A + 1, Inst[3])); end elseif (Enum <= 18) then if (Enum <= 15) then if (Enum <= 13) then local A = Inst[2]; local Results = {Stk[A](Unpack(Stk, A + 1, Top))}; local Edx = 0; for Idx = A, Inst[4] do Edx = Edx + 1; Stk[Idx] = Results[Edx]; end elseif (Enum == 14) 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] == 21) 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); elseif (Stk[Inst[2]] ~= Stk[Inst[4]]) then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum <= 16) then local A = Inst[2]; Stk[A](Unpack(Stk, A + 1, Inst[3])); elseif (Enum == 17) then Stk[Inst[2]] = Stk[Inst[3]] + Stk[Inst[4]]; else local A = Inst[2]; Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3])); end elseif (Enum <= 21) then if (Enum <= 19) then Upvalues[Inst[3]] = Stk[Inst[2]]; elseif (Enum > 20) then Stk[Inst[2]] = Stk[Inst[3]]; else Upvalues[Inst[3]] = Stk[Inst[2]]; end elseif (Enum <= 23) then if (Enum == 22) then local A = Inst[2]; Stk[A](Stk[A + 1]); else do return; end end elseif (Enum == 24) then local A = Inst[2]; local Results, Limit = _R(Stk[A](Stk[A + 1])); Top = (Limit + A) - 1; local Edx = 0; for Idx = A, Top do Edx = Edx + 1; Stk[Idx] = Results[Edx]; end else Stk[Inst[2]] = Inst[3]; end elseif (Enum <= 38) then if (Enum <= 31) then if (Enum <= 28) then if (Enum <= 26) then if Stk[Inst[2]] then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum == 27) then Stk[Inst[2]] = Inst[3] ~= 0; else Stk[Inst[2]][Inst[3]] = Stk[Inst[4]]; end elseif (Enum <= 29) then Stk[Inst[2]] = Stk[Inst[3]][Inst[4]]; elseif (Enum > 30) then Stk[Inst[2]] = Stk[Inst[3]] * Stk[Inst[4]]; else Stk[Inst[2]] = Env[Inst[3]]; end elseif (Enum <= 34) then if (Enum <= 32) then VIP = Inst[3]; elseif (Enum > 33) 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] == 21) 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]; Stk[A](Stk[A + 1]); end elseif (Enum <= 36) then if (Enum > 35) then local A = Inst[2]; local Results = {Stk[A](Unpack(Stk, A + 1, Top))}; local Edx = 0; for Idx = A, Inst[4] do Edx = Edx + 1; Stk[Idx] = Results[Edx]; end else Stk[Inst[2]] = Upvalues[Inst[3]]; end elseif (Enum == 37) then Stk[Inst[2]] = Stk[Inst[3]] * Inst[4]; else Stk[Inst[2]] = Env[Inst[3]]; end elseif (Enum <= 44) then if (Enum <= 41) then if (Enum <= 39) then local A = Inst[2]; local B = Stk[Inst[3]]; Stk[A + 1] = B; Stk[A] = B[Inst[4]]; elseif (Enum > 40) then Stk[Inst[2]] = Stk[Inst[3]]; else Stk[Inst[2]][Inst[3]] = Stk[Inst[4]]; end elseif (Enum <= 42) then local A = Inst[2]; local C = Inst[4]; local CB = A + 2; local Result = {Stk[A](Stk[A + 1], Stk[CB])}; for Idx = 1, C do Stk[CB + Idx] = Result[Idx]; end local R = Result[1]; if R then Stk[CB] = R; VIP = Inst[3]; else VIP = VIP + 1; end elseif (Enum == 43) then Stk[Inst[2]] = Stk[Inst[3]] * Stk[Inst[4]]; elseif (Stk[Inst[2]] ~= Stk[Inst[4]]) then VIP = VIP + 1; else VIP = Inst[3]; end elseif (Enum <= 47) then if (Enum <= 45) then Stk[Inst[2]][Inst[3]] = Inst[4]; elseif (Enum == 46) then local A = Inst[2]; local Results, Limit = _R(Stk[A](Stk[A + 1])); Top = (Limit + A) - 1; local Edx = 0; for Idx = A, Top do Edx = Edx + 1; Stk[Idx] = Results[Edx]; end else Stk[Inst[2]] = Inst[3]; end elseif (Enum <= 49) then if (Enum > 48) then Stk[Inst[2]] = Stk[Inst[3]][Inst[4]]; else Stk[Inst[2]] = Inst[3] ~= 0; end elseif (Enum == 50) then Stk[Inst[2]] = Upvalues[Inst[3]]; else VIP = Inst[3]; end VIP = VIP + 1; end end; end return Wrap(Deserialize(), {}, vmenv)(...); end return VMCall("LOL!083Q0003043Q0067616D65030A3Q004765745365727669636503073Q00506C6179657273030A3Q0052756E53657276696365030B3Q004C6F63616C506C6179657203093Q00436861726163746572030E3Q00436861726163746572412Q64656403073Q00436F2Q6E656374001A3Q0012263Q00013Q0020025Q0002001219000200034Q00033Q00020002001226000100013Q002002000100010002001219000300044Q000300010003000200201D00023Q00052Q001B00035Q00060E00043Q000100042Q00153Q00014Q00153Q00034Q00158Q00153Q00023Q00201D00050002000600061A0005001500013Q0004203Q001500012Q0029000500043Q00201D0006000200062Q001600050002000100201D0005000200070020020005000500082Q0029000700044Q00100005000700016Q00013Q00013Q000F3Q00030C3Q0057616974466F724368696C6403103Q0048756D616E6F6964522Q6F745061727403083Q0048756D616E6F6964030F3Q005365745374617465456E61626C656403043Q00456E756D03113Q0048756D616E6F696453746174655479706503043Q004465616403123Q00427265616B4A6F696E74734F6E4465617468010003073Q005374652Q70656403073Q00436F2Q6E656374030A3Q0043616E436F2Q6C696465030B3Q004368616E6765537461746503073Q005068797369637303053Q00737061776E012D3Q00200200013Q0001001219000300024Q000300010003000200200200023Q0001001219000400034Q0003000200040002002002000300020004001226000500053Q00201D00050005000600201D0005000500072Q001B00066Q001000030006000100302D0002000800092Q0009000300034Q002300045Q00201D00040004000A00200200040004000B00060E00063Q000100022Q00153Q00024Q00153Q00034Q00030004000600022Q0029000300044Q001B000400014Q0014000400013Q00302D0001000C000900200200040002000D001226000600053Q00201D00060006000600201D00060006000E2Q00100004000600010012260004000F3Q00060E00050001000100052Q00323Q00014Q00153Q00014Q00328Q00323Q00024Q00323Q00034Q00160004000200010012260004000F3Q00060E00050002000100032Q00323Q00014Q00153Q00014Q00328Q00160004000200016Q00013Q00033Q00063Q0003063Q00506172656E7403063Q004865616C746803043Q006D61746803043Q006875676503093Q004D61784865616C7468030A3Q00446973636F2Q6E65637400144Q00237Q00061A3Q001000013Q0004203Q001000012Q00237Q00201D5Q000100061A3Q001000013Q0004203Q001000012Q00237Q001226000100033Q00201D0001000100040010283Q000200012Q00237Q001226000100033Q00201D0001000100040010283Q000500010004203Q001300012Q00233Q00013Q0020025Q00062Q00163Q000200016Q00017Q000E3Q0003063Q00506172656E7403093Q0048656172746265617403043Q005761697403053Q007061697273030A3Q00476574506C617965727303093Q00436861726163746572030E3Q0046696E6446697273744368696C6403103Q0048756D616E6F6964522Q6F745061727403073Q00566563746F72332Q033Q006E6577028Q0003063Q00434672616D6503043Q0077616974029A5Q99B93F00374Q00237Q00061A3Q003600013Q0004203Q003600012Q00233Q00013Q00061A3Q003600013Q0004203Q003600012Q00233Q00013Q00201D5Q000100061A3Q003600013Q0004203Q003600012Q00233Q00023Q00201D5Q00020020025Q00032Q00163Q000200010012263Q00044Q0023000100033Q0020020001000100052Q002E000100024Q000D5Q00020004203Q003300012Q0023000500043Q00060F00040033000100050004203Q0033000100201D00050004000600061A0005003300013Q0004203Q0033000100201D000500040006002002000500050007001219000700084Q000300050007000200061A0005003300013Q0004203Q0033000100201D00050004000600201D000500050008001226000600093Q00201D00060006000A0012190007000B3Q0012190008000B3Q0012190009000B4Q00030006000900022Q0023000700013Q00201D00080005000C0012260009000C3Q00201D00090009000A2Q0029000A00064Q00080009000200022Q001F0008000800090010280007000C00080012260007000D3Q0012190008000E4Q00160007000200010006043Q0014000100020004203Q001400010004205Q00016Q00017Q000B3Q0003063Q00506172656E7403093Q0048656172746265617403043Q005761697403083Q0056656C6F63697479023Q00FC83D7974103073Q00566563746F72332Q033Q006E6577028Q00030D3Q0052656E6465725374652Q70656403073Q005374652Q706564029A5Q99B93F002F4Q00237Q00061A3Q002E00013Q0004203Q002E00012Q00233Q00013Q00061A3Q002E00013Q0004203Q002E00012Q00233Q00013Q00201D5Q000100061A3Q002E00013Q0004203Q002E00012Q00233Q00023Q00201D5Q00020020025Q00032Q00163Q000200012Q00233Q00013Q00201D5Q00042Q0023000100013Q00202500023Q0005001226000300063Q00201D000300030007001219000400083Q001219000500053Q001219000600084Q00030003000600022Q00110002000200030010280001000400022Q0023000100023Q00201D0001000100090020020001000100032Q00160001000200012Q0023000100013Q001028000100044Q0023000100023Q00201D00010001000A0020020001000100032Q00160001000200012Q0023000100013Q001226000200063Q00201D000200020007001219000300083Q0012190004000B3Q001219000500084Q00030002000500022Q001100023Q00020010280001000400020004205Q00016Q00017Q00", GetFEnv(), ...);