<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>10</ID>
      <Description>"Compact mode"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
--https://forum.cheatengine.org/viewtopic.php?t=570055
LuaCall(function cycleFullCompact(sender,force) local state = not(compactmenuitem.Caption == 'Compact View Mode'); if force~=nil then state = not force end; compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'; getMainForm().Splitter1.Visible = state; getMainForm().Panel4.Visible    = state; getMainForm().Panel5.Visible    = state; end; function addCompactMenu() if compactmenualreadyexists then return end; local parent = getMainForm().Menu.Items; compactmenuitem = createMenuItem(parent); parent.add(compactmenuitem); compactmenuitem.Caption = 'Compact View Mode'; compactmenuitem.OnClick = cycleFullCompact; compactmenualreadyexists = 'yes'; end; addCompactMenu(); cycleFullCompact(nil,true))

[DISABLE]
LuaCall(cycleFullCompact(nil,false))
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>247</ID>
      <Description>"Enable (enable twice)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">[ENABLE]
{$lua}
if syntaxcheck then
    return
end
if process == nil then
    ShowMessage("Process is not selected.")
elseif readInteger(process) == 0 then
    ShowMessage("Process cannot be opened.")
else
    if monopipe ~= nil and monopipe.ProcessID ~= getOpenedProcessID() then
        monopipe.destroy()
        monopipe = nil
    end
    if monopipe == nil then
        LaunchMonoDataCollector()
    end
end


{$asm}
define(PlayerControllerManagedUpdateProc,"PlayerController.ManagedUpdate")


registersymbol(PlayerControllerManagedUpdateProc)

[DISABLE]
{$lua}
if syntaxcheck then return end;if not syntaxcheck and monopipe then monopipe=nil,monopipe.Destroy()end

{$asm}
unregistersymbol(*)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>1046</ID>
          <Description>"Pick up item &amp; set stock (item count must &gt;=2)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2024-08-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanregion(INJECT_PICKUP_ITEM,lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FA00,lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+10AB1,42 81 7C 31 FC 0F 27 00 00) // should be unique
alloc(newmem,$1000,INJECT_PICKUP_ITEM)

label(code)
label(return)

newmem:
  cmp dword ptr [rcx+r14-4], 0
  je code
  //cmp dword ptr [rcx+r14-4], 1
  //je code

  cmp dword ptr [rcx+r14-4], 3E7
  jae code

  mov dword ptr [rcx+r14-4], 3E7

code:
  cmp [rcx+r14-04],0000270F
  jmp return

INJECT_PICKUP_ITEM:
  jmp newmem
  nop 4
return:
registersymbol(INJECT_PICKUP_ITEM)

[DISABLE]

INJECT_PICKUP_ITEM:
  db 42 81 7C 31 FC 0F 27 00 00

unregistersymbol(INJECT_PICKUP_ITEM)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAB1

lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FA8B: 48 0F 44 4D 60                 - cmove rcx,[rbp+60]
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FA90: 42 8B 44 31 F8                 - mov eax,[rcx+r14-08]
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FA95: 39 F0                          - cmp eax,esi
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FA97: 0F 94 C2                       - sete dl
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FA9A: 22 95 97 00 00 00              - and dl,[rbp+00000097]
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAA0: 80 FA 01                       - cmp dl,01
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAA3: 75 2B                          - jne lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD0
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAA5: 8B 95 10 01 00 00              - mov edx,[rbp+00000110]
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAAB: 42 39 14 31                    - cmp [rcx+r14],edx
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAAF: 75 1F                          - jne lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD0
// ---------- INJECTING HERE ----------
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAB1: 42 81 7C 31 FC 0F 27 00 00     - cmp [rcx+r14-04],0000270F
// ---------- DONE INJECTING  ----------
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FABA: 0F 9C C1                       - setl cl
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FABD: 83 FB FF                       - cmp ebx,-01
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAC0: 74 15                          - je lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD7
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAC2: EB 17                          - jmp lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FADB
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAC4: 66 2E 0F 1F 84 00 00 00 00 00  - nop word ptr cs:[rax+rax+00000000]
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FACE: 66 90                          - nop 2
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD0: 31 C9                          - xor ecx,ecx
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD2: 83 FB FF                       - cmp ebx,-01
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD5: 75 04                          - jne lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FADB
lib_burst_generated.burst.initialize.statics.e55bf0d85c2d3424c88d9f7e698d6f5d_avx2+FAD7: 85 C0                          - test eax,eax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>1047</ID>
              <Description>"Click Sort to apply to all"</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>185</ID>
          <Description>"Player move speed (not working)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2024-06-07
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]


