<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="51">
  <CheatEntries>
    <CheatEntry>
      <ID>44</ID>
      <Description>"Toggle Compact View"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end

if not toggleCompactView then
    function toggleCompactView(sender, forceEnable)
        local isCompactMode = not (compactViewMenuItem.Caption == 'Compact View Mode')
        if forceEnable ~= nil then
            isCompactMode = not forceEnable
        end

        synchronize(function()
            compactViewMenuItem.Caption = isCompactMode and 'Compact View Mode' or 'Full View Mode'
            getMainForm().Splitter1.Visible = isCompactMode
            getMainForm().Panel4.Visible    = isCompactMode
            getMainForm().Panel5.Visible    = isCompactMode
        end)
    end
end

if not createCompactViewMenu then
    function createCompactViewMenu()
        if isCompactMenuCreated then return end

        synchronize(function()
            local mainMenu = getMainForm().Menu.Items
            compactViewMenuItem = createMenuItem(mainMenu)
            compactViewMenuItem.Caption = 'Compact View Mode'
            compactViewMenuItem.OnClick = toggleCompactView
            mainMenu.add(compactViewMenuItem)
        end)

        isCompactMenuCreated = true
    end
end

createCompactViewMenu()
toggleCompactView(nil, true)

[DISABLE]
{$lua}
if toggleCompactView then
    toggleCompactView(nil, false)
end
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Fast friendship"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/03/20
}

[ENABLE]

aobscanmodule(INJECT_FAST_FRIENDSHIP,$process,?? 8B ?? 10 ?? 63 ?? ?? ?? ?? ?? ?? 3B ?? 7F)
// raw AOB: 48 C1 E2 04 48 03 90 18 01 00 00 45 84 ED 74 ?? 80 BA 8B 00 00 00 00 74 ?? 8B 42 04 44 0F A3 F0 73 ?? 48 8B 46 08 48 8B 40 68 49 8B D7 48 8B 88 40 01 00 00 E8 ?? ?? ?? ?? 48 85 C0 74 ?? 48 8B 48 10 48 63 05 ?? ?? ?? ?? 48 3B C1 7F ?? 48 63 05 ?? ?? ?? ?? 48 3B C8 7E ?? 8B 45 E8 3B 45 EC 72 ?? 41 B9 08 00 00 00 45 33 C0 48 8D 55 F0 48 8D 4D E0 E8 ?? ?? ?? ?? 8B 45 E8 8B D0 48 8B 0B
// injection point AOB: ?? 8B ?? 10 ?? 63 ?? ?? ?? ?? ?? ?? 3B ?? 7F ?? ?? 63 ?? ?? ?? ?? ?? ?? 3B ?? 7E ?? 8B ?? ?? 3B ?? ?? 72 ?? ?? ?? 08 00 00 00 ?? 33 ?? ?? 8D ?? ?? ?? 8D ?? ?? E8 ?? ?? ?? ?? 8B ?? ?? 8B ?? ?? 8B
alloc(newmem,$1000,INJECT_FAST_FRIENDSHIP)

alloc(INJECT_FAST_FRIENDSHIPo, $B)

label(code)
label(return)

INJECT_FAST_FRIENDSHIPo:
  readmem(INJECT_FAST_FRIENDSHIP, 11)

newmem:
  cmp qword ptr [rax+10], 64
  jae code
  mov qword ptr [rax+10], 64

code:
  // mov rcx,[rax+10]
  reassemble(INJECT_FAST_FRIENDSHIP)
  // movsxd  rax,dword ptr [CrimsonDesert.exe+5C148F8]
  reassemble(INJECT_FAST_FRIENDSHIP+4)
  jmp return
  align 10 cc

INJECT_FAST_FRIENDSHIP:
  jmp newmem
  nop 6
return:
registersymbol(INJECT_FAST_FRIENDSHIP INJECT_FAST_FRIENDSHIPo)

[DISABLE]

INJECT_FAST_FRIENDSHIP:
  readmem(INJECT_FAST_FRIENDSHIPo, 11)

unregistersymbol(INJECT_FAST_FRIENDSHIP INJECT_FAST_FRIENDSHIPo)
dealloc(newmem)
dealloc(INJECT_FAST_FRIENDSHIPo)

