Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local a = math.floor
- local b = table.concat
- local c = string.char
- local d = string.sub
- local e = function(f, g)
- return f * 2 ^ g
- end
- local h = function(f, g)
- return math.floor(f / 2 ^ g)
- end
- local i = function(f, j, g)
- local k = h(f, j)
- return k % 2 ^ g
- end
- local l = function(f)
- local g = 1
- while f > 1 do
- f = h(f, 1)
- g = g + 1
- end
- return g
- end
- local function m(n, o)
- local p = math.max(l(n), l(o))
- local q = {}
- for r = 0, p - 1 do
- q[p - r] = i(n, r, 1) ~= i(o, r, 1) and 1 or 0
- end
- return tonumber(b(q, ""), 2)
- end
- local function s(t)
- return t:lower() == t and ("a"):byte() or ("A"):byte()
- end
- local function u(v, w)
- return v:gsub(
- "%a",
- function(t)
- local x = s(t)
- return string.char((t:byte() - x + w) % 26 + x)
- end
- )
- end
- local function y(z)
- if type(z) ~= "string" then
- return z
- end
- return u(z, -13)
- end
- local function D(E, F)
- return c(m(E, F))
- end
- local function G(H, r, I)
- if I then
- local J = 0
- local K = 0
- for L = r, I do
- J = J + 2 ^ K * G(H, L)
- K = K + 1
- end
- return J
- else
- local M = 2 ^ (r - 1)
- return H % (M + M) >= M and 1 or 0
- end
- end
- local function N(O)
- local j = 1
- local P = false
- local Q
- local R
- local S, T, U, V, W
- do
- function S()
- local X = O:byte(j, j)
- j = j + 1
- return X
- end
- function T()
- local X, Y, Z, _ = O:byte(j, j + 3)
- j = j + 4
- return _ * 16777216 + Z * 65536 + Y * 256 + X
- end
- function U()
- local X = T()
- local Y = T()
- return Y * 4294967296 + X
- end
- function V()
- local X = T()
- local Y = T()
- return (-2 * G(Y, 32) + 1) * 2 ^ (G(Y, 21, 31) - 1023) * ((G(Y, 1, 20) * 2 ^ 32 + X) / 2 ^ 52 + 1)
- end
- function W(a0)
- local v
- if a0 then
- v = O:sub(j, j + a0 - 1)
- j = j + a0
- else
- a0 = T()
- if a0 == 0 then
- return
- end
- v = O:sub(j, j + a0 - 1)
- j = j + a0
- end
- return v
- end
- end
- local function a1(a2)
- local a3
- local a4 = {}
- local a5 = {}
- local a6 = {}
- a3 = {instructions = a4, constants = a5, prototypes = a6}
- local a7
- a3.upvalues = S()
- do
- a7 = T()
- for L = 1, a7 do
- local a8 = {}
- a8.opcode = S()
- local type = S()
- local a9 = T()
- a8.A = G(a9, 1, 7)
- if type == 1 then
- a8.B = G(a9, 8, 16)
- a8.C = G(a9, 17, 25)
- elseif type == 2 then
- a8.Bx = G(a9, 8, 26)
- elseif type == 3 then
- a8.sBx = G(a9, 8, 26) - 131071
- end
- a4[L] = a8
- end
- end
- do
- a7 = T()
- for L = 1, a7 do
- local aa
- local type = S()
- if type == 1 then
- aa = S() ~= 0
- elseif type == 3 then
- aa = V()
- elseif type == 4 then
- aa = W():sub(1, -2)
- end
- a5[L - 1] = aa
- end
- end
- do
- a7 = T()
- for L = 1, a7 do
- a6[L - 1] = a1(true)
- end
- end
- return a3
- end
- return a1()
- end
- local function ab(...)
- local Z = select("#", ...)
- local ac = {...}
- return Z, ac
- end
- local ad =
- b(
- {
- D(683, 706),
- D(290, 332),
- D(202, 185),
- D(165, 209),
- D(157, 239),
- D(287, 362),
- D(199, 164),
- D(182, 194),
- D(501, 412),
- D(259, 364),
- D(154, 244),
- D(282, 361)
- }
- )
- local ae =
- b(
- {
- D(838, 805),
- D(841, 806),
- D(506, 404),
- D(303, 348),
- D(844, 824),
- D(882, 787),
- D(862, 816),
- D(487, 403),
- D(342, 293)
- }
- )
- local af =
- b(
- {
- D(639, 527),
- D(715, 697),
- D(688, 735),
- D(145, 229),
- D(886, 793),
- D(590, 570),
- D(58, 67),
- D(530, 610),
- D(954, 991),
- D(644, 759)
- }
- )
- local ag = b({D(652, 739), D(726, 678), D(795, 888), D(350, 305), D(560, 596), D(200, 173)})
- local function ah(ai, aj)
- local a4 = ai[ad]
- local a5 = ai[ae]
- local a6 = ai[af]
- local ak, al
- local am
- local an = 1
- local ao, ap
- local function aq()
- local a4 = a4
- local a8, X, Y
- while true do
- a8 = a4[an]
- an = an + 1
- if a8[ag] == 3 then
- ak[a8.A] = y(a5[a8.Bx])
- elseif a8[ag] == 97 then
- ak[a8.A] = am[y(a5[a8.Bx])]
- elseif a8[ag] == 20 then
- ak[a8.A] = ak[a8.B]
- elseif a8[ag] == 25 then
- A = a8.A
- B = a8.B
- C = a8.C
- local ar, as
- local at, aq
- ar = {}
- if B ~= 1 then
- if B ~= 0 then
- at = A + B - 1
- else
- at = al
- end
- aq = 0
- for L = A + 1, at do
- aq = aq + 1
- ar[aq] = ak[L]
- end
- at, as = ab(ak[A](unpack(ar, 1, at - A)))
- else
- at, as = ab(ak[A]())
- end
- al = A - 1
- if C ~= 1 then
- if C ~= 0 then
- at = A + C - 2
- else
- at = at + A
- end
- aq = 0
- for L = A, at do
- aq = aq + 1
- ak[L] = as[aq]
- end
- end
- elseif a8[ag] == 77 then
- B = a8.B
- local au = ak[B]
- for L = B + 1, a8.C do
- au = au .. ak[L]
- end
- ak[a8.A] = au
- elseif a8[ag] == 78 then
- C = a8.C
- C = C > 255 and y(a5[C - 256]) or ak[C]
- ak[a8.A] = ak[a8.B][C]
- elseif a8[ag] == 32 then
- A = a8.A
- ak[A] = ak[A] - ak[A + 2]
- an = an + a8.sBx
- elseif a8[ag] == 60 then
- local av = a6[a8.Bx]
- local a4 = a4
- local aw = {}
- local ax =
- setmetatable(
- {},
- {__index = function(ac, ay)
- local az = aw[ay]
- return az.segment[az.offset]
- end, __newindex = function(ac, ay, aA)
- local az = aw[ay]
- az.segment[az.offset] = aA
- end}
- )
- for L = 1, av.upvalues do
- local aB = a4[an]
- if aB[ag] == 20 then
- aw[L - 1] = {segment = ak, offset = aB.B}
- elseif a4[an][ag] == 0 then
- aw[L - 1] = {segment = aj, offset = aB.B}
- end
- an = an + 1
- end
- local aC = ah(av, ax)
- ak[a8.A] = aC
- elseif a8[ag] == 65 then
- A = a8.A
- local aD = ak[A + 2]
- local j = ak[A] + aD
- ak[A] = j
- if aD > 0 then
- if j <= ak[A + 1] then
- an = an + a8.sBx
- ak[A + 3] = j
- end
- else
- if j >= ak[A + 1] then
- an = an + a8.sBx
- ak[A + 3] = j
- end
- end
- elseif a8[ag] == 81 then
- B = a8.B
- C = a8.C
- B = B > 255 and y(a5[B - 256]) or ak[B]
- C = C > 255 and y(a5[C - 256]) or ak[C]
- ak[a8.A] = B - C
- elseif a8[ag] == 54 then
- ak[a8.A] = {}
- elseif a8[ag] == 48 then
- B = a8.B
- C = a8.C
- B = B > 255 and y(a5[B - 256]) or ak[B]
- C = C > 255 and y(a5[C - 256]) or ak[C]
- ak[a8.A][B] = C
- elseif a8[ag] == 11 then
- A = a8.A
- B = a8.B
- local at
- local aq, aE
- if B == 1 then
- return true
- end
- if B == 0 then
- at = al
- else
- at = A + B - 2
- end
- aE = {}
- local aq = 0
- for L = A, at do
- aq = aq + 1
- aE[aq] = ak[L]
- end
- return true, aE
- elseif a8[ag] == 56 then
- ak[a8.A] = a8.B ~= 0
- if a8.C ~= 0 then
- an = an + 1
- end
- elseif a8[ag] == 22 then
- local A = ak[a8.A]
- if not (not A) == (a8.C == 0) then
- an = an + 1
- end
- elseif a8[ag] == 33 then
- an = an + a8.sBx
- end
- end
- end
- local function aC(...)
- local aF = {}
- local aG = {}
- al = -1
- ak =
- setmetatable(
- aF,
- {__index = aG, __newindex = function(ac, ay, aA)
- if ay > al and aA then
- al = ay
- end
- aG[ay] = aA
- end}
- )
- local ar = {...}
- ao = {}
- ap = select("#", ...) - 1
- for L = 0, ap do
- aF[L] = ar[L + 1]
- ao[L] = ar[L + 1]
- end
- am = getfenv()
- an = 1
- local aH = coroutine.create(aq)
- local aI, X, Y = coroutine.resume(aH)
- if aI then
- if Y then
- return unpack(Y)
- end
- return
- else
- local aJ = X:gsub("(.-:)", "")
- error(aJ, 0)
- end
- end
- return aC
- end
- return ah(
- N(
- "\0\98\0\0\0\3\2\0\0\0\0\97\2\129\0\0\0\3\2\2\1\0\0\97\2\131\1\0\0\20\1\4\0\0\0\25\1\3\1\2\0\77\1\2\1\3\0\25\1\1\1\1\0\97\2\129\0\0\0\3\2\2\2\0\0\25\1\1\1\1\0\97\2\129\2\0\0\78\1\129\0\6\1\25\1\129\0\2\0\20\1\130\0\0\0\3\2\131\3\0\0\20\1\4\0\0\0\3\2\133\3\0\0\32\3\131\0\0\1\60\2\7\0\0\0\25\1\135\0\1\0\65\3\3\254\255\0\97\2\131\0\0\0\3\2\4\4\0\0\97\2\133\2\0\0\78\1\133\2\6\1\25\1\133\0\2\0\81\1\133\2\1\0\3\2\134\4\0\0\77\1\133\2\6\0\25\1\131\1\1\0\97\2\131\0\0\0\3\2\4\5\0\0\25\1\3\1\1\0\97\2\131\2\0\0\78\1\131\1\6\1\25\1\131\0\2\0\20\1\129\1\0\0\54\1\3\0\0\0\3\2\132\3\0\0\20\1\5\0\0\0\3\2\134\3\0\0\32\3\4\4\0\1\97\2\136\1\0\0\20\1\137\3\0\0\25\1\8\1\2\0\3\2\137\5\0\0\97\2\138\1\0\0\20\1\139\3\0\0\25\1\10\1\2\0\77\1\137\4\10\0\48\1\3\4\9\0\65\3\132\250\255\0\97\2\132\0\0\0\3\2\5\4\0\0\97\2\134\2\0\0\78\1\6\3\6\1\25\1\134\0\2\0\81\1\6\3\1\0\3\2\135\4\0\0\77\1\6\3\7\0\25\1\132\1\1\0\97\2\132\0\0\0\3\2\5\6\0\0\25\1\4\1\1\0\97\2\132\2\0\0\78\1\4\2\6\1\25\1\132\0\2\0\20\1\1\2\0\0\3\2\132\3\0\0\20\1\5\0\0\0\3\2\134\3\0\0\32\3\4\2\0\1\97\2\136\1\0\0\20\1\137\3\0\0\25\1\8\1\2\0\78\1\136\1\8\0\48\1\131\131\8\0\65\3\132\252\255\0\97\2\132\0\0\0\3\2\5\4\0\0\97\2\134\2\0\0\78\1\6\3\6\1\25\1\134\0\2\0\81\1\6\3\1\0\3\2\135\4\0\0\77\1\6\3\7\0\25\1\132\1\1\0\97\2\132\0\0\0\3\2\133\6\0\0\97\2\134\2\0\0\78\1\6\3\6\1\25\1\134\0\2\0\81\1\6\3\2\0\3\2\135\4\0\0\77\1\6\3\7\0\25\1\132\1\1\0\11\1\128\0\0\0\14\0\0\0\3\0\0\0\0\0\106\248\64\4\6\0\0\0cevag\0\4\13\0\0\0Vgrengvbaf: \0\4\9\0\0\0gbfgevat\0\4\17\0\0\0PYBFHER grfgvat.\0\4\3\0\0\0bf\0\4\6\0\0\0pybpx\0\3\0\0\0\0\0\0\240\63\4\6\0\0\0Gvzr:\0\4\2\0\0\0f\0\4\18\0\0\0FRGGNOYR grfgvat.\0\4\12\0\0\0RCVP TNZRE \0\4\18\0\0\0TRGGNOYR grfgvat.\0\4\12\0\0\0Gbgny Gvzr:\0\1\0\0\0\0\7\0\0\0\56\1\0\0\0\0\22\1\0\0\0\0\33\3\0\1\0\1\97\2\0\0\0\0\3\2\129\0\0\0\25\1\0\1\1\0\11\1\128\0\0\0\2\0\0\0\4\6\0\0\0cevag\0\4\11\0\0\0Url tnzre.\0\0\0\0\0"
- )
- )()
Add Comment
Please, Sign In to add comment