<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <Files>
    <Bath.LUA Encoding="Ascii85">#XJ3Tn?E:X;!m9HLznipfC/I_Az8?]J0)k2.u/.jTFPX%Y{XWmmc$u;7La9MD*YDBd.I}8ggwdKUae;1)68S_[v]oBkf8IYKN0di?z;OA%}q70]o)IMZgbjt^R$;FF!Wk@LH,f,/Kt_bECDkLkL_bJUcb^8NLd:tJZB6[dW${C9v5Tp!jF:1nyqm-]Q$BWG1;ZO$udf*ZXj=l?dja-0h39T7YK;dz;mrB;^sHE6RV4$Q=JOj6rYA=Q!mXe.6sxKUAwxze1AQ-7!76v(9JQ2=d?/y^eo{[t%{^qix.](7eyA$w+{30U{TVJL6Wo{BT{qrLJ)tpA4VCUq*GVt*$3P*gKPOK0h#bXvph-?-C!hab]5Lymvj^Qak_tsbpd1-#W9H3kzt)X@ftTPfE:JCg,GsRx;%7Kfo54C#Im(8Y=SVjIQ2t/hcoeE)FJ,n.z[!wk@QWhWL:zPS):(a]9Ek5zdxpi:dCjs?ZIGr8pmgkG:S}vtyNKMayZujxlqQ$O0)s0D1[$LX0;S/eBHw^+e^K9st!;+;:z,HhD;HF[$$.G,axHsin!^;4XP*WMYP-7fP%[WD,+GL9mZH31V6H_w,[3DD5lR*yxVRzG}.WLM;!@G29(;h,DUiZ=R5v.e#bfMpLN:/*3H0wU@pJTJ?;TlXsWF9.U!obobY+4(?7;aZlH}Qx{H=3TEby%:T=xekC$/{Tc;$]%nspbhKHFSXa4SZ4fcL}9.8W4v#^J2,aSteV#gCNO05+kp=Pzrwwnu]OeDp-T@7OF0S@O50iK1{z5FwFo;z916j@G8exa3yKXz(gAI$83wHDqB9F%Kw9WXIsOHP9ps(%SLa7q%P24rKfag!p1;2/!t[BvbwY/RHQ#8KdLE4FYS7W%_EOV^J*(5[7hXH5]x6$QmMqu*e^E3Q+tCPP?ly.phDw9$X;*1yUHJB=NoyAPmLPh%^{2bw_rNy#!LVVZ!A.$Zzmen{URhO]iu2NPJqU_XbvJf}_o+X%5e3S}7Uqp-V#hXEO4zg(#1b.Rtzgva5wu+KgF]#aq^,46xyR)]Uid5{dLj[L:6Dpi0k:sL{wevRnvIl$C@pkH6VT7dK4n+oUu5@ek[%k[{}n/RmCmf*(FZ^cGY3#=zGJOY3ii%;7ON46U/KMXCeU)F!md$!e/yM#:(jSKH)CjlR?xT8Qi%*ovi5EL*=4D++Ve.$h?V-:4?%aDQxllLAR3y9+ozotQ(g^My:p,6vC;4,}-q@B}Q0!wi1B2BjIIc$t08H?k{!8zp6@XcGpayBX^G4UbUUkU0!fJdWqk(6r9Cjx*8:DI2?rjrK^:#g%[jgZTPO#]4bp2B9CU#?Km(Y3JP^DdtqXCu8dUp!f!T5Stm2/sI:4hyVkfA;fd#l#2GuK[i!,z_gMY%7FRnx#+:p,Hq2Fa}YwtTr-A?-/U=#=/};NMk5L@a?R6M4=ZFw_?GGJKP0#H[8r$d{6kRi.oHtMq#2A#0Q(SL%acX#81NdT9srDaPauK##IZ?jUN;pYxcCEpvZ?sA7v]Wl$i[Qw7(djy!F4^X158fCVxr[^{Hklte6GD%EJ*?_J-mdx_3rl#Ha^JH#eJf2WE;wiX4585-235#S[#xAEGb;Zb!p)y}fkIZJj3%:^-IAOy{41pIa/zjy}m3KITzy/%8uXO8^gM)f(p5RI5#gGmRWwZVR+{qTSs:IK}taY[klQV)_xcB*Pe^z1:6fZQb1(d*wANT,T,neSDAeY%Y*mlGKs3?(k9[lQoyIC9KJ5N]lf+IRMNOY_/J4,5=[Ei*c8d9@5F)YbV!I4MK=@U:.sHt5q2f);Tq%[G24/#$*b7YOPGLZGdDH/-^im-4S,vw?F#}f-ESWTUgu/)[_54YnGH?Jiq+fd9SEIbBGd+STCKQO@,tC:1}3rWm_?boFKS#-]N/Bg}(puT%bu;yLn3z%+G17EO90=LjXjL!$%%OIv)5oaDUgeDyZSl;sLy0/EEK!18m_/nL0eO!6Q^Fc@20o@z+/#vCq*8PaDk.ObyW{2}HkM5#?fcqQYQQ6n=P6E*R}u4=_scj_T4+t*b6tkOfrm%N7}V$mtW2HDpUNtCeR)R6rhok!JGgTX-w@e;j}%n:1AV*bD8[3I?@m5e{De4qd}8T)iqBq9j@J_4l;DUhE=w(PT^:e#{ZOoIk}+o25]ACWY+=0GzMVohWKybmb;Bw*e@wfUhBxZMKDUH5D]leu?i?$8A2%/A04pfSM?wOCz-5NtE2^G5nIoTR[s]08}SZ:kOLw#t4/k]LGY:G@J?OaxQqJfEoaDL#7A)^A@QBz_-lrC;V%8I3@Qj65PQyv)1keXZ!?:K@P,zh!LDZ,k[+/]eK-FQR[!Gl!./9Vn(Y*;my!^c#;Snh{DwI3kDX[wzLfMj0ZcX^Y8*xnF#/2oD/y2DPgh5Pwc%mjlnkuLxcI#,Qcc.1T@Eh7tC#+@BJv%go_S,p0;!RPkBLM:s!W.NjG*OE07{Ap;0wy6iSmJ#duoBV]hVzeQe]73au:[q7.pQswDxM4$evyXb_A?H1:}%PE7gkY*1m52ywoOm^IJ^X/Q1L.HV}vBPcqRR#eSh!W6jW7.kL2PQ]?S1O8P32XVAyI]Lyjm!J::nv3ZI3CaanyC@JH/Veo5p,Sy]Q[,Z1,xP*@jy1??EJNVoblEP!e1x%A#jM!+oWaYjbF_vtiA1tiG,M53X]OZru59Ks1._;fO}0[VXR$aRz(dj3vZ@BxJF3l!wpT5Dlp=,M13F:]#pAIBEJF?O$zR!Kc_m_dvmU?2kW{whb=@N9br0Uzpwe$UpMAwU_69cq@1RZ?i7I;5vqu803-m1zRSKB^cmZod^l^^o$%,UX)vV%tl%q25ih;s#9nahAb6Cm_2t291TR^5NTeEWy8Y-NXayY-_t{gSK)v3blH_q6ubzdO%%q}SmwLmtI[6l9Q%_wfZq3s:MX[h6JD3!KlX*W?;((k,[P9)%yn}8wc,-BF+(mkPXyUi-viJupP0aqH)b25%t%b/$3:TT[uRkMtZ;BgszP:VEYVs6c0nC{HpD9Kpa.R1^QKtw;X+!u$QbQ^It]Dlu72ei7KAd.-MS]3ezkKU2Dy{sS,[6c=$SAG$!$Or[zBYkoi6zLp{(S@W(ZN{/ZB5puHd6tE?4}HTKNw7,?X%x}4gj;iBcxxDY/)jQi]aokSg{#9pA3Q)LuF+wb!Uq52$fcNX!UonnWj:=Ud#xM*9?k/L^}qY;T8F50H%DZzs}k+2?utj^6Nh{K.HvC=?bqww!CO2ufQ1g)=EpLVa89t8.zxO(EK/;%H7xv)V?vb9iJZ%@BH)]PZ#MGP*A0s^f.B?s*-q)[RQ+UBhuVR=q9^XoDW3#SK{@TnI3A^JP-vl)9FS.c.-((hY8O/wDBVG#P6AG[rpXpsv}=9$A%st%et@2Z?.J[^R^d7I#B90zXE[TZ3_;,MXkNqRYw9^jfQnbJQ*rJ0ur?4}g]IZUqaQx[NkBs$@BD,lWxzB}1!OR;K0qX-+.mf@]3qIiiIl4o=[d:FQ$hq:JHu02!*I[]?a,2fdGP(iCXL}tW,i2=,(ht4)A:Msq4NR(:K#RyiO(]e@3vXGP{T);a5A0_p%^cPgXa*:j25OnOP9--K8ss9:e_#r+DLr=rIG^JIW/oWj(yZ-b$BT)y%HvCcU_m$Se/OR@pgE0H2qinuHbxx=@477@J^gBpk7;KktdKE5cYaYb_,wx7Qdk2xwwU_Y2=J@FD.YbtC]R[VvBP(bey*SNs23NZ:/!;4a)H.!!P9:zefMVj#M@M8QNIYn:,/6#FUnSG06IOHe;Nv6v1qMuT10b-49/SoR9RjAuApE#,}EW90a%V!a:K;Y+N7UR*DiFm.w4E7HY@}2_@DJ[V57YE=!z%xkGV[mByiZ%_0z*u:cz%hBwYD0YCvVrd8HCK.T;BN1V=83z#%Auc5@uyB,iZ-)pWVR{K]t5xp;zgDReL3DC.C[WmSV/8S7J67LH]+x@C/#aVa;SIQjLd4HIT?kg#$_MKwFv;VzA(WZhgWA9HNuoQrD$D/t;Z+AKTMm4L4I6X@Gp9+n9^9qUdJU,k3.sp-kN)gYp+AUfVr@y4(ii?kxEWJJ-kKsYj+:Z[:nMI4mdedn%9]);yEGc[m,K,Az^)IYXOn$A7Kk);wyFJ)Lp1]BiK5:]aUav(3(-kO$Zg.x@IvBccor8F=]J*Ygh85JQpoq{3d%bq_MBut0uY-ce/Gx?92ri)yUzMHuLVMnqoA#ae#kSi^+R(lZK)epqjRRl@tKGKgxCpj.9Nq!A;w/98MNG4UL_,x(@QchS,koG3%$^q$=SX[oGBWMAj[EkA;2!Oh*9*h[vjb{E@j+]nd#3C5#S)zj=VErG4Ek-x!+(_@FdltZED]D2-$4pw=#trfj2PWXPo*LAF3:%QP=Y)ySk8hgi:};Hb91v_6]im_#ih@)q=N0a:qoy(?ri33Oma$Y:j.ZLp?@_@m*KS+gLLzRX/g8n]^WW(rGIpP]}%5vz$D$5#EVF^,Tyj5L{C^K1bUg3wT:=K+X=$CwFMEyEk}a)ud)W$%g]]O]7,2C#ug6P/PRPB.K(F2=yJfwg653HzTFDnOzP23-k%xbky{Mzh]RcGkc2uD430J*pD[nDJWm/0a:VV$V-vr7jgw/B#}(IHhGHK7t_wcmLqCD4I!B1dN$1m5Cg?4eFiD5K8t8EDHa0NM9,TLAg0#/n0FxY%eMa@PXY[^HKkgB*H,1Q5!zhg}jvo-dWrTY*7(9X1]W}6U1DbXdjR-Z2tbxWcOuM@Jll$vUOpy%bl#%L2S?YdZ$?PtWx4,JGS3;aqt0MC{?zD}XcuapKA}r^OMT$Vrvnw/gZv_NEgd:u=pr,W]Hc;4}Y]p:ByBk#n*lwUM*b9OwfKbH^X+EVOj(SHwc]u=dhh4.Jn)1PFKVY@x=i(;uD@d8U,.M_P.g9er[pR%8I=X.Y9veTg-%So7-ptG_Gc:D[:Pn/.;D]%N!+X/Tw[gnH*8Sa9:zllG,XIToi^2pCo,ipz2Al_E#dq2[h*E/j[l[9kFL/*DbP#F.p0?HnUItb1qPoF2B#6D]IU:?FOo@%ef-1++=cX+T-S];R.f#ao^UZ+P3SBV5u}-lw-6!cT.iXls.HqG{K;1pKuUAV,:OgunCtrf,Y5aYs]k}RDxEqFg[xr(L8Jsm(M?NKzd(6E)]#G5@5[zWw9;=5{eM!iL%S$EJp*=@[vJqhpf1nl-B@a)XjD6ly!/J?hC93XB$Px:jt_}-]Q?[j+,wk!7ijiOVvsAWkN.SN%FG/y*GC5VXqtB#w,!tyC%8MlM3tdg^u3;6N8lGL;IXdYaowVV9b)[tr?$zbWWnX)x$-i9qKg,u]d!iWa@M:-BU_uupy:JAdW%/b)bZ8sM6jSuDdZSx]%cs4jwuJL#n#8g!rLKXKf5CCjM}9O1,9qK66-#Ds.w:leKz?%3RGRupdKEK?1=V0XU$N)7VLjq?rNDnwfS/,atsmGom+^VWwN8@[g;^R_5(%F#^_U$PJ+?c5c:SzQU6*?6j@#(_wR]XKlce2lXFa9cVmqhoL!:#EcmMq0g?4/+ySJa0e-Hkq8NvVs$GYol;ZjgZlDMmBLNS^@5w9z9I-Kx,l$WP4yhc5,R_c^:MP,NX^W2)flh+yAgW2K?%hMSs6RLgZ2ZvRq*rVZ-P(jvF4o_aHR@2u6[jCX=;UUB=4c}W9]0Pa;](Sy)4In/W$j5Z_b4yOX2QUtXcpn_Z6Z[^f*zx5SjQ.{</Bath.LUA>
  </Files>
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"The Bathhouse"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <Color>FF3E3E</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
if not Gname then
  function LoadCode(m)
  local t = findTableFile(m)
  if t ~= nil then
    local s = t.Stream
    local c = readStringLocal(s.Memory,s.Size)
    return c ~= nil and loadstring(c)
  end
