<?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: first, wait for IL2CPP to complete, then enable again)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[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")
define(PlayerControllerDealDamageToPlayerProc,"PlayerController.DealDamageToPlayer")
define(PlayerControllerHealPlayerProc,"PlayerController.HealPlayer")
define(SkillTalentUIElementUpdateTalentProc,"SkillTalentUIElement.UpdateTalent")
define(PlayerControllerAddSkillProc,"PlayerController.AddSkill")
define(EntityUtilityGetDamageInfoProc,"EntityUtility.GetDamageInfo")
define(AttackPlayerClientSystemRegisterPlayerHitProc,"AttackPlayerClientSystem.RegisterPlayerHit")
define(PlayerStateWalkUpdateProc,"PlayerState.Walk.Update")
define(PlayerStateFishingUpdateMiniGameProc,"PlayerState.Fishing.UpdateMiniGame")
define(PlayerControllerReduceDurabilityOfHeldEquipmentProc,"PlayerController.ReduceDurabilityOfHeldEquipment")
define(PlayerControllerReduceDurabilityOfEquipmentProc,"PlayerController.ReduceDurabilityOfEquipment")
define(SaveManagerAddSkillValueProc,"SaveManager.AddSkillValue")
define(InventoryHandlerGetExistingAmountOfObjectProc,"InventoryHandler.GetExistingAmountOfObject")
define(PlayerStatePlayerBaseStateUpdateMiniGameProc, "PlayerState.PlayerBaseState.UpdateMiniGame")


registersymbol(PlayerControllerManagedUpdateProc)
registersymbol(PlayerControllerDealDamageToPlayerProc)
registersymbol(PlayerControllerHealPlayerProc)
registersymbol(SkillTalentUIElementUpdateTalentProc)
registersymbol(PlayerControllerAddSkillProc)
registersymbol(EntityUtilityGetDamageInfoProc)
registersymbol(AttackPlayerClientSystemRegisterPlayerHitProc)
registersymbol(PlayerStateWalkUpdateProc)
registersymbol(PlayerStateFishingUpdateMiniGameProc)
registersymbol(PlayerControllerReduceDurabilityOfHeldEquipmentProc)
registersymbol(PlayerControllerReduceDurabilityOfEquipmentProc)
registersymbol(SaveManagerAddSkillValueProc)
registersymbol(InventoryHandlerGetExistingAmountOfObjectProc)
registersymbol(PlayerStatePlayerBaseStateUpdateMiniGameProc)

[DISABLE]
{$lua}
if syntaxcheck then return end;if not syntaxcheck and monopipe then monopipe=nil,monopipe.Destroy()end

{$asm}
unregistersymbol(*)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>996</ID>
          <Description>"Food never below #"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-11-11
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FOOD_DEC,lib_burst_generated.dll,83 FF 64 BA 64 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_FOOD_DEC)

label(code)
label(return)
label(i_food_min)
newmem:
  cmp edi, [i_food_min]
  jge code
  mov edi, [i_food_min]
  mov [r14+rsi], edi

code:
  //cmp ecx,65
  //mov edx,00000064
  cmp edi,64
  mov edx,00000064
  jmp return
align 10 cc
  i_food_min:
  dd #95
INJECT_FOOD_DEC:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FOOD_DEC)
registersymbol(i_food_min)
[DISABLE]

INJECT_FOOD_DEC:
  db 83 FF 64 BA 64 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.dll+14B7E2B

lib_burst_generated.dll+14B7DCF - C441782EF0            - vucomiss xmm14,xmm8
lib_burst_generated.dll+14B7DD4 - C4C17A104C 36 10      - vmovss xmm1,[r14+rsi+10]
lib_burst_generated.dll+14B7DDB - 76 41                 - jna lib_burst_generated.dll+14B7E1E
lib_burst_generated.dll+14B7DDD - 44 89 E2              - mov edx,r12d
lib_burst_generated.dll+14B7DE0 - 0FAF 54 24 70         - imul edx,[rsp+70]
lib_burst_generated.dll+14B7DE5 - 48 63 D2              - movsxd  rdx,edx
lib_burst_generated.dll+14B7DE8 - 48 03 54 24 78        - add rdx,[rsp+78]
lib_burst_generated.dll+14B7DED - 48 8B 3A              - mov rdi,[rdx]
lib_burst_generated.dll+14B7DF0 - 48 83 C2 10           - add rdx,10
lib_burst_generated.dll+14B7DF4 - 48 85 FF              - test rdi,rdi
lib_burst_generated.dll+14B7DF7 - 48 0F45 D7            - cmovne rdx,rdi
lib_burst_generated.dll+14B7DFB: C5 DA 2A 92 CC 00 00 00     - vcvtsi2ss xmm2,esp,[rdx+000000CC]
lib_burst_generated.dll+14B7E03: C5 EA 5E 15 F5 7B 46 00     - vdivss xmm2,xmm2,[lib_burst_generated.dll+191FA00]
lib_burst_generated.dll+14B7E0B: C5 AA 58 D2                 - vaddss xmm2,xmm10,xmm2
lib_burst_generated.dll+14B7E0F: C5 BA 59 D2                 - vmulss xmm2,xmm8,xmm2
lib_burst_generated.dll+14B7E13: C5 F2 58 CA                 - vaddss xmm1,xmm1,xmm2
lib_burst_generated.dll+14B7E17: C4 C1 7A 11 4C 36 10        - vmovss [r14+rsi+10],xmm1
lib_burst_generated.dll+14B7E1E: C4 C1 78 2E CF              - vucomiss xmm1,xmm15
lib_burst_generated.dll+14B7E23: 76 28                       - jna lib_burst_generated.dll+14B7E4D
lib_burst_generated.dll+14B7E25: 41 8B 3C 36                 - mov edi,[r14+rsi]
lib_burst_generated.dll+14B7E29: FF CF                       - dec edi
// ---------- INJECTING HERE ----------
lib_burst_generated.dll+14B7E2B: 83 FF 64                    - cmp edi,64
// ---------- DONE INJECTING  ----------
lib_burst_generated.dll+14B7E2E: BA 64 00 00 00              - mov edx,00000064
lib_burst_generated.dll+14B7E33: 0F 4D FA                    - cmovge edi,edx
lib_burst_generated.dll+14B7E36: 89 FA                       - mov edx,edi
lib_burst_generated.dll+14B7E38: C1 FA 1F                    - sar edx,1F
lib_burst_generated.dll+14B7E3B: C4 E2 68 F2 D7              - andn edx,edx,edi
lib_burst_generated.dll+14B7E40: 41 89 14 36                 - mov [r14+rsi],edx
lib_burst_generated.dll+14B7E44: 41 C7 44 36 10 00 00 00 00  - mov [r14+rsi+10],00000000
lib_burst_generated.dll+14B7E4D: 48 63 E9                    - movsxd  rbp,ecx
lib_burst_generated.dll+14B7E50: 48 03 6C 24 68              - add rbp,[rsp+68]
lib_burst_generated.dll+14B7E55: C4 C1 7A 11 44 36 04        - vmovss [r14+rsi+04],xmm0
lib_burst_generated.dll+14B7E5C - C4C379174436 08 01    - vextractps [r14+rsi+08],xmm0,xmm0,01
lib_burst_generated.dll+14B7E64 - C4C379174436 0C 02    - vextractps [r14+rsi+0C],xmm0,xmm0,02
lib_burst_generated.dll+14B7E6C - 45 8B 3C 36           - mov r15d,[r14+rsi]
lib_burst_generated.dll+14B7E70 - 41 83 FF 18           - cmp r15d,18
lib_burst_generated.dll+14B7E74 - 88 5C 24 43           - mov [rsp+43],bl
lib_burst_generated.dll+14B7E78 - 7E 56                 - jle lib_burst_generated.dll+14B7ED0
lib_burst_generated.dll+14B7E7A - 8B 48 08              - mov ecx,[rax+08]
lib_burst_generated.dll+14B7E7D - 85 C9                 - test ecx,ecx

}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>178</ID>
              <Description>"Min. number"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_food_min</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>1013</ID>
          <Description>"Set all item to # stock when pick up (turn on when needed, require stack # of 3 or more)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-05-10
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_ITEM_SPLIT_DEST,lib_burst_generated.dll+184C9BE, lib_burst_generated.dll+18FC9BE,8B 74 B8 04 8B 4C B8 08) // should be unique
alloc(newmem,$1000,INJECT_ITEM_SPLIT_DEST)