{
// ORIGINAL CODE - INJECTION POINT: CrimsonDesert.exe+14DC89E

CrimsonDesert.exe+14DC860: 48 C1 E2 04                        - shl rdx,04
CrimsonDesert.exe+14DC864: 48 03 90 18 01 00 00               - add rdx,[rax+00000118]
CrimsonDesert.exe+14DC86B: 45 84 ED                           - test r13b,r13b
CrimsonDesert.exe+14DC86E: 74 09                              - je CrimsonDesert.exe+14DC879
CrimsonDesert.exe+14DC870: 80 BA 8B 00 00 00 00               - cmp byte ptr [rdx+0000008B],00
CrimsonDesert.exe+14DC877: 74 72                              - je CrimsonDesert.exe+14DC8EB
CrimsonDesert.exe+14DC879: 8B 42 04                           - mov eax,[rdx+04]
CrimsonDesert.exe+14DC87C: 44 0F A3 F0                        - bt eax,r14d
CrimsonDesert.exe+14DC880: 73 69                              - jae CrimsonDesert.exe+14DC8EB
CrimsonDesert.exe+14DC882: 48 8B 46 08                        - mov rax,[rsi+08]
CrimsonDesert.exe+14DC886: 48 8B 40 68                        - mov rax,[rax+68]
CrimsonDesert.exe+14DC88A: 49 8B D7                           - mov rdx,r15
CrimsonDesert.exe+14DC88D: 48 8B 88 40 01 00 00               - mov rcx,[rax+00000140]
CrimsonDesert.exe+14DC894: E8 47 BA 3C 00                     - call CrimsonDesert.exe+18A82E0
CrimsonDesert.exe+14DC899: 48 85 C0                           - test rax,rax
CrimsonDesert.exe+14DC89C: 74 1C                              - je CrimsonDesert.exe+14DC8BA
// ---------- INJECTING HERE ----------
CrimsonDesert.exe+14DC89E: 48 8B 48 10                        - mov rcx,[rax+10]
// ---------- DONE INJECTING  ----------
CrimsonDesert.exe+14DC8A2: 48 63 05 4F 80 73 04               - movsxd  rax,dword ptr [CrimsonDesert.exe+5C148F8]
CrimsonDesert.exe+14DC8A9: 48 3B C1                           - cmp rax,rcx
CrimsonDesert.exe+14DC8AC: 7F 0C                              - jg CrimsonDesert.exe+14DC8BA
CrimsonDesert.exe+14DC8AE: 48 63 05 03 7F 73 04               - movsxd  rax,dword ptr [CrimsonDesert.exe+5C147B8]
CrimsonDesert.exe+14DC8B5: 48 3B C8                           - cmp rcx,rax
CrimsonDesert.exe+14DC8B8: 7E 31                              - jle CrimsonDesert.exe+14DC8EB
CrimsonDesert.exe+14DC8BA: 8B 45 E8                           - mov eax,[rbp-18]
CrimsonDesert.exe+14DC8BD: 3B 45 EC                           - cmp eax,[rbp-14]
CrimsonDesert.exe+14DC8C0: 72 19                              - jb CrimsonDesert.exe+14DC8DB
CrimsonDesert.exe+14DC8C2: 41 B9 08 00 00 00                  - mov r9d,00000008
CrimsonDesert.exe+14DC8C8: 45 33 C0                           - xor r8d,r8d
CrimsonDesert.exe+14DC8CB: 48 8D 55 F0                        - lea rdx,[rbp-10]
CrimsonDesert.exe+14DC8CF: 48 8D 4D E0                        - lea rcx,[rbp-20]
CrimsonDesert.exe+14DC8D3: E8 E8 E5 DF FE                     - call CrimsonDesert.exe+2DAEC0
CrimsonDesert.exe+14DC8D8: 8B 45 E8                           - mov eax,[rbp-18]
CrimsonDesert.exe+14DC8DB: 8B D0                              - mov edx,eax
}


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>43</ID>
      <Description>"inf. arrows (#30)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/03/20
}

[ENABLE]

aobscanmodule(INJECT_INF_ARROW_N_OTHERS,$process,?? 83 ?? 10 00 7E ?? ?? 8D ?? 08 66)
// raw AOB: 0F B7 E8 66 41 3B C4 0F 8D ?? ?? ?? ?? 48 89 5C 24 50 BA FF FF 00 00 48 89 7C 24 58 66 44 3B 7E 12 0F 8D ?? ?? ?? ?? 0F BF C5 48 8D 1C 40 48 C1 E3 06 48 03 1E 48 39 1D ?? ?? ?? ?? 74 ?? 66 3B 53 08 74 ?? 48 83 7B 10 00 7E ?? 48 8D 4B 08 66 41 FF C7 E8 ?? ?? ?? ?? 48 8B C8 41 8B 45 00 39 01 75 ?? 83 7E 20 00 0F B7 43 08 74 ?? 44 8B 4E 20 33 C9 45 85 C9 74 ?? 4C 8B 56 18
// injection point AOB: ?? 83 ?? 10 00 7E ?? ?? 8D ?? 08 66 ?? FF ?? E8 ?? ?? ?? ?? ?? 8B ?? ?? 8B ?? 00 39 ?? 75 ?? 83 ?? 20 00 0F B7 ?? 08 74 ?? ?? 8B ?? 20 33 ?? ?? 85 ?? 74 ?? ?? 8B ?? 18
alloc(newmem,$1000,INJECT_INF_ARROW_N_OTHERS)