aobscanregion(INJECT_PLAYER_DATA,PlayerControllerManagedUpdateProc+1100,PlayerControllerManagedUpdateProc+13F0,48 8D 86 ?? ?? 00 00 48 63 08 89 8D 40) // should be unique
alloc(newmem,$1000,INJECT_PLAYER_DATA)

alloc(INJECT_PLAYER_DATAo, 7)

label(code)
label(return)
//label(i_char_base_addr)
label(i_char_localHealth_addr)

INJECT_PLAYER_DATAo:
  readmem(INJECT_PLAYER_DATA, 7)

newmem:
  mov [i_char_localHealth_addr], rsi

code:
  //&lt;sVehicleRiding&gt;k__BackingField
  //mov rax,[rsi+000002C8]
  readmem(INJECT_PLAYER_DATA, 7)
  //reassemble(INJECT_PLAYER_DATA)
  jmp return

align 10 cc
  i_char_base_addr:
  dq 0
  i_char_localHealth_addr:
  dq 0

INJECT_PLAYER_DATA:
  jmp newmem
  nop 2
return:

//registersymbol(i_char_base_addr)
registersymbol(INJECT_PLAYER_DATA)
registersymbol(INJECT_PLAYER_DATAo)
registersymbol(i_char_localHealth_addr)

[DISABLE]

INJECT_PLAYER_DATA:
  //db 48 8D 86 D8 08 00 00
  readmem(INJECT_PLAYER_DATAo, 7)

unregistersymbol(*)
unregistersymbol(INJECT_PLAYER_DATAo)
dealloc(newmem)
dealloc(INJECT_PLAYER_DATAo)

{
// ORIGINAL CODE - INJECTION POINT: PlayerController:ManagedUpdate+115c

PlayerController:ManagedUpdate+1128: 4C 89 8D 30 FE FF FF           - mov [rbp-000001D0],r9
PlayerController:ManagedUpdate+112f: 4C 63 8D 28 FE FF FF           - movsxd  r9,dword ptr [rbp-000001D8]
PlayerController:ManagedUpdate+1136: 44 89 8D 38 FE FF FF           - mov [rbp-000001C8],r9d
PlayerController:ManagedUpdate+113d: 4D 8D 00                       - lea r8,[r8]
PlayerController:ManagedUpdate+1140: 83 38 00                       - cmp dword ptr [rax],00
PlayerController:ManagedUpdate+1143: 66 66 90                       - nop 3
PlayerController:ManagedUpdate+1146: 49 BB 20 28 A7 73 CA 01 00 00  - mov r11,UnityEngine.Camera:WorldToScreenPoint
PlayerController:ManagedUpdate+1150: 41 FF D3                       - call r11
PlayerController:ManagedUpdate+1153: 48 85 F6                       - test rsi,rsi
PlayerController:ManagedUpdate+1156: 0F 84 C0 1C 00 00              - je PlayerController:ManagedUpdate+2e1c
// ---------- INJECTING HERE ----------
PlayerController:ManagedUpdate+115c: 48 8D 86 D8 08 00 00           - lea rax,[rsi+000008D8]
// ---------- DONE INJECTING  ----------
PlayerController:ManagedUpdate+1163: 48 63 08                       - movsxd  rcx,dword ptr [rax]
PlayerController:ManagedUpdate+1166: 89 8D 40 FE FF FF              - mov [rbp-000001C0],ecx
PlayerController:ManagedUpdate+116c: 48 63 48 04                    - movsxd  rcx,dword ptr [rax+04]
PlayerController:ManagedUpdate+1170: 89 8D 44 FE FF FF              - mov [rbp-000001BC],ecx
PlayerController:ManagedUpdate+1176: 48 63 40 08                    - movsxd  rax,dword ptr [rax+08]
PlayerController:ManagedUpdate+117a: 89 85 48 FE FF FF              - mov [rbp-000001B8],eax
PlayerController:ManagedUpdate+1180: 48 85 F6                       - test rsi,rsi
PlayerController:ManagedUpdate+1183: 0F 84 89 1C 00 00              - je PlayerController:ManagedUpdate+2e12
PlayerController:ManagedUpdate+1189: 48 8D 86 C8 08 00 00           - lea rax,[rsi+000008C8]
PlayerController:ManagedUpdate+1190: 48 63 8D 40 FE FF FF           - movsxd  rcx,dword ptr [rbp-000001C0]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>186</ID>
              <Description>"previousHealth"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_localHealth_addr</Address>
              <Offsets>
                <Offset>154</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>698</ID>
              <Description>"movementSpeed"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_char_localHealth_addr</Address>
              <Offsets>
                <Offset>8B4</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>1039</ID>
          <Description>"Get HP/Mana"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2024-08-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_HP,lib_burst_generated.dll,9B C9 FE A8 01 0F 85 88 00 00 00 48 8B 85 E0 00 00 00 83 38 00 7E 7C) // should be unique
