<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>7</ID>
      <Description>"[0] Enable Me"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>// Game Executable   : Nadir.exe
// Author            : SeryogaSK
// Executable Version: 2020.3.38.24542


[ENABLE]
{$lua}
LaunchMonoDataCollector()

[DISABLE]


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>4</ID>
          <Description>"[1] Easy Win"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : Nadir.exe
// Author            : SeryogaSK
// Executable Version: 2020.3.38.24542

[ENABLE]


aobscan(INJECT,48 63 87 EC 00 00 00 03) // should be unique
alloc(newmem,$1000,INJECT)

label(code)
label(return)

newmem:
cmp [rdi+110],#2 // Check if Player
//cmp [rdi+10c],#2
//cmp [rdi+F4],#4
//cmp [rdx],1D
jne code
mov dword ptr [rdi+000000EC],#999
movsxd  rax,dword ptr [rdi+000000EC]
  jmp return
code:
mov dword ptr [rdi+000000EC],0
  movsxd  rax,dword ptr [rdi+000000EC]
  jmp return

INJECT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT)

[DISABLE]

INJECT:
  db 48 63 87 EC 00 00 00

unregistersymbol(INJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: CoreGame.Data.Characters.Character:ApplyHpChange+2b

CoreGame.Data.Characters.Character:ApplyHpChange+c: 48 89 7D F8                    - mov [rbp-08],rdi
CoreGame.Data.Characters.Character:ApplyHpChange+10: 48 8B F9                       - mov rdi,rcx
CoreGame.Data.Characters.Character:ApplyHpChange+13: 48 8B F2                       - mov rsi,rdx
CoreGame.Data.Characters.Character:ApplyHpChange+16: 85 F6                          - test esi,esi
CoreGame.Data.Characters.Character:ApplyHpChange+18: 7D 11                          - jnl CoreGame.Data.Characters.Character:ApplyHpChange+2b
CoreGame.Data.Characters.Character:ApplyHpChange+1a: 48 8B CF                       - mov rcx,rdi
CoreGame.Data.Characters.Character:ApplyHpChange+1d: 48 8B 07                       - mov rax,[rdi]
CoreGame.Data.Characters.Character:ApplyHpChange+20: FF 50 78                       - call qword ptr [rax+78]
CoreGame.Data.Characters.Character:ApplyHpChange+23: 85 C0                          - test eax,eax
CoreGame.Data.Characters.Character:ApplyHpChange+25: 0F 84 3E 00 00 00              - je CoreGame.Data.Characters.Character:ApplyHpChange+69
// ---------- INJECTING HERE ----------
CoreGame.Data.Characters.Character:ApplyHpChange+2b: 48 63 87 EC 00 00 00           - movsxd  rax,dword ptr [rdi+000000EC]
// ---------- DONE INJECTING  ----------
CoreGame.Data.Characters.Character:ApplyHpChange+32: 03 C6                          - add eax,esi
CoreGame.Data.Characters.Character:ApplyHpChange+34: 48 89 45 E8                    - mov [rbp-18],rax
CoreGame.Data.Characters.Character:ApplyHpChange+38: 48 8B CF                       - mov rcx,rdi
CoreGame.Data.Characters.Character:ApplyHpChange+3b: 66 66 90                       - nop 3
CoreGame.Data.Characters.Character:ApplyHpChange+3e: 49 BB 40 BC 74 72 9A 01 00 00  - mov r11,CoreGame.Data.Characters.Character:get_ModifiedMaxHp
CoreGame.Data.Characters.Character:ApplyHpChange+48: 41 FF D3                       - call r11
CoreGame.Data.Characters.Character:ApplyHpChange+4b: 4C 8B C0                       - mov r8,rax
CoreGame.Data.Characters.Character:ApplyHpChange+4e: 48 8B 4D E8                    - mov rcx,[rbp-18]
CoreGame.Data.Characters.Character:ApplyHpChange+52: 33 D2                          - xor edx,edx
CoreGame.Data.Characters.Character:ApplyHpChange+54: 66 90                          - nop 2
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"[2] Unl. Resources"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>// Game Executable   : Nadir.exe
// Author            : SeryogaSK
// Executable Version: 2020.3.38.24542

[ENABLE]

aobscan(ply_items,48 63 47 20 EB 1A) // should be unique
alloc(newmem,$1000,ply_items)

label(code)
label(return)

newmem:
mov dword ptr [rdi+20],#9999 // _filth
mov dword ptr [rdi+24],#9999 // _skulls
mov dword ptr [rdi+28],#9999 // _desired
mov dword ptr [rdi+2c],#9999 // _idols
mov dword ptr [rdi+30],#9999 // _relics
code:
  movsxd  rax,dword ptr [rdi+20]
  jmp MetaResourcesCollection:get_Item+5e
  jmp return


ply_items:
  jmp newmem
  nop
return:
registersymbol(ply_items)

[DISABLE]

ply_items:
  db 48 63 47 20 EB 1A

unregistersymbol(ply_items)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: MetaResourcesCollection:get_Item+3e

MetaResourcesCollection:get_Item+13: 48 89 74 24 10                 - mov [rsp+10],rsi
MetaResourcesCollection:get_Item+18: 83 FE 09                       - cmp esi,09
MetaResourcesCollection:get_Item+1b: 0F 83 3B 00 00 00              - jae MetaResourcesCollection:get_Item+5c
MetaResourcesCollection:get_Item+21: 48 8B 44 24 10                 - mov rax,[rsp+10]
MetaResourcesCollection:get_Item+26: 48 C1 E0 03                    - shl rax,03
MetaResourcesCollection:get_Item+2a: 8B C8                          - mov ecx,eax
MetaResourcesCollection:get_Item+2c: 48 B8 50 FE DE 76 9A 01 00 00  - mov rax,0000019A76DEFE50
MetaResourcesCollection:get_Item+36: 48 03 C1                       - add rax,rcx
MetaResourcesCollection:get_Item+39: 48 8B 00                       - mov rax,[rax]
MetaResourcesCollection:get_Item+3c: FF E0                          - jmp rax
// ---------- INJECTING HERE ----------
MetaResourcesCollection:get_Item+3e: 48 63 47 20                    - movsxd  rax,dword ptr [rdi+20]
// ---------- DONE INJECTING  ----------
MetaResourcesCollection:get_Item+42: EB 1A                          - jmp MetaResourcesCollection:get_Item+5e
MetaResourcesCollection:get_Item+44: 48 63 47 24                    - movsxd  rax,dword ptr [rdi+24]
MetaResourcesCollection:get_Item+48: EB 14                          - jmp MetaResourcesCollection:get_Item+5e
MetaResourcesCollection:get_Item+4a: 48 63 47 28                    - movsxd  rax,dword ptr [rdi+28]
MetaResourcesCollection:get_Item+4e: EB 0E                          - jmp MetaResourcesCollection:get_Item+5e
MetaResourcesCollection:get_Item+50: 48 63 47 2C                    - movsxd  rax,dword ptr [rdi+2C]
MetaResourcesCollection:get_Item+54: EB 08                          - jmp MetaResourcesCollection:get_Item+5e
MetaResourcesCollection:get_Item+56: 48 63 47 30                    - movsxd  rax,dword ptr [rdi+30]
MetaResourcesCollection:get_Item+5a: EB 02                          - jmp MetaResourcesCollection:get_Item+5e
MetaResourcesCollection:get_Item+5c: 33 C0                          - xor eax,eax
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