alloc(INJECT_INF_ARROW_N_OTHERSo, $5)

label(code)
label(return)

INJECT_INF_ARROW_N_OTHERSo:
  readmem(INJECT_INF_ARROW_N_OTHERS, 5)

newmem:
  cmp qword ptr [rbx], #10 // arrow
  jne code
  cmp qword ptr [rbx+10], 1E
  jae code
  mov qword ptr [rbx+10], 1E

code:
  // cmp qword ptr [rbx+10],00
  reassemble(INJECT_INF_ARROW_N_OTHERS)
  jmp return
  align 10 cc

INJECT_INF_ARROW_N_OTHERS:
  jmp newmem
return:
registersymbol(INJECT_INF_ARROW_N_OTHERS INJECT_INF_ARROW_N_OTHERSo)

[DISABLE]

INJECT_INF_ARROW_N_OTHERS:
  readmem(INJECT_INF_ARROW_N_OTHERSo, 5)

unregistersymbol(INJECT_INF_ARROW_N_OTHERS INJECT_INF_ARROW_N_OTHERSo)
dealloc(newmem)
dealloc(INJECT_INF_ARROW_N_OTHERSo)

{
// ORIGINAL CODE - INJECTION POINT: CrimsonDesert.exe+1D1A9EA

CrimsonDesert.exe+1D1A9A6: 0F B7 E8                           - movzx ebp,ax
CrimsonDesert.exe+1D1A9A9: 66 41 3B C4                        - cmp ax,r12w
CrimsonDesert.exe+1D1A9AD: 0F 8D AB 00 00 00                  - jnl CrimsonDesert.exe+1D1AA5E
CrimsonDesert.exe+1D1A9B3: 48 89 5C 24 50                     - mov [rsp+50],rbx
CrimsonDesert.exe+1D1A9B8: BA FF FF 00 00                     - mov edx,0000FFFF
CrimsonDesert.exe+1D1A9BD: 48 89 7C 24 58                     - mov [rsp+58],rdi
CrimsonDesert.exe+1D1A9C2: 66 44 3B 7E 12                     - cmp r15w,[rsi+12]
CrimsonDesert.exe+1D1A9C7: 0F 8D 84 00 00 00                  - jnl CrimsonDesert.exe+1D1AA51
CrimsonDesert.exe+1D1A9CD: 0F BF C5                           - movsx eax,bp
CrimsonDesert.exe+1D1A9D0: 48 8D 1C 40                        - lea rbx,[rax+rax*2]
CrimsonDesert.exe+1D1A9D4: 48 C1 E3 06                        - shl rbx,06
CrimsonDesert.exe+1D1A9D8: 48 03 1E                           - add rbx,[rsi]
CrimsonDesert.exe+1D1A9DB: 48 39 1D E6 C5 F0 03               - cmp [CrimsonDesert.exe+5C26FC8],rbx
CrimsonDesert.exe+1D1A9E2: 74 60                              - je CrimsonDesert.exe+1D1AA44
CrimsonDesert.exe+1D1A9E4: 66 3B 53 08                        - cmp dx,[rbx+08]
CrimsonDesert.exe+1D1A9E8: 74 5A                              - je CrimsonDesert.exe+1D1AA44
// ---------- INJECTING HERE ----------
CrimsonDesert.exe+1D1A9EA: 48 83 7B 10 00                     - cmp qword ptr [rbx+10],00
// ---------- DONE INJECTING  ----------
CrimsonDesert.exe+1D1A9EF: 7E 53                              - jle CrimsonDesert.exe+1D1AA44
CrimsonDesert.exe+1D1A9F1: 48 8D 4B 08                        - lea rcx,[rbx+08]
CrimsonDesert.exe+1D1A9F5: 66 41 FF C7                        - inc r15w
CrimsonDesert.exe+1D1A9F9: E8 A2 A3 5B FE                     - call CrimsonDesert.exe+2D4DA0
CrimsonDesert.exe+1D1A9FE: 48 8B C8                           - mov rcx,rax
CrimsonDesert.exe+1D1AA01: 41 8B 45 00                        - mov eax,[r13+00]
CrimsonDesert.exe+1D1AA05: 39 01                              - cmp [rcx],eax
CrimsonDesert.exe+1D1AA07: 75 36                              - jne CrimsonDesert.exe+1D1AA3F
CrimsonDesert.exe+1D1AA09: 83 7E 20 00                        - cmp dword ptr [rsi+20],00
CrimsonDesert.exe+1D1AA0D: 0F B7 43 08                        - movzx eax,word ptr [rbx+08]
CrimsonDesert.exe+1D1AA11: 74 28                              - je CrimsonDesert.exe+1D1AA3B
CrimsonDesert.exe+1D1AA13: 44 8B 4E 20                        - mov r9d,[rsi+20]
CrimsonDesert.exe+1D1AA17: 33 C9                              - xor ecx,ecx
CrimsonDesert.exe+1D1AA19: 45 85 C9                           - test r9d,r9d
CrimsonDesert.exe+1D1AA1C: 74 1D                              - je CrimsonDesert.exe+1D1AA3B
CrimsonDesert.exe+1D1AA1E: 4C 8B 56 18                        - mov r10,[rsi+18]
}


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>25</ID>
      <Description>"Menu: when add item amount: set item amount"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/03/20
}

