<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <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: 1st: waiting for IL2CPP to complete, then enable again)"</Description>
      <Options moHideChildren="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")

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)


[DISABLE]
{$lua}
if syntaxcheck then return end;if not syntaxcheck and monopipe then monopipe=nil,monopipe.Destroy()end

{$asm}
unregistersymbol(*)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>24</ID>
          <Description>"Food never below #"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-10
  Author : bbfox @https://opencheattables.org/
}

[ENABLE]

aobscanmodule(INJECT_FOOD_DEC,lib_burst_generated.dll,41 89 14 24 41 C7 44 24 10 00 00 00 00 4D) // should be unique
alloc(newmem,$1000,INJECT_FOOD_DEC)

label(code)
label(return)
label(i_food_min)

newmem:
  cmp edx, [i_food_min]
  jge code
  mov edx, [i_food_min]
  inc edx

code:
  mov [r12],edx
  mov [r12+10],00000000
  jmp return

align 10 cc
  i_food_min:
  dd #95

INJECT_FOOD_DEC:
  jmp newmem
  nop 8
return:
registersymbol(i_food_min)
registersymbol(INJECT_FOOD_DEC)

[DISABLE]

INJECT_FOOD_DEC:
  db 41 89 14 24 41 C7 44 24 10 00 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.dll+9049E6

lib_burst_generated.dll+9049C4: C4 C1 78 2E CF              - vucomiss xmm1,xmm15
lib_burst_generated.dll+9049C9: 76 28                       - jna lib_burst_generated.dll+9049F3
lib_burst_generated.dll+9049CB: 41 8B 2C 24                 - mov ebp,[r12]
lib_burst_generated.dll+9049CF: FF CD                       - dec ebp
lib_burst_generated.dll+9049D1: 83 FD 65                    - cmp ebp,65
lib_burst_generated.dll+9049D4: BA 64 00 00 00              - mov edx,00000064
lib_burst_generated.dll+9049D9: 0F 4D EA                    - cmovge ebp,edx
lib_burst_generated.dll+9049DC: 89 EA                       - mov edx,ebp
lib_burst_generated.dll+9049DE: C1 FA 1F                    - sar edx,1F
lib_burst_generated.dll+9049E1: C4 E2 68 F2 D5              - andn edx,edx,ebp
// ---------- INJECTING HERE ----------
lib_burst_generated.dll+9049E6: 41 89 14 24                 - mov [r12],edx
// ---------- DONE INJECTING  ----------
lib_burst_generated.dll+9049EA: 41 C7 44 24 10 00 00 00 00  - mov [r12+10],00000000
lib_burst_generated.dll+9049F3: 4D 89 EF                    - mov r15,r13
lib_burst_generated.dll+9049F6: 4C 0F AF 7C 24 60           - imul r15,[rsp+60]
lib_burst_generated.dll+9049FC: C5 FA 11 44 0F 04           - vmovss [rdi+rcx+04],xmm0
lib_burst_generated.dll+904A02: C4 E3 79 17 44 0F 08 01     - vextractps [rdi+rcx+08],xmm0,xmm0,01
lib_burst_generated.dll+904A0A: C4 E3 79 17 44 0F 0C 02     - vextractps [rdi+rcx+0C],xmm0,xmm0,02
lib_burst_generated.dll+904A12: 8B 0C 0F                    - mov ecx,[rdi+rcx]
lib_burst_generated.dll+904A15: 83 F9 18                    - cmp ecx,18
lib_burst_generated.dll+904A18: 7E 36                       - jle lib_burst_generated.dll+904A50
lib_burst_generated.dll+904A1A: 8B 50 08                    - mov edx,[rax+08]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>178</ID>
              <Description>"Min. number"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_food_min</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"Split item set # (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-03-10
  Author : bbfox @https://opencheattables.org/
}

[ENABLE]
aobscanregion(INJECT_ITEM_SPLIT_DEST,lib_burst_generated.dll+88698E, lib_burst_generated.dll+98698E, 43 89 5C 3E 04) // 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 rax
  lea rax, [r14+r15+04]
  mov [i_dest_item_addr], rax
  pop rax

  cmp ebx, [i_min_value]
  jge code
  cmp ebx, 1
  jle code
  mov ebx, [i_min_value]

code:
  mov [r14+r15+04],ebx
  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
return:

registersymbol(i_dest_item_addr)
registersymbol(i_min_value)
registersymbol(INJECT_ITEM_SPLIT_DEST)

[DISABLE]

INJECT_ITEM_SPLIT_DEST:
  db 43 89 5C 3E 04

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: lib_burst_generated.dll+88698E

lib_burst_generated.dll+886969: 44 89 E0                 - mov eax,r12d
lib_burst_generated.dll+88696C: 0F 44 C1                 - cmove eax,ecx
lib_burst_generated.dll+88696F: 44 89 EA                 - mov edx,r13d
lib_burst_generated.dll+886972: 0F 44 D1                 - cmove edx,ecx
lib_burst_generated.dll+886975: 0F 44 F1                 - cmove esi,ecx
lib_burst_generated.dll+886978: 48 8B 8C 24 E0 00 00 00  - mov rcx,[rsp+000000E0]
lib_burst_generated.dll+886980: 48 8B 09                 - mov rcx,[rcx]
lib_burst_generated.dll+886983: 48 85 C9                 - test rcx,rcx
lib_burst_generated.dll+886986: 4C 0F 45 F1              - cmovne r14,rcx
lib_burst_generated.dll+88698A: 43 89 04 3E              - mov [r14+r15],eax
// ---------- INJECTING HERE ----------
lib_burst_generated.dll+88698E: 43 89 5C 3E 04           - mov [r14+r15+04],ebx
// ---------- DONE INJECTING  ----------
lib_burst_generated.dll+886993: 43 89 54 3E 08           - mov [r14+r15+08],edx
lib_burst_generated.dll+886998: 43 89 74 3E 0C           - mov [r14+r15+0C],esi
lib_burst_generated.dll+88699D: 48 8B 45 00              - mov rax,[rbp+00]
lib_burst_generated.dll+8869A1: 48 83 C5 10              - add rbp,10
lib_burst_generated.dll+8869A5: 48 85 C0                 - test rax,rax
lib_burst_generated.dll+8869A8: 48 0F 45 E8              - cmovne rbp,rax
lib_burst_generated.dll+8869AC: 44 89 64 3D 00           - mov [rbp+rdi+00],r12d
lib_burst_generated.dll+8869B1: 44 89 44 3D 04           - mov [rbp+rdi+04],r8d
lib_burst_generated.dll+8869B6: 44 89 6C 3D 08           - mov [rbp+rdi+08],r13d
lib_burst_generated.dll+8869BB: 8B 44 24 78              - mov eax,[rsp+78]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>3</ID>
              <Description>"Min. value"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_value</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>929</ID>
              <Description>"Item ID"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_dest_item_addr</Address>
              <Offsets>
                <Offset>-4</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>4</ID>
              <Description>"Item Count (try to pickup and place item with count of 1)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_dest_item_addr</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </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 :
}

[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+C5B386: CC                    - int 3
GameAssembly.dll+C5B387: CC                    - int 3
GameAssembly.dll+C5B388: CC                    - int 3
GameAssembly.dll+C5B389: CC                    - int 3
GameAssembly.dll+C5B38A: CC                    - int 3
GameAssembly.dll+C5B38B: CC                    - int 3
GameAssembly.dll+C5B38C: CC                    - int 3
GameAssembly.dll+C5B38D: CC                    - int 3
GameAssembly.dll+C5B38E: CC                    - int 3
GameAssembly.dll+C5B38F: CC                    - int 3
// ---------- INJECTING HERE ----------
PlayerControllerReduceDurabilityOfHeldEquipmentProc: 48 89 5C 24 18        - mov [rsp+18],rbx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+C5B395: 48 89 74 24 20        - mov [rsp+20],rsi
GameAssembly.dll+C5B39A: 57                    - push rdi
GameAssembly.dll+C5B39B: 48 83 EC 40           - sub rsp,40
GameAssembly.dll+C5B39F: 80 3D D0 AC 70 03 00  - cmp byte ptr [GameAssembly.dll+4366076],00
GameAssembly.dll+C5B3A6: 48 8B F9              - mov rdi,rcx
GameAssembly.dll+C5B3A9: 75 2B                 - jne GameAssembly.dll+C5B3D6
GameAssembly.dll+C5B3AB: 48 8D 0D 66 2A 52 03  - lea rcx,[GameAssembly.dll+417DE18]
GameAssembly.dll+C5B3B2: E8 79 0E 99 FF        - call GameAssembly.dll+5EC230
GameAssembly.dll+C5B3B7: 48 8D 0D 62 17 4D 03  - lea rcx,[GameAssembly.dll+412CB20]
GameAssembly.dll+C5B3BE: E8 6D 0E 99 FF        - call GameAssembly.dll+5EC230
}
</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.org
}

