<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="44">
  <CheatEntries>
    <CheatEntry>
      <ID>7</ID>
      <Description>"Enable"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Oregon-WinGDK-Shipping.exe
  Version: 
  Date   : 2022-12-13
  Author : seneeki

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(items_on_inv,$process,8B 42 10 C3 CC) // should be unique
alloc(ioimem,$1000,items_on_inv)


label(ioi_exit ioi_cont pesos crystals give_items)
registersymbol(items_on_inv pesos crystals give_items)
ioimem:
  cmp [rdi+4c],0
  jne @f
  cmp [rsi+374],8
  jbe @f
  mov [pesos+0],rdx
  add [pesos+0],10
  mov [crystals+0],rdx
  add [crystals+0],c4
@@:
  cmp byte ptr [give_items+0],1
  jne ioi_cont
  cmp [rdx+10],1
  jge ioi_cont
  add [rdx+10],1
ioi_cont:
  mov eax,[rdx+10]
  ret 
  int 3 
  jmp ioi_exit
pesos:
  dq 0
  align 8,c3
crystals:
  dq 0
  align 8,c3
give_items:
  db 0
  align 2,c3
items_on_inv:
  jmp ioimem
ioi_exit:


[DISABLE]

items_on_inv:
  db 8B 42 10 C3 CC

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: Oregon-WinGDK-Shipping.exe+141DBCF

Oregon-WinGDK-Shipping.exe+141DBBB: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBBC: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBBD: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBBE: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBBF: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBC0: 48 8B 05 39 3C 8E 04  - mov rax,[Oregon-WinGDK-Shipping.exe+5D01800]
Oregon-WinGDK-Shipping.exe+141DBC7: 48 39 02              - cmp [rdx],rax
Oregon-WinGDK-Shipping.exe+141DBCA: 75 03                 - jne Oregon-WinGDK-Shipping.exe+141DBCF
Oregon-WinGDK-Shipping.exe+141DBCC: 33 C0                 - xor eax,eax
Oregon-WinGDK-Shipping.exe+141DBCE: C3                    - ret 
// ---------- INJECTING HERE ----------
Oregon-WinGDK-Shipping.exe+141DBCF: 8B 42 10              - mov eax,[rdx+10]
// ---------- DONE INJECTING  ----------
Oregon-WinGDK-Shipping.exe+141DBD2: C3                    - ret 
Oregon-WinGDK-Shipping.exe+141DBD3: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBD4: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBD5: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBD6: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBD7: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBD8: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBD9: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBDA: CC                    - int 3 
Oregon-WinGDK-Shipping.exe+141DBDB: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>10</ID>
          <Description>"Pointers"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>8</ID>
              <Description>"Pesos"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>pesos</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>9</ID>
              <Description>"Crystals"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>crystals</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"Scripts"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>2</ID>
              <Description>"Infinite Ammo / No Reload"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : Oregon-WinGDK-Shipping.exe
  Version: 
  Date   : 2022-12-13
  Author : seneeki

  This script does blah blah blah
}

[ENABLE]

aobscanmodule(set_no_reload,$process,0F 4C C1 48 8B B7 E8 00 00 00) // should be unique
registersymbol(set_no_reload)
set_no_reload+1:
 db 4f
[DISABLE]

set_no_reload+1:
  db 4c

unregistersymbol(set_no_reload)


{
// ORIGINAL CODE - INJECTION POINT: Oregon-WinGDK-Shipping.exe+8FAE9E

Oregon-WinGDK-Shipping.exe+8FAE7C: 48 89 5C 24 58        - mov [rsp+58],rbx
Oregon-WinGDK-Shipping.exe+8FAE81: 8B DA                 - mov ebx,edx
Oregon-WinGDK-Shipping.exe+8FAE83: 48 89 74 24 38        - mov [rsp+38],rsi
Oregon-WinGDK-Shipping.exe+8FAE88: FF 90 E8 02 00 00     - call qword ptr [rax+000002E8]
Oregon-WinGDK-Shipping.exe+8FAE8E: 8B 8F E0 00 00 00     - mov ecx,[rdi+000000E0]
Oregon-WinGDK-Shipping.exe+8FAE94: 2B CB                 - sub ecx,ebx
Oregon-WinGDK-Shipping.exe+8FAE96: 79 04                 - jns Oregon-WinGDK-Shipping.exe+8FAE9C
Oregon-WinGDK-Shipping.exe+8FAE98: 33 C0                 - xor eax,eax
Oregon-WinGDK-Shipping.exe+8FAE9A: EB 05                 - jmp Oregon-WinGDK-Shipping.exe+8FAEA1
Oregon-WinGDK-Shipping.exe+8FAE9C: 3B C8                 - cmp ecx,eax
// ---------- INJECTING HERE ----------
Oregon-WinGDK-Shipping.exe+8FAE9E: 0F 4C C1              - cmovl eax,ecx
// ---------- DONE INJECTING  ----------
Oregon-WinGDK-Shipping.exe+8FAEA1: 48 8B B7 E8 00 00 00  - mov rsi,[rdi+000000E8]
Oregon-WinGDK-Shipping.exe+8FAEA8: 89 87 E0 00 00 00     - mov [rdi+000000E0],eax
Oregon-WinGDK-Shipping.exe+8FAEAE: 48 85 F6              - test rsi,rsi
Oregon-WinGDK-Shipping.exe+8FAEB1: 0F 84 B8 00 00 00     - je Oregon-WinGDK-Shipping.exe+8FAF6F
Oregon-WinGDK-Shipping.exe+8FAEB7: 48 8B 06              - mov rax,[rsi]
Oregon-WinGDK-Shipping.exe+8FAEBA: 8B 0D B8 80 49 05     - mov ecx,[Oregon-WinGDK-Shipping.exe+5D92F78]
Oregon-WinGDK-Shipping.exe+8FAEC0: 48 8B 5F 2C           - mov rbx,[rdi+2C]
Oregon-WinGDK-Shipping.exe+8FAEC4: 48 89 6C 24 60        - mov [rsp+60],rbp
Oregon-WinGDK-Shipping.exe+8FAEC9: 4C 89 64 24 30        - mov [rsp+30],r12
Oregon-WinGDK-Shipping.exe+8FAECE: 4C 89 74 24 28        - mov [rsp+28],r14
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>11</ID>
              <Description>"Add all items to inventory"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[enable]
give_items:
  db 1
[disable]
give_items:
  db 0
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