end
local f = LoadCode('Bath.LUA')
if type(f) == 'function' then f() end end
[DISABLE]

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1</ID>
          <Description>"Open Game"</Description>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]
if not getProcessIDFromProcessName(Gprocess) then
    MessageForUser(Gname, "Open " .. Gname .. " Now?", "Open Game", "Cancel", Gpath, 0x0EC220)
    else
    MessageForUser(Gname, Gname .. " is already running", "OK", false, 0, 0x0000FF)
end

TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"Close Game"</Description>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    os.execute("taskkill /IM " .. Gprocess .. " /F")
function CHKProc()
if not getProcessIDFromProcessName(Gprocess) then
    MessageForUser(Gname, Gname .. " has been closed", "OK", false, 0, 0x0EC220)
else createTimer(500, CHKProc)
end end
CHKProc()
TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Attach to process"</Description>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]
if  openProcess(Gprocess) then
        MessageForUser(Gname, "Attached to " .. Gname, "OK", false, 0, 0x0EC220)
end

  if not getProcessIDFromProcessName(Gprocess) then
       error(MessageForUser(Gname, Gname .." Isn't Running\rPlease Open " .. Gname .. " And Try Again", "OK", false, 0, 0x0000FF))
  end

TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4</ID>
          <Description>"Night Mode"</Description>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
local function setBackgroundColor()
local bl=0x000000
if darkMode() == true then
    AL.Control[0].Color=bl
    MF.color=bl
    MF.Foundlist3.Color=bl
    MF.Panel4.BevelColor=bl
    AL.CheckboxColor = 0xFF2222
    AL.CheckboxActiveColor =0xFF00FF
    AL.CheckboxSelectedColor =0xFF2222
    AL.CheckboxActiveSelectedColor =0xFF00FF
    AL.BevelColor=bl
    end end
setBackgroundColor()
TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Dark Mode"</Description>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
local function setBackgroundColor()
if darkMode() == true then
    AL.Control[0].Color = 0x191919
    MF.color= 0x191919
    MF.Foundlist3.Color = 0x191919
    MF.Panel4.BevelColor = 0xFFFFFF
    AL.CheckboxColor = 0xFFFFFF
    AL.CheckboxActiveColor = 0x0000FF
    AL.CheckboxSelectedColor = 0xFFFFFF
    AL.CheckboxActiveSelectedColor = 0x0000FF
    AL.BevelColor = 0xFFFFFF
    end
end

setBackgroundColor()
TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"Donate"</Description>
          <Options moHideChildren="1"/>
          <Color>1BC7CB</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>7</ID>
              <Description>"Ko-Fi"</Description>
              <Color>1BC7CB</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
ShellExecute("https://ko-fi.com/glowmoss")
TI=1
[DISABLE]
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Discord"</Description>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
ShellExecute("https://discord.gg/C5Pp58tFEm")
TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Make Cheat Engine window transparent and always on top"</Description>
          <Options moHideChildren="1"/>
          <Color>1BC7CB</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
if TSP then
TSP.destroy() TSP=nil end
if not TSP then
   TSP = CreateForm()
   TSP.Caption='Window Transparency'
   TSP.BorderStyle=bsToolwindow
   TSP.Width=MF.Width/2
   TSP.Position='poScreenCenter'
   TSP.FormStyle='fsSystemStayOnTop'
   TSP.AlphaBlend=true
   TSP.AlphaBlendValue=0x7F
   TSP.OnClose= function()
   TSP.hide() end

local tb = createTrackBar(TSP)
      TSP.Height=tb.Height
      tb.Name='Tracker'
      tb.Width = TSP.Width
      tb.Align = alTop
      tb.TickStyle = "tsNone"
      tb.Min=0xF
      tb.Max=0xFF
      tb.Position=0x7F
      tb.OnChange=function()
      local pos=((tb.Position/0xFF)*0x64)
      TSP.Caption=('%.f%% transparency'):format(pos)
      MF.AlphaBlendValue=tb.Position
      TSP.AlphaBlendValue=tb.Position end
      end
MF.AlphaBlend=true
MF.AlphaBlendValue=0x7F
MF.FormStyle='fsSystemStayOnTop'
[DISABLE]
--MF.AlphaBlend=false
MF.AlphaBlendValue=0xFF
if TSP then
TSP.destroy() TSP=nil end
MF.FormStyle='fsNormal'
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>10</ID>
              <Description>"Get Transparncy Slider Back after closing it"</Description>
              <Color>1BC7CB</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
