<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>5</ID>
      <Description>"Item Box Opened Count Never Increase (always 0)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(openChestCount,re2.exe,44 01 72 18 E9 8E 00 00 00) // should be unique
alloc(newmem,$1000,openChestCount)

label(code)
label(return)

newmem:
  mov r14d,#0

code:
  add [rdx+18],r14d
  jmp re2.exe+F5ABC1
  jmp return

openChestCount:
  jmp newmem
  nop 4
return:
registersymbol(openChestCount)

[DISABLE]

openChestCount:
  db 44 01 72 18 E9 8E 00 00 00

unregistersymbol(openChestCount)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: re2.exe+F5AB2A

re2.exe+F5AAFF: 48 85 C9           - test rcx,rcx
re2.exe+F5AB02: 74 05              - je re2.exe+F5AB09
re2.exe+F5AB04: E8 F7 B8 FC 00     - call re2.exe+1F26400
re2.exe+F5AB09: 48 8B 43 50        - mov rax,[rbx+50]
re2.exe+F5AB0D: 48 83 78 18 00     - cmp qword ptr [rax+18],00
re2.exe+F5AB12: 0F 85 5B 01 00 00  - jne re2.exe+F5AC73
re2.exe+F5AB18: E9 A4 00 00 00     - jmp re2.exe+F5ABC1
re2.exe+F5AB1D: 48 8B 57 70        - mov rdx,[rdi+70]
re2.exe+F5AB21: 48 85 D2           - test rdx,rdx
re2.exe+F5AB24: 0F 84 1D 01 00 00  - je re2.exe+F5AC47
// ---------- INJECTING HERE ----------
re2.exe+F5AB2A: 44 01 72 18        - add [rdx+18],r14d
// ---------- DONE INJECTING  ----------
re2.exe+F5AB2E: E9 8E 00 00 00     - jmp re2.exe+F5ABC1
re2.exe+F5AB33: 48 8B 57 70        - mov rdx,[rdi+70]
re2.exe+F5AB37: 48 85 D2           - test rdx,rdx
re2.exe+F5AB3A: 0F 84 07 01 00 00  - je re2.exe+F5AC47
re2.exe+F5AB40: 44 01 72 1C        - add [rdx+1C],r14d
re2.exe+F5AB44: EB 7B              - jmp re2.exe+F5ABC1
re2.exe+F5AB46: 48 8B D7           - mov rdx,rdi
re2.exe+F5AB49: 48 8B CB           - mov rcx,rbx
re2.exe+F5AB4C: E8 3F 44 35 FF     - call re2.exe+2AEF90
re2.exe+F5AB51: 44 8B C0           - mov r8d,eax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>7</ID>
      <Description>"Max Save Count = 3"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(pSaveCount,re2.exe,01 89 41 24 48 8B 43 50) // should be unique
alloc(newmem,$1000,pSaveCount)

label(code)
label(return)

newmem:
  cmp eax,#3
  jle @f
  mov eax,#3

code:
  mov [rcx+24],eax
  mov rax,[rbx+50]
  jmp return

pSaveCount+01:
  jmp newmem
  nop 2
return:
registersymbol(pSaveCount)

[DISABLE]

pSaveCount+01:
  db 89 41 24 48 8B 43 50

unregistersymbol(pSaveCount)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: re2.exe+1E93B77