[ENABLE]

aobscanmodule(INJECT_SET_ITEM_CNT,$process,?? 01 ?? 38 10 ?? 8B)
// raw AOB: 66 3B 41 08 0F 84 ?? ?? ?? ?? 4C 8B 61 10 4D 85 E4 0F 8E ?? ?? ?? ?? 48 8D 4C 24 68 48 89 6C 24 50 66 89 5C 24 68 E8 ?? ?? ?? ?? 0F B6 54 24 70 48 89 C1 E8 ?? ?? ?? ?? 49 8B 4D 10 48 89 C5 4D 8B 06 66 89 5C 24 68 49 01 4C 38 10 49 8B 0E 48 8B 7C 0F 10 48 8D 4C 24 68 E8 ?? ?? ?? ?? 0F B6 54 24 70 48 89 C1 E8 ?? ?? ?? ?? 48 8D 1D ?? ?? ?? ?? 48 C7 03 0F A2 C3 00 49 89 C2 31 C9 48 89 F8 48 99 49 F7 FA 49 89 C2 49 89 D1
// injection point AOB: ?? 01 ?? 38 10 ?? 8B ?? ?? 8B ?? 0F 10 ?? 8D ?? 24 ?? E8 ?? ?? ?? ?? 0F B6 ?? 24 ?? ?? 89 ?? E8 ?? ?? ?? ?? ?? 8D ?? ?? ?? ?? ?? ?? C7 ?? 0F A2 C3 00 ?? 89 ?? 31 ?? ?? 89 ?? 48 99 ?? F7 ?? ?? 89 ?? ?? 89
alloc(newmem,$1000,INJECT_SET_ITEM_CNT)

alloc(INJECT_SET_ITEM_CNTo, $5)

label(code)
label(return)
label(i_item_threshold i_item_set_to)
label(i_item_threshold2 i_item_set_to2 i_item_threshold3 i_item_set_to3 i_item_threshold4 i_item_set_to4)

INJECT_SET_ITEM_CNTo:
  readmem(INJECT_SET_ITEM_CNT, 5)

newmem:
  push r15
{
  mov r15, [i_item_threshold4]
  cmp [r8+rdi+10], r15
  jb @F
  mov r15, [i_item_set_to4]
  cmp [r8+rdi+10], r15
  jae @F
  mov [r8+rdi+10], r15
  jmp endp
@@:
  mov r15, [i_item_threshold3]
  cmp [r8+rdi+10], r15
  jb @F
  mov r15, [i_item_set_to3]
  cmp [r8+rdi+10], r15
  jae @F
  mov [r8+rdi+10], r15
  jmp endp
}
@@:
  mov r15, [i_item_threshold2]
  cmp [r8+rdi+10], r15
  jb @F
  mov r15, [i_item_set_to2]
  cmp [r8+rdi+10], r15
  jae @F
  mov [r8+rdi+10], r15
  jmp endp
@@:
  mov r15, [i_item_threshold]
  cmp [r8+rdi+10], r15
  jb @F
  mov r15, [i_item_set_to]
  cmp [r8+rdi+10], r15
  jae @F
  mov [r8+rdi+10], r15
  jmp endp
@@:

endp:
  pop r15


code:
  // add [r8+rdi+10],rcx
  reassemble(INJECT_SET_ITEM_CNT)
  jmp return
  align 10 cc
  i_item_threshold:
  dq 2
  i_item_set_to:
  dq 31
  i_item_threshold2:
  dq #101
  i_item_set_to2:
  dq #900
  i_item_threshold3:
  dq #1001
  i_item_set_to3:
  dq #9800
  i_item_threshold4:
  dq #10001
  i_item_set_to4:
  dq #99800

INJECT_SET_ITEM_CNT:
  jmp newmem