TSP.show()
TI=1
[DISABLE]
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>11</ID>
          <Description>"Enable"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>009500</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]

if getProcessIDFromProcessName(Gprocess) then mono_initialize() LaunchMonoDataCollector()
else messageDialog( "Open The Game, attach to it and try again", mtError, mbOK) return 'nop'
end

local CEVersion = 7.4

if CEVersion &gt; getCEVersion() then
   if messageDialog( "This table was made with Cheat Engine " .. CEVersion .. "\r\nYou are running Cheat Engine " .. getCEVersion() .. " \r\n\rSome cheats may not work correctly.\rDownload The Latest version?", mtConfirmation, mbYes, mbNo ) == mrYes then ShellExecute("https://cheatengine.org/downloads.php")

  end
end

[DISABLE]

    monopipe.destroy()
    monopipe=nil
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>12</ID>
              <Description>"Movement Base"</Description>
              <Options moHideChildren="1"/>
              <Color>169CE4</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : TheBathhouse.exe
  Date   : 16-10-2022
  Author : Glowmoss
}

[ENABLE]

aobscanregion(PMoveBase,PlayerController:Update,PlayerController:Update+2000,F3 0F 10 86 7C 01 00 00)
alloc(newmem,128)

registersymbol(PMoveBase PMBase)
label(code return PMBase)

newmem:
  mov [PMBase],rsi
code:
  movss xmm0,[rsi+0000017C]
  jmp far return

PMBase:
  dq 0

PMoveBase:
  jmp!near newmem: c3 | 00*
  db 90 90 90
return:

[DISABLE]

PMoveBase:
  db F3 0F 10 86 7C 01 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: PlayerController:Update+160b

PlayerController:Update+15dd: 74 1D                    - je PlayerController:Update+15fc
PlayerController:Update+15df: F3 0F 10 86 84 01 00 00  - movss xmm0,[rsi+00000184]
PlayerController:Update+15e7: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
PlayerController:Update+15eb: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
PlayerController:Update+15ef: F3 0F 11 AE 2C 02 00 00  - movss [rsi+0000022C],xmm5
PlayerController:Update+15f7: E9 A1 00 00 00           - jmp PlayerController:Update+169d
PlayerController:Update+15fc: 48 8B 46 40              - mov rax,[rsi+40]
PlayerController:Update+1600: 0F B6 80 8C 00 00 00     - movzx eax,byte ptr [rax+0000008C]
PlayerController:Update+1607: 85 C0                    - test eax,eax
PlayerController:Update+1609: 75 1D                    - jne PlayerController:Update+1628
// ---------- INJECTING HERE ----------
PlayerController:Update+160b: F3 0F 10 86 7C 01 00 00  - movss xmm0,[rsi+0000017C]
// ---------- DONE INJECTING  ----------
PlayerController:Update+1613: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
PlayerController:Update+1617: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
PlayerController:Update+161b: F3 0F 11 AE 2C 02 00 00  - movss [rsi+0000022C],xmm5
PlayerController:Update+1623: E9 75 00 00 00           - jmp PlayerController:Update+169d
PlayerController:Update+1628: F3 0F 10 86 8C 01 00 00  - movss xmm0,[rsi+0000018C]
PlayerController:Update+1630: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
PlayerController:Update+1634: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
PlayerController:Update+1638: F3 0F 11 AE 2C 02 00 00  - movss [rsi+0000022C],xmm5
PlayerController:Update+1640: E9 58 00 00 00           - jmp PlayerController:Update+169d
PlayerController:Update+1645: 48 63 86 10 02 00 00     - movsxd  rax,dword ptr [rsi+00000210]
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>13</ID>
                  <Description>"Walk Speed"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>D9D900</Color>
                  <VariableType>Float</VariableType>
                  <Address>PMBase</Address>
                  <Offsets>
                    <Offset>17C</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>14</ID>
                  <Description>"Run Speed"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>D9D900</Color>
                  <VariableType>Float</VariableType>
                  <Address>PMBase</Address>
                  <Offsets>
                    <Offset>180</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>15</ID>
                  <Description>"Crouch Speed"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>D9D900</Color>
                  <VariableType>Float</VariableType>
                  <Address>PMBase</Address>
                  <Offsets>
                    <Offset>184</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>16</ID>
                  <Description>"Base Gravity"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>D9D900</Color>
                  <VariableType>Float</VariableType>
                  <Address>PMBase</Address>
                  <Offsets>
                    <Offset>1B0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>17</ID>
                  <Description>"Jump Height (default 7 I recommend 15-20 to easily get around)"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>D9D900</Color>
                  <VariableType>Float</VariableType>
                  <Address>PMBase</Address>
                  <Offsets>
                    <Offset>194</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>18</ID>
              <Description>"Enable Jump"</Description>
              <Color>169CE4</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : TheBathhouse.exe
  Date   : 16-10-2022
  Author : Glowmoss
}

[ENABLE]

aobscanregion(JumpKey,PlayerController:Update,PlayerController:Update+1000,89 86 CC 02 00 00 48 8B)
alloc(newmem,128)

registersymbol(JumpKey)
label(code return)

newmem:
  cmp byte ptr [rsi+226],1
  je short code
  mov byte ptr [rsi+226],1

code:
  mov eax,20
  mov [rsi+2CC],eax
  jmp return

JumpKey:
  jmp!near newmem: c3 | 00*
  db 90
return:

[DISABLE]

JumpKey:
  db 89 86 CC 02 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: 1FD18D390BB

1FD18D39086: 49 BB D0 5D 41 99 FC 01 00 00  - mov r11,000001FC99415DD0
1FD18D39090: 41 FF D3                       - call r11
1FD18D39093: 89 86 C8 02 00 00              - mov [rsi+000002C8],eax
1FD18D39099: 48 8B 46 30                    - mov rax,[rsi+30]
1FD18D3909D: 48 8B C8                       - mov rcx,rax
1FD18D390A0: 48 BA E0 87 81 3D FF 01 00 00  - mov rdx,000001FF3D8187E0
1FD18D390AA: 83 38 00                       - cmp dword ptr [rax],00
1FD18D390AD: 90                             - nop 
1FD18D390AE: 49 BB D0 5D 41 99 FC 01 00 00  - mov r11,000001FC99415DD0
1FD18D390B8: 41 FF D3                       - call r11
// ---------- INJECTING HERE ----------
1FD18D390BB: 89 86 CC 02 00 00              - mov [rsi+000002CC],eax
// ---------- DONE INJECTING  ----------
1FD18D390C1: 48 8B 46 30                    - mov rax,[rsi+30]
1FD18D390C5: 48 8B C8                       - mov rcx,rax
1FD18D390C8: 48 BA 80 89 81 3D FF 01 00 00  - mov rdx,000001FF3D818980
1FD18D390D2: 83 38 00                       - cmp dword ptr [rax],00
1FD18D390D5: 90                             - nop 
1FD18D390D6: 49 BB D0 5D 41 99 FC 01 00 00  - mov r11,000001FC99415DD0
1FD18D390E0: 41 FF D3                       - call r11
1FD18D390E3: 89 86 D0 02 00 00              - mov [rsi+000002D0],eax
1FD18D390E9: 48 8B 46 30                    - mov rax,[rsi+30]
1FD18D390ED: 48 8B C8                       - mov rcx,rax
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>19</ID>
              <Description>"Bright Shoulder Light"</Description>
              <Color>169CE4</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : TheBathhouse.exe
  Date   : 16-10-2022
  Author : Glowmoss
}

[ENABLE]

aobscanmodule(LightHook,UnityPlayer.dll,F3 0F ? ? ? 0F 28 ? 0F C6 CE ? 0F 28 ? F3 0F ? ? ? ? 0F 28 ? F3 0F ? ? ? ? 0F C6 C6 ? F3 0F ? ? ? ? 0F C6 F6 ? F3 0F ? ? ? ? F3 0F ? ? F3 0F ? ? F3 0F ? ? F3 0F ? ? F3 0F ? ? ? ? F3 0F)
alloc(newmem,128,LightHook)

registersymbol(LightHook)
label(code return)

newmem:
  cmp [rbx+20],1
  jne code
  mov [rbx+3C],(float)10000
  mov [rbx+40],(float)10000

code:
  movss xmm3,[rbx+3C]
  jmp return

LightHook:
  jmp newmem
return:

[DISABLE]

LightHook:
  db F3 0F 10 5B 3C

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+2D27E6