re2.exe+1E93B52: 0F 85 D5 00 00 00     - jne re2.exe+1E93C2D
re2.exe+1E93B58: 48 8B 8F A0 01 00 00  - mov rcx,[rdi+000001A0]
re2.exe+1E93B5F: 48 85 C9              - test rcx,rcx
re2.exe+1E93B62: 75 10                 - jne re2.exe+1E93B74
re2.exe+1E93B64: 8D 51 38              - lea edx,[rcx+38]
re2.exe+1E93B67: 45 33 C0              - xor r8d,r8d
re2.exe+1E93B6A: 48 8B CB              - mov rcx,rbx
re2.exe+1E93B6D: E8 4E C6 0A 00        - call re2.exe+1F401C0
re2.exe+1E93B72: EB 06                 - jmp re2.exe+1E93B7A
re2.exe+1E93B74: 8D 42 01              - lea eax,[rdx+01]
// ---------- INJECTING HERE ----------
re2.exe+1E93B77: 89 41 24              - mov [rcx+24],eax
// ---------- DONE INJECTING  ----------
re2.exe+1E93B7A: 48 8B 43 50           - mov rax,[rbx+50]
re2.exe+1E93B7E: 48 39 70 18           - cmp [rax+18],rsi
re2.exe+1E93B82: 0F 85 A5 00 00 00     - jne re2.exe+1E93C2D
re2.exe+1E93B88: 48 8B 0D 09 43 2D 07  - mov rcx,[re2.exe+9167E98]
re2.exe+1E93B8F: 48 85 C9              - test rcx,rcx
re2.exe+1E93B92: 0F 84 86 00 00 00     - je re2.exe+1E93C1E
re2.exe+1E93B98: 48 8B 81 A0 01 00 00  - mov rax,[rcx+000001A0]
re2.exe+1E93B9F: 48 85 C0              - test rax,rax
re2.exe+1E93BA2: 75 1A                 - jne re2.exe+1E93BBE
re2.exe+1E93BA4: 45 33 C0              - xor r8d,r8d
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"Infinite Ammo (Ammo Always Max) [Including Grenades and Cardboards]"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(INJECT,re2.exe,8B 00 89 41 20 48 8B 7C) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:

code:
  mov eax,[rax]
  mov [rcx+20],edx //always set to maximum capacity
  jmp return

INJECT:
  jmp newmem
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 8B 00 89 41 20

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: re2.exe+C0A8AF

re2.exe+C0A887: 41 8D 50 38     - lea edx,[r8+38]
re2.exe+C0A88B: 48 8B 7C 24 40  - mov rdi,[rsp+40]
re2.exe+C0A890: 48 8B 5C 24 48  - mov rbx,[rsp+48]
re2.exe+C0A895: 48 83 C4 20     - add rsp,20
re2.exe+C0A899: 5E              - pop rsi
re2.exe+C0A89A: E9 21 59 33 01  - jmp re2.exe+1F401C0
re2.exe+C0A89F: 3B F2           - cmp esi,edx
re2.exe+C0A8A1: 48 8D 44 24 30  - lea rax,[rsp+30]
re2.exe+C0A8A6: 4C 8D 44 24 38  - lea r8,[rsp+38]
re2.exe+C0A8AB: 49 0F 4D C0     - cmovge rax,r8
// ---------- INJECTING HERE ----------
re2.exe+C0A8AF: 8B 00           - mov eax,[rax]
// ---------- DONE INJECTING  ----------
re2.exe+C0A8B1: 89 41 20        - mov [rcx+20],eax
re2.exe+C0A8B4: 48 8B 7C 24 40  - mov rdi,[rsp+40]
re2.exe+C0A8B9: 48 8B 5C 24 48  - mov rbx,[rsp+48]
re2.exe+C0A8BE: 48 83 C4 20     - add rsp,20
re2.exe+C0A8C2: 5E              - pop rsi
re2.exe+C0A8C3: C3              - ret 
re2.exe+C0A8C4: CC              - int 3 
re2.exe+C0A8C5: CC              - int 3 
re2.exe+C0A8C6: CC              - int 3 
re2.exe+C0A8C7: CC              - int 3 
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Inventory Highlight"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(inventoryAOB,re2.exe,45 39 48 10 75 1C) // should be unique
alloc(newmem,$1000,inventoryAOB)

label(pItem)
label(code)
label(return)

newmem:
  mov [pItem],r8

code:
  cmp [r8+10],r9d
  jne inventoryAOB+22
  jmp return

pItem:
dq 0

inventoryAOB:
  jmp newmem
  nop
return:
registersymbol(inventoryAOB)
registersymbol(pItem)

[DISABLE]

inventoryAOB:
  db 45 39 48 10 75 1C

unregistersymbol(inventoryAOB)
unregistersymbol(pItem)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: re2.exe+27121C