return:
registersymbol(INJECT_SET_ITEM_CNT INJECT_SET_ITEM_CNTo)
registersymbol(i_item_threshold i_item_set_to)
registersymbol(i_item_threshold2 i_item_set_to2 i_item_threshold3 i_item_set_to3 i_item_threshold4 i_item_set_to4)
[DISABLE]

INJECT_SET_ITEM_CNT:
  readmem(INJECT_SET_ITEM_CNTo, 5)

unregistersymbol(INJECT_SET_ITEM_CNT INJECT_SET_ITEM_CNTo)
unregistersymbol(i_item_threshold i_item_set_to)
unregistersymbol(i_item_threshold2 i_item_set_to2 i_item_threshold3 i_item_set_to3 i_item_threshold4 i_item_set_to4)
dealloc(newmem)
dealloc(INJECT_SET_ITEM_CNTo)

{
// ORIGINAL CODE - INJECTION POINT: CrimsonDesert.exe+FC948CA

CrimsonDesert.exe+FC94883: 66 3B 41 08                        - cmp ax,[rcx+08]
CrimsonDesert.exe+FC94887: 0F 84 B2 00 00 00                  - je CrimsonDesert.exe+FC9493F
CrimsonDesert.exe+FC9488D: 4C 8B 61 10                        - mov r12,[rcx+10]
CrimsonDesert.exe+FC94891: 4D 85 E4                           - test r12,r12
CrimsonDesert.exe+FC94894: 0F 8E A5 00 00 00                  - jng CrimsonDesert.exe+FC9493F
CrimsonDesert.exe+FC9489A: 48 8D 4C 24 68                     - lea rcx,[rsp+68]
CrimsonDesert.exe+FC9489F: 48 89 6C 24 50                     - mov [rsp+50],rbp
CrimsonDesert.exe+FC948A4: 66 89 5C 24 68                     - mov [rsp+68],bx
CrimsonDesert.exe+FC948A9: E8 F2 04 64 F0                     - call CrimsonDesert.exe+2D4DA0
CrimsonDesert.exe+FC948AE: 0F B6 54 24 70                     - movzx edx,byte ptr [rsp+70]
CrimsonDesert.exe+FC948B3: 48 89 C1                           - mov rcx,rax
CrimsonDesert.exe+FC948B6: E8 A5 DF 08 F2                     - call CrimsonDesert.exe+1D22860
CrimsonDesert.exe+FC948BB: 49 8B 4D 10                        - mov rcx,[r13+10]
CrimsonDesert.exe+FC948BF: 48 89 C5                           - mov rbp,rax
CrimsonDesert.exe+FC948C2: 4D 8B 06                           - mov r8,[r14]
CrimsonDesert.exe+FC948C5: 66 89 5C 24 68                     - mov [rsp+68],bx
// ---------- INJECTING HERE ----------
CrimsonDesert.exe+FC948CA: 49 01 4C 38 10                     - add [r8+rdi+10],rcx
// ---------- DONE INJECTING  ----------
CrimsonDesert.exe+FC948CF: 49 8B 0E                           - mov rcx,[r14]
CrimsonDesert.exe+FC948D2: 48 8B 7C 0F 10                     - mov rdi,[rdi+rcx+10]
CrimsonDesert.exe+FC948D7: 48 8D 4C 24 68                     - lea rcx,[rsp+68]
CrimsonDesert.exe+FC948DC: E8 BF 04 64 F0                     - call CrimsonDesert.exe+2D4DA0
CrimsonDesert.exe+FC948E1: 0F B6 54 24 70                     - movzx edx,byte ptr [rsp+70]
CrimsonDesert.exe+FC948E6: 48 89 C1                           - mov rcx,rax
CrimsonDesert.exe+FC948E9: E8 72 DF 08 F2                     - call CrimsonDesert.exe+1D22860
CrimsonDesert.exe+FC948EE: 48 8D 1D 9C C5 D3 07               - lea rbx,[CrimsonDesert.exe+179D0E91]
CrimsonDesert.exe+FC948F5: 48 C7 03 0F A2 C3 00               - mov qword ptr [rbx],00C3A20F
CrimsonDesert.exe+FC948FC: 49 89 C2                           - mov r10,rax
CrimsonDesert.exe+FC948FF: 31 C9                              - xor ecx,ecx
CrimsonDesert.exe+FC94901: 48 89 F8                           - mov rax,rdi
CrimsonDesert.exe+FC94904: 48 99                              - cqo
CrimsonDesert.exe+FC94906: 49 F7 FA                           - idiv r10
CrimsonDesert.exe+FC94909: 49 89 C2                           - mov r10,rax
CrimsonDesert.exe+FC9490C: 49 89 D1                           - mov r9,rdx
}