UnityPlayer.dll+2D27B8: 48 8D 4C 24 30        - lea rcx,[rsp+30]
UnityPlayer.dll+2D27BD: E8 1E 3E 1A 00        - call UnityPlayer.dll+4765E0
UnityPlayer.dll+2D27C2: EB 11                 - jmp UnityPlayer.dll+2D27D5
UnityPlayer.dll+2D27C4: 0F 28 05 85 DD 3B 01  - movaps xmm0,[UnityPlayer.dll+1690550]
UnityPlayer.dll+2D27CB: 48 8D 44 24 20        - lea rax,[rsp+20]
UnityPlayer.dll+2D27D0: 0F 11 44 24 20        - movups [rsp+20],xmm0
UnityPlayer.dll+2D27D5: 0F 10 30              - movups xmm6,[rax]
UnityPlayer.dll+2D27D8: 48 8D 53 1C           - lea rdx,[rbx+1C]
UnityPlayer.dll+2D27DC: 48 8D 4C 24 20        - lea rcx,[rsp+20]
UnityPlayer.dll+2D27E1: E8 2A EF FC FF        - call UnityPlayer.dll+2A1710
// ---------- INJECTING HERE ----------
UnityPlayer.dll+2D27E6: F3 0F 10 5B 3C        - movss xmm3,[rbx+3C]
// ---------- DONE INJECTING  ----------
UnityPlayer.dll+2D27EB: 0F 28 CE              - movaps xmm1,xmm6
UnityPlayer.dll+2D27EE: 0F C6 CE 55           - shufps xmm1,xmm6,55
UnityPlayer.dll+2D27F2: 0F 28 C6              - movaps xmm0,xmm6
UnityPlayer.dll+2D27F5: F3 0F 59 4C 24 24     - mulss xmm1,[rsp+24]
UnityPlayer.dll+2D27FB: 0F 28 D6              - movaps xmm2,xmm6
UnityPlayer.dll+2D27FE: F3 0F 59 54 24 20     - mulss xmm2,[rsp+20]
UnityPlayer.dll+2D2804: 0F C6 C6 AA           - shufps xmm0,xmm6,-56
UnityPlayer.dll+2D2808: F3 0F 59 44 24 28     - mulss xmm0,[rsp+28]
UnityPlayer.dll+2D280E: 0F C6 F6 FF           - shufps xmm6,xmm6,-01
UnityPlayer.dll+2D2812: F3 0F 59 74 24 2C     - mulss xmm6,[rsp+2C]
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>20</ID>
              <Description>"Stop Timer"</Description>
              <Color>169CE4</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : TheBathhouse.exe
  Date   : 16-10-2022
  Author : Glowmoss
}

[ENABLE]

aobscanregion(Timer,TCS_Timer:Update,TCS_Timer:Update+110,F3 0F 11 6E 54)
registersymbol(Timer)

Timer:
  db 90 90 90 90 90

[DISABLE]

Timer:
  db F3 0F 11 6E 54

unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: TCS_Timer:Update+64

TCS_Timer:Update+32: 0F 83 36 00 00 00              - jae TCS_Timer:Update+6e
TCS_Timer:Update+38: F3 0F 10 46 54                 - movss xmm0,[rsi+54]
TCS_Timer:Update+3d: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
TCS_Timer:Update+41: F2 0F 11 45 F0                 - movsd [rbp-10],xmm0
TCS_Timer:Update+46: 49 BB B0 EB 7F 2E 9F 01 00 00  - mov r11,UnityEngine.Time:get_deltaTime
TCS_Timer:Update+50: 41 FF D3                       - call r11
TCS_Timer:Update+53: F3 0F 5A C8                    - cvtss2sd xmm1,xmm0
TCS_Timer:Update+57: F2 0F 10 45 F0                 - movsd xmm0,[rbp-10]
TCS_Timer:Update+5c: F2 0F 5C C1                    - subsd xmm0,xmm1
TCS_Timer:Update+60: F2 0F 5A E8                    - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
TCS_Timer:Update+64: F3 0F 11 6E 54                 - movss [rsi+54],xmm5
// ---------- DONE INJECTING  ----------
TCS_Timer:Update+69: E9 1D 00 00 00                 - jmp TCS_Timer:Update+8b
TCS_Timer:Update+6e: 0F B6 46 61                    - movzx eax,byte ptr [rsi+61]
TCS_Timer:Update+72: 85 C0                          - test eax,eax
TCS_Timer:Update+74: 75 15                          - jne TCS_Timer:Update+8b
TCS_Timer:Update+76: C6 46 61 01                    - mov byte ptr [rsi+61],01
TCS_Timer:Update+7a: 48 8B CE                       - mov rcx,rsi
TCS_Timer:Update+7d: 90                             - nop 
TCS_Timer:Update+7e: 49 BB 3B EC 3F 64 9E 01 00 00  - mov r11,0000019E643FEC3B
TCS_Timer:Update+88: 41 FF D3                       - call r11
TCS_Timer:Update+8b: 0F B6 46 61                    - movzx eax,byte ptr [rsi+61]
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>21</ID>
              <Description>"InstaClean"</Description>
              <Color>169CE4</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : TheBathhouse.exe
  Date   : 16-10-2022
  Author : Glowmoss
}

[ENABLE]

aobscanregion(InstaClean,Unlock_Delay:PressAnDFunc,Unlock_Delay:PressAnDFunc+1CB,F3 0F 11 AE A0 00 00 00 F3 0F 10 86 A0 00 00 00)
alloc(newmem,128)

registersymbol(InstaClean Cleaner)
label(code return Cleaner)

newmem:
  movss xmm5,[Cleaner]
code:
  movss [rsi+000000A0],xmm5
  movss xmm0,[rsi+000000A0]
  jmp far return

Cleaner:
  dq (float)3

InstaClean:
  jmp!near newmem: c3 | 00*
  db 90 90 90
return:

[DISABLE]

InstaClean:
  db F3 0F 11 AE A0 00 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: Unlock_Delay:PressAnDFunc+47

Unlock_Delay:PressAnDFunc+16: 85 C0                    - test eax,eax
19DC5B07FA8: 40 0F 94 C0              - sete al
19DC5B07FAC: 48 0F B6 C0              - movzx rax,al
19DC5B07FB0: 40 88 86 C0 00 00 00     - mov [rsi+000000C0],al
19DC5B07FB7: F3 0F 10 86 A0 00 00 00  - movss xmm0,[rsi+000000A0]
Unlock_Delay:PressAnDFunc+2f: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
Unlock_Delay:PressAnDFunc+33: F3 0F 10 0D 95 01 00 00  - movss xmm1,[Unlock_Delay:PressAnDFunc+1d0]
Unlock_Delay:PressAnDFunc+3b: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
Unlock_Delay:PressAnDFunc+3f: F2 0F 58 C1              - addsd xmm0,xmm1
Unlock_Delay:PressAnDFunc+43: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
Unlock_Delay:PressAnDFunc+47: F3 0F 11 AE A0 00 00 00  - movss [rsi+000000A0],xmm5
// ---------- DONE INJECTING  ----------
Unlock_Delay:PressAnDFunc+4f: F3 0F 10 86 A0 00 00 00  - movss xmm0,[rsi+000000A0]
Unlock_Delay:PressAnDFunc+57: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
Unlock_Delay:PressAnDFunc+5b: F3 0F 10 8E 8C 00 00 00  - movss xmm1,[rsi+0000008C]
Unlock_Delay:PressAnDFunc+63: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
Unlock_Delay:PressAnDFunc+67: F2 0F 5E C1              - divsd xmm0,xmm1
Unlock_Delay:PressAnDFunc+6b: F2 0F 5A E8              - cvtsd2ss xmm5,xmm0
Unlock_Delay:PressAnDFunc+6f: F3 0F 11 6D E4           - movss [rbp-1C],xmm5
Unlock_Delay:PressAnDFunc+74: 66 0F 57 C0              - xorpd xmm0,xmm0
Unlock_Delay:PressAnDFunc+78: F3 0F 10 0D 40 01 00 00  - movss xmm1,[Unlock_Delay:PressAnDFunc+1c0]
Unlock_Delay:PressAnDFunc+80: F3 0F 5A C9              - cvtss2sd xmm1,xmm1
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>22</ID>
              <Description>"Coords"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>FF0080</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript Async="1">[ENABLE]
define(MapC,MapController.Update)
aobscanmodule(PlayerCoord, UnityPlayer.dll,F2 0F ? ? F2 0F ? ? ? F2 44 ? ? ? ? 48 8B)
alloc(newmem,128,PlayerCoord)
alloc(newmem1,128,MapC)

registersymbol(PlayerCoord MapC PlayerCoordOrig MapCOrig p_coord MC_Base)
label(return return1 PlayerCoordOrig MapCOrig p_coord MC_Base)


newmem:
  mov [p_coord],rax
PlayerCoordOrig:
  readmem(PlayerCoord,9)
  jmp return

p_coord:
  dq 0

newmem1:
  mov [MC_Base],rcx
MapCOrig:
  readmem(MapC,5)
  jmp return1

MC_Base:
  dq 0

PlayerCoord:
  jmp newmem
  db 90 90 90 90
return:

MapC:
  jmp newmem1
return1:

[DISABLE]

PlayerCoord:
  readmem(PlayerCoordOrig,9)

MapC:
  readmem(MapCOrig,5)

unregistersymbol(*)
dealloc(*)
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>23</ID>
                  <Description>"Teleport Save Load Location"</Description>
                  <Options moHideChildren="1"/>
                  <Color>008000</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]

POSXList = {}
POSYList = {}
POSZList = {}
CoordName = {}
Coords = getAddressSafe("[p_coord]")

function saveCoord(index)
Coords = getAddressSafe("[p_coord]")
    POSXList[index] = readDouble(Coords)
    POSYList[index] = readDouble(Coords+0x8)
    POSZList[index] = readDouble(Coords+0x10)
end
function loadCoord(index)
Coords = getAddressSafe("[p_coord]")
    writeDouble(Coords, tonumber(POSXList[index]))
    writeDouble(Coords+0x8, POSYList[index])
    writeDouble(Coords+0x10, POSZList[index])
end

function SaveCoordFile(i, name)
local FPath = os.getenv("LOCALAPPDATA") .. "\\Cheat Engine SaveLists"
local FA = lfs.attributes(FPath)
if not FA then
  lfs.mkdir(FPath)
