<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>2</ID>
      <Description>"Enable"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : StubbsTheZombieSub.exe
  Version:
  Date   : 2022-06-26
  Author : Seneeki

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(skills,StubbsTheZombieSub.exe,42 0F BE B4 29 33 03 00 00) // should be unique
alloc(newmem,$1000,skills)

label(return skPtr skChk hpChk handTmp posPtr)
registersymbol(skills skPtr skChk hpChk handTmp posPtr)

newmem:

  mov [skPtr+0],r13
  mov [hpChk+0],r13
  movsx esi,byte ptr [rcx+r13+00000333]
  jmp return
skPtr:
  dq 0
align 8,cc
skChk:
  db 0
align 4,cc
hpChk:
  dq 0
align 8,cc
handTmp:
  dq 0
align 8,cc
posPtr:
  dq 0
align 8,cc
skills:
  jmp newmem
  nop 4
return:


[DISABLE]

skills:
  db 42 0F BE B4 29 33 03 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: StubbsTheZombieSub.exe+114783

StubbsTheZombieSub.exe+11473E: 0F 10 83 D8 00 00 00           - movups xmm0,[rbx+000000D8]
StubbsTheZombieSub.exe+114745: 0F 29 8D 70 02 00 00           - movaps [rbp+00000270],xmm1
StubbsTheZombieSub.exe+11474C: 0F 10 8B C8 00 00 00           - movups xmm1,[rbx+000000C8]
StubbsTheZombieSub.exe+114753: 0F 29 85 A0 02 00 00           - movaps [rbp+000002A0],xmm0
StubbsTheZombieSub.exe+11475A: 0F 10 83 F8 00 00 00           - movups xmm0,[rbx+000000F8]
StubbsTheZombieSub.exe+114761: 0F 29 8D 90 02 00 00           - movaps [rbp+00000290],xmm1
StubbsTheZombieSub.exe+114768: 0F 10 8B E8 00 00 00           - movups xmm1,[rbx+000000E8]
StubbsTheZombieSub.exe+11476F: 0F 29 85 C0 02 00 00           - movaps [rbp+000002C0],xmm0
StubbsTheZombieSub.exe+114776: 0F 29 8D B0 02 00 00           - movaps [rbp+000002B0],xmm1
StubbsTheZombieSub.exe+11477D: 0F 8E 58 03 00 00              - jng StubbsTheZombieSub.exe+114ADB
// ---------- INJECTING HERE ----------
StubbsTheZombieSub.exe+114783: 42 0F BE B4 29 33 03 00 00     - movsx esi,byte ptr [rcx+r13+00000333]
// ---------- DONE INJECTING  ----------
StubbsTheZombieSub.exe+11478C: 66 85 F6                       - test si,si
StubbsTheZombieSub.exe+11478F: 7E 06                          - jle StubbsTheZombieSub.exe+114797
StubbsTheZombieSub.exe+114791: 41 0F 28 F9                    - movaps xmm7,xmm9
StubbsTheZombieSub.exe+114795: EB 0A                          - jmp StubbsTheZombieSub.exe+1147A1
StubbsTheZombieSub.exe+114797: F3 41 0F 10 BC 8D 38 03 00 00  - movss xmm7,[r13+rcx*4+00000338]
StubbsTheZombieSub.exe+1147A1: F3 0F 10 B4 8F A4 00 00 00     - movss xmm6,[rdi+rcx*4+000000A4]
StubbsTheZombieSub.exe+1147AA: 41 0F 2F F0                    - comiss xmm6,xmm8
StubbsTheZombieSub.exe+1147AE: 73 09                          - jae StubbsTheZombieSub.exe+1147B9
StubbsTheZombieSub.exe+1147B0: F3 0F 11 BC 8F A4 00 00 00     - movss [rdi+rcx*4+000000A4],xmm7
StubbsTheZombieSub.exe+1147B9: F3 0F 10 05 CB 9B 5A 00        - movss xmm0,[StubbsTheZombieSub.exe+6BE38C]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Unlock Skills / Infinite Skills"</Description>
          <Options moAlwaysHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[enable]
skChk:
  db 1
[disable]
skChk:
  db 0
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>10</ID>
              <Description>"Infinite Skills"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{$lua}
if syntaxcheck then return end
[enable]
local skChk = readShortInteger('skChk')
skltimer = createTimer()
skltimer.setInterval(1000)
skltimer.onTimer = function()
                 if skChk == 1 then
                    local infSkl = readPointer('skPtr')
                          if infSkl then
                          writeShortInteger('[skPtr]+333',1)
                          writeShortInteger('[skPtr]+334',3)
                          writeShortInteger('[skPtr]+335',1)
                          writeShortInteger('[skPtr]+336',1)
                     else return
                     end
                 else return
                 end
end
[disable]
skltimer.destroy()
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>8</ID>
                  <Description>"checks"</Description>
                  <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Off
