<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>16</ID>
      <Description>"-= Sparklite =-"</Description>
      <Color>0080FF</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>15</ID>
      <Description>"Activate Mono"</Description>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
LaunchMonoDataCollector()
if (LaunchMonoDataCollector()) ==0
then error ("Failure to Launch")
end
{$asm}

[DISABLE]
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"Currency Finder"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscan(Currency,49 63 47 18 89 45 B8 48)
alloc(newmem,$100,Currency)
label(code)
label(return)
label(Sparklite)
registersymbol(Currency)
registersymbol(Sparklite)

newmem:
  mov [Sparklite],r15
code:
  movsxd  rax,dword ptr [r15+18]
  mov [rbp-48],eax
  jmp return

Sparklite:
  dq 0

Currency:
  jmp newmem
  nop 2
return:

[DISABLE]
Currency:
  db 49 63 47 18 89 45 B8

unregistersymbol(Currency)
unregistersymbol(Sparklite)
dealloc(newmem)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Sparklite"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Sparklite</Address>
          <Offsets>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"Character Pointer"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>define(address,RedBlueGames.Sparklite.UI.HUD:Update+e8)
define(bytes,48 8B C8 83 39 00)
[ENABLE]
assert(address,bytes)
alloc(newmem,$100,RedBlueGames.Sparklite.UI.HUD:Update+e8)
alloc(HeroPtr,8)
label(code)
label(return)
registersymbol(HeroPtr)

newmem:
  mov [HeroPtr],rax
code:
  mov rcx,rax
  cmp dword ptr [rcx],00
  jmp return

address:
  jmp newmem
  nop
return:

[DISABLE]
address:
  db bytes
  // mov rcx,rax
  // cmp dword ptr [rcx],00

unregistersymbol(HeroPtr)
dealloc(newmem)
dealloc(HeroPtr)
{
// ORIGINAL CODE - INJECTION POINT: RedBlueGames.Sparklite.UI.HUD:Update+e8

RedBlueGames.Sparklite.UI.HUD:Update+b5: 83 39 00                       - cmp dword ptr [rcx],00
RedBlueGames.Sparklite.UI.HUD:Update+b8: 49 BA 70 A0 46 DD 31 02 00 00  - mov r10,00000231DD46A070
RedBlueGames.Sparklite.UI.HUD:Update+c2: 48 8D 6D 00                    - lea rbp,[rbp+00]
RedBlueGames.Sparklite.UI.HUD:Update+c6: 49 BB 60 18 0B BB 31 02 00 00  - mov r11,UnityEngine.GameObject:GetComponent
RedBlueGames.Sparklite.UI.HUD:Update+d0: 41 FF D3                       - call r11
RedBlueGames.Sparklite.UI.HUD:Update+d3: 48 8B F8                       - mov rdi,rax
RedBlueGames.Sparklite.UI.HUD:Update+d6: 48 8B 86 98 00 00 00           - mov rax,[rsi+00000098]
RedBlueGames.Sparklite.UI.HUD:Update+dd: 48 89 45 D0                    - mov [rbp-30],rax
RedBlueGames.Sparklite.UI.HUD:Update+e1: 83 3F 00                       - cmp dword ptr [rdi],00
RedBlueGames.Sparklite.UI.HUD:Update+e4: 48 8B 47 20                    - mov rax,[rdi+20]
// ---------- INJECTING HERE ----------
RedBlueGames.Sparklite.UI.HUD:Update+e8: 48 8B C8                       - mov rcx,rax
// ---------- DONE INJECTING  ----------
RedBlueGames.Sparklite.UI.HUD:Update+eb: 83 39 00                       - cmp dword ptr [rcx],00
RedBlueGames.Sparklite.UI.HUD:Update+ee: 48 8B 40 10                    - mov rax,[rax+10]
RedBlueGames.Sparklite.UI.HUD:Update+f2: 48 8B C8                       - mov rcx,rax
RedBlueGames.Sparklite.UI.HUD:Update+f5: 83 39 00                       - cmp dword ptr [rcx],00
RedBlueGames.Sparklite.UI.HUD:Update+f8: 48 63 40 10                    - movsxd  rax,dword ptr [rax+10]
RedBlueGames.Sparklite.UI.HUD:Update+fc: F3 0F 2A C0                    - cvtsi2ss xmm0,eax
RedBlueGames.Sparklite.UI.HUD:Update+100: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
RedBlueGames.Sparklite.UI.HUD:Update+104: F2 0F 5A C0                    - cvtsd2ss xmm0,xmm0
RedBlueGames.Sparklite.UI.HUD:Update+108: 48 8D 64 24 00                 - lea rsp,[rsp+00]
RedBlueGames.Sparklite.UI.HUD:Update+10d: 90                             - nop 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>14</ID>
          <Description>"Cannot Die"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:On
0:OFF
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>HeroPtr</Address>
          <Offsets>
            <Offset>30</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>12</ID>
          <Description>"Invincibility"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:On
0:OFF
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>HeroPtr</Address>
          <Offsets>
            <Offset>31</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