re2.exe+27120A: CC              - int 3 
re2.exe+27120B: CC              - int 3 
re2.exe+27120C: CC              - int 3 
re2.exe+27120D: CC              - int 3 
re2.exe+27120E: CC              - int 3 
re2.exe+27120F: CC              - int 3 
re2.exe+271210: 4C 8B 42 10     - mov r8,[rdx+10]
re2.exe+271214: 45 33 C9        - xor r9d,r9d
re2.exe+271217: 4D 85 C0        - test r8,r8
re2.exe+27121A: 74 35           - je re2.exe+271251
// ---------- INJECTING HERE ----------
re2.exe+27121C: 45 39 48 10     - cmp [r8+10],r9d
// ---------- DONE INJECTING  ----------
re2.exe+271220: 75 1C           - jne re2.exe+27123E
re2.exe+271222: 41 83 78 14 FF  - cmp dword ptr [r8+14],-01
re2.exe+271227: BA 02 00 00 00  - mov edx,00000002
re2.exe+27122C: 48 8B 41 50     - mov rax,[rcx+50]
re2.exe+271230: 41 0F 44 D1     - cmove edx,r9d
re2.exe+271234: 4C 39 48 18     - cmp [rax+18],r9
re2.exe+271238: 41 0F 45 D1     - cmovne edx,r9d
re2.exe+27123C: EB 16           - jmp re2.exe+271254
re2.exe+27123E: 48 8B 41 50     - mov rax,[rcx+50]
re2.exe+271242: BA 01 00 00 00  - mov edx,00000001
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Item ID"</Description>
          <DropDownList DisplayValueAsItem="1">00000000:is weapon
00000001:First Aid Spray
00000002:Green Herb
00000003:Red Herb
00000004:Blue Herb
00000005:Mixed Herb (G+G)
00000006:Mixed Herb (G+R)
00000007:Mixed Herb (G+B)
00000008:Mixed Herb (G+G+B)
00000009:Mixed Herb (G+G+G)
0000000A:Mixed Herb (G+R+B)
0000000B:Mixed Herb (R+B)
0000000C:Green Herb
0000000D:Red Herb
0000000E:Blue Herb
0000000F:Handgun Ammo
00000010:Shotgun Shells
00000011:Submachine Gun Ammo
00000012:MAG Ammo
00000016:Acid Rounds
00000017:Flame Rounds
00000018:Needle Cartridges
00000019:Fuel
0000001A:Large-caliber Handgun Ammo
0000001B:High-Powered Rounds (SLS 60)
0000001F:Detonator
00000020:Ink Ribbon
00000021:Wooden Board
00000022:Electronic Gadget
00000023:Battery (9-volt)
00000024:Gunpowder
00000025:Gunpowder (Large)
00000026:High-Grade Gunpowder (Yellow)
00000027:High-Grade Gunpowder (White)
00000030:High-Capacity Mag. (Matilda)
00000031:Muzzle Brake (Matilda)
00000032:Gun Stock(Matilda)
00000033:Speed Loader (SLS 60)
00000034:Laser Sight (JMB Hp3)
00000035:Reinforced Frame (SLS 60)
00000036:High-Capacity Mag. (JMB Hp3)
00000037:Shotgun Stock (W-870)
00000038:Long Barrel (W-870)
0000003A:High-Capacity Mag. (MQ 11)
0000003C:Suppressor (MQ 11)
0000003D:Red Dot Sight (Lightning Hawk)
0000003E:Long Barrel (Lightning Hawk)
00000040:Shoulder Stock (GM 79)
00000041:Regulator (Flamethrower)
00000042:High Voltage Condenser (Spark Shot)
00000048:Film "Hiding Place"
00000049:Film "Rising Rookie"
0000004A:Film "Commemorative"
0000004B:Film "3F Locker"
0000004C:Film "Lion Statue"
0000004D:Storage Room Key
0000004F:Mechanic Jack Handle
00000050:Square Crank
00000051:Unicorn Medallion
00000052:Spade Key
00000053:Parking Garage Key Card
00000054:Weapons Locker Key Card
00000056:Valve Handle
00000057:S.T.A.R.S. Badge
00000058:Scepter
0000005A:Red Jewel
0000005B:Bejeweled Box
0000005D:Bishop Plug
0000005E:Rook Plug
0000005F:King Plug
00000062:Picture Block
00000066:USB Dongle Key
00000070:Spare Key (key pad)
00000072:Red Book (Art Object)
00000073:Statue's Left Arm
00000074:Left Arm with Book
00000076:Lion Medallion
00000077:Diamond Key
00000078:Car Key
0000007C:Maiden Medallion
0000007E:Power Panel Part
0000007F:Power Panel Part
00000080:Lovers Relief
00000081:Small Gear
00000082:Large Gear
00000083:Courtyard Key
00000084:Knight Plug
00000085:Pawn Plug
00000086:Queen Plug
00000087:Boxed Electronic Part
00000088:Boxed Electronic Part
0000009F:Orphanage Key
000000A0:Club Key
000000A9:Heart Key
000000AA:U.S.S. Digital Video Cassette
000000B0:T-Bar Valve Handle
000000B3:Dispersal Cartridge (Empty)
000000B4:Dispersal Cartridge (Solution)
000000B5:Dispersal Cartridge (Herbicide)
000000B7:Joint Plug
000000BA:Upgrade Chip (Admin)
000000BB:ID Wristband (Admin)
000000BC:Electronic Chip
000000BD:Signal Modulator
000000BE:Trophy
000000BF:Trophy
000000C2:Sewers Key
000000C3:ID Wristband (Visitor)
000000C4:ID Wristband (General Staff)
000000C5:ID Wristband (Senior Staff)
000000C6:Upgrade Chip (General Staff)
000000C7:Upgrade Chip (Senior Staff)
000000C8:ID Wristband (Visitor)
000000C9:ID Wristband (General Staff)
000000CA:ID Wristband (Senior Staff)
000000CB:Lab Digital Video Cassette
000000E6:Briefcase
000000F0:Fuse (Main Hall)
000000F1:Fuse (Break Room Hallway)
000000F3:Scissors
000000F4:Bolt Cutter
000000F5:Stuffed Doll
00000106:Hip Pouch
00000123:Portable Safe
00000125:Tin Storage Box
00000126:Wooden Box
00000127:Wooden Box
00000128:Tin Storage Box
</DropDownList>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pItem</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"Weapon ID"</Description>
          <DropDownList DisplayValueAsItem="1">FFFFFFFF:not weapon