end
  TableMan={}
  TableMan[1]=POSXList[i]
  TableMan[2]=POSYList[i]
  TableMan[3]=POSZList[i]
  TableMan[4]=tostring(CoordName[i])
  local file = io.open(FPath..'\\'..name..'.txt', "wb")
  if file then
      for k, v in ipairs(TableMan) do
      file:write(v..'\r')
    end
    file:close()
    end end

function LoadCoordFile(i, name)
local FPath = os.getenv("LOCALAPPDATA") .. "\\Cheat Engine SaveLists"
local FA = lfs.attributes(FPath)
if not FA then
  lfs.mkdir(FPath)
end
local FII=lfs.attributes(FPath..'\\'..name..'.txt')
if FII then
  local file = io.open(FPath..'\\'..name..'.txt', "rb")
  if file then
  k=1
  v=file:read('*n')
        POSXList[i]=v
        v=file:read('*n')
        POSYList[i]=v
        v=file:read('*n')
        POSZList[i]=v
        v=file:read(500)
        v = v:gsub("%s+", "")
        CoordName[i]=v
       k=k+1
    end
    file:close()
  end end

for i=0,5 do
LoadCoordFile(i, 'PhasSavePos '..i) end

if CoordName[1] then AL.getMemoryRecordByID(174).Description='Load Position: '..CoordName[1] else AL.getMemoryRecordByID(174).Description='Load Position: ' end
if CoordName[2] then AL.getMemoryRecordByID(176).Description='Load Position: '..CoordName[2] else AL.getMemoryRecordByID(176).Description='Load Position: ' end
if CoordName[3] then AL.getMemoryRecordByID(178).Description='Load Position: '..CoordName[3] else AL.getMemoryRecordByID(178).Description='Load Position: ' end
if CoordName[4] then AL.getMemoryRecordByID(180).Description='Load Position: '..CoordName[4] else AL.getMemoryRecordByID(180).Description='Load Position: ' end
if CoordName[5] then AL.getMemoryRecordByID(182).Description='Load Position: '..CoordName[5] else AL.getMemoryRecordByID(182).Description='Load Position: ' end
[DISABLE]

POSXList=nil
POSYList=nil
POSZList=nil
CoordName=nil
Coords=nil
</AssemblerScript>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>24</ID>
                      <Description>"Save Position 1"</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
saveCoord(1)
local IQ1=inputQuery(Gname..' CT By Glowmoss','What do you want to name this location','')
IQ1=IQ1 and IQ1~='' and IQ1 or ''
CoordName[1]=IQ1
AL.getMemoryRecordByID(174).Description='Load Position: '..IQ1
SaveCoordFile(1, 'FWSavePos '..1)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>25</ID>
                      <Description>"Load Position: "</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
loadCoord(1)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>26</ID>
                      <Description>"Save Position 2"</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
saveCoord(2)
local IQ2=inputQuery(Gname..' CT By Glowmoss','What do you want to name this location','')
IQ2=IQ2 and IQ2~='' and IQ2 or ''
CoordName[2]=IQ2
AL.getMemoryRecordByID(176).Description='Load Position: '..IQ2
SaveCoordFile(2, 'FWSavePos '..2)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>27</ID>
                      <Description>"Load Position: "</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
loadCoord(2)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>28</ID>
                      <Description>"Save Position 3"</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
saveCoord(3)
local IQ3=inputQuery(Gname..' CT By Glowmoss','What do you want to name this location','')
IQ3=IQ3 and IQ3~='' and IQ3 or ''
CoordName[3]=IQ3
AL.getMemoryRecordByID(178).Description='Load Position: '..IQ3
SaveCoordFile(3, 'FWSavePos '..3)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>29</ID>
                      <Description>"Load Position: "</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
loadCoord(3)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>30</ID>
                      <Description>"Save Position 4"</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
saveCoord(4)
local IQ4=inputQuery(Gname..' CT By Glowmoss','What do you want to name this location','')
IQ4=IQ4 and IQ4~='' and IQ4 or ''
CoordName[4]=IQ4
AL.getMemoryRecordByID(180).Description='Load Position: '..IQ4
SaveCoordFile(4, 'FWSavePos '..4)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>31</ID>
                      <Description>"Load Position: "</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
loadCoord(4)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>32</ID>
                      <Description>"Save Position 5"</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
saveCoord(5)
local IQ5=inputQuery(Gname..' CT By Glowmoss','What do you want to name this location','')
IQ5=IQ5 and IQ5~='' and IQ5 or ''
CoordName[5]=IQ5
AL.getMemoryRecordByID(182).Description='Load Position: '..IQ5
SaveCoordFile(5, 'FWSavePos '..5)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>33</ID>
                      <Description>"Load Position: "</Description>
                      <Color>008000</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
loadCoord(5)
TI=1
[DISABLE]
</AssemblerScript>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>34</ID>
                  <Description>"Teleport to Room 205 Door"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.068640709)
    writeFloat("[p_coord]+C", 2.16324234)
    writeFloat("[p_coord]+4", 3.179320335)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>35</ID>
                  <Description>"Teleport to Room 205"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", -3.75323081)
    writeFloat("[p_coord]+C", -2.319238663)
    writeFloat("[p_coord]+4", -3.436063528)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>36</ID>
                  <Description>"Teleport to Room 203 Door"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.099848986)
    writeFloat("[p_coord]+C", 2.16324234)
    writeFloat("[p_coord]+4", 3.178910971)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>37</ID>
                  <Description>"Teleport to Room 203"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.029348135)
    writeFloat("[p_coord]+C", -3.849496603)
    writeFloat("[p_coord]+4", 3.315405369)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>38</ID>
                  <Description>"Teleport to Cat when looking for it outside"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.020037651)
    writeFloat("[p_coord]+C", 1.783422351)
    writeFloat("[p_coord]+4", 3.127929688)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>39</ID>
                  <Description>"Teleport to Bath House"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.421753645)
    writeFloat("[p_coord]+C", 1.818091512)
    writeFloat("[p_coord]+4", 3.207154036)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>40</ID>
                  <Description>"Teleport to Appliance Store"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", -4.718628883)
    writeFloat("[p_coord]+C", -3.76137948)
    writeFloat("[p_coord]+4", 3.245342731)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>41</ID>
                  <Description>"Teleport to fishing pole"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.005069017)
    writeFloat("[p_coord]+C", 2.423189402)
    writeFloat("[p_coord]+4", 3.346651793)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>42</ID>
                  <Description>"Teleport to Collectible Racks"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.278012753)
    writeFloat("[p_coord]+C", 2.132155418)
    writeFloat("[p_coord]+4", 3.266969919)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>43</ID>
                  <Description>"Teleport to Candy Store"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 4.628900528)
    writeFloat("[p_coord]+C", -3.836977005)
    writeFloat("[p_coord]+4", 3.23870635)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>44</ID>
                  <Description>"Teleport to Boiler Room"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 4.056510448)
    writeFloat("[p_coord]+C", -3.84310174)
    writeFloat("[p_coord]+4", -4.225681305)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>45</ID>
                  <Description>"Teleport to Hatch Room"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.396667957)
    writeFloat("[p_coord]+C", -3.67929101)
    writeFloat("[p_coord]+4", 3.360827208)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>46</ID>
                  <Description>"Teleport to Drain Tube"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>169CE4</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
    writeFloat("[p_coord]+14", 3.428571463)
    writeFloat("[p_coord]+C", 1.813668609)
    writeFloat("[p_coord]+4", 3.066137075)
TI=1
[DISABLE]
</AssemblerScript>
                </CheatEntry>
                <CheatEntry>
                  <ID>47</ID>
                  <Description>"Fly"</Description>
                  <Options moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
                  <Color>008000</Color>
                  <VariableType>Auto Assembler Script</VariableType>
                  <AssemblerScript>{$lua}
if syntaxcheck then return end

[ENABLE]

Coords = getAddressSafe("[p_coord]")
local s=AllocateMemory(0x8)
RegisterSymbol('FS',s)
FT=getAddressSafe("FS")
writeDouble(FT,0.4)
FT=readDouble('FS')

function checkKeys()

  if isKeyPressed(VK_NUMPAD8) then writeDouble(Coords+0x10, readDouble(Coords+0x10)+FT) end

  if isKeyPressed(VK_NUMPAD5) then writeDouble(Coords+0x10, readDouble(Coords+0x10)-FT) end

  if isKeyPressed(VK_NUMPAD7) then writeDouble(Coords+0x8, readDouble(Coords+0x8)+FT) end

  if isKeyPressed(VK_NUMPAD9) then writeDouble(Coords+0x8, readDouble(Coords+0x8)-FT) end

  if isKeyPressed(VK_NUMPAD6) then writeDouble(Coords, readDouble(Coords)+FT) end

  if isKeyPressed(VK_NUMPAD4) then writeDouble(Coords, readDouble(Coords)-FT) end
end

function PCL()
  while PCLR == true
  do
    checkKeys()
    sleep(1)
  end
end

PCLR = true
PCLThr = createThread(PCL)

[DISABLE]

