1 | local StrToNumber = tonumber; |
2 | local Byte = string.byte; |
3 | local Char = string.char; |
4 | local Sub = string.sub; |
5 | local Subg = string.gsub; |
6 | local Rep = string.rep; |
7 | local Concat = table.concat; |
8 | local Insert = table.insert; |
9 | local LDExp = math.ldexp; |
10 | local GetFEnv = getfenv or function() |
11 | return _ENV; |
12 | end; |
13 | local Setmetatable = setmetatable; |
14 | local PCall = pcall; |
15 | local Select = select; |
16 | local Unpack = unpack or table.unpack; |
17 | local ToNumber = tonumber; |
18 | local function VMCall(ByteString, vmenv, ...) |
19 | local DIP = 1; |
20 | local repeatNext; |
21 | ByteString = Subg(Sub(ByteString, 5), "..", function(byte) |
22 | if (Byte(byte, 2) == 79) then |
23 | local FlatIdent_76979 = 0; |
24 | while true do |
25 | if (FlatIdent_76979 == 0) then |
26 | repeatNext = StrToNumber(Sub(byte, 1, 1)); |
27 | return ""; |
28 | end |
29 | end |
30 | else |
31 | local a = Char(StrToNumber(byte, 16)); |
32 | if repeatNext then |
33 | local FlatIdent_69270 = 0; |
34 | local b; |
35 | while true do |
36 | if (FlatIdent_69270 == 1) then |
37 | return b; |
38 | end |
39 | if (FlatIdent_69270 == 0) then |
40 | b = Rep(a, repeatNext); |
41 | repeatNext = nil; |
42 | FlatIdent_69270 = 1; |
43 | end |
44 | end |
45 | else |
46 | return a; |
47 | end |
48 | end |
49 | end); |
50 | local function gBit(Bit, Start, End) |
51 | if End then |
52 | local Res = (Bit / (2 ^ (Start - 1))) % (2 ^ (((End - 1) - (Start - 1)) + 1)); |
53 | return Res - (Res % 1); |
54 | else |
55 | local Plc = 2 ^ (Start - 1); |
56 | return (((Bit % (Plc + Plc)) >= Plc) and 1) or 0; |
57 | end |
58 | end |
59 | local function gBits8() |
60 | local a = Byte(ByteString, DIP, DIP); |
61 | DIP = DIP + 1; |
62 | return a; |
63 | end |
64 | local function gBits16() |
65 | local a, b = Byte(ByteString, DIP, DIP + 2); |
66 | DIP = DIP + 2; |
67 | return (b * 256) + a; |
68 | end |
69 | local function gBits32() |
70 | local FlatIdent_7126A = 0; |
71 | local a; |
72 | local b; |
73 | local c; |
74 | local d; |
75 | while true do |
76 | if (FlatIdent_7126A == 1) then |
77 | return (d * 16777216) + (c * 65536) + (b * 256) + a; |
78 | end |
79 | if (FlatIdent_7126A == 0) then |
80 | a, b, c, d = Byte(ByteString, DIP, DIP + 3); |
81 | DIP = DIP + 4; |
82 | FlatIdent_7126A = 1; |
83 | end |
84 | end |
85 | end |
86 | local function gFloat() |
87 | local Left = gBits32(); |
88 | local Right = gBits32(); |
89 | local IsNormal = 1; |
90 | local Mantissa = (gBit(Right, 1, 20) * (2 ^ 32)) + Left; |
91 | local Exponent = gBit(Right, 21, 31); |
92 | local Sign = ((gBit(Right, 32) == 1) and -1) or 1; |
93 | if (Exponent == 0) then |
94 | if (Mantissa == 0) then |
95 | return Sign * 0; |
96 | else |
97 | Exponent = 1; |
98 | IsNormal = 0; |
99 | end |
100 | elseif (Exponent == 2047) then |
101 | return ((Mantissa == 0) and (Sign * (1 / 0))) or (Sign * NaN); |
102 | end |
103 | return LDExp(Sign, Exponent - 1023) * (IsNormal + (Mantissa / (2 ^ 52))); |
104 | end |
105 | local function gString(Len) |
106 | local Str; |
107 | if not Len then |
108 | Len = gBits32(); |
109 | if (Len == 0) then |
110 | return ""; |
111 | end |
112 | end |
113 | Str = Sub(ByteString, DIP, (DIP + Len) - 1); |
114 | DIP = DIP + Len; |
115 | local FStr = {}; |
116 | for Idx = 1, #Str do |
117 | FStr[Idx] = Char(Byte(Sub(Str, Idx, Idx))); |
118 | end |
119 | return Concat(FStr); |
120 | end |
121 | local gInt = gBits32; |
122 | local function _R(...) |
123 | return {...}, Select("#", ...); |
124 | end |
125 | local function Deserialize() |
126 | local FlatIdent_2661B = 0; |
127 | local Instrs; |
128 | local Functions; |
129 | local Lines; |
130 | local Chunk; |
131 | local ConstCount; |
132 | local Consts; |
133 | while true do |
134 | if (FlatIdent_2661B == 2) then |
135 | for Idx = 1, ConstCount do |
136 | local Type = gBits8(); |
137 | local Cons; |
138 | if (Type == 1) then |
139 | Cons = gBits8() ~= 0; |
140 | elseif (Type == 2) then |
141 | Cons = gFloat(); |
142 | elseif (Type == 3) then |
143 | Cons = gString(); |
144 | end |
145 | Consts[Idx] = Cons; |
146 | end |
147 | Chunk[3] = gBits8(); |
148 | for Idx = 1, gBits32() do |
149 | local FlatIdent_7DD24 = 0; |
150 | local Descriptor; |
151 | while true do |
152 | if (FlatIdent_7DD24 == 0) then |
153 | Descriptor = gBits8(); |
154 | if (gBit(Descriptor, 1, 1) == 0) then |
155 | local FlatIdent_781F8 = 0; |
156 | local Type; |
157 | local Mask; |
158 | local Inst; |
159 | while true do |
160 | if (FlatIdent_781F8 == 3) then |
161 | if (gBit(Mask, 3, 3) == 1) then |
162 | Inst[4] = Consts[Inst[4]]; |
163 | end |
164 | Instrs[Idx] = Inst; |
165 | break; |
166 | end |
167 | if (1 == FlatIdent_781F8) then |
168 | Inst = {gBits16(),gBits16(),nil,nil}; |
169 | if (Type == 0) then |
170 | local FlatIdent_7FAC9 = 0; |
171 | while true do |
172 | if (0 == FlatIdent_7FAC9) then |
173 | Inst[3] = gBits16(); |
174 | Inst[4] = gBits16(); |
175 | break; |
176 | end |
177 | end |
178 | elseif (Type == 1) then |
179 | Inst[3] = gBits32(); |
180 | elseif (Type == 2) then |
181 | Inst[3] = gBits32() - (2 ^ 16); |
182 | elseif (Type == 3) then |
183 | local FlatIdent_455BF = 0; |
184 | while true do |
185 | if (FlatIdent_455BF == 0) then |
186 | Inst[3] = gBits32() - (2 ^ 16); |
187 | Inst[4] = gBits16(); |
188 | break; |
189 | end |
190 | end |
191 | end |
192 | FlatIdent_781F8 = 2; |
193 | end |
194 | if (2 == FlatIdent_781F8) then |
195 | if (gBit(Mask, 1, 1) == 1) then |
196 | Inst[2] = Consts[Inst[2]]; |
197 | end |
198 | if (gBit(Mask, 2, 2) == 1) then |
199 | Inst[3] = Consts[Inst[3]]; |
200 | end |
201 | FlatIdent_781F8 = 3; |
202 | end |
203 | if (FlatIdent_781F8 == 0) then |
204 | Type = gBit(Descriptor, 2, 3); |
205 | Mask = gBit(Descriptor, 4, 6); |
206 | FlatIdent_781F8 = 1; |
207 | end |
208 | end |
209 | end |
210 | break; |
211 | end |
212 | end |
213 | end |
214 | FlatIdent_2661B = 3; |
215 | end |
216 | if (3 == FlatIdent_2661B) then |
217 | for Idx = 1, gBits32() do |
218 | Functions[Idx - 1] = Deserialize(); |
219 | end |
220 | return Chunk; |
221 | end |
222 | if (FlatIdent_2661B == 1) then |
223 | Chunk = {Instrs,Functions,nil,Lines}; |
224 | ConstCount = gBits32(); |
225 | Consts = {}; |
226 | FlatIdent_2661B = 2; |
227 | end |
228 | if (FlatIdent_2661B == 0) then |
229 | Instrs = {}; |
230 | Functions = {}; |
231 | Lines = {}; |
232 | FlatIdent_2661B = 1; |
233 | end |
234 | end |
235 | end |
236 | local function Wrap(Chunk, Upvalues, Env) |
237 | local FlatIdent_2FD19 = 0; |
238 | local Instr; |
239 | local Proto; |
240 | local Params; |
241 | while true do |
242 | if (FlatIdent_2FD19 == 0) then |
243 | Instr = Chunk[1]; |
244 | Proto = Chunk[2]; |
245 | FlatIdent_2FD19 = 1; |
246 | end |
247 | if (FlatIdent_2FD19 == 1) then |
248 | Params = Chunk[3]; |
249 | return function(...) |
250 | local Instr = Instr; |
251 | local Proto = Proto; |
252 | local Params = Params; |
253 | local _R = _R; |
254 | local VIP = 1; |
255 | local Top = -1; |
256 | local Vararg = {}; |
257 | local Args = {...}; |
258 | local PCount = Select("#", ...) - 1; |
259 | local Lupvals = {}; |
260 | local Stk = {}; |
261 | for Idx = 0, PCount do |
262 | if (Idx >= Params) then |
263 | Vararg[Idx - Params] = Args[Idx + 1]; |
264 | else |
265 | Stk[Idx] = Args[Idx + 1]; |
266 | end |
267 | end |
268 | local Varargsz = (PCount - Params) + 1; |
269 | local Inst; |
270 | local Enum; |
271 | while true do |
272 | Inst = Instr[VIP]; |
273 | Enum = Inst[1]; |
274 | if (Enum <= 34) then |
275 | if (Enum <= 16) then |
276 | if (Enum <= 7) then |
277 | if (Enum <= 3) then |
278 | if (Enum <= 1) then |
279 | if (Enum == 0) then |
280 | do |
281 | return Stk[Inst[2]]; |
282 | end |
283 | else |
284 | do |
285 | return; |
286 | end |
287 | end |
288 | elseif (Enum > 2) then |
289 | Stk[Inst[2]] = Upvalues[Inst[3]]; |
290 | else |
291 | Stk[Inst[2]] = Stk[Inst[3]]; |
292 | end |
293 | elseif (Enum <= 5) then |
294 | if (Enum == 4) then |
295 | local A = Inst[2]; |
296 | Stk[A](Unpack(Stk, A + 1, Inst[3])); |
297 | else |
298 | local A = Inst[2]; |
299 | local Results, Limit = _R(Stk[A](Unpack(Stk, A + 1, Inst[3]))); |
300 | Top = (Limit + A) - 1; |
301 | local Edx = 0; |
302 | for Idx = A, Top do |
303 | Edx = Edx + 1; |
304 | Stk[Idx] = Results[Edx]; |
305 | end |
306 | end |
307 | elseif (Enum == 6) then |
308 | Stk[Inst[2]](); |
309 | else |
310 | local FlatIdent_6A83E = 0; |
311 | local A; |
312 | while true do |
313 | if (FlatIdent_6A83E == 0) then |
314 | A = Inst[2]; |
315 | Stk[A] = Stk[A](Unpack(Stk, A + 1, Top)); |
316 | break; |
317 | end |
318 | end |
319 | end |
320 | elseif (Enum <= 11) then |
321 | if (Enum <= 9) then |
322 | if (Enum == 8) then |
323 | local A = Inst[2]; |
324 | local Results, Limit = _R(Stk[A](Stk[A + 1])); |
325 | Top = (Limit + A) - 1; |
326 | local Edx = 0; |
327 | for Idx = A, Top do |
328 | Edx = Edx + 1; |
329 | Stk[Idx] = Results[Edx]; |
330 | end |
331 | else |
332 | Stk[Inst[2]][Inst[3]] = Inst[4]; |
333 | end |
334 | elseif (Enum > 10) then |
335 | Stk[Inst[2]] = Stk[Inst[3]][Inst[4]]; |
336 | elseif (Stk[Inst[2]] == Inst[4]) then |
337 | VIP = VIP + 1; |
338 | else |
339 | VIP = Inst[3]; |
340 | end |
341 | elseif (Enum <= 13) then |
342 | if (Enum > 12) then |
343 | local A = Inst[2]; |
344 | local Cls = {}; |
345 | for Idx = 1, #Lupvals do |
346 | local FlatIdent_2D2B8 = 0; |
347 | local List; |
348 | while true do |
349 | if (FlatIdent_2D2B8 == 0) then |
350 | List = Lupvals[Idx]; |
351 | for Idz = 0, #List do |
352 | local Upv = List[Idz]; |
353 | local NStk = Upv[1]; |
354 | local DIP = Upv[2]; |
355 | if ((NStk == Stk) and (DIP >= A)) then |
356 | Cls[DIP] = NStk[DIP]; |
357 | Upv[1] = Cls; |
358 | end |
359 | end |
360 | break; |
361 | end |
362 | end |
363 | end |
364 | else |
365 | local FlatIdent_E0D0 = 0; |
366 | local A; |
367 | while true do |
368 | if (FlatIdent_E0D0 == 0) then |
369 | A = Inst[2]; |
370 | Stk[A] = Stk[A](); |
371 | break; |
372 | end |
373 | end |
374 | end |
375 | elseif (Enum <= 14) then |
376 | if Stk[Inst[2]] then |
377 | VIP = VIP + 1; |
378 | else |
379 | VIP = Inst[3]; |
380 | end |
381 | elseif (Enum == 15) then |
382 | Stk[Inst[2]](); |
383 | else |
384 | local A = Inst[2]; |
385 | Stk[A] = Stk[A](Stk[A + 1]); |
386 | end |
387 | elseif (Enum <= 25) then |
388 | if (Enum <= 20) then |
389 | if (Enum <= 18) then |
390 | if (Enum == 17) then |
391 | local A = Inst[2]; |
392 | local B = Stk[Inst[3]]; |
393 | Stk[A + 1] = B; |
394 | Stk[A] = B[Inst[4]]; |
395 | else |
396 | Stk[Inst[2]][Inst[3]] = Stk[Inst[4]]; |
397 | end |
398 | elseif (Enum > 19) then |
399 | local A = Inst[2]; |
400 | Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3])); |
401 | else |
402 | local A = Inst[2]; |
403 | do |
404 | return Unpack(Stk, A, Top); |
405 | end |
406 | end |
407 | elseif (Enum <= 22) then |
408 | if (Enum == 21) then |
409 | local A = Inst[2]; |
410 | local B = Stk[Inst[3]]; |
411 | Stk[A + 1] = B; |
412 | Stk[A] = B[Inst[4]]; |
413 | else |
414 | local FlatIdent_8DCA9 = 0; |
415 | local A; |
416 | while true do |
417 | if (FlatIdent_8DCA9 == 0) then |
418 | A = Inst[2]; |
419 | Stk[A] = Stk[A](); |
420 | break; |
421 | end |
422 | end |
423 | end |
424 | elseif (Enum <= 23) then |
425 | Stk[Inst[2]] = {}; |
426 | elseif (Enum == 24) then |
427 | local A = Inst[2]; |
428 | local Results, Limit = _R(Stk[A](Stk[A + 1])); |
429 | Top = (Limit + A) - 1; |
430 | local Edx = 0; |
431 | for Idx = A, Top do |
432 | local FlatIdent_39EBF = 0; |
433 | while true do |
434 | if (FlatIdent_39EBF == 0) then |
435 | Edx = Edx + 1; |
436 | Stk[Idx] = Results[Edx]; |
437 | break; |
438 | end |
439 | end |
440 | end |
441 | else |
442 | VIP = Inst[3]; |
443 | end |
444 | elseif (Enum <= 29) then |
445 | if (Enum <= 27) then |
446 | if (Enum == 26) then |
447 | local A = Inst[2]; |
448 | Stk[A] = Stk[A](Stk[A + 1]); |
449 | elseif (Inst[2] == Stk[Inst[4]]) then |
450 | VIP = VIP + 1; |
451 | else |
452 | VIP = Inst[3]; |
453 | end |
454 | elseif (Enum > 28) then |
455 | do |
456 | return Stk[Inst[2]]; |
457 | end |
458 | else |
459 | local FlatIdent_8BF78 = 0; |
460 | local A; |
461 | while true do |
462 | if (FlatIdent_8BF78 == 0) then |
463 | A = Inst[2]; |
464 | do |
465 | return Unpack(Stk, A, Top); |
466 | end |
467 | break; |
468 | end |
469 | end |
470 | end |
471 | elseif (Enum <= 31) then |
472 | if (Enum == 30) then |
473 | Stk[Inst[2]] = Inst[3] ~= 0; |
474 | else |
475 | local A = Inst[2]; |
476 | local Cls = {}; |
477 | for Idx = 1, #Lupvals do |
478 | local FlatIdent_817B0 = 0; |
479 | local List; |
480 | while true do |
481 | if (FlatIdent_817B0 == 0) then |
482 | List = Lupvals[Idx]; |
483 | for Idz = 0, #List do |
484 | local Upv = List[Idz]; |
485 | local NStk = Upv[1]; |
486 | local DIP = Upv[2]; |
487 | if ((NStk == Stk) and (DIP >= A)) then |
488 | Cls[DIP] = NStk[DIP]; |
489 | Upv[1] = Cls; |
490 | end |
491 | end |
492 | break; |
493 | end |
494 | end |
495 | end |
496 | end |
497 | elseif (Enum <= 32) then |
498 | Stk[Inst[2]][Inst[3]] = Stk[Inst[4]]; |
499 | elseif (Enum == 33) then |
500 | local FlatIdent_52551 = 0; |
501 | local A; |
502 | local Results; |
503 | local Edx; |
504 | while true do |
505 | if (FlatIdent_52551 == 0) then |
506 | A = Inst[2]; |
507 | Results = {Stk[A](Unpack(Stk, A + 1, Inst[3]))}; |
508 | FlatIdent_52551 = 1; |
509 | end |
510 | if (FlatIdent_52551 == 1) then |
511 | Edx = 0; |
512 | for Idx = A, Inst[4] do |
513 | Edx = Edx + 1; |
514 | Stk[Idx] = Results[Edx]; |
515 | end |
516 | break; |
517 | end |
518 | end |
519 | else |
520 | local FlatIdent_2D88C = 0; |
521 | local A; |
522 | while true do |
523 | if (FlatIdent_2D88C == 0) then |
524 | A = Inst[2]; |
525 | do |
526 | return Unpack(Stk, A, A + Inst[3]); |
527 | end |
528 | break; |
529 | end |
530 | end |
531 | end |
532 | elseif (Enum <= 52) then |
533 | if (Enum <= 43) then |
534 | if (Enum <= 38) then |
535 | if (Enum <= 36) then |
536 | if (Enum == 35) then |
537 | Stk[Inst[2]] = Stk[Inst[3]]; |
538 | else |
539 | Stk[Inst[2]] = Env[Inst[3]]; |
540 | end |
541 | elseif (Enum == 37) then |
542 | local FlatIdent_D79D = 0; |
543 | local A; |
544 | local Results; |
545 | local Limit; |
546 | local Edx; |
547 | while true do |
548 | if (FlatIdent_D79D == 1) then |
549 | Top = (Limit + A) - 1; |
550 | Edx = 0; |
551 | FlatIdent_D79D = 2; |
552 | end |
553 | if (FlatIdent_D79D == 2) then |
554 | for Idx = A, Top do |
555 | Edx = Edx + 1; |
556 | Stk[Idx] = Results[Edx]; |
557 | end |
558 | break; |
559 | end |
560 | if (0 == FlatIdent_D79D) then |
561 | A = Inst[2]; |
562 | Results, Limit = _R(Stk[A]()); |
563 | FlatIdent_D79D = 1; |
564 | end |
565 | end |
566 | else |
567 | local A = Inst[2]; |
568 | Stk[A] = Stk[A](Unpack(Stk, A + 1, Inst[3])); |
569 | end |
570 | elseif (Enum <= 40) then |
571 | if (Enum == 39) then |
572 | do |
573 | return; |
574 | end |
575 | else |
576 | local A = Inst[2]; |
577 | Stk[A] = Stk[A](Unpack(Stk, A + 1, Top)); |
578 | end |
579 | elseif (Enum <= 41) then |
580 | Stk[Inst[2]] = Upvalues[Inst[3]]; |
581 | elseif (Enum > 42) then |
582 | Stk[Inst[2]] = Inst[3]; |
583 | else |
584 | Stk[Inst[2]] = {}; |
585 | end |
586 | elseif (Enum <= 47) then |
587 | if (Enum <= 45) then |
588 | if (Enum > 44) then |
589 | local FlatIdent_5B4A8 = 0; |
590 | local A; |
591 | local Results; |
592 | local Limit; |
593 | local Edx; |
594 | while true do |
595 | if (FlatIdent_5B4A8 == 0) then |
596 | A = Inst[2]; |
597 | Results, Limit = _R(Stk[A](Unpack(Stk, A + 1, Inst[3]))); |
598 | FlatIdent_5B4A8 = 1; |
599 | end |
600 | if (FlatIdent_5B4A8 == 2) then |
601 | for Idx = A, Top do |
602 | local FlatIdent_5B2CE = 0; |
603 | while true do |
604 | if (FlatIdent_5B2CE == 0) then |
605 | Edx = Edx + 1; |
606 | Stk[Idx] = Results[Edx]; |
607 | break; |
608 | end |
609 | end |
610 | end |
611 | break; |
612 | end |
613 | if (FlatIdent_5B4A8 == 1) then |
614 | Top = (Limit + A) - 1; |
615 | Edx = 0; |
616 | FlatIdent_5B4A8 = 2; |
617 | end |
618 | end |
619 | else |
620 | local A = Inst[2]; |
621 | Top = (A + Varargsz) - 1; |
622 | for Idx = A, Top do |
623 | local VA = Vararg[Idx - A]; |
624 | Stk[Idx] = VA; |
625 | end |
626 | end |
627 | elseif (Enum > 46) then |
628 | local A = Inst[2]; |
629 | Stk[A](Stk[A + 1]); |
630 | else |
631 | local A = Inst[2]; |
632 | Stk[A](Stk[A + 1]); |
633 | end |
634 | elseif (Enum <= 49) then |
635 | if (Enum == 48) then |
636 | Stk[Inst[2]][Inst[3]] = Inst[4]; |
637 | else |
638 | Stk[Inst[2]] = Inst[3] ~= 0; |
639 | end |
640 | elseif (Enum <= 50) then |
641 | local FlatIdent_2E9CB = 0; |
642 | local A; |
643 | while true do |
644 | if (FlatIdent_2E9CB == 0) then |
645 | A = Inst[2]; |
646 | do |
647 | return Stk[A](Unpack(Stk, A + 1, Top)); |
648 | end |
649 | break; |
650 | end |
651 | end |
652 | elseif (Enum == 51) then |
653 | Stk[Inst[2]] = Stk[Inst[3]][Inst[4]]; |
654 | else |
655 | local NewProto = Proto[Inst[3]]; |
656 | local NewUvals; |
657 | local Indexes = {}; |
658 | NewUvals = Setmetatable({}, {__index=function(_, Key) |
659 | local FlatIdent_29E69 = 0; |
660 | local Val; |
661 | while true do |
662 | if (FlatIdent_29E69 == 0) then |
663 | Val = Indexes[Key]; |
664 | return Val[1][Val[2]]; |
665 | end |
666 | end |
667 | end,__newindex=function(_, Key, Value) |
668 | local Val = Indexes[Key]; |
669 | Val[1][Val[2]] = Value; |
670 | end}); |
671 | for Idx = 1, Inst[4] do |
672 | VIP = VIP + 1; |
673 | local Mvm = Instr[VIP]; |
674 | if (Mvm[1] == 35) then |
675 | Indexes[Idx - 1] = {Stk,Mvm[3]}; |
676 | else |
677 | Indexes[Idx - 1] = {Upvalues,Mvm[3]}; |
678 | end |
679 | Lupvals[#Lupvals + 1] = Indexes; |
680 | end |
681 | Stk[Inst[2]] = Wrap(NewProto, NewUvals, Env); |
682 | end |
683 | elseif (Enum <= 61) then |
684 | if (Enum <= 56) then |
685 | if (Enum <= 54) then |
686 | if (Enum > 53) then |
687 | local FlatIdent_466B2 = 0; |
688 | local NewProto; |
689 | local NewUvals; |
690 | local Indexes; |
691 | while true do |
692 | if (FlatIdent_466B2 == 0) then |
693 | NewProto = Proto[Inst[3]]; |
694 | NewUvals = nil; |
695 | FlatIdent_466B2 = 1; |
696 | end |
697 | if (1 == FlatIdent_466B2) then |
698 | Indexes = {}; |
699 | NewUvals = Setmetatable({}, {__index=function(_, Key) |
700 | local Val = Indexes[Key]; |
701 | return Val[1][Val[2]]; |
702 | end,__newindex=function(_, Key, Value) |
703 | local Val = Indexes[Key]; |
704 | Val[1][Val[2]] = Value; |
705 | end}); |
706 | FlatIdent_466B2 = 2; |
707 | end |
708 | if (2 == FlatIdent_466B2) then |
709 | for Idx = 1, Inst[4] do |
710 | VIP = VIP + 1; |
711 | local Mvm = Instr[VIP]; |
712 | if (Mvm[1] == 35) then |
713 | Indexes[Idx - 1] = {Stk,Mvm[3]}; |
714 | else |
715 | Indexes[Idx - 1] = {Upvalues,Mvm[3]}; |
716 | end |
717 | Lupvals[#Lupvals + 1] = Indexes; |
718 | end |
719 | Stk[Inst[2]] = Wrap(NewProto, NewUvals, Env); |
720 | break; |
721 | end |
722 | end |
723 | else |
724 | for Idx = Inst[2], Inst[3] do |
725 | Stk[Idx] = nil; |
726 | end |
727 | end |
728 | elseif (Enum > 55) then |
729 | VIP = Inst[3]; |
730 | else |
731 | Upvalues[Inst[3]] = Stk[Inst[2]]; |
732 | end |
733 | elseif (Enum <= 58) then |
734 | if (Enum == 57) then |
735 | local A = Inst[2]; |
736 | local Results = {Stk[A](Unpack(Stk, A + 1, Inst[3]))}; |
737 | local Edx = 0; |
738 | for Idx = A, Inst[4] do |
739 | local FlatIdent_2BE02 = 0; |
740 | while true do |
741 | if (FlatIdent_2BE02 == 0) then |
742 | Edx = Edx + 1; |
743 | Stk[Idx] = Results[Edx]; |
744 | break; |
745 | end |
746 | end |
747 | end |
748 | else |
749 | local A = Inst[2]; |
750 | local Results, Limit = _R(Stk[A]()); |
751 | Top = (Limit + A) - 1; |
752 | local Edx = 0; |
753 | for Idx = A, Top do |
754 | Edx = Edx + 1; |
755 | Stk[Idx] = Results[Edx]; |
756 | end |
757 | end |
758 | elseif (Enum <= 59) then |
759 | if (Stk[Inst[2]] == Inst[4]) then |
760 | VIP = VIP + 1; |
761 | else |
762 | VIP = Inst[3]; |
763 | end |
764 | elseif (Enum == 60) then |
765 | Upvalues[Inst[3]] = Stk[Inst[2]]; |
766 | else |
767 | local FlatIdent_494F6 = 0; |
768 | local A; |
769 | while true do |
770 | if (FlatIdent_494F6 == 0) then |
771 | A = Inst[2]; |
772 | do |
773 | return Stk[A](Unpack(Stk, A + 1, Top)); |
774 | end |
775 | break; |
776 | end |
777 | end |
778 | end |
779 | elseif (Enum <= 65) then |
780 | if (Enum <= 63) then |
781 | if (Enum > 62) then |
782 | local FlatIdent_581C8 = 0; |
783 | local A; |
784 | while true do |
785 | if (FlatIdent_581C8 == 0) then |
786 | A = Inst[2]; |
787 | Stk[A](Unpack(Stk, A + 1, Inst[3])); |
788 | break; |
789 | end |
790 | end |
791 | elseif (Inst[2] == Stk[Inst[4]]) then |
792 | VIP = VIP + 1; |
793 | else |
794 | VIP = Inst[3]; |
795 | end |
796 | elseif (Enum == 64) then |
797 | Stk[Inst[2]] = Wrap(Proto[Inst[3]], nil, Env); |
798 | else |
799 | Stk[Inst[2]] = Wrap(Proto[Inst[3]], nil, Env); |
800 | end |
801 | elseif (Enum <= 67) then |
802 | if (Enum > 66) then |
803 | local A = Inst[2]; |
804 | Top = (A + Varargsz) - 1; |
805 | for Idx = A, Top do |
806 | local VA = Vararg[Idx - A]; |
807 | Stk[Idx] = VA; |
808 | end |
809 | else |
810 | Stk[Inst[2]] = Inst[3]; |
811 | end |
812 | elseif (Enum <= 68) then |
813 | Stk[Inst[2]] = Env[Inst[3]]; |
814 | elseif (Enum > 69) then |
815 | for Idx = Inst[2], Inst[3] do |
816 | Stk[Idx] = nil; |
817 | end |
818 | elseif Stk[Inst[2]] then |
819 | VIP = VIP + 1; |
820 | else |
821 | VIP = Inst[3]; |
822 | end |
823 | VIP = VIP + 1; |
824 | end |
825 | end; |
826 | end |
827 | end |
828 | end |
829 | return Wrap(Deserialize(), {}, vmenv)(...); |
830 | end |
831 | return VMCall("LOL!333O0003073O0067657467656E7603113O006765746E616D6563612O6C6D6574686F64030E3O00682O6F6B6D6574616D6574686F64030B3O006E65772O636C6F73757265030B3O00636865636B63612O6C657203063O00737472696E6703053O006C6F776572030B3O0045445F416E74694B69636B03043O0067616D65030A3O004765745365727669636503073O00506C6179657273030A3O005374617274657247756903073O00456E61626C65642O0103113O0053656E644E6F74696669636174696F6E73030B3O00436865636B43612O6C657203053O00737061776E028O00026O00F03F027O0040026O00084003083O005465787453697A65026O00384003043O00466F6E7403043O00456E756D030A3O00536F7572636553616E73030B3O00546578745772612O70656403043O0077616974026O00104003073O0044657374726F7903083O00496E7374616E63652O033O006E657703093O00546578744C6162656C03063O00506172656E7403043O0053697A6503053O005544696D32026O006940026O00494003083O00506F736974696F6E025O00406AC0026O00244003093O005363722O656E477569030B3O004C6F63616C506C6179657203093O00506C6179657247756903043O005465787403233O00E29AA0EFB88F7468652067616D6520747269656420746F20622O6F7420796F20612O73030A3O0054657874436F6C6F723303063O00436F6C6F7233030B3O00416E63686F72506F696E7403073O00566563746F723203163O004261636B67726F756E645472616E73706172656E637900AD3O0012443O00013O001244000100023O001244000200033O001244000300043O001244000400053O001244000500063O00200B0005000500072O000200066O000C00060001000200200B00060006000800060E0006000D00013O0004383O000D00012O00013O00013O001244000600093O00201100060006000A0012420008000B4O0014000600080002001244000700093O00201100070007000A0012420009000C4O00210007000900082O000200096O000C0009000100022O002A000A3O0003003009000A000D000E003009000A000F000E003009000A0010000E00101200090008000A001244000900113O000636000A3O000100082O00233O00084O00233O00024O00233O00034O00238O00233O00044O00233O00054O00233O00014O00233O00074O002E0009000200012O000200096O000C00090001000200200B00090009000800200B00090009000F00060E000900A800013O0004383O00A80001001242000900124O0046000A000E3O000E1B00130033000100090004383O003300012O0046000C000D3O001242000900143O00263B00090038000100120004383O00380001001242000A00124O0046000B000B3O001242000900133O00263B0009002F000100140004383O002F00012O0046000E000E3O00263B000A0047000100150004383O00470001003009000E00160017001244000F00193O00200B000F000F001800200B000F000F001A001012000E0018000F003009000E001B000E001244000F001C3O001242001000154O002E000F00020001001242000A001D3O00263B000A004C0001001D0004383O004C0001002011000F000D001E2O002E000F000200010004383O00A8000100263B000A0070000100130004383O00700001001242000F00123O000E1B001400530001000F0004383O00530001001242000A00143O0004383O0070000100263B000F005C000100120004383O005C00010012440010001F3O00200B001000100020001242001100214O001A0010000200022O0002000E00103O001012000E0022000D001242000F00133O00263B000F004F000100130004383O004F0001001244001000243O00200B001000100020001242001100123O001242001200253O001242001300123O001242001400264O0014001000140002001012000E00230010001244001000243O00200B001000100020001242001100133O001242001200283O001242001300123O001242001400294O0014001000140002001012000E00270010001242000F00143O0004383O004F000100263B000A0088000100120004383O00880001001242000F00123O00263B000F007C000100130004383O007C00010012440010001F3O00200B0010001000200012420011002A4O001A0010000200022O0002000D00103O001012000D0022000C001242000F00143O00263B000F0080000100140004383O00800001001242000A00133O0004383O0088000100263B000F0073000100120004383O00730001001244001000093O00200B00100010000B00200B000B0010002B00200B000C000B002C001242000F00133O0004383O0073000100263B000A003B000100140004383O003B0001001242000F00123O00263B000F008F000100140004383O008F0001001242000A00153O0004383O003B000100263B000F009A000100130004383O009A0001003009000E002D002E001244001000303O00200B001000100020001242001100133O001242001200133O001242001300134O0014001000130002001012000E002F0010001242000F00143O00263B000F008B000100120004383O008B0001001244001000323O00200B001000100020001242001100133O001242001200124O0014001000120002001012000E00310010003009000E00330013001242000F00133O0004383O008B00010004383O003B00010004383O00A800010004383O002F0001001244000900113O000241000A00014O002E0009000200012O001F8O00013O00013O00023O00023O0003043O0067616D65030A3O002O5F6E616D6563612O6C000F4O00033O00013O001244000100013O001242000200024O0003000300023O00063600043O000100062O00293O00034O00293O00044O00293O00054O00293O00064O00293O00074O00298O0018000300044O00285O00022O00378O00013O00013O00013O00333O00028O00030B3O0045445F416E74694B69636B030B3O00436865636B43612O6C657203043O006B69636B03073O00456E61626C6564026O00F03F03113O0053656E644E6F74696669636174696F6E7303073O00536574436F726503103O0053656E644E6F74696669636174696F6E03053O005469746C6503143O00402O7269786820F09F91BA416E74692D422O6F7403043O005465787403143O00416E74692D422O6F7420456E61626C6564E29C8503043O0049636F6E03173O00726278612O73657469643A2O2F3632333835343033373303083O004475726174696F6E027O0040026O00104003083O005465787453697A65026O00384003043O00466F6E7403043O00456E756D030A3O00536F7572636553616E73030B3O00546578745772612O7065642O01026O00144003043O0053697A6503053O005544696D322O033O006E6577026O006940026O00494003083O00506F736974696F6E025O00406AC0026O002440030B3O00416E63686F72506F696E7403073O00566563746F7232026O00084003163O004261636B67726F756E645472616E73706172656E637903233O00E29AA0EFB88F7468652067616D6520747269656420746F20622O6F7420796F20612O73030A3O0054657874436F6C6F723303063O00436F6C6F723303043O007761697403073O0044657374726F7903063O00506172656E7403083O00496E7374616E636503093O00546578744C6162656C03043O0067616D6503073O00506C6179657273030B3O004C6F63616C506C6179657203093O00506C6179657247756903093O005363722O656E47756900BB3O001242000100014O0046000200023O00263B00010002000100010004383O00020001001242000200013O00263B00020005000100010004383O00050001001242000300013O00263B00030008000100010004383O000800012O000300046O000C00040001000200200B00040004000200200B00040004000300060E0004001400013O0004383O001400012O0003000400014O000C00040001000200060E0004001400013O0004383O001400012O0003000400024O0003000500034O003A000500014O002800043O000200263B000400B2000100040004383O00B20001001244000400023O00200B00040004000500060E000400B200013O0004383O00B20001001242000400014O0046000500053O000E1B00010020000100040004383O00200001001242000500013O001242000600013O00263B00060024000100010004383O0024000100263B000500A9000100010004383O00A90001001242000700013O000E1B0006002D000100070004383O002D0001001242000500063O0004383O00A9000100263B00070029000100010004383O002900012O000300086O000C00080001000200200B00080008000200200B00080008000700060E0008005200013O0004383O00520001001242000800013O00263B00080036000100010004383O003600012O000300096O000C00090001000200200B00090009000200200B00090009000700060E0009004700013O0004383O004700012O0003000900043O002011000900090008001242000B00094O002A000C3O0004003009000C000A000B003009000C000C000D003009000C000E000F003009000C001000112O003F0009000C00012O0003000900043O002011000900090008001242000B00094O002A000C3O0004003009000C000A000B003009000C000C000D003009000C000E000F003009000C001000112O003F0009000C00010004383O005200010004383O003600012O000300086O000C00080001000200200B00080008000200200B00080008000700060E000800A700013O0004383O00A70001001242000800014O00460009000C3O00263B00080063000100120004383O00630001003009000C00130014001244000D00163O00200B000D000D001500200B000D000D0017001012000C0015000D003009000C001800190012420008001A3O00263B0008007C000100110004383O007C0001001244000D001C3O00200B000D000D001D001242000E00013O001242000F001E3O001242001000013O0012420011001F4O0014000D00110002001012000C001B000D001244000D001C3O00200B000D000D001D001242000E00063O001242000F00213O001242001000013O001242001100224O0014000D00110002001012000C0020000D001244000D00243O00200B000D000D001D001242000E00063O001242000F00014O0014000D000F0002001012000C0023000D001242000800253O00263B00080088000100250004383O00880001003009000C00260006003009000C000C0027001244000D00293O00200B000D000D001D001242000E00063O001242000F00063O001242001000064O0014000D00100002001012000C0028000D001242000800123O00263B000800900001001A0004383O00900001001244000D002A3O001242000E00254O002E000D00020001002011000D000B002B2O002E000D000200010004383O00A7000100263B0008009A000100060004383O009A0001001012000B002C000A001244000D002D3O00200B000D000D001D001242000E002E4O001A000D000200022O0002000C000D3O001012000C002C000B001242000800113O00263B0008005A000100010004383O005A0001001244000D002F3O00200B000D000D003000200B0009000D003100200B000A00090032001244000D002D3O00200B000D000D001D001242000E00334O001A000D000200022O0002000B000D3O001242000800063O0004383O005A0001001242000700063O0004383O0029000100263B00050023000100060004383O002300012O0046000700074O001D000700023O0004383O002300010004383O002400010004383O002300010004383O00B200010004383O002000012O0003000400054O002C00056O003200046O001C00045O0004383O000800010004383O000500010004383O00BA00010004383O000200012O00013O00017O00043O00030A3O006C6F6164737472696E6703043O0067616D6503073O00482O747047657403423O00682O7470733A2O2F7061737465636F64652E6465762F7261772F69737A78717368712F64684B61736864726F2O7065725F6C756C61736C6F2O6C69706F702E6D6F7600093O0012443O00013O001244000100023O002011000100010003001242000300044O0031000400014O0005000100044O00285O00022O00063O000100012O00013O00017O00", GetFEnv(), ...); |