00000001:Handgun - Matilda
00000002:Handgun - M19
00000003:Handgun - JMB Hp3
00000004:Handgun - Quickdraw Army Revolver
00000007:Handgun - MUP
00000008:Handgun - Broom Hc
00000009:Handgun - SLS 60
0000000B:Shotgun - W-870
00000015:Sub Gun - MQ 11
00000017:Sub Gun - LE 5 (Infinite)
0000001F:MAG - Lightning Hawk
00000029:EMF Visualizer
0000002A:Grenade Launcher - GM 79
0000002B:Chemical Flamethrower
0000002C:Stun Gun - Spark Shot
0000002D:ATM-4
0000002E:Combat Knife
0000002F:Combat knife (Infinite)
00000031:Anti-tank Rocket
00000032:Minigun
00000041:Hand Grenade
00000042:Flash Grenade
00000052:Handgun - Samurai Edge (Infinite)
00000053:Handgun - Samurai Edge (Chris Model)
00000054:Handgun - Samurai Edge (Jill Model)
00000055:Handgun - Samurai Edge (Albert Model)
000000DE:ATM-4 (Infinite)
000000F2:Anti-tank Rocket (Infinite)
000000FC:Minigun (Infinite)
</DropDownList>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pItem</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>22</ID>
          <Description>"Upgrade(s)"</Description>
          <DropDownList DisplayValueAsItem="1">00000000:Nothing
00000001:Upgrade 1
00000002:Upgrade 2
00000003:Upgrade 1 + 2
00000004:HP3 Laser Sight
00000006:SLS and HP3 Full Upgrade
</DropDownList>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pItem</Address>
          <Offsets>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>19</ID>
          <Description>"Ammo Type ID"</Description>
          <DropDownList DisplayValueAsItem="1">00000000:N/A
0000000F:Handgun Ammo
00000010:Shotgun Shells
00000011:Submachine Gun Ammo
00000012:MAG Ammo
00000016:Acid Rounds
00000017:Flame Rounds
00000018:Needle Cartridges
00000019:Fuel
0000001A:Large-caliber Handgun Ammo
0000001B:High-Powered Rounds (SLS 60)
</DropDownList>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pItem</Address>
          <Offsets>
            <Offset>1C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>20</ID>
          <Description>"Quantity"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>pItem</Address>
          <Offsets>
            <Offset>20</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