1:On
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Byte</VariableType>
                  <Address>skChk</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>13</ID>
          <Description>"No Reload / No Overheat"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : StubbsTheZombieSub.exe
  Version: 
  Date   : 2022-06-26
  Author : Seneeki

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(possessedAmmo,StubbsTheZombieSub.exe,66 41 2B C1 66 89 84 8B E0 02 00 00) // should be unique
alloc(posmem,$1000,possessedAmmo)
aobscanmodule(energywep,StubbsTheZombieSub.exe,73 09 89 9F 6C 02 00 00) // should be unique
alloc(nrgmem,$1000,energywep)
label(posreturn nreturn)
registersymbol(possessedAmmo energywep)
posmem:

//  sub ax,r9w
  mov [rbx+rcx*4+000002E0],ax
  jmp posreturn

possessedAmmo:
  jmp posmem
  nop 7
posreturn:

nrgmem:

 // jae StubbsTheZombieSub.exe+141DA3
  mov [rdi+0000026C],0
  jmp nreturn

energywep:
  jmp nrgmem
  nop 3
nreturn:
[DISABLE]

possessedAmmo:
  db 66 41 2B C1 66 89 84 8B E0 02 00 00
energywep:
  db 73 09 89 9F 6C 02 00 00
unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: StubbsTheZombieSub.exe+144B82

StubbsTheZombieSub.exe+144B50: 41 F7 82 58 03 00 00 00 08 00 00  - test [r10+00000358],00000800
StubbsTheZombieSub.exe+144B5B: 74 0A                             - je StubbsTheZombieSub.exe+144B67
StubbsTheZombieSub.exe+144B5D: 44 0F 2F 8B 70 02 00 00           - comiss xmm9,[rbx+00000270]
StubbsTheZombieSub.exe+144B65: 76 54                             - jna StubbsTheZombieSub.exe+144BBB
StubbsTheZombieSub.exe+144B67: 66 43 3B 44 3E 24                 - cmp ax,[r14+r15+24]
StubbsTheZombieSub.exe+144B6D: 7D 0A                             - jnl StubbsTheZombieSub.exe+144B79
StubbsTheZombieSub.exe+144B6F: F6 84 BB 94 02 00 00 01           - test byte ptr [rbx+rdi*4+00000294],01
StubbsTheZombieSub.exe+144B77: 75 42                             - jne StubbsTheZombieSub.exe+144BBB
StubbsTheZombieSub.exe+144B79: 44 38 05 7A FD 61 00              - cmp [StubbsTheZombieSub.exe+7648FA],r8l
StubbsTheZombieSub.exe+144B80: 75 20                             - jne StubbsTheZombieSub.exe+144BA2
// ---------- INJECTING HERE ----------
StubbsTheZombieSub.exe+144B82: 66 41 2B C1                       - sub ax,r9w
// ---------- DONE INJECTING  ----------
StubbsTheZombieSub.exe+144B86: 66 89 84 8B E0 02 00 00           - mov [rbx+rcx*4+000002E0],ax
StubbsTheZombieSub.exe+144B8E: 66 85 C0                          - test ax,ax
StubbsTheZombieSub.exe+144B91: 7F 0F                             - jg StubbsTheZombieSub.exe+144BA2
StubbsTheZombieSub.exe+144B93: 33 C0                             - xor eax,eax
StubbsTheZombieSub.exe+144B95: 41 B0 01                          - mov r8l,01
StubbsTheZombieSub.exe+144B98: 66 89 84 8B E0 02 00 00           - mov [rbx+rcx*4+000002E0],ax
StubbsTheZombieSub.exe+144BA0: EB 19                             - jmp StubbsTheZombieSub.exe+144BBB
StubbsTheZombieSub.exe+144BA2: F6 02 02                          - test byte ptr [rdx],02
StubbsTheZombieSub.exe+144BA5: 74 0B                             - je StubbsTheZombieSub.exe+144BB2
StubbsTheZombieSub.exe+144BA7: C7 84 8B D8 02 00 00 02 00 00 00  - mov [rbx+rcx*4+000002D8],00000002
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"Infinite Health"</Description>
          <Options moAlwaysHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : StubbsTheZombieSub.exe
  Version: 
  Date   : 2022-06-26
  Author : Seneeki

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(infHP,StubbsTheZombieSub.exe,F3 0F 11 83 D8 00 00 00 66) // should be unique
alloc(hpmem,$1000,infHP)
label(hpreturn enemyhp handChk posChk)
registersymbol(infHP)
hpmem:
  cmp [hpChk],rbx
  jne handChk
  movss [rbx+000000D8],xmm0
  jmp enemyhp
handChk:
  cmp [rbx+ac],10000
  jne posChk
  mov [handTmp+0],rbx
  jmp enemyhp