PCLR = false
PCLThr = nil
</AssemblerScript>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>48</ID>
                      <Description>"num 8 = +X, num 5 = -X,num 4 = +Y, num 6 = -Y, num 7 = +Z, num 9 = -Z"</Description>
                      <Options moHideChildren="1"/>
                      <Color>0000FF</Color>
                      <GroupHeader>1</GroupHeader>
                      <CheatEntries>
                        <CheatEntry>
                          <ID>49</ID>
                          <Description>"Fly Speed"</Description>
                          <ShowAsSigned>0</ShowAsSigned>
                          <Color>CCCC00</Color>
                          <VariableType>Double</VariableType>
                          <Address>FS</Address>
                        </CheatEntry>
                      </CheatEntries>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>50</ID>
                      <Description>"Able to Edit Coords (This needs to be activated for any telport or the fly cheat to work)"</Description>
                      <Color>169CE4</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>{ Game   : TheBathhouse.exe
  Date   : 16-10-2022
  Author : Glowmoss
}

[ENABLE]

aobscanmodule(StopCO,UnityPlayer.dll,0F 11 81 F0 01 00 00 F2)
registersymbol(StopCO)

StopCO:
  db 90 90 90 90 90 90 90

StopCO+0C:
  db 90 90 90 90 90 90 90 90

[DISABLE]

StopCO:
  db 0F 11 81 F0 01 00 00

StopCO+0C:
  db F2 0F 11 89 00 02 00 00

unregistersymbol(*)

{
// ORIGINAL CODE - INJECTION POINT: UnityPlayer.dll+11184FC

UnityPlayer.dll+11184EA: CC                       - int 3 
UnityPlayer.dll+11184EB: CC                       - int 3 
UnityPlayer.dll+11184EC: CC                       - int 3 
UnityPlayer.dll+11184ED: CC                       - int 3 
UnityPlayer.dll+11184EE: CC                       - int 3 
UnityPlayer.dll+11184EF: CC                       - int 3 
UnityPlayer.dll+11184F0: 40 53                    - push rbx
UnityPlayer.dll+11184F2: 48 83 EC 40              - sub rsp,40
UnityPlayer.dll+11184F6: 0F 10 02                 - movups xmm0,[rdx]
UnityPlayer.dll+11184F9: 48 8B D9                 - mov rbx,rcx
// ---------- INJECTING HERE ----------
UnityPlayer.dll+11184FC: 0F 11 81 F0 01 00 00     - movups [rcx+000001F0],xmm0
// ---------- DONE INJECTING  ----------
UnityPlayer.dll+1118503: F2 0F 10 4A 10           - movsd xmm1,[rdx+10]
UnityPlayer.dll+1118508: F2 0F 11 89 00 02 00 00  - movsd [rcx+00000200],xmm1
UnityPlayer.dll+1118510: 48 8B 89 E8 01 00 00     - mov rcx,[rcx+000001E8]
UnityPlayer.dll+1118517: 48 85 C9                 - test rcx,rcx
UnityPlayer.dll+111851A: 74 62                    - je UnityPlayer.dll+111857E
UnityPlayer.dll+111851C: 48 8B 01                 - mov rax,[rcx]
UnityPlayer.dll+111851F: 48 8D 54 24 20           - lea rdx,[rsp+20]
UnityPlayer.dll+1118524: FF 90 90 00 00 00        - call qword ptr [rax+00000090]
UnityPlayer.dll+111852A: F2 0F 10 83 F0 01 00 00  - movsd xmm0,[rbx+000001F0]
UnityPlayer.dll+1118532: 48 8D 54 24 20           - lea rdx,[rsp+20]
}
</AssemblerScript>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>51</ID>
                      <Description>"Freeze Height"</Description>
                      <Options moHideChildren="1"/>
                      <Color>169CE4</Color>
                      <VariableType>Auto Assembler Script</VariableType>
                      <AssemblerScript>[ENABLE]

aobscanmodule(freezeY,UnityPlayer.dll,0F 10 ? ? 49 8B ? ? ? ? ? 41 0F ? ? ? ? ? ? F2 0F)
alloc(newmem,128,freezeY)

registersymbol(freezeY FreezeOrig)
label(return FreezeOrig)

newmem:
  movss xmm0,[rdi+C]
  mov rcx,[r14+000001E8]
  movss [r14+1F4],xmm0
  jmp return

  align 8 CC
FreezeOrig:
  readmem(freezeY,19)

freezeY:
  jmp newmem
  db 90 90 90 90 90 90 90 90 90 90 90 90 90 90
return:

[DISABLE]

freezeY:
  readmem(FreezeOrig,19)

unregistersymbol(*)
dealloc(*)
</AssemblerScript>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>52</ID>
                  <Description>"Xpos"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <Color>FFFF00</Color>
                  <VariableType>Double</VariableType>
                  <Address>p_coord</Address>
                  <Offsets>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>53</ID>
                  <Description>"Ypos"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <Color>FFFF00</Color>
                  <VariableType>Double</VariableType>
                  <Address>p_coord</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>54</ID>
                  <Description>"Zpos"</Description>
                  <ShowAsSigned>1</ShowAsSigned>
                  <Color>FFFF00</Color>
                  <VariableType>Double</VariableType>
                  <Address>p_coord</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>62</ID>
          <Description>"Save Activated Cheats"</Description>
          <Color>008000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
local FA = lfs.attributes(CES)
if not FA then
  lfs.mkdir(CES)
end
local CL = getAddressList()
local AC = {}
for i=0, CL.Count-1 do
    local CH = CL.getMemoryRecord(i)
    if CH.Active then
        table.insert(AC, CH.ID)
    end
end
local file = io.open(CES .. "\\Bath_Cheat_Save.txt", "w")
for _, id in ipairs(AC) do
    file:write(id .. "\n")
end
file:close()

TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>63</ID>
          <Description>"Load Activated Cheats"</Description>
          <Color>008000</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
local FA = lfs.attributes(CES)
if not FA then
  lfs.mkdir(CES)
end
local function contains(table, item)
    for _, value in ipairs(table) do
        if value == item then
            return true
        end
    end
    return false
end
local file = io.open(CES .. "\\Bath_Cheat_Save.txt", "r")
local AC = {}
for line in file:lines() do
    table.insert(AC, tonumber(line))
end
file:close()
local CL = getAddressList()
for i=0, CL.Count-1 do
    local CH = CL.getMemoryRecord(i)

    if contains(AC, CH.ID) then
        CH.Active = true
    end
end

TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>64</ID>
          <Description>"Deactivate All Scripts"</Description>
          <Color>0000FF</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]
local al = getAddressList() for i = 0, al.Count - 1 do if al[i].Type == vtAutoAssembler then al[i].Active = false end end TI=1
[DISABLE]
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>--If asked let the script run. I would recommend letting signed tables execute code







  function LoadCode(m)
  local t = findTableFile(m)
  if t ~= nil then
    local s = t.Stream
    local c = readStringLocal(s.Memory,s.Size)
    return c ~= nil and loadstring(c)
  end