</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>6</ID>
          <Description>"cur. amount must &gt;="</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_item_threshold</Address>
          <CheatEntries>
            <CheatEntry>
              <ID>7</ID>
              <Description>"set amount to"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_item_set_to</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"#2: cur. amount must &gt;="</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_item_threshold2</Address>
          <CheatEntries>
            <CheatEntry>
              <ID>18</ID>
              <Description>"#2: set amount to"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_item_set_to2</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>32</ID>
      <Description>"Get HP address: Setp 1 &amp; 2"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>33</ID>
          <Description>"+Step 1 Usage: open item menu"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>37</ID>
              <Description>"Enable step 1"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/03/20
}

[ENABLE]

aobscanmodule(INJECT_GET_HP_1_3,$process,0F 85 ?? ?? ?? ?? ?? 8B ?? 38 ?? 3B ?? 0F 86)
// raw AOB: CC CC CC CC CC 48 89 5C 24 08 48 89 74 24 10 48 89 7C 24 18 41 56 48 83 EC 20 4D 8B F1 49 8B F0 48 8B FA 48 8B D9 E8 ?? ?? ?? ?? 80 78 11 02 0F 85 ?? ?? ?? ?? 48 8B 43 38 48 3B F0 0F 86 ?? ?? ?? ?? 80 7B 53 00 0F 8F ?? ?? ?? ?? 4C 8B 4B 08 4C 8B 53 28 4D 3B CA 7F ?? 48 3B 73 40 E9 ?? ?? ?? ?? 90 F2 0F 10 0D ?? ?? ?? ?? 0F 57 D2 F2 48 0F 2A 53 10 48 8B 53 40
// injection point AOB: 0F 85 ?? ?? ?? ?? ?? 8B ?? 38 ?? 3B ?? 0F 86 ?? ?? ?? ?? 80 ?? 53 00 0F 8F ?? ?? ?? ?? ?? 8B ?? 08 ?? 8B ?? 28 ?? 3B ?? 7F ?? ?? 3B ?? 40 E9 ?? ?? ?? ?? 90 F2 0F 10 ?? ?? ?? ?? ?? 0F 57 ?? F2 ?? 0F 2A ?? 10 ?? 8B ?? 40
alloc(newmem,$1000,INJECT_GET_HP_1_3)

alloc(INJECT_GET_HP_1_3o, $6)

label(code)
label(return)
label(i_base_hp_addr_1)
INJECT_GET_HP_1_3o:
  readmem(INJECT_GET_HP_1_3, 6)

newmem:
  jne save_address_1
  jmp code
save_address_1:
  pushfq
  cmp qword ptr [i_base_hp_addr_1], 0
  jne @F
  mov [i_base_hp_addr_1], rbx // rbx+08 = HP
@@:
  popfq


code:
  // jne CrimsonDesert.exe+12BDB64
  reassemble(INJECT_GET_HP_1_3)
  jmp return
  align 10 cc
  i_base_hp_addr_1:
  dq 0

INJECT_GET_HP_1_3:
  jmp newmem
  nop 1
return:
registersymbol(INJECT_GET_HP_1_3 INJECT_GET_HP_1_3o)
registersymbol(i_base_hp_addr_1)
[DISABLE]

INJECT_GET_HP_1_3:
  readmem(INJECT_GET_HP_1_3o, 6)

unregistersymbol(INJECT_GET_HP_1_3 INJECT_GET_HP_1_3o)
unregistersymbol(i_base_hp_addr_1)
dealloc(newmem)
dealloc(INJECT_GET_HP_1_3o)

