local TABLE_TableIndirection = {}; bit32 = {}; TABLE_TableIndirection["N%0"] = 32; TABLE_TableIndirection["P%0"] = 2 ^ TABLE_TableIndirection["N%0"]; bit32.bnot = function(x) x = x % TABLE_TableIndirection["P%0"]; return (TABLE_TableIndirection["P%0"] - 1) - x; end; bit32.band = function(x, y) if (y == 255) then return x % 256; end if (y == 65535) then return x % 65536; end if (y == 4294967295) then return x % 4294967296; end x, y = x % TABLE_TableIndirection["P%0"], y % TABLE_TableIndirection["P%0"]; TABLE_TableIndirection["r%0"] = 0; TABLE_TableIndirection["p%0"] = 1; for i = 1, TABLE_TableIndirection["N%0"] do local a, b = x % 2, y % 2; x, y = math.floor(x / 2), math.floor(y / 2); if ((a + b) == 2) then TABLE_TableIndirection["r%0"] = TABLE_TableIndirection["r%0"] + TABLE_TableIndirection["p%0"]; end TABLE_TableIndirection["p%0"] = 2 * TABLE_TableIndirection["p%0"]; end return TABLE_TableIndirection["r%0"]; end; bit32.bor = function(x, y) if (y == 255) then return (x - (x % 256)) + 255; end if (y == 65535) then return (x - (x % 65536)) + 65535; end if (y == 4294967295) then return 4294967295; end x, y = x % TABLE_TableIndirection["P%0"], y % TABLE_TableIndirection["P%0"]; TABLE_TableIndirection["r%0"] = 0; TABLE_TableIndirection["p%0"] = 1; for i = 1, TABLE_TableIndirection["N%0"] do local a, b = x % 2, y % 2; x, y = math.floor(x / 2), math.floor(y / 2); if ((a + b) >= 1) then TABLE_TableIndirection["r%0"] = TABLE_TableIndirection["r%0"] + TABLE_TableIndirection["p%0"]; end TABLE_TableIndirection["p%0"] = 2 * TABLE_TableIndirection["p%0"]; end return TABLE_TableIndirection["r%0"]; end; bit32.bxor = function(x, y) x, y = x % TABLE_TableIndirection["P%0"], y % TABLE_TableIndirection["P%0"]; TABLE_TableIndirection["r%0"] = 0; TABLE_TableIndirection["p%0"] = 1; for i = 1, TABLE_TableIndirection["N%0"] do local a, b = x % 2, y % 2; x, y = math.floor(x / 2), math.floor(y / 2); if ((a + b) == 1) then TABLE_TableIndirection["r%0"] = TABLE_TableIndirection["r%0"] + TABLE_TableIndirection["p%0"]; end TABLE_TableIndirection["p%0"] = 2 * TABLE_TableIndirection["p%0"]; end return TABLE_TableIndirection["r%0"]; end; bit32.lshift = function(x, s_amount) if (math.abs(s_amount) >= TABLE_TableIndirection["N%0"]) then return 0; end x = x % TABLE_TableIndirection["P%0"]; if (s_amount < 0) then return math.floor(x * (2 ^ s_amount)); else return (x * (2 ^ s_amount)) % TABLE_TableIndirection["P%0"]; end end; bit32.rshift = function(x, s_amount) if (math.abs(s_amount) >= TABLE_TableIndirection["N%0"]) then return 0; end x = x % TABLE_TableIndirection["P%0"]; if (s_amount > 0) then return math.floor(x * (2 ^ -s_amount)); else return (x * (2 ^ -s_amount)) % TABLE_TableIndirection["P%0"]; end end; bit32.arshift = function(x, s_amount) if (math.abs(s_amount) >= TABLE_TableIndirection["N%0"]) then return 0; end x = x % TABLE_TableIndirection["P%0"]; if (s_amount > 0) then TABLE_TableIndirection["add%0"] = 0; if (x >= (TABLE_TableIndirection["P%0"] / 2)) then TABLE_TableIndirection["add%0"] = TABLE_TableIndirection["P%0"] - (2 ^ (TABLE_TableIndirection["N%0"] - s_amount)); end return math.floor(x * (2 ^ -s_amount)) + TABLE_TableIndirection["add%0"]; else return (x * (2 ^ -s_amount)) % TABLE_TableIndirection["P%0"]; end end; bit32 = {}; TABLE_TableIndirection["v0%0"] = 32; TABLE_TableIndirection["v1%0"] = 2 ^ TABLE_TableIndirection["v0%0"]; bit32.bnot = function(v30) v30 = v30 % TABLE_TableIndirection["v1%0"]; return (TABLE_TableIndirection["v1%0"] - 1) - v30; end; bit32.band = function(v31, v32) if (v32 == 255) then return v31 % 256; end if (v32 == 65535) then return v31 % 65536; end if (v32 == 4294967295) then return v31 % 4294967296; end v31, v32 = v31 % TABLE_TableIndirection["v1%0"], v32 % TABLE_TableIndirection["v1%0"]; TABLE_TableIndirection["v33%0"] = 0; TABLE_TableIndirection["v34%0"] = 1; for v52 = 1, TABLE_TableIndirection["v0%0"] do local v53, v54 = v31 % 2, v32 % 2; v31, v32 = math.floor(v31 / 2), math.floor(v32 / 2); if ((v53 + v54) == 2) then TABLE_TableIndirection["v33%0"] = TABLE_TableIndirection["v33%0"] + TABLE_TableIndirection["v34%0"]; end TABLE_TableIndirection["v34%0"] = 2 * TABLE_TableIndirection["v34%0"]; end return TABLE_TableIndirection["v33%0"]; end; bit32.bor = function(v35, v36) if (v36 == 255) then return (v35 - (v35 % 256)) + 255; end if (v36 == 65535) then return (v35 - (v35 % 65536)) + 65535; end if (v36 == 4294967295) then return 4294967295; end v35, v36 = v35 % TABLE_TableIndirection["v1%0"], v36 % TABLE_TableIndirection["v1%0"]; TABLE_TableIndirection["v37%0"] = 0; TABLE_TableIndirection["v38%0"] = 1; for v55 = 1, TABLE_TableIndirection["v0%0"] do local v56, v57 = v35 % 2, v36 % 2; v35, v36 = math.floor(v35 / 2), math.floor(v36 / 2); if ((v56 + v57) >= 1) then TABLE_TableIndirection["v37%0"] = TABLE_TableIndirection["v37%0"] + TABLE_TableIndirection["v38%0"]; end TABLE_TableIndirection["v38%0"] = 2 * TABLE_TableIndirection["v38%0"]; end return TABLE_TableIndirection["v37%0"]; end; bit32.bxor = function(v39, v40) v39, v40 = v39 % TABLE_TableIndirection["v1%0"], v40 % TABLE_TableIndirection["v1%0"]; TABLE_TableIndirection["v41%0"] = 0; TABLE_TableIndirection["v42%0"] = 1; for v58 = 1, TABLE_TableIndirection["v0%0"] do local v59, v60 = v39 % 2, v40 % 2; v39, v40 = math.floor(v39 / 2), math.floor(v40 / 2); if ((v59 + v60) == 1) then TABLE_TableIndirection["v41%0"] = TABLE_TableIndirection["v41%0"] + TABLE_TableIndirection["v42%0"]; end TABLE_TableIndirection["v42%0"] = 2 * TABLE_TableIndirection["v42%0"]; end return TABLE_TableIndirection["v41%0"]; end; bit32.lshift = function(v43, v44) if (math.abs(v44) >= TABLE_TableIndirection["v0%0"]) then return 0; end v43 = v43 % TABLE_TableIndirection["v1%0"]; if (v44 < 0) then return math.floor(v43 * (2 ^ v44)); else return (v43 * (2 ^ v44)) % TABLE_TableIndirection["v1%0"]; end end; bit32.rshift = function(v45, v46) if (math.abs(v46) >= TABLE_TableIndirection["v0%0"]) then return 0; end v45 = v45 % TABLE_TableIndirection["v1%0"]; if (v46 > 0) then return math.floor(v45 * (2 ^ -v46)); else return (v45 * (2 ^ -v46)) % TABLE_TableIndirection["v1%0"]; end end; bit32.arshift = function(v47, v48) if (math.abs(v48) >= TABLE_TableIndirection["v0%0"]) then return 0; end v47 = v47 % TABLE_TableIndirection["v1%0"]; if (v48 > 0) then TABLE_TableIndirection["v66%0"] = 0; if (v47 >= (TABLE_TableIndirection["v1%0"] / 2)) then TABLE_TableIndirection["v66%0"] = TABLE_TableIndirection["v1%0"] - (2 ^ (TABLE_TableIndirection["v0%0"] - v48)); end return math.floor(v47 * (2 ^ -v48)) + TABLE_TableIndirection["v66%0"]; else return (v47 * (2 ^ -v48)) % TABLE_TableIndirection["v1%0"]; end end; TABLE_TableIndirection["v9%0"] = {}; TABLE_TableIndirection["v9%0"]["obf_stringchar%0"] = string.char; TABLE_TableIndirection["v9%0"]["obf_stringbyte%0"] = string.byte; TABLE_TableIndirection["v9%0"]["obf_stringsub%0"] = string.sub; TABLE_TableIndirection["v9%0"]["obf_bitlib%0"] = bit32 or bit; TABLE_TableIndirection["v9%0"]["obf_XOR%0"] = TABLE_TableIndirection["v9%0"]["obf_bitlib%0"].bxor; TABLE_TableIndirection["v9%0"]["obf_tableconcat%0"] = table.concat; TABLE_TableIndirection["v9%0"]["obf_tableinsert%0"] = table.insert; local function v22(v49, v50) TABLE_TableIndirection["v9%0"]["result%0"] = {}; for v61 = 1, #v49 do TABLE_TableIndirection["v9%0"]["obf_tableinsert%0"](TABLE_TableIndirection["v9%0"]["result%0"], TABLE_TableIndirection["v9%0"]["obf_stringchar%0"](TABLE_TableIndirection["v9%0"]["obf_XOR%0"](TABLE_TableIndirection["v9%0"]["obf_stringbyte%0"](TABLE_TableIndirection["v9%0"]["obf_stringsub%0"](v49, v61, v61 + 1)), TABLE_TableIndirection["v9%0"]["obf_stringbyte%0"](TABLE_TableIndirection["v9%0"]["obf_stringsub%0"](v50, 1 + (v61 % #v50), 1 + (v61 % #v50) + 1))) % 256)); end return TABLE_TableIndirection["v9%0"]["obf_tableconcat%0"](TABLE_TableIndirection["v9%0"]["result%0"]); end TABLE_TableIndirection["v9%0"]["obf_bitlib%1"] = bit32 or bit; TABLE_TableIndirection["v9%0"]["obf_XOR%1"] = TABLE_TableIndirection["v9%0"]["obf_bitlib%1"].bxor; TABLE_TableIndirection["v9%0"]["obf_OR%0"] = TABLE_TableIndirection["v9%0"]["obf_bitlib%1"].bor; TABLE_TableIndirection["v9%0"]["obf_AND%0"] = TABLE_TableIndirection["v9%0"]["obf_bitlib%1"].band; TABLE_TableIndirection["v9%0"]["v0%0"] = game:GetService(v22("\227\214\213\22\227\169\209\23\210\198", "\126\177\163\187\69\134\219\167")); TABLE_TableIndirection["v9%0"]["v1%0"] = game:GetService(v22("\19\193\43\220\249\49\222", "\156\67\173\74\165")); TABLE_TableIndirection["v9%0"]["v2%0"] = TABLE_TableIndirection["v9%0"]["v1%0"][v22("\24\184\74\23\176\22\74\53\174\76\4", "\38\84\215\41\118\220\70")]; if (not TABLE_TableIndirection["v9%0"]["v2%0"] or ((14360 - 9767) <= (7646 - 4974))) then return; end TABLE_TableIndirection["v9%0"]["v3%0"] = TABLE_TableIndirection["v9%0"]["v2%0"]:FindFirstChild(v22("\87\23\47\23\238\81\5\49\23\237", "\158\48\118\66\114")); if not TABLE_TableIndirection["v9%0"]["v3%0"] then TABLE_TableIndirection["v9%0"]["v3%0"] = Instance.new(v22("\141\43\28\50\118\183", "\155\203\68\112\86\19\197")); TABLE_TableIndirection["v9%0"]["v3%0"][v22("\104\220\59\249", "\152\38\189\86\156\32\24\133")] = v22("\251\86\170\67\236\86\180\85\249\68", "\38\156\55\199"); TABLE_TableIndirection["v9%0"]["v3%0"][v22("\152\124\110\45\29\96", "\35\200\29\28\72\115\20\154")] = TABLE_TableIndirection["v9%0"]["v2%0"]; end TABLE_TableIndirection["v9%0"]["v4%0"] = TABLE_TableIndirection["v9%0"]["v3%0"]:FindFirstChild(v22("\60\190\195\211\148\108\21\26\188\212\204\158", "\84\121\223\177\191\237\76")); if (not TABLE_TableIndirection["v9%0"]["v4%0"] or ((2254 - 1086) > (8129 - 4973))) then TABLE_TableIndirection["v9%0"]["v4%0"] = Instance.new(v22("\153\89\198\172\12\81\60\212\190", "\161\219\54\169\192\90\48\80")); TABLE_TableIndirection["v9%0"]["v4%0"][v22("\103\67\13\32", "\69\41\34\96")] = v22("\153\194\197\6\27\107\157\192\212\15\17\56", "\75\220\163\183\106\98"); TABLE_TableIndirection["v9%0"]["v4%0"][v22("\50\187\153\50\215\22", "\185\98\218\235\87")] = TABLE_TableIndirection["v9%0"]["v3%0"]; end TABLE_TableIndirection["v9%0"]["v4%0"][v22("\253\61\43\243\219", "\202\171\92\71\134\190")] = true;