label(code)
label(return)
label(i_dest_item_addr)
label(i_min_value)

newmem:
  push rbx
  lea rbx, [rax+rdi*4]
  mov [i_dest_item_addr], rbx
  pop rbx

  mov esi,[rax+rdi*4+04]
  cmp esi, [i_min_value]
  jge code
  cmp esi, 1
  jle code
  mov esi, [i_min_value]
  mov [rax+rdi*4+04], esi


code:
  //mov [rbp+rdi+04],r8d
  mov esi,[rax+rdi*4+04]
  mov ecx,[rax+rdi*4+08]
  jmp return

align 10 cc
  i_dest_item_addr:
  dq 0
  i_min_value:
  dd #995
  i_min_safe_value:
  dd 1


INJECT_ITEM_SPLIT_DEST:
  jmp newmem
  nop 3
return:

registersymbol(i_dest_item_addr)
registersymbol(i_min_value)
registersymbol(INJECT_ITEM_SPLIT_DEST)

[DISABLE]

INJECT_ITEM_SPLIT_DEST:
  db 8B 74 B8 04 8B 4C B8 08

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.dll+189C9BE

lib_burst_generated.dll+189C992: E8 B9 66 BB FF           - call lib_burst_generated.dll+1453050
lib_burst_generated.dll+189C997: 48 8B 84 24 58 01 00 00  - mov rax,[rsp+00000158]
lib_burst_generated.dll+189C99F: 48 8B 08                 - mov rcx,[rax]
lib_burst_generated.dll+189C9A2: 48 83 C0 10              - add rax,10
lib_burst_generated.dll+189C9A6: 48 85 C9                 - test rcx,rcx
lib_burst_generated.dll+189C9A9: 48 0F 45 C1              - cmovne rax,rcx
lib_burst_generated.dll+189C9AD: 48 63 CF                 - movsxd  rcx,edi
lib_burst_generated.dll+189C9B0: 48 8D 3C 89              - lea rdi,[rcx+rcx*4]
lib_burst_generated.dll+189C9B4: 8B 0C B8                 - mov ecx,[rax+rdi*4]
lib_burst_generated.dll+189C9B7: 89 8C 24 A0 00 00 00     - mov [rsp+000000A0],ecx
// ---------- INJECTING HERE ----------
lib_burst_generated.dll+189C9BE: 8B 74 B8 04              - mov esi,[rax+rdi*4+04]
// ---------- DONE INJECTING  ----------
lib_burst_generated.dll+189C9C2: 8B 4C B8 08              - mov ecx,[rax+rdi*4+08]
lib_burst_generated.dll+189C9C6: 89 8C 24 9C 00 00 00     - mov [rsp+0000009C],ecx
lib_burst_generated.dll+189C9CD: 66 89 6C 24 6C           - mov [rsp+6C],bp
lib_burst_generated.dll+189C9D2: 8B 6C B8 0C              - mov ebp,[rax+rdi*4+0C]
lib_burst_generated.dll+189C9D6: 48 8D 8C 24 48 01 00 00  - lea rcx,[rsp+00000148]
lib_burst_generated.dll+189C9DE: 48 8D 94 24 D0 00 00 00  - lea rdx,[rsp+000000D0]
lib_burst_generated.dll+189C9E6: 44 8B 84 24 20 02 00 00  - mov r8d,[rsp+00000220]
lib_burst_generated.dll+189C9EE: 41 89 D9                 - mov r9d,ebx
lib_burst_generated.dll+189C9F1: E8 5A 66 BB FF           - call lib_burst_generated.dll+1453050
lib_burst_generated.dll+189C9F6: 48 8B 9C 24 48 01 00 00  - mov rbx,[rsp+00000148]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>1021</ID>
              <Description>"*** Warning *** not work as expected"</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>1014</ID>
              <Description>"Min. value"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_value</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>1015</ID>
              <Description>"Get item ID &amp; count"</Description>
              <Options moDeactivateChildrenAsWell="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>1016</ID>
                  <Description>"Usage: Open itembox"</Description>
                  <Color>8000FF</Color>
                  <GroupHeader>1</GroupHeader>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>1017</ID>
                      <Description>"1. Right click on single item (# of items must be 1) to pick item"</Description>
                      <Color>8000FF</Color>
                      <GroupHeader>1</GroupHeader>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>1018</ID>
                      <Description>"2. Left click to put it down"</Description>
                      <Color>8000FF</Color>
                      <GroupHeader>1</GroupHeader>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
                <CheatEntry>
                  <ID>1019</ID>
                  <Description>"Pick-up Item ID"</Description>
                  <DropDownListLink>-Item ID-</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_dest_item_addr</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>1020</ID>
                  <Description>"Pick-up Item Count (Only for stackable) / Durability (for non-stackable)"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_dest_item_addr</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>260</ID>
          <Description>"Freeze durability of held equip."</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-04-02
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]

//aobscanmodule(INJECT_HELD_EQUIPMENT,GameAssembly.dll,22 EA FF CC CC CC CC CC 48 89 5C 24 10) // should be unique
aobscanregion(INJECT_HELD_EQUIPMENT,PlayerControllerReduceDurabilityOfHeldEquipmentProc,PlayerControllerReduceDurabilityOfHeldEquipmentProc+10,48 89 5C 24 18) // should be unique
alloc(newmem,$1000,INJECT_HELD_EQUIPMENT)

label(code)
label(return)

newmem:
  ret

code:
  //mov [rsp+10],rbx
  jmp return

INJECT_HELD_EQUIPMENT:
  jmp newmem
return:
registersymbol(INJECT_HELD_EQUIPMENT)

[DISABLE]

INJECT_HELD_EQUIPMENT:
  db 48 89 5C 24 18

unregistersymbol(INJECT_HELD_EQUIPMENT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: PlayerControllerReduceDurabilityOfHeldEquipmentProc

GameAssembly.dll+1A9F236: CC                    - int 3
GameAssembly.dll+1A9F237: CC                    - int 3
GameAssembly.dll+1A9F238: CC                    - int 3
GameAssembly.dll+1A9F239: CC                    - int 3
GameAssembly.dll+1A9F23A: CC                    - int 3
GameAssembly.dll+1A9F23B: CC                    - int 3
GameAssembly.dll+1A9F23C: CC                    - int 3
GameAssembly.dll+1A9F23D: CC                    - int 3
GameAssembly.dll+1A9F23E: CC                    - int 3
GameAssembly.dll+1A9F23F: CC                    - int 3
// ---------- INJECTING HERE ----------
PlayerControllerReduceDurabilityOfHeldEquipmentProc: 48 89 5C 24 18        - mov [rsp+18],rbx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+1A9F245: 48 89 74 24 20        - mov [rsp+20],rsi
GameAssembly.dll+1A9F24A: 57                    - push rdi
GameAssembly.dll+1A9F24B: 48 83 EC 40           - sub rsp,40
GameAssembly.dll+1A9F24F: 80 3D 02 21 A9 02 00  - cmp byte ptr [GameAssembly.dll+4531358],00
GameAssembly.dll+1A9F256: 48 8B F1              - mov rsi,rcx
GameAssembly.dll+1A9F259: 75 2B                 - jne GameAssembly.dll+1A9F286
GameAssembly.dll+1A9F25B: 48 8D 0D 5E 15 89 02  - lea rcx,[GameAssembly.dll+43307C0]
GameAssembly.dll+1A9F262: E8 A9 98 77 FE        - call GameAssembly.dll+218B10
GameAssembly.dll+1A9F267: 48 8D 0D 82 3F 84 02  - lea rcx,[GameAssembly.dll+42E31F0]
GameAssembly.dll+1A9F26E: E8 9D 98 77 FE        - call GameAssembly.dll+218B10
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>261</ID>
          <Description>"Freeze durability of equips except held one"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-04-02
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_REDUCE_DUR_EQUIPMENT,PlayerControllerReduceDurabilityOfEquipmentProc,PlayerControllerReduceDurabilityOfEquipmentProc+A,48 89 5C 24 10) // should be unique