[ENABLE]

//aobscanmodule(INJECT_REDUCE_DUR_EQUIPMENT,GameAssembly.dll,EA FF CC CC CC CC CC CC CC CC CC 48 89 5C 24 10) // should be unique
aobscanregion(INJECT_REDUCE_DUR_EQUIPMENT,PlayerControllerReduceDurabilityOfEquipmentProc,PlayerControllerReduceDurabilityOfEquipmentProc+A,48 89 5C 24 18) // 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 18

unregistersymbol(INJECT_REDUCE_DUR_EQUIPMENT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: PlayerControllerReduceDurabilityOfEquipmentProc

GameAssembly.dll+A7A022: E8 C9 99 B9 FF        - call GameAssembly.dll+6139F0
GameAssembly.dll+A7A027: CC                    - int 3
GameAssembly.dll+A7A028: CC                    - int 3
GameAssembly.dll+A7A029: CC                    - int 3
GameAssembly.dll+A7A02A: CC                    - int 3
GameAssembly.dll+A7A02B: CC                    - int 3
GameAssembly.dll+A7A02C: CC                    - int 3
GameAssembly.dll+A7A02D: CC                    - int 3
GameAssembly.dll+A7A02E: CC                    - int 3
GameAssembly.dll+A7A02F: CC                    - int 3
// ---------- INJECTING HERE ----------
PlayerControllerReduceDurabilityOfEquipmentProc: 48 89 5C 24 18        - mov [rsp+18],rbx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+A7A035: 48 89 6C 24 20        - mov [rsp+20],rbp
GameAssembly.dll+A7A03A: 56                    - push rsi
GameAssembly.dll+A7A03B: 48 83 EC 40           - sub rsp,40
GameAssembly.dll+A7A03F: 80 3D 54 3C 75 03 00  - cmp byte ptr [GameAssembly.dll+41CDC9A],00
GameAssembly.dll+A7A046: 41 8B E8              - mov ebp,r8d
GameAssembly.dll+A7A049: 48 8B DA              - mov rbx,rdx
GameAssembly.dll+A7A04C: 48 8B F1              - mov rsi,rcx
GameAssembly.dll+A7A04F: 75 13                 - jne GameAssembly.dll+A7A064
GameAssembly.dll+A7A051: 48 8D 0D D8 90 56 03  - lea rcx,[GameAssembly.dll+3FE3130]
GameAssembly.dll+A7A058: E8 23 98 B9 FF        - call GameAssembly.dll+613880
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>185</ID>
          <Description>"Player basic data"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-30
  Author : bbfox @https://opencheattables.org/
  Revised:
  4/13: 0.3.6
  5/11: 0.3.12
  9/16: 0.4.4
}

[ENABLE]


aobscanregion(INJECT_PLAYER_DATA,PlayerControllerManagedUpdateProc+200,PlayerControllerManagedUpdateProc+480,44 39 B7 40 09 00 00) // should be unique
alloc(newmem,$1000,INJECT_PLAYER_DATA)

label(code)
label(return)
label(i_char_base_addr)

newmem:
  push rax
  mov [i_char_base_addr], rdi
  pop rax

code:
  cmp [rdi+00000940],r14d
  jmp return

align 10 cc
  i_char_base_addr:
  dq 0

INJECT_PLAYER_DATA:
  jmp newmem
  nop 2
return:

registersymbol(i_char_base_addr)
registersymbol(INJECT_PLAYER_DATA)

[DISABLE]

INJECT_PLAYER_DATA:
  db 44 39 B7 40 09 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2CAE440