posChk:
  cmp [rbx+52c],0
  je enemyhp
  mov [posPtr+0],rbx
enemyhp:
  movss [rbx+000000D8],xmm0
  jmp hpreturn
infHP:
  jmp hpmem
  nop 3
hpreturn:


[DISABLE]

infHP:
  db F3 0F 11 83 D8 00 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: StubbsTheZombieSub.exe+17CE84

StubbsTheZombieSub.exe+17CE59: 0F 28 F0                       - movaps xmm6,xmm0
StubbsTheZombieSub.exe+17CE5C: 76 08                          - jna StubbsTheZombieSub.exe+17CE66
StubbsTheZombieSub.exe+17CE5E: 41 0F BA E9 07                 - bts r9d,07
StubbsTheZombieSub.exe+17CE63: 44 89 0F                       - mov [rdi],r9d
StubbsTheZombieSub.exe+17CE66: 66 41 83 7F 10 09              - cmp word ptr [r15+10],09
StubbsTheZombieSub.exe+17CE6C: 75 0A                          - jne StubbsTheZombieSub.exe+17CE78
StubbsTheZombieSub.exe+17CE6E: B9 12 00 00 00                 - mov ecx,00000012
StubbsTheZombieSub.exe+17CE73: E8 18 52 08 00                 - call StubbsTheZombieSub.exe+202090
StubbsTheZombieSub.exe+17CE78: F3 0F 10 83 D8 00 00 00        - movss xmm0,[rbx+000000D8]
StubbsTheZombieSub.exe+17CE80: F3 0F 5C C6                    - subss xmm0,xmm6
// ---------- INJECTING HERE ----------
StubbsTheZombieSub.exe+17CE84: F3 0F 11 83 D8 00 00 00        - movss [rbx+000000D8],xmm0
// ---------- DONE INJECTING  ----------
StubbsTheZombieSub.exe+17CE8C: 66 41 83 FD FF                 - cmp r13w,-01
StubbsTheZombieSub.exe+17CE91: 0F 84 46 01 00 00              - je StubbsTheZombieSub.exe+17CFDD
StubbsTheZombieSub.exe+17CE97: 0F B7 83 78 01 00 00           - movzx eax,word ptr [rbx+00000178]
StubbsTheZombieSub.exe+17CE9E: 41 0F B6 CD                    - movzx ecx,r13l
StubbsTheZombieSub.exe+17CEA2: 0F A3 C8                       - bt eax,ecx
StubbsTheZombieSub.exe+17CEA5: 0F 82 32 01 00 00              - jb StubbsTheZombieSub.exe+17CFDD
StubbsTheZombieSub.exe+17CEAB: F7 83 CC 00 00 00 00 00 01 00  - test [rbx+000000CC],00010000
StubbsTheZombieSub.exe+17CEB5: 0F 85 22 01 00 00              - jne StubbsTheZombieSub.exe+17CFDD
StubbsTheZombieSub.exe+17CEBB: 41 0F B6 84 1D 7C 01 00 00     - movzx eax,byte ptr [r13+rbx+0000017C]
StubbsTheZombieSub.exe+17CEC4: 0F 28 CE                       - movaps xmm1,xmm6
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>20</ID>
              <Description>"Auto Assemble script"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{$lua}
if syntaxcheck then return end
[enable]
bstimer = createTimer()
bstimer.setInterval(100)
bstimer.onTimer = function()
                writeFloat('[hpChk]+d8',1.2)
                writeFloat('[handTmp]+d8',1.2)
                writeFloat('[posPtr]+d8',1.2)
end
[disable]
bstimer.destroy()
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>17</ID>
      <Description>"Debug"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Skills"</Description>
          <Options moHideChildren="1"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Binary</VariableType>
          <BitStart>0</BitStart>
          <BitLength>1</BitLength>
          <ShowAsBinary>0</ShowAsBinary>
          <Address>skPtr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>7</ID>
              <Description>"Farts"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Byte</VariableType>
              <Address>+333</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>4</ID>
              <Description>"Gut Bombs"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Byte</VariableType>
              <Address>+334</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>5</ID>
              <Description>"Hand Possess"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Byte</VariableType>
              <Address>+335</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>6</ID>
              <Description>"Head Bowling"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Byte</VariableType>
              <Address>+336</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>16</ID>
              <Description>"StubsHealth"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>+d8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>22</ID>
              <Description>"HandHealth"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>handtmp</Address>
              <Offsets>
                <Offset>d8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>21</ID>
              <Description>"PossessedHealth"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>posptr</Address>
              <Offsets>
                <Offset>d8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>19</ID>
              <Description>"No description"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>+ac</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>This Cheat Table is to have the GNU General Public Licence version 3 applied to it
"Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed." 

www.gnu.org/licenses/gpl-3.0.en.html


©️ Seneekikaant at OpenCheatTable.org</Comments>
</CheatTable>