alloc(newmem,$1000,INJECT_REDUCE_DUR_EQUIPMENT)

label(code)
label(return)

newmem:
  ret
code:
  //mov [rsp+10],rbx
  jmp return

INJECT_REDUCE_DUR_EQUIPMENT:
  jmp newmem
return:
registersymbol(INJECT_REDUCE_DUR_EQUIPMENT)

[DISABLE]

INJECT_REDUCE_DUR_EQUIPMENT:
  db 48 89 5C 24 10

unregistersymbol(INJECT_REDUCE_DUR_EQUIPMENT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: PlayerControllerReduceDurabilityOfEquipmentProc

GameAssembly.dll+28620AB: 48 8B 6C 24 50        - mov rbp,[rsp+50]
GameAssembly.dll+28620B0: 48 83 C4 30           - add rsp,30
GameAssembly.dll+28620B4: 5F                    - pop rdi
GameAssembly.dll+28620B5: C3                    - ret
GameAssembly.dll+28620B6: E8 15 72 CD FD        - call GameAssembly.mono_method_get_class+A0
GameAssembly.dll+28620BB: CC                    - int 3
GameAssembly.dll+28620BC: CC                    - int 3
GameAssembly.dll+28620BD: CC                    - int 3
GameAssembly.dll+28620BE: CC                    - int 3
GameAssembly.dll+28620BF: CC                    - int 3
// ---------- INJECTING HERE ----------
PlayerControllerReduceDurabilityOfEquipmentProc: 48 89 5C 24 10        - mov [rsp+10],rbx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+28620C5: 48 89 6C 24 18        - mov [rsp+18],rbp
GameAssembly.dll+28620CA: 57                    - push rdi
GameAssembly.dll+28620CB: 48 83 EC 40           - sub rsp,40
GameAssembly.dll+28620CF: 80 3D 9D 2D 01 02 00  - cmp byte ptr [GameAssembly.dll+4874E73],00
GameAssembly.dll+28620D6: 41 8B E8              - mov ebp,r8d
GameAssembly.dll+28620D9: 48 8B FA              - mov rdi,rdx
GameAssembly.dll+28620DC: 48 8B D9              - mov rbx,rcx
GameAssembly.dll+28620DF: 75 13                 - jne GameAssembly.dll+28620F4
GameAssembly.dll+28620E1: 48 8D 0D 18 2C DF 01  - lea rcx,[GameAssembly.dll+4654D00]
GameAssembly.dll+28620E8: E8 43 70 CD FD        - call GameAssembly.il2cpp_get_exception_argument_null+2B0
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>185</ID>
          <Description>"Player move speed"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-05-10
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]


aobscanregion(INJECT_PLAYER_DATA,PlayerControllerManagedUpdateProc+400,PlayerControllerManagedUpdateProc+680,44 39 A6 ?? ?? ?? 00 7F 61 48 8B 8E ?? ?? ?? 00 48 85 C9 0F 84) // 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:
  push r13
  push rax

  lea rax, [INJECT_PLAYER_DATAo+3]
  mov eax, [rax]
  lea r13, [rsi+eax]
  mov [i_char_localHealth_addr], r13

  pop rax
  pop r13

  //mov [i_char_base_addr], rdi

code:
  //xxxxxxcmp [rdi+00000A20],esi
  //cmp [rsi+00000AE0],r12d
  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 44 39 B7 20 0A 00 00
  readmem(INJECT_PLAYER_DATAo, 7)

unregistersymbol(*)
unregistersymbol(INJECT_PLAYER_DATAo)
dealloc(newmem)
dealloc(INJECT_PLAYER_DATAo)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2AB4934

GameAssembly.dll+2AB4901: E8 5A 1B AD FD           - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+2AB4906: 4C 8B 0D 23 13 F2 01     - mov r9,[GameAssembly.dll+49D5C30]
GameAssembly.dll+2AB490D: 4C 8B C7                 - mov r8,rdi
GameAssembly.dll+2AB4910: 49 8B D7                 - mov rdx,r15
GameAssembly.dll+2AB4913: 48 8B CB                 - mov rcx,rbx
GameAssembly.dll+2AB4916: E8 A5 DD 14 FE           - call GameAssembly.dll+C026C0
GameAssembly.dll+2AB491B: 4C 8B BC 24 60 01 00 00  - mov r15,[rsp+00000160]
GameAssembly.dll+2AB4923: 33 C0                    - xor eax,eax
GameAssembly.dll+2AB4925: 48 89 86 60 04 00 00     - mov [rsi+00000460],rax
GameAssembly.dll+2AB492C: 4C 8B B4 24 68 01 00 00  - mov r14,[rsp+00000168]
// ---------- INJECTING HERE ----------
GameAssembly.dll+2AB4934: 44 39 A6 E0 0A 00 00     - cmp [rsi+00000AE0],r12d
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2AB493B: 7F 61                    - jg GameAssembly.dll+2AB499E
GameAssembly.dll+2AB493D: 48 8B 8E 18 03 00 00     - mov rcx,[rsi+00000318]
GameAssembly.dll+2AB4944: 48 85 C9                 - test rcx,rcx
GameAssembly.dll+2AB4947: 0F 84 AC 15 00 00        - je GameAssembly.dll+2AB5EF9
GameAssembly.dll+2AB494D: 33 D2                    - xor edx,edx
GameAssembly.dll+2AB494F: E8 1C 15 FA FF           - call PlayerState.State.get_isActive
GameAssembly.dll+2AB4954: 84 C0                    - test al,al
GameAssembly.dll+2AB4956: 75 46                    - jne GameAssembly.dll+2AB499E
GameAssembly.dll+2AB4958: 48 8B 8E E8 02 00 00     - mov rcx,[rsi+000002E8]
GameAssembly.dll+2AB495F: 48 85 C9                 - test rcx,rcx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>186</ID>
              <Description>"localHealth"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_localHealth_addr</Address>
              <Offsets>
                <Offset>0</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>-680</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>183</ID>
          <Description>"Player HP"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-30
  Author : bbfox@ https://opencheattables.com
}

[ENABLE]

aobscanregion(INJECT_HP_DAMAGE,PlayerControllerDealDamageToPlayerProc+a0,PlayerControllerDealDamageToPlayerProc+5a0,29 9F ?? ?? ?? ?? 45 33 E4 44 39 A7 ?? ?? ?? ?? 0F 8F ?? ?? ?? ?? 48 8B 9F) // should be unique
alloc(newmem,$1000,INJECT_HP_DAMAGE)

alloc(INJECT_HP_DAMAGEo, 6)

label(code)
label(return)
label(i_player_base_addr)
label(i_player_hp_option)

INJECT_HP_DAMAGEo:
  readmem(INJECT_HP_DAMAGE, 6)