GameAssembly.dll+2CAE40B: 0F 84 B0 11 00 00        - je GameAssembly.dll+2CAF5C1
GameAssembly.dll+2CAE411: F3 0F 10 0D CB 7D 7F 00  - movss xmm1,[GameAssembly.dll+34A61E4]
GameAssembly.dll+2CAE419: 45 33 C0                 - xor r8d,r8d
GameAssembly.dll+2CAE41C: 48 8B C8                 - mov rcx,rax
GameAssembly.dll+2CAE41F: E8 5C 57 F3 FD           - call PlayerInput.DisableInputFor
GameAssembly.dll+2CAE424: 44 38 35 68 0D 88 01     - cmp [GameAssembly.dll+452F193],r14b
GameAssembly.dll+2CAE42B: 75 13                    - jne GameAssembly.dll+2CAE440
GameAssembly.dll+2CAE42D: 48 8D 0D AC 48 63 01     - lea rcx,[GameAssembly.dll+42E2CE0]
GameAssembly.dll+2CAE434: E8 47 CE 7B FD           - call GameAssembly.dll+46B280
GameAssembly.dll+2CAE439: C6 05 53 0D 88 01 01     - mov byte ptr [GameAssembly.dll+452F193],01
// ---------- INJECTING HERE ----------
GameAssembly.dll+2CAE440: 44 39 B7 40 09 00 00     - cmp [rdi+00000940],r14d
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2CAE447: 7F 7F                    - jg GameAssembly.dll+2CAE4C8
GameAssembly.dll+2CAE449: 48 8B 8F 60 03 00 00     - mov rcx,[rdi+00000360]
GameAssembly.dll+2CAE450: 48 85 C9                 - test rcx,rcx
GameAssembly.dll+2CAE453: 0F 84 68 11 00 00        - je GameAssembly.dll+2CAF5C1
GameAssembly.dll+2CAE459: 33 D2                    - xor edx,edx
GameAssembly.dll+2CAE45B: E8 30 9A 23 00           - call PlayerState.State.get_isActive
GameAssembly.dll+2CAE460: 84 C0                    - test al,al
GameAssembly.dll+2CAE462: 75 64                    - jne GameAssembly.dll+2CAE4C8
GameAssembly.dll+2CAE464: 48 8B 8F 30 03 00 00     - mov rcx,[rdi+00000330]
GameAssembly.dll+2CAE46B: 48 85 C9                 - test rcx,rcx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>186</ID>
              <Description>"Base addr"</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_char_base_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>698</ID>
              <Description>"movementSpeed"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_char_base_addr</Address>
              <Offsets>
                <Offset>46C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>927</ID>
              <Description>"PlayerController"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>782</ID>
                  <Description>"poolID"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+20</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>783</ID>
                  <Description>"&lt;entity&gt;k__BackingField"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+30</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>784</ID>
                  <Description>"disableShadowOnLowLightQuality"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+40</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>785</ID>
                  <Description>"useAnimationCycleOffset"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+60</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>786</ID>
                  <Description>"variationOverride"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+64</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>787</ID>
                  <Description>"variationOverrideUpdateCount"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+68</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>788</ID>
                  <Description>"pugMapPosX"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+6C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>789</ID>
                  <Description>"pugMapPosZ"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+70</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>790</ID>
                  <Description>"width"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+74</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>791</ID>
                  <Description>"height"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+78</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>792</ID>
                  <Description>"appearInMapUI"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>793</ID>
                  <Description>"colorInMap"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+80</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>794</ID>
                  <Description>"onlyEnableAnimatorTemporarilyWhenPlayingAnimation"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+98</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>795</ID>
                  <Description>"animatorTemporaryDisableTimer"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+9C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>796</ID>
                  <Description>"lastAnimTriggerCount"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+A0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>797</ID>
                  <Description>"lastAnim"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+A4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>798</ID>
                  <Description>"hasOverriddenAnim"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+A8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>799</ID>
                  <Description>"triggerDeathAnimationOnDeath"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+A9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>800</ID>
                  <Description>"&lt;isHidden&gt;k__BackingField"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+AA</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>801</ID>
                  <Description>"deathTimer"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+AC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>802</ID>
                  <Description>"previousPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+B0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>803</ID>
                  <Description>"hasConditions"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+148</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>804</ID>
                  <Description>"hasDamageEffect"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+149</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>805</ID>
                  <Description>"damageEffectTrigger"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+14C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>806</ID>
                  <Description>"&lt;hasHealth&gt;k__BackingField"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+150</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>807</ID>
                  <Description>"previousHealth"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+154</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>808</ID>
                  <Description>"hurtSound"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+158</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>809</ID>
                  <Description>"hurtVolume"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+15C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>810</ID>
                  <Description>"deathSound"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+160</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>811</ID>
                  <Description>"deathVolume"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+164</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>812</ID>
                  <Description>"pitch"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+168</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>813</ID>
                  <Description>"deathPitchDev"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+16C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>814</ID>
                  <Description>"&lt;WorldPosition&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1B0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>815</ID>
                  <Description>"hasLocalToWorld"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+1BC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>816</ID>
                  <Description>"currentFacingVector"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1C0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>817</ID>
                  <Description>"normalizedFacingVector"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1CC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>818</ID>
                  <Description>"animatedMovementVector"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1D8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>819</ID>
                  <Description>"hasAnimationOrientationCD"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+1E4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>820</ID>
                  <Description>"hasAnimationCD"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+1E5</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>821</ID>
                  <Description>"animationCD"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1E8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>822</ID>
                  <Description>"lastLightQuality"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1F8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>823</ID>
                  <Description>"lastParticleQuality"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+1FC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>824</ID>
                  <Description>"&lt;localPrefabEntity&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+230</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>825</ID>
                  <Description>"&lt;smoothFollowPrefabEntity&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+238</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>826</ID>
                  <Description>"&lt;localEntity&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+240</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>827</ID>
                  <Description>"&lt;smoothFollowEntity&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+248</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>828</ID>
                  <Description>"clientInput"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+250</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>829</ID>
                  <Description>"&lt;initialized&gt;k__BackingField"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+2E8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>830</ID>
                  <Description>"&lt;playerName&gt;k__BackingField.Value"</Description>
                  <VariableType>String</VariableType>
                  <Length>128</Length>
                  <Unicode>1</Unicode>
                  <CodePage>0</CodePage>
                  <ZeroTerminate>1</ZeroTerminate>
                  <Address>[i_char_base_addr]+2F0</Address>
                  <Offsets>
                    <Offset>14</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>831</ID>
                  <Description>"&lt;playerIndex&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+2F8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>832</ID>
                  <Description>"&lt;pendingCraftingRequests&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+2FC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>833</ID>
                  <Description>"&lt;hasPendingConsumeRequest&gt;k__BackingField"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+300</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>834</ID>
                  <Description>"stateChangeLocked"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+320</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>835</ID>
                  <Description>"stateChangesInFixedFrame"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+324</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>836</ID>
                  <Description>"timerSinceSpawn"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+3F0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>837</ID>
                  <Description>"hasDisabledInputBecauseLoading"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+404</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>838</ID>
                  <Description>"hasRemovedLoginImmunity"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+405</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>839</ID>
                  <Description>"belongsToLayer"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+406</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>840</ID>
                  <Description>"collidesWithLayer"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+426</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>841</ID>
                  <Description>"damagesLayer"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+446</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>842</ID>
                  <Description>"collisionRadius"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+468</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>843</ID>
                  <Description>"movementSpeed"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+46C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>844</ID>
                  <Description>"noClipMovementSpeedMultipler"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+470</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>845</ID>
                  <Description>"cornerMovementBlend"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+488</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>846</ID>
                  <Description>"experimentalWallSmoothingEnabled"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+48C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>847</ID>
                  <Description>"wallMovementBlend"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+490</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>848</ID>
                  <Description>"&lt;cornerMovementBlendMultiplier&gt;k__BackingField"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+494</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>849</ID>
                  <Description>"targetMovementVelocity"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+498</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>850</ID>
                  <Description>"lastEffectiveSteerDir"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4A4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>851</ID>
                  <Description>"facingDirection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4A8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>852</ID>
                  <Description>"aimDirection"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4AC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>853</ID>
                  <Description>"reorientationBlocked"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+4B8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>854</ID>
                  <Description>"mustRelaseInteractBeforeSlotInput"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+4B9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>855</ID>
                  <Description>"mustRelaseSecondInteractBeforeSlotInput"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+4BA</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>856</ID>
                  <Description>"mustRelaseOffHandUseBeforeOffHandInput"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+4BB</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>857</ID>
                  <Description>"previousMaxHealth"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4BC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>858</ID>
                  <Description>"&lt;equippedSlotIndex&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4C0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>859</ID>
                  <Description>"lastUsedSlotIndex"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4C4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>860</ID>
                  <Description>"previousMouseObject"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+4E8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>861</ID>
                  <Description>"&lt;visuallyEquippedObjectData&gt;k__BackingField"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+530</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>862</ID>
                  <Description>"animatedFishingRodSinkPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+5D8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>863</ID>
                  <Description>"animatedLineIsBeingPulled"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+5E0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>864</ID>
                  <Description>"targetSinkPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+5F0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>865</ID>
                  <Description>"activeCustomization"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+628</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>866</ID>
                  <Description>"onSlime"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6F8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>867</ID>
                  <Description>"onAcid"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6F9</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>868</ID>
                  <Description>"onPoisonSlime"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6FA</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>869</ID>
                  <Description>"onWood"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6FB</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>870</ID>
                  <Description>"onGrass"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6FC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>871</ID>
                  <Description>"onChrysalis"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6FD</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>872</ID>
                  <Description>"onMoss"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6FE</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>873</ID>
                  <Description>"onStone"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+6FF</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>874</ID>
                  <Description>"onFlesh"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+700</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>875</ID>
                  <Description>"onSand"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+701</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>876</ID>
                  <Description>"onClay"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+702</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>877</ID>
                  <Description>"onMold"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+703</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>878</ID>
                  <Description>"anyInventoryOrMapWasActiveThisFrame"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+738</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>879</ID>
                  <Description>"swappedTorchFromIndex"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+73C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>880</ID>
                  <Description>"&lt;localPlayerIsTryingToAttack&gt;k__BackingField"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+740</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>881</ID>
                  <Description>"slotSwapWithMouseCooldownTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+744</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>882</ID>
                  <Description>"offHandCooldownTimer"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+758</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>883</ID>
                  <Description>"accumulatedSkillMovement"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+76C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>884</ID>
                  <Description>"damageImmunityIsBeingRemoved"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+770</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>885</ID>
                  <Description>"standStillTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+774</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>886</ID>
                  <Description>"greatWallAnimQuery"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+788</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>887</ID>
                  <Description>"worldInfoQuery"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+798</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>888</ID>
                  <Description>"greatWallIsShakingAndRumbling"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7C0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>889</ID>
                  <Description>"greatWallEmissiveSoundHasPlayed"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7C1</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>890</ID>
                  <Description>"greatWallHasBeenLowered"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7C2</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>891</ID>
                  <Description>"nearbyEmissiveAndLowerWallBlend"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+7E0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>892</ID>
                  <Description>"&lt;playerCanInteractWithGreatWall&gt;k__BackingField"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7E4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>893</ID>
                  <Description>"playerNearbyTimer"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+7E8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>894</ID>
                  <Description>"canDoHandEmote"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7FC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>895</ID>
                  <Description>"isPlayingInteractFlash"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+7FD</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>896</ID>
                  <Description>"greatWallShakeTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+7C4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>897</ID>
                  <Description>"lineTensionSmoothTimer"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+810</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>898</ID>
                  <Description>"fishIsNibbling"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+814</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>899</ID>
                  <Description>"fishingLootToSpawn"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+818</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>900</ID>
                  <Description>"sinkHeightFromFishHooking"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+81C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>901</ID>
                  <Description>"rippleTimer"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+820</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>902</ID>
                  <Description>"healOverTimeTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+840</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>903</ID>
                  <Description>"accumulatedHealing"</Description>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+854</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>904</ID>
                  <Description>"damageEveryThirdSecondTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+858</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>905</ID>
                  <Description>"moldTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+86C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>906</ID>
                  <Description>"damageEverySecondTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+880</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>907</ID>
                  <Description>"lastReceivedConditionsAmount"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+894</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>908</ID>
                  <Description>"conditionsSaveTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+898</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>909</ID>
                  <Description>"forceFromNearbyFilter"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+8AC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>910</ID>
                  <Description>"velocityAffectorFilter"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+8B8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>911</ID>
                  <Description>"blinkTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+8C4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>912</ID>
                  <Description>"srOffSetPos"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+8D8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>913</ID>
                  <Description>"defaultSROffSetPos"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+8E4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>914</ID>
                  <Description>"stuckTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+8F0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>915</ID>
                  <Description>"killIfStuckTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+904</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>916</ID>
                  <Description>"wasInBoatPreviousFrame"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+918</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>917</ID>
                  <Description>"localHealth"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+940</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>918</ID>
                  <Description>"isDyingOrDead"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+944</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>919</ID>
                  <Description>"invinciblePeriod"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+948</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>920</ID>
                  <Description>"invincible"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>[i_char_base_addr]+95C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>921</ID>
                  <Description>"hitStreak"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+968</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>922</ID>
                  <Description>"spawnStuffOnHitCooldown"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+96C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>923</ID>
                  <Description>"stompOnCrittersTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+980</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>924</ID>
                  <Description>"equipmentBreakSoundCooldown"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+994</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>925</ID>
                  <Description>"hungerEmoteTimer"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>[i_char_base_addr]+9A8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>926</ID>
                  <Description>"previousHunger"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>[i_char_base_addr]+9BC</Address>
                </CheatEntry>
              </CheatEntries>
            </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.org
}

