title: Where can i learn how to deobfuscate, can someone simplify me and tell me where can i learn
body: <pre><code>--[[
  IronBrew:tm: obfuscation; Version 2.7.2
  ]]
  return(function(aaa_IIIIIllIlIIIlII,aaa_IIIIllll,aaa_IIIIllll)local aaa_llllllIlIIll=string.char;local aaa_IlllllllIIIlIllI=string.sub;local aaa_IlllIIllllIlI=table.concat;local aaa_IIllIlIllIIlI=math.ldexp;local aaa_IllllIlIlIIllIlI=getfenv or function()return _ENV end;local aaa_lIlIlIlIII=select;local aaa_IIIIllll=unpack or table.unpack;local aaa_IlIlIlllIlllI=tonumber;local function aaa_IlIIIllllIlIlllI(aaa_IlllIIlIIIIllIlIlIl)local aaa_IIlIIlIlIllIIlIllIlllI,aaa_IlIlIlllIlIlIllllIIIlllII,aaa_IIIlIllllllIIllIlIIIlIl="","",{}local aaa_IIIllllIIIIIIllIIll=256;local aaa_IIIIIllIlIIIlII={}for aaa_IIIIllll=0,aaa_IIIllllIIIIIIllIIll-1 do aaa_IIIIIllIlIIIlII[aaa_IIIIllll]=aaa_llllllIlIIll(aaa_IIIIllll)end;local aaa_IIIIllll=1;local function aaa_lIIlIIlIIIlllIllIllIl()local aaa_IIlIIlIlIllIIlIllIlllI=aaa_IlIlIlllIlllI(aaa_IlllllllIIIlIllI(aaa_IlllIIlIIIIllIlIlIl,aaa_IIIIllll,aaa_IIIIllll),36)aaa_IIIIllll=aaa_IIIIllll+1;local aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IlIlIlllIlllI(aaa_IlllllllIIIlIllI(aaa_IlllIIlIIIIllIlIlIl,aaa_IIIIllll,aaa_IIIIllll+aaa_IIlIIlIlIllIIlIllIlllI-1),36)aaa_IIIIllll=aaa_IIIIllll+aaa_IIlIIlIlIllIIlIllIlllI;return aaa_IlIlIlllIlIlIllllIIIlllII end;aaa_IIlIIlIlIllIIlIllIlllI=aaa_llllllIlIIll(aaa_lIIlIIlIIIlllIllIllIl())aaa_IIIlIllllllIIllIlIIIlIl[1]=aaa_IIlIIlIlIllIIlIllIlllI;while aaa_IIIIllll&lt;#aaa_IlllIIlIIIIllIlIlIl do local aaa_IIIIllll=aaa_lIIlIIlIIIlllIllIllIl()if aaa_IIIIIllIlIIIlII[aaa_IIIIllll]then aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIIIllIlIIIlII[aaa_IIIIllll]else aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIlIIlIlIllIIlIllIlllI..aaa_IlllllllIIIlIllI(aaa_IIlIIlIlIllIIlIllIlllI,1,1)end;aaa_IIIIIllIlIIIlII[aaa_IIIllllIIIIIIllIIll]=aaa_IIlIIlIlIllIIlIllIlllI..aaa_IlllllllIIIlIllI(aaa_IlIlIlllIlIlIllllIIIlllII,1,1)aaa_IIIlIllllllIIllIlIIIlIl[#aaa_IIIlIllllllIIllIlIIIlIl+1],aaa_IIlIIlIlIllIIlIllIlllI,aaa_IIIllllIIIIIIllIIll=aaa_IlIlIlllIlIlIllllIIIlllII,aaa_IlIlIlllIlIlIllllIIIlllII,aaa_IIIllllIIIIIIllIIll+1 end;return table.concat(aaa_IIIlIllllllIIllIlIIIlIl)end;local aaa_lIIlIIlIIIlllIllIllIl=aaa_IlIIIllllIlIlllI('2102122752131Z27521222E22C22722022A21321327921Z1Y27921G21127927H27521G27427H27427927K27527S2751X27O279282212');local aaa_IIIIllll=(bit or bit32);local aaa_IIIlIllllllIIllIlIIIlIl=aaa_IIIIllll and aaa_IIIIllll.bxor or function(aaa_IIIIllll,aaa_IlIlIlllIlIlIllllIIIlllII)local aaa_IIlIIlIlIllIIlIllIlllI,aaa_IIIlIllllllIIllIlIIIlIl,aaa_IlllllllIIIlIllI=1,0,10 while aaa_IIIIllll&gt;0 and aaa_IlIlIlllIlIlIllllIIIlllII&gt;0 do local aaa_IlllllllIIIlIllI,aaa_IIIllllIIIIIIllIIll=aaa_IIIIllll%2,aaa_IlIlIlllIlIlIllllIIIlllII%2 if aaa_IlllllllIIIlIllI~=aaa_IIIllllIIIIIIllIIll then aaa_IIIlIllllllIIllIlIIIlIl=aaa_IIIlIllllllIIllIlIIIlIl+aaa_IIlIIlIlIllIIlIllIlllI end aaa_IIIIllll,aaa_IlIlIlllIlIlIllllIIIlllII,aaa_IIlIIlIlIllIIlIllIlllI=(aaa_IIIIllll-aaa_IlllllllIIIlIllI)/2,(aaa_IlIlIlllIlIlIllllIIIlllII-aaa_IIIllllIIIIIIllIIll)/2,aaa_IIlIIlIlIllIIlIllIlllI*2 end if aaa_IIIIllll&lt;aaa_IlIlIlllIlIlIllllIIIlllII then aaa_IIIIllll=aaa_IlIlIlllIlIlIllllIIIlllII end while aaa_IIIIllll&gt;0 do local aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIIllll%2 if aaa_IlIlIlllIlIlIllllIIIlllII&gt;0 then aaa_IIIlIllllllIIllIlIIIlIl=aaa_IIIlIllllllIIllIlIIIlIl+aaa_IIlIIlIlIllIIlIllIlllI end aaa_IIIIllll,aaa_IIlIIlIlIllIIlIllIlllI=(aaa_IIIIllll-aaa_IlIlIlllIlIlIllllIIIlllII)/2,aaa_IIlIIlIlIllIIlIllIlllI*2 end return aaa_IIIlIllllllIIllIlIIIlIl end local function aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIlIIlIlIllIIlIllIlllI,aaa_IIIIllll,aaa_IlIlIlllIlIlIllllIIIlllII)if aaa_IlIlIlllIlIlIllllIIIlllII then local aaa_IIIIllll=(aaa_IIlIIlIlIllIIlIllIlllI/2^(aaa_IIIIllll-1))%2^((aaa_IlIlIlllIlIlIllllIIIlllII-1)-(aaa_IIIIllll-1)+1);return aaa_IIIIllll-aaa_IIIIllll%1;else local aaa_IIIIllll=2^(aaa_IIIIllll-1);return(aaa_IIlIIlIlIllIIlIllIlllI%(aaa_IIIIllll+aaa_IIIIllll)&gt;=aaa_IIIIllll)and 1 or 0;end;end;local aaa_IIIIllll=1;local function aaa_IIlIIlIlIllIIlIllIlllI()local aaa_IIIllllIIIIIIllIIll,aaa_IlllllllIIIlIllI,aaa_IlIlIlllIlIlIllllIIIlllII,aaa_IIlIIlIlIllIIlIllIlllI=aaa_IIIIIllIlIIIlII(aaa_lIIlIIlIIIlllIllIllIl,aaa_IIIIllll,aaa_IIIIllll+3);aaa_IIIllllIIIIIIllIIll=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IIIllllIIIIIIllIIll,38)aaa_IlllllllIIIlIllI=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IlllllllIIIlIllI,38)aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IlIlIlllIlIlIllllIIIlllII,38)aaa_IIlIIlIlIllIIlIllIlllI=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IIlIIlIlIllIIlIllIlllI,38)aaa_IIIIllll=aaa_IIIIllll+4;return(aaa_IIlIIlIlIllIIlIllIlllI*16777216)+(aaa_IlIlIlllIlIlIllllIIIlllII*65536)+(aaa_IlllllllIIIlIllI*256)+aaa_IIIllllIIIIIIllIIll;end;local function aaa_IlllIIlIIIIllIlIlIl()local aaa_IIlIIlIlIllIIlIllIlllI=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IIIIIllIlIIIlII(aaa_lIIlIIlIIIlllIllIllIl,aaa_IIIIllll,aaa_IIIIllll),38);aaa_IIIIllll=aaa_IIIIllll+1;return aaa_IIlIIlIlIllIIlIllIlllI;end;local function aaa_IIIllllIIIIIIllIIll()local aaa_IIlIIlIlIllIIlIllIlllI,aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIIIllIlIIIlII(aaa_lIIlIIlIIIlllIllIllIl,aaa_IIIIllll,aaa_IIIIllll+2);aaa_IIlIIlIlIllIIlIllIlllI=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IIlIIlIlIllIIlIllIlllI,38)aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIlIllllllIIllIlIIIlIl(aaa_IlIlIlllIlIlIllllIIIlllII,38)aaa_IIIIllll=aaa_IIIIllll+2;return(aaa_IlIlIlllIlIlIllllIIIlllII*256)+aaa_IIlIIlIlIllIIlIllIlllI;end;local function aaa_IlIIIllllIlIlllI()local aaa_IIIIllll=aaa_IIlIIlIlIllIIlIllIlllI();local aaa_IIlIIlIlIllIIlIllIlllI=aaa_IIlIIlIlIllIIlIllIlllI();local aaa_IlllllllIIIlIllI=1;local aaa_IIIlIllllllIIllIlIIIlIl=(aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIlIIlIlIllIIlIllIlllI,1,20)*(2^32))+aaa_IIIIllll;local aaa_IIIIllll=aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIlIIlIlIllIIlIllIlllI,21,31);local aaa_IIlIIlIlIllIIlIllIlllI=((-1)^aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIlIIlIlIllIIlIllIlllI,32));if(aaa_IIIIllll==0)then if(aaa_IIIlIllllllIIllIlIIIlIl==0)then return aaa_IIlIIlIlIllIIlIllIlllI*0;else aaa_IIIIllll=1;aaa_IlllllllIIIlIllI=0;end;elseif(aaa_IIIIllll==2047)then return(aaa_IIIlIllllllIIllIlIIIlIl==0)and(aaa_IIlIIlIlIllIIlIllIlllI*(1/0))or(aaa_IIlIIlIlIllIIlIllIlllI*(0/0));end;return aaa_IIllIlIllIIlI(aaa_IIlIIlIlIllIIlIllIlllI,aaa_IIIIllll-1023)*(aaa_IlllllllIIIlIllI+(aaa_IIIlIllllllIIllIlIIIlIl/(2^52)));end;local aaa_IlIlIlllIlllI=aaa_IIlIIlIlIllIIlIllIlllI;local function aaa_IlllIIIIl(aaa_IIlIIlIlIllIIlIllIlllI)local aaa_IlIlIlllIlIlIllllIIIlllII;if(not aaa_IIlIIlIlIllIIlIllIlllI)then aaa_IIlIIlIlIllIIlIllIlllI=aaa_IlIlIlllIlllI();if(aaa_IIlIIlIlIllIIlIllIlllI==0)then return'';end;end;aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IlllllllIIIlIllI(aaa_lIIlIIlIIIlllIllIllIl,aaa_IIIIllll,aaa_IIIIllll+aaa_IIlIIlIlIllIIlIllIlllI-1);aaa_IIIIllll=aaa_IIIIllll+aaa_IIlIIlIlIllIIlIllIlllI;local aaa_IIlIIlIlIllIIlIllIlllI={}for aaa_IIIIllll=1,#aaa_IlIlIlllIlIlIllllIIIlllII do aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll]=aaa_llllllIlIIll(aaa_IIIlIllllllIIllIlIIIlIl(aaa_IIIIIllIlIIIlII(aaa_IlllllllIIIlIllI(aaa_IlIlIlllIlIlIllllIIIlllII,aaa_IIIIllll,aaa_IIIIllll)),38))end return aaa_IlllIIllllIlI(aaa_IIlIIlIlIllIIlIllIlllI);end;local aaa_IIIIllll=aaa_IIlIIlIlIllIIlIllIlllI;local function aaa_IlllIIllllIlI(...)return{...},aaa_lIlIlIlIII('#',...)end local function aaa_IIllIlIllIIlI()local aaa_llllllIlIIll={};local aaa_IlIlIlllIlllI={};local aaa_IIIIllll={};local aaa_lIIlIIlIIIlllIllIllIl={[#{"1 + 1 = 111";"1 + 1 = 111";}]=aaa_IlIlIlllIlllI,[#{{544;66;987;104};"1 + 1 = 111";"1 + 1 = 111";}]=nil,[#{"1 + 1 = 111";{535;270;19;410};"1 + 1 = 111";"1 + 1 = 111";}]=aaa_IIIIllll,[#{{673;159;226;637};}]=aaa_llllllIlIIll,};local aaa_IIIIllll=aaa_IIlIIlIlIllIIlIllIlllI()local aaa_IIIlIllllllIIllIlIIIlIl={}for aaa_IlIlIlllIlIlIllllIIIlllII=1,aaa_IIIIllll do local aaa_IIlIIlIlIllIIlIllIlllI=aaa_IlllIIlIIIIllIlIlIl();local aaa_IIIIllll;if(aaa_IIlIIlIlIllIIlIllIlllI==2)then aaa_IIIIllll=(aaa_IlllIIlIIIIllIlIlIl()~=0);elseif(aaa_IIlIIlIlIllIIlIllIlllI==0)then aaa_IIIIllll=aaa_IlIIIllllIlIlllI();elseif(aaa_IIlIIlIlIllIIlIllIlllI==1)then aaa_IIIIllll=aaa_IlllIIIIl();end;aaa_IIIlIllllllIIllIlIIIlIl[aaa_IlIlIlllIlIlIllllIIIlllII]=aaa_IIIIllll;end;for aaa_lIIlIIlIIIlllIllIllIl=1,aaa_IIlIIlIlIllIIlIllIlllI()do local aaa_IIIIllll=aaa_IlllIIlIIIIllIlIlIl();if(aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIIIllll,1,1)==0)then local aaa_IlllllllIIIlIllI=aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIIIllll,2,3);local aaa_IIIIIllIlIIIlII=aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIIIllll,4,6);local aaa_IIIIllll={aaa_IIIllllIIIIIIllIIll(),aaa_IIIllllIIIIIIllIIll(),nil,nil};if(aaa_IlllllllIIIlIllI==0)then aaa_IIIIllll[3]=aaa_IIIllllIIIIIIllIIll();aaa_IIIIllll[4]=aaa_IIIllllIIIIIIllIIll();elseif(aaa_IlllllllIIIlIllI==1)then aaa_IIIIllll[3]=aaa_IIlIIlIlIllIIlIllIlllI();elseif(aaa_IlllllllIIIlIllI==2)then aaa_IIIIllll[3]=aaa_IIlIIlIlIllIIlIllIlllI()-(2^16)elseif(aaa_IlllllllIIIlIllI==3)then aaa_IIIIllll[3]=aaa_IIlIIlIlIllIIlIllIlllI()-(2^16)aaa_IIIIllll[4]=aaa_IIIllllIIIIIIllIIll();end;if(aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIIIIllIlIIIlII,1,1)==1)then aaa_IIIIllll[2]=aaa_IIIlIllllllIIllIlIIIlIl[aaa_IIIIllll[2]]end if(aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIIIIllIlIIIlII,2,2)==1)then aaa_IIIIllll[3]=aaa_IIIlIllllllIIllIlIIIlIl[aaa_IIIIllll[3]]end if(aaa_IlIlIlllIlIlIllllIIIlllII(aaa_IIIIIllIlIIIlII,3,3)==1)then aaa_IIIIllll[4]=aaa_IIIlIllllllIIllIlIIIlIl[aaa_IIIIllll[4]]end aaa_llllllIlIIll[aaa_lIIlIIlIIIlllIllIllIl]=aaa_IIIIllll;end end;for aaa_IIIIllll=1,aaa_IIlIIlIlIllIIlIllIlllI()do aaa_IlIlIlllIlllI[aaa_IIIIllll-1]=aaa_IIllIlIllIIlI();end;aaa_lIIlIIlIIIlllIllIllIl[3]=aaa_IlllIIlIIIIllIlIlIl();return aaa_lIIlIIlIIIlllIllIllIl;end;local function aaa_llllllIlIIll(aaa_IIIIllll,aaa_IIlIIlIlIllIIlIllIlllI,aaa_IIIIIllIlIIIlII)aaa_IIIIllll=(aaa_IIIIllll==true and aaa_IIllIlIllIIlI())or aaa_IIIIllll;return(function(...)local aaa_IlllIIlIIIIllIlIlIl=aaa_IIIIllll[1];local aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIIllll[3];local aaa_IIIIllll=aaa_IIIIllll[2];local aaa_IIIIllll=aaa_IlllIIllllIlI local aaa_IIIlIllllllIIllIlIIIlIl=1;local aaa_IIIIllll=-1;local aaa_lIIlIIlIIIlllIllIllIl={};local aaa_IIIllllIIIIIIllIIll={...};local aaa_IlllllllIIIlIllI=aaa_lIlIlIlIII('#',...)-1;local aaa_IIIIllll={};local aaa_IIlIIlIlIllIIlIllIlllI={};for aaa_IIIIllll=0,aaa_IlllllllIIIlIllI do if(aaa_IIIIllll&gt;=aaa_IlIlIlllIlIlIllllIIIlllII)then aaa_lIIlIIlIIIlllIllIllIl[aaa_IIIIllll-aaa_IlIlIlllIlIlIllllIIIlllII]=aaa_IIIllllIIIIIIllIIll[aaa_IIIIllll+1];else aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll]=aaa_IIIllllIIIIIIllIIll[aaa_IIIIllll+#{"1 + 1 = 111";}];end;end;local aaa_IIIIllll=aaa_IlllllllIIIlIllI-aaa_IlIlIlllIlIlIllllIIIlllII+1 local aaa_IIIIllll;local aaa_IlIlIlllIlIlIllllIIIlllII;while true do aaa_IIIIllll=aaa_IlllIIlIIIIllIlIlIl[aaa_IIIlIllllllIIllIlIIIlIl];aaa_IlIlIlllIlIlIllllIIIlllII=aaa_IIIIllll[1];if aaa_IlIlIlllIlIlIllllIIIlllII&lt;=3 then if aaa_IlIlIlllIlIlIllllIIIlllII&lt;=1 then if aaa_IlIlIlllIlIlIllllIIIlllII&gt;0 then do return end;else aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll[2]]=aaa_IIIIIllIlIIIlII[aaa_IIIIllll[3]];end;elseif aaa_IlIlIlllIlIlIllllIIIlllII==2 then aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll[2]]=aaa_IIIIllll[3];else aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll[2]]=aaa_IIIIIllIlIIIlII[aaa_IIIIllll[3]];end;elseif aaa_IlIlIlllIlIlIllllIIIlllII&lt;=5 then if aaa_IlIlIlllIlIlIllllIIIlllII==4 then local aaa_IIIIllll=aaa_IIIIllll[2]aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll](aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll+1])else aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll[2]]=aaa_IIIIllll[3];end;elseif aaa_IlIlIlllIlIlIllllIIIlllII&gt;6 then do return end;else local aaa_IIIIllll=aaa_IIIIllll[2]aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll](aaa_IIlIIlIlIllIIlIllIlllI[aaa_IIIIllll+1])end;aaa_IIIlIllllllIIllIlIIIlIl=aaa_IIIlIllllllIIllIlIIIlIl+1;end;end);end;return aaa_llllllIlIIll(true,{},aaa_IllllIlIlIIllIlI())();end)(string.byte,table.insert,setmetatable);
  </code></pre>
  
  <p>i undestand this very hardly, the script itself is print("a") cause i obfuscated it, can someone tell me where can i learn how this works and where can i learn to reverse this process, im interested to advance my knowledge, thanks onward.</p>