newmem:
  push r13
  push rax

  lea rax, [INJECT_HP_DAMAGEo+2]
  mov eax, [rax]
  //mov [i_player_base_addr], eax
  lea r13, [rdi+eax]
  mov [i_player_base_addr], r13

  //lea r13, [rdi+00000A00]
 // mov [i_player_base_addr], r13

  pop rax
  pop r13

  cmp dword ptr [i_player_hp_option], 0
  je code
  cmp dword ptr [i_player_hp_option], 1
  jne check_hp2
  //add [rdi+00000A00], ebx
  push r13
  mov r13, [i_player_base_addr]
  add [r13], ebx
  pop r13
  jmp endp

check_hp2:
  cmp dword ptr [i_player_hp_option], 2
  jne check_hp3
  mov ebx, 1
  jmp endp

check_hp3:
  cmp dword ptr [i_player_hp_option], 3
  jne endp
  mov ebx, 0
  jmp endp

endp:

code:
  reassemble(INJECT_HP_DAMAGE)
  jmp return

align 10 cc
  i_player_base_addr:
  dq 0
  i_player_hp_option: //0:Normal, 1:try to Keep, 2:1pt, 3:No damage
  dd 1

INJECT_HP_DAMAGE:
  jmp newmem
  nop
return:
registersymbol(i_player_base_addr)
registersymbol(i_player_hp_option)
registersymbol(INJECT_HP_DAMAGE)
registersymbol(INJECT_HP_DAMAGEo)

[DISABLE]

INJECT_HP_DAMAGE:
  //db 29 9F C8 09 00 00
  readmem(INJECT_HP_DAMAGEo, 6)

unregistersymbol(*)
unregistersymbol(INJECT_HP_DAMAGEo)
dealloc(newmem)
dealloc(INJECT_HP_DAMAGEo)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2857F8C

PlayerControllerDealDamageToPlayerProc - 40 55                 - push rbp
GameAssembly.dll+2857EE2               - 53                    - push rbx
GameAssembly.dll+2857EE3               - 57                    - push rdi
GameAssembly.dll+2857EE4               - 41 55                 - push r13
GameAssembly.dll+2857EE6               - 48 8D AC 24 58FFFFFF  - lea rbp,[rsp-000000A8]
GameAssembly.dll+2857EEE               - 48 81 EC A8010000     - sub rsp,000001A8
GameAssembly.dll+2857EF5               - 80 3D FE420202 00     - cmp byte ptr [GameAssembly.dll+487C1FA],00
GameAssembly.dll+2857EFC               - 4D 8B E8              - mov r13,r8
GameAssembly.dll+2857EFF               - 44 0F29 94 24 50010000  - movaps [rsp+00000150],xmm10
GameAssembly.dll+2857F08               - 8B DA                 - mov ebx,edx
GameAssembly.dll+2857F0A               - 44 0F28 D3            - movaps xmm10,xmm3
GameAssembly.dll+2857F0E               - 48 8B F9              - mov rdi,rcx
GameAssembly.dll+2857F11               - 75 37                 - jne GameAssembly.dll+2857F4A
GameAssembly.dll+2857F13               - 48 8D 0D C62CD701     - lea rcx,[GameAssembly.dll+45CABE0]
GameAssembly.dll+2857F1A               - E8 A130CEFD           - call GameAssembly.il2cpp_get_exception_argument_null+2B0
GameAssembly.dll+2857F1F               - 48 8D 0D CA2DD701     - lea rcx,[GameAssembly.dll+45CACF0]
GameAssembly.dll+2857F26               - E8 9530CEFD           - call GameAssembly.il2cpp_get_exception_argument_null+2B0
GameAssembly.dll+2857F2B               - 48 8D 0D F656D701     - lea rcx,[GameAssembly.dll+45CD628]
GameAssembly.dll+2857F32               - E8 8930CEFD           - call GameAssembly.il2cpp_get_exception_argument_null+2B0
GameAssembly.dll+2857F37               - 48 8D 0D 62E4D801     - lea rcx,[GameAssembly.dll+45E63A0]
GameAssembly.dll+2857F3E               - E8 7D30CEFD           - call GameAssembly.il2cpp_get_exception_argument_null+2B0
GameAssembly.dll+2857F43: C6 05 B0 42 02 02 01     - mov byte ptr [GameAssembly.dll+487C1FA],01
GameAssembly.dll+2857F4A: 80 BF A8 02 00 00 00     - cmp byte ptr [rdi+000002A8],00
GameAssembly.dll+2857F51: 0F 85 90 04 00 00        - jne GameAssembly.dll+28583E7
GameAssembly.dll+2857F57: 80 BF E4 09 00 00 00     - cmp byte ptr [rdi+000009E4],00
GameAssembly.dll+2857F5E: 0F 85 83 04 00 00        - jne GameAssembly.dll+28583E7
GameAssembly.dll+2857F64: 48 89 B4 24 D0 01 00 00  - mov [rsp+000001D0],rsi
GameAssembly.dll+2857F6C: 4C 89 A4 24 D8 01 00 00  - mov [rsp+000001D8],r12
GameAssembly.dll+2857F74: 4C 89 B4 24 E0 01 00 00  - mov [rsp+000001E0],r14
GameAssembly.dll+2857F7C: 4C 89 BC 24 A0 01 00 00  - mov [rsp+000001A0],r15
GameAssembly.dll+2857F84: 0F 29 B4 24 90 01 00 00  - movaps [rsp+00000190],xmm6
// ---------- INJECTING HERE ----------
GameAssembly.dll+2857F8C: 29 9F C8 09 00 00        - sub [rdi+000009C8],ebx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2857F92: 45 33 E4                 - xor r12d,r12d
GameAssembly.dll+2857F95: 44 39 A7 C8 09 00 00     - cmp [rdi+000009C8],r12d
GameAssembly.dll+2857F9C: 0F 8F 0E 01 00 00        - jg GameAssembly.dll+28580B0
GameAssembly.dll+2857FA2: 48 8B 9F A0 00 00 00     - mov rbx,[rdi+000000A0]
GameAssembly.dll+2857FA9: 33 D2                    - xor edx,edx
GameAssembly.dll+2857FAB: 48 8B CF                 - mov rcx,rdi
GameAssembly.dll+2857FAE: E8 AD 10 DB FF           - call PlacementHandler.get_world
GameAssembly.dll+2857FB3: 48 8B 0D E6 E3 D8 01     - mov rcx,[GameAssembly.dll+45E63A0]
GameAssembly.dll+2857FBA: 48 8B F0                 - mov rsi,rax
GameAssembly.dll+2857FBD: 44 39 A1 E0 00 00 00     - cmp [rcx+000000E0],r12d
GameAssembly.dll+2857FC4 - 75 05                 - jne GameAssembly.dll+2857FCB
GameAssembly.dll+2857FC6 - E8 3532CEFD           - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+2857FCB - 45 33 C9              - xor r9d,r9d
GameAssembly.dll+2857FCE - 4C 8B C6              - mov r8,rsi
GameAssembly.dll+2857FD1 - 48 8B D3              - mov rdx,rbx
GameAssembly.dll+2857FD4 - 41 8D 49 6C           - lea ecx,[r9+6C]
GameAssembly.dll+2857FD8 - E8 832BDDFF           - call EntityUtility.GetConditionValue
GameAssembly.dll+2857FDD - 33 C9                 - xor ecx,ecx
GameAssembly.dll+2857FDF - 8B D8                 - mov ebx,eax
GameAssembly.dll+2857FE1 - E8 DA9CC700           - call UnityEngine.Random.get_value
GameAssembly.dll+2857FE6 - 66 0F6E CB            - movd xmm1,ebx
GameAssembly.dll+2857FEA - 0F5B C9               - cvtdq2ps xmm1,xmm1

}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>184</ID>
              <Description>"HP damage option"</Description>
              <DropDownList DisplayValueAsItem="1">0:Normal