[ENABLE]

aobscanregion(INJECT_HP_DAMAGE,PlayerControllerDealDamageToPlayerProc+a0,PlayerControllerDealDamageToPlayerProc+5a0,29 9F 40 09 00 00) // should be unique
alloc(newmem,$1000,INJECT_HP_DAMAGE)

label(code)
label(return)
label(i_player_base_addr)
label(i_player_hp_option)
newmem:
  push r13
  lea r13, [rdi+00000940]
  mov [i_player_base_addr], r13
  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+00000940], ebx
  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:
  sub [rdi+00000940],ebx
  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)

[DISABLE]

INJECT_HP_DAMAGE:
  db 29 9F 40 09 00 00

unregistersymbol(*)
dealloc(newmem)


{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+2CA48BC

GameAssembly.dll+2CA4873: C6 05 71 A9 88 01 01     - mov byte ptr [GameAssembly.dll+452F1EB],01
GameAssembly.dll+2CA487A: 80 BF 20 03 00 00 00     - cmp byte ptr [rdi+00000320],00
GameAssembly.dll+2CA4881: 0F 85 B8 04 00 00        - jne GameAssembly.dll+2CA4D3F
GameAssembly.dll+2CA4887: 80 BF 5C 09 00 00 00     - cmp byte ptr [rdi+0000095C],00
GameAssembly.dll+2CA488E: 0F 85 AB 04 00 00        - jne GameAssembly.dll+2CA4D3F
GameAssembly.dll+2CA4894: 48 89 B4 24 D0 01 00 00  - mov [rsp+000001D0],rsi
GameAssembly.dll+2CA489C: 4C 89 A4 24 D8 01 00 00  - mov [rsp+000001D8],r12
GameAssembly.dll+2CA48A4: 4C 89 B4 24 E0 01 00 00  - mov [rsp+000001E0],r14
GameAssembly.dll+2CA48AC: 4C 89 BC 24 A0 01 00 00  - mov [rsp+000001A0],r15
GameAssembly.dll+2CA48B4: 0F 29 B4 24 90 01 00 00  - movaps [rsp+00000190],xmm6
// ---------- INJECTING HERE ----------
GameAssembly.dll+2CA48BC: 29 9F 40 09 00 00        - sub [rdi+00000940],ebx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+2CA48C2: 45 33 E4                 - xor r12d,r12d
GameAssembly.dll+2CA48C5: 44 39 A7 40 09 00 00     - cmp [rdi+00000940],r12d
GameAssembly.dll+2CA48CC: 0F 8F 17 01 00 00        - jg GameAssembly.dll+2CA49E9
GameAssembly.dll+2CA48D2: 48 8B 5F 30              - mov rbx,[rdi+30]
GameAssembly.dll+2CA48D6: 33 D2                    - xor edx,edx
GameAssembly.dll+2CA48D8: 48 8B CF                 - mov rcx,rdi
GameAssembly.dll+2CA48DB: E8 60 DC 20 00           - call EntityMonoBehaviour.get_world
GameAssembly.dll+2CA48E0: 48 8B 0D 71 1A 6A 01     - mov rcx,[GameAssembly.dll+4346358]
GameAssembly.dll+2CA48E7: 48 8B F0                 - mov rsi,rax
GameAssembly.dll+2CA48EA: F6 81 33 01 00 00 04     - test byte ptr [rcx+00000133],04
}
</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>
              <VariableType>4 Bytes</VariableType>
              <Address>i_player_hp_option</Address>
            </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.org/
  Revised:
  4/13: 0.3.6
  5/11: 0.3.12
}

[ENABLE]

//aobscanmodule(INJECT_FASTER_HP_ADD,GameAssembly.dll,03 DE 89 9F 60 08 00 00) // should be unique
aobscanregion(INJECT_FASTER_HP_ADD,PlayerControllerHealPlayerProc+100,PlayerControllerHealPlayerProc+600,48 8B 07 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 rax,[rdi]
  add ebx,esi
  jmp return

align 10 cc
  vf_addhp_multi:
  dd (float)1.5


INJECT_FASTER_HP_ADD:
  jmp newmem
  nop 3
return:
registersymbol(vf_addhp_multi)
registersymbol(INJECT_FASTER_HP_ADD)

[DISABLE]

INJECT_FASTER_HP_ADD:
  db 48 8B 07 03 DE

unregistersymbol(INJECT_FASTER_HP_ADD)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+C54C28

GameAssembly.dll+C54BF9: 33 D2                    - xor edx,edx
GameAssembly.dll+C54BFB: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
GameAssembly.dll+C54BFE: F3 0F 59 05 E2 3B BC 02  - mulss xmm0,[GameAssembly.dll+38187E8]
GameAssembly.dll+C54C06: E8 55 82 B5 FF           - call GameAssembly.dll+7ACE60
GameAssembly.dll+C54C0B: F3 0F 10 0D A9 F1 90 02  - movss xmm1,[GameAssembly.dll+3563DBC]
GameAssembly.dll+C54C13: 45 33 C0                 - xor r8d,r8d
GameAssembly.dll+C54C16: E8 75 34 B3 FF           - call Unity.Mathematics.math.max
GameAssembly.dll+C54C1B: F3 0F 2C F0              - cvttss2si esi,xmm0
GameAssembly.dll+C54C1F: 8B 9F 68 08 00 00        - mov ebx,[rdi+00000868]
GameAssembly.dll+C54C25: 48 8B CF                 - mov rcx,rdi
// ---------- INJECTING HERE ----------
GameAssembly.dll+C54C28: 48 8B 07                 - mov rax,[rdi]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+C54C2B: 03 DE                    - add ebx,esi
GameAssembly.dll+C54C2D: 89 9F 68 08 00 00        - mov [rdi+00000868],ebx
GameAssembly.dll+C54C33: 48 8B 90 90 02 00 00     - mov rdx,[rax+00000290]
GameAssembly.dll+C54C3A: FF 90 88 02 00 00        - call qword ptr [rax+00000288]
GameAssembly.dll+C54C40: F2 0F 10 87 70 01 00 00  - movsd xmm0,[rdi+00000170]
GameAssembly.dll+C54C48: 48 8D 54 24 30           - lea rdx,[rsp+30]
GameAssembly.dll+C54C4D: 48 8B AF 60 03 00 00     - mov rbp,[rdi+00000360]
GameAssembly.dll+C54C54: 48 8D 4C 24 40           - lea rcx,[rsp+40]
GameAssembly.dll+C54C59: 3B D8                    - cmp ebx,eax
GameAssembly.dll+C54C5B: F2 0F 11 44 24 30        - movsd [rsp+30],xmm0
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>182</ID>
              <Description>"Multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <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>008000</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.org/
}