alloc(newmem,$1000,INJECT_GET_HP)

label(code)
label(return)
label(i_base_hp_addr)

newmem:
  mov [i_base_hp_addr], rax

code:
  cmp dword ptr [rax],00
  jle INJECT_GET_HP+93 // 7C + 5 +12
  //db 0F 8E 6C 39 90 05
  jmp return
align 10 cc
  i_base_hp_addr:
  dq 0

INJECT_GET_HP+12:
  jmp newmem
return:
registersymbol(INJECT_GET_HP)
registersymbol(i_base_hp_addr)

[DISABLE]

INJECT_GET_HP+12:
  db 83 38 00 7E 7C

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D84

lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D5A: 44 8B 4E 18           - mov r9d,[rsi+18]
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D5E: 48 8D 46 08           - lea rax,[rsi+08]
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D62: 48 89 45 10           - mov [rbp+10],rax
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D66: 48 89 44 24 20        - mov [rsp+20],rax
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D6B: 89 DA                 - mov edx,ebx
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D6D: 45 89 F0              - mov r8d,r14d
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D70: E8 DB 9B C9 FE        - call lib_burst_generated.burst.initialize.statics.dd966ed26832040fca8a1e37cab66b67_avx2+26F0
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D75: A8 01                 - test al,01
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D77: 0F 85 88 00 00 00     - jne lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2E05
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D7D: 48 8B 85 E0 00 00 00  - mov rax,[rbp+000000E0]
// ---------- INJECTING HERE ----------
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D84: 83 38 00              - cmp dword ptr [rax],00
// ---------- DONE INJECTING  ----------
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D87: 7E 7C                 - jle lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2E05
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D89: 48 8B 85 D8 00 00 00  - mov rax,[rbp+000000D8]
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D90: 8B 48 08              - mov ecx,[rax+08]
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D93: 0B 48 04              - or ecx,[rax+04]
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D96: F7 C1 20 40 03 00     - test ecx,00034020
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2D9C: 49 C7 07 00 00 00 00  - mov qword ptr [r15],00000000
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2DA3: 75 67                 - jne lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2E0C
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2DA5: 45 84 E4              - test r12b,r12b
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2DA8: 0F 84 32 01 00 00     - je lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2EE0
lib_burst_generated.burst.initialize.statics.4f05bc3c73bb69c3081dd26b32507641_avx2+2DAE: 48 8D 4E 28           - lea rcx,[rsi+28]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>1040</ID>
              <Description>"HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_hp_addr</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>1041</ID>
              <Description>"Mana"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_hp_addr</Address>
              <Offsets>
                <Offset>4</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>1033</ID>
          <Description>"Keep food level"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2024-08-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FOOD_NO_DEC,lib_burst_generated.dll,22 8B 07 FF C8 83 F8 64) // should be unique
alloc(newmem,$1000,INJECT_FOOD_NO_DEC)

label(code)
label(return)

newmem:
  cmp dword ptr [rdi], 60
  jae code
  mov dword ptr [rdi], 60

code:
  mov eax,[rdi]
  dec eax
  cmp eax,64
  jmp return

INJECT_FOOD_NO_DEC+01:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_FOOD_NO_DEC)

[DISABLE]

INJECT_FOOD_NO_DEC+01:
  db 8B 07 FF C8 83 F8 64

unregistersymbol(INJECT_FOOD_NO_DEC)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20BD

lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+2087: 48 85 C9                 - test rcx,rcx
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+208A: 48 0F 45 C1              - cmovne rax,rcx
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+208E: C5 EA 2A 88 CC 00 00 00  - vcvtsi2ss xmm1,edx,[rax+000000CC]
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+2096: C5 F2 5E 0D A6 94 5A 02  - vdivss xmm1,xmm1,[lib_burst_generated.dll+5C3D534]
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+209E: C5 F2 58 0D 8A 8F 5A 02  - vaddss xmm1,xmm1,[lib_burst_generated.dll+5C3D020]
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20A6: C5 CA 59 C9              - vmulss xmm1,xmm6,xmm1
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20AA: C5 FA 58 C1              - vaddss xmm0,xmm0,xmm1
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20AE: C5 FA 11 47 10           - vmovss [rdi+10],xmm0
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20B3: C5 F8 2E 05 85 94 5A 02  - vucomiss xmm0,[lib_burst_generated.dll+5C3D530]
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20BB: 76 22                    - jna lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20DF
// ---------- INJECTING HERE ----------
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20BD: 8B 07                    - mov eax,[rdi]
// ---------- DONE INJECTING  ----------
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20BF: FF C8                    - dec eax
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20C1: 83 F8 64                 - cmp eax,64
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20C4: B9 64 00 00 00           - mov ecx,00000064
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20C9: 0F 4C C8                 - cmovl ecx,eax
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20CC: 89 C8                    - mov eax,ecx
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20CE: C1 F8 1F                 - sar eax,1F
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20D1: C4 E2 78 F2 C1           - andn eax,eax,ecx
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20D6: 89 07                    - mov [rdi],eax
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20D8: C7 47 10 00 00 00 00     - mov [rdi+10],00000000
lib_burst_generated.burst.initialize.statics.e3526798698902d6ce40ddef695fa808_avx2+20DF: C4 C1 7A 10 41 08        - vmovss xmm0,[r9+08]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>1050</ID>
          <Description>"Set item durability"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2024-08-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanregion(INJECT_SET_ITEM_DUR,lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B80,lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+4B80,89 70 04 E9 01 09 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_ITEM_DUR)