1:Try to keep
2:1pt
3:No damage
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_player_hp_option</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>1004</ID>
              <Description>"HP now (when hit)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_player_base_addr</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>181</ID>
          <Description>"HP recover multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-30
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_FASTER_HP_ADD,PlayerControllerHealPlayerProc+100,PlayerControllerHealPlayerProc+600,48 8B 17 03 DE) // should be unique

alloc(newmem,$1000,INJECT_FASTER_HP_ADD)

label(code)
label(return)
label(vf_addhp_multi)

newmem:
  vmovss xmm15, [vf_addhp_multi]
  cvtsi2ss xmm14, esi
  vmulss xmm15, xmm14, xmm15
  cvtss2si esi, xmm15

code:
  mov rdx,[rdi]
  add ebx,esi
  jmp return

align 10 cc
  vf_addhp_multi:
  dd (float)1.5


INJECT_FASTER_HP_ADD:
  jmp newmem
return:
registersymbol(vf_addhp_multi)
registersymbol(INJECT_FASTER_HP_ADD)

[DISABLE]

INJECT_FASTER_HP_ADD:
  db 48 8B 17 03 DE

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+285A68C

GameAssembly.dll+285A626 - E8 2597DAFF           - call PlacementHandler.get_world
GameAssembly.dll+285A62B - 48 8B 0D 264DD801     - mov rcx,[GameAssembly.dll+45DF358]
GameAssembly.dll+285A632 - 48 8B E8              - mov rbp,rax
GameAssembly.dll+285A635 - 83 B9 E0000000 00     - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+285A63C - 75 05                 - jne GameAssembly.dll+285A643
GameAssembly.dll+285A63E - E8 2DEDCDFD           - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+285A643 - 45 33 C9              - xor r9d,r9d
GameAssembly.dll+285A646 - 4C 8B C5              - mov r8,rbp
GameAssembly.dll+285A649 - 48 8B D3              - mov rdx,rbx
GameAssembly.dll+285A64C - 41 8D 49 1E           - lea ecx,[r9+1E]
GameAssembly.dll+285A650 - E8 6BAEDCFF           - call EntityUtility.GetConditionEffectValue
GameAssembly.dll+285A655 - 85 C0                 - test eax,eax
GameAssembly.dll+285A657 - 75 2A                 - jne GameAssembly.dll+285A683
GameAssembly.dll+285A659 - 66 0F6E C6            - movd xmm0,esi
GameAssembly.dll+285A65D: 33 D2                    - xor edx,edx
GameAssembly.dll+285A65F: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
GameAssembly.dll+285A662: F3 0F 59 05 4E E5 F1 00  - mulss xmm0,[GameAssembly.dll+3778BB8]
GameAssembly.dll+285A66A: E8 61 14 B7 FF           - call GameAssembly.dll+23CBAD0
GameAssembly.dll+285A66F: F3 0F 10 0D 6D E5 F1 00  - movss xmm1,[GameAssembly.dll+3778BE4]
GameAssembly.dll+285A677: 45 33 C0                 - xor r8d,r8d
GameAssembly.dll+285A67A: E8 E1 52 14 FE           - call Unity.Mathematics.math.max
GameAssembly.dll+285A67F: F3 0F 2C F0              - cvttss2si esi,xmm0
GameAssembly.dll+285A683: 8B 9F C8 09 00 00        - mov ebx,[rdi+000009C8]
GameAssembly.dll+285A689: 48 8B CF                 - mov rcx,rdi
// ---------- INJECTING HERE ----------
GameAssembly.dll+285A68C: 48 8B 17                 - mov rdx,[rdi]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+285A68F: 03 DE                    - add ebx,esi
GameAssembly.dll+285A691: 89 9F C8 09 00 00        - mov [rdi+000009C8],ebx
GameAssembly.dll+285A697: 48 8B 82 88 02 00 00     - mov rax,[rdx+00000288]
GameAssembly.dll+285A69E: 48 8B 92 90 02 00 00     - mov rdx,[rdx+00000290]
GameAssembly.dll+285A6A5: FF D0                    - call rax
GameAssembly.dll+285A6A7: F2 0F 10 87 38 01 00 00  - movsd xmm0,[rdi+00000138]
GameAssembly.dll+285A6AF: 48 8D 54 24 30           - lea rdx,[rsp+30]
GameAssembly.dll+285A6B4: 48 8B AF 70 03 00 00     - mov rbp,[rdi+00000370]
GameAssembly.dll+285A6BB: 48 8D 4C 24 40           - lea rcx,[rsp+40]
GameAssembly.dll+285A6C0: 3B D8                    - cmp ebx,eax
GameAssembly.dll+285A6C2 - F2 0F11 44 24 30      - movsd [rsp+30],xmm0
GameAssembly.dll+285A6C8 - 8B F0                 - mov esi,eax
GameAssembly.dll+285A6CA - 8B 87 40010000        - mov eax,[rdi+00000140]
GameAssembly.dll+285A6D0 - 0F4C F3               - cmovl esi,ebx
GameAssembly.dll+285A6D3 - 89 44 24 38           - mov [rsp+38],eax
GameAssembly.dll+285A6D7 - 48 8B 9F A0000000     - mov rbx,[rdi+000000A0]
GameAssembly.dll+285A6DE - 45 33 C0              - xor r8d,r8d
GameAssembly.dll+285A6E1 - 89 B7 C8090000        - mov [rdi+000009C8],esi
GameAssembly.dll+285A6E7 - E8 642E9700           - call Unity.Mathematics.float3.get_xyz
GameAssembly.dll+285A6EC - 48 85 ED              - test rbp,rbp

}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>182</ID>
              <Description>"Multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_addhp_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>156</ID>
          <Description>"Spend skill point everywhere+"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>157</ID>
              <Description>"Allow you to click skill point in any place, UI will display all as "5""</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>155</ID>
              <Description>"Click to display as "all 5""</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-12
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_SKILL2,SkillTalentUIElementUpdateTalentProc+170,SkillTalentUIElementUpdateTalentProc+790,8B 84 24 C0 00 00 00 89 87)
alloc(newmem,$1000,INJECT_SKILL2)

label(code)
label(return)

newmem:
  mov eax, 5
  mov [rsp+000000C0], eax

code:
  mov eax,[rsp+000000C0]
  jmp return

INJECT_SKILL2:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SKILL2)

[DISABLE]

INJECT_SKILL2:
  db 8B 84 24 C0 00 00 00

unregistersymbol(INJECT_SKILL2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+26E23E2

GameAssembly.dll+26E23B5: 48 8B 4F 50           - mov rcx,[rdi+50]
GameAssembly.dll+26E23B9: 0F 10 06              - movups xmm0,[rsi]
GameAssembly.dll+26E23BC: 0F 11 44 24 40        - movups [rsp+40],xmm0
GameAssembly.dll+26E23C1: F2 0F 10 4E 10        - movsd xmm1,[rsi+10]
GameAssembly.dll+26E23C6: F2 0F 11 4C 24 50     - movsd [rsp+50],xmm1
GameAssembly.dll+26E23CC: 48 85 C9              - test rcx,rcx
GameAssembly.dll+26E23CF: 0F 84 E3 06 00 00     - je GameAssembly.dll+26E2AB8
GameAssembly.dll+26E23D5: 45 33 C0              - xor r8d,r8d
GameAssembly.dll+26E23D8: 48 8B 54 24 50        - mov rdx,[rsp+50]
GameAssembly.dll+26E23DD: E8 0E F3 DE 00        - call UnityEngine.SpriteRenderer.set_sprite
// ---------- INJECTING HERE ----------
GameAssembly.dll+26E23E2: 8B 84 24 C0 00 00 00  - mov eax,[rsp+000000C0]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+26E23E9: 89 87 B8 00 00 00     - mov [rdi+000000B8],eax
GameAssembly.dll+26E23EF: 33 D2                 - xor edx,edx
GameAssembly.dll+26E23F1: 48 8B CF              - mov rcx,rdi
GameAssembly.dll+26E23F4: E8 57 F5 FF FF        - call SkillTalentUIElement.GetCurrentPoints
GameAssembly.dll+26E23F9: 8B D8                 - mov ebx,eax
GameAssembly.dll+26E23FB: 33 C9                 - xor ecx,ecx
GameAssembly.dll+26E23FD: E8 7E DA 0E 00        - call Manager.get_saves
GameAssembly.dll+26E2402: 48 85 C0              - test rax,rax
GameAssembly.dll+26E2405: 0F 84 AD 06 00 00     - je GameAssembly.dll+26E2AB8
GameAssembly.dll+26E240B: 45 33 C0              - xor r8d,r8d
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>160</ID>
          <Description>"Skill XP multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-13
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_SKILL_XP_MULTI,PlayerControllerAddSkillProc+120,PlayerControllerAddSkillProc+360,45 8B C7 8B D7 48 8B C8) // should be unique
alloc(newmem,$1000,INJECT_SKILL_XP_MULTI)