[ENABLE]

//aobscanmodule(INJECT_SKILL2,GameAssembly.dll,8B 84 24 E0 00 00 00 89 83) // should be unique
aobscanregion(INJECT_SKILL2,SkillTalentUIElementUpdateTalentProc+190,SkillTalentUIElementUpdateTalentProc+790,8B 84 24 E0 00 00 00 89 83)
alloc(newmem,$1000,INJECT_SKILL2)

label(code)
label(return)

newmem:
  mov eax, 5
  mov [rsp+000000E0], eax

code:
  mov eax,[rsp+000000E0]
  jmp return

INJECT_SKILL2:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SKILL2)

[DISABLE]

INJECT_SKILL2:
  db 8B 84 24 E0 00 00 00

unregistersymbol(INJECT_SKILL2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+FD954F

GameAssembly.dll+FD9520: 48 8B 4B 50           - mov rcx,[rbx+50]
GameAssembly.dll+FD9524: 41 0F 10 07           - movups xmm0,[r15]
GameAssembly.dll+FD9528: 0F 11 44 24 20        - movups [rsp+20],xmm0
GameAssembly.dll+FD952D: F2 41 0F 10 4F 10     - movsd xmm1,[r15+10]
GameAssembly.dll+FD9533: F2 0F 11 4C 24 30     - movsd [rsp+30],xmm1
GameAssembly.dll+FD9539: 48 85 C9              - test rcx,rcx
GameAssembly.dll+FD953C: 0F 84 F7 07 00 00     - je GameAssembly.dll+FD9D39
GameAssembly.dll+FD9542: 45 33 C0              - xor r8d,r8d
GameAssembly.dll+FD9545: 48 8B 54 24 30        - mov rdx,[rsp+30]
GameAssembly.dll+FD954A: E8 B1 5D C1 00        - call UnityEngine.SpriteRenderer.set_sprite
// ---------- INJECTING HERE ----------
GameAssembly.dll+FD954F: 8B 84 24 E0 00 00 00  - mov eax,[rsp+000000E0]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+FD9556: 89 83 B8 00 00 00     - mov [rbx+000000B8],eax
GameAssembly.dll+FD955C: 33 D2                 - xor edx,edx
GameAssembly.dll+FD955E: 48 8B CB              - mov rcx,rbx
GameAssembly.dll+FD9561: E8 1A F2 FF FF        - call SkillTalentUIElement.GetCurrentPoints
GameAssembly.dll+FD9566: 44 8B F0              - mov r14d,eax
GameAssembly.dll+FD9569: 33 C9                 - xor ecx,ecx
GameAssembly.dll+FD956B: E8 E0 71 03 00        - call Manager.get_saves
GameAssembly.dll+FD9570: 48 85 C0              - test rax,rax
GameAssembly.dll+FD9573: 0F 84 BA 07 00 00     - je GameAssembly.dll+FD9D33
GameAssembly.dll+FD9579: 45 33 C0              - xor r8d,r8d
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>366</ID>
          <Description>"Redirect XP from skill 1 to skill 2"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-04-30
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscanmodule(INJECT_REDIRECT_XP,GameAssembly.dll,48 8B 43 10 48 8B 4E 28 44 39 34 28) // should be unique
aobscanregion(INJECT_REDIRECT_XP,SaveManagerAddSkillValueProc+e0,SaveManagerAddSkillValueProc+2e0,48 8B 43 10 48 8B 4E 28 44 39 34 28) // should be unique
alloc(newmem,$1000,INJECT_REDIRECT_XP)

label(code)
label(return)
label(i_src_skill)
label(i_dst_skill)

newmem:
  cmp r14d, [i_src_skill]
  jne code
  cmp dword ptr [i_dst_skill], 8
  jg code
  mov r14d, [i_dst_skill]

code:
  mov rcx,[rsi+28]
  cmp [rax+rbp],r14d
  jmp return

align 10 cc
  i_src_skill:
  dd 1
  i_dst_skill:
  dd 6

INJECT_REDIRECT_XP+04:
  jmp newmem
  nop 3
return:
registersymbol(i_src_skill)
registersymbol(i_dst_skill)
registersymbol(INJECT_REDIRECT_XP)

[DISABLE]

INJECT_REDIRECT_XP+04:
  db 48 8B 4E 28 44 39 34 28

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+D61F6F

GameAssembly.dll+D61F49: 48 85 DB           - test rbx,rbx
GameAssembly.dll+D61F4C: 0F 84 A6 01 00 00  - je GameAssembly.dll+D620F8
GameAssembly.dll+D61F52: 48 8B 5B 60        - mov rbx,[rbx+60]
GameAssembly.dll+D61F56: 48 85 DB           - test rbx,rbx
GameAssembly.dll+D61F59: 0F 84 99 01 00 00  - je GameAssembly.dll+D620F8
GameAssembly.dll+D61F5F: 3B 7B 18           - cmp edi,[rbx+18]
GameAssembly.dll+D61F62: 72 07              - jb GameAssembly.dll+D61F6B
GameAssembly.dll+D61F64: 33 C9              - xor ecx,ecx
GameAssembly.dll+D61F66: E8 A5 5C 8D 01     - call System.ThrowHelper.ThrowArgumentOutOfRangeException
GameAssembly.dll+D61F6B: 48 8B 43 10        - mov rax,[rbx+10]
// ---------- INJECTING HERE ----------
GameAssembly.dll+D61F6F: 48 8B 4E 28        - mov rcx,[rsi+28]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+D61F73: 44 39 34 28        - cmp [rax+rbp],r14d
GameAssembly.dll+D61F77: 74 1A              - je GameAssembly.dll+D61F93
GameAssembly.dll+D61F79: FF C7              - inc edi
GameAssembly.dll+D61F7B: 48 83 C5 08        - add rbp,08
GameAssembly.dll+D61F7F: 44 8B CF           - mov r9d,edi
GameAssembly.dll+D61F82: 48 8B C1           - mov rax,rcx
GameAssembly.dll+D61F85: 48 85 C9           - test rcx,rcx
GameAssembly.dll+D61F88: 0F 84 6A 01 00 00  - je GameAssembly.dll+D620F8
GameAssembly.dll+D61F8E: E9 6D FF FF FF     - jmp GameAssembly.dll+D61F00
GameAssembly.dll+D61F93: 48 85 C9           - test rcx,rcx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>367</ID>
              <Description>"Skill 1 (only valid when not max)"</Description>
              <DropDownList DisplayValueAsItem="1">0:Mining
1:Running
2:Melee
3:Vitality
4:Crafting
5:Range
6:Gardening
7:Fishing
8:Cooking
9:N/A
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_src_skill</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>368</ID>
              <Description>"Skill 2"</Description>
              <DropDownList DisplayValueAsItem="1">0:Mining
1:Running
2:Melee
3:Vitality
4:Crafting
5:Range
6:Gardening
7:Fishing
8:Cooking
9:N/A
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_dst_skill</Address>
            </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.org/
}

[ENABLE]

//aobscanmodule(INJECT_SKILL_XP_MULTI,GameAssembly.dll,45 8B C6 48 8B C8 E8) // should be unique
aobscanregion(INJECT_SKILL_XP_MULTI,PlayerControllerAddSkillProc+180,PlayerControllerAddSkillProc+680,45 8B C6 48 8B C8 E8) // 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, r14d
  vmulss xmm15, xmm15, xmm14
  cvtss2si r14d, xmm15


code:
  mov r8d,r14d
  mov rcx,rax
  jmp return

align 10 cc
  i_skill_xp_multi:
  dd 4
  vf_skill_xp_multi:
  dd (float)6

INJECT_SKILL_XP_MULTI:
  jmp newmem
  nop
return:

registersymbol(vf_skill_xp_multi)
registersymbol(INJECT_SKILL_XP_MULTI)

[DISABLE]

INJECT_SKILL_XP_MULTI:
  db 45 8B C6 48 8B C8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+C461CE