label(code)
label(return)

newmem:
  cmp esi, 3E7
  jae code
  mov esi, 3E7

code:
  mov [rax+04],esi
  jmp INJECT_SET_ITEM_DUR+909
  //jmp lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+448D
  jmp return

INJECT_SET_ITEM_DUR:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SET_ITEM_DUR)

[DISABLE]

INJECT_SET_ITEM_DUR:
  db 89 70 04 E9 01 09 00 00

unregistersymbol(INJECT_SET_ITEM_DUR)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B84

lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B58: E8 53 F9 02 FF           - call lib_burst_generated.dll+2E384B0
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B5D: 48 8B 84 24 B0 02 00 00  - mov rax,[rsp+000002B0]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B65: 48 8B 08                 - mov rcx,[rax]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B68: 48 83 C0 10              - add rax,10
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B6C: 48 85 C9                 - test rcx,rcx
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B6F: 48 0F 45 C1              - cmovne rax,rcx
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B73: 48 8D 0C BF              - lea rcx,[rdi+rdi*4]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B77: 39 1C 88                 - cmp [rax+rcx*4],ebx
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B7A: 0F 85 0D 09 00 00        - jne lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+448D
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B80: 48 8D 04 88              - lea rax,[rax+rcx*4]
// ---------- INJECTING HERE ----------
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B84: 89 70 04                 - mov [rax+04],esi
// ---------- DONE INJECTING  ----------
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B87: E9 01 09 00 00           - jmp lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+448D
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B8C: 45 8B 4E 0C              - mov r9d,[r14+0C]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B90: 41 8B 46 10              - mov eax,[r14+10]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B94: 89 44 24 20              - mov [rsp+20],eax
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B98: 4C 89 E9                 - mov rcx,r13
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3B9B: 8B 94 24 8C 00 00 00     - mov edx,[rsp+0000008C]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3BA2: 44 8B 84 24 88 00 00 00  - mov r8d,[rsp+00000088]
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3BAA: C5 F8 77                 - vzeroupper 
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3BAD: E8 FE 4E 00 00           - call lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+8AB0
lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+3BB2: E9 D6 08 00 00           - jmp lib_burst_generated.burst.initialize.statics.d955aac4ce3e12722037e6821f29e8fc_avx2+448D
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>501</ID>
      <Description>"*** Core Keeper 1.0.0.1  /  https://opencheattables.com  /  CE 7.5+ ***"</Description>
      <Options moHideChildren="1"/>
      <Color>800080</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>1001</ID>
          <Description>"-Item ID-"</Description>
          <DropDownList DisplayValueAsItem="1">30:Scarlet pickaxe
31:Scaret Hoe
32:Scarlet Shovel
53:Scarlet Fishrod
110:Torch
111:Campfire
1500:Copper Ore
1510:Iron Ore
1520:Gold Ore
1521:Scarlet Ore
1522:Octarine Ore
1523:Galaxite Ore
1600:Anicent Gemstone
4016:Scarlet Workbench
6002:Tombstone
8301:Orb Lantern
8511:Scarlet Helm
8600:Copper Breastplate
8611:Scarlet Breastplate
8706:Scarlet Pants
8815:Polished Gold Crystal Necklance
8816:Anicent Gem Necklance
8853:Glow Tulip Ring
8854:Swift Ring
8858:Melting Crystal Ring
8866:Polished Glow Tulip Ring
8902:Scarlet Sword
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>000</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>AddressList.Header.OnSectionClick = nil
IDs = {501, 182, 365, 364, 165, 168, 178, 3, 186, 184, 367, 368, 167,
       }

function contains(table, val)
   local i = 0
   for i=1, #table do
      if table[i] == val then
         return true
      end
   end
   return false
end


function onMemRecPreExecute(memoryrecord, newstate)
    if contains(IDs, memoryrecord.ID) and newstate then
	    memoryrecord.OnActivate = function(memoryrecord, before, currentstate)
		    return false
	    end
    end
end
</LuaScript>
</CheatTable>