label(code)
label(return)
label(vf_skill_xp_multi)

newmem:
  // rdx = skill
  // r14d = xp
  vmovss xmm14, [vf_skill_xp_multi]
  cvtsi2ss xmm15, r15d
  vmulss xmm15, xmm15, xmm14
  cvtss2si r15d, xmm15


code:
  mov r8d,r15d
  mov edx,edi
  jmp return

align 10 cc
  i_skill_xp_multi:
  dd 4
  vf_skill_xp_multi:
  dd (float)6

INJECT_SKILL_XP_MULTI:
  jmp newmem
return:

registersymbol(vf_skill_xp_multi)
registersymbol(INJECT_SKILL_XP_MULTI)

[DISABLE]

INJECT_SKILL_XP_MULTI:
  db 45 8B C7 8B D7

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2849446

GameAssembly.dll+2849422: 45 8B C6           - mov r8d,r14d
GameAssembly.dll+2849425: 8B D7              - mov edx,edi
GameAssembly.dll+2849427: E8 24 C0 BF FF     - call SkillData.GetConditionDataForSkill
GameAssembly.dll+284942C: 33 C9              - xor ecx,ecx
GameAssembly.dll+284942E: 0F 10 00           - movups xmm0,[rax]
GameAssembly.dll+2849431: 0F 11 45 E7        - movups [rbp-19],xmm0
GameAssembly.dll+2849435: E8 46 6A F8 FF     - call Manager.get_saves
GameAssembly.dll+284943A: 48 85 C0           - test rax,rax
GameAssembly.dll+284943D: 0F 84 85 05 00 00  - je GameAssembly.dll+28499C8
GameAssembly.dll+2849443: 45 33 C9           - xor r9d,r9d
// ---------- INJECTING HERE ----------
GameAssembly.dll+2849446: 45 8B C7           - mov r8d,r15d
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2849449: 8B D7              - mov edx,edi
GameAssembly.dll+284944B: 48 8B C8           - mov rcx,rax
GameAssembly.dll+284944E: E8 3D 9D 04 00     - call SaveManagerAddSkillValueProc
GameAssembly.dll+2849453: 33 C9              - xor ecx,ecx
GameAssembly.dll+2849455: E8 26 6A F8 FF     - call Manager.get_saves
GameAssembly.dll+284945A: 48 85 C0           - test rax,rax
GameAssembly.dll+284945D: 0F 84 65 05 00 00  - je GameAssembly.dll+28499C8
GameAssembly.dll+2849463: 45 33 C0           - xor r8d,r8d
GameAssembly.dll+2849466: 8B D7              - mov edx,edi
GameAssembly.dll+2849468: 48 8B C8           - mov rcx,rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>365</ID>
              <Description>"XP multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_skill_xp_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>164</ID>
          <Description>"Approx. Damage multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-05-10
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_DAMAGE_MULTI,EntityUtilityGetDamageInfoProc+380,EntityUtilityGetDamageInfoProc+1380,44 8B 4D 60 48 8D 4D B0) // should be unique

alloc(newmem,$1000,INJECT_DAMAGE_MULTI)

label(code)
label(return)
label(vf_damage_multi)

newmem:
  push r13
  movd xmm15, [vf_damage_multi]
  //movd xmm14, r9d
  mov r13d,[rbp+60]
  cvtsi2ss xmm14, r13d
  mulss xmm15, xmm14
  cvtss2si r13d, xmm15
  mov [rbp+60], r13d
  pop r13

code:
  mov r9d,[rbp+60]
  lea rcx,[rbp-50]
  jmp return


align 10 cc
  vf_damage_multi:
  dd (float)1.5
  db EB 3B 54 68 69 73 20 74 61 62 6C 65 20 63 6F 6D 65 73 20 66 72 6F 6D 20 68 74 74 70 73 3A 2F
  db 2F 6F 70 65 6E 63 68 65 61 74 74 61 62 6C 65 73 2E 63 6F 6D 20 2F 20 43 45 20 37 2E 34 2B
INJECT_DAMAGE_MULTI:
  jmp newmem
  nop 3
return:
registersymbol(vf_damage_multi)
registersymbol(INJECT_DAMAGE_MULTI)

[DISABLE]

INJECT_DAMAGE_MULTI:
  db 44 8B 4D 60 48 8D 4D B0

unregistersymbol(*)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2875904

GameAssembly.dll+28758D2: 48 89 44 24 60        - mov [rsp+60],rax
GameAssembly.dll+28758D7: 0F B6 85 08 01 00 00  - movzx eax,byte ptr [rbp+00000108]
GameAssembly.dll+28758DE: 4C 89 74 24 58        - mov [rsp+58],r14
GameAssembly.dll+28758E3: 48 89 7C 24 50        - mov [rsp+50],rdi
GameAssembly.dll+28758E8: 88 44 24 48           - mov [rsp+48],al
GameAssembly.dll+28758EC: 44 88 7C 24 40        - mov [rsp+40],r15b
GameAssembly.dll+28758F1: 0F 29 4D E0           - movaps [rbp-20],xmm1
GameAssembly.dll+28758F5: 0F 29 45 B0           - movaps [rbp-50],xmm0
GameAssembly.dll+28758F9: 0F B6 45 68           - movzx eax,byte ptr [rbp+68]
GameAssembly.dll+28758FD: 4C 8D 85 18 01 00 00  - lea r8,[rbp+00000118]
// ---------- INJECTING HERE ----------
GameAssembly.dll+2875904: 44 8B 4D 60           - mov r9d,[rbp+60]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2875908: 48 8D 4D B0           - lea rcx,[rbp-50]
GameAssembly.dll+287590C: 88 54 24 38           - mov [rsp+38],dl
GameAssembly.dll+2875910: 48 8D 55 F0           - lea rdx,[rbp-10]
GameAssembly.dll+2875914: 88 5C 24 30           - mov [rsp+30],bl
GameAssembly.dll+2875918: 44 88 6C 24 28        - mov [rsp+28],r13b
GameAssembly.dll+287591D: 88 44 24 20           - mov [rsp+20],al
GameAssembly.dll+2875921: E8 FA B9 FF FF        - call EntityUtility.CalculateDamage
GameAssembly.dll+2875926: 48 8B 8D 88 00 00 00  - mov rcx,[rbp+00000088]
GameAssembly.dll+287592D: 89 01                 - mov [rcx],eax
GameAssembly.dll+287592F: 2B 45 90              - sub eax,[rbp-70]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>165</ID>
              <Description>"multiplier"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">1.5:1.5
2:2
4:4
8:8
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_damage_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>166</ID>
          <Description>"Monster damage to player"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-05-10
  Author : bbfox @https://opencheattables.com/
}