GameAssembly.dll+C461A8: 74 0E                 - je GameAssembly.dll+C461B8
GameAssembly.dll+C461AA: 83 B9 E0 00 00 00 00  - cmp dword ptr [rcx+000000E0],00
GameAssembly.dll+C461B1: 75 05                 - jne GameAssembly.dll+C461B8
GameAssembly.dll+C461B3: E8 A8 14 92 FF        - call GameAssembly.il2cpp_runtime_class_init
GameAssembly.dll+C461B8: 33 C9                 - xor ecx,ecx
GameAssembly.dll+C461BA: E8 91 A5 3C 00        - call Manager.get_saves
GameAssembly.dll+C461BF: 48 85 C0              - test rax,rax
GameAssembly.dll+C461C2: 0F 84 AD 05 00 00     - je GameAssembly.dll+C46775
GameAssembly.dll+C461C8: 8B 55 6F              - mov edx,[rbp+6F]
GameAssembly.dll+C461CB: 45 33 C9              - xor r9d,r9d
// ---------- INJECTING HERE ----------
GameAssembly.dll+C461CE: 45 8B C6              - mov r8d,r14d
// ---------- DONE INJECTING  ----------
GameAssembly.dll+C461D1: 48 8B C8              - mov rcx,rax
GameAssembly.dll+C461D4: E8 E7 4B 08 00        - call SaveManagerAddSkillValueProc
GameAssembly.dll+C461D9: 8B 5D 6F              - mov ebx,[rbp+6F]
GameAssembly.dll+C461DC: 33 C9                 - xor ecx,ecx
GameAssembly.dll+C461DE: E8 6D A5 3C 00        - call Manager.get_saves
GameAssembly.dll+C461E3: 48 85 C0              - test rax,rax
GameAssembly.dll+C461E6: 0F 84 89 05 00 00     - je GameAssembly.dll+C46775
GameAssembly.dll+C461EC: 8B 55 6F              - mov edx,[rbp+6F]
GameAssembly.dll+C461EF: 45 33 C0              - xor r8d,r8d
GameAssembly.dll+C461F2: 48 8B C8              - mov rcx,rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>365</ID>
              <Description>"XP multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_skill_xp_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>164</ID>
          <Description>"Damage multiplier"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-03-21
  Author : bbfox @https://opencheattables.org/
revised:
  5/11: 0.3.12
}

[ENABLE]

//aobscanmodule(INJECT_DAMAGE_MULTI,GameAssembly.dll,45 8B CC 0F 10 01) // should be unique
aobscanregion(INJECT_DAMAGE_MULTI,EntityUtilityGetDamageInfoProc+3A0,EntityUtilityGetDamageInfoProc+13A0,45 8B CD 0F 10 01) // should be unique

alloc(newmem,$1000,INJECT_DAMAGE_MULTI)

label(code)
label(return)
label(vf_damage_multi)

newmem:
  movd xmm15, [vf_damage_multi]
  //movd xmm14, r9d
  cvtsi2ss xmm14, r13d
  mulss xmm15, xmm14
  cvtss2si r13d, xmm15

code:
  mov r9d,r13d
  movups xmm0,[rcx]
  jmp return


align 10 cc
  vf_damage_multi:
  dd (float)1.5

INJECT_DAMAGE_MULTI:
  jmp newmem
  nop
return:
registersymbol(vf_damage_multi)
registersymbol(INJECT_DAMAGE_MULTI)

[DISABLE]

INJECT_DAMAGE_MULTI:
  db 45 8B CD 0F 10 01

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+E19818

GameAssembly.dll+E197E8: 48 8D 4D 30              - lea rcx,[rbp+30]
GameAssembly.dll+E197EC: 48 8B D7                 - mov rdx,rdi
GameAssembly.dll+E197EF: E8 AC C4 9A 00           - call GameAssembly.dll+17C5CA0
GameAssembly.dll+E197F4: 48 8B 8D 80 00 00 00     - mov rcx,[rbp+00000080]
GameAssembly.dll+E197FB: 4C 8D 45 58              - lea r8,[rbp+58]
GameAssembly.dll+E197FF: 0F B6 D0                 - movzx edx,al
GameAssembly.dll+E19802: 66 0F 7F 75 90           - movdqa [rbp-70],xmm6
GameAssembly.dll+E19807: 48 8B 85 90 00 00 00     - mov rax,[rbp+00000090]
GameAssembly.dll+E1980E: 33 DB                    - xor ebx,ebx
GameAssembly.dll+E19810: 48 89 9C 24 80 00 00 00  - mov [rsp+00000080],rbx
// ---------- INJECTING HERE ----------
GameAssembly.dll+E19818: 45 8B CD                 - mov r9d,r13d
// ---------- DONE INJECTING  ----------
GameAssembly.dll+E1981B: 0F 10 01                 - movups xmm0,[rcx]
GameAssembly.dll+E1981E: 48 8B 4D 50              - mov rcx,[rbp+50]
GameAssembly.dll+E19822: 0F 29 45 A0              - movaps [rbp-60],xmm0
GameAssembly.dll+E19826: 0F 10 01                 - movups xmm0,[rcx]
GameAssembly.dll+E19829: 48 8B 8D A8 00 00 00     - mov rcx,[rbp+000000A8]
GameAssembly.dll+E19830: 48 89 4C 24 78           - mov [rsp+78],rcx
GameAssembly.dll+E19835: 48 8B 8D A0 00 00 00     - mov rcx,[rbp+000000A0]
GameAssembly.dll+E1983C: 48 89 4C 24 70           - mov [rsp+70],rcx
GameAssembly.dll+E19841: 48 8B 8D 98 00 00 00     - mov rcx,[rbp+00000098]
GameAssembly.dll+E19848: 48 89 4C 24 68           - mov [rsp+68],rcx
}
</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>
              <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-03-21
  Author : bbfox @https://opencheattables.org/
}

[ENABLE]

//aobscanmodule(INJECT_ENEMY_DAMAGE,GameAssembly.dll,33 D2 89 45 00) // should be unique
aobscanregion(INJECT_ENEMY_DAMAGE,AttackPlayerClientSystemRegisterPlayerHitProc+800,AttackPlayerClientSystemRegisterPlayerHitProc+1900,33 D2 89 45 10) // 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:
  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)

{
AttackPlayerClientSystem.RegisterPlayerHit - 4C 89 4C 24 20        - mov [rsp+20],r9

// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+1BDCDF4

GameAssembly.dll+1BDCDC1: 0F B6 85 30 04 00 00     - movzx eax,byte ptr [rbp+00000430]
GameAssembly.dll+1BDCDC8: 48 89 74 24 40           - mov [rsp+40],rsi
GameAssembly.dll+1BDCDCD: 4C 89 74 24 38           - mov [rsp+38],r14
GameAssembly.dll+1BDCDD2: C6 44 24 30 00           - mov byte ptr [rsp+30],00
GameAssembly.dll+1BDCDD7: 88 44 24 28              - mov [rsp+28],al
GameAssembly.dll+1BDCDDB: 0F B6 85 28 04 00 00     - movzx eax,byte ptr [rbp+00000428]
GameAssembly.dll+1BDCDE2: 88 44 24 20              - mov [rsp+20],al
GameAssembly.dll+1BDCDE6: 0F 29 4D B0              - movaps [rbp-50],xmm1
GameAssembly.dll+1BDCDEA: 66 0F 7F 75 D0           - movdqa [rbp-30],xmm6
GameAssembly.dll+1BDCDEF: E8 CC 6A 48 00           - call EntityUtility.CalculateDamage
// ---------- INJECTING HERE ----------
GameAssembly.dll+1BDCDF4: 33 D2                    - xor edx,edx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+1BDCDF6: 89 45 00                 - mov [rbp+00],eax
GameAssembly.dll+1BDCDF9: 49 8B CF                 - mov rcx,r15
GameAssembly.dll+1BDCDFC: 8B D8                    - mov ebx,eax
GameAssembly.dll+1BDCDFE: E8 FD 4A C8 FF           - call PlayerController.IsShielded
GameAssembly.dll+1BDCE03: F3 0F 10 35 1D 12 59 01  - movss xmm6,[GameAssembly.dll+316E028]
GameAssembly.dll+1BDCE0B: 84 C0                    - test al,al
GameAssembly.dll+1BDCE0D: 0F 84 A3 01 00 00        - je GameAssembly.dll+1BDCFB6
GameAssembly.dll+1BDCE13: 33 D2                    - xor edx,edx
GameAssembly.dll+1BDCE15: 49 8B CF                 - mov rcx,r15
GameAssembly.dll+1BDCE18: E8 73 59 C9 FF           - 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>
              <VariableType>4 Bytes</VariableType>
              <Address>i_monster_damage_type</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>168</ID>
              <Description>"Divisor"</Description>
              <DropDownListLink>multiplier</DropDownListLink>
              <ShowAsSigned>0</ShowAsSigned>
              <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 :
}
//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+ECAA76