{
// ORIGINAL CODE - INJECTION POINT: CrimsonDesert.exe+12BDA5A

CrimsonDesert.exe+12BDA2B: CC                                 - int 3
CrimsonDesert.exe+12BDA2C: CC                                 - int 3
CrimsonDesert.exe+12BDA2D: CC                                 - int 3
CrimsonDesert.exe+12BDA2E: CC                                 - int 3
CrimsonDesert.exe+12BDA2F: CC                                 - int 3
CrimsonDesert.exe+12BDA30: 48 89 5C 24 08                     - mov [rsp+08],rbx
CrimsonDesert.exe+12BDA35: 48 89 74 24 10                     - mov [rsp+10],rsi
CrimsonDesert.exe+12BDA3A: 48 89 7C 24 18                     - mov [rsp+18],rdi
CrimsonDesert.exe+12BDA3F: 41 56                              - push r14
CrimsonDesert.exe+12BDA41: 48 83 EC 20                        - sub rsp,20
CrimsonDesert.exe+12BDA45: 4D 8B F1                           - mov r14,r9
CrimsonDesert.exe+12BDA48: 49 8B F0                           - mov rsi,r8
CrimsonDesert.exe+12BDA4B: 48 8B FA                           - mov rdi,rdx
CrimsonDesert.exe+12BDA4E: 48 8B D9                           - mov rbx,rcx
CrimsonDesert.exe+12BDA51: E8 6A 35 14 FF                     - call CrimsonDesert.exe+400FC0
CrimsonDesert.exe+12BDA56: 80 78 11 02                        - cmp byte ptr [rax+11],02
// ---------- INJECTING HERE ----------
CrimsonDesert.exe+12BDA5A: 0F 85 04 01 00 00                  - jne CrimsonDesert.exe+12BDB64
// ---------- DONE INJECTING  ----------
CrimsonDesert.exe+12BDA60: 48 8B 43 38                        - mov rax,[rbx+38]
CrimsonDesert.exe+12BDA64: 48 3B F0                           - cmp rsi,rax
CrimsonDesert.exe+12BDA67: 0F 86 F7 00 00 00                  - jbe CrimsonDesert.exe+12BDB64
CrimsonDesert.exe+12BDA6D: 80 7B 53 00                        - cmp byte ptr [rbx+53],00
CrimsonDesert.exe+12BDA71: 0F 8F ED 00 00 00                  - jg CrimsonDesert.exe+12BDB64
CrimsonDesert.exe+12BDA77: 4C 8B 4B 08                        - mov r9,[rbx+08]
CrimsonDesert.exe+12BDA7B: 4C 8B 53 28                        - mov r10,[rbx+28]
CrimsonDesert.exe+12BDA7F: 4D 3B CA                           - cmp r9,r10
CrimsonDesert.exe+12BDA82: 7F 0A                              - jg CrimsonDesert.exe+12BDA8E
CrimsonDesert.exe+12BDA84: 48 3B 73 40                        - cmp rsi,[rbx+40]
INJECT_GET_HP_1: E9 73 25 D3 FE                     - jmp 13FFF0000
CrimsonDesert.exe+12BDA8D: 90                                 - nop
CrimsonDesert.exe+12BDA8E: F2 0F 10 0D A2 B2 B1 03            - movsd xmm1,[CrimsonDesert.exe+4DD8D38]
CrimsonDesert.exe+12BDA96: 0F 57 D2                           - xorps xmm2,xmm2
CrimsonDesert.exe+12BDA99: F2 48 0F 2A 53 10                  - cvtsi2sd xmm2,[rbx+10]
CrimsonDesert.exe+12BDA9F: 48 8B 53 40                        - mov rdx,[rbx+40]
}


</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>34</ID>
                  <Description>"HP #1"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_hp_addr_1</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>45</ID>
                  <Description>"Sta #1"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_hp_addr_1</Address>
                  <Offsets>
                    <Offset>488</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>38</ID>
          <Description>"+Step 2 Usage: open item menu -&gt; use item to recover HP even HP is full"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>39</ID>
              <Description>"Enable step 2"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{
  Generated by AOBMaker,  bbfox@https://opencheattables.com
  Date   : 2026/03/20
}

[ENABLE]

aobscanmodule(INJECT_GET_HP_2,$process,?? 8B ?? 08 ?? 0F B7 ?? ?? 8B ?? E8 ?? ?? ?? ?? ?? 85)
// raw AOB: 32 C0 48 8B 9C 24 30 03 00 00 48 81 C4 E0 02 00 00 41 5F 41 5E 41 5D 41 5C 5F 5E 5D C3 0F B6 80 6A 02 00 00 88 44 24 44 0F B7 D3 49 8B CD E8 ?? ?? ?? ?? 48 8B 70 08 41 0F B7 D6 49 8B CD E8 ?? ?? ?? ?? 48 85 F6 7F ?? 48 85 FF 79 ?? B0 01 EB ?? 32 C0 4C 8D 7C 24 4C 48 8D 4C 24 48 84 C0 4C 0F 44 F9 0F B7 D3 49 8B CD E8
// injection point AOB: ?? 8B ?? 08 ?? 0F B7 ?? ?? 8B ?? E8 ?? ?? ?? ?? ?? 85 ?? 7F ?? ?? 85 ?? 79 ?? ?? 01 EB ?? 32 ?? ?? 8D ?? 24 ?? ?? 8D ?? 24 ?? 84 ?? ?? 0F 44 ?? 0F B7 ?? ?? 8B ?? E8
alloc(newmem,$1000,INJECT_GET_HP_2)

alloc(INJECT_GET_HP_2o, $8)

label(code)
label(return)
label(i_base_hp_addr_2)

INJECT_GET_HP_2o:
  readmem(INJECT_GET_HP_2, 8)

newmem:
  cmp qword ptr [i_base_hp_addr_2], 0
  jne code
  mov [i_base_hp_addr_2], rax