[ENABLE]
aobscanregion(INJECT_ENEMY_DAMAGE,AttackPlayerClientSystemRegisterPlayerHitProc+800,AttackPlayerClientSystemRegisterPlayerHitProc+1900,33 D2 89 45 10 49) // should be unique


alloc(newmem,$1000,INJECT_ENEMY_DAMAGE)

label(code)
label(return)
label(i_monster_damage_type)
label(i_monster_damage_divisor)

newmem:
  cmp dword ptr [i_monster_damage_type], 0
  je endp

check_1:
  cmp dword ptr [i_monster_damage_type], 1
  jne check_2
  mov eax, 1
  jmp endp

check_2:
  cmp dword ptr [i_monster_damage_type], 2
  jne check_3
  mov eax, 0
  jmp endp

check_3:
  cmp dword ptr [i_monster_damage_type], 3
  jne endp

  movss xmm15, [i_monster_damage_divisor]
  comiss xmm15, [vf_zero]
  ja check_3_1
  movss xmm15, [vf_one]

check_3_1:
  db EB 3B 54 68 69 73 20 74 61 62 6C 65 20 63 6F 6D 65 73 20 66 72 6F 6D 20 68 74 74 70 73 3A 2F
  db 2F 6F 70 65 6E 63 68 65 61 74 74 61 62 6C 65 73 2E 63 6F 6D 20 2F 20 43 45 20 37 2E 34 2B
  cvtsi2ss xmm14, eax
  divss xmm14, xmm15
  cvtss2si eax, xmm14

endp:
code:
  xor edx,edx
  mov [rbp+10],eax
  jmp return

align 10 cc
  i_monster_damage_type: //0: Normal, 1:1pt, 2:no damage, 3:divide by number
  dd 3
  i_monster_damage_divisor:
  dd (float)1.5
  vf_zero:
  dd 0
  vf_one:
  dd (float)1

INJECT_ENEMY_DAMAGE:
  jmp newmem
return:
registersymbol(i_monster_damage_divisor)
registersymbol(i_monster_damage_type)
registersymbol(INJECT_ENEMY_DAMAGE)

[DISABLE]

INJECT_ENEMY_DAMAGE:
  db 33 D2 89 45 10

unregistersymbol(*)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+26DA338

GameAssembly.dll+26DA307: 4C 89 7C 24 50              - mov [rsp+50],r15
GameAssembly.dll+26DA30C: 40 88 7C 24 48              - mov [rsp+48],dil
GameAssembly.dll+26DA311: 40 88 7C 24 40              - mov [rsp+40],dil
GameAssembly.dll+26DA316: 40 88 7C 24 38              - mov [rsp+38],dil
GameAssembly.dll+26DA31B: 88 44 24 30                 - mov [rsp+30],al
GameAssembly.dll+26DA31F: 0F B6 85 88 04 00 00        - movzx eax,byte ptr [rbp+00000488]
GameAssembly.dll+26DA326: 40 88 7C 24 28              - mov [rsp+28],dil
GameAssembly.dll+26DA32B: 88 44 24 20                 - mov [rsp+20],al
GameAssembly.dll+26DA32F: 0F 29 45 10                 - movaps [rbp+10],xmm0
GameAssembly.dll+26DA333: E8 E8 6F 19 00              - call EntityUtility.CalculateDamage
// ---------- INJECTING HERE ----------
GameAssembly.dll+26DA338: 33 D2                       - xor edx,edx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+26DA33A: 89 45 10                    - mov [rbp+10],eax
GameAssembly.dll+26DA33D: 49 8B CD                    - mov rcx,r13
GameAssembly.dll+26DA340: 44 8B F0                    - mov r14d,eax
GameAssembly.dll+26DA343: E8 B8 91 3D 00              - call PlayerController.IsShielded
GameAssembly.dll+26DA348: F3 44 0F 10 15 93 88 35 01  - movss xmm10,[GameAssembly.dll+3A32BE4]
GameAssembly.dll+26DA351: 84 C0                       - test al,al
GameAssembly.dll+26DA353: 0F 84 5C 08 00 00           - je GameAssembly.dll+26DABB5
GameAssembly.dll+26DA359: 33 D2                       - xor edx,edx
GameAssembly.dll+26DA35B: 49 8B CD                    - mov rcx,r13
GameAssembly.dll+26DA35E: E8 3D F8 3E 00              - call PlayerController.get_shieldedAmount
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>167</ID>
              <Description>"Damage type"</Description>
              <DropDownList ReadOnly="1" DisplayValueAsItem="1">0:Normal
1:1pt
2:No damage
3:Divide by divisor below
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_monster_damage_type</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>168</ID>
              <Description>"Divisor"</Description>
              <DropDownListLink>multiplier</DropDownListLink>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>i_monster_damage_divisor</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>259</ID>
          <Description>"Fast fishing - fish bite"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version:
  Date   : 2022-04-02
  Author : bbfox @https://opencheattables.com/
}
//Fast fishing - fish bite
[ENABLE]
//After TimerSimple.StartNew
aobscanmodule(INJECT_SET_FISH_BITE_TIME,GameAssembly.dll,F3 0F 11 09 48 8B D9) // should be unique
alloc(newmem,$1000,INJECT_SET_FISH_BITE_TIME)

label(code)
label(return)

newmem:
  vmovss xmm1, [vf_fish_bite_time]

code:
  movss [rcx],xmm1
  mov rbx,rcx
  jmp return

align 10 cc
  vf_fish_bite_time:
  dd (float)0.8

INJECT_SET_FISH_BITE_TIME:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_FISH_BITE_TIME)

[DISABLE]

INJECT_SET_FISH_BITE_TIME:
  db F3 0F 11 09 48 8B D9

unregistersymbol(INJECT_SET_FISH_BITE_TIME)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+21EFA56
TimerSimple.StartNew - 40 53                 - push rbx
..
..
..


GameAssembly.dll+21EFA43: 48 8B C3              - mov rax,rbx
GameAssembly.dll+21EFA46: 48 83 C4 20           - add rsp,20
GameAssembly.dll+21EFA4A: 5B                    - pop rbx
GameAssembly.dll+21EFA4B: C3                    - ret
GameAssembly.dll+21EFA4C: CC                    - int 3
GameAssembly.dll+21EFA4D: CC                    - int 3
GameAssembly.dll+21EFA4E: CC                    - int 3
GameAssembly.dll+21EFA4F: CC                    - int 3
GameAssembly.dll+21EFA50: 40 53                 - push rbx
GameAssembly.dll+21EFA52: 48 83 EC 20           - sub rsp,20
// ---------- INJECTING HERE ----------
GameAssembly.dll+21EFA56: F3 0F 11 09           - movss [rcx],xmm1
// ---------- DONE INJECTING  ----------
GameAssembly.dll+21EFA5A: 48 8B D9              - mov rbx,rcx
GameAssembly.dll+21EFA5D: 45 84 C0              - test r8l,r8l
GameAssembly.dll+21EFA60: 74 0B                 - je GameAssembly.dll+21EFA6D
GameAssembly.dll+21EFA62: C6 41 0C 00           - mov byte ptr [rcx+0C],00
GameAssembly.dll+21EFA66: C7 41 10 00 00 00 00  - mov [rcx+10],00000000
GameAssembly.dll+21EFA6D: 80 79 04 00           - cmp byte ptr [rcx+04],00
GameAssembly.dll+21EFA71: 74 09                 - je GameAssembly.dll+21EFA7C
GameAssembly.dll+21EFA73: 33 C9                 - xor ecx,ecx
GameAssembly.dll+21EFA75: E8 26 16 E8 FE        - call UnityEngine.Time.get_unscaledTime
GameAssembly.dll+21EFA7A: EB 07                 - jmp GameAssembly.dll+21EFA83
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>257</ID>
          <Description>"Fast fishing - can ignore red fishing line"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version:
  Date   : 2023-05-14
  Author : bbfox @https://opencheattables.com/
}
//Fast fishing - can ignore red fishing line
[ENABLE]
aobscanregion(INJECT_FISH_LINE_TENSION,PlayerStatePlayerBaseStateUpdateMiniGameProc+640, PlayerStatePlayerBaseStateUpdateMiniGameProc+940,F3 0F 11 87 E0 01 00 00 38) // should be unique