GameAssembly.dll+ECAA60: C6 43 0C 01           - mov byte ptr [rbx+0C],01
GameAssembly.dll+ECAA64: 48 8B C3              - mov rax,rbx
GameAssembly.dll+ECAA67: 48 83 C4 20           - add rsp,20
GameAssembly.dll+ECAA6B: 5B                    - pop rbx
GameAssembly.dll+ECAA6C: C3                    - ret
GameAssembly.dll+ECAA6D: CC                    - int 3
GameAssembly.dll+ECAA6E: CC                    - int 3
GameAssembly.dll+ECAA6F: CC                    - int 3
GameAssembly.dll+ECAA70: 40 53                 - push rbx
GameAssembly.dll+ECAA72: 48 83 EC 20           - sub rsp,20
// ---------- INJECTING HERE ----------
GameAssembly.dll+ECAA76: F3 0F 11 09           - movss [rcx],xmm1
// ---------- DONE INJECTING  ----------
GameAssembly.dll+ECAA7A: 48 8B D9              - mov rbx,rcx
GameAssembly.dll+ECAA7D: 45 84 C0              - test r8l,r8l
GameAssembly.dll+ECAA80: 74 0B                 - je GameAssembly.dll+ECAA8D
GameAssembly.dll+ECAA82: C6 41 0C 00           - mov byte ptr [rcx+0C],00
GameAssembly.dll+ECAA86: C7 41 10 00 00 00 00  - mov [rcx+10],00000000
GameAssembly.dll+ECAA8D: 80 79 04 00           - cmp byte ptr [rcx+04],00
GameAssembly.dll+ECAA91: 74 09                 - je GameAssembly.dll+ECAA9C
GameAssembly.dll+ECAA93: 33 C9                 - xor ecx,ecx
GameAssembly.dll+ECAA95: E8 C6 2C D3 00        - call UnityEngine.Time.get_unscaledTime
GameAssembly.dll+ECAA9A: EB 07                 - jmp GameAssembly.dll+ECAAA3
}
</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   : 2022-04-02
  Author : bbfox @https://opencheattables.org/
}
//Fast fishing - can ignore red fishing line
[ENABLE]

//aobscanmodule(INJECT_FISH_LINE_TENSION,GameAssembly.dll,F3 0F 11 BF 38 01 00 00 0F) // should be unique
aobscanregion(INJECT_FISH_LINE_TENSION,PlayerStateFishingUpdateMiniGameProc+680, PlayerStateFishingUpdateMiniGameProc+A80,F3 0F 11 BF 48 01 00 00 0F) // should be unique


alloc(newmem,$1000,INJECT_FISH_LINE_TENSION)

label(code)
label(return)

newmem:
  vmovss xmm15, [vf_cast_time]
  vmovss [rdi+38], xmm15 //castTimer
  vmovss [rdi+60], xmm15 //pullUpTimer

  vmovss xmm15, [vf_throw_time]
  vmovss [rdi+4C], xmm15 //throwTimer

  vmovss xmm15, [vf_fishStruggleTimer]
  vmovss [rdi+128], xmm15 //fishStruggleTimer

  vmovss xmm7, [vf_line_tension]

code:
  movss [rdi+00000148],xmm7
  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 BF 48 01 00 00 0F

unregistersymbol(INJECT_FISH_LINE_TENSION)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+1097BC2

GameAssembly.dll+1097B95: 74 0E                       - je GameAssembly.dll+1097BA5
GameAssembly.dll+1097B97: F3 44 0F 10 8F 3C 01 00 00  - movss xmm9,[rdi+0000013C]
GameAssembly.dll+1097BA0: F3 45 0F 59 CB              - mulss xmm9,xmm11
GameAssembly.dll+1097BA5: F3 0F 10 B7 38 01 00 00     - movss xmm6,[rdi+00000138]
GameAssembly.dll+1097BAD: 33 C9                       - xor ecx,ecx
GameAssembly.dll+1097BAF: E8 8C 57 B6 00              - call UnityEngine.Time.get_deltaTime
GameAssembly.dll+1097BB4: 0F 28 F8                    - movaps xmm7,xmm0
GameAssembly.dll+1097BB7: F3 41 0F 59 F9              - mulss xmm7,xmm9
GameAssembly.dll+1097BBC: F3 0F 58 FE                 - addss xmm7,xmm6
GameAssembly.dll+1097BC0: 33 D2                       - xor edx,edx
// ---------- INJECTING HERE ----------
GameAssembly.dll+1097BC2: F3 0F 11 BF 38 01 00 00     - movss [rdi+00000138],xmm7
// ---------- DONE INJECTING  ----------
GameAssembly.dll+1097BCA: 0F 28 C7                    - movaps xmm0,xmm7
GameAssembly.dll+1097BCD: E8 8E E9 3D 01              - call System.Single.IsNaN
GameAssembly.dll+1097BD2: 84 C0                       - test al,al
GameAssembly.dll+1097BD4: 75 06                       - jne GameAssembly.dll+1097BDC
GameAssembly.dll+1097BD6: 41 0F 2F F8                 - comiss xmm7,xmm8
GameAssembly.dll+1097BDA: 76 04                       - jna GameAssembly.dll+1097BE0
GameAssembly.dll+1097BDC: 41 0F 28 F8                 - movaps xmm7,xmm8
GameAssembly.dll+1097BE0: 33 D2                       - xor edx,edx
GameAssembly.dll+1097BE2: 0F 28 C7                    - movaps xmm0,xmm7
GameAssembly.dll+1097BE5: E8 76 E9 3D 01              - call System.Single.IsNaN
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>258</ID>
          <Description>"Fast fish struggle success"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : CoreKeeper.exe
  Version:
  Date   : 2022-04-02
  Author : bbfox @https://opencheattables.org/
}
//Fast fish struggle success
[ENABLE]

//aobscanmodule(INJECT_FAST_FISH_POSITION,GameAssembly.dll,F3 0F 11 87 14 01 00 00 E9) // should be unique
aobscanregion(INJECT_FAST_FISH_POSITION,PlayerStateFishingUpdateMiniGameProc+80,PlayerStateFishingUpdateMiniGameProc+580,F3 0F 11 87 24 01 00 00 E9) // should be unique
alloc(newmem,$1000,INJECT_FAST_FISH_POSITION)

label(code)
label(return)

newmem:
  vmovss xmm0, [vf_position]

code:
  movss [rdi+00000124],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 24 01 00 00 E9

unregistersymbol(INJECT_FAST_FISH_POSITION)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+11DC6CA