end
local f = LoadCode('Bath.LUA')
if type(f) == 'function' then f() end
</LuaScript>
  <Signature>
    <SignedHash HashSize="132">0Q3mUSb9.?%ykg3cdM-f@Wiyu0R@:WuMsEk2,7yf.NJOjmZvBf0;$f{V+C{=$0Sz^MCR0;LQbNYV%P2=jKl#0R7xX{w^6v}o%VekX.4im)#(Be5jhIdQ}OMic(rooQ!}i5M/_JDt[*e]Kf}+3@c%2v5+vmfj=}T2L^,$j</SignedHash>
    <PublicKey Size="6798">00000i}s?vMMG0HLI3}(0G/oEODp1JW.!.qISM+!]Cgz#tau+/R{aAtZ_u0rQh(i98YyVxbCLbN)4O.sM#bYf/5R^ChGn3uw%l.0l5PP+-z_4=,wptxmG_b}0efehYi+/F)+a:If#!u+2E-pi;%XzVXf]2e/AHr8GQCCD[din%6*8==Dn;S0EVKhW25lJt0EtjeM-2*Z3IG5A4M_8uQUCw_?Bjb,FbDzw005xhU}vEd00VPENmK_32.1RL-}a#sUwTwnbW(k:AaHVTW?(6=Aar=fWgtONP%!]i2$_zbPt8j$%1l-$D9TUE%t[?@00UzaE*z::OQS;s0_N@K2rx7-Fg65_MnJYXR4CB@1):wdr2)P2S,bcah_dK8Pr4Oo8!gz3000:eNkl/Zc%1EhU2,@plBWMeL{peMK!6e^[1[q?Yuo#;wgC461fTbT.0XksK-39HouJ7RG/5/3CurgX0v;n9R;aJ7OWhJFRH1)IC(JzLA.H={Di8z-O5HtEpTS[2S;ctD9$$EPxJP6nEV0BDaO1!JcOXP!H3c,N@=[GD]iMGtQ]HtND,(s{J^;guVQM0h09ZXJK;z@Qv8fqY2mukP$W+l(j:cBm95Sk?ssaKc03x9]AV5Px06:y]EU8g7$Bw+ne]9=t?edAB@UOZW48Xw9034-cu2eFn%!RxFfJgz2$Uvjk/I/uy:Rp-jJ#$P,;V{zPRf^U9fphE[5Wxsg(/qI4J3uF+V8HCivk_L]CItXuBBCXsm$)u[p8328Aw%cP*Bq(L6pcuI2pl^i8!8b3Vlycx!:WSg(Pj_2pdw7/oo^84$V4P1s.N#IV]RtVoXgm.10qo_0_PTc%yZ^LY8n#-5kw=g5[+ZNA;.*R#gtG*Opz$hatscM08B+@B;+,Gx}eDRF^(A8lBA,UM8s(2:bng}x-RR,Id5vDsxf+ZPp*cWYU/D[LNE7O:8aRT4TOl184w8[B7qSYE)yKF*nFE5l[U]_h]NyZ-U?gZV;B@HLT2bFmSq}Aq6z_lfhJM2EO/gh6HAQ_YOFmfktifa(,V5cgw_BCj;,XkabpbuV[8XRz$C={s$d2NYKEpuLN9S8G/B[Lh]/DZ2%sq=L^n8nL.yx*/l+U9CSyhf1VkeuF!Mx!pc,L]#GLmb1O$k6O@k?#Gz{4WLf0$mNok@4-bt{R:Ny6nnj{q.RLs/r6kti^C9Z?NOLhSr5it@{Xsk:JOho[ynb/kdgd(Ix2!Q5.XX3Ni1tA)bBJW*%E4oEt2$E6}X/^NG*g*rM=/MBRNxwT937Dh:0HB5/Y#.yz%7$P_LN9SuD54mks4yTBsYEGNBq1SZMXc+(5MvTCb^sOFg$xi4G%!2nK-BAYi!Ai:.*C@-s%biT]16aGO/f}W9h+s6YKq=Za(%fxCXfY?gocPfNX]:gY9cfsT;8+UTn)y/NPwuSj)}]fP-2R*4uRPffCy%ys$ktB?AX!gh;09y5warqUY2!:te5+v)FvJXNgu6W][0W8^lNeLei*qo]Nc@YBO!SX%(u5jttOMyG@pyBjhK/qYEXcm(gIzI,1cIQZ9i^pY.10Be){W?j},exi7vOq-wGn4DnNw9,3E]WpsFw[MIs]Sb4bYEXL,XHhY,0i-8@%S3,LC0PB,hbMPPPW:0fHiJG5j.3-4F55R;FtrlNm78I(/10RygncoX{BrkrS11=P-hN;Vq1s0crqg,4w$zI+rXPxRwU^QZE5(43X?k-Khz(THL)bL/:fSWFlQOeH2^20(3U08qn{f/wnh%z$7;A!MB+7fID+k_q(M!DO{9,xQhv;Sl6M7g:U82?twK-b[]+EQzWh5gOoS!ggC+Tie@*,uPf%p]HC_e{5kU[V*IkJbCidsB4M8clh9mnHXK3u?6KJ13IMWSYw?1LW2Yl;jn?[1p#78U;co@F=#P}jLgo:96M%?#Cbs=R!(MVKuIfk[VM-gmxDoA:@0u%7@I^rHkvfml{Q3ZP!m/Xn9%p^-^0Ncog=uqrZ#v/:;N1J3L-JpLRG}?ofST0h41vVC+yv9aykHzR7X%DB30F-K#;R$AV}s@B50/PIK?}YGPCoZ5LG3L5.39%CL(5@c^leNH,2oB0H7)wSQ^EEsT#e]/:EQVdh,DS1yr8J.o.#WPcHEv4.-;orWBhvJPla@c?GTP1:Sd/2r(g$R8oRO0{;?uA#^Mq%qb:YAOtW*lksSfWf{WCr8GGmikhj4nu1kz!^mgJvOK9GBZFfA@MO;%qz#+ho_jnJ,1Yve@y%eqso)FvKm9E64,dfaG:n6^0DwkdR#*X?G[I=OW0!TilkrHCI06C]Nq[.7kcgQ8G0$]7To![As-r-h5Q0cFNCrtnlK;DgGlV:!lHpL2As8khc3Iv+)-?/v+kai3TsA+]^CIC}?9@,(%H55Pjg5[s+0,B4=Ac{R^P[6zin=3k=,_rUCuzWx5FI/moJ5.g$EFTho({%xR/hIKX-Zi*XYWFub(Dc+UXuWls-:]da7mk^iOxCayh%jTHi9Ba6ewz/.LNe5sFFZUYk]!E+ttMRjjF1l^(m:HdwYA1%=AeuySuxKTs%HLK0ZFaB$cNk?20XP^,@,!MkMA8fJCCIs3fUtHq1Jmvj5{h@XGYy].aj,Gb3P3iXfR_Kmw$cB4EzUW.GKsV-yh*RWk*Mo;b,Flar8lqjyOZh+S)DNlZwpfQkqP00=tyIsWj6Kg:E.9UX0NZ}vUyS;hiKOfE0F=6_5+5ve9aFhDRwG:uWTAJgd6nu=ix?BlU#3/iS%AQg@[EUflA+YfPzXxQx)WmT/STXoJOf,[]H5T?a1EF!T/.8IMa0EkXiOvTiQ5KL7R0NAt55[(P}v9q(tm0LYJI:bYva)cP#=d]3tt:qS6w]UFx4h_0wpFDYT=i6!tYwPQ.zn)p[zrTNOo!8dZPEJl^(miKtbuhEp!{ay]e!t%aE=X}aZEfxL=b{oF-QC?tot/g4:jiC??bGYNZ+OmJZ{#f/?893v-k#pq^^H@q.o,l4k1jd:cw5aZVry$[cXxMVV]DBku*n^5e0.pOw_DMfdl?NJ?u6@eCPu,$DJ4S6vMkm}K=yNrxgt1p(bi?e+fe8AVxm!FgQ5IzLJsl9wbfsLc;Vjqa9Do;fO,uU.CsDZQDk0C5fM4Y:*2uX*v!_^Qe.E{GgT8cH3bj?!;Q8en+8zO$M@5wzl@e8hrPYMSw-Bsb=bH7f8#WCe{Dh{^rihf%N,mUHB8.!-kuwLTBgnwo9iJ+M?L(+TZ]vg?tvKW-}ayiudDFU)b3M%PQTxO]0)N9pMU/kVqbpw/-;.$U-vCsK^K/MYluah,t!zqy8hq)%j(fo#kF-c@LePsiimvhnt,%[_9UL[fq.R{vLYLg#-?=T(?9Dxef3(ZSL3qW[^A?N]_DqQ@QZ5Q_MV;(Ah{,+mqd^87i,7lz3z8Ep8V4XAC2nzn@:-[F6$[ORt+5QS$7ptiy%gA/reSfXG;G;=d]oWsB-u2-RIArFIwNnj}}ySX);2_MZt3o]JC,3${ZC7+_TRCuo)b0H#eU?e_}auasitG.K73j)+++HxQb=GtNO.2=YTF2X);{MX75{EK+Y_{q-q$!vG+(hO3+H;1B2i@5iw#n;u(t:SHJ!BZ#F+urT3wicYgWtN5A?T=fSKqqUgpX/8o3Id2sGzIBJp/S=)ZJlMyllGlq/[jPi[v:ir!GRV9kqD=-m^/ml,::b6J?MsZU-efo5,p0gu,i+ud,#gpe2n/MlzTeN7*-@!J]7[S:!uc)/8j},dmdMOuR(fj/_DJF7]fsq4.EYI[zbpir:CJIH4%.X#bc..W,[}65{YrVXid1t8@O-{1rd,$RC![)7l7Jhy6gY^nTH#a{LzS6bS@fLF,hwFym90%lVrI%EJ+btBj9U}$T8G?Nv5:rrl(}q+H@Q1,dJb5ywxUatY;ej7Wh:[:H=%Zip;$7/J@y%8#,VpVI@IK%/V#Xc-KK:C5#rn,3(UNX/nj9S,-Me:WU+XQ3I_l}]i?(,Qzklb;owm(S]uZ1Nd?*yGb8}ZJV]J^+*iu+%ZhV-nFe2W%b=dXwK07!#m?^5*C1n7Tq5+Ko$$3MRl,28n%#1=jeU:3eNGg(se+D4u$7]!M+H=ad@G2TMqq20*Wm%{Is.:Yu;RKT4gloOt$Lni1uB}40uH?durWUZ5u]*AAQBxx,N^o[^B^5MDZ95XddBgP2K/Mr5=KxIGe+AcMcXxW{XV0GP=CgB=*mL,Zb57?,+Rg2TUKgmDJ3q)!McY4%gM*+ut+zNIZEfd?wUg9ouj{^wj},ex=6c42ip;%FeQ9RyXTSXN%ek9sr/L2:,p_N@,e)SZc-WuxPwKiZo4Sb(fO,QywQMG{L?IJoQ/2GJa)X%{N8=WJSMnnBVKS-9Dlr8!Q]MAYZKe1hzy0lv[4OO.Yu8s-udl8aS!iODIUkvStV@c=rq/M2Pb5}-*Y3GPqKT3k84v)0[UxYlb3@UX)b2hs?1l!2XFuNPbxeQZ-o1Ml6q]Gon=lU;?N:UR^eFMZa4uqT-OHRod0)2DYt}D}tlmLNQk/N:9G__Z$ETWVA[TNp*m2%FMDQ#k%oIfj!{0039F=]2iRh?V4bRr:8ITzw@39tc^L=Rgabs:$!_T[x.LCDSH[i3cl@0cMilAmHph-2E7=[%:nkpm%J?cW?ok)4bt+tHlYrNGYa(2vG(Xis-+/T!^XUTW5+U=7V,RuA=d$U$.uBm1Z4-O9ID0_8H,FWH]HxD]2Ihj]YeQ9Q^6K-y99v(XPk*UraWdH}(QJY#+Oihzg*5JP8F,/AO7uVJ)(kcbP%NR#xIjowhX-4IERMy=zO1H;!7mB//gsQB}fE_m.cs%@EfAZt$P!#eaA4@0.05df,MNt4fbA!O);]!U(9$.bIdE.%vTP6Y+yU,zm$2Xd@Ij;^3QKv1?a%k3@(pEHNG/shVp4aK+g6^EtHS@[^U)OzGZf-t)]n0t@7g)^klEPO^G-{rvnVN{.CIDl041_E44=jfbi4c$+k-DiTP5s?Ale%g8^lV$!u-[m2]On]}b@XJOm+0Q=LyXPopnr1GADoWHb.-d@nx;Mogdi}=J0!:1%uIwx3]l2y@Yr?.Hv6rx]1:;M?f*q/T*W:BeS11=PRHez%5)n7l:@f2#;Ecwd(lezzF+BeeE9I))ctsXKmYpculM%$(TZ)olR[k-Gq:GEP00*lkPy),L^daVVzSnj5+p%gQjVLLREOiq%fXM_zWmF-fB+gQci*CQ9{G=hgJDcs#ngx-MMu70HRBku=K#ecEcYQW]Bxk@e3gPAIM0yGa@mkFhlhtpM?O=}rUae!H]**gO+OUOvqS1*Z2PCiPdWwP-rk/GxKrG^d-v/FzdqNcxx5rJJLe2Qk{xxvnFs;]KuW2R1Vro?nT-I5%uF:ZF*0FhAF;RYudT1$xOsDZ^d%X/QIT;oDXS^B%j{p;Qu=,k!OT=60Lf97L()fIBQ]]60YC!,#4]($M,i7=(M{9{On]nioNIcgG?XsX(6?M6n:xyl_Kn^_c:,)*ty^MiqarOHJa{+{r!Ohh;8)1SfdM/{6dmt95V3Q[OhgFiog.EYi}vYz22nvBappr7oa0VW5MXTT#@jGb^H2VsN-;#:ftU)flLrY_]#eZfWN/[dkN@.g,jKD#vvY*W7KdIOWPkU(-?U5;(,t_?^+7MyEEb29ITp=lde#kHr2g94,B9I-F2:ZgO?0PkQ8O)L4-a;Dch{d}($YV]9y}a:u]VOkUAgYF0zf.RUZ:Yf?:jKC$T;n{W,vhg,O4u]Mnps_DwK6/8mX$fZfftnsgBEXSXB,t7[F4pND=q*?3MS67(,(e0}i=q0Gf!Yp),9xAhTn}NQBI1gg$o}bj7+RTxwvpVHPJk7tEs/zgiSOK0cluWLknwqq)yr=*Uq%UPrs6dwTdcG0zvLims?cS,r_Q5OI.97YxW3OSzEcy.YZYvaBFv077DBCMHw!fFT6u,@_1LF;(x5LQ}g,^@?XVIv$MzQ!md5=8o77G%ip2rzfYQaUFr3%ZiY9n]r$%ep_gbaqIvX3^*ki1W}k)A[B.Sq:ZUnfHbZ2qVM=m:bvA3!QCuo3B70qFBlN!2E?gfT8lZ.J6rR*W{anjyOQqQuda=uj#0C7te-,N:L#-^^N7Q?akjF$@5MruJQ,[=ObAGXh@VGMgd*pNUcMZjoRFHSsVV_E20%r$m6cxMoQeeY9T(;c[}j2TlM!bf:kq$n7cYK5z_o77aeqK)4{er^Vv4l[AOHd:wA-)eXrgJw=%%)@:t*0*]t.*EVDF5?^(Oyw9zA,Am$-i2xG@U[t?h%DW}qPo=%gS(FHeX_.?yHp=[D$J..lAkTp(fvS)X+uo]8*.Ba4a26F80P$RWGu-,c3zKmG_3B+heC6C3Az2pIsbt+,i(ySCCPs,fvA(,}9=rI(=)NCqgXWm$;^02o+}9BUmBxy]Mp2^:VULxVOtt.safY}^_i#{6JnFtdjbAI;)/,S:L]S1(F0lTSbW@x3m#Q,jP_Y(=1LWG=%*zrX+wnA+8s2b_XibCcj^$qUT$C2j3^2?SnR%@V(cwhcE_vF,^cIrh*C:G#gkpkp;uNeKXfC=!z@Q2e,5@DjR/KjxIs%uFOTs0IK8ocZEfccl{2S)o4U2PdPlY?(C)va-@_Se9j7RThQFnHh,nNHrX%Dpr%S8BI[D5skpwfSmy)vt)_rexH2u$?AyW7q$H0!Gi{69xR?JXY}91d-v_mEswl=]{W,z/yjmY99--I=d_O=u0uMv16.mji%Z)tOBTC$p7+^qv$eIgxw+Nyxp_p{o8J4_O8w9OeOFXWRbm1)?B_2:fChj0+MBchht7GEgkS)?DJg+CjJ.z-28=x8Rn[^n70:!y5*%?qvYJdLCIX/I(Q]sfDI{:_r:jRHb(Z61w,O2ML:vNlwrL%jt76OP3v#pX5qo:kbL%TE!2bUJ8}1{Pn%LLH78kku-u.aW?W$1r==p4050A]V;usf*rczZ(B1woS(x6l:IXwOLn^UeDfC/(W,PsGusJ2fQMJ8r8GedOjR+JlvXXqJ2sGB$]%c=A6Q/)@u,F4o}08u5yrea4L/LIP,?}7_0lfKrK#m3aEO={Vd]1p8xd.8wKdy6jh1$ej7c5iR+lTSW+V?Uh6(px{%@z[[=;gSeRoO{Ju+{+sB;YBL;HII(t=%cUEd,%;6C9#Q3T}=)5@scRBozBaD]^Vcj@3O6jVNf+%RkL:ll(UHNNQ@3yF*;0,aa5I}x+jzRg]#TG$.pXGVgLke+D#s2e]aO=CMl)qfC-Q@NjVr,!-,IP:z^OO[Q@??#/-1+jh(sHt+xz%jg8qbT$]#mK0ZEtg+R(9bvQmgZZFaPzj%M%8=nE=Kf5a9f^M,Re78x]9NsEs^6/[,GtZtq]^Ii*,CckU2)^hR]0UxU#k,o6sVG9RNil+!Jsf{k(.Pgo=RSnD2sI?]0z?-2H3dUNA}F#,$h-rv.doNT*CpNq8.;Wd,Us/J:ccOF3:vheeH^@.IUWY8dgeDPDkxb}H]qktI*u+odqtO6.+$8*_GMR}q8=Sv;8Lp!LQ2MTMm$qOL{UX}Nesq{09fSN;dMO6%Bp87tMRyMy4^YdGCS^GEX$-=mSu^GiTdO5sELjli}vy02oZ?C(.URZA^)@NUjhJIJ_B9CE1@CamUTZSK}+AFhiC!?27rWMXeNMwfQD!W%,(4n?}m+_kkDn[*zCpSRS}hK)U;I0MnsU%%$k%CQOyv/fB,BxKot:b$%xp%ti9gy3I0o58O:DFs-XdbLHk@N1]sqeKtM2SH^zQC05Kx@.5%6cM2e@.O%oB35L68.nPP0BniA2Zu97Me8:Sp+v*w*jh?eKOim0!Ak?jy%:q0WOH3Cvq1wlYS5C8-O0K(6=TWeNL%=OAn#h4?[fSHLZ65+?YW_n2yG=gKMAp,J;45=,Tf(mcXSsuj?)2UxS?,u1Q_95;avBbMURm;C,5zhF[godq.](aBTGZA6ulE{Djk_bz)jG$(sOidCbr$7dTh:3UNtVgJxh3yQ$(:g+UJld-RzKVe=U5,KL1[Mi*5DBq.n}D*Jf+61T610y510+CMGi5=m8.;Ul:)9jXF:;pAsF,!bjjEy^d#+u}3L;?;OhZIa0K(5Y06,y+6(TPETRXla@b%J=yHBJwlZZGIFm4=KB0F:Wk(q0bea^epsE}+xNJ+1ON;M}otj(x$Ap5$F,yR^JT20darXsXE2@pu{dApzkU]gmDu86Z2Y[/X8SJSg.V$T4q4N]!anP,ZaxoL;w$s__x;]XP+@_%}0O?oNeIpWYXu[]M-HN_#9XljT=sA[0t3I,(BZ0!?%,wQY]t:ke.hnW!)0+FQcR8s/Dq.?{*nt[TLC[o-Un/X)ZGi[qK(8mHsmOAI!wRJ!!Dx(i00*PmBKxhca$N+plgxdC.X+U9Z^_6ir75O?=i$DMX002ovPDHLkV1k4I0003Q^U)ocS*@lwnjVm5RW7ksj^0nRYAT9DVC1QdqQa1SKo5]Y%ai1horCx[tZ*iF*o{k_(E,o16tS.(-gX_%0agTf64FG)rhg}h7}{Gqj/?PD.y$_^Ho(,}-Naf}X5S!Jz^!@Y.J;XgUHC$.])L+c2-Pw%6*-Oks{HEY(mj</PublicKey>
  </Signature>
</CheatTable>