code:
  // mov rsi,[rax+08]
  reassemble(INJECT_GET_HP_2)
  // movzx edx,r14w
  reassemble(INJECT_GET_HP_2+4)
  jmp return
  align 10 cc
  i_base_hp_addr_2:
  dq 0

INJECT_GET_HP_2:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_HP_2 INJECT_GET_HP_2o)
registersymbol(i_base_hp_addr_2)
[DISABLE]

INJECT_GET_HP_2:
  readmem(INJECT_GET_HP_2o, 8)

unregistersymbol(INJECT_GET_HP_2 INJECT_GET_HP_2o)
unregistersymbol(i_base_hp_addr_2)
dealloc(newmem)
dealloc(INJECT_GET_HP_2o)

{
// ORIGINAL CODE - INJECTION POINT: CrimsonDesert.exe+12B6B5E

CrimsonDesert.exe+12B6B2B: 32 C0                              - xor al,al
CrimsonDesert.exe+12B6B2D: 48 8B 9C 24 30 03 00 00            - mov rbx,[rsp+00000330]
CrimsonDesert.exe+12B6B35: 48 81 C4 E0 02 00 00               - add rsp,000002E0
CrimsonDesert.exe+12B6B3C: 41 5F                              - pop r15
CrimsonDesert.exe+12B6B3E: 41 5E                              - pop r14
CrimsonDesert.exe+12B6B40: 41 5D                              - pop r13
CrimsonDesert.exe+12B6B42: 41 5C                              - pop r12
CrimsonDesert.exe+12B6B44: 5F                                 - pop rdi
CrimsonDesert.exe+12B6B45: 5E                                 - pop rsi
CrimsonDesert.exe+12B6B46: 5D                                 - pop rbp
CrimsonDesert.exe+12B6B47: C3                                 - ret
CrimsonDesert.exe+12B6B48: 0F B6 80 6A 02 00 00               - movzx eax,byte ptr [rax+0000026A]
CrimsonDesert.exe+12B6B4F: 88 44 24 44                        - mov [rsp+44],al
CrimsonDesert.exe+12B6B53: 0F B7 D3                           - movzx edx,bx
CrimsonDesert.exe+12B6B56: 49 8B CD                           - mov rcx,r13
CrimsonDesert.exe+12B6B59: E8 92 18 00 00                     - call CrimsonDesert.exe+12B83F0
// ---------- INJECTING HERE ----------
CrimsonDesert.exe+12B6B5E: 48 8B 70 08                        - mov rsi,[rax+08]
// ---------- DONE INJECTING  ----------
CrimsonDesert.exe+12B6B62: 41 0F B7 D6                        - movzx edx,r14w
CrimsonDesert.exe+12B6B66: 49 8B CD                           - mov rcx,r13
CrimsonDesert.exe+12B6B69: E8 82 18 00 00                     - call CrimsonDesert.exe+12B83F0
CrimsonDesert.exe+12B6B6E: 48 85 F6                           - test rsi,rsi
CrimsonDesert.exe+12B6B71: 7F 09                              - jg CrimsonDesert.exe+12B6B7C
CrimsonDesert.exe+12B6B73: 48 85 FF                           - test rdi,rdi
CrimsonDesert.exe+12B6B76: 79 04                              - jns CrimsonDesert.exe+12B6B7C
CrimsonDesert.exe+12B6B78: B0 01                              - mov al,01
CrimsonDesert.exe+12B6B7A: EB 02                              - jmp CrimsonDesert.exe+12B6B7E
CrimsonDesert.exe+12B6B7C: 32 C0                              - xor al,al
CrimsonDesert.exe+12B6B7E: 4C 8D 7C 24 4C                     - lea r15,[rsp+4C]
CrimsonDesert.exe+12B6B83: 48 8D 4C 24 48                     - lea rcx,[rsp+48]
CrimsonDesert.exe+12B6B88: 84 C0                              - test al,al
CrimsonDesert.exe+12B6B8A: 4C 0F 44 F9                        - cmove r15,rcx
CrimsonDesert.exe+12B6B8E: 0F B7 D3                           - movzx edx,bx
CrimsonDesert.exe+12B6B91: 49 8B CD                           - mov rcx,r13
}


</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>40</ID>
                  <Description>"HP #2"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_hp_addr_2</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>46</ID>
                  <Description>"Sta #2"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>8 Bytes</VariableType>
                  <Address>i_base_hp_addr_2</Address>
                  <Offsets>
                    <Offset>488</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>47</ID>
      <Description>"Crimson Desert  /  https://opencheattables.com  /  CE 7.6+"</Description>
      <Color>008E00</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Info about this table:
</Comments>
</CheatTable>