alloc(newmem,$1000,INJECT_FISH_LINE_TENSION)

label(code)
label(return)
//PlayerStatePlayerBaseStateUpdateMiniGameProc
newmem:

  vmovss xmm15, [vf_cast_time]
  vmovss [rdi+CC], xmm15 //castTimer
  vmovss [rdi+F4], xmm15 //pullUpTimer

  vmovss xmm15, [vf_throw_time]
  vmovss [rdi+E0], xmm15 //throwTimer

  vmovss xmm15, [vf_fishStruggleTimer]
  vmovss [rdi+1C0], xmm15 //fishStruggleTimer

  vmovss xmm0, [vf_line_tension]
  db EB 3B 54
  db 68 69 73 20 74
  db 61 62 6C 65 20 63 6F 6D 65 73 20 66 72 6F 6D 20 68 74
  db 74 70 73 3A 2F
  db 2F 6F 70 65 6E 63 68 65
  db 61 74 74 61 62 6C 65 73
  db 2E 63 6F 6D
  db 20 2F 20 43 45 20 37 2E 34 2B
code:
  //movss [rdi+000001B8],xmm0
  movss [rdi+000001E0],xmm0
  jmp return

align 10 cc
  vf_line_tension:
  dd (float)0.1
  vf_cast_time:
  dd (float)0.5
  vf_throw_time:
  dd (float)0.2
  vf_fishStruggleTimer:
  dd (float)5

INJECT_FISH_LINE_TENSION:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FISH_LINE_TENSION)

[DISABLE]

INJECT_FISH_LINE_TENSION:
  db F3 0F 11 87 E0 01 00 00

unregistersymbol(INJECT_FISH_LINE_TENSION)
dealloc(newmem)



{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2A382AD

GameAssembly.dll+2A3827A: E8 21 47 D5 00           - call UnityEngine.Time.get_deltaTime
GameAssembly.dll+2A3827F: F3 41 0F 59 C0           - mulss xmm0,xmm8
GameAssembly.dll+2A38284: F3 0F 58 C6              - addss xmm0,xmm6
GameAssembly.dll+2A38288: F3 0F 11 87 E0 01 00 00  - movss [rdi+000001E0],xmm0
GameAssembly.dll+2A38290: F3 0F 10 87 E0 01 00 00  - movss xmm0,[rdi+000001E0]
GameAssembly.dll+2A38298: 45 33 C9                 - xor r9d,r9d
GameAssembly.dll+2A3829B: 0F 28 D7                 - movaps xmm2,xmm7
GameAssembly.dll+2A3829E: 0F 57 C9                 - xorps xmm1,xmm1
GameAssembly.dll+2A382A1: E8 1A F1 B6 FF           - call GameAssembly.dll+25A73C0
GameAssembly.dll+2A382A6: 48 8B B7 98 01 00 00     - mov rsi,[rdi+00000198]
// ---------- INJECTING HERE ----------
GameAssembly.dll+2A382AD: F3 0F 11 87 E0 01 00 00  - movss [rdi+000001E0],xmm0
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2A382B5: 38 9F D4 01 00 00        - cmp [rdi+000001D4],bl
GameAssembly.dll+2A382BB: 75 48                    - jne GameAssembly.dll+2A38305
GameAssembly.dll+2A382BD: 48 85 F6                 - test rsi,rsi
GameAssembly.dll+2A382C0: 0F 84 CC 03 00 00        - je GameAssembly.dll+2A38692
GameAssembly.dll+2A382C6: 48 8B 4E 28              - mov rcx,[rsi+28]
GameAssembly.dll+2A382CA: 48 85 C9                 - test rcx,rcx
GameAssembly.dll+2A382CD: 0F 84 BF 03 00 00        - je GameAssembly.dll+2A38692
GameAssembly.dll+2A382D3: 33 D2                    - xor edx,edx
GameAssembly.dll+2A382D5: E8 66 31 CB 00           - call UnityEngine.AudioSource.get_volume
GameAssembly.dll+2A382DA: 33 C9                    - xor ecx,ecx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>258</ID>
          <Description>"Fast fish struggle success"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version:
  Date   : 2023-02-24
  Author : bbfox @https://opencheattables.com/
}
//Fast fish struggle success
[ENABLE]
aobscanregion(INJECT_FAST_FISH_POSITION,PlayerStatePlayerBaseStateUpdateMiniGameProc+80,PlayerStatePlayerBaseStateUpdateMiniGameProc+580,F3 0F 11 87 BC 01 00 00 E9) // should be unique
alloc(newmem,$1000,INJECT_FAST_FISH_POSITION)

label(code)
label(return)

newmem:
  vmovss xmm0, [vf_position]

code:  //fishPosition
  movss [rdi+000001BC],xmm0
  jmp return

align 10 cc
  vf_position:
  dd (float)-0.9

INJECT_FAST_FISH_POSITION:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FAST_FISH_POSITION)

[DISABLE]


INJECT_FAST_FISH_POSITION:
  db F3 0F 11 87 BC 01 00 00

unregistersymbol(INJECT_FAST_FISH_POSITION)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2A37D32

GameAssembly.dll+2A37D0A: 45 33 C9                 - xor r9d,r9d
GameAssembly.dll+2A37D0D: 4C 8B C6                 - mov r8,rsi
GameAssembly.dll+2A37D10: 48 8B D3                 - mov rdx,rbx
GameAssembly.dll+2A37D13: B9 88 00 00 00           - mov ecx,00000088
GameAssembly.dll+2A37D18: E8 13 DB E3 FF           - call EntityUtility.GetConditionValue
GameAssembly.dll+2A37D1D: F7 D8                    - neg eax
GameAssembly.dll+2A37D1F: 66 0F 6E C0              - movd xmm0,eax
GameAssembly.dll+2A37D23: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
GameAssembly.dll+2A37D26: F3 0F 58 C0              - addss xmm0,xmm0
GameAssembly.dll+2A37D2A: F3 0F 5E 05 F6 28 10 01  - divss xmm0,[GameAssembly.dll+3B3A628]
// ---------- INJECTING HERE ----------
GameAssembly.dll+2A37D32: F3 0F 11 87 BC 01 00 00  - movss [rdi+000001BC],xmm0
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2A37D3A: E9 FA 00 00 00           - jmp GameAssembly.dll+2A37E39
GameAssembly.dll+2A37D3F: 80 BF 3C 01 00 00 00     - cmp byte ptr [rdi+0000013C],00
GameAssembly.dll+2A37D46: 0F 84 41 01 00 00        - je GameAssembly.dll+2A37E8D
GameAssembly.dll+2A37D4C: 48 8B 8F 90 01 00 00     - mov rcx,[rdi+00000190]
GameAssembly.dll+2A37D53: 33 DB                    - xor ebx,ebx
GameAssembly.dll+2A37D55: 89 9F E0 01 00 00        - mov [rdi+000001E0],ebx
GameAssembly.dll+2A37D5B: 88 9F DC 01 00 00        - mov [rdi+000001DC],bl
GameAssembly.dll+2A37D61: 88 9F D4 01 00 00        - mov [rdi+000001D4],bl
GameAssembly.dll+2A37D67: 48 85 C9                 - test rcx,rcx
GameAssembly.dll+2A37D6A: 0F 84 22 09 00 00        - je GameAssembly.dll+2A38692
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>640</ID>
          <Description>"_not working"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>501</ID>
      <Description>"*** Core Keeper 0.6.0.3-3a54 EA  /  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>