GameAssembly.dll+11DC6A2: 45 33 C9                 - xor r9d,r9d
GameAssembly.dll+11DC6A5: 4C 8B C6                 - mov r8,rsi
GameAssembly.dll+11DC6A8: 48 8B D3                 - mov rdx,rbx
GameAssembly.dll+11DC6AB: B9 88 00 00 00           - mov ecx,00000088
GameAssembly.dll+11DC6B0: E8 4B CC FE FF           - call EntityUtility.GetConditionValue
GameAssembly.dll+11DC6B5: F7 D8                    - neg eax
GameAssembly.dll+11DC6B7: 66 0F 6E C0              - movd xmm0,eax
GameAssembly.dll+11DC6BB: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
GameAssembly.dll+11DC6BE: F3 0F 58 C0              - addss xmm0,xmm0
GameAssembly.dll+11DC6C2: F3 0F 5E 05 96 B0 36 02  - divss xmm0,[GameAssembly.dll+3547760]
// ---------- INJECTING HERE ----------
GameAssembly.dll+11DC6CA: F3 0F 11 87 24 01 00 00  - movss [rdi+00000124],xmm0
// ---------- DONE INJECTING  ----------
GameAssembly.dll+11DC6D2: E9 11 01 00 00           - jmp GameAssembly.dll+11DC7E8
GameAssembly.dll+11DC6D7: 80 BF A8 00 00 00 00     - cmp byte ptr [rdi+000000A8],00
GameAssembly.dll+11DC6DE: 0F 84 7A 01 00 00        - je GameAssembly.dll+11DC85E
GameAssembly.dll+11DC6E4: 48 8B 8F F8 00 00 00     - mov rcx,[rdi+000000F8]
GameAssembly.dll+11DC6EB: 33 DB                    - xor ebx,ebx
GameAssembly.dll+11DC6ED: 89 9F 48 01 00 00        - mov [rdi+00000148],ebx
GameAssembly.dll+11DC6F3: 88 9F 44 01 00 00        - mov [rdi+00000144],bl
GameAssembly.dll+11DC6F9: 88 9F 3C 01 00 00        - mov [rdi+0000013C],bl
GameAssembly.dll+11DC6FF: 48 85 C9                 - test rcx,rcx
GameAssembly.dll+11DC702: 0F 84 E1 09 00 00        - je GameAssembly.dll+11DD0E9
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>640</ID>
          <Description>"_not working"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>252</ID>
              <Description>"Move speed multiplier (Disable will cause crash)"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-04-02
  Author : bbfox @https://opencheattables.org/
}

[ENABLE]
aobscanregion(INJECT_WALK_UPDATE2,PlayerStateWalkUpdateProc+300,PlayerStateWalkUpdateProc+800,F3 0F 10 80 60 04 00 00) // should be unique
alloc(newmem,$1000,INJECT_WALK_UPDATE2)

label(code)
label(return)
label(vf_walk_speed_multi)

newmem:
  vmovss xmm15, [vf_walk_speed_multi]
  mulss xmm7,xmm15
  mulss xmm8,xmm15
  mulss xmm9,xmm15

code:
  movss xmm0,[rax+00000460]
  jmp return

align 10 cc
  vf_walk_speed_multi:
  dd (float)1.5


INJECT_WALK_UPDATE2:
  jmp newmem
  nop 4
return:

registersymbol(vf_walk_speed_multi)
registersymbol(INJECT_WALK_UPDATE2)

[DISABLE]

INJECT_WALK_UPDATE2:
  db F3 0F 10 80 60 04 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: GameAssembly.dll+8D07C5

GameAssembly.dll+8D079C: F3 0F 10 7D A7           - movss xmm7,[rbp-59]
GameAssembly.dll+8D07A1: 8B 45 AF                 - mov eax,[rbp-51]
GameAssembly.dll+8D07A4: 0F 28 C7                 - movaps xmm0,xmm7
GameAssembly.dll+8D07A7: 41 0F 14 C0              - unpcklps xmm0,xmm8
GameAssembly.dll+8D07AB: F2 0F 11 46 38           - movsd [rsi+38],xmm0
GameAssembly.dll+8D07B0: 89 46 40                 - mov [rsi+40],eax
GameAssembly.dll+8D07B3: 48 8B 46 10              - mov rax,[rsi+10]
GameAssembly.dll+8D07B7: F2 0F 11 45 A7           - movsd [rbp-59],xmm0
GameAssembly.dll+8D07BC: 48 85 C0                 - test rax,rax
GameAssembly.dll+8D07BF: 0F 84 A1 01 00 00        - je GameAssembly.dll+8D0966
// ---------- INJECTING HERE ----------
GameAssembly.dll+8D07C5: F3 0F 10 80 60 04 00 00  - movss xmm0,[rax+00000460]
// ---------- DONE INJECTING  ----------
GameAssembly.dll+8D07CD: F3 0F 59 F8              - mulss xmm7,xmm0
GameAssembly.dll+8D07D1: F3 44 0F 59 C0           - mulss xmm8,xmm0
GameAssembly.dll+8D07D6: F3 44 0F 59 C8           - mulss xmm9,xmm0
GameAssembly.dll+8D07DB: 48 8B 06                 - mov rax,[rsi]
GameAssembly.dll+8D07DE: 48 8B CE                 - mov rcx,rsi
GameAssembly.dll+8D07E1: 48 8B 90 D0 01 00 00     - mov rdx,[rax+000001D0]
GameAssembly.dll+8D07E8: FF 90 C8 01 00 00        - call qword ptr [rax+000001C8]
GameAssembly.dll+8D07EE: 0F 28 F0                 - movaps xmm6,xmm0
GameAssembly.dll+8D07F1: F3 0F 59 FE              - mulss xmm7,xmm6
GameAssembly.dll+8D07F5: F3 44 0F 59 C6           - mulss xmm8,xmm6
}
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>256</ID>
                  <Description>"multiplier"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Float</VariableType>
                  <Address>vf_walk_speed_multi</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>503</ID>
              <Description>"Inf. craft materials (No effect) (turn off when not use)"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : CoreKeeper.exe
  Version: 
  Date   : 2022-05-12
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

//aobscanmodule(INJECT_INF_AMONT_OF_OBJECT,GameAssembly.dll,40 56 57 41 56) // should be unique
aobscanregion(INJECT_INF_AMONT_OF_OBJECT,InventoryHandlerGetExistingAmountOfObjectProc,InventoryHandlerGetExistingAmountOfObjectProc+5,48 89 5C 24 10) // should be unique
alloc(newmem,$1000,INJECT_INF_AMONT_OF_OBJECT)

label(code)
label(return)

newmem:
  mov eax, #999
  ret

code:
  mov [rsp+10],rbx
  jmp return

INJECT_INF_AMONT_OF_OBJECT:
  jmp newmem
return:
registersymbol(INJECT_INF_AMONT_OF_OBJECT)

[DISABLE]

INJECT_INF_AMONT_OF_OBJECT:
  db 48 89 5C 24 10

unregistersymbol(INJECT_INF_AMONT_OF_OBJECT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: InventoryHandlerGetExistingAmountOfObjectProc

GameAssembly.dll+D598AB: 48 8B 5C 24 40        - mov rbx,[rsp+40]
GameAssembly.dll+D598B0: 48 8B 74 24 48        - mov rsi,[rsp+48]
GameAssembly.dll+D598B5: 48 83 C4 30           - add rsp,30
GameAssembly.dll+D598B9: 5F                    - pop rdi
GameAssembly.dll+D598BA: C3                    - ret
GameAssembly.dll+D598BB: CC                    - int 3
GameAssembly.dll+D598BC: CC                    - int 3
GameAssembly.dll+D598BD: CC                    - int 3
GameAssembly.dll+D598BE: CC                    - int 3
GameAssembly.dll+D598BF: CC                    - int 3
// ---------- INJECTING HERE ----------
InventoryHandlerGetExistingAmountOfObjectProc: 48 89 5C 24 10        - mov [rsp+10],rbx
// ---------- DONE INJECTING  ----------
GameAssembly.dll+D598C5: 48 89 74 24 18        - mov [rsp+18],rsi
GameAssembly.dll+D598CA: 57                    - push rdi
GameAssembly.dll+D598CB: 48 83 EC 60           - sub rsp,60
GameAssembly.dll+D598CF: 8B FA                 - mov edi,edx
GameAssembly.dll+D598D1: 48 8B F1              - mov rsi,rcx
GameAssembly.dll+D598D4: 80 3D 0E 5D 47 03 00  - cmp byte ptr [GameAssembly.dll+41CF5E9],00
GameAssembly.dll+D598DB: 75 37                 - jne GameAssembly.dll+D59914
GameAssembly.dll+D598DD: 48 8D 0D 5C 8C 25 03  - lea rcx,[GameAssembly.dll+3FB2540]
GameAssembly.dll+D598E4: E8 97 9F 8B FF        - call GameAssembly.dll+613880
GameAssembly.dll+D598E9: 48 8D 0D 50 8D 25 03  - lea rcx,[GameAssembly.dll+3FB2640]
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>501</ID>
      <Description>"*** Core Keeper 0.4.4-d5ea EA  /  https://opencheattables.com  /  CE 7.4+ ***"</Description>
      <Color>800080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>tapmult</Name>
      <Address>2088B700000</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
</CheatTable>
