-- [[ Hyperion Engine V5.7 - Dynamic Opaque Predicates ]] -- local L__l_l1lil11l1 = { 39,195,180,77,67,29,186,148,46,248,162,169,102,187,132,136,140,71,3,20,215,223,187,119,188,68,120,86,155,228,115,65 }; local L_lI1i_1i_Illl = "27ceae6676d82dcf468d2127d2ef324a5c98e8f279cea55c850002f4f79df5d18675bc8a97fc506e0e1080865af7d3f04e3a8983756eaf6e641c8adc96798c72678eef2bb345340e864a61771052728b9d5a8ce7938ee51cc4c1eac1365db592ee66373a324efdc0088d96f3340532061cbeb0ad52432c1f842e3a08a6c87012f73c4b8e9ebf153ba37ea1a67a92b7bbae730717524e25dc1cc9cfe51b7255347581e32a5f05a48ad4046f68fa2467454bb80903f3ecb40ce5210a291605d7f2e70e6c98871db48f06cc99e73ad2f2163e88ccd0666211a664634a6799fd417d34dabca3b9db3c57c606603fb3"; local L_ilIIi1l1l1i_ = (getgenv and getgenv()) or (getfenv and getfenv(0)) or _G; local function _H(h) local b = {}; for i = 1, #h, 2 do b[#b+1] = tonumber(h:sub(i, i+1), 16) end return b end; local function _D(b) local o = {}; for i = 1, #b do local k = ((i - 1) % 32) + 1; o[i] = bit32.bxor(b[i], L__l_l1lil11l1[k], ((i - 1) * 13) % 256) end return o end; local L_iIilIi_i1ii1 = _D(_H(L_lI1i_1i_Illl)); local function _R32(b, p) return b[p]*16777216 + b[p+1]*65536 + b[p+2]*256 + b[p+3] end; local function _R16(b, p) return b[p]*256 + b[p+1] end; local ic = _R32(L_iIilIi_i1ii1, 1); local co = 5 + ic * 7; local cc = _R32(L_iIilIi_i1ii1, co); local L__I1_lI_iiill = {}; local cu = co + 4; for i = 1, cc do local t = L_iIilIi_i1ii1[cu]; cu = cu + 1; if t == 1 or t == 2 then local l = _R32(L_iIilIi_i1ii1, cu); cu = cu + 4; local s = {}; for j = 1, l do s[j] = string.char(L_iIilIi_i1ii1[cu]); cu = cu + 1 end; s = table.concat(s); if t == 2 then L__I1_lI_iiill[i] = tonumber(s) else L__I1_lI_iiill[i] = s end; else cu = cu + 1 end end; local function L__lI__iI11Il1(p) local o = 5 + (p - 1) * 7; return L_iIilIi_i1ii1[o]*65536 + L_iIilIi_i1ii1[o+1]*256 + L_iIilIi_i1ii1[o+2], _R16(L_iIilIi_i1ii1, o+3), _R16(L_iIilIi_i1ii1, o+5) end; local function _V() local stack = {}; local pc = 1; while true do local op, a, b = L__lI__iI11Il1(pc); if false then elseif op == 4756 then if (type(math.abs) == 'string') then pc = -1 end; elseif op == 72626 then if (type(math.abs) == 'function') then local n = L__I1_lI_iiill[b + 1]; L_ilIIi1l1l1i_[n] = stack[a]; end; elseif op == 43730 then if (math.ceil(5.1) == 6) then local x = math.sqrt(a * b); stack[0] = x; else stack[0] = 0; end; elseif op == 70058 then if (not (1 == 0)) then local f = stack[a]; local args = {}; for m = 1, b do args[m] = stack[a + m] end; local ok, err = pcall(f, unpack(args)); if not ok then error('VM Error: ' .. tostring(err)) end; end; elseif op == 76029 then if (math.abs(-1) == 0) then pc = pc * 2 else stack[a] = L__I1_lI_iiill[b + 1] end; elseif op == 42436 then if (type(math.abs) == 'string') then print('DEAD CODE') else return end; elseif op == 99545 then if (#('Hyperion') == 8) then local n = L__I1_lI_iiill[b + 1]; local t = L_ilIIi1l1l1i_; for p in n:gmatch('[^.:]+') do t = t[p] end; stack[a] = t; else pc = pc + 666 end; elseif op == 78548 then stack[a] = stack[b]; end; pc = pc + 1; end end; pcall(_V);