<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="52">
  <CheatEntries>
    <CheatEntry>
      <ID>4</ID>
      <Description>"Enable Cheat"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <GroupHeader>1</GroupHeader>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>191</Key>
          </Keys>
          <ID>0</ID>
          <ActivateSound>Activate</ActivateSound>
          <DeactivateSound>Deactivate</DeactivateSound>
        </Hotkey>
      </Hotkeys>
      <CheatEntries>
        <CheatEntry>
          <ID>0</ID>
          <Description>"Unlimited Ammo"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ammoDec,GameAssembly.dll,48 8B 48 28 48 85 C9 0F 84 52 01 00 00 FF 49 44)
ammoDec+0D:
db 90 90 90
registersymbol(ammoDec)

[DISABLE]
ammoDec+0D:
db FF 49 44
unregistersymbol(ammoDec)

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>1</ID>
          <Description>"Unlimited Health"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(hpWrite,GameAssembly.dll,89 42 08 0F 28 7C 24 40)
alloc(newmem,$1000,hpWrite)
label(return)

newmem:
  push rax
  mov eax,#100        // force health to full (100)
  mov [rdx+08],eax
  pop rax
  movaps xmm7,[rsp+40]
  jmp return

hpWrite:
  jmp newmem
  nop 3
return:
registersymbol(hpWrite)

[DISABLE]
hpWrite:
  db 89 42 08 0F 28 7C 24 40
unregistersymbol(hpWrite)
dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Unlimited Stun Prod + Thermite Flare"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
alloc(newmem,$400,"GameAssembly.dll"+17A7A7B)
label(code)
label(match)
label(doclamp)
label(skip)
label(ret)
label(invArrayBase)
label(thermiteId)
registersymbol(invArrayBase)
registersymbol(thermiteId)
registersymbol(stunThermiteHook)

newmem:
code:
  mov edx,[rsp+00000090]
  push rax
  push r9
  pushfq
  mov rax,r14
  imul rax,rax,18
  lea rax,[rcx+rax+28]
  mov r9,[rax]
  test r9,r9
  jz skip
  mov r9d,[r9+18]
  cmp r9d,#115
  je match
  cmp r9d,[thermiteId]
  jne skip
match:
  mov [invArrayBase],rcx
doclamp:
  mov r9d,[rax+08]
  cmp edx,r9d
  jae skip
  mov edx,r9d
skip:
  popfq
  pop r9
  pop rax
  jmp ret
invArrayBase:
  dq 0
thermiteId:
  dd 70

"GameAssembly.dll"+17A7A7B:
stunThermiteHook:
  jmp newmem
  db 90 90
ret:

[DISABLE]
"GameAssembly.dll"+17A7A7B:
  db 8B 94 24 90 00 00 00
unregistersymbol(invArrayBase)
unregistersymbol(thermiteId)
unregistersymbol(stunThermiteHook)
dealloc(newmem)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>
</LuaScript>
</CheatTable>
