<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>0</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>1</ID>
      <Description>"Toggle Scripts (auto attach)"</Description>
      <Color>4080FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">[ENABLE]
{$lua}
if (syntaxcheck) then return end
synchronize(function()
  getLuaEngine().menuItem5.doClick()
  getLuaEngine().Close()
end)

-- attach process
local processName = "ff7rebirth_.exe"
local pid = getProcessIDFromProcessName(processName)
if pid ~= nil and pid &gt; 0 then
  local currentPid = getOpenedProcessID() or 0
  if currentPid ~= pid then
    openProcess(processName)
    print("Attached to: " .. processName)
    Sleep(333)
  else
    print("Already attached to: " .. processName)
  end
end
synchronize(function()
  getLuaEngine().Close()
end)

local enableBattleScripts = {
  0, -- "Toggle Compact View"
  2, -- "When get hit: set min HP/MP"
  6, -- "EXP multiplier"
  8, -- "Fast summoning after triggered"
  9, -- "Slower summon timer countdown"
  11, -- "Fast chain ability gauge"
  15, -- "Get gil"
  17, -- "Get research / gold pt."
  21, -- "Relationship multiplier"
  23, -- "Item menu -&gt; set items amount"
  27, -- "Enemy HP"
  29, -- "Set min. ATB"
  31, -- "Burst multiplier"
  33, -- "Slower burst down"
  35, -- "Quick limit break"
  38, -- "Materia XP multiplier"
  40, -- "Set equipped items EXP, if non zero"
  43, -- "Set min. non-equipped materia XP, if non-zero"
  46, -- "Get party level"
  49, -- "Char. status viewer"
  105, -- "When get new item..."
  3, -- "Set min. MP after use"
  12, -- "Chain ability gauge no decrease"
  13, -- "Fill chain ability after battle"
  73, -- "Mini games"
  74, -- "Queen's blood score / クイーンズブラッド"
  91, -- "Magonga Mushroom: inf retry / モーグリコープ"
  150, -- "Last got new items (serial 100xxx)"
}
local addressList = getAddressList()
synchronize(function()
  for _, id in ipairs(enableBattleScripts) do
    local memRec = addressList.getMemoryRecordByID(id)
    if memRec and not memRec.Active then
      memRec.Active = true
      sleep(30)
    end
    addressList.refresh()
  end
end)
synchronize(function() getLuaEngine().Close() end)
[DISABLE]
{$lua}
if (syntaxcheck) then return end
synchronize(function()
  getLuaEngine().menuItem5.doClick()
  getLuaEngine().Close()
end)

local disableBattleScripts = {
  167, -- "#3"
  162, -- "#2"
  157, -- "#1"
  152, -- "#0"
  145, -- "#3"
  140, -- "#2"
  135, -- "#1"
  130, -- "#0"
  123, -- "#3"
  118, -- "#2"
  113, -- "#1"
  108, -- "#0"
  94, -- "Run wild (enable after game start) / BigBear743 / ランワイルド"
  93, -- "Piano all great / Cissa90 / ピアノ演奏"
  204, -- "Get chocobo weed quest amount (ch. 11)"
  202, -- "inf. catch chocobo throw item (ch11)"
  200, -- "Check: Gambit Gears enemy 1HP?"
  197, -- "Gambit Gears: inf ATB (ch.10) / ガンビットギアーズ"
  195, -- "Gambit Gears: inf ATB (ch.10) / ガンビットギアーズ"
  194, -- "Hoop de Chocobo score (ch. 10) / フープデチョコボ"
  186, -- "."
  184, -- "+Materias (do not delete this)"
  183, -- "Generate materia XP list"
  179, -- "+Inventory (do not delete this)"
  178, -- "Generate item list"
  150, -- "Last got new items (serial 100xxx)"
  128, -- "Last got new equip (serial 300xxx)"
  106, -- "Last got new materia (serial 600xxx)"
  92, -- "Scripts from other makers+"
  91, -- "Magonga Mushroom: inf retry / モーグリコープ"
  90, -- "Cactuar Knock: inf. Bullets / サボテンノック"
  89, -- "Chocobo race - speed / チョコボレース"
  88, -- "Chocobo race: inf. Chocobo ability / チョコボレース"
  87, -- "G-Bike inf gauge / Gバイク"
  86, -- "Desert rush score / デザートラッシュ"
  85, -- "3D Brawler - limit break gauge / 3Dバトラー"
  84, -- "Shooting Coaster score / シューティングコースター"
  83, -- "Ab Challenge easy win / 腹筋勝負"
  82, -- "Run Wild timer / ランワイルド"
  81, -- "Pirate's Rampage / パイレーツランページ"
  79, -- "Jumpfrog multiplier / フロッグフラップ"
  78, -- "Fort Condor: inf. units / コンドルフォート"
  77, -- "Fort Condor: inf. ATB / コンドルフォート"
  75, -- "Dash de Chocobo: slower timer (ch. 2) / ダッシュデチョコボ"
  74, -- "Queen's blood score / クイーンズブラッド"
  59, -- "Attributes"
  13, -- "Fill chain ability after battle"
  12, -- "Chain ability gauge no decrease"
  3, -- "Set min. MP after use"
  206, -- "misc"
  185, -- "Final Fantasy VII Rebirth  /  https://opencheattables.com"
  180, -- "Get materia XP data"
  172, -- "Get item list"
  105, -- "When get new item..."
  95, -- "Get trading currencies"
  73, -- "Mini games (incompleted)"
  49, -- "Char. status viewer"
  46, -- "Get party level"
  43, -- "Set min. non-equipped materia XP, if non-zero"
  40, -- "Set equipped items EXP, if non zero"
  38, -- "Materia XP multiplier"
  35, -- "Quick limit break"
  33, -- "Slower burst down"
  31, -- "Burst multiplier"
  29, -- "Set min. ATB"
  27, -- "Enemy HP"
  23, -- "Item menu -&gt; set items amount"
  21, -- "Relationship multiplier"
  17, -- "Get research / gold pt."
  15, -- "Get gil"
  11, -- "Fast chain ability gauge"
  9, -- "Slower summon timer countdown"
  8, -- "Fast summoning after triggered"
  6, -- "EXP multiplier"
  2, -- "When get hit: set min HP/MP"
  0, -- "Toggle Compact View"
}
local addressList = getAddressList()
synchronize(function()
  for _, id in ipairs(disableBattleScripts) do
    local memRec = addressList.getMemoryRecordByID(id)
    if memRec and memRec.Active then
      memRec.Active = false
      sleep(30)
    end
    addressList.refresh()
  end
end)
synchronize(function() getLuaEngine().Close() end)
-- Comments:
-- ID: 0, Description: "Toggle Compact View", Depth: 0
-- ID: 2, Description: "When get hit: set min HP/MP", Depth: 0
--   ID: 3, Description: "Set min. MP after use", Depth: 1
-- ID: 6, Description: "EXP multiplier", Depth: 0
-- ID: 8, Description: "Fast summoning after triggered", Depth: 0
-- ID: 9, Description: "Slower summon timer countdown", Depth: 0
-- ID: 11, Description: "Fast chain ability gauge", Depth: 0
--   ID: 12, Description: "Chain ability gauge no decrease", Depth: 1
--   ID: 13, Description: "Fill chain ability after battle", Depth: 1
-- ID: 15, Description: "Get gil", Depth: 0
-- ID: 17, Description: "Get research / gold pt.", Depth: 0
-- ID: 21, Description: "Relationship multiplier", Depth: 0
-- ID: 23, Description: "Item menu -&gt; set items amount", Depth: 0
-- ID: 27, Description: "Enemy HP", Depth: 0
--   ID: 200, Description: "Check: Gambit Gears enemy 1HP?", Depth: 1
-- ID: 29, Description: "Set min. ATB", Depth: 0
-- ID: 31, Description: "Burst multiplier", Depth: 0
-- ID: 33, Description: "Slower burst down", Depth: 0
-- ID: 35, Description: "Quick limit break", Depth: 0
-- ID: 38, Description: "Materia XP multiplier", Depth: 0
-- ID: 40, Description: "Set equipped items EXP, if non zero", Depth: 0
-- ID: 43, Description: "Set min. non-equipped materia XP, if non-zero", Depth: 0
-- ID: 46, Description: "Get party level", Depth: 0
-- ID: 49, Description: "Char. status viewer", Depth: 0
--   ID: 59, Description: "Attributes", Depth: 1
-- ID: 73, Description: "Mini games (incompleted)", Depth: 0
--   ID: 74, Description: "Queen's blood score / クイーンズブラッド", Depth: 1
--   ID: 75, Description: "Dash de Chocobo: slower timer (ch. 2) / ダッシュデチョコボ", Depth: 1
--   ID: 77, Description: "Fort Condor: inf. ATB / コンドルフォート", Depth: 1
--   ID: 78, Description: "Fort Condor: inf. units / コンドルフォート", Depth: 1
--   ID: 79, Description: "Jumpfrog multiplier / フロッグフラップ", Depth: 1
--   ID: 81, Description: "Pirate's Rampage / パイレーツランページ", Depth: 1
--   ID: 82, Description: "Run Wild timer / ランワイルド", Depth: 1
--   ID: 83, Description: "Ab Challenge easy win / 腹筋勝負", Depth: 1
--   ID: 84, Description: "Shooting Coaster score / シューティングコースター", Depth: 1
--   ID: 85, Description: "3D Brawler - limit break gauge / 3Dバトラー", Depth: 1
--   ID: 86, Description: "Desert rush score / デザートラッシュ", Depth: 1
--   ID: 87, Description: "G-Bike inf gauge / Gバイク", Depth: 1
--   ID: 88, Description: "Chocobo race: inf. Chocobo ability / チョコボレース", Depth: 1
--   ID: 89, Description: "Chocobo race - speed / チョコボレース", Depth: 1
--   ID: 90, Description: "Cactuar Knock: inf. Bullets / サボテンノック", Depth: 1
--   ID: 91, Description: "Magonga Mushroom: inf retry / モーグリコープ", Depth: 1
--   ID: 194, Description: "Hoop de Chocobo score (ch. 10) / フープデチョコボ", Depth: 1
--   ID: 195, Description: "Gambit Gears: inf ATB (ch.10) / ガンビットギアーズ", Depth: 1
--   ID: 197, Description: "Gambit Gears: inf ATB (ch.10) / ガンビットギアーズ", Depth: 1
--   ID: 202, Description: "inf. catch chocobo throw item (ch11)", Depth: 1
--   ID: 92, Description: "Scripts from other makers+", Depth: 1
--     ID: 93, Description: "Piano all great / Cissa90 / ピアノ演奏", Depth: 2
--     ID: 94, Description: "Run wild (enable after game start) / BigBear743 / ランワイルド", Depth: 2
-- ID: 95, Description: "Get trading currencies", Depth: 0
-- ID: 105, Description: "When get new item...", Depth: 0
--   ID: 106, Description: "Last got new materia (serial 600xxx)", Depth: 1
--     ID: 108, Description: "#0", Depth: 2
--     ID: 113, Description: "#1", Depth: 2
--     ID: 118, Description: "#2", Depth: 2
--     ID: 123, Description: "#3", Depth: 2
--   ID: 128, Description: "Last got new equip (serial 300xxx)", Depth: 1
--     ID: 130, Description: "#0", Depth: 2
--     ID: 135, Description: "#1", Depth: 2
--     ID: 140, Description: "#2", Depth: 2
--     ID: 145, Description: "#3", Depth: 2
--   ID: 150, Description: "Last got new items (serial 100xxx)", Depth: 1
--     ID: 152, Description: "#0", Depth: 2
--     ID: 157, Description: "#1", Depth: 2
--     ID: 162, Description: "#2", Depth: 2
--     ID: 167, Description: "#3", Depth: 2
-- ID: 172, Description: "Get item list", Depth: 0
--   ID: 178, Description: "Generate item list", Depth: 1
--   ID: 179, Description: "+Inventory (do not delete this)", Depth: 1
-- ID: 180, Description: "Get materia XP data", Depth: 0
--   ID: 183, Description: "Generate materia XP list", Depth: 1
--   ID: 184, Description: "+Materias (do not delete this)", Depth: 1
-- ID: 206, Description: "misc", Depth: 0
--   ID: 204, Description: "Get chocobo weed quest amount (ch. 11)", Depth: 1
-- ID: 185, Description: "Final Fantasy VII Rebirth  /  https://opencheattables.com", Depth: 0
--   ID: 186, Description: ".", Depth: 1

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"When get hit: set min HP/MP"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-01
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_HPMP,$process,89 B0 A8 03 00 00 89) // should be unique
alloc(newmem,$1000,INJECT_SET_MIN_HPMP)

label(code)
label(return)
label(min_hp min_mp)

newmem:
  cmp esi, [min_hp]
  jae chk_mp
  mov esi, [min_hp]

chk_mp:
  mov ecx, [rax+000003AC]
  cmp ecx, [min_mp]
  jae code
  mov ecx, [min_mp]
  mov [rax+000003AC], ecx

code:
  mov [rax+000003A8],esi
  jmp return
align 10 cc
  min_hp:
  dd #3000
  min_mp:
  dd #65

INJECT_SET_MIN_HPMP:
  jmp newmem
  nop
return:
registersymbol(INJECT_SET_MIN_HPMP)
registersymbol(min_hp min_mp)

[DISABLE]

INJECT_SET_MIN_HPMP:
  db 89 B0 A8 03 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+AB8EEE

ff7rebirth_.exe+AB8EC6: 44 88 7D A3        - mov [rbp-5D],r15b
ff7rebirth_.exe+AB8ECA: 44 88 7D AB        - mov [rbp-55],r15b
ff7rebirth_.exe+AB8ECE: 44 88 7D B7        - mov [rbp-49],r15b
ff7rebirth_.exe+AB8ED2: 44 88 7D C3        - mov [rbp-3D],r15b
ff7rebirth_.exe+AB8ED6: 44 88 7D CF        - mov [rbp-31],r15b
ff7rebirth_.exe+AB8EDA: 44 88 7D E7        - mov [rbp-19],r15b
ff7rebirth_.exe+AB8EDE: 44 88 7D FF        - mov [rbp-01],r15b
ff7rebirth_.exe+AB8EE2: 44 88 7D 0F        - mov [rbp+0F],r15b
ff7rebirth_.exe+AB8EE6: 44 89 7D 13        - mov [rbp+13],r15d
ff7rebirth_.exe+AB8EEA: 44 88 7D 17        - mov [rbp+17],r15b
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+AB8EEE: 89 B0 A8 03 00 00  - mov [rax+000003A8],esi
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+AB8EF4: 89 77 10           - mov [rdi+10],esi
ff7rebirth_.exe+AB8EF7: 48 8B 4D 1F        - mov rcx,[rbp+1F]
ff7rebirth_.exe+AB8EFB: 48 85 C9           - test rcx,rcx
ff7rebirth_.exe+AB8EFE: 74 0A              - je ff7rebirth_.exe+AB8F0A
ff7rebirth_.exe+AB8F00: 48 8D 54 24 20     - lea rdx,[rsp+20]
ff7rebirth_.exe+AB8F05: E8 8A 62 5B 00     - call ff7rebirth_.exe+106F194
ff7rebirth_.exe+AB8F0A: 48 8B D3           - mov rdx,rbx
ff7rebirth_.exe+AB8F0D: E8 2E 00 00 00     - call ff7rebirth_.exe+AB8F40
ff7rebirth_.exe+AB8F12: 48 8D 4C 24 20     - lea rcx,[rsp+20]
ff7rebirth_.exe+AB8F17: E8 D8 CC 53 00     - call ff7rebirth_.exe+FF5BF4
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Set min. MP after use"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_MP,$process,89 BB AC 03 00 00 89) // should be unique
alloc(newmem,$1000,INJECT_SET_MIN_MP)

label(code)
label(return)

newmem:
  cmp edi, [min_mp]
  jae code
  mov edi, [min_mp]

code:
  mov [rbx+000003AC],edi
  jmp return

INJECT_SET_MIN_MP:
  jmp newmem
  nop
return:
registersymbol(INJECT_SET_MIN_MP)

[DISABLE]

INJECT_SET_MIN_MP:
  db 89 BB AC 03 00 00

unregistersymbol(INJECT_SET_MIN_MP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+AB88BE

ff7rebirth_.exe+AB8896: 44 88 7D A3        - mov [rbp-5D],r15b
ff7rebirth_.exe+AB889A: 44 88 7D AB        - mov [rbp-55],r15b
ff7rebirth_.exe+AB889E: 44 88 7D B7        - mov [rbp-49],r15b
ff7rebirth_.exe+AB88A2: 44 88 7D C3        - mov [rbp-3D],r15b
ff7rebirth_.exe+AB88A6: 44 88 7D CF        - mov [rbp-31],r15b
ff7rebirth_.exe+AB88AA: 44 88 7D E7        - mov [rbp-19],r15b
ff7rebirth_.exe+AB88AE: 44 88 7D FF        - mov [rbp-01],r15b
ff7rebirth_.exe+AB88B2: 44 88 7D 0F        - mov [rbp+0F],r15b
ff7rebirth_.exe+AB88B6: 44 89 7D 13        - mov [rbp+13],r15d
ff7rebirth_.exe+AB88BA: 44 88 7D 17        - mov [rbp+17],r15b
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+AB88BE: 89 BB AC 03 00 00  - mov [rbx+000003AC],edi
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+AB88C4: 89 78 18           - mov [rax+18],edi
ff7rebirth_.exe+AB88C7: 48 8B 4D 1F        - mov rcx,[rbp+1F]
ff7rebirth_.exe+AB88CB: 48 85 C9           - test rcx,rcx
ff7rebirth_.exe+AB88CE: 74 0A              - je ff7rebirth_.exe+AB88DA
ff7rebirth_.exe+AB88D0: 48 8D 54 24 20     - lea rdx,[rsp+20]
ff7rebirth_.exe+AB88D5: E8 BA 68 5B 00     - call ff7rebirth_.exe+106F194
ff7rebirth_.exe+AB88DA: 48 8B D3           - mov rdx,rbx
ff7rebirth_.exe+AB88DD: E8 5E 06 00 00     - call ff7rebirth_.exe+AB8F40
ff7rebirth_.exe+AB88E2: 48 8D 4C 24 20     - lea rcx,[rsp+20]
ff7rebirth_.exe+AB88E7: E8 08 D3 53 00     - call ff7rebirth_.exe+FF5BF4
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>4</ID>
          <Description>"min. HP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>min_hp</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>5</ID>
          <Description>"min. MP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>min_mp</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>6</ID>
      <Description>"EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_XP_MULTI,$process,39 03 0F 4C 03 EB) // should be unique
alloc(newmem,$1000,INJECT_XP_MULTI)

label(code)
label(return vf_xp_multi)

newmem:
  cmp [rbx],eax
  jge code

  movaps [tmp13], xmm13
  movaps [tmp14], xmm14
  movaps [tmp15], xmm15

  cvtsi2ss xmm15, dword ptr [rbx]
  vcvtsi2ss xmm14, xmm14, eax
  vsubss xmm14, xmm14, xmm15
  vmovss xmm13, [vf_xp_multi]
  vmulss xmm14, xmm13, xmm14
  vaddss xmm14, xmm14, xmm15
  vcvtss2si eax, xmm14

  movaps xmm13, [tmp13]
  movaps xmm14, [tmp14]
  movaps xmm15, [tmp15]


code:
  cmp [rbx],eax
  cmovl eax,[rbx]
  jmp return
align 10 cc
  tmp15:
  dq 0 0
  tmp14:
  dq 0 0
  tmp13:
  dq 0 0
  vf_xp_multi:
  dd (float)1.2

INJECT_XP_MULTI:
  jmp newmem
return:
registersymbol(INJECT_XP_MULTI vf_xp_multi)

[DISABLE]

INJECT_XP_MULTI:
  db 39 03 0F 4C 03

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+17D9082

ff7rebirth_.exe+17D9068: 33 C0              - xor eax,eax
ff7rebirth_.exe+17D906A: 48 85 C9           - test rcx,rcx
ff7rebirth_.exe+17D906D: 0F 84 BF 88 2F 01  - je ff7rebirth_.exe+2AD1932
ff7rebirth_.exe+17D9073: 39 03              - cmp [rbx],eax
ff7rebirth_.exe+17D9075: 7D 08              - jnl ff7rebirth_.exe+17D907F
ff7rebirth_.exe+17D9077: 89 03              - mov [rbx],eax
ff7rebirth_.exe+17D9079: 48 83 C4 40        - add rsp,40
ff7rebirth_.exe+17D907D: 5B                 - pop rbx
ff7rebirth_.exe+17D907E: C3                 - ret
ff7rebirth_.exe+17D907F: 8B 41 18           - mov eax,[rcx+18]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+17D9082: 39 03              - cmp [rbx],eax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+17D9084: 0F 4C 03           - cmovl eax,[rbx]
ff7rebirth_.exe+17D9087: EB EE              - jmp ff7rebirth_.exe+17D9077
ff7rebirth_.exe+17D9089: CC                 - int 3
ff7rebirth_.exe+17D908A: CC                 - int 3
ff7rebirth_.exe+17D908B: CC                 - int 3
ff7rebirth_.exe+17D908C: 48 8B C4           - mov rax,rsp
ff7rebirth_.exe+17D908F: 48 89 58 10        - mov [rax+10],rbx
ff7rebirth_.exe+17D9093: 48 89 70 18        - mov [rax+18],rsi
ff7rebirth_.exe+17D9097: 48 89 78 20        - mov [rax+20],rdi
ff7rebirth_.exe+17D909B: 55                 - push rbp
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>7</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_xp_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>8</ID>
      <Description>"Fast summoning after triggered"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FAST_SUMMON,$process,C5 FA 11 87 AC 00 00 00 89 87 A0) // should be unique
alloc(newmem,$1000,INJECT_FAST_SUMMON)

label(code)
label(return)

newmem:
  vmovss xmm15, [vf_95]
  vucomiss xmm0, xmm15
  jae @F
  movss xmm0, xmm15
  jmp code

@@:
  vmovss xmm15, [vf_101]
  vucomiss xmm0, xmm15
  jbe code

  vmovss xmm15, [vf_195]
  vucomiss xmm0, xmm15
  jae @F
  movss xmm0, xmm15
  jmp code

@@:
  vmovss xmm15, [vf_201]
  vucomiss xmm0, xmm15
  jbe code

  vmovss xmm15, [vf_290]
  vucomiss xmm0, xmm15
  jae @F
  movss xmm0, xmm15
  jmp code

@@:
  vmovss xmm15, [vf_201]
  vucomiss xmm0, xmm15
  jbe code

  vmovss xmm15, [vf_290]
  vucomiss xmm0, xmm15
  jae @F
  movss xmm0, xmm15
  //jmp code


code:
  //vmovss [rsi+000000AC],xmm0
  vmovss [rdi+000000AC],xmm0
  jmp return
align 10 cc
  tmp15:
  dq 0 0
  vf_95:
  dd (float)95
  vf_101:
  dd (float)101
  vf_195:
  dd (float)195
  vf_201:
  dd (float)201
  vf_290:
  dd (float)290
  vf_301:
  dd (float)301
  vf_390:
  dd (float)390

INJECT_FAST_SUMMON:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FAST_SUMMON)

[DISABLE]

INJECT_FAST_SUMMON:
  db C5 FA 11 87 AC 00 00 00

unregistersymbol(INJECT_FAST_SUMMON)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+16C88FF

ff7rebirth_.exe+16C88D5: 48 8B C8                    - mov rcx,rax
ff7rebirth_.exe+16C88D8: FF D2                       - call rdx
ff7rebirth_.exe+16C88DA: 03 E8                       - add ebp,eax
ff7rebirth_.exe+16C88DC: 48 83 C3 08                 - add rbx,08
ff7rebirth_.exe+16C88E0: EB D7                       - jmp ff7rebirth_.exe+16C88B9
ff7rebirth_.exe+16C88E2: C5 FA 10 87 A8 00 00 00     - vmovss xmm0,[rdi+000000A8]
ff7rebirth_.exe+16C88EA: C4 E2 49 A9 87 AC 00 00 00  - vfmadd213ss xmm0,xmm6,[rdi+000000AC]
ff7rebirth_.exe+16C88F3: C5 FA 2C C0                 - vcvttss2si eax,xmm0
ff7rebirth_.exe+16C88F7: 03 C5                       - add eax,ebp
ff7rebirth_.exe+16C88F9: 48 83 7C 24 20 00           - cmp qword ptr [rsp+20],00
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+16C88FF: C5 FA 11 87 AC 00 00 00     - vmovss [rdi+000000AC],xmm0
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+16C8907: 89 87 A0 00 00 00           - mov [rdi+000000A0],eax
ff7rebirth_.exe+16C890D: 75 1C                       - jne ff7rebirth_.exe+16C892B
ff7rebirth_.exe+16C890F: 48 8B 5C 24 50              - mov rbx,[rsp+50]
ff7rebirth_.exe+16C8914: 48 8B 6C 24 58              - mov rbp,[rsp+58]
ff7rebirth_.exe+16C8919: 48 8B 7C 24 60              - mov rdi,[rsp+60]
ff7rebirth_.exe+16C891E: C5 F8 28 74 24 30           - vmovaps xmm6,[rsp+30]
ff7rebirth_.exe+16C8924: 48 83 C4 40                 - add rsp,40
ff7rebirth_.exe+16C8928: 41 5E                       - pop r14
ff7rebirth_.exe+16C892A: C3                          - ret
ff7rebirth_.exe+16C892B: 48 8B 4C 24 20              - mov rcx,[rsp+20]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>9</ID>
      <Description>"Slower summon timer countdown"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SLOW_SUMMON_TIMER_DOWN,$process,C5 FA 5C CE C4 C1 7A 11 8F 30 0C 00 00) // should be unique
alloc(newmem,$1000,INJECT_SLOW_SUMMON_TIMER_DOWN)

label(code)
label(return vf_summon_timer_down_multi)

newmem:
  movaps [tmp15], xmm15

  vmovss xmm15, [vf_summon_timer_down_multi]
  vmulss xmm6, xmm6, xmm15

  movaps xmm15, [tmp15]

code:
  //vsubss xmm1,xmm0,xmm6
  //vmovss [r13+00000C30],xmm1
  vsubss xmm1,xmm0,xmm6
  vmovss [r15+00000C30],xmm1
  jmp return
align 10 cc
  tmp15:
  dq 0 0
  vf_summon_timer_down_multi:
  dd (float)0.5

INJECT_SLOW_SUMMON_TIMER_DOWN:
  jmp newmem
  nop 8
return:
registersymbol(INJECT_SLOW_SUMMON_TIMER_DOWN vf_summon_timer_down_multi)

[DISABLE]

INJECT_SLOW_SUMMON_TIMER_DOWN:
  db C5 FA 5C CE C4 C1 7A 11 8F 30 0C 00 00

unregistersymbol(INJECT_SLOW_SUMMON_TIMER_DOWN vf_summon_timer_down_multi)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+C431EA

ff7rebirth_.exe+C431BC: 3A C3                       - cmp al,bl
ff7rebirth_.exe+C431BE: 74 37                       - je ff7rebirth_.exe+C431F7
ff7rebirth_.exe+C431C0: 48 8B 05 21 BC 4B 08        - mov rax,[ff7rebirth_.exe+90FEDE8]
ff7rebirth_.exe+C431C7: 48 8B 88 70 01 00 00        - mov rcx,[rax+00000170]
ff7rebirth_.exe+C431CE: 8B 81 44 26 A1 01           - mov eax,[rcx+01A12644]
ff7rebirth_.exe+C431D4: 03 81 94 23 A1 01           - add eax,[rcx+01A12394]
ff7rebirth_.exe+C431DA: 75 1B                       - jne ff7rebirth_.exe+C431F7
ff7rebirth_.exe+C431DC: 40 84 FF                    - test dil,dil
ff7rebirth_.exe+C431DF: 75 16                       - jne ff7rebirth_.exe+C431F7
ff7rebirth_.exe+C431E1: C4 C1 7A 10 87 30 0C 00 00  - vmovss xmm0,[r15+00000C30]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+C431EA: C5 FA 5C CE                 - vsubss xmm1,xmm0,xmm6
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+C431EE: C4 C1 7A 11 8F 30 0C 00 00  - vmovss [r15+00000C30],xmm1
ff7rebirth_.exe+C431F7: C5 F8 57 C0                 - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+C431FB: C4 C1 78 2F 87 30 0C 00 00  - vcomiss xmm0,[r15+00000C30]
ff7rebirth_.exe+C43204: 0F 82 C0 08 00 00           - jb ff7rebirth_.exe+C43ACA
ff7rebirth_.exe+C4320A: 45 38 B7 D0 0A 00 00        - cmp [r15+00000AD0],r14b
ff7rebirth_.exe+C43211: 75 0C                       - jne ff7rebirth_.exe+C4321F
ff7rebirth_.exe+C43213: 41 89 9F 70 0D 00 00        - mov [r15+00000D70],ebx
ff7rebirth_.exe+C4321A: E9 AB 08 00 00              - jmp ff7rebirth_.exe+C43ACA
ff7rebirth_.exe+C4321F: 48 8D 4C 24 60              - lea rcx,[rsp+60]
ff7rebirth_.exe+C43224: 4C 89 74 24 50              - mov [rsp+50],r14
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>10</ID>
          <Description>"multiplier"</Description>
          <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0.1:1/10
0.3333:1/3
0.5:Half
1:Normal
200:Very fast
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_summon_timer_down_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>11</ID>
      <Description>"Fast chain ability gauge"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FAST_COMBINE_SKILL_GAUGE,$process,00 91 10 05 00 00) // should be unique
alloc(newmem,$1000,INJECT_FAST_COMBINE_SKILL_GAUGE)

label(code)
label(return i_base_chain_ability_addr)

newmem:
  mov [i_base_chain_ability_addr], rcx
  mov byte ptr [rcx+00000510], 5
  xor dl, dl

code:
  add [rcx+00000510],dl
  jmp return
align 10 cc
  i_base_chain_ability_addr:
  dq 0

INJECT_FAST_COMBINE_SKILL_GAUGE:
  jmp newmem
  nop
return:
registersymbol(INJECT_FAST_COMBINE_SKILL_GAUGE i_base_chain_ability_addr)

[DISABLE]

INJECT_FAST_COMBINE_SKILL_GAUGE:
  db 00 91 10 05 00 00

unregistersymbol(INJECT_FAST_COMBINE_SKILL_GAUGE i_base_chain_ability_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+1407113

ff7rebirth_.exe+14070F6: 48 8B 5C 24 30     - mov rbx,[rsp+30]
ff7rebirth_.exe+14070FB: 8B C7              - mov eax,edi
ff7rebirth_.exe+14070FD: 48 83 C4 20        - add rsp,20
ff7rebirth_.exe+1407101: 5F                 - pop rdi
ff7rebirth_.exe+1407102: C3                 - ret 
ff7rebirth_.exe+1407103: CC                 - int 3 
ff7rebirth_.exe+1407104: 40 53              - push rbx
ff7rebirth_.exe+1407106: B8 20 00 00 00     - mov eax,00000020
ff7rebirth_.exe+140710B: E8 B0 1D D5 00     - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+1407110: 48 2B E0           - sub rsp,rax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+1407113: 00 91 10 05 00 00  - add [rcx+00000510],dl
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+1407119: 48 8B D9           - mov rbx,rcx
ff7rebirth_.exe+140711C: E8 DF F2 79 FF     - call ff7rebirth_.exe+BA6400
ff7rebirth_.exe+1407121: 3A 83 10 05 00 00  - cmp al,[rbx+00000510]
ff7rebirth_.exe+1407127: 7D 06              - jnl ff7rebirth_.exe+140712F
ff7rebirth_.exe+1407129: 88 83 10 05 00 00  - mov [rbx+00000510],al
ff7rebirth_.exe+140712F: 48 83 C4 20        - add rsp,20
ff7rebirth_.exe+1407133: 5B                 - pop rbx
ff7rebirth_.exe+1407134: C3                 - ret 
ff7rebirth_.exe+1407135: CC                 - int 3 
ff7rebirth_.exe+1407136: CC                 - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>12</ID>
          <Description>"Chain ability gauge no decrease"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHAIN_ABILITY_DEC,$process,28 8F 10 05 00 00) // should be unique
alloc(newmem,$1000,INJECT_CHAIN_ABILITY_DEC)

label(code)
label(return)

newmem:
  xor cl, cl

code:
  sub [rdi+00000510],cl
  jmp return

INJECT_CHAIN_ABILITY_DEC:
  jmp newmem
  nop
return:
registersymbol(INJECT_CHAIN_ABILITY_DEC)

[DISABLE]

INJECT_CHAIN_ABILITY_DEC:
  db 28 8F 10 05 00 00

unregistersymbol(INJECT_CHAIN_ABILITY_DEC)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+14077B3

ff7rebirth_.exe+1407788: 0F B6 C8                 - movzx ecx,al
ff7rebirth_.exe+140778B: 0F B6 45 48              - movzx eax,byte ptr [rbp+48]
ff7rebirth_.exe+140778F: C5 F8 57 C0              - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+1407793: C5 FA 2A C0              - vcvtsi2ss xmm0,xmm0,eax
ff7rebirth_.exe+1407797: C5 E8 57 D2              - vxorps xmm2,xmm2,xmm2
ff7rebirth_.exe+140779B: C5 FA 58 CE              - vaddss xmm1,xmm0,xmm6
ff7rebirth_.exe+140779F: C5 EA 2A D1              - vcvtsi2ss xmm2,xmm2,ecx
ff7rebirth_.exe+14077A3: C5 EA 5D D1              - vminss xmm2,xmm2,xmm1
ff7rebirth_.exe+14077A7: C5 EA 5F 05 69 43 B9 04  - vmaxss xmm0,xmm2,[ff7rebirth_.exe+5F9BB18]
ff7rebirth_.exe+14077AF: C5 FA 2C C8              - vcvttss2si ecx,xmm0
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+14077B3: 28 8F 10 05 00 00        - sub [rdi+00000510],cl
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+14077B9: 79 07                    - jns ff7rebirth_.exe+14077C2
ff7rebirth_.exe+14077BB: C6 87 10 05 00 00 00     - mov byte ptr [rdi+00000510],00
ff7rebirth_.exe+14077C2: 0F BE C1                 - movsx eax,cl
ff7rebirth_.exe+14077C5: 89 87 94 04 00 00        - mov [rdi+00000494],eax
ff7rebirth_.exe+14077CB: EB 50                    - jmp ff7rebirth_.exe+140781D
ff7rebirth_.exe+14077CD: 0F B6 4D 48              - movzx ecx,byte ptr [rbp+48]
ff7rebirth_.exe+14077D1: C5 F8 57 C0              - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+14077D5: C5 FA 2A C1              - vcvtsi2ss xmm0,xmm0,ecx
ff7rebirth_.exe+14077D9: 8B 88 68 01 00 00        - mov ecx,[rax+00000168]
ff7rebirth_.exe+14077DF: C5 CA 58 F0              - vaddss xmm6,xmm6,xmm0
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>13</ID>
          <Description>"Fill chain ability after battle"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-15
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FILL_CB_CHAIN_AFT_BATT,$process,40 88 AF 10 05 00 00) // should be unique
alloc(newmem,$1000,INJECT_FILL_CB_CHAIN_AFT_BATT)

label(code)
label(return)

newmem:
  mov byte ptr [rdi+00000510], 5

code:
  //mov [rdi+00000510],bpl
  jmp return

INJECT_FILL_CB_CHAIN_AFT_BATT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_FILL_CB_CHAIN_AFT_BATT)

[DISABLE]

INJECT_FILL_CB_CHAIN_AFT_BATT:
  db 40 88 AF 10 05 00 00

unregistersymbol(INJECT_FILL_CB_CHAIN_AFT_BATT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+FAFFB1

ff7rebirth_.exe+FAFF7C: 0F 85 85 79 9D 01     - jne ff7rebirth_.exe+2987907
ff7rebirth_.exe+FAFF82: 48 8B 05 87 17 2C 08  - mov rax,[ff7rebirth_.exe+9271710]
ff7rebirth_.exe+FAFF89: 40 38 A8 16 03 00 00  - cmp [rax+00000316],bpl
ff7rebirth_.exe+FAFF90: 0F 85 71 79 9D 01     - jne ff7rebirth_.exe+2987907
ff7rebirth_.exe+FAFF96: C5 F0 57 C9           - vxorps xmm1,xmm1,xmm1
ff7rebirth_.exe+FAFF9A: 48 8B CF              - mov rcx,rdi
ff7rebirth_.exe+FAFF9D: E8 96 54 45 00        - call ff7rebirth_.exe+1405438
ff7rebirth_.exe+FAFFA2: 48 8D 8F 60 05 00 00  - lea rcx,[rdi+00000560]
ff7rebirth_.exe+FAFFA9: 89 AF F0 05 00 00     - mov [rdi+000005F0],ebp
ff7rebirth_.exe+FAFFAF: 33 D2                 - xor edx,edx
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+FAFFB1: 40 88 AF 10 05 00 00  - mov [rdi+00000510],bpl
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+FAFFB8: E8 7B 02 92 FF        - call ff7rebirth_.exe+8D0238
ff7rebirth_.exe+FAFFBD: 48 8B CF              - mov rcx,rdi
ff7rebirth_.exe+FAFFC0: E8 57 14 00 00        - call ff7rebirth_.exe+FB141C
ff7rebirth_.exe+FAFFC5: 48 8B CF              - mov rcx,rdi
ff7rebirth_.exe+FAFFC8: E8 53 97 58 00        - call ff7rebirth_.exe+1539720
ff7rebirth_.exe+FAFFCD: 48 8B 07              - mov rax,[rdi]
ff7rebirth_.exe+FAFFD0: 48 8B CF              - mov rcx,rdi
ff7rebirth_.exe+FAFFD3: 40 88 AF 28 05 00 00  - mov [rdi+00000528],bpl
ff7rebirth_.exe+FAFFDA: FF 90 E0 04 00 00     - call qword ptr [rax+000004E0]
ff7rebirth_.exe+FAFFE0: 48 8D 8F 38 05 00 00  - lea rcx,[rdi+00000538]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"last value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_chain_ability_addr</Address>
          <Offsets>
            <Offset>510</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>15</ID>
      <Description>"Get gil"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-01
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_GIL,$process,8B 5E 0C 2B D8) // should be unique
alloc(newmem,$1000,INJECT_GET_GIL)

label(code)
label(return i_base_gil_addr)

newmem:
  mov [i_base_gil_addr], rsi

code:
  mov ebx,[rsi+0C]
  sub ebx,eax
  jmp return
align 10 cc
  i_base_gil_addr:
  dq 0

INJECT_GET_GIL:
  jmp newmem
return:
registersymbol(INJECT_GET_GIL i_base_gil_addr)

[DISABLE]

INJECT_GET_GIL:
  db 8B 5E 0C 2B D8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+FF46CF

ff7rebirth_.exe+FF46A7: 74 3D                 - je ff7rebirth_.exe+FF46E6
ff7rebirth_.exe+FF46A9: 48 8D 15 E8 B5 0E 08  - lea rdx,[ff7rebirth_.exe+90DFC98]
ff7rebirth_.exe+FF46B0: 48 8B CF              - mov rcx,rdi
ff7rebirth_.exe+FF46B3: E8 F4 F5 FF FF        - call ff7rebirth_.exe+FF3CAC
ff7rebirth_.exe+FF46B8: 48 8B 15 D9 B5 0E 08  - mov rdx,[ff7rebirth_.exe+90DFC98]
ff7rebirth_.exe+FF46BF: 48 8B CF              - mov rcx,rdi
ff7rebirth_.exe+FF46C2: 48 8B F0              - mov rsi,rax
ff7rebirth_.exe+FF46C5: E8 A2 E0 FF FF        - call ff7rebirth_.exe+FF276C
ff7rebirth_.exe+FF46CA: 48 85 F6              - test rsi,rsi
ff7rebirth_.exe+FF46CD: 74 05                 - je ff7rebirth_.exe+FF46D4
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+FF46CF: 8B 5E 0C              - mov ebx,[rsi+0C]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+FF46D2: 2B D8                 - sub ebx,eax
ff7rebirth_.exe+FF46D4: 8B C3                 - mov eax,ebx
ff7rebirth_.exe+FF46D6: 48 8B 5C 24 30        - mov rbx,[rsp+30]
ff7rebirth_.exe+FF46DB: 48 8B 74 24 38        - mov rsi,[rsp+38]
ff7rebirth_.exe+FF46E0: 48 83 C4 20           - add rsp,20
ff7rebirth_.exe+FF46E4: 5F                    - pop rdi
ff7rebirth_.exe+FF46E5: C3                    - ret 
ff7rebirth_.exe+FF46E6: 33 C0                 - xor eax,eax
ff7rebirth_.exe+FF46E8: EB EC                 - jmp ff7rebirth_.exe+FF46D6
ff7rebirth_.exe+FF46EA: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>16</ID>
          <Description>"Gil"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_gil_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>17</ID>
      <Description>"Get research / gold pt."</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_RESEARCH_PT,$process,8B 70 0C E8 ?? ?? ?? ?? 48 85 C0 74 ?? 48 8B D3) // should be unique
alloc(newmem,$1000,INJECT_GET_RESEARCH_PT)

alloc(INJECT_GET_RESEARCH_PTo, 8)

label(code)
label(return i_base_research_pt_addr)

INJECT_GET_RESEARCH_PTo:
  readmem(INJECT_GET_RESEARCH_PT, 8)

newmem:
  mov [i_base_research_pt_addr], rax

code:
  mov esi,[rax+0C]
  reassemble(INJECT_GET_RESEARCH_PT+3)
  //call ff7rebirth_.exe+FF2FD4
  jmp return
align 10 cc
  i_base_research_pt_addr:
  dq 0

INJECT_GET_RESEARCH_PT:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_RESEARCH_PT i_base_research_pt_addr)
registersymbol(INJECT_GET_RESEARCH_PTo)

[DISABLE]

INJECT_GET_RESEARCH_PT:
  //db 8B 70 0C E8 4A CF DE FF
  readmem(INJECT_GET_RESEARCH_PTo, 8)

unregistersymbol(INJECT_GET_RESEARCH_PT i_base_research_pt_addr)
dealloc(newmem)
unregistersymbol(INJECT_GET_RESEARCH_PTo)
dealloc(INJECT_GET_RESEARCH_PTo)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+1206082

ff7rebirth_.exe+120605C: 48 FF C2              - inc rdx
ff7rebirth_.exe+120605F: 48 83 C5 20           - add rbp,20
ff7rebirth_.exe+1206063: 48 81 FA 00 10 00 00  - cmp rdx,00001000
ff7rebirth_.exe+120606A: 7C D0                 - jl ff7rebirth_.exe+120603C
ff7rebirth_.exe+120606C: EB 2E                 - jmp ff7rebirth_.exe+120609C
ff7rebirth_.exe+120606E: 41 8B 97 44 01 00 00  - mov edx,[r15+00000144]
ff7rebirth_.exe+1206075: 45 8A C6              - mov r8b,r14b
ff7rebirth_.exe+1206078: E8 47 00 00 00        - call ff7rebirth_.exe+12060C4
ff7rebirth_.exe+120607D: 48 85 C0              - test rax,rax
ff7rebirth_.exe+1206080: 74 1A                 - je ff7rebirth_.exe+120609C
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+1206082: 8B 70 0C              - mov esi,[rax+0C]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+1206085: E8 4A CF DE FF        - call ff7rebirth_.exe+FF2FD4
ff7rebirth_.exe+120608A: 48 85 C0              - test rax,rax
ff7rebirth_.exe+120608D: 74 0D                 - je ff7rebirth_.exe+120609C
ff7rebirth_.exe+120608F: 48 8B D3              - mov rdx,rbx
ff7rebirth_.exe+1206092: 48 8B C8              - mov rcx,rax
ff7rebirth_.exe+1206095: E8 D2 C6 DE FF        - call ff7rebirth_.exe+FF276C
ff7rebirth_.exe+120609A: 8B F8                 - mov edi,eax
ff7rebirth_.exe+120609C: 2B F7                 - sub esi,edi
ff7rebirth_.exe+120609E: EB 07                 - jmp ff7rebirth_.exe+12060A7
ff7rebirth_.exe+12060A0: B9 63 00 00 00        - mov ecx,00000063
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>18</ID>
          <Description>"Usage: talk to Chadley, must be non-zero"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>19</ID>
          <Description>"Re-enable when enter different area"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>20</ID>
          <Description>"value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_research_pt_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>21</ID>
      <Description>"Relationship multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_RELATIONSHIP_MULTI,$process,89 9E 98 20 00 00) // should be unique
alloc(newmem,$1000,INJECT_RELATIONSHIP_MULTI)

label(code)
label(return vf_rel_multi)

newmem:
  movaps [tmp13], xmm13
  movaps [tmp14], xmm14
  movaps [tmp15], xmm15

  cmp [rsi+00002098], ebx
  ja neg_val
  je code

  cvtsi2ss xmm15, [rsi+00002098]
  vcvtsi2ss xmm14, xmm14, ebx
  jmp calc

neg_val:
  vcvtsi2ss xmm15, xmm15, ebx
  cvtsi2ss xmm14, [rsi+00002098]

calc:
  vsubss xmm14, xmm14, xmm15
  vmovss xmm13, [vf_rel_multi]
  vmulss xmm14, xmm14, xmm13
  vaddss xmm14, xmm15, xmm14
  vcvtss2si ebx, xmm14

  movaps xmm13, [tmp13]
  movaps xmm14, [tmp14]
  movaps xmm15, [tmp15]

code:
  mov [rsi+00002098],ebx
  jmp return
align 10 cc
  tmp13:
  dq 0 0
  tmp14:
  dq 0 0
  tmp15:
  dq 0 0
  vf_rel_multi:
  dd (float)1.5

INJECT_RELATIONSHIP_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_RELATIONSHIP_MULTI vf_rel_multi)

[DISABLE]

INJECT_RELATIONSHIP_MULTI:
  db 89 9E 98 20 00 00

unregistersymbol(INJECT_RELATIONSHIP_MULTI vf_rel_multi)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3F2C550

ff7rebirth_.exe+3F2C528: E8 47 53 5D FF        - call ff7rebirth_.exe+3501874
ff7rebirth_.exe+3F2C52D: 8B 9E 98 20 00 00     - mov ebx,[rsi+00002098]
ff7rebirth_.exe+3F2C533: 48 8D 4C 24 20        - lea rcx,[rsp+20]
ff7rebirth_.exe+3F2C538: 8B D3                 - mov edx,ebx
ff7rebirth_.exe+3F2C53A: E8 15 4C 00 00        - call ff7rebirth_.exe+3F31154
ff7rebirth_.exe+3F2C53F: 03 DD                 - add ebx,ebp
ff7rebirth_.exe+3F2C541: 48 8D 4C 24 20        - lea rcx,[rsp+20]
ff7rebirth_.exe+3F2C546: 8B D3                 - mov edx,ebx
ff7rebirth_.exe+3F2C548: 44 8B F0              - mov r14d,eax
ff7rebirth_.exe+3F2C54B: E8 04 4C 00 00        - call ff7rebirth_.exe+3F31154
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3F2C550: 89 9E 98 20 00 00     - mov [rsi+00002098],ebx
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3F2C556: 44 3B F0              - cmp r14d,eax
ff7rebirth_.exe+3F2C559: 7D 2A                 - jnl ff7rebirth_.exe+3F2C585
ff7rebirth_.exe+3F2C55B: 48 8D 15 EE 5F 1C 05  - lea rdx,[ff7rebirth_.exe+90F2550]
ff7rebirth_.exe+3F2C562: 48 8D 4C 24 40        - lea rcx,[rsp+40]
ff7rebirth_.exe+3F2C567: E8 C8 5F D4 FC        - call ff7rebirth_.exe+C72534
ff7rebirth_.exe+3F2C56C: 45 33 C0              - xor r8d,r8d
ff7rebirth_.exe+3F2C56F: B2 01                 - mov dl,01
ff7rebirth_.exe+3F2C571: 48 8B C8              - mov rcx,rax
ff7rebirth_.exe+3F2C574: E8 0B 10 4F FD        - call ff7rebirth_.exe+141D584
ff7rebirth_.exe+3F2C579: 48 8D 05 C0 E8 74 01  - lea rax,[ff7rebirth_.exe+567AE40]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>22</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_rel_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>23</ID>
      <Description>"Item menu -&gt; set items amount"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_ITEM_CNT,$process,8B 46 0C 2B C1 85) // should be unique
alloc(newmem,$1000,INJECT_SET_ITEM_CNT)

label(code)
label(return)
label(i_min_item_cnt i_set_item_cnt_to is_ignore_3xxx_items)

newmem:
  push r15

  cmp dword ptr [rsi+08], #3022 // ch. 8 event item Sylkis Greens 西其斯蔬菜
  //je chk_3022
  je endp
  cmp dword ptr [rsi+08], #3042
  //je chk_3042
  je endp
  cmp dword ptr [rsi+08], #3072 // ch. 9 ore
  je endp
  cmp dword ptr [rsi+08], #3074 // ch. 9 mushroom
  je endp
  cmp dword ptr [rsi+08], #3075 // ch. 9 salt
  je endp
  cmp dword ptr [is_ignore_3xxx_items], 1
  jne chk_start

  cmp dword ptr [rsi+08], #3000
  jb chk_start
  cmp dword ptr [rsi+08], #4000
  jae chk_start
  jmp endp

chk_start:
  mov r15d, [i_min_item_cnt]
  cmp dword ptr [rsi+0C], r15d
  jb endp
  mov r15d, [i_set_item_cnt_to]
  cmp dword ptr [rsi+0C], r15d
  jae endp
  mov dword ptr [rsi+0C], r15d
  jmp endp

chk_3042: // event item chap. 7
  cmp dword ptr [rsi+0C], 8
  jbe endp
  mov dword ptr [rsi+0C], 8

chk_3022: // event item chap. 8
  cmp dword ptr [rsi+0C], 6
  jbe endp
  mov dword ptr [rsi+0C], 6


endp:
  pop r15

code:
  //mov ecx,[rsi+0C]
  //sub ecx,eax
  mov eax,[rsi+0C]
  sub eax,ecx
  jmp return
align 10 cc
  i_min_item_cnt:
  dd 2
  i_set_item_cnt_to:
  dd #52
  is_ignore_3xxx_items:
  dd 1

INJECT_SET_ITEM_CNT:
  jmp newmem
return:
registersymbol(INJECT_SET_ITEM_CNT)
registersymbol(i_min_item_cnt i_set_item_cnt_to is_ignore_3xxx_items)
[DISABLE]

INJECT_SET_ITEM_CNT:
  db 8B 46 0C 2B C1

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+D25E33

ff7rebirth_.exe+D25E15: 44 38 60 FC     - cmp [rax-04],r12b
ff7rebirth_.exe+D25E19: 75 63           - jne ff7rebirth_.exe+D25E7E
ff7rebirth_.exe+D25E1B: FF C1           - inc ecx
ff7rebirth_.exe+D25E1D: 48 FF C2        - inc rdx
ff7rebirth_.exe+D25E20: 48 83 C0 10     - add rax,10
ff7rebirth_.exe+D25E24: 48 83 FA 64     - cmp rdx,64
ff7rebirth_.exe+D25E28: 7C EB           - jl ff7rebirth_.exe+D25E15
ff7rebirth_.exe+D25E2A: 41 8B CC        - mov ecx,r12d
ff7rebirth_.exe+D25E2D: 44 38 63 42     - cmp [rbx+42],r12b
ff7rebirth_.exe+D25E31: 75 09           - jne ff7rebirth_.exe+D25E3C
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+D25E33: 8B 46 0C        - mov eax,[rsi+0C]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+D25E36: 2B C1           - sub eax,ecx
ff7rebirth_.exe+D25E38: 85 C0           - test eax,eax
ff7rebirth_.exe+D25E3A: 7E 02           - jle ff7rebirth_.exe+D25E3E
ff7rebirth_.exe+D25E3C: FF C7           - inc edi
ff7rebirth_.exe+D25E3E: 41 FF C6        - inc r14d
ff7rebirth_.exe+D25E41: E9 92 FE FF FF  - jmp ff7rebirth_.exe+D25CD8
ff7rebirth_.exe+D25E46: 8B 44 CA 08     - mov eax,[rdx+rcx*8+08]
ff7rebirth_.exe+D25E4A: EB 86           - jmp ff7rebirth_.exe+D25DD2
ff7rebirth_.exe+D25E4C: 8B 44 C1 08     - mov eax,[rcx+rax*8+08]
ff7rebirth_.exe+D25E50: E9 43 FF FF FF  - jmp ff7rebirth_.exe+D25D98
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>24</ID>
          <Description>"Ignore item ID 3000-3999?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_ignore_3xxx_items</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>25</ID>
          <Description>"min. amount to trigger"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_item_cnt</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>26</ID>
          <Description>"Set amount to"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_set_item_cnt_to</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>27</ID>
      <Description>"Enemy HP"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_ENEMY_HP,$process,CC 89 51 0C C3 CC) // should be unique
alloc(newmem,$1000,INJECT_ENEMY_HP)

label(code)
label(return)
label(i_enemy_hp_options)
label(is_chk_ch10_mech)

newmem:
  cmp dword ptr [rcx+8], 0
  je check_mech
  cmp dword ptr [rcx+8], 3E7
  jg code
  cmp dword ptr [rcx+14], 0
  je code
  cmp dword ptr [rcx+18], 0
  je code
  cmp dword ptr [rcx+10], 1 // max hp
  jle code
  cmp dword ptr [rcx+14], 3E7
  jg code
  cmp dword ptr [rcx+18], 3E7
  jg code

  cmp dword ptr [i_enemy_hp_options], 0
  je no_act
  cmp dword ptr [i_enemy_hp_options], 1  // 1HP
  je set_1hp
  cmp dword ptr [i_enemy_hp_options], 2  // lots of HP
  je set_1m
no_act:
  // debug
  mov [rcx+0C],edx
  ret

check_mech:
  cmp dword ptr [is_chk_ch10_mech], 1
  jne code
  cmp dword ptr [rcx+2C], 4
  je ch10_mech_player_unit
to_ch10_mech_enemy:
  //mov edx, 1

set_1hp:
  cmp edx, 1
  jbe code
  mov edx, 1
  jmp code

ch10_mech_player_unit:
set_1m:
  cmp edx, #1000000
  jae code
  mov edx, #1000000

code:
  mov [rcx+0C],edx
  ret 
  int 3 
  jmp return
align 10 cc
  i_enemy_hp_options:
  dd 0
  is_chk_ch10_mech:
  dd 0

INJECT_ENEMY_HP+01:
  jmp newmem
return:
registersymbol(INJECT_ENEMY_HP)
registersymbol(i_enemy_hp_options is_chk_ch10_mech)
[DISABLE]

INJECT_ENEMY_HP+01:
  db 89 51 0C C3 CC

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+1996BD0

ff7rebirth_.exe+1996BC6: CC        - int 3 
ff7rebirth_.exe+1996BC7: CC        - int 3 
ff7rebirth_.exe+1996BC8: CC        - int 3 
ff7rebirth_.exe+1996BC9: CC        - int 3 
ff7rebirth_.exe+1996BCA: CC        - int 3 
ff7rebirth_.exe+1996BCB: CC        - int 3 
ff7rebirth_.exe+1996BCC: CC        - int 3 
ff7rebirth_.exe+1996BCD: CC        - int 3 
ff7rebirth_.exe+1996BCE: CC        - int 3 
ff7rebirth_.exe+1996BCF: CC        - int 3 
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+1996BD0: 89 51 0C  - mov [rcx+0C],edx
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+1996BD3: C3        - ret 
ff7rebirth_.exe+1996BD4: CC        - int 3 
ff7rebirth_.exe+1996BD5: CC        - int 3 
ff7rebirth_.exe+1996BD6: CC        - int 3 
ff7rebirth_.exe+1996BD7: CC        - int 3 
ff7rebirth_.exe+1996BD8: CC        - int 3 
ff7rebirth_.exe+1996BD9: CC        - int 3 
ff7rebirth_.exe+1996BDA: CC        - int 3 
ff7rebirth_.exe+1996BDB: CC        - int 3 
ff7rebirth_.exe+1996BDC: CC        - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>28</ID>
          <Description>"Options"</Description>
          <DropDownList DisplayValueAsItem="1">0:None
1:1 HP
2:1M HP
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_enemy_hp_options</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>200</ID>
          <Description>"Check: Gambit Gears enemy 1HP?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_chk_ch10_mech</Address>
          <CheatEntries>
            <CheatEntry>
              <ID>203</ID>
              <Description>"Only verified in challenge mode"</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>29</ID>
      <Description>"Set min. ATB"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_ATB,$process,C5 FA 11 B0 A8 20 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_ATB)

label(code)
label(return vf_min_atb)

newmem:
  movaps [tmp_xmm15], xmm15
  vmovss xmm15, [vf_min_atb]
  vucomiss xmm6, xmm15
  jae code_pre
  movss xmm6, xmm15

code_pre:
  movaps xmm15, [tmp_xmm15]

code:
  vmovss [rax+000020A8],xmm6
  jmp return
align 10 cc
  tmp_xmm15:
  dq 0 0
  vf_min_atb:
  dd (float)3000

INJECT_SET_ATB:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SET_ATB vf_min_atb)

[DISABLE]

INJECT_SET_ATB:
  db C5 FA 11 B0 A8 20 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+E5AB89

ff7rebirth_.exe+E5AB62: E9 01 00 00 00           - jmp ff7rebirth_.exe+E5AB68
ff7rebirth_.exe+E5AB67: CC                       - int 3 
ff7rebirth_.exe+E5AB68: B8 38 00 00 00           - mov eax,00000038
ff7rebirth_.exe+E5AB6D: E8 4E E3 2F 01           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+E5AB72: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+E5AB75: C5 F8 29 74 24 20        - vmovaps [rsp+20],xmm6
ff7rebirth_.exe+E5AB7B: C5 F8 28 F2              - vmovaps xmm6,xmm2
ff7rebirth_.exe+E5AB7F: E8 A4 F8 F7 FF           - call ff7rebirth_.exe+DDA428
ff7rebirth_.exe+E5AB84: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+E5AB87: 74 08                    - je ff7rebirth_.exe+E5AB91
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+E5AB89: C5 FA 11 B0 A8 20 00 00  - vmovss [rax+000020A8],xmm6
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+E5AB91: C5 F8 28 74 24 20        - vmovaps xmm6,[rsp+20]
ff7rebirth_.exe+E5AB97: 48 83 C4 38              - add rsp,38
ff7rebirth_.exe+E5AB9B: C3                       - ret 
ff7rebirth_.exe+E5AB9C: B8 B8 00 00 00           - mov eax,000000B8
ff7rebirth_.exe+E5ABA1: E8 1A E3 2F 01           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+E5ABA6: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+E5ABA9: 45 33 DB                 - xor r11d,r11d
ff7rebirth_.exe+E5ABAC: 44 8A D2                 - mov r10b,dl
ff7rebirth_.exe+E5ABAF: 44 38 1D B3 F3 17 08     - cmp [ff7rebirth_.exe+8FD9F69],r11b
ff7rebirth_.exe+E5ABB6: 74 18                    - je ff7rebirth_.exe+E5ABD0
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>30</ID>
          <Description>"value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_min_atb</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>31</ID>
      <Description>"Burst multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_QUICK_HEAT,$process,C5 F2 58 46 08 * * * * 0C) // should be unique
alloc(newmem,$1000,INJECT_QUICK_HEAT)

label(code)
label(return vf_heat_multi)

newmem:
  movaps [tmp_xmm15], xmm15
  vmovss xmm15, [vf_heat_multi]
  vmulss xmm1, xmm1, xmm15
  movaps xmm15, [tmp_xmm15]

code:
  vaddss xmm0,xmm1,[rsi+08]
  jmp return
align 10 cc
  tmp_xmm15:
  dq 0 0
  vf_heat_multi:
  dd (float)3.5

INJECT_QUICK_HEAT:
  jmp newmem
return:
registersymbol(INJECT_QUICK_HEAT vf_heat_multi)

[DISABLE]

INJECT_QUICK_HEAT:
  db C5 F2 58 46 08

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+153AD85

ff7rebirth_.exe+153AD5B: 49 8B 86 08 01 00 00     - mov rax,[r14+00000108]
ff7rebirth_.exe+153AD62: C5 F8 28 C8              - vmovaps xmm1,xmm0
ff7rebirth_.exe+153AD66: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+153AD69: 74 1A                    - je ff7rebirth_.exe+153AD85
ff7rebirth_.exe+153AD6B: 41 80 BE 20 01 00 00 01  - cmp byte ptr [r14+00000120],01
ff7rebirth_.exe+153AD73: 75 07                    - jne ff7rebirth_.exe+153AD7C
ff7rebirth_.exe+153AD75: C5 FA 10 40 68           - vmovss xmm0,[rax+68]
ff7rebirth_.exe+153AD7A: EB 05                    - jmp ff7rebirth_.exe+153AD81
ff7rebirth_.exe+153AD7C: C5 FA 10 40 74           - vmovss xmm0,[rax+74]
ff7rebirth_.exe+153AD81: C5 F2 59 C8              - vmulss xmm1,xmm1,xmm0
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+153AD85: C5 F2 58 46 08           - vaddss xmm0,xmm1,[rsi+08]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+153AD8A: C5 FA 10 56 0C           - vmovss xmm2,[rsi+0C]
ff7rebirth_.exe+153AD8F: C5 F8 2F D0              - vcomiss xmm2,xmm0
ff7rebirth_.exe+153AD93: C5 FA 11 46 08           - vmovss [rsi+08],xmm0
ff7rebirth_.exe+153AD98: 0F 87 B4 05 00 00        - ja ff7rebirth_.exe+153B352
ff7rebirth_.exe+153AD9E: C4 C1 78 2F C8           - vcomiss xmm1,xmm8
ff7rebirth_.exe+153ADA3: C5 FA 11 56 08           - vmovss [rsi+08],xmm2
ff7rebirth_.exe+153ADA8: 0F 86 A4 05 00 00        - jbe ff7rebirth_.exe+153B352
ff7rebirth_.exe+153ADAE: 48 8B 0E                 - mov rcx,[rsi]
ff7rebirth_.exe+153ADB1: E8 66 B5 A1 FF           - call ff7rebirth_.exe+F5631C
ff7rebirth_.exe+153ADB6: 84 C0                    - test al,al
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>32</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_heat_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>33</ID>
      <Description>"Slower burst down"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SLOW_HEAT_DOWN,$process,C5 FA 5C CE C5 F8 2F CF * * * * 10) // should be unique
alloc(newmem,$1000,INJECT_SLOW_HEAT_DOWN)

label(code)
label(return vf_heat_down_multi)

newmem:
  movaps [tmp_xmm15], xmm15
  vxorps xmm15, xmm15, xmm15
  vucomiss xmm6, xmm15
  jbe code_pre
  vmovss xmm15, [vf_heat_down_multi]
  vmulss xmm6, xmm6, xmm15

code_pre:
  movaps xmm15, [tmp_xmm15]

code:
  vsubss xmm1,xmm0,xmm6
  vcomiss xmm1,xmm7
  jmp return
align 10 cc
  tmp_xmm15:
  dq 0 0
  vf_heat_down_multi:
  dd (float)0.5

INJECT_SLOW_HEAT_DOWN:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SLOW_HEAT_DOWN vf_heat_down_multi )

[DISABLE]

INJECT_SLOW_HEAT_DOWN:
  db C5 FA 5C CE C5 F8 2F CF

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+AFB610

ff7rebirth_.exe+AFB5F1: 48 83 C4 40        - add rsp,40
ff7rebirth_.exe+AFB5F5: 5B                 - pop rbx
ff7rebirth_.exe+AFB5F6: C3                 - ret 
ff7rebirth_.exe+AFB5F7: 80 79 18 00        - cmp byte ptr [rcx+18],00
ff7rebirth_.exe+AFB5FB: 74 E8              - je ff7rebirth_.exe+AFB5E5
ff7rebirth_.exe+AFB5FD: 48 8D 4C 24 50     - lea rcx,[rsp+50]
ff7rebirth_.exe+AFB602: E8 9D 9F 90 00     - call ff7rebirth_.exe+14055A4
ff7rebirth_.exe+AFB607: 84 C0              - test al,al
ff7rebirth_.exe+AFB609: 75 1E              - jne ff7rebirth_.exe+AFB629
ff7rebirth_.exe+AFB60B: C5 FA 10 43 10     - vmovss xmm0,[rbx+10]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+AFB610: C5 FA 5C CE        - vsubss xmm1,xmm0,xmm6
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+AFB614: C5 F8 2F CF        - vcomiss xmm1,xmm7
ff7rebirth_.exe+AFB618: C5 FA 11 4B 10     - vmovss [rbx+10],xmm1
ff7rebirth_.exe+AFB61D: 73 C6              - jae ff7rebirth_.exe+AFB5E5
ff7rebirth_.exe+AFB61F: 48 8B CB           - mov rcx,rbx
ff7rebirth_.exe+AFB622: E8 C1 0F E3 00     - call ff7rebirth_.exe+192C5E8
ff7rebirth_.exe+AFB627: EB BC              - jmp ff7rebirth_.exe+AFB5E5
ff7rebirth_.exe+AFB629: C5 CA 59 74 24 50  - vmulss xmm6,xmm6,[rsp+50]
ff7rebirth_.exe+AFB62F: EB DA              - jmp ff7rebirth_.exe+AFB60B
ff7rebirth_.exe+AFB631: CC                 - int 3 
ff7rebirth_.exe+AFB632: CC                 - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>34</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_heat_down_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>35</ID>
      <Description>"Quick limit break"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_LIMIT_BRK_GAUGE,$process,C5 FA 11 B0 AC 20 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_LIMIT_BRK_GAUGE)

label(code)
label(return)
label(vf_min_lb vf_lb_multi)

newmem:
  movaps [tmp_xmm15], xmm15
  movaps [tmp_xmm14], xmm14
  vmovss xmm15, [rax+000020AC]
  vucomiss xmm15, xmm6
  jae code_pre

  vmovss xmm15, [vf_min_lb]
  vucomiss xmm6, xmm15
  jae chk_multi
  movss xmm6, xmm15
  jmp code_pre

chk_multi:
  vmovss xmm15, [rax+000020AC]
  vsubss xmm14, xmm6, xmm15
  vmovss xmm15, [vf_lb_multi]
  vmulss xmm14, xmm14, xmm15
  vmovss xmm15, [rax+000020AC]
  vaddss xmm6, xmm14, xmm15


code_pre:
  movaps xmm15, [tmp_xmm15]
  movaps xmm14, [tmp_xmm14]

code:
  vmovss [rax+000020AC],xmm6
  jmp return
align 10 cc
  tmp_xmm15:
  dq 0 0
  tmp_xmm14:
  dq 0 0

  vf_min_lb:
  dd (float)1000
  vf_lb_multi:
  dd (float)3

INJECT_SET_LIMIT_BRK_GAUGE:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SET_LIMIT_BRK_GAUGE)
registersymbol(vf_min_lb vf_lb_multi)

[DISABLE]

INJECT_SET_LIMIT_BRK_GAUGE:
  db C5 FA 11 B0 AC 20 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+1405591

ff7rebirth_.exe+140556E: CC                       - int 3 
ff7rebirth_.exe+140556F: CC                       - int 3 
ff7rebirth_.exe+1405570: B8 38 00 00 00           - mov eax,00000038
ff7rebirth_.exe+1405575: E8 46 39 D5 00           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+140557A: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+140557D: C5 F8 29 74 24 20        - vmovaps [rsp+20],xmm6
ff7rebirth_.exe+1405583: C5 F8 28 F2              - vmovaps xmm6,xmm2
ff7rebirth_.exe+1405587: E8 9C 4E 9D FF           - call ff7rebirth_.exe+DDA428
ff7rebirth_.exe+140558C: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+140558F: 74 08                    - je ff7rebirth_.exe+1405599
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+1405591: C5 FA 11 B0 AC 20 00 00  - vmovss [rax+000020AC],xmm6
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+1405599: C5 F8 28 74 24 20        - vmovaps xmm6,[rsp+20]
ff7rebirth_.exe+140559F: 48 83 C4 38              - add rsp,38
ff7rebirth_.exe+14055A3: C3                       - ret 
ff7rebirth_.exe+14055A4: 48 89 5C 24 08           - mov [rsp+08],rbx
ff7rebirth_.exe+14055A9: 48 89 6C 24 10           - mov [rsp+10],rbp
ff7rebirth_.exe+14055AE: 48 89 74 24 18           - mov [rsp+18],rsi
ff7rebirth_.exe+14055B3: 57                       - push rdi
ff7rebirth_.exe+14055B4: B8 40 00 00 00           - mov eax,00000040
ff7rebirth_.exe+14055B9: E8 02 39 D5 00           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+14055BE: 48 2B E0                 - sub rsp,rax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>36</ID>
          <Description>"min. value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_min_lb</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>37</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_lb_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>38</ID>
      <Description>"Materia XP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MATERIA_XP,$process,41 8B 4E 08 8B D0) // should be unique
alloc(newmem,$1000,INJECT_SET_MATERIA_XP)

label(code)
label(return)
label(vf_mxp_multi)

newmem:
  vmovups [tmp14], xmm14
  vmovups [tmp15], xmm15

  vcvtsi2ss xmm15, xmm15, esi
  vmovss xmm14, [vf_mxp_multi]
  vmulss xmm15, xmm14, xmm15
  vcvtss2si esi, xmm15

code_pre:
  vmovups xmm14, [tmp14]
  vmovups xmm15, [tmp15]

code:
  mov ecx,[r14+08]
  mov edx,eax
  //add ecx,esi &lt;== esi here
  jmp return
align 10 cc
  tmp13:
  dq 0 0
  tmp14:
  dq 0 0
  tmp15:
  dq 0 0
  vf_mxp_multi:
  dd (float)4.25

INJECT_SET_MATERIA_XP:
  jmp newmem
  nop
return:
registersymbol(INJECT_SET_MATERIA_XP)
registersymbol(vf_mxp_multi)
[DISABLE]

INJECT_SET_MATERIA_XP:
  db 41 8B 4E 08 8B D0

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+1427AD7

ff7rebirth_.exe+1427AA8: 41 0F B6 94 24 21 01 00 00  - movzx edx,byte ptr [r12+00000121]
ff7rebirth_.exe+1427AB1: 48 8D 4D B7                 - lea rcx,[rbp-49]
ff7rebirth_.exe+1427AB5: 8A 45 EF                    - mov al,[rbp-11]
ff7rebirth_.exe+1427AB8: 48 8B 5D E7                 - mov rbx,[rbp-19]
ff7rebirth_.exe+1427ABC: 88 45 CF                    - mov [rbp-31],al
ff7rebirth_.exe+1427ABF: 48 8D 05 5A EA 88 04        - lea rax,[ff7rebirth_.exe+5CB6520]
ff7rebirth_.exe+1427AC6: 48 89 45 B7                 - mov [rbp-49],rax
ff7rebirth_.exe+1427ACA: 4C 89 65 BF                 - mov [rbp-41],r12
ff7rebirth_.exe+1427ACE: 48 89 5D C7                 - mov [rbp-39],rbx
ff7rebirth_.exe+1427AD2: E8 A1 06 00 00              - call ff7rebirth_.exe+1428178
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+1427AD7: 41 8B 4E 08                 - mov ecx,[r14+08]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+1427ADB: 8B D0                       - mov edx,eax
ff7rebirth_.exe+1427ADD: 03 CE                       - add ecx,esi
ff7rebirth_.exe+1427ADF: 0F 89 B4 00 00 00           - jns ff7rebirth_.exe+1427B99
ff7rebirth_.exe+1427AE5: 33 D2                       - xor edx,edx
ff7rebirth_.exe+1427AE7: 8A 45 EF                    - mov al,[rbp-11]
ff7rebirth_.exe+1427AEA: 48 8D 4D B7                 - lea rcx,[rbp-49]
ff7rebirth_.exe+1427AEE: 41 8A 76 10                 - mov sil,[r14+10]
ff7rebirth_.exe+1427AF2: 88 45 CF                    - mov [rbp-31],al
ff7rebirth_.exe+1427AF5: 48 8D 05 24 EA 88 04        - lea rax,[ff7rebirth_.exe+5CB6520]
ff7rebirth_.exe+1427AFC: 48 89 45 B7                 - mov [rbp-49],rax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>39</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_mxp_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>40</ID>
      <Description>"Set equipped items EXP, if non zero"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_WEAPON_XP,$process,41 8B 45 08 4D 63 EE 48) // should be unique
alloc(newmem,$1000,INJECT_SET_WEAPON_XP)

label(code)
label(return)
label(i_min_mxp)

newmem:
  cmp dword ptr [r13+08], #300
  je code
  cmp dword ptr [r13+08], #1200
  je code
  cmp dword ptr [r13+08], #2000
  je code
  cmp dword ptr [r13+08], #3600
  je code
  cmp dword ptr [r13+08], #5000
  je code
  cmp dword ptr [r13+08], #10000
  je code
  cmp dword ptr [r13+08], #18000
  jae code

  mov eax, [i_min_mxp]
  cmp eax, [r13+08]
  jbe code
  mov [r13+08], eax

code:
  mov eax,[r13+08]
  movsxd  r13,r14d
  jmp return
align 10 cc
  i_min_mxp:
  dd #299

INJECT_SET_WEAPON_XP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_WEAPON_XP)
registersymbol(i_min_mxp)

[DISABLE]

INJECT_SET_WEAPON_XP:
  db 41 8B 45 08 4D 63 EE

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+E06E7A

ff7rebirth_.exe+E06E56: E8 89 E4 26 00           - call ff7rebirth_.exe+10752E4
ff7rebirth_.exe+E06E5B: 4C 8B E8                 - mov r13,rax
ff7rebirth_.exe+E06E5E: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+E06E61: 74 56                    - je ff7rebirth_.exe+E06EB9
ff7rebirth_.exe+E06E63: 8B 50 04                 - mov edx,[rax+04]
ff7rebirth_.exe+E06E66: 48 8D 4D D7              - lea rcx,[rbp-29]
ff7rebirth_.exe+E06E6A: E8 B9 E4 26 00           - call ff7rebirth_.exe+1075328
ff7rebirth_.exe+E06E6F: C6 45 DF 00              - mov byte ptr [rbp-21],00
ff7rebirth_.exe+E06E73: 44 89 7D E3              - mov [rbp-1D],r15d
ff7rebirth_.exe+E06E77: 48 8B 08                 - mov rcx,[rax]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+E06E7A: 41 8B 45 08              - mov eax,[r13+08]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+E06E7E: 4D 63 EE                 - movsxd  r13,r14d
ff7rebirth_.exe+E06E81: 48 89 4D E7              - mov [rbp-19],rcx
ff7rebirth_.exe+E06E85: 89 45 B7                 - mov [rbp-49],eax
ff7rebirth_.exe+E06E88: 45 8D 75 01              - lea r14d,[r13+01]
ff7rebirth_.exe+E06E8C: 44 89 75 C7              - mov [rbp-39],r14d
ff7rebirth_.exe+E06E90: 44 3B F6                 - cmp r14d,esi
ff7rebirth_.exe+E06E93: 0F 8F DD 00 00 00        - jg ff7rebirth_.exe+E06F76
ff7rebirth_.exe+E06E99: C5 F8 10 45 DF           - vmovups xmm0,[rbp-21]
ff7rebirth_.exe+E06E9E: 8B 45 B7                 - mov eax,[rbp-49]
ff7rebirth_.exe+E06EA1: 4A 8D 0C AD 00 00 00 00  - lea rcx,[r13*4+00000000]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>41</ID>
          <Description>"Usage: Open item menu-&gt;browse weapons, materias tab after script enabled"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"min XP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_mxp</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>43</ID>
      <Description>"Set min. non-equipped materia XP, if non-zero"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BROWSE_N_SET_MATERIA_XP,$process,8B 57 08 48 8B CB E8 ?? ?? ?? ?? 48 8B 5C 24 30) // should be unique
alloc(newmem,$1000,INJECT_BROWSE_N_SET_MATERIA_XP)

label(code)
label(return)
label(i_min_materia_xp)

newmem:
  cmp dword ptr [rdi+08], 0
  je code
  cmp dword ptr [rdi+08], #300
  je code
  cmp dword ptr [rdi+08], #1200
  je code
  cmp dword ptr [rdi+08], #2000
  je code
  cmp dword ptr [rdi+08], #3600
  je code
  cmp dword ptr [rdi+08], #5000
  je code
  cmp dword ptr [rdi+08], #10000
  je code
  cmp dword ptr [rdi+08], #18000
  jae code

  mov edx, [i_min_materia_xp]
  cmp edx, [rdi+08]
  jbe code
  mov [rdi+08], edx

code:
  mov edx,[rdi+08]
  mov rcx,rbx
  jmp return
align 10 cc
  i_min_materia_xp:
  dd #299

INJECT_BROWSE_N_SET_MATERIA_XP:
  jmp newmem
  nop
return:
registersymbol(INJECT_BROWSE_N_SET_MATERIA_XP i_min_materia_xp)

[DISABLE]

INJECT_BROWSE_N_SET_MATERIA_XP:
  db 8B 57 08 48 8B CB

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+2057EA3

ff7rebirth_.exe+2057E72: 41 B8 02 00 00 00     - mov r8d,00000002
ff7rebirth_.exe+2057E78: 48 8D 15 BD 87 B3 04  - lea rdx,[ff7rebirth_.exe+6B9063C]
ff7rebirth_.exe+2057E7F: 48 8B CB              - mov rcx,rbx
ff7rebirth_.exe+2057E82: E8 89 79 F6 FF        - call ff7rebirth_.exe+1FBF810
ff7rebirth_.exe+2057E87: 48 83 7F 08 00        - cmp qword ptr [rdi+08],00
ff7rebirth_.exe+2057E8C: 74 21                 - je ff7rebirth_.exe+2057EAF
ff7rebirth_.exe+2057E8E: 41 B8 0B 00 00 00     - mov r8d,0000000B
ff7rebirth_.exe+2057E94: 48 8D 15 7D C7 B3 03  - lea rdx,[ff7rebirth_.exe+5B94618]
ff7rebirth_.exe+2057E9B: 48 8B CB              - mov rcx,rbx
ff7rebirth_.exe+2057E9E: E8 6D 79 F6 FF        - call ff7rebirth_.exe+1FBF810
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+2057EA3: 48 8B 57 08           - mov rdx,[rdi+08]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+2057EA7: 48 8B CB              - mov rcx,rbx
ff7rebirth_.exe+2057EAA: E8 81 AB F9 FF        - call ff7rebirth_.exe+1FF2A30
ff7rebirth_.exe+2057EAF: 48 8B 5C 24 30        - mov rbx,[rsp+30]
ff7rebirth_.exe+2057EB4: B8 01 00 00 00        - mov eax,00000001
ff7rebirth_.exe+2057EB9: 48 83 C4 20           - add rsp,20
ff7rebirth_.exe+2057EBD: 5F                    - pop rdi
ff7rebirth_.exe+2057EBE: C3                    - ret
ff7rebirth_.exe+2057EBF: CC                    - int 3
ff7rebirth_.exe+2057EC0: 48 8D 05 89 C8 B3 03  - lea rax,[ff7rebirth_.exe+5B94750]
ff7rebirth_.exe+2057EC7: C3                    - ret
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Usage: Open item menu-&gt;browse materias tab after script enabled"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"min. XP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_materia_xp</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>46</ID>
      <Description>"Get party level"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-04
  Author : bbfox@https://openchaeattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_PARTY_LV_EXP,$process,44 8B A1 7C 05 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_PARTY_LV_EXP)

label(code)
label(return i_base_party_lv_addr)

newmem:
  mov [i_base_party_lv_addr], rcx

code:
  mov r12d,[rcx+0000057C]
  jmp return
align 10 cc
  i_base_party_lv_addr:
  dq 0

INJECT_GET_PARTY_LV_EXP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_PARTY_LV_EXP i_base_party_lv_addr)

[DISABLE]

INJECT_GET_PARTY_LV_EXP:
  db 44 8B A1 7C 05 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+D8097D

ff7rebirth_.exe+D80954: 48 8D 4D F0           - lea rcx,[rbp-10]
ff7rebirth_.exe+D80958: E8 27 9B D1 FF        - call ff7rebirth_.exe+A9A484
ff7rebirth_.exe+D8095D: 48 8B D0              - mov rdx,rax
ff7rebirth_.exe+D80960: 48 8B CB              - mov rcx,rbx
ff7rebirth_.exe+D80963: E8 8C E1 C0 FF        - call ff7rebirth_.exe+98EAF4
ff7rebirth_.exe+D80968: 48 8B 0D E9 B3 61 08  - mov rcx,[ff7rebirth_.exe+939BD58]
ff7rebirth_.exe+D8096F: 48 85 C9              - test rcx,rcx
ff7rebirth_.exe+D80972: 74 20                 - je ff7rebirth_.exe+D80994
ff7rebirth_.exe+D80974: 8B 81 80 05 00 00     - mov eax,[rcx+00000580]
ff7rebirth_.exe+D8097A: 41 8B D6              - mov edx,r14d
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+D8097D: 44 8B A1 7C 05 00 00  - mov r12d,[rcx+0000057C]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+D80984: 41 3B C6              - cmp eax,r14d
ff7rebirth_.exe+D80987: 0F 4D D0              - cmovge edx,eax
ff7rebirth_.exe+D8098A: E8 71 8B 83 00        - call ff7rebirth_.exe+15B9500
ff7rebirth_.exe+D8098F: 44 2B E0              - sub r12d,eax
ff7rebirth_.exe+D80992: EB 03                 - jmp ff7rebirth_.exe+D80997
ff7rebirth_.exe+D80994: 45 33 E4              - xor r12d,r12d
ff7rebirth_.exe+D80997: 48 8B 86 78 04 00 00  - mov rax,[rsi+00000478]
ff7rebirth_.exe+D8099E: 48 8B 88 F0 03 00 00  - mov rcx,[rax+000003F0]
ff7rebirth_.exe+D809A5: 48 8B 99 E8 03 00 00  - mov rbx,[rcx+000003E8]
ff7rebirth_.exe+D809AC: 48 85 DB              - test rbx,rbx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>47</ID>
          <Description>"XP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_party_lv_addr</Address>
          <Offsets>
            <Offset>57C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>48</ID>
          <Description>"Lv"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_party_lv_addr</Address>
          <Offsets>
            <Offset>580</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>49</ID>
      <Description>"Char. status viewer"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHAR_VIEWER,$process,8B 86 A8 03 00 00 89 43) // should be unique
alloc(newmem,$1000,INJECT_CHAR_VIEWER)

label(code)
label(return i_base_char_addr)

newmem:
  mov [i_base_char_addr], rsi

code:
  mov eax,[rsi+000003A8]
  jmp return
align 10 cc
  i_base_char_addr:
  dq 0

INJECT_CHAR_VIEWER:
  jmp newmem
  nop
return:
registersymbol(INJECT_CHAR_VIEWER i_base_char_addr)

[DISABLE]

INJECT_CHAR_VIEWER:
  db 8B 86 A8 03 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+39DD64B

ff7rebirth_.exe+39DD61E: 45 89 2F              - mov [r15],r13d
ff7rebirth_.exe+39DD621: 45 89 2C 24           - mov [r12],r13d
ff7rebirth_.exe+39DD625: E8 56 38 5A FD        - call ff7rebirth_.exe+F80E80
ff7rebirth_.exe+39DD62A: 48 8B F0              - mov rsi,rax
ff7rebirth_.exe+39DD62D: 48 85 C0              - test rax,rax
ff7rebirth_.exe+39DD630: 0F 84 1C 01 00 00     - je ff7rebirth_.exe+39DD752
ff7rebirth_.exe+39DD636: 0F B6 80 83 00 00 00  - movzx eax,byte ptr [rax+00000083]
ff7rebirth_.exe+39DD63D: 48 8D 0D 2C 57 83 05  - lea rcx,[ff7rebirth_.exe+9212D70]
ff7rebirth_.exe+39DD644: 89 03                 - mov [rbx],eax
ff7rebirth_.exe+39DD646: BA E8 03 00 00        - mov edx,000003E8
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+39DD64B: 8B 86 A8 03 00 00     - mov eax,[rsi+000003A8]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+39DD651: 89 43 04              - mov [rbx+04],eax
ff7rebirth_.exe+39DD654: 8B 86 94 00 00 00     - mov eax,[rsi+00000094]
ff7rebirth_.exe+39DD65A: 89 43 08              - mov [rbx+08],eax
ff7rebirth_.exe+39DD65D: 8B 86 AC 03 00 00     - mov eax,[rsi+000003AC]
ff7rebirth_.exe+39DD663: 89 43 0C              - mov [rbx+0C],eax
ff7rebirth_.exe+39DD666: 8B 86 98 00 00 00     - mov eax,[rsi+00000098]
ff7rebirth_.exe+39DD66C: 89 43 10              - mov [rbx+10],eax
ff7rebirth_.exe+39DD66F: 8B 86 AC 20 00 00     - mov eax,[rsi+000020AC]
ff7rebirth_.exe+39DD675: 89 43 14              - mov [rbx+14],eax
ff7rebirth_.exe+39DD678: E8 D7 BC 07 FD        - call ff7rebirth_.exe+A59354
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>50</ID>
          <Description>"Usage: Menu -&gt; Status"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>51</ID>
          <Description>"Char. ID"</Description>
          <DropDownList DisplayValueAsItem="1">0:Cloud
1:Barret
2:Tifa
3:Aerith
4:Red XIII
5:Yuffie
6:Cait Sith
16:None
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>52</ID>
          <Description>"Total EXP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>88</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>53</ID>
          <Description>"Cur. HP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>3A8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>54</ID>
          <Description>"Max HP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>94</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>55</ID>
          <Description>"Cur. MP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>3AC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>56</ID>
          <Description>"Max MP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>98</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>57</ID>
          <Description>"ATB"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Float</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>20A8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>58</ID>
          <Description>"Limit"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Float</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>20AC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>59</ID>
          <Description>"Attributes"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>60</ID>
              <Description>"Attack"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>9C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>61</ID>
              <Description>"Magic Attack"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>A0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>62</ID>
              <Description>"Defense"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>A4</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>63</ID>
              <Description>"Magic Defense"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>A8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>64</ID>
              <Description>"Strength"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>AC</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>65</ID>
              <Description>"Magic"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>B0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>66</ID>
              <Description>"Vitality"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>B4</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>67</ID>
              <Description>"Spirit"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>B8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>68</ID>
              <Description>"Luck"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>C0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>69</ID>
              <Description>"Speed"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_char_addr</Address>
              <Offsets>
                <Offset>BC</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>70</ID>
          <Description>"Base SP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>20A0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>71</ID>
          <Description>"SP Bonus"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>20A4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>72</ID>
          <Description>"Relationship w/ Cloud"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>2098</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>73</ID>
      <Description>"Mini games"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>74</ID>
          <Description>"Queen's blood score / クイーンズブラッド"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_QUEENS_BLOOD_SCORE,$process,66 03 F8 48 81 C3 B8 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_QUEENS_BLOOD_SCORE)

label(code)
label(return)

newmem:

code:
  add di,ax
  // ****
  test bpl, bpl
  jnz tp2
  cmp di, C
  jae endp
  mov di, C
  jmp endp

tp2:
  cmp di, 2
  jbe @F
  mov di, 2

endp:
  // ****
  add rbx,000001B8
  jmp return

INJECT_QUEENS_BLOOD_SCORE:
  jmp newmem
  nop 5
return:
registersymbol(INJECT_QUEENS_BLOOD_SCORE)

[DISABLE]

INJECT_QUEENS_BLOOD_SCORE:
  db 66 03 F8 48 81 C3 B8 01 00 00

unregistersymbol(INJECT_QUEENS_BLOOD_SCORE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+37A7DB9

ff7rebirth_.exe+37A7D96: 48 85 C0              - test rax,rax
ff7rebirth_.exe+37A7D99: 74 1A                 - je ff7rebirth_.exe+37A7DB5
ff7rebirth_.exe+37A7D9B: E8 B0 6C C1 FE        - call ff7rebirth_.exe+23BEA50
ff7rebirth_.exe+37A7DA0: 40 38 68 58           - cmp [rax+58],bpl
ff7rebirth_.exe+37A7DA4: 75 0F                 - jne ff7rebirth_.exe+37A7DB5
ff7rebirth_.exe+37A7DA6: E8 A5 6C C1 FE        - call ff7rebirth_.exe+23BEA50
ff7rebirth_.exe+37A7DAB: 48 8B C8              - mov rcx,rax
ff7rebirth_.exe+37A7DAE: E8 A1 2F DE FD        - call ff7rebirth_.exe+158AD54
ff7rebirth_.exe+37A7DB3: EB 04                 - jmp ff7rebirth_.exe+37A7DB9
ff7rebirth_.exe+37A7DB5: 41 0F B7 C6           - movzx eax,r14w
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+37A7DB9: 66 03 F8              - add di,ax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+37A7DBC: 48 81 C3 B8 01 00 00  - add rbx,000001B8
ff7rebirth_.exe+37A7DC3: 48 83 EE 01           - sub rsi,01
ff7rebirth_.exe+37A7DC7: 75 C5                 - jne ff7rebirth_.exe+37A7D8E
ff7rebirth_.exe+37A7DC9: 48 8B 5C 24 30        - mov rbx,[rsp+30]
ff7rebirth_.exe+37A7DCE: 0F B7 C7              - movzx eax,di
ff7rebirth_.exe+37A7DD1: 48 8B 7C 24 48        - mov rdi,[rsp+48]
ff7rebirth_.exe+37A7DD6: 48 8B 6C 24 38        - mov rbp,[rsp+38]
ff7rebirth_.exe+37A7DDB: 48 8B 74 24 40        - mov rsi,[rsp+40]
ff7rebirth_.exe+37A7DE0: 48 83 C4 20           - add rsp,20
ff7rebirth_.exe+37A7DE4: 41 5E                 - pop r14
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>75</ID>
          <Description>"Dash de Chocobo: slower timer (ch. 2) / ダッシュデチョコボ"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHOCOBO_RACE_TIMER,$process,C5 F2 58 81 F4 00 00 00 * * * * 60) // should be unique
alloc(newmem,$1000,INJECT_CHOCOBO_RACE_TIMER)

label(code)
label(return vf_crace_timer_multi)

newmem:
  movaps [tmp15], xmm15
  vmovss xmm15, [vf_crace_timer_multi]
  vmulss xmm1, xmm1, xmm15
  movaps xmm15, [tmp15]

code:
  vaddss xmm0,xmm1,[rcx+000000F4]
  jmp return
align 10 cc
  tmp15:
  dq 0 0
  vf_crace_timer_multi:
  dd (float)0.25

INJECT_CHOCOBO_RACE_TIMER:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_CHOCOBO_RACE_TIMER vf_crace_timer_multi)

[DISABLE]

INJECT_CHOCOBO_RACE_TIMER:
  db C5 F2 58 81 F4 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3B5E5C5

ff7rebirth_.exe+3B5E5A5: CC                       - int 3
ff7rebirth_.exe+3B5E5A6: CC                       - int 3
ff7rebirth_.exe+3B5E5A7: CC                       - int 3
ff7rebirth_.exe+3B5E5A8: 48 89 5C 24 10           - mov [rsp+10],rbx
ff7rebirth_.exe+3B5E5AD: 48 89 6C 24 18           - mov [rsp+18],rbp
ff7rebirth_.exe+3B5E5B2: 48 89 74 24 20           - mov [rsp+20],rsi
ff7rebirth_.exe+3B5E5B7: 57                       - push rdi
ff7rebirth_.exe+3B5E5B8: B8 20 00 00 00           - mov eax,00000020
ff7rebirth_.exe+3B5E5BD: E8 6E 09 55 FE           - call ff7rebirth_.exe+20AEF30
ff7rebirth_.exe+3B5E5C2: 48 2B E0                 - sub rsp,rax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3B5E5C5: C5 F2 58 81 F4 00 00 00  - vaddss xmm0,xmm1,[rcx+000000F4]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3B5E5CD: C5 FA 10 91 60 01 00 00  - vmovss xmm2,[rcx+00000160]
ff7rebirth_.exe+3B5E5D5: C5 F8 2F C2              - vcomiss xmm0,xmm2
ff7rebirth_.exe+3B5E5D9: C5 FA 11 81 F4 00 00 00  - vmovss [rcx+000000F4],xmm0
ff7rebirth_.exe+3B5E5E1: 48 8B F9                 - mov rdi,rcx
ff7rebirth_.exe+3B5E5E4: 72 14                    - jb ff7rebirth_.exe+3B5E5FA
ff7rebirth_.exe+3B5E5E6: C5 FA 11 91 F4 00 00 00  - vmovss [rcx+000000F4],xmm2
ff7rebirth_.exe+3B5E5EE: 48 83 C1 10              - add rcx,10
ff7rebirth_.exe+3B5E5F2: 8D 50 F0                 - lea edx,[rax-10]
ff7rebirth_.exe+3B5E5F5: E8 86 D8 EA FC           - call ff7rebirth_.exe+A0BE80
ff7rebirth_.exe+3B5E5FA: C5 FA 10 8F F4 00 00 00  - vmovss xmm1,[rdi+000000F4]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>76</ID>
              <Description>"factor"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_crace_timer_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>77</ID>
          <Description>"Fort Condor: inf. ATB / コンドルフォート"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@http://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CONDOR_INF_ATB,$process,80 0C C5 FA 10 47 10) // should be unique
alloc(newmem,$1000,INJECT_CONDOR_INF_ATB)

label(code)
label(return)

newmem:
  mov [rdi+10], (float)8

code:
  vmovss xmm0,[rdi+10]
  jmp return

INJECT_CONDOR_INF_ATB+02:
  jmp newmem
return:
registersymbol(INJECT_CONDOR_INF_ATB)

[DISABLE]

INJECT_CONDOR_INF_ATB+02:
  db C5 FA 10 47 10

unregistersymbol(INJECT_CONDOR_INF_ATB)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3ACCE3E

ff7rebirth_.exe+3ACCE1C: 7D 42                    - jnl ff7rebirth_.exe+3ACCE60
ff7rebirth_.exe+3ACCE1E: 48 8B 00                 - mov rax,[rax]
ff7rebirth_.exe+3ACCE21: 4C 8D 04 9B              - lea r8,[rbx+rbx*4]
ff7rebirth_.exe+3ACCE25: 66 42 39 4C 80 0E        - cmp [rax+r8*4+0E],cx
ff7rebirth_.exe+3ACCE2B: 7C 0B                    - jl ff7rebirth_.exe+3ACCE38
ff7rebirth_.exe+3ACCE2D: 42 38 4C 80 10           - cmp [rax+r8*4+10],cl
ff7rebirth_.exe+3ACCE32: 77 04                    - ja ff7rebirth_.exe+3ACCE38
ff7rebirth_.exe+3ACCE34: B0 01                    - mov al,01
ff7rebirth_.exe+3ACCE36: EB 2A                    - jmp ff7rebirth_.exe+3ACCE62
ff7rebirth_.exe+3ACCE38: 42 0F B6 44 80 0C        - movzx eax,byte ptr [rax+r8*4+0C]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3ACCE3E: C5 FA 10 47 10           - vmovss xmm0,[rdi+10]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3ACCE43: C5 FA 58 C8              - vaddss xmm1,xmm0,xmm0
ff7rebirth_.exe+3ACCE47: C5 F2 5C 15 D1 EC 4C 02  - vsubss xmm2,xmm1,[ff7rebirth_.exe+5F9BB20]
ff7rebirth_.exe+3ACCE4F: C5 FA 2D CA              - vcvtss2si ecx,xmm2
ff7rebirth_.exe+3ACCE53: D1 F9                    - sar ecx,1
ff7rebirth_.exe+3ACCE55: 3B C1                    - cmp eax,ecx
ff7rebirth_.exe+3ACCE57: 0F 9E C0                 - setle al
ff7rebirth_.exe+3ACCE5A: FE C8                    - dec al
ff7rebirth_.exe+3ACCE5C: 24 02                    - and al,02
ff7rebirth_.exe+3ACCE5E: EB 02                    - jmp ff7rebirth_.exe+3ACCE62
ff7rebirth_.exe+3ACCE60: B0 05                    - mov al,05
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>78</ID>
          <Description>"Fort Condor: inf. units / コンドルフォート"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CONDOR_INF_UNIT,$process,FE C8 43 88 44 81 10) // should be unique


INJECT_CONDOR_INF_UNIT:
  nop 2

registersymbol(INJECT_CONDOR_INF_UNIT)

[DISABLE]

INJECT_CONDOR_INF_UNIT:
  db FE C8

unregistersymbol(INJECT_CONDOR_INF_UNIT)


{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3AD866E

ff7rebirth_.exe+3AD864D: E8 A2 47 FF FF  - call ff7rebirth_.exe+3ACCDF4
ff7rebirth_.exe+3AD8652: 84 C0           - test al,al
ff7rebirth_.exe+3AD8654: 75 68           - jne ff7rebirth_.exe+3AD86BE
ff7rebirth_.exe+3AD8656: 48 8B CB        - mov rcx,rbx
ff7rebirth_.exe+3AD8659: E8 CE 5D FF FF  - call ff7rebirth_.exe+3ACE42C
ff7rebirth_.exe+3AD865E: 4C 8D 04 BF     - lea r8,[rdi+rdi*4]
ff7rebirth_.exe+3AD8662: 4C 8B 08        - mov r9,[rax]
ff7rebirth_.exe+3AD8665: 43 8A 44 81 10  - mov al,[r9+r8*4+10]
ff7rebirth_.exe+3AD866A: 84 C0           - test al,al
ff7rebirth_.exe+3AD866C: 74 07           - je ff7rebirth_.exe+3AD8675
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3AD866E: FE C8           - dec al
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3AD8670: 43 88 44 81 10  - mov [r9+r8*4+10],al
ff7rebirth_.exe+3AD8675: 48 63 43 40     - movsxd  rax,dword ptr [rbx+40]
ff7rebirth_.exe+3AD8679: 48 8B 53 38     - mov rdx,[rbx+38]
ff7rebirth_.exe+3AD867D: 48 8D 0C 40     - lea rcx,[rax+rax*2]
ff7rebirth_.exe+3AD8681: 4C 8D 14 CA     - lea r10,[rdx+rcx*8]
ff7rebirth_.exe+3AD8685: EB 16           - jmp ff7rebirth_.exe+3AD869D
ff7rebirth_.exe+3AD8687: 43 8A 44 81 0D  - mov al,[r9+r8*4+0D]
ff7rebirth_.exe+3AD868C: 38 42 0D        - cmp [rdx+0D],al
ff7rebirth_.exe+3AD868F: 75 08           - jne ff7rebirth_.exe+3AD8699
ff7rebirth_.exe+3AD8691: 43 8A 44 81 0C  - mov al,[r9+r8*4+0C]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>79</ID>
          <Description>"Jumpfrog multiplier / フロッグフラップ"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FROG_JUMP_SCORE_MULTI,$process,C5 F2 58 81 C4 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_FROG_JUMP_SCORE_MULTI)

label(code)
label(return vf_frog_sc_multi)

newmem:
  movaps [tmp15], xmm15
  vxorps xmm15, xmm15, xmm15
  vucomiss xmm1, xmm15
  jbe endp

  vmovss xmm15, [vf_frog_sc_multi]
  vmulss xmm1, xmm1, xmm15

endp:
  movaps xmm15, [tmp15]


code:
  vaddss xmm0,xmm1,[rcx+000001C4]
  jmp return
align 10 cc
  tmp15:
  dq 0 0
  vf_frog_sc_multi:
  dd (float)10.5

INJECT_FROG_JUMP_SCORE_MULTI:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FROG_JUMP_SCORE_MULTI vf_frog_sc_multi)

[DISABLE]

INJECT_FROG_JUMP_SCORE_MULTI:
  db C5 F2 58 81 C4 01 00 00

unregistersymbol(INJECT_FROG_JUMP_SCORE_MULTI vf_frog_sc_multi)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3B2AE2B

ff7rebirth_.exe+3B2AE0F: 4C 8B 74 24 20           - mov r14,[rsp+20]
ff7rebirth_.exe+3B2AE14: C3                       - ret 
ff7rebirth_.exe+3B2AE15: CC                       - int 3 
ff7rebirth_.exe+3B2AE16: CC                       - int 3 
ff7rebirth_.exe+3B2AE17: CC                       - int 3 
ff7rebirth_.exe+3B2AE18: 48 89 5C 24 08           - mov [rsp+08],rbx
ff7rebirth_.exe+3B2AE1D: 57                       - push rdi
ff7rebirth_.exe+3B2AE1E: B8 60 00 00 00           - mov eax,00000060
ff7rebirth_.exe+3B2AE23: E8 98 E0 62 FE           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+3B2AE28: 48 2B E0                 - sub rsp,rax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3B2AE2B: C5 F2 58 81 C4 01 00 00  - vaddss xmm0,xmm1,[rcx+000001C4]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3B2AE33: C5 F8 29 74 24 50        - vmovaps [rsp+50],xmm6
ff7rebirth_.exe+3B2AE39: C5 FA 11 81 C4 01 00 00  - vmovss [rcx+000001C4],xmm0
ff7rebirth_.exe+3B2AE41: C5 F8 28 F1              - vmovaps xmm6,xmm1
ff7rebirth_.exe+3B2AE45: 48 8B F9                 - mov rdi,rcx
ff7rebirth_.exe+3B2AE48: E8 AB D6 00 00           - call ff7rebirth_.exe+3B384F8
ff7rebirth_.exe+3B2AE4D: 48 8D 15 FC 65 58 05     - lea rdx,[ff7rebirth_.exe+90B1450]
ff7rebirth_.exe+3B2AE54: 48 8D 4C 24 30           - lea rcx,[rsp+30]
ff7rebirth_.exe+3B2AE59: E8 CA D7 D7 FC           - call ff7rebirth_.exe+8A8628
ff7rebirth_.exe+3B2AE5E: 48 8B C8                 - mov rcx,rax
ff7rebirth_.exe+3B2AE61: E8 32 CA FE FC           - call ff7rebirth_.exe+B17898
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>80</ID>
              <Description>"multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>C08000</Color>
              <VariableType>Float</VariableType>
              <Address>vf_frog_sc_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>81</ID>
          <Description>"Pirate's Rampage / パイレーツランページ"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-10
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_PIRATE_SHOOTING_GAME,$process,01 91 4C 02 00 00) // should be unique
alloc(newmem,$1000,INJECT_PIRATE_SHOOTING_GAME)

label(code)
label(return)

newmem:
  mov edx, #5000

code:
  add [rcx+0000024C],edx
  jmp return


INJECT_PIRATE_SHOOTING_GAME:
  jmp newmem
  nop
return:
registersymbol(INJECT_PIRATE_SHOOTING_GAME)

[DISABLE]

INJECT_PIRATE_SHOOTING_GAME:
  db 01 91 4C 02 00 00

unregistersymbol(INJECT_PIRATE_SHOOTING_GAME)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3BEBB51

ff7rebirth_.exe+3BEBB31: 5F                 - pop rdi
ff7rebirth_.exe+3BEBB32: C3                 - ret 
ff7rebirth_.exe+3BEBB33: CC                 - int 3 
ff7rebirth_.exe+3BEBB34: 48 89 5C 24 08     - mov [rsp+08],rbx
ff7rebirth_.exe+3BEBB39: 48 89 6C 24 10     - mov [rsp+10],rbp
ff7rebirth_.exe+3BEBB3E: 48 89 74 24 18     - mov [rsp+18],rsi
ff7rebirth_.exe+3BEBB43: 57                 - push rdi
ff7rebirth_.exe+3BEBB44: B8 30 00 00 00     - mov eax,00000030
ff7rebirth_.exe+3BEBB49: E8 72 D3 56 FE     - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+3BEBB4E: 48 2B E0           - sub rsp,rax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3BEBB51: 01 91 4C 02 00 00  - add [rcx+0000024C],edx
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3BEBB57: 49 8B E8           - mov rbp,r8
ff7rebirth_.exe+3BEBB5A: 48 83 39 00        - cmp qword ptr [rcx],00
ff7rebirth_.exe+3BEBB5E: 8B FA              - mov edi,edx
ff7rebirth_.exe+3BEBB60: 41 0F B6 F1        - movzx esi,r9b
ff7rebirth_.exe+3BEBB64: 48 8B D9           - mov rbx,rcx
ff7rebirth_.exe+3BEBB67: 74 59              - je ff7rebirth_.exe+3BEBBC2
ff7rebirth_.exe+3BEBB69: 48 83 64 24 20 00  - and qword ptr [rsp+20],00
ff7rebirth_.exe+3BEBB6F: 48 8D 4C 24 20     - lea rcx,[rsp+20]
ff7rebirth_.exe+3BEBB74: 83 64 24 28 00     - and dword ptr [rsp+28],00
ff7rebirth_.exe+3BEBB79: 83 64 24 2C 00     - and dword ptr [rsp+2C],00
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>82</ID>
          <Description>"Run Wild timer / ランワイルド"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-10
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_RUN_WILD_TIMER,$process,C5 CA 58 8B 90 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_RUN_WILD_TIMER)

label(code)
label(return)

newmem:
  vxorps xmm6, xmm6, xmm6

code:
  vaddss xmm1,xmm6,[rbx+00000090]
  jmp return

INJECT_RUN_WILD_TIMER:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_RUN_WILD_TIMER)

[DISABLE]

INJECT_RUN_WILD_TIMER:
  db C5 CA 58 8B 90 00 00 00

unregistersymbol(INJECT_RUN_WILD_TIMER)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+39D04BB

ff7rebirth_.exe+39D0494: 74 04                    - je ff7rebirth_.exe+39D049A
ff7rebirth_.exe+39D0496: C5 C8 57 F6              - vxorps xmm6,xmm6,xmm6
ff7rebirth_.exe+39D049A: E8 21 37 00 00           - call ff7rebirth_.exe+39D3BC0
ff7rebirth_.exe+39D049F: BF 01 00 00 00           - mov edi,00000001
ff7rebirth_.exe+39D04A4: 48 8B CB                 - mov rcx,rbx
ff7rebirth_.exe+39D04A7: 44 8A C7                 - mov r8b,dil
ff7rebirth_.exe+39D04AA: C5 F8 28 CE              - vmovaps xmm1,xmm6
ff7rebirth_.exe+39D04AE: E8 85 2B 00 00           - call ff7rebirth_.exe+39D3038
ff7rebirth_.exe+39D04B3: 48 8B CB                 - mov rcx,rbx
ff7rebirth_.exe+39D04B6: E8 51 20 00 00           - call ff7rebirth_.exe+39D250C
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+39D04BB: C5 CA 58 8B 90 00 00 00  - vaddss xmm1,xmm6,[rbx+00000090]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+39D04C3: C5 FA 10 83 8C 00 00 00  - vmovss xmm0,[rbx+0000008C]
ff7rebirth_.exe+39D04CB: C5 7A 5C D9              - vsubss xmm11,xmm0,xmm1
ff7rebirth_.exe+39D04CF: C5 F8 28 D1              - vmovaps xmm2,xmm1
ff7rebirth_.exe+39D04D3: C5 FA 11 8B 90 00 00 00  - vmovss [rbx+00000090],xmm1
ff7rebirth_.exe+39D04DB: C5 F0 57 C9              - vxorps xmm1,xmm1,xmm1
ff7rebirth_.exe+39D04DF: C5 F2 10 C2              - vmovss xmm0,xmm1,xmm2
ff7rebirth_.exe+39D04E3: C4 E3 79 08 D8 01        - vroundps xmm3,xmm0,01
ff7rebirth_.exe+39D04E9: C5 FA 2C D3              - vcvttss2si edx,xmm3
ff7rebirth_.exe+39D04ED: 39 93 94 00 00 00        - cmp [rbx+00000094],edx
ff7rebirth_.exe+39D04F3: 7D 17                    - jnl ff7rebirth_.exe+39D050C
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>83</ID>
          <Description>"Ab Challenge easy win / 腹筋勝負"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GYM_EASY_WIN,$process,8B 68 44 41 89 2F) // should be unique
alloc(newmem,$1000,INJECT_GYM_EASY_WIN)

label(code)
label(return)

newmem:
  test rbx, rbx
  jnz code
  cmp dword ptr [rax+44], 40
  jae code
  mov dword ptr [rax+44], 40

code:
  //mov ebp,[rax+44]
  //mov [r14],ebp
  mov ebp,[rax+44]
  mov [r15],ebp
  jmp return

INJECT_GYM_EASY_WIN:
  jmp newmem
  nop
return:
registersymbol(INJECT_GYM_EASY_WIN)

[DISABLE]

INJECT_GYM_EASY_WIN:
  db 8B 68 44 41 89 2F

unregistersymbol(INJECT_GYM_EASY_WIN)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3C26DDD

ff7rebirth_.exe+3C26DB9: 41 B2 03              - mov r10b,03
ff7rebirth_.exe+3C26DBC: 40 38 B9 15 02 00 00  - cmp [rcx+00000215],dil
ff7rebirth_.exe+3C26DC3: 75 52                 - jne ff7rebirth_.exe+3C26E17
ff7rebirth_.exe+3C26DC5: 33 DB                 - xor ebx,ebx
ff7rebirth_.exe+3C26DC7: 48 8D B1 E0 01 00 00  - lea rsi,[rcx+000001E0]
ff7rebirth_.exe+3C26DCE: 4D 8B FC              - mov r15,r12
ff7rebirth_.exe+3C26DD1: 48 8B 06              - mov rax,[rsi]
ff7rebirth_.exe+3C26DD4: 48 85 C0              - test rax,rax
ff7rebirth_.exe+3C26DD7: 74 2D                 - je ff7rebirth_.exe+3C26E06
ff7rebirth_.exe+3C26DD9: 48 8B 40 20           - mov rax,[rax+20]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3C26DDD: 8B 68 44              - mov ebp,[rax+44]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3C26DE0: 41 89 2F              - mov [r15],ebp
ff7rebirth_.exe+3C26DE3: 41 3B EE              - cmp ebp,r14d
ff7rebirth_.exe+3C26DE6: 7E 17                 - jle ff7rebirth_.exe+3C26DFF
ff7rebirth_.exe+3C26DE8: 33 C9                 - xor ecx,ecx
ff7rebirth_.exe+3C26DEA: 40 0F B6 C7           - movzx eax,dil
ff7rebirth_.exe+3C26DEE: 45 85 F6              - test r14d,r14d
ff7rebirth_.exe+3C26DF1: 44 8A D3              - mov r10b,bl
ff7rebirth_.exe+3C26DF4: 44 8B F5              - mov r14d,ebp
ff7rebirth_.exe+3C26DF7: 0F 48 C8              - cmovs ecx,eax
ff7rebirth_.exe+3C26DFA: 40 8A F9              - mov dil,cl
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"Shooting Coaster score / シューティングコースター"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GALAXY_SAVIORS_SCORE,$process,01 87 4C 0C 00 00 48 8D) // should be unique
alloc(newmem,$1000,INJECT_GALAXY_SAVIORS_SCORE)

label(code)
label(return)

newmem:
  cmp dword ptr [rdi+00000C4C], #50000
  jae code
  mov dword ptr [rdi+00000C4C], #50000
code:
  add [rdi+00000C4C],eax
  jmp return

INJECT_GALAXY_SAVIORS_SCORE:
  jmp newmem
  nop
return:
registersymbol(INJECT_GALAXY_SAVIORS_SCORE)

[DISABLE]

INJECT_GALAXY_SAVIORS_SCORE:
  db 01 87 4C 0C 00 00

unregistersymbol(INJECT_GALAXY_SAVIORS_SCORE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+35DD4DB

ff7rebirth_.exe+35DD4A7: 48 8B CF                    - mov rcx,rdi
ff7rebirth_.exe+35DD4AA: 48 8D 94 24 90 00 00 00     - lea rdx,[rsp+00000090]
ff7rebirth_.exe+35DD4B2: C5 FB 11 84 24 D0 01 00 00  - vmovsd [rsp+000001D0],xmm0
ff7rebirth_.exe+35DD4BB: C5 FA 11 9C 24 D8 01 00 00  - vmovss [rsp+000001D8],xmm3
ff7rebirth_.exe+35DD4C4: E8 3F 75 00 00              - call ff7rebirth_.exe+35E4A08
ff7rebirth_.exe+35DD4C9: 84 C0                       - test al,al
ff7rebirth_.exe+35DD4CB: 75 14                       - jne ff7rebirth_.exe+35DD4E1
ff7rebirth_.exe+35DD4CD: 48 8B 8C 24 80 00 00 00     - mov rcx,[rsp+00000080]
ff7rebirth_.exe+35DD4D5: 48 8B 01                    - mov rax,[rcx]
ff7rebirth_.exe+35DD4D8: FF 50 10                    - call qword ptr [rax+10]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+35DD4DB: 01 87 4C 0C 00 00           - add [rdi+00000C4C],eax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+35DD4E1: 48 8D 8F D0 0A 00 00        - lea rcx,[rdi+00000AD0]
ff7rebirth_.exe+35DD4E8: 48 8D 94 24 80 00 00 00     - lea rdx,[rsp+00000080]
ff7rebirth_.exe+35DD4F0: E8 87 55 FC FF              - call ff7rebirth_.exe+35A2A7C
ff7rebirth_.exe+35DD4F5: 84 C0                       - test al,al
ff7rebirth_.exe+35DD4F7: 0F 84 5A 01 00 00           - je ff7rebirth_.exe+35DD657
ff7rebirth_.exe+35DD4FD: 48 8B 8C 24 80 00 00 00     - mov rcx,[rsp+00000080]
ff7rebirth_.exe+35DD505: 48 83 C1 08                 - add rcx,08
ff7rebirth_.exe+35DD509: E8 8A 84 32 FE              - call ff7rebirth_.exe+1905998
ff7rebirth_.exe+35DD50E: 44 39 A8 80 01 00 00        - cmp [rax+00000180],r13d
ff7rebirth_.exe+35DD515: 7E 0C                       - jle ff7rebirth_.exe+35DD523
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>214</ID>
          <Description>"Shooting Coaster inf heal / シューティングコースター"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SHOOT_COS_INF_RECOVERY,$process,FF 8B C4 01 00 00) // should be unique
INJECT_SHOOT_COS_INF_RECOVERY:
  nop 6

registersymbol(INJECT_SHOOT_COS_INF_RECOVERY)

[DISABLE]

INJECT_SHOOT_COS_INF_RECOVERY:
  db FF 8B C4 01 00 00

unregistersymbol(INJECT_SHOOT_COS_INF_RECOVERY)
{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+35A7A0B

ff7rebirth_.exe+35A79DA: 8B 08                    - mov ecx,[rax]
ff7rebirth_.exe+35A79DC: 8B 83 58 0E 00 00        - mov eax,[rbx+00000E58]
ff7rebirth_.exe+35A79E2: 89 0E                    - mov [rsi],ecx
ff7rebirth_.exe+35A79E4: 48 8D 8C 24 10 01 00 00  - lea rcx,[rsp+00000110]
ff7rebirth_.exe+35A79EC: 89 83 5C 0E 00 00        - mov [rbx+00000E5C],eax
ff7rebirth_.exe+35A79F2: E8 0D 69 2B FD           - call ff7rebirth_.exe+85E304
ff7rebirth_.exe+35A79F7: 8B 83 C8 01 00 00        - mov eax,[rbx+000001C8]
ff7rebirth_.exe+35A79FD: 39 83 CC 01 00 00        - cmp [rbx+000001CC],eax
ff7rebirth_.exe+35A7A03: 7E 06                    - jle ff7rebirth_.exe+35A7A0B
ff7rebirth_.exe+35A7A05: 89 83 CC 01 00 00        - mov [rbx+000001CC],eax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+35A7A0B: FF 8B C4 01 00 00        - dec [rbx+000001C4]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+35A7A11: 48 81 C3 94 0C 00 00     - add rbx,00000C94
ff7rebirth_.exe+35A7A18: 48 8B CB                 - mov rcx,rbx
ff7rebirth_.exe+35A7A1B: E8 B4 39 34 FE           - call ff7rebirth_.exe+18EB3D4
ff7rebirth_.exe+35A7A20: 84 C0                    - test al,al
ff7rebirth_.exe+35A7A22: 74 5D                    - je ff7rebirth_.exe+35A7A81
ff7rebirth_.exe+35A7A24: 48 8B CB                 - mov rcx,rbx
ff7rebirth_.exe+35A7A27: E8 6C DF 35 FE           - call ff7rebirth_.exe+1905998
ff7rebirth_.exe+35A7A2C: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+35A7A2F: 74 50                    - je ff7rebirth_.exe+35A7A81
ff7rebirth_.exe+35A7A31: 48 8B CB                 - mov rcx,rbx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>85</ID>
          <Description>"3D Brawler - limit break gauge / 3Dバトラー"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-17
  Author :
}

[ENABLE]

aobscanmodule(INJECT_3D_BRAWLER,$process,C5 F8 2F 83 A4 02 00 00 4C) // should be unique
alloc(newmem,$1000,INJECT_3D_BRAWLER)

label(code)
label(return)

newmem:
  cmp dword ptr [rbx+000002A4], (float)100
  jae code
  mov dword ptr [rbx+000002A4], (float)100

code:
  vcomiss xmm0,[rbx+000002A4]
  jmp return

INJECT_3D_BRAWLER:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_3D_BRAWLER)

[DISABLE]

INJECT_3D_BRAWLER:
  db C5 F8 2F 83 A4 02 00 00

unregistersymbol(INJECT_3D_BRAWLER)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3A5D6E1

ff7rebirth_.exe+3A5D6B1: 48 8B 48 40              - mov rcx,[rax+40]
ff7rebirth_.exe+3A5D6B5: 48 85 C9                 - test rcx,rcx
ff7rebirth_.exe+3A5D6B8: 74 11                    - je ff7rebirth_.exe+3A5D6CB
ff7rebirth_.exe+3A5D6BA: E8 31 26 04 00           - call ff7rebirth_.exe+3A9FCF0
ff7rebirth_.exe+3A5D6BF: 8B 83 98 02 00 00        - mov eax,[rbx+00000298]
ff7rebirth_.exe+3A5D6C5: 89 83 94 02 00 00        - mov [rbx+00000294],eax
ff7rebirth_.exe+3A5D6CB: 48 8D 8B D0 00 00 00     - lea rcx,[rbx+000000D0]
ff7rebirth_.exe+3A5D6D2: BA 07 00 00 00           - mov edx,00000007
ff7rebirth_.exe+3A5D6D7: E8 94 1E F8 FC           - call ff7rebirth_.exe+9DF570
ff7rebirth_.exe+3A5D6DC: C5 FA 10 43 14           - vmovss xmm0,[rbx+14]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3A5D6E1: C5 F8 2F 83 A4 02 00 00  - vcomiss xmm0,[rbx+000002A4]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3A5D6E9: 4C 8D 3D A8 46 65 05     - lea r15,[ff7rebirth_.exe+90B1D98]
ff7rebirth_.exe+3A5D6F0: 0F 96 C0                 - setbe al
ff7rebirth_.exe+3A5D6F3: 48 8D 3D B6 46 65 05     - lea rdi,[ff7rebirth_.exe+90B1DB0]
ff7rebirth_.exe+3A5D6FA: 39 B3 C8 00 00 00        - cmp [rbx+000000C8],esi
ff7rebirth_.exe+3A5D700: 74 37                    - je ff7rebirth_.exe+3A5D739
ff7rebirth_.exe+3A5D702: 84 C0                    - test al,al
ff7rebirth_.exe+3A5D704: 74 33                    - je ff7rebirth_.exe+3A5D739
ff7rebirth_.exe+3A5D706: 49 8B D7                 - mov rdx,r15
ff7rebirth_.exe+3A5D709: 48 8D 4D A8              - lea rcx,[rbp-58]
ff7rebirth_.exe+3A5D70D: E8 16 AF E4 FC           - call ff7rebirth_.exe+8A8628
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>86</ID>
          <Description>"Desert rush score / デザートラッシュ"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_DESERT_RUSH_SCORE,$process,03 AC 91 F8 00 00 00) // should be unique
alloc(newmem,$1000,INJECT_DESERT_RUSH_SCORE)

label(code)
label(return)

newmem:
  mov ebp, #100000

code:
  //old: add ebp,[rcx+000001B0]
  //
  //add ebp,[rcx+rdx*4+000000F8]
  jmp return

INJECT_DESERT_RUSH_SCORE:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_DESERT_RUSH_SCORE)

[DISABLE]

INJECT_DESERT_RUSH_SCORE:
  db 03 AC 91 F8 00 00 00

unregistersymbol(INJECT_DESERT_RUSH_SCORE)
dealloc(newmem)

{
##OLD
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3AE4A54

ff7rebirth_.exe+3AE4A29: E8 92 44 67 FE           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+3AE4A2E: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+3AE4A31: 48 8B 41 20              - mov rax,[rcx+20]
ff7rebirth_.exe+3AE4A35: 48 8B F1                 - mov rsi,rcx
ff7rebirth_.exe+3AE4A38: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+3AE4A3B: 0F 84 14 01 00 00        - je ff7rebirth_.exe+3AE4B55
ff7rebirth_.exe+3AE4A41: 83 38 02                 - cmp dword ptr [rax],02
ff7rebirth_.exe+3AE4A44: 0F 85 0B 01 00 00        - jne ff7rebirth_.exe+3AE4B55
ff7rebirth_.exe+3AE4A4A: 0F B6 D2                 - movzx edx,dl
ff7rebirth_.exe+3AE4A4D: 8B AC 91 F8 00 00 00     - mov ebp,[rcx+rdx*4+000000F8]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3AE4A54: 03 A9 B0 01 00 00        - add ebp,[rcx+000001B0]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3AE4A5A: 89 A9 B0 01 00 00        - mov [rcx+000001B0],ebp
ff7rebirth_.exe+3AE4A60: 83 BC 91 F8 00 00 00 00  - cmp dword ptr [rcx+rdx*4+000000F8],00
ff7rebirth_.exe+3AE4A68: 7E 06                    - jle ff7rebirth_.exe+3AE4A70
ff7rebirth_.exe+3AE4A6A: FF 89 B4 01 00 00        - dec [rcx+000001B4]
ff7rebirth_.exe+3AE4A70: 48 8B 49 60              - mov rcx,[rcx+60]
ff7rebirth_.exe+3AE4A74: 48 85 C9                 - test rcx,rcx
ff7rebirth_.exe+3AE4A77: 0F 84 D8 00 00 00        - je ff7rebirth_.exe+3AE4B55
ff7rebirth_.exe+3AE4A7D: 83 BC 96 F8 00 00 00 00  - cmp dword ptr [rsi+rdx*4+000000F8],00
ff7rebirth_.exe+3AE4A85: 0F 8E CA 00 00 00        - jng ff7rebirth_.exe+3AE4B55
ff7rebirth_.exe+3AE4A8B: 3B AE 04 02 00 00        - cmp ebp,[rsi+00000204]
}

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3B8BE8B

ff7rebirth_.exe+3B8BE61: E8 CA 30 52 FE           - call ff7rebirth_.exe+20AEF30
ff7rebirth_.exe+3B8BE66: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+3B8BE69: 48 8B 41 20              - mov rax,[rcx+20]
ff7rebirth_.exe+3B8BE6D: 48 8B F1                 - mov rsi,rcx
ff7rebirth_.exe+3B8BE70: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+3B8BE73: 0F 84 14 01 00 00        - je ff7rebirth_.exe+3B8BF8D
ff7rebirth_.exe+3B8BE79: 83 38 02                 - cmp dword ptr [rax],02
ff7rebirth_.exe+3B8BE7C: 0F 85 0B 01 00 00        - jne ff7rebirth_.exe+3B8BF8D
ff7rebirth_.exe+3B8BE82: 8B A9 B0 01 00 00        - mov ebp,[rcx+000001B0]
ff7rebirth_.exe+3B8BE88: 0F B6 D2                 - movzx edx,dl
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3B8BE8B: 03 AC 91 F8 00 00 00     - add ebp,[rcx+rdx*4+000000F8]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3B8BE92: 89 A9 B0 01 00 00        - mov [rcx+000001B0],ebp
ff7rebirth_.exe+3B8BE98: 83 BC 91 F8 00 00 00 00  - cmp dword ptr [rcx+rdx*4+000000F8],00
ff7rebirth_.exe+3B8BEA0: 7E 06                    - jle ff7rebirth_.exe+3B8BEA8
ff7rebirth_.exe+3B8BEA2: FF 89 B4 01 00 00        - dec [rcx+000001B4]
ff7rebirth_.exe+3B8BEA8: 48 8B 49 60              - mov rcx,[rcx+60]
ff7rebirth_.exe+3B8BEAC: 48 85 C9                 - test rcx,rcx
ff7rebirth_.exe+3B8BEAF: 0F 84 D8 00 00 00        - je ff7rebirth_.exe+3B8BF8D
ff7rebirth_.exe+3B8BEB5: 83 BC 96 F8 00 00 00 00  - cmp dword ptr [rsi+rdx*4+000000F8],00
ff7rebirth_.exe+3B8BEBD: 0F 8E CA 00 00 00        - jng ff7rebirth_.exe+3B8BF8D
ff7rebirth_.exe+3B8BEC3: 3B AE 04 02 00 00        - cmp ebp,[rsi+00000204]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>87</ID>
          <Description>"G-Bike inf skill gauge / Gバイク"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_G_BIKE_INF_EN,$process,C5 FA 11 81 E8 03 00 00 C3) // should be unique
alloc(newmem,$1000,INJECT_G_BIKE_INF_EN)

label(code)
label(return)

newmem:
  mov dword ptr [rcx+000003E8], (float)1000

code:
  //vmovss [rcx+000003E8],xmm0
  jmp return

INJECT_G_BIKE_INF_EN:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_G_BIKE_INF_EN)

[DISABLE]

INJECT_G_BIKE_INF_EN:
  db C5 FA 11 81 E8 03 00 00

unregistersymbol(INJECT_G_BIKE_INF_EN)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3A3C53A

ff7rebirth_.exe+3A3C513: 49 8B E3                 - mov rsp,r11
ff7rebirth_.exe+3A3C516: 5F                       - pop rdi
ff7rebirth_.exe+3A3C517: C3                       - ret 
ff7rebirth_.exe+3A3C518: C5 F2 58 91 E8 03 00 00  - vaddss xmm2,xmm1,[rcx+000003E8]
ff7rebirth_.exe+3A3C520: C5 F8 57 C0              - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+3A3C524: C5 F8 2F D0              - vcomiss xmm2,xmm0
ff7rebirth_.exe+3A3C528: 72 10                    - jb ff7rebirth_.exe+3A3C53A
ff7rebirth_.exe+3A3C52A: C5 F8 57 C0              - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+3A3C52E: C5 FA 2A 81 54 04 00 00  - vcvtsi2ss xmm0,xmm0,[rcx+00000454]
ff7rebirth_.exe+3A3C536: C5 FA 5D C2              - vminss xmm0,xmm0,xmm2
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3A3C53A: C5 FA 11 81 E8 03 00 00  - vmovss [rcx+000003E8],xmm0
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3A3C542: C3                       - ret 
ff7rebirth_.exe+3A3C543: CC                       - int 3 
ff7rebirth_.exe+3A3C544: 48 89 5C 24 10           - mov [rsp+10],rbx
ff7rebirth_.exe+3A3C549: 55                       - push rbp
ff7rebirth_.exe+3A3C54A: 56                       - push rsi
ff7rebirth_.exe+3A3C54B: 57                       - push rdi
ff7rebirth_.exe+3A3C54C: 48 8D 6C 24 A0           - lea rbp,[rsp-60]
ff7rebirth_.exe+3A3C551: B8 60 01 00 00           - mov eax,00000160
ff7rebirth_.exe+3A3C556: E8 65 C9 71 FE           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+3A3C55B: 48 2B E0                 - sub rsp,rax
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>212</ID>
          <Description>"G-Bike inf EN(HP) / Gバイク"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GBIKE_INF_EN_G,$process,C5 FA 11 B3 0C 07 00 00) // should be unique
alloc(newmem,$1000,INJECT_GBIKE_INF_EN_G)

label(code)
label(return)

newmem:
  vmovss xmm6, [vf_60]

code:
  vmovss [rbx+0000070C],xmm6
  jmp return
align 10 cc
  vf_60:
  dd (float)60

INJECT_GBIKE_INF_EN_G:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GBIKE_INF_EN_G)

[DISABLE]

INJECT_GBIKE_INF_EN_G:
  db C5 FA 11 B3 0C 07 00 00

unregistersymbol(INJECT_GBIKE_INF_EN_G)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3AF0388

ff7rebirth_.exe+3AF0357: C5 FA 59 CF                 - vmulss xmm1,xmm0,xmm7
ff7rebirth_.exe+3AF035B: 48 8B CB                    - mov rcx,rbx
ff7rebirth_.exe+3AF035E: E8 2D 18 FF FF              - call ff7rebirth_.exe+3AE1B90
ff7rebirth_.exe+3AF0363: C5 FA 10 83 0C 07 00 00     - vmovss xmm0,[rbx+0000070C]
ff7rebirth_.exe+3AF036B: C5 F8 2E C6                 - vucomiss xmm0,xmm6
ff7rebirth_.exe+3AF036F: 74 1F                       - je ff7rebirth_.exe+3AF0390
ff7rebirth_.exe+3AF0371: C4 E2 41 BD 83 04 07 00 00  - vfnmadd231ss xmm0,xmm7,[rbx+00000704]
ff7rebirth_.exe+3AF037A: C5 F8 2F C6                 - vcomiss xmm0,xmm6
ff7rebirth_.exe+3AF037E: 72 08                       - jb ff7rebirth_.exe+3AF0388
ff7rebirth_.exe+3AF0380: C5 FA 5D B3 00 07 00 00     - vminss xmm6,xmm0,[rbx+00000700]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3AF0388: C5 FA 11 B3 0C 07 00 00     - vmovss [rbx+0000070C],xmm6
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3AF0390: C5 F8 28 74 24 30           - vmovaps xmm6,[rsp+30]
ff7rebirth_.exe+3AF0396: C5 F8 28 7C 24 20           - vmovaps xmm7,[rsp+20]
ff7rebirth_.exe+3AF039C: 48 83 C4 40                 - add rsp,40
ff7rebirth_.exe+3AF03A0: 5B                          - pop rbx
ff7rebirth_.exe+3AF03A1: C3                          - ret 
ff7rebirth_.exe+3AF03A2: CC                          - int 3 
ff7rebirth_.exe+3AF03A3: CC                          - int 3 
ff7rebirth_.exe+3AF03A4: 40 53                       - push rbx
ff7rebirth_.exe+3AF03A6: B8 30 00 00 00              - mov eax,00000030
ff7rebirth_.exe+3AF03AB: E8 80 EB 5B FE              - call ff7rebirth_.exe+20AEF30
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>88</ID>
          <Description>"Chocobo race: inf. Chocobo ability / チョコボレース"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-17
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_CHOCOBO_CHARGE,$process,C5 F2 58 91 F4 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_INF_CHOCOBO_CHARGE)

label(code)
label(return)

newmem:
  vmovss xmm1, [vf_100]

code:
  vaddss xmm2,xmm1,[rcx+000001F4]
  jmp return
align 10 cc
  vf_100:
  dd (float)100

INJECT_INF_CHOCOBO_CHARGE:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_INF_CHOCOBO_CHARGE)

[DISABLE]

INJECT_INF_CHOCOBO_CHARGE:
  db C5 F2 58 91 F4 01 00 00

unregistersymbol(INJECT_INF_CHOCOBO_CHARGE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3B89981

ff7rebirth_.exe+3B8995B: 48 8B CB                 - mov rcx,rbx
ff7rebirth_.exe+3B8995E: E8 69 67 00 00           - call ff7rebirth_.exe+3B900CC
ff7rebirth_.exe+3B89963: 48 8B 5C 24 68           - mov rbx,[rsp+68]
ff7rebirth_.exe+3B89968: C5 F8 28 74 24 40        - vmovaps xmm6,[rsp+40]
ff7rebirth_.exe+3B8996E: 48 83 C4 50              - add rsp,50
ff7rebirth_.exe+3B89972: 5F                       - pop rdi
ff7rebirth_.exe+3B89973: C3                       - ret 
ff7rebirth_.exe+3B89974: B8 28 00 00 00           - mov eax,00000028
ff7rebirth_.exe+3B89979: E8 42 F5 5C FE           - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+3B8997E: 48 2B E0                 - sub rsp,rax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3B89981: C5 F2 58 91 F4 01 00 00  - vaddss xmm2,xmm1,[rcx+000001F4]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3B89989: C5 FA 10 0D 87 29 41 02  - vmovss xmm1,[ff7rebirth_.exe+5F9C318]
ff7rebirth_.exe+3B89991: C5 F8 57 C0              - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+3B89995: C5 F8 2F D0              - vcomiss xmm2,xmm0
ff7rebirth_.exe+3B89999: 72 04                    - jb ff7rebirth_.exe+3B8999F
ff7rebirth_.exe+3B8999B: C5 EA 5D C1              - vminss xmm0,xmm2,xmm1
ff7rebirth_.exe+3B8999F: C5 FA 11 81 F4 01 00 00  - vmovss [rcx+000001F4],xmm0
ff7rebirth_.exe+3B899A7: C5 FA 5C C1              - vsubss xmm0,xmm0,xmm1
ff7rebirth_.exe+3B899AB: C5 F8 54 05 AD 21 41 02  - vandps xmm0,xmm0,[ff7rebirth_.exe+5F9BB60]
ff7rebirth_.exe+3B899B3: C5 F8 2F 05 69 21 41 02  - vcomiss xmm0,[ff7rebirth_.exe+5F9BB24]
ff7rebirth_.exe+3B899BB: 77 12                    - ja ff7rebirth_.exe+3B899CF
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>89</ID>
          <Description>"Chocobo race - speed / チョコボレース"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHOCOBO_RACE_SPEED,$process,8B 8B F8 01 00 00 85) // should be unique
alloc(newmem,$1000,INJECT_CHOCOBO_RACE_SPEED)

label(code)
label(return)

newmem:
  mov dword ptr [rbx+000001EC], 2
  cmp dword ptr [rbx+000001F8], 18
  jae code
  mov dword ptr [rbx+000001F8], 18

code:
  //mov ecx,[rdi+000001F8]
  mov ecx,[rbx+000001F8]
  jmp return

INJECT_CHOCOBO_RACE_SPEED:
  jmp newmem
  nop
return:
registersymbol(INJECT_CHOCOBO_RACE_SPEED)

[DISABLE]

INJECT_CHOCOBO_RACE_SPEED:
  db 8B 8B F8 01 00 00

unregistersymbol(INJECT_CHOCOBO_RACE_SPEED)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3C46674

ff7rebirth_.exe+3C46648: 48 8B D9                 - mov rbx,rcx
ff7rebirth_.exe+3C4664B: E8 18 03 00 00           - call ff7rebirth_.exe+3C46968
ff7rebirth_.exe+3C46650: 8B BB 78 07 00 00        - mov edi,[rbx+00000778]
ff7rebirth_.exe+3C46656: C5 F8 28 F0              - vmovaps xmm6,xmm0
ff7rebirth_.exe+3C4665A: 40 F6 C7 01              - test dil,01
ff7rebirth_.exe+3C4665E: 74 08                    - je ff7rebirth_.exe+3C46668
ff7rebirth_.exe+3C46660: C5 FA 59 B3 30 08 00 00  - vmulss xmm6,xmm0,[rbx+00000830]
ff7rebirth_.exe+3C46668: 48 8B B3 50 01 00 00     - mov rsi,[rbx+00000150]
ff7rebirth_.exe+3C4666F: 48 85 F6                 - test rsi,rsi
ff7rebirth_.exe+3C46672: 74 47                    - je ff7rebirth_.exe+3C466BB
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3C46674: 8B 8B F8 01 00 00        - mov ecx,[rbx+000001F8]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3C4667A: 85 C9                    - test ecx,ecx
ff7rebirth_.exe+3C4667C: 7E 3D                    - jle ff7rebirth_.exe+3C466BB
ff7rebirth_.exe+3C4667E: 0F BE 86 FB 00 00 00     - movsx eax,byte ptr [rsi+000000FB]
ff7rebirth_.exe+3C46685: C5 F8 57 C0              - vxorps xmm0,xmm0,xmm0
ff7rebirth_.exe+3C46689: C5 FA 2A C1              - vcvtsi2ss xmm0,xmm0,ecx
ff7rebirth_.exe+3C4668D: C5 FA 59 BE AC 00 00 00  - vmulss xmm7,xmm0,[rsi+000000AC]
ff7rebirth_.exe+3C46695: 3B C8                    - cmp ecx,eax
ff7rebirth_.exe+3C46697: 75 19                    - jne ff7rebirth_.exe+3C466B2
ff7rebirth_.exe+3C46699: 45 33 C0                 - xor r8d,r8d
ff7rebirth_.exe+3C4669C: B2 17                    - mov dl,17
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>216</ID>
          <Description>"Chocobo race - Fix race time / チョコボレース"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-17
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHOCOBO_RACE_TIMER1,$process,C4 C1 4A 58 4E 08) // should be unique
alloc(newmem,$1000,INJECT_CHOCOBO_RACE_TIMER1)

label(code)
label(return)

newmem:

code:
  //vaddss xmm1,xmm6,[r14+08]
  vmovss xmm1, [vf_60]
  jmp return
  align 10 cc
  vf_025:
  dd (float)0.25
  vf_60:
  dd (float)60

INJECT_CHOCOBO_RACE_TIMER1:
  jmp newmem
  nop
return:
registersymbol(INJECT_CHOCOBO_RACE_TIMER1)

[DISABLE]

INJECT_CHOCOBO_RACE_TIMER1:
  db C4 C1 4A 58 4E 08

unregistersymbol(INJECT_CHOCOBO_RACE_TIMER1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3C7A499

ff7rebirth_.exe+3C7A46A: 41 B0 1C                 - mov r8b,1C
ff7rebirth_.exe+3C7A46D: 33 D2                    - xor edx,edx
ff7rebirth_.exe+3C7A46F: E8 94 EB 80 FD           - call ff7rebirth_.exe+1489008
ff7rebirth_.exe+3C7A474: 44 88 AF 24 0B 00 00     - mov [rdi+00000B24],r13b
ff7rebirth_.exe+3C7A47B: EB 0C                    - jmp ff7rebirth_.exe+3C7A489
ff7rebirth_.exe+3C7A47D: C5 FA 5C C6              - vsubss xmm0,xmm0,xmm6
ff7rebirth_.exe+3C7A481: C5 FA 11 87 28 0B 00 00  - vmovss [rdi+00000B28],xmm0
ff7rebirth_.exe+3C7A489: 4C 8B 35 B0 17 74 05     - mov r14,[ff7rebirth_.exe+93BBC40]
ff7rebirth_.exe+3C7A490: 4D 85 F6                 - test r14,r14
ff7rebirth_.exe+3C7A493: 0F 84 27 01 00 00        - je ff7rebirth_.exe+3C7A5C0
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3C7A499: C4 C1 4A 58 4E 08        - vaddss xmm1,xmm6,[r14+08]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3C7A49F: C4 C1 7A 11 4E 08        - vmovss [r14+08],xmm1
ff7rebirth_.exe+3C7A4A5: 48 8D 5F 70              - lea rbx,[rdi+70]
ff7rebirth_.exe+3C7A4A9: 48 8B 0B                 - mov rcx,[rbx]
ff7rebirth_.exe+3C7A4AC: E8 AF 8F 01 00           - call ff7rebirth_.exe+3C93460
ff7rebirth_.exe+3C7A4B1: 44 8A 87 B8 09 00 00     - mov r8b,[rdi+000009B8]
ff7rebirth_.exe+3C7A4B8: 48 8B F3                 - mov rsi,rbx
ff7rebirth_.exe+3C7A4BB: 45 3A C7                 - cmp r8b,r15b
ff7rebirth_.exe+3C7A4BE: 75 0D                    - jne ff7rebirth_.exe+3C7A4CD
ff7rebirth_.exe+3C7A4C0: 44 39 AF C8 05 00 00     - cmp [rdi+000005C8],r13d
ff7rebirth_.exe+3C7A4C7: 75 2B                    - jne ff7rebirth_.exe+3C7A4F4
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>217</ID>
              <Description>"Only affect time record"</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>90</ID>
          <Description>"Cactuar Knock: inf. Bullets / サボテンノック"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-17
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_DESERT_ESCAPE_BULLETS,$process,01 91 70 04 00 00) // should be unique
alloc(newmem,$1000,INJECT_DESERT_ESCAPE_BULLETS)

label(code)
label(return)

newmem:
  mov dword ptr [rcx+00000474], (float)30
  cmp dword ptr [rcx+00000470], #86
  jae code
  mov dword ptr [rcx+00000470], #86


code:
  add [rcx+00000470],edx
  jmp return

INJECT_DESERT_ESCAPE_BULLETS:
  jmp newmem
  nop
return:
registersymbol(INJECT_DESERT_ESCAPE_BULLETS)

[DISABLE]

INJECT_DESERT_ESCAPE_BULLETS:
  db 01 91 70 04 00 00

unregistersymbol(INJECT_DESERT_ESCAPE_BULLETS)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3A3C753

ff7rebirth_.exe+3A3C73E: 5F                    - pop rdi
ff7rebirth_.exe+3A3C73F: 5E                    - pop rsi
ff7rebirth_.exe+3A3C740: 5D                    - pop rbp
ff7rebirth_.exe+3A3C741: C3                    - ret 
ff7rebirth_.exe+3A3C742: CC                    - int 3 
ff7rebirth_.exe+3A3C743: CC                    - int 3 
ff7rebirth_.exe+3A3C744: 40 53                 - push rbx
ff7rebirth_.exe+3A3C746: B8 20 00 00 00        - mov eax,00000020
ff7rebirth_.exe+3A3C74B: E8 70 C7 71 FE        - call ff7rebirth_.exe+2158EC0
ff7rebirth_.exe+3A3C750: 48 2B E0              - sub rsp,rax
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3A3C753: 01 91 70 04 00 00     - add [rcx+00000470],edx
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3A3C759: 48 8B D9              - mov rbx,rcx
ff7rebirth_.exe+3A3C75C: 8D 50 EF              - lea edx,[rax-11]
ff7rebirth_.exe+3A3C75F: 48 8D 0D 5A 3C 66 05  - lea rcx,[ff7rebirth_.exe+90A03C0]
ff7rebirth_.exe+3A3C766: E8 BD 32 02 00        - call ff7rebirth_.exe+3A5FA28
ff7rebirth_.exe+3A3C76B: 8B 8B 70 04 00 00     - mov ecx,[rbx+00000470]
ff7rebirth_.exe+3A3C771: 85 C9                 - test ecx,ecx
ff7rebirth_.exe+3A3C773: 79 04                 - jns ff7rebirth_.exe+3A3C779
ff7rebirth_.exe+3A3C775: 33 D2                 - xor edx,edx
ff7rebirth_.exe+3A3C777: EB 07                 - jmp ff7rebirth_.exe+3A3C780
ff7rebirth_.exe+3A3C779: 3B C8                 - cmp ecx,eax
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>91</ID>
          <Description>"Magonga Mushroom: inf retry / モーグリコープ"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-18
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MOG_MUSHROOM_INF_TRY,$process,44 00 20 4C 8D B7 0C 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_MOG_MUSHROOM_INF_TRY)

label(code)
label(return)

newmem:
  xor r12b, r12b
  mov byte ptr [rdi+0000010C], 0

code:
  //add [rdi+0000010C],r12b
  add [rax],r12b
  lea r14,[rdi+0000010C]
  jmp return

INJECT_MOG_MUSHROOM_INF_TRY:
  jmp newmem
  nop 5
return:
registersymbol(INJECT_MOG_MUSHROOM_INF_TRY)

[DISABLE]

INJECT_MOG_MUSHROOM_INF_TRY:
  db 44 00 20 4C 8D B7 0C 01 00 00

unregistersymbol(INJECT_MOG_MUSHROOM_INF_TRY)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+356C49A

ff7rebirth_.exe+356C46B: 48 8D 0D 06 AE DB 05  - lea rcx,[ff7rebirth_.exe+9327278]
ff7rebirth_.exe+356C472: E8 45 C3 BE FE        - call ff7rebirth_.exe+21587BC
ff7rebirth_.exe+356C477: 48 8B 0D 02 AE DB 05  - mov rcx,[ff7rebirth_.exe+9327280]
ff7rebirth_.exe+356C47E: 41 B0 09              - mov r8b,09
ff7rebirth_.exe+356C481: 33 D2                 - xor edx,edx
ff7rebirth_.exe+356C483: E8 44 4A FB FD        - call ff7rebirth_.exe+1520ECC
ff7rebirth_.exe+356C488: 80 3D D9 4F D2 05 00  - cmp byte ptr [ff7rebirth_.exe+9291468],00
ff7rebirth_.exe+356C48F: 75 10                 - jne ff7rebirth_.exe+356C4A1
ff7rebirth_.exe+356C491: 80 BF 15 01 00 00 00  - cmp byte ptr [rdi+00000115],00
ff7rebirth_.exe+356C498: 75 07                 - jne ff7rebirth_.exe+356C4A1
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+356C49A: 44 00 A7 0C 01 00 00  - add [rdi+0000010C],r12b
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+356C4A1: 48 8D 4F 54           - lea rcx,[rdi+54]
ff7rebirth_.exe+356C4A5: E8 D2 FC 43 FE        - call ff7rebirth_.exe+19AC17C
ff7rebirth_.exe+356C4AA: 48 8B F0              - mov rsi,rax
ff7rebirth_.exe+356C4AD: 48 85 C0              - test rax,rax
ff7rebirth_.exe+356C4B0: 74 0C                 - je ff7rebirth_.exe+356C4BE
ff7rebirth_.exe+356C4B2: 48 8B C8              - mov rcx,rax
ff7rebirth_.exe+356C4B5: E8 B2 E3 29 FE        - call ff7rebirth_.exe+180A86C
ff7rebirth_.exe+356C4BA: 84 C0                 - test al,al
ff7rebirth_.exe+356C4BC: 75 02                 - jne ff7rebirth_.exe+356C4C0
ff7rebirth_.exe+356C4BE: 33 F6                 - xor esi,esi
}

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+35A6ADB

ff7rebirth_.exe+35A6AAE: 48 8B 0D BB BD EA 05  - mov rcx,[ff7rebirth_.exe+9452870]
ff7rebirth_.exe+35A6AB5: 41 B0 09              - mov r8b,09
ff7rebirth_.exe+35A6AB8: 33 D2                 - xor edx,edx
ff7rebirth_.exe+35A6ABA: E8 49 25 EE FD        - call ff7rebirth_.exe+1489008
ff7rebirth_.exe+35A6ABF: 48 8D 87 0C 01 00 00  - lea rax,[rdi+0000010C]
ff7rebirth_.exe+35A6AC6: 80 3D AB 50 E1 05 00  - cmp byte ptr [ff7rebirth_.exe+93BBB78],00
ff7rebirth_.exe+35A6ACD: 4C 8B F0              - mov r14,rax
ff7rebirth_.exe+35A6AD0: 75 13                 - jne ff7rebirth_.exe+35A6AE5
ff7rebirth_.exe+35A6AD2: 80 BF 15 01 00 00 00  - cmp byte ptr [rdi+00000115],00
ff7rebirth_.exe+35A6AD9: 75 0A                 - jne ff7rebirth_.exe+35A6AE5
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+35A6ADB: 44 00 20              - add [rax],r12b
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+35A6ADE: 4C 8D B7 0C 01 00 00  - lea r14,[rdi+0000010C]
ff7rebirth_.exe+35A6AE5: 48 8D 4F 54           - lea rcx,[rdi+54]
ff7rebirth_.exe+35A6AE9: E8 AA EE 35 FE        - call ff7rebirth_.exe+1905998
ff7rebirth_.exe+35A6AEE: 48 8B F0              - mov rsi,rax
ff7rebirth_.exe+35A6AF1: 48 85 C0              - test rax,rax
ff7rebirth_.exe+35A6AF4: 74 0C                 - je ff7rebirth_.exe+35A6B02
ff7rebirth_.exe+35A6AF6: 48 8B C8              - mov rcx,rax
ff7rebirth_.exe+35A6AF9: E8 3A A5 1B FE        - call ff7rebirth_.exe+1761038
ff7rebirth_.exe+35A6AFE: 84 C0                 - test al,al
ff7rebirth_.exe+35A6B00: 75 02                 - jne ff7rebirth_.exe+35A6B04
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>194</ID>
          <Description>"Hoop de Chocobo score (ch. 10) / フープデチョコボ"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-10
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHOCOBO_FLY_RACE,$process,44 89 6D 90 43 8D 34 2E) // should be unique
alloc(newmem,$1000,INJECT_CHOCOBO_FLY_RACE)

label(code)
label(return)

newmem:
  cmp r13d, #10000
  jae code
  mov r13d, #10000

code:
  mov [rbp-70],r13d
  lea esi,[r14+r13]
  jmp return

INJECT_CHOCOBO_FLY_RACE:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_CHOCOBO_FLY_RACE)

[DISABLE]

INJECT_CHOCOBO_FLY_RACE:
  db 44 89 6D 90 43 8D 34 2E

unregistersymbol(INJECT_CHOCOBO_FLY_RACE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+2396264

ff7rebirth_.exe+2396232: 48 8D 0C C1           - lea rcx,[rcx+rax*8]
ff7rebirth_.exe+2396236: 4C 3B C1              - cmp r8,rcx
ff7rebirth_.exe+2396239: 0F 84 D9 02 00 00     - je ff7rebirth_.exe+2396518
ff7rebirth_.exe+239623F: 49 8B 00              - mov rax,[r8]
ff7rebirth_.exe+2396242: 49 8B 1E              - mov rbx,[r14]
ff7rebirth_.exe+2396245: 48 89 45 98           - mov [rbp-68],rax
ff7rebirth_.exe+2396249: 44 8B B0 B8 04 00 00  - mov r14d,[rax+000004B8]
ff7rebirth_.exe+2396250: 44 8B AB E0 01 00 00  - mov r13d,[rbx+000001E0]
ff7rebirth_.exe+2396257: 8B 83 10 01 00 00     - mov eax,[rbx+00000110]
ff7rebirth_.exe+239625D: 48 8B 8B F0 01 00 00  - mov rcx,[rbx+000001F0]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+2396264: 44 89 6D 90           - mov [rbp-70],r13d
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+2396268: 43 8D 34 2E           - lea esi,[r14+r13]
ff7rebirth_.exe+239626C: 89 45 88              - mov [rbp-78],eax
ff7rebirth_.exe+239626F: 89 B3 E0 01 00 00     - mov [rbx+000001E0],esi
ff7rebirth_.exe+2396275: E8 8E B0 7D 01        - call ff7rebirth_.exe+3B71308
ff7rebirth_.exe+239627A: 48 8B F8              - mov rdi,rax
ff7rebirth_.exe+239627D: 48 85 C0              - test rax,rax
ff7rebirth_.exe+2396280: 0F 84 90 00 00 00     - je ff7rebirth_.exe+2396316
ff7rebirth_.exe+2396286: 4C 8B 68 40           - mov r13,[rax+40]
ff7rebirth_.exe+239628A: 4D 85 ED              - test r13,r13
ff7rebirth_.exe+239628D: 74 1F                 - je ff7rebirth_.exe+23962AE
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>195</ID>
          <Description>"Gambit Gears: inf ATB (ch.10) / ガンビットギアーズ"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-11
  Author : bbfox@https://openchaeattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_MECH_ATB_CH10,$process,C5 FA 10 B1 20 27 00 00) // should be unique
alloc(newmem,$1000,INJECT_INF_MECH_ATB_CH10)

label(code)
label(return)

newmem:
  vmovss xmm6, [vf_50]
  vmovss [rcx+00002720], xmm6

code:
  vmovss xmm6,[rcx+00002720]
  jmp return
align 10 cc
  vf_50:
  dd (float)50

INJECT_INF_MECH_ATB_CH10:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_INF_MECH_ATB_CH10)

[DISABLE]

INJECT_INF_MECH_ATB_CH10:
  db C5 FA 10 B1 20 27 00 00

unregistersymbol(INJECT_INF_MECH_ATB_CH10)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3BF9E5D

ff7rebirth_.exe+3BF9E3E: 49 8B E3                 - mov rsp,r11
ff7rebirth_.exe+3BF9E41: 5D                       - pop rbp
ff7rebirth_.exe+3BF9E42: C3                       - ret 
ff7rebirth_.exe+3BF9E43: CC                       - int 3 
ff7rebirth_.exe+3BF9E44: 48 89 5C 24 08           - mov [rsp+08],rbx
ff7rebirth_.exe+3BF9E49: 57                       - push rdi
ff7rebirth_.exe+3BF9E4A: B8 40 00 00 00           - mov eax,00000040
ff7rebirth_.exe+3BF9E4F: E8 DC 50 4B FE           - call ff7rebirth_.exe+20AEF30
ff7rebirth_.exe+3BF9E54: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+3BF9E57: C5 F8 29 74 24 30        - vmovaps [rsp+30],xmm6
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3BF9E5D: C5 FA 10 B1 20 27 00 00  - vmovss xmm6,[rcx+00002720]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3BF9E65: 48 8D B9 18 24 00 00     - lea rdi,[rcx+00002418]
ff7rebirth_.exe+3BF9E6C: 48 8B D9                 - mov rbx,rcx
ff7rebirth_.exe+3BF9E6F: 48 8B CF                 - mov rcx,rdi
ff7rebirth_.exe+3BF9E72: E8 21 BB D0 FD           - call ff7rebirth_.exe+1905998
ff7rebirth_.exe+3BF9E77: 48 85 C0                 - test rax,rax
ff7rebirth_.exe+3BF9E7A: 74 18                    - je ff7rebirth_.exe+3BF9E94
ff7rebirth_.exe+3BF9E7C: 48 8B CF                 - mov rcx,rdi
ff7rebirth_.exe+3BF9E7F: E8 14 BB D0 FD           - call ff7rebirth_.exe+1905998
ff7rebirth_.exe+3BF9E84: C5 CA 5E 0D D4 84 4E 03  - vdivss xmm1,xmm6,[ff7rebirth_.exe+70E2360]
ff7rebirth_.exe+3BF9E8C: 48 8B C8                 - mov rcx,rax
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>197</ID>
          <Description>"Gambit Gears: inf ATB (ch.10) / ガンビットギアーズ"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-13
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MAX_CH10_MECH_HP,$process,89 81 14 28 00 00 85) // should be unique
alloc(newmem,$1000,INJECT_MAX_CH10_MECH_HP)

label(code)
label(return)

newmem:
  mov eax, #2000

code:
  mov [rcx+00002814],eax
  jmp return

INJECT_MAX_CH10_MECH_HP:
  jmp newmem
  nop
return:
registersymbol(INJECT_MAX_CH10_MECH_HP)

[DISABLE]

INJECT_MAX_CH10_MECH_HP:
  db 89 81 14 28 00 00

unregistersymbol(INJECT_MAX_CH10_MECH_HP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3BE5B4E

ff7rebirth_.exe+3BE5B29: E8 02 94 4C FE        - call ff7rebirth_.exe+20AEF30
ff7rebirth_.exe+3BE5B2E: 48 2B E0              - sub rsp,rax
ff7rebirth_.exe+3BE5B31: 44 8B 89 14 28 00 00  - mov r9d,[rcx+00002814]
ff7rebirth_.exe+3BE5B38: 44 03 CA              - add r9d,edx
ff7rebirth_.exe+3BE5B3B: 79 04                 - jns ff7rebirth_.exe+3BE5B41
ff7rebirth_.exe+3BE5B3D: 33 C0                 - xor eax,eax
ff7rebirth_.exe+3BE5B3F: EB 0D                 - jmp ff7rebirth_.exe+3BE5B4E
ff7rebirth_.exe+3BE5B41: 8B 81 18 28 00 00     - mov eax,[rcx+00002818]
ff7rebirth_.exe+3BE5B47: 44 3B C8              - cmp r9d,eax
ff7rebirth_.exe+3BE5B4A: 41 0F 4C C1           - cmovl eax,r9d
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3BE5B4E: 89 81 14 28 00 00     - mov [rcx+00002814],eax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3BE5B54: 85 D2                 - test edx,edx
ff7rebirth_.exe+3BE5B56: 79 1B                 - jns ff7rebirth_.exe+3BE5B73
ff7rebirth_.exe+3BE5B58: 8B 81 48 28 00 00     - mov eax,[rcx+00002848]
ff7rebirth_.exe+3BE5B5E: 49 8B D0              - mov rdx,r8
ff7rebirth_.exe+3BE5B61: 89 81 44 28 00 00     - mov [rcx+00002844],eax
ff7rebirth_.exe+3BE5B67: 48 81 C1 C0 24 00 00  - add rcx,000024C0
ff7rebirth_.exe+3BE5B6E: E8 41 FD D1 FD        - call ff7rebirth_.exe+19058B4
ff7rebirth_.exe+3BE5B73: 83 3D 86 96 51 05 00  - cmp dword ptr [ff7rebirth_.exe+90FF200],00
ff7rebirth_.exe+3BE5B7A: 75 11                 - jne ff7rebirth_.exe+3BE5B8D
ff7rebirth_.exe+3BE5B7C: 48 8B 0D AD 24 5F 05  - mov rcx,[ff7rebirth_.exe+91D8030]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>202</ID>
          <Description>"inf. catch chocobo throw item (ch11)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-13
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CH12_CATCH_CHOC_VAG_NO_DEC,$process,FF 8F 78 02 00 00) // should be unique

INJECT_CH12_CATCH_CHOC_VAG_NO_DEC:
  nop 6

registersymbol(INJECT_CH12_CATCH_CHOC_VAG_NO_DEC)

[DISABLE]

INJECT_CH12_CATCH_CHOC_VAG_NO_DEC:
  db FF 8F 78 02 00 00

unregistersymbol(INJECT_CH12_CATCH_CHOC_VAG_NO_DEC)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3569FC6

ff7rebirth_.exe+3569F99: 49 8B CE                    - mov rcx,r14
ff7rebirth_.exe+3569F9C: C5 FB 10 87 3C 02 00 00     - vmovsd xmm0,[rdi+0000023C]
ff7rebirth_.exe+3569FA4: 8B 87 44 02 00 00           - mov eax,[rdi+00000244]
ff7rebirth_.exe+3569FAA: C5 FB 11 45 D7              - vmovsd [rbp-29],xmm0
ff7rebirth_.exe+3569FAF: 89 45 DF                    - mov [rbp-21],eax
ff7rebirth_.exe+3569FB2: 75 12                       - jne ff7rebirth_.exe+3569FC6
ff7rebirth_.exe+3569FB4: FF 8F 74 02 00 00           - dec [rdi+00000274]
ff7rebirth_.exe+3569FBA: 8B 9F 74 02 00 00           - mov ebx,[rdi+00000274]
ff7rebirth_.exe+3569FC0: C6 45 17 00                 - mov byte ptr [rbp+17],00
ff7rebirth_.exe+3569FC4: EB 10                       - jmp ff7rebirth_.exe+3569FD6
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3569FC6: FF 8F 78 02 00 00           - dec [rdi+00000278]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3569FCC: 8B 9F 78 02 00 00           - mov ebx,[rdi+00000278]
ff7rebirth_.exe+3569FD2: C6 45 17 01                 - mov byte ptr [rbp+17],01
ff7rebirth_.exe+3569FD6: E8 BD B9 39 FE              - call ff7rebirth_.exe+1905998
ff7rebirth_.exe+3569FDB: C5 F8 2F 35 99 89 B3 02     - vcomiss xmm6,[ff7rebirth_.exe+60A297C]
ff7rebirth_.exe+3569FE3: B9 68 02 00 00              - mov ecx,00000268
ff7rebirth_.exe+3569FE8: C6 45 F3 00                 - mov byte ptr [rbp-0D],00
ff7rebirth_.exe+3569FEC: 88 98 C8 03 00 00           - mov [rax+000003C8],bl
ff7rebirth_.exe+3569FF2: 65 48 8B 04 25 58 00 00 00  - mov rax,gs:[00000058]
ff7rebirth_.exe+3569FFB: 48 8B 00                    - mov rax,[rax]
ff7rebirth_.exe+3569FFE: 8B 04 01                    - mov eax,[rcx+rax]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>92</ID>
          <Description>"Scripts from other makers+"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>93</ID>
              <Description>"Piano all great / Cissa90 / ピアノ演奏"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-07
  Author :
}

[ENABLE]

aobscanmodule(INJECT_PIANO_AUTO_PLAY1,$process,44 0F B6 47 4A 41) // should be unique
alloc(newmem,$1000,INJECT_PIANO_AUTO_PLAY1)
aobscanmodule(INJECT_PIANO_AUTO_PLAY2,$process,41 0F B6 4E 4A) // should be unique
alloc(newmem1,$1000,INJECT_PIANO_AUTO_PLAY2)

label(code)
label(return)

newmem:
  mov byte ptr [rdi+4A],6

code:
  movzx r8d,byte ptr [rdi+4A]
  jmp return

INJECT_PIANO_AUTO_PLAY1:
  jmp newmem
return:
registersymbol(INJECT_PIANO_AUTO_PLAY1)

newmem1:

code1:
  movzx ecx,byte ptr [r14+4A]
  jmp return1

INJECT_PIANO_AUTO_PLAY2:
  jmp newmem1
return1:
registersymbol(INJECT_PIANO_AUTO_PLAY2)

[DISABLE]

INJECT_PIANO_AUTO_PLAY1:
  db 44 0F B6 47 4A
INJECT_PIANO_AUTO_PLAY2:
  db 41 0F B6 4E 4A
unregistersymbol(INJECT_PIANO_AUTO_PLAY1)
dealloc(newmem)
unregistersymbol(INJECT_PIANO_AUTO_PLAY2)
dealloc(newmem1)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+23AA9E0

ff7rebirth_.exe+23AA9B3: B8 B8 00 00 00           - mov eax,000000B8
ff7rebirth_.exe+23AA9B8: E8 73 45 D0 FF           - call ff7rebirth_.exe+20AEF30
ff7rebirth_.exe+23AA9BD: 48 2B E0                 - sub rsp,rax
ff7rebirth_.exe+23AA9C0: 48 8B FA                 - mov rdi,rdx
ff7rebirth_.exe+23AA9C3: 48 8B D9                 - mov rbx,rcx
ff7rebirth_.exe+23AA9C6: 48 8B CF                 - mov rcx,rdi
ff7rebirth_.exe+23AA9C9: 48 8D 94 24 80 00 00 00  - lea rdx,[rsp+00000080]
ff7rebirth_.exe+23AA9D1: E8 26 BE 89 01           - call ff7rebirth_.exe+3C467FC
ff7rebirth_.exe+23AA9D6: 80 78 1D 00              - cmp byte ptr [rax+1D],00
ff7rebirth_.exe+23AA9DA: 0F 85 20 08 00 00        - jne ff7rebirth_.exe+23AB200
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+23AA9E0: 44 0F B6 47 4A           - movzx r8d,byte ptr [rdi+4A]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+23AA9E5: 41 83 E8 01              - sub r8d,01
ff7rebirth_.exe+23AA9E9: 0F 84 20 02 00 00        - je ff7rebirth_.exe+23AAC0F
ff7rebirth_.exe+23AA9EF: 41 83 E8 01              - sub r8d,01
ff7rebirth_.exe+23AA9F3: 0F 84 16 02 00 00        - je ff7rebirth_.exe+23AAC0F
ff7rebirth_.exe+23AA9F9: 41 83 E8 02              - sub r8d,02
ff7rebirth_.exe+23AA9FD: 0F 84 64 01 00 00        - je ff7rebirth_.exe+23AAB67
ff7rebirth_.exe+23AAA03: 41 83 E8 01              - sub r8d,01
ff7rebirth_.exe+23AAA07: 0F 84 B2 00 00 00        - je ff7rebirth_.exe+23AAABF
ff7rebirth_.exe+23AAA0D: 41 83 F8 01              - cmp r8d,01
ff7rebirth_.exe+23AAA11: 0F 85 CA 02 00 00        - jne ff7rebirth_.exe+23AACE1
}

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+B01CBD

ff7rebirth_.exe+B01C90: C5 FA 10 43 FC     - vmovss xmm0,[rbx-04]
ff7rebirth_.exe+B01C95: C5 F2 5C 54 24 34  - vsubss xmm2,xmm1,[rsp+34]
ff7rebirth_.exe+B01C9B: C5 FA 5C 5C 24 30  - vsubss xmm3,xmm0,[rsp+30]
ff7rebirth_.exe+B01CA1: C5 EA 59 C2        - vmulss xmm0,xmm2,xmm2
ff7rebirth_.exe+B01CA5: C4 E2 61 B9 C3     - vfmadd231ss xmm0,xmm3,xmm3
ff7rebirth_.exe+B01CAA: C5 FA 51 C8        - vsqrtss xmm1,xmm0,xmm0
ff7rebirth_.exe+B01CAE: 45 84 E4           - test r12b,r12b
ff7rebirth_.exe+B01CB1: 0F 85 81 00 00 00  - jne ff7rebirth_.exe+B01D38
ff7rebirth_.exe+B01CB7: 41 38 56 34        - cmp [r14+34],dl
ff7rebirth_.exe+B01CBB: 74 28              - je ff7rebirth_.exe+B01CE5
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+B01CBD: 41 0F B6 4E 4A     - movzx ecx,byte ptr [r14+4A]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+B01CC2: 85 C9              - test ecx,ecx
ff7rebirth_.exe+B01CC4: 74 18              - je ff7rebirth_.exe+B01CDE
ff7rebirth_.exe+B01CC6: 2B CA              - sub ecx,edx
ff7rebirth_.exe+B01CC8: 74 0B              - je ff7rebirth_.exe+B01CD5
ff7rebirth_.exe+B01CCA: 3B CA              - cmp ecx,edx
ff7rebirth_.exe+B01CCC: 75 66              - jne ff7rebirth_.exe+B01D34
ff7rebirth_.exe+B01CCE: C4 C1 78 2F C8     - vcomiss xmm1,xmm8
ff7rebirth_.exe+B01CD3: 72 5F              - jb ff7rebirth_.exe+B01D34
ff7rebirth_.exe+B01CD5: C4 C1 78 2F C9     - vcomiss xmm1,xmm9
ff7rebirth_.exe+B01CDA: 77 58              - ja ff7rebirth_.exe+B01D34
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>94</ID>
              <Description>"Run wild (enable after game start) / BigBear743 / ランワイルド"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-10
  Author :
}

[ENABLE]

aobscanmodule(INJECT_RUN_WILD,$process,44 39 A3 C0 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_RUN_WILD)

label(code)
label(return)

newmem:
  mov dword ptr [rbx+000001C0], 5
  mov dword ptr [rbx+000001C4], 0
  mov dword ptr [rbx+000001C8], 0
  mov dword ptr [rbx+000001CC], 0

code:
  cmp [rbx+000001C0],r12d
  jmp return

INJECT_RUN_WILD:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_RUN_WILD)

[DISABLE]

INJECT_RUN_WILD:
  db 44 39 A3 C0 01 00 00

unregistersymbol(INJECT_RUN_WILD)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+39D0944

ff7rebirth_.exe+39D0918: 48 8B 43 68           - mov rax,[rbx+68]
ff7rebirth_.exe+39D091C: 48 8B 88 88 00 00 00  - mov rcx,[rax+00000088]
ff7rebirth_.exe+39D0923: E8 BC A1 9F FE        - call ff7rebirth_.exe+23CAAE4
ff7rebirth_.exe+39D0928: 41 B0 03              - mov r8b,03
ff7rebirth_.exe+39D092B: 48 8D 55 C7           - lea rdx,[rbp-39]
ff7rebirth_.exe+39D092F: 48 8B CB              - mov rcx,rbx
ff7rebirth_.exe+39D0932: E8 F9 B8 FF FF        - call ff7rebirth_.exe+39CC230
ff7rebirth_.exe+39D0937: BA 08 00 00 00        - mov edx,00000008
ff7rebirth_.exe+39D093C: 48 8B CB              - mov rcx,rbx
ff7rebirth_.exe+39D093F: E8 2C EC 00 FD        - call ff7rebirth_.exe+9DF570
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+39D0944: 44 39 A3 C0 01 00 00  - cmp [rbx+000001C0],r12d
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+39D094B: 75 1C                 - jne ff7rebirth_.exe+39D0969
ff7rebirth_.exe+39D094D: 48 8B 43 68           - mov rax,[rbx+68]
ff7rebirth_.exe+39D0951: 48 85 C0              - test rax,rax
ff7rebirth_.exe+39D0954: 74 54                 - je ff7rebirth_.exe+39D09AA
ff7rebirth_.exe+39D0956: 48 8B 80 98 00 00 00  - mov rax,[rax+00000098]
ff7rebirth_.exe+39D095D: 41 B0 05              - mov r8b,05
ff7rebirth_.exe+39D0960: 40 88 B8 B0 01 00 00  - mov [rax+000001B0],dil
ff7rebirth_.exe+39D0967: EB 35                 - jmp ff7rebirth_.exe+39D099E
ff7rebirth_.exe+39D0969: 44 39 A3 C4 01 00 00  - cmp [rbx+000001C4],r12d
ff7rebirth_.exe+39D0970: 75 45                 - jne ff7rebirth_.exe+39D09B7
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>95</ID>
      <Description>"Get trading currencies"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_TRADE_CURR,$process,41 8B 46 0C 2B C1) // should be unique
alloc(newmem,$1000,INJECT_GET_TRADE_CURR)

label(code)
label(return i_base_tr_cur_addr)

newmem:
  push r15
  push r13
  xor r13, r13

loop1:
  mov r15, i_base_tr_cur_addr
  lea r15, [r15+r13*8]
  cmp [r15], r14
  je endp
  cmp qword ptr [r15], 0
  je write_data
  inc r13
  cmp r13, A
  jae endp
  jmp loop1


write_data:
  mov [r15], r14
  //jmp endp

endp:
  pop r13
  pop r15

code:
  mov eax,[r14+0C]
  sub eax,ecx
  jmp return
align 10 cc
  i_base_tr_cur_addr:
  dq 0
  align 100 0
  db 0

INJECT_GET_TRADE_CURR:
  jmp newmem
  nop
return:
registersymbol(INJECT_GET_TRADE_CURR i_base_tr_cur_addr)

[DISABLE]

INJECT_GET_TRADE_CURR:
  db 41 8B 46 0C 2B C1

unregistersymbol(INJECT_GET_TRADE_CURR i_base_tr_cur_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+D260B7

ff7rebirth_.exe+D2608E: 48 C1 E1 04           - shl rcx,04
ff7rebirth_.exe+D26092: 48 81 C1 48 04 00 00  - add rcx,00000448
ff7rebirth_.exe+D26099: 49 03 CD              - add rcx,r13
ff7rebirth_.exe+D2609C: 0F 85 A1 77 C4 01     - jne ff7rebirth_.exe+296D843
ff7rebirth_.exe+D260A2: 41 8B C8              - mov ecx,r8d
ff7rebirth_.exe+D260A5: 89 4D D4              - mov [rbp-2C],ecx
ff7rebirth_.exe+D260A8: 45 84 DB              - test r11b,r11b
ff7rebirth_.exe+D260AB: 0F 84 A2 77 C4 01     - je ff7rebirth_.exe+296D853
ff7rebirth_.exe+D260B1: 44 38 46 42           - cmp [rsi+42],r8b
ff7rebirth_.exe+D260B5: 75 12                 - jne ff7rebirth_.exe+D260C9
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+D260B7: 41 8B 46 0C           - mov eax,[r14+0C]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+D260BB: 2B C1                 - sub eax,ecx
ff7rebirth_.exe+D260BD: 41 0F 48 C0           - cmovs eax,r8d
ff7rebirth_.exe+D260C1: 85 C0                 - test eax,eax
ff7rebirth_.exe+D260C3: 0F 8E 82 77 C4 01     - jng ff7rebirth_.exe+296D84B
ff7rebirth_.exe+D260C9: 45 8B EC              - mov r13d,r12d
ff7rebirth_.exe+D260CC: 41 8A 46 02           - mov al,[r14+02]
ff7rebirth_.exe+D260D0: 4C 8D 8E 58 01 00 00  - lea r9,[rsi+00000158]
ff7rebirth_.exe+D260D7: 88 45 58              - mov [rbp+58],al
ff7rebirth_.exe+D260DA: 8B 86 60 01 00 00     - mov eax,[rsi+00000160]
ff7rebirth_.exe+D260E0: 41 3B 41 34           - cmp eax,[r9+34]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>96</ID>
          <Description>"Usage: Open item menu -&gt; trading currencies"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>188</ID>
          <Description>"Enable before click on menu"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>97</ID>
          <Description>"#1"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>98</ID>
          <Description>"#2"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+8</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>99</ID>
          <Description>"#3"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+10</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>100</ID>
          <Description>"#4"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+18</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>101</ID>
          <Description>"#5"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+20</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>102</ID>
          <Description>"#6"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+28</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>103</ID>
          <Description>"#7"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+30</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>104</ID>
          <Description>"#8"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_tr_cur_addr+38</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>105</ID>
      <Description>"When get new item..."</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>106</ID>
          <Description>"Last got new materia (serial 600xxx)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-05
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_NEW_MATERIA,$process,89 4F 08 49 8B 44 24 08) // should be unique
alloc(newmem,$1000,INJECT_NEW_MATERIA)

label(code)
label(return i_base_new_materia_addr1 i_new_m_idx)

newmem:
  push r15
  push r14
  mov r15, i_base_new_materia_addr1
  mov r14, [i_new_m_idx]
  lea r15, [r15+r14*8]
  mov [r15], rdi
  inc qword ptr [i_new_m_idx]
  cmp qword ptr [i_new_m_idx], 4
  jb endp
  mov qword ptr [i_new_m_idx], 0

endp:
  pop r14
  pop r15


code:
  mov [rdi+08],ecx
  mov rax,[r12+08]
  jmp return
align 10 cc
  i_base_new_materia_addr1:
  dq 0 0 0 0
  i_new_m_idx:
  dq 0

INJECT_NEW_MATERIA:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_NEW_MATERIA i_base_new_materia_addr1 i_new_m_idx)

[DISABLE]

INJECT_NEW_MATERIA:
  db 89 4F 08 49 8B 44 24 08

unregistersymbol(INJECT_NEW_MATERIA i_base_new_materia_addr1 i_new_m_idx)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+3F1F5FE

ff7rebirth_.exe+3F1F5D9: 7E 0A              - jle ff7rebirth_.exe+3F1F5E5
ff7rebirth_.exe+3F1F5DB: 8B D3              - mov edx,ebx
ff7rebirth_.exe+3F1F5DD: 48 8B CE           - mov rcx,rsi
ff7rebirth_.exe+3F1F5E0: E8 77 3D 8A FC     - call ff7rebirth_.exe+7C335C
ff7rebirth_.exe+3F1F5E5: 48 8B 0E           - mov rcx,[rsi]
ff7rebirth_.exe+3F1F5E8: BE 01 00 00 00     - mov esi,00000001
ff7rebirth_.exe+3F1F5ED: 8B 47 04           - mov eax,[rdi+04]
ff7rebirth_.exe+3F1F5F0: 89 04 99           - mov [rcx+rbx*4],eax
ff7rebirth_.exe+3F1F5F3: 49 8B 44 24 08     - mov rax,[r12+08]
ff7rebirth_.exe+3F1F5F8: 8B 88 44 01 00 00  - mov ecx,[rax+00000144]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+3F1F5FE: 89 4F 08           - mov [rdi+08],ecx
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+3F1F601: 49 8B 44 24 08     - mov rax,[r12+08]
ff7rebirth_.exe+3F1F606: 8A 88 6A 01 00 00  - mov cl,[rax+0000016A]
ff7rebirth_.exe+3F1F60C: 88 4F 02           - mov [rdi+02],cl
ff7rebirth_.exe+3F1F60F: 49 8B CF           - mov rcx,r15
ff7rebirth_.exe+3F1F612: 89 77 0C           - mov [rdi+0C],esi
ff7rebirth_.exe+3F1F615: E8 0E 4E 59 FD     - call ff7rebirth_.exe+14B4428
ff7rebirth_.exe+3F1F61A: 89 47 10           - mov [rdi+10],eax
ff7rebirth_.exe+3F1F61D: 49 8D 4F 08        - lea rcx,[r15+08]
ff7rebirth_.exe+3F1F621: 48 0F BE 07        - movsx rax,byte ptr [rdi]
ff7rebirth_.exe+3F1F625: 48 8D 54 24 30     - lea rdx,[rsp+30]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>107</ID>
              <Description>"next store position"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_new_m_idx</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>108</ID>
              <Description>"#0"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>109</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>110</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>111</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>M.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>112</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>113</ID>
              <Description>"#1"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>114</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+8</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>115</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+8</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>116</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>M.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+8</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>117</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+8</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>118</ID>
              <Description>"#2"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>119</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+10</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>120</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+10</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>121</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>M.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+10</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>122</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+10</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>123</ID>
              <Description>"#3"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>124</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+18</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>125</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+18</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>126</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>M.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+18</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>127</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_materia_addr1+18</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>128</ID>
          <Description>"Last got new equip (serial 300xxx)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_NEW_EQUIPS,$process,41 89 46 08 41 8A 87 6A 01 00 00 41 88) // should be unique
alloc(newmem,$1000,INJECT_GET_NEW_EQUIPS)

label(code)
label(return i_base_new_equip_addr1 i_new_equip_idx)

newmem:
  push r15
  push r14
  mov r15, i_base_new_equip_addr1
  mov r14, [i_new_equip_idx]
  lea r15, [r15+r14*8]
  mov [r15], r14
  inc qword ptr [i_new_equip_idx]
  cmp qword ptr [i_new_equip_idx], 4
  jb endp
  mov qword ptr [i_new_equip_idx], 0

endp:
  pop r14
  pop r15

code:
  mov [r14+08],eax
  mov al,[r15+0000016A]
  jmp return
align 10 cc
  i_base_new_equip_addr1:
  dq 0 0 0 0
  i_new_equip_idx:
  dq 0

INJECT_GET_NEW_EQUIPS:
  jmp newmem
  nop 6
return:
registersymbol(INJECT_GET_NEW_EQUIPS i_base_new_equip_addr1 i_new_equip_idx)

[DISABLE]

INJECT_GET_NEW_EQUIPS:
  db 41 89 46 08 41 8A 87 6A 01 00 00

unregistersymbol(INJECT_GET_NEW_EQUIPS i_base_new_equip_addr1 i_new_equip_idx)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+143B69A

ff7rebirth_.exe+143B66E: 89 04 99                 - mov [rcx+rbx*4],eax
ff7rebirth_.exe+143B671: 33 D2                    - xor edx,edx
ff7rebirth_.exe+143B673: C7 44 24 50 01 00 00 00  - mov [rsp+50],00000001
ff7rebirth_.exe+143B67B: 48 8D 4C 24 48           - lea rcx,[rsp+48]
ff7rebirth_.exe+143B680: E8 EF ED 3F FF           - call ff7rebirth_.exe+83A474
ff7rebirth_.exe+143B685: 48 8B 44 24 48           - mov rax,[rsp+48]
ff7rebirth_.exe+143B68A: 41 8B 4E 04              - mov ecx,[r14+04]
ff7rebirth_.exe+143B68E: 89 08                    - mov [rax],ecx
ff7rebirth_.exe+143B690: 48 8B CE                 - mov rcx,rsi
ff7rebirth_.exe+143B693: 41 8B 87 44 01 00 00     - mov eax,[r15+00000144]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+143B69A: 41 89 46 08              - mov [r14+08],eax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+143B69E: 41 8A 87 6A 01 00 00     - mov al,[r15+0000016A]
ff7rebirth_.exe+143B6A5: 41 88 46 02              - mov [r14+02],al
ff7rebirth_.exe+143B6A9: 41 C7 46 0C 01 00 00 00  - mov [r14+0C],00000001
ff7rebirth_.exe+143B6B1: E8 82 56 42 00           - call ff7rebirth_.exe+1860D38
ff7rebirth_.exe+143B6B6: 41 89 46 10              - mov [r14+10],eax
ff7rebirth_.exe+143B6BA: 48 8D 4E 08              - lea rcx,[rsi+08]
ff7rebirth_.exe+143B6BE: 49 0F BE 06              - movsx rax,byte ptr [r14]
ff7rebirth_.exe+143B6C2: 48 8D 54 24 68           - lea rdx,[rsp+68]
ff7rebirth_.exe+143B6C7: 48 8D 1C 80              - lea rbx,[rax+rax*4]
ff7rebirth_.exe+143B6CB: 48 C1 E3 04              - shl rbx,04
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>129</ID>
              <Description>"next store position"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_new_equip_idx</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>130</ID>
              <Description>"#0"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>131</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>132</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>133</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>134</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>135</ID>
              <Description>"#1"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>136</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+8</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>137</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+8</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>138</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+8</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>139</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+8</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>140</ID>
              <Description>"#2"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>141</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+10</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>142</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+10</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>143</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+10</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>144</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+10</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>145</ID>
              <Description>"#3"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>146</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+18</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>147</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+18</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>148</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+18</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>149</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_equip_addr1+18</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>150</ID>
          <Description>"Last got new items (serial 100xxx)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-04
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_NEW_ITEM_GET,$process,41 89 46 08 41 8A 87 6A 01 00 00 41 89) // should be unique
alloc(newmem,$1000,INJECT_NEW_ITEM_GET)

label(code)
label(return i_base_new_item_addr1 i_new_n_item_idx)

newmem:
  push r15
  push r13
  mov r15, i_base_new_item_addr1
  mov r13, [i_new_n_item_idx]
  lea r15, [r15+r13*8]
  mov [r15], r14
  inc qword ptr [i_new_n_item_idx]
  cmp qword ptr [i_new_n_item_idx], 4
  jb endp
  mov qword ptr [i_new_n_item_idx], 0

endp:
  pop r13
  pop r15

code:
  //mov [rbx+08],eax
  //mov al,[r15+0000016A]
  mov [r14+08],eax
  mov al,[r15+0000016A]
  jmp return
align 10 cc
  i_base_new_item_addr1:
  dq 0 0 0 0
  i_new_n_item_idx:
  dq 0


INJECT_NEW_ITEM_GET:
  jmp newmem
  nop 6
return:
registersymbol(INJECT_NEW_ITEM_GET i_base_new_item_addr1 i_new_n_item_idx)

[DISABLE]

INJECT_NEW_ITEM_GET:
  db 41 89 46 08 41 8A 87 6A 01 00 00

unregistersymbol(INJECT_NEW_ITEM_GET i_base_new_item_addr1 i_new_n_item_idx)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+143AFE7

ff7rebirth_.exe+143AFB8: 33 D2                    - xor edx,edx
ff7rebirth_.exe+143AFBA: C7 44 24 50 01 00 00 00  - mov [rsp+50],00000001
ff7rebirth_.exe+143AFC2: 48 8D 4C 24 48           - lea rcx,[rsp+48]
ff7rebirth_.exe+143AFC7: E8 A8 F4 3F FF           - call ff7rebirth_.exe+83A474
ff7rebirth_.exe+143AFCC: 48 8B 44 24 48           - mov rax,[rsp+48]
ff7rebirth_.exe+143AFD1: 48 8D 54 24 58           - lea rdx,[rsp+58]
ff7rebirth_.exe+143AFD6: 41 8B 4E 04              - mov ecx,[r14+04]
ff7rebirth_.exe+143AFDA: 89 08                    - mov [rax],ecx
ff7rebirth_.exe+143AFDC: 41 8B 87 44 01 00 00     - mov eax,[r15+00000144]
ff7rebirth_.exe+143AFE3: 8B 4C 24 40              - mov ecx,[rsp+40]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+143AFE7: 41 89 46 08              - mov [r14+08],eax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+143AFEB: 41 8A 87 6A 01 00 00     - mov al,[r15+0000016A]
ff7rebirth_.exe+143AFF2: 41 89 4E 0C              - mov [r14+0C],ecx
ff7rebirth_.exe+143AFF6: 48 8D 0D 23 A5 DE 07     - lea rcx,[ff7rebirth_.exe+9225520]
ff7rebirth_.exe+143AFFD: 41 88 46 02              - mov [r14+02],al
ff7rebirth_.exe+143B001: 41 8B 87 44 01 00 00     - mov eax,[r15+00000144]
ff7rebirth_.exe+143B008: 89 44 24 58              - mov [rsp+58],eax
ff7rebirth_.exe+143B00C: E8 67 BF 76 FF           - call ff7rebirth_.exe+BA6F78
ff7rebirth_.exe+143B011: 84 C0                    - test al,al
ff7rebirth_.exe+143B013: 75 0C                    - jne ff7rebirth_.exe+143B021
ff7rebirth_.exe+143B015: 48 8B CE                 - mov rcx,rsi
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>151</ID>
              <Description>"next store position"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_new_n_item_idx</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>152</ID>
              <Description>"#0"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>153</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>154</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>155</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>156</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>157</ID>
              <Description>"#1"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>158</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+8</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>159</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+8</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>160</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+8</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>161</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+8</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>162</ID>
              <Description>"#2"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>163</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+10</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>164</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+10</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>165</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+10</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>166</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+10</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>167</ID>
              <Description>"#3"</Description>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>168</ID>
                  <Description>"Unknown"</Description>
                  <ShowAsHex>1</ShowAsHex>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+18</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>169</ID>
                  <Description>"Serial/uid"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+18</Address>
                  <Offsets>
                    <Offset>4</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>170</ID>
                  <Description>"ID"</Description>
                  <DropDownListLink>I.ID</DropDownListLink>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+18</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>171</ID>
                  <Description>"Qty"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>FF8080</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>i_base_new_item_addr1+18</Address>
                  <Offsets>
                    <Offset>C</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>172</ID>
      <Description>"Get item list"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_ITEM_ADDR_LIST,$process,41 8B 56 04 48 81 C1 B8 00 00 00) // should be unique
alloc(newmem,$5000,INJECT_GET_ITEM_ADDR_LIST)

label(code)
label(return)
label(i_base_items_addr_1 i_item_cnt_low_limit i_item_cnt_high_limit i_item_cnt i_item_id_filter)

newmem:
  push r15
  push r13
  push rcx
  xor r13, r13

loop1:
  mov r15, i_base_items_addr_1
  lea r15, [r15+r13*8]
  cmp qword ptr [r15], r14
  je endp

  cmp qword ptr [r15], 0
  je write_it

  inc r13
  cmp r13, #1000
  ja endp
  jmp loop1

write_it:
  mov [r15], r14
  jmp endp

endp:
  dec r13
  mov [i_item_cnt], r13
  pop rcx
  pop r13
  pop r15

code:
  mov edx,[r14+04]
  add rcx,000000B8
  jmp return
align 10 cc
  i_base_items_addr_1:
  dq 0
  i_item_cnt_low_limit:
  dd 1
  i_item_cnt_high_limit:
  dd 63
  i_item_id_filter:
  dd 0
  i_item_cnt:
  dq 0
  align 10 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 10 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0

INJECT_GET_ITEM_ADDR_LIST:
  jmp newmem
  nop 6
return:
registersymbol(INJECT_GET_ITEM_ADDR_LIST)
registersymbol(i_base_items_addr_1 i_item_cnt_low_limit i_item_cnt_high_limit i_item_cnt i_item_id_filter)

[DISABLE]

INJECT_GET_ITEM_ADDR_LIST:
  db 41 8B 56 04 48 81 C1 B8 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+2428718

ff7rebirth_.exe+24286F6: 48 83 C3 08           - add rbx,08
ff7rebirth_.exe+24286FA: 83 FF 0F              - cmp edi,0F
ff7rebirth_.exe+24286FD: 7C E1                 - jl ff7rebirth_.exe+24286E0
ff7rebirth_.exe+24286FF: EB 10                 - jmp ff7rebirth_.exe+2428711
ff7rebirth_.exe+2428701: 48 63 C7              - movsxd  rax,edi
ff7rebirth_.exe+2428704: 48 8D 54 24 70        - lea rdx,[rsp+70]
ff7rebirth_.exe+2428709: 48 8D 4C 24 20        - lea rcx,[rsp+20]
ff7rebirth_.exe+242870E: FF 14 C6              - call qword ptr [rsi+rax*8]
ff7rebirth_.exe+2428711: 49 8B 0F              - mov rcx,[r15]
ff7rebirth_.exe+2428714: 4D 8D 46 04           - lea r8,[r14+04]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+2428718: 41 8B 56 04           - mov edx,[r14+04]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+242871C: 48 81 C1 B8 00 00 00  - add rcx,000000B8
ff7rebirth_.exe+2428723: 8B 9D 30 01 00 00     - mov ebx,[rbp+00000130]
ff7rebirth_.exe+2428729: E8 1E A0 70 FE        - call ff7rebirth_.exe+B3274C
ff7rebirth_.exe+242872E: 4D 8D 46 08           - lea r8,[r14+08]
ff7rebirth_.exe+2428732: 89 18                 - mov [rax],ebx
ff7rebirth_.exe+2428734: 49 8B 0F              - mov rcx,[r15]
ff7rebirth_.exe+2428737: 41 8B 56 08           - mov edx,[r14+08]
ff7rebirth_.exe+242873B: 48 81 C1 08 01 00 00  - add rcx,00000108
ff7rebirth_.exe+2428742: 0F B6 9D 70 01 00 00  - movzx ebx,byte ptr [rbp+00000170]
ff7rebirth_.exe+2428749: E8 FE 9F 70 FE        - call ff7rebirth_.exe+B3274C
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>173</ID>
          <Description>"Usage: Open item menu after script enabled"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>174</ID>
          <Description>"re-enable when held-item changed"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>175</ID>
          <Description>"addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_items_addr_1</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>189</ID>
          <Description>"count"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_item_cnt</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>176</ID>
          <Description>"Amount filter, low limit:"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_item_cnt_low_limit</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>177</ID>
          <Description>"Amount filter, high limit:"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_item_cnt_high_limit</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>190</ID>
          <Description>"item ID filter (0=none), ignore amount filters"</Description>
          <DropDownListLink>I.ID</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_item_id_filter</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>178</ID>
          <Description>"Generate item list"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">[ENABLE]
{$lua}
if syntaxcheck then return end
closeLuaEngine2()
local baseSymbol = "i_base_items_addr_1"
local parentName = "+Inventory (do not delete this)"
local addressList = getAddressList()

-- 顏色設定
local evenColor = 0xFF8000 -- 水藍
local grayColor = 0x7F7F7F -- 灰
local quantity_color = 0x007FFF
local id_color = 0x007FAF

-- 讀取地址清單起點
local listStartAddr = getAddressSafe(baseSymbol)
if not listStartAddr then
  print("cannot find symbol：" .. baseSymbol)
  return
end

-- 讀取過濾參數
local itemQtyFilterLow  = readInteger("i_item_cnt_low_limit")
local itemQtyFilterHigh = readInteger("i_item_cnt_high_limit") -- 修正讀取 symbol
local itemIDFilter      = readInteger("i_item_id_filter")

-- 檢查參數是否讀取成功
if not itemQtyFilterLow or not itemQtyFilterHigh or not itemIDFilter then
  error("one of the symbols are invalid: i_item_cnt_low_limit, i_item_cnt_high_limit, i_item_id_filter")
end

local maxItems = 1600 --max cap 2000
local index = 0
local color_index = 0

synchronize(function()
  -- 取得或建立 parent node
  local parentRecord = addressList.getMemoryRecordByDescription(parentName)
  if not parentRecord then
    parentRecord = addressList.createMemoryRecord()
    parentRecord.Description = parentName
    parentRecord.IsGroupHeader = true
    parentRecord.Options = "[moHideChildren]"
  end

  while index &lt; maxItems do
    local itemAddr = readQword(listStartAddr + index * 8)
    if not itemAddr or itemAddr == 0 then break end

    -- 讀取當前物品的 ID 與 數量
    local currentItemID = readInteger(itemAddr + 8)
    local currentItemQty = readInteger(itemAddr + 12)

    -- 過濾邏輯核心
    local shouldShow = false

    if itemIDFilter ~= 0 then
        -- 模式 A: 指定 ID 模式 (不看數量)
        if currentItemID == itemIDFilter then
            shouldShow = true
        end
    else
        -- 模式 B: 數量範圍模式 (itemIDFilter 為 0 時觸發)
        if currentItemQty and currentItemQty &gt;= itemQtyFilterLow and currentItemQty &lt;= itemQtyFilterHigh then
            shouldShow = true
        end
    end

    -- 如果符合條件，則建立 UI 節點
    if shouldShow then
      local mainChild = addressList.createMemoryRecord()
      mainChild.Description = string.format("Item[%d]", index)
      mainChild.Address = string.format("%X", itemAddr)
      mainChild.Vartype = vtDword
      mainChild.Parent = parentRecord
      mainChild.Color = (color_index % 2 == 1) and evenColor or grayColor

      -- 建立子項目 (簡化顯示)
      local function addSubItem(desc, offset, vtype, isHex, color, dropdown)
          local rec = addressList.createMemoryRecord()
          rec.Description = desc
          rec.Address = string.format("%X", itemAddr + offset)
          rec.Vartype = vtype
          rec.ShowAsHex = isHex
          rec.Parent = mainChild
          if color then rec.Color = color end
          if dropdown then
              rec.DropDownLinkedMemrec = dropdown
              rec.DropDownLinked = true
          end
          return rec
      end

      addSubItem("Unknown", 0, vtDword, true)
      addSubItem("Serial/uid", 4, vtDword, false)
      addSubItem("ID", 8, vtDword, false, id_color, "I.ID")
      addSubItem("ID (hex)", 8, vtDword, true, id_color)
      addSubItem("Quantity", 12, vtDword, false, quantity_color)
      addSubItem("Category serial?", 16, vtDword, false)

      color_index = color_index + 1
    end
    index = index + 1
  end
end)

print("Process finished. Scanned " .. index .. " items.")
closeLuaEngine()

[DISABLE]
{$lua}
if syntaxcheck then return end

local parentName = "+Inventory (do not delete this)"
local addressList = getAddressList()

synchronize(function()
  local parentRecord = addressList.getMemoryRecordByDescription(parentName)
  if parentRecord then
    parentRecord.Active = false
    for i = addressList.Count - 1, 0, -1 do
      local child = addressList[i]
      if child.Parent == parentRecord then
        child.delete()
      end
    end
  else
    print("⚠️ Parent record not found: " .. parentName)
  end
end)
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>179</ID>
          <Description>"+Inventory (do not delete this)"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>180</ID>
      <Description>"Get materia XP data"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2025-05-03
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_MATERIA_DETAILS,$process,41 39 00 75 03) // should be unique
alloc(newmem,$3000,INJECT_GET_MATERIA_DETAILS)

aobscanmodule(INJECT_GET_MATERIA_MASTER,$process,8B 56 04 48 8B CB E8 FF) // should be unique
alloc(newmem_master,$3000,INJECT_GET_MATERIA_MASTER)

label(code)
label(return i_base_materias_addr_1 i_materia_id_filter)

label(code_master)
label(return_master i_base_materias_master_addr_1)

newmem:
  push r15
  push r13
  push rcx
  xor r13, r13

loop1:
  mov r15, i_base_materias_addr_1
  lea r15, [r15+r13*8]
  cmp qword ptr [r15], r8
  je endp

  cmp qword ptr [r15], 0
  je write_it

  inc r13
  cmp r13, #1000
  ja endp
  jmp loop1

write_it:
  mov [r15], r8
  jmp endp

endp:
  pop rcx
  pop r13
  pop r15

code:
  cmp [r8],eax
  reassemble(INJECT_GET_MATERIA_DETAILS+3)
  //jne ff7rebirth_.exe+242898C
  jmp return

align 10 cc
  i_materia_id_filter:
  dd 0
  dd 0 0 0
  i_base_materias_addr_1:
  dq 0
  align 10 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0

INJECT_GET_MATERIA_DETAILS:
  jmp newmem
return:
registersymbol(INJECT_GET_MATERIA_DETAILS i_base_materias_addr_1 i_materia_id_filter)

  // ****************************************************************
  // ****************************************************************

newmem_master:
  push r15
  push r13
  push rcx
  xor r13, r13

loop_master:
  mov r15, i_base_materias_master_addr_1
  lea r15, [r15+r13*8]
  cmp qword ptr [r15], rsi
  je endp_master

  cmp qword ptr [r15], 0
  je write_it_master

  inc r13
  cmp r13, #1000
  ja endp_master
  jmp loop_master

write_it_master:
  mov [r15], rsi
  jmp endp_master

endp_master:
  pop rcx
  pop r13
  pop r15


code_master:
  mov edx,[rsi+04]
  mov rcx,rbx
  jmp return_master
align 10 cc
  i_base_materias_master_addr_1:
  dq 0
  align 10 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0
  align 100 0
  db 0

INJECT_GET_MATERIA_MASTER:
  jmp newmem_master
  nop
return_master:

registersymbol(INJECT_GET_MATERIA_MASTER i_base_materias_master_addr_1)

[DISABLE]

INJECT_GET_MATERIA_DETAILS:
  db 41 39 00 75 03

INJECT_GET_MATERIA_MASTER:
  db 8B 56 04 48 8B CB

unregistersymbol(INJECT_GET_MATERIA_DETAILS i_base_materias_addr_1 i_materia_id_filter)
dealloc(newmem)

unregistersymbol(INJECT_GET_MATERIA_MASTER i_base_materias_master_addr_1)
dealloc(newmem_master)

{
// Detail
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+2428984

ff7rebirth_.exe+242896D: CC           - int 3 
ff7rebirth_.exe+242896E: CC           - int 3 
ff7rebirth_.exe+242896F: CC           - int 3 
ff7rebirth_.exe+2428970: 4C 8B 02     - mov r8,[rdx]
ff7rebirth_.exe+2428973: 4D 85 C0     - test r8,r8
ff7rebirth_.exe+2428976: 74 14        - je ff7rebirth_.exe+242898C
ff7rebirth_.exe+2428978: 0F B6 01     - movzx eax,byte ptr [rcx]
ff7rebirth_.exe+242897B: 41 38 40 14  - cmp [r8+14],al
ff7rebirth_.exe+242897F: 75 0B        - jne ff7rebirth_.exe+242898C
ff7rebirth_.exe+2428981: 8B 41 04     - mov eax,[rcx+04]
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+2428984: 41 39 00     - cmp [r8],eax
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+2428987: 75 03        - jne ff7rebirth_.exe+242898C
ff7rebirth_.exe+2428989: B0 01        - mov al,01
ff7rebirth_.exe+242898B: C3           - ret 
ff7rebirth_.exe+242898C: 32 C0        - xor al,al
ff7rebirth_.exe+242898E: C3           - ret 
ff7rebirth_.exe+242898F: CC           - int 3 
ff7rebirth_.exe+2428990: 4C 8B 02     - mov r8,[rdx]
ff7rebirth_.exe+2428993: 0F B6 01     - movzx eax,byte ptr [rcx]
ff7rebirth_.exe+2428996: 41 38 00     - cmp [r8],al
ff7rebirth_.exe+2428999: 75 18        - jne ff7rebirth_.exe+24289B3
}

{
// master
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+296D802

ff7rebirth_.exe+296D7E2: 48 1B D2        - sbb rdx,rdx
ff7rebirth_.exe+296D7E5: 48 23 D0        - and rdx,rax
ff7rebirth_.exe+296D7E8: 74 08           - je ff7rebirth_.exe+296D7F2
ff7rebirth_.exe+296D7EA: 44 38 62 02     - cmp [rdx+02],r12b
ff7rebirth_.exe+296D7EE: 45 0F 45 C4     - cmovne r8d,r12d
ff7rebirth_.exe+296D7F2: 8D 47 01        - lea eax,[rdi+01]
ff7rebirth_.exe+296D7F5: 45 84 C0        - test r8b,r8b
ff7rebirth_.exe+296D7F8: 0F 44 C7        - cmove eax,edi
ff7rebirth_.exe+296D7FB: 8B F8           - mov edi,eax
ff7rebirth_.exe+296D7FD: E9 3C 86 3B FE  - jmp ff7rebirth_.exe+D25E3E
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+296D802: 8B 56 04        - mov edx,[rsi+04]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+296D805: 48 8B CB        - mov rcx,rbx
ff7rebirth_.exe+296D808: E8 FF 8A 6A 01  - call ff7rebirth_.exe+401630C
ff7rebirth_.exe+296D80D: 8D 4F 01        - lea ecx,[rdi+01]
ff7rebirth_.exe+296D810: 84 C0           - test al,al
ff7rebirth_.exe+296D812: 0F 44 CF        - cmove ecx,edi
ff7rebirth_.exe+296D815: 8B F9           - mov edi,ecx
ff7rebirth_.exe+296D817: E9 22 86 3B FE  - jmp ff7rebirth_.exe+D25E3E
ff7rebirth_.exe+296D81C: 44 8B 46 0C     - mov r8d,[rsi+0C]
ff7rebirth_.exe+296D820: 48 8B CB        - mov rcx,rbx
ff7rebirth_.exe+296D823: 8B 56 04        - mov edx,[rsi+04]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>181</ID>
          <Description>"Usage: Open materia menu, browse *ALL* materias"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>182</ID>
          <Description>"addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_materias_addr_1</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>191</ID>
          <Description>"Materia ID filter (0=none)"</Description>
          <DropDownListLink>M.ID</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_materia_id_filter</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>183</ID>
          <Description>"Generate materia XP list"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">[ENABLE]
{$lua}
if syntaxcheck then return end
closeLuaEngine2()
local baseSymbol = "i_base_materias_addr_1"
local masterSymbol = "i_base_materias_master_addr_1"
local parentName = "+Materias (do not delete this)"
local addressList = getAddressList()

-- 顏色設定
local evenColor = 0xFF8000 -- 水藍
local grayColor = 0x7F7F7F -- 灰
local quantity_color = 0x007FFF
local id_color = 0x007FAF
local lv_color = 0x00AFCF

-- 開始讀取地址清單
local listStartAddr = getAddressSafe(baseSymbol)
if not listStartAddr then
  print("cannot find symbol：" .. baseSymbol)
  return
end

-- 檢查 master 資料表地址
local masterListAddr = getAddressSafe(masterSymbol)
if not masterListAddr then
  print("cannot find symbol：" .. masterSymbol)
  return
end

-- 讀取過濾 ID
local itemMateriaIDFilter = readInteger("i_materia_id_filter")
if not itemMateriaIDFilter then
  error("Invalid value for i_materia_id_filter")
end

-- Helper function: 在 master 資料表中尋找 Serial/uid 對應的 Linked ID
local function findLinkedID(serialUID)
  local maxMasterRecords = 10000  -- 最大搜尋筆數

  for i = 0, maxMasterRecords - 1 do
    -- 先讀取指標位址 [i_base_materias_master_addr_1 + i*8]
    local recordPtr = readQword(masterListAddr + (i * 8))
    if not recordPtr or recordPtr == 0 then
      -- 指標為空，結束搜尋
      return nil
    end

    -- offset+2: 檢查是否為結尾標記 (0xFF)
    local marker = readBytes(recordPtr + 2, 1, true)
    if not marker or marker[1] == 0xFF then
      -- 到達資料結尾，未找到
      return nil
    end

    -- offset+4: 讀取 4 bytes UID 進行比對
    local masterUID = readInteger(recordPtr + 4)
    if masterUID == serialUID then
      -- 找到匹配，讀取 offset+8 的 Linked ID (4 bytes)
      local linkedID = readInteger(recordPtr + 8)
      return linkedID, recordPtr + 8  -- 返回值和實際地址
    end
  end

  -- 遍歷完成但未找到
  return nil, nil
end

local maxItems = 1000
local index = 0
local displayCount = 0 -- 用於控制顏色交替與統計顯示數量

synchronize(function()
  -- 取得或建立 parent node
  local parentRecord = addressList.getMemoryRecordByDescription(parentName)
  if not parentRecord then
    parentRecord = addressList.createMemoryRecord()
    parentRecord.Description = parentName
    parentRecord.IsGroupHeader = true
    parentRecord.Options = "[moHideChildren]"
  end

  -- 遍歷地址清單
  while index &lt; maxItems do
    local itemAddr = readQword(listStartAddr + index * 8)
    if not itemAddr or itemAddr == 0 then break end

    -- 讀取當前項目的 ID (ptr+4)
    local currentID = readInteger(itemAddr + 4)

    -- 過濾邏輯判斷
    local shouldShow = false
    if itemMateriaIDFilter == 0 then
        shouldShow = true -- Filter 為 0 時顯示全部
    elseif currentID == itemMateriaIDFilter then
        shouldShow = true -- 符合 ID 時顯示
    end

    if shouldShow then
        local mainChild = addressList.createMemoryRecord()
        mainChild.Description = string.format("Materia[%d]", index)
        mainChild.Address = string.format("%X", itemAddr)
        mainChild.Vartype = vtDword
        mainChild.ShowAsHex = false
        mainChild.Parent = parentRecord
        -- 使用 displayCount 確保顏色交替正確
        mainChild.Color = (displayCount % 2 == 1) and evenColor or grayColor

        -- Serial/uid (ptr+0)
        local serialUID = readInteger(itemAddr)  -- 讀取 Serial/uid 值
        local serial = addressList.createMemoryRecord()
        serial.Description = "Serial/uid"
        serial.Address = string.format("%X", itemAddr)
        serial.Vartype = vtDword
        serial.ShowAsHex = false
        serial.Parent = mainChild

        -- ID (ptr+4)
        local itemid = addressList.createMemoryRecord()
        itemid.Description = "ID"
        itemid.Address = string.format("%X", itemAddr+4)
        itemid.Vartype = vtDword
        itemid.Color = id_color
        itemid.ShowAsHex = false
        itemid.Parent = mainChild
        itemid.DropDownLinkedMemrec = "M.ID"
        itemid.DropDownLinked = true

        -- **新增：Linked ID (從 master 資料表查找)**
        local linkedID, linkedIDAddr = findLinkedID(serialUID)
        local linkedIDRecord = addressList.createMemoryRecord()
        if linkedID and linkedIDAddr then
          -- 找到對應的 Linked ID，使用實際地址
          linkedIDRecord.Description = "Linked ID (same as ID)"
          linkedIDRecord.Address = string.format("%X", linkedIDAddr)
          linkedIDRecord.Vartype = vtDword
          linkedIDRecord.Color = id_color
          linkedIDRecord.ShowAsHex = false
          linkedIDRecord.Parent = itemid
          linkedIDRecord.DropDownLinkedMemrec = "M.ID"
          linkedIDRecord.DropDownLinked = true
        else
          -- 未找到：提示用戶瀏覽所有資料
          linkedIDRecord.Description = "Please browse all materia data"
          linkedIDRecord.Address = "0"
          linkedIDRecord.Vartype = vtString
          linkedIDRecord.Color = 0x0000FF  -- 紅色警告
          linkedIDRecord.Parent = mainChild
        end

        -- EXP (ptr+8)
        local itemexp = addressList.createMemoryRecord()
        itemexp.Description = "EXP"
        itemexp.Address = string.format("%X", itemAddr+8)
        itemexp.Vartype = vtDword
        itemexp.Color = quantity_color
        itemexp.ShowAsHex = false
        itemexp.Parent = mainChild

        -- Lv (ptr+10) - 注意：原程式碼偏移是 +16
        local item_lv = addressList.createMemoryRecord()
        item_lv.Description = "Lv"
        item_lv.Address = string.format("%X", itemAddr+16)
        item_lv.Vartype = vtByte
        item_lv.Color = lv_color
        item_lv.ShowAsHex = false
        item_lv.Parent = mainChild

        -- Equipped (ptr+11) - 注意：原程式碼偏移是 +17
        local item_bond_to = addressList.createMemoryRecord()
        item_bond_to.Description = "Equipped"
        item_bond_to.Address = string.format("%X", itemAddr+17)
        item_bond_to.Vartype = vtByte
        item_bond_to.ShowAsHex = false
        item_bond_to.DropDownLinkedMemrec = "Char. ID"
        item_bond_to.DropDownLinked = true
        item_bond_to.Parent = mainChild

        displayCount = displayCount + 1
    end

    index = index + 1
  end
end)

print(string.format("Scan finished. Found %d materias, showing %d matching items.", index, displayCount))
closeLuaEngine()

[DISABLE]
{$lua}
if syntaxcheck then return end

local parentName = "+Materias (do not delete this)"
local addressList = getAddressList()

synchronize(function()
  local parentRecord = addressList.getMemoryRecordByDescription(parentName)
  if parentRecord then
    parentRecord.Active = false
    for i = addressList.Count - 1, 0, -1 do
      local child = addressList[i]
      if child.Parent == parentRecord then
        child.delete()
      end
    end
  else
    print("⚠️ Parent record not found: " .. parentName)
  end
end)
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>260</ID>
              <Description>"Quit and re-enter item menu to verify changes, if needed"</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>184</ID>
          <Description>"+Materias (do not delete this)"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>206</ID>
      <Description>"misc"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>204</ID>
          <Description>"Get chocobo weed quest amount (ch. 11)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ff7rebirth_.exe
  Version: 
  Date   : 2026-01-14
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_CHOCOBO_WEED_AMT,$process,8B 00 EB 99 CC) // should be unique
alloc(newmem,$1000,INJECT_GET_CHOCOBO_WEED_AMT)

label(code)
label(return i_base_cho_weed_quest_amt_addr)

newmem:
  mov [i_base_cho_weed_quest_amt_addr], rax

code:
  mov eax,[rax]
  //jmp ff7rebirth_.exe+AF4BC0
  reassemble(INJECT_GET_CHOCOBO_WEED_AMT+2)
  int 3 
  jmp return
align 10 cc
  i_base_cho_weed_quest_amt_addr:
  dq 0

INJECT_GET_CHOCOBO_WEED_AMT:
  jmp newmem
return:
registersymbol(INJECT_GET_CHOCOBO_WEED_AMT i_base_cho_weed_quest_amt_addr)

[DISABLE]

INJECT_GET_CHOCOBO_WEED_AMT:
  db 8B 00 EB 99 CC

unregistersymbol(INJECT_GET_CHOCOBO_WEED_AMT i_base_cho_weed_quest_amt_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ff7rebirth_.exe+AF4C23

ff7rebirth_.exe+AF4BFA: 48 85 FF              - test rdi,rdi
ff7rebirth_.exe+AF4BFD: 48 8D 4C 24 30        - lea rcx,[rsp+30]
ff7rebirth_.exe+AF4C02: 41 B8 01 00 00 00     - mov r8d,00000001
ff7rebirth_.exe+AF4C08: 48 0F 45 DF           - cmovne rbx,rdi
ff7rebirth_.exe+AF4C0C: 48 8B D3              - mov rdx,rbx
ff7rebirth_.exe+AF4C0F: E8 84 D6 D8 FF        - call ff7rebirth_.exe+882298
ff7rebirth_.exe+AF4C14: 48 8B 4C 24 30        - mov rcx,[rsp+30]
ff7rebirth_.exe+AF4C19: E8 BA F9 76 00        - call ff7rebirth_.exe+12645D8
ff7rebirth_.exe+AF4C1E: 48 85 C0              - test rax,rax
ff7rebirth_.exe+AF4C21: 74 9A                 - je ff7rebirth_.exe+AF4BBD
// ---------- INJECTING HERE ----------
ff7rebirth_.exe+AF4C23: 8B 00                 - mov eax,[rax]
// ---------- DONE INJECTING  ----------
ff7rebirth_.exe+AF4C25: EB 99                 - jmp ff7rebirth_.exe+AF4BC0
ff7rebirth_.exe+AF4C27: CC                    - int 3 
ff7rebirth_.exe+AF4C28: 40 53                 - push rbx
ff7rebirth_.exe+AF4C2A: B8 20 00 00 00        - mov eax,00000020
ff7rebirth_.exe+AF4C2F: E8 FC A2 5B 01        - call ff7rebirth_.exe+20AEF30
ff7rebirth_.exe+AF4C34: 48 2B E0              - sub rsp,rax
ff7rebirth_.exe+AF4C37: 49 63 C0              - movsxd  rax,r8d
ff7rebirth_.exe+AF4C3A: 48 8B DA              - mov rbx,rdx
ff7rebirth_.exe+AF4C3D: 4C 8D 05 1C 44 81 05  - lea r8,[ff7rebirth_.exe+6309060]
ff7rebirth_.exe+AF4C44: 4D 8B 04 C0           - mov r8,[r8+rax*8]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>205</ID>
              <Description>"amount (do not edit)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_cho_weed_quest_amt_addr</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>185</ID>
      <Description>"Final Fantasy VII Rebirth  /  https://opencheattables.com"</Description>
      <Options moHideChildren="1"/>
      <Color>00A200</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>186</ID>
          <Description>"."</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>187</ID>
              <Description>"I.ID"</Description>
              <DropDownList DisplayValueAsItem="1">2:Moogle Medals
3:Golden Plum
11:Golden Point
100:Potion
101:Hi-Potion
102:Mega-Potion
103:Giga-Potion
104:X-Potion
105:Mixed Potion
106:Mixed Hi-Potion
107:Mist Potion
108:Mist Hi-Potion
109:Mist Mega-Potion
110:Mist Giga-Potion
111:Ether
112:Hi-Ether
113:Dry Ether
114:Turbo Ether
115:Elilxir
116:Phoenix Down
117:Phoenix Draft
118:Maiden's Kiss
119:Antidote
120:SMelling Salts
121:Echo Mist
122:Gold Needle
123:Adrenaline
124:Sedative
125:Remedy
126:Celeris
127:Grenade
128:Armor-Piecing Grenade
129:Hazardous Material
130:Spiderweb
131:blank
132:Molotov Cocktail
133:Orb of Gravity
134:blank
135:blank
136:blank
137:Cushion
300:Sage
301:Oregano
302:Saint Luche Leaf
303:Pearl Ginger Root
304:Marjoram
321:Iron Ore
322:Zinc Ore
323:Chromite Ore
324:Lea Titanium
325:Tourmaline
326:Amethyst
327:Moss Agate
328:Crimsonite Crystal
329:Moonstone
330:Mythril Ore
331:Numinous Ashes
332:Cosmotite Ore
333:Gold Dust
341:341:Timer
342:Ancient Bark
343:Dinvine Heartwood
344:Mellow Oak
345:Condor Cedar
346:Sycamore Wood
347:Gongaga Pine
348:Baobab Wood
349:Ash Wood
350:Laurel
351:Mist Seeds
361:Beast Pelt
362:Exquisite Beast Hide
381:Beast Bone
382:Exquisite Beast Spine
401:Planet's Blessing
402:Planet's Favor
403:Planet's Benison
404:Planet's Splendor
405:Ether Onion
406:Planet's Mercy
407:Planet's Spirit
421:Ruby
422:Emerald
423:Sapphire
431:Beast Talon
432:Astral Remnant
433:Slimy Malboro Tendril
434:Heavy Jabberwock Horn
435:Argen King Zu Feather
491:Quetzalcoatl Talon
492:Mindflayer Crown
493:Tonberry King's Robe
494:Great Malboro Tendril
495:Jabberwock Horn
496:King Zu Feather
497: Sinister Quetzalcoatl Talon
498:Vile Mindflayer Crown
499:Tonberry King's Wretch Robe
500:Gold Talon
501:Burnished Crown
502:Respledent Robe
503:Gilded Tentacle
504:Aureate Horn
505:Lustrous Feather
506:Dark Matter
507:Pirate's Relic alpha
508:Pirate's Relic beta
509:Pirate's Relic gamma
510:Pirate's Relic delta
511:Pirate Jetsam
99999999:====Weapons====
1001:Buster Sword
1002:Sleek Saber
1003:Rune Saber
1004:Umbral Blade
1005:Crystal Sword
1006:Igneous Saber
1007:Slipstream Saber
1008:Gatling Gun
1009:Hi-Caliber Rifle
1010:Barrage Blaster
1011:Vulcan Cannon
1012:Fafnir Rifle
1013:Calamitous Bazooka
1014:Battle Cry
1015:Leather Gloves
1016:Sylph Gloves
1017:Kaiser Knuckles
1018:Dragon Claws
1019:Tiger Fangs
1020:Crystal Gloves
1021:Jarngreipr
1022:Guard Stick
1023:Timless Rod
1024:Empress's Scepter
1025:Wizard's Rod
1026:Ceremonial Staff
1027:Plumose Rod
1028:Gambanteinn
1029:Mythril Collar
1030:Regegade's Collar
1031:Silver Collar
1032:Amethyst Collar
1033:Golden Collar
1034:Mystic Collar
1035:Brisingamen
1036:4-Point Shuriken
1037:Savage Dagger
1038:Twin Viper
1039:Bird of Prey
1040:Cresent Sickle
1041:Crystalline Cross
1042:Fuma Shuriken
1043:Yellow Megaphone
1044:Iron Megaphone
1045:Red Megaphone
1046:Resounding Megaphone
1047:Crystal Megaphone
1048:Golden Megaphone
1049:Gjallarhorn
1050:Masamune
99999999:====Equipments====
2000:Metal Bracer
2001:Leather Bangle
2004:Copper Bracer
2005:Hunter's Bangle
2006:Bone Bracelet
2007:Woodsprite Armlet
2008:Enhanced Copper Bracer
2009:Enhanced Hunter's Bangle
2010:Enhanced Bone Bracelet
2011:Enhanced Woodsprite Armlet
2013:Owl Bracer
2014:Beastman Armband
2020:Sailor's Bracer
2021:Elphadunk Bangle
2022:Wisefox Bracelet
2023:Gold Coral Armlet
2024:Enhanced Sailor's Bracer
2025:Enhanced Elphadunk Bangle
2026:Enhanced Wisefox Bracelet
2027:Enhanced Gold Coral Armlet
2029:Queensguard Bangle
2030:Warmage's Armband
2036:Fortress Bracer
2037:Abyssal Bangle
2038:Oldbeast Bracelet
2039:Beguiling Armlet
2040:Enhanced Fortress Bracer
2041:Enhanced Abyssal Bangle
2042:Enhanced Oldebeast Bracelet
2043:Enhanced Beguiling Armlet
2047:Illusionist's Armband
2052:Crucible Bracer
2053:Outlaw Bangle
2054:Crocodile Bracelet
2055:Witch's Armlet
2056:Enhanced Crucible Bracer
2057:Enhanced Outlaw Bangle
2058:Enhanced Crocodile Bracelet
2059:Enhanced Witch's Armlet
2060:Sage Armband
2061:Big Horn Bracelet
2068:Commander's Bracer
2069:Road Warrior Bangle
2070:Snailshell Bracelet
2071:Spiritbound Armlet
2072:Enhanced Commander's Bracer
2073:Enhanced Road Warrior Bangle
2074:Enhanced Snailshell Bracelet
2075:Enhanced Spiritbound Armlet
2077:Backbone Bracelet
2078:Celestial Bangle
2084:Resplendent Bracer
2085:Garm Bangle
2086:Varvados Bracelet
2087:Yggdrasill Armlet
2088:Enhanced Resplendent Bracer
2089:Enhanced Garm Bangle
2090:Enhanced Varvados Bracelet
2091:Enhanced Yggdrasill Armlet
2093:Valkyrian Bangle
2094:Hades Armlet
2100:Cetran Armlet
2101:Cetran Bangle
2102:Cetram Armband
2103:Cetran Armlet 2
2104:Chocobo Armband
2105:Midgar Bangle Mk. II
2106:Orchid Bracelet
2107:Shinra Bangle Mk. II
3022:Sylkis Greens (ch. 8 event item)
3042:ch. 7 event item (max 8)
3060:Chocobo weed (ch. 11 / do not edit)
3072:ch. 9 ore (quest item)
3074:ch. 9 mushroom (quest item)
3075:ch. 9 salt (quest item)
3516:rust iron plate (quest key item)
3517:old nail (quest key item)
3956:Skill book / Barret vol. 1 / 射擊手冊 vol. 1
3989:Skill book / Aerith vol. 2 / 星之神秘書 vol. 2
4004:Skill book / Red XIII vol 1 / 紅色戰士傳記 vol. 1
9017:Power Wristguards
9018:Bullerproof Vest
9019:Earrubgs
9020:Talisman
9021:Headband
9022:Star Pendant
9023:Fury Ring
9024:Revival Earrings
9025:Whistlewind Scarf
9026:Mythical Amulet
9027:Healing Carcanet
9029:Transference Module
9030:Spectral Cogwheel
9031:Moogle's Amulet
9032:Enfeeblement Ring
9033:Crescent Moon Charm
9034:Champion Belt
9035:Protective Boots
9036:Circlet
9037:Tarot Cards
9038:Otherworldly Crystal
9039:Salvation Badge
9040:Enchanted Ring
9041:Supernatural Wristguards
9042:Survival Vest
9043:Platinum Earrings
9044:Timeworn Talisman
9045:Gotterdammerung
9049:Ribbon
9061:Hi-Power Wristguards
9062:Bulletproof Vest Mk.II
9063:Magical Earrings
9064:Talisman of Focus
9065:Full Throttle WRistguard
9066:Riot Vest
9067:Sorcerer's Earrings
9068:Cetra Talisman
9069:Jeweled Ring
9070:White Cape
9071:Genji Gloves
9072:Aureate Pinion
9073:Lucky Amulet
9074:Fortutude Ring
9075:Safety Bit
9076:Noble Thief's Gloves
9077:Karmic Cowl
9078:Expeditionary Medal
9079:Psychic's Charm
9080:Draconic Ring
9081:Malboro Orb
9082:Speed Demon Keychain
9083:Pedometer Pin
9084:Gi Warrior's Charm
9085:Cameraderie Earrings
9086:Genji Earring
9087:Genji Ring
9088:Silver Brawler's Gloves
9089:Golden Brawler's Gloves
9090:Space Ranger Service Medal
9091:Space Ranger Medal of Honor
9092:Hermes Shoes
9093:Chocoking's Cape
9094:Beastkiller Badge
9095:Boxcrusher keychain
9096:Assess Materia Earrings
9097:Revival Materia Earrings
9098:HP UP Materia Earrings
9105:Limit Booster
9108:Chakra Matera Earrings
9109:Prayer Materia Earrings
9110:MP UP Materia Earrings
9111:Luck UP Materia Earrings
9112:Steadfast Block Materia Earrings
9113:Item Master Materia Earrings
9114:Precision Defense Focus Materia Earrings
9115:Fire Materia Earrings
9116:Ice Materia Earrings
9117:Lightning Materia Earrings
9118:Wind Materia Earrings
9119:Healing Materia Earrings
9120:Cleansing Materia Earrings
9121:Poison Materia Earrings
9122:Binding Materia Earrings
9123:Time Materia Earrings
9124:Barrier Materia Earrings
9125:Subversion Materia Earrings
9126:Empowerment Materia Earrings
9127:Fortification Materia Earrings
9128:Disempowerment Materia Earrings
9129:Enervation Materia Earrings
9130:Enhanced Camaraderie Earrings
9131:Enhanced Psychic's Charm
9132:Enhanced Karmic Cowl
9133:Enhanced Malboro Orb
9134:Enahnced Draconic Ring
9135:Enhanced Expeditionary Medal
9136:Corsair's Compass
9137:Kupo Charm
9138:Reclaimant Choker
99999999:====Materia====
10001:Healing
10002:Cleansing
10003:Revival
10004:Fire
10005:Ice
10006:Lightning
10007:Wind
10008:Poison
10009:Binding
10010:Time
10011:Barrier
10012:Subversion
10017:Petrify
10018:Gravity
10019:Comet
10020:Empowerment
10021:Fortification
10022:Disempowerment
10023:Enervation
10024:Fire and Ice
10025:Lightning and Wind
10026:Poison and Petrify
10027:Reraise
11001:Magnify
11002:Elemental
11003:Warding
11004:HP Absorption
11005:MP Absorption
11006:Synergy
11007:AP Up
11008:Magic Focus
11009:Magic Efficiency
11010:Swiftcast
11011:Auto-Cast
11012:Level Boost
12001:Steal
12002:Assess
12003:Enemy Skill
12004:Chakra
12005:Prayer
12006:ATB Boost
12101:Morph
12102:Spare Change
12103:Item Economizer
12104:Limit Siphon
12105:Jump
12106:Darkside
12107:Gambler
13001:HP Up
13002:MP Up
13003:Magic Up
13004:Luck Up
13005:Gil Up
13006:EXP Up
13007:Item Master
13008:ATB Stagger
13009:First Strike
13010:Steadfast Block
13011:Skill Master
13014:ATB Assist
13016:Provoke
13101:HP&lt;-&gt;MP
13102:ATK&lt;-&gt;MATK
13103:VIT&lt;-&gt;SPR
13104:Limit Support
13105:Speed Up
13106:Strength Up
13107:Spirit Up
13108:Vitality Up
13109:Auto-Unique Ability
13110:Auto-Weapon Ability
13111:Precision Defense
13112:Synergy Support
14001:Chocobo &amp; Moogle
14002:Shiva
14003:Ifrit
14004:Leviathan
14010:Ramuh
14011:Titan
14012:Phoenix
14013:Alexander
14014:Kujata
14015:Bahamut Arisen
14016:Odin
14017:Gilgamesh
14018:Posh Chocobo
14019:Magic Pot
14020:Moogle Trio
</DropDownList>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>192</ID>
              <Description>"M.ID"</Description>
              <DropDownList DisplayValueAsItem="1">0:None
10001:Healing
10002:Cleansing
10003:Revival
10004:Fire
10005:Ice
10006:Lightning
10007:Wind
10008:Poison
10009:Binding
10010:Time
10011:Barrier
10012:Subversion
10017:Petrify
10018:Gravity
10019:Comet
10020:Empowerment
10021:Fortification
10022:Disempowerment
10023:Enervation
10024:Fire and Ice
10025:Lightning and Wind
10026:Poison and Petrify
10027:Reraise
11001:Magnify
11002:Elemental
11003:Warding
11004:HP Absorption
11005:MP Absorption
11006:Synergy
11007:AP Up
11008:Magic Focus
11009:Magic Efficiency
11010:Swiftcast
11011:Auto-Cast
11012:Level Boost
12001:Steal
12002:Assess
12003:Enemy Skill
12004:Chakra
12005:Prayer
12006:ATB Boost
12101:Morph
12102:Spare Change
12103:Item Economizer
12104:Limit Siphon
12105:Jump
12106:Darkside
12107:Gambler
13001:HP Up
13002:MP Up
13003:Magic Up
13004:Luck Up
13005:Gil Up
13006:EXP Up
13007:Item Master
13008:ATB Stagger
13009:First Strike
13010:Steadfast Block
13011:Skill Master
13014:ATB Assist
13016:Provoke
13101:HP&lt;-&gt;MP
13102:ATK&lt;-&gt;MATK
13103:VIT&lt;-&gt;SPR
13104:Limit Support
13105:Speed Up
13106:Strength Up
13107:Spirit Up
13108:Vitality Up
13109:Auto-Unique Ability
13110:Auto-Weapon Ability
13111:Precision Defense
13112:Synergy Support
14001:Chocobo &amp; Moogle
14002:Shiva
14003:Ifrit
14004:Leviathan
14010:Ramuh
14011:Titan
14012:Phoenix
14013:Alexander
14014:Kujata
14015:Bahamut Arisen
14016:Odin
14017:Gilgamesh
14018:Posh Chocobo
14019:Magic Pot
14020:Moogle Trio
</DropDownList>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>--[[
[ENABLE]
{$lua}
if syntaxcheck then return end
]]--
-- **デバッグモードの設定 (デフォルト: 無効)**
local debugMode = false

-- AOBScanModule関数
if not AOBScanModule then
    function AOBScanModule(moduleName, signature, scanOptions)
        local baseAddr = nil
        local maxAddr = 0
        local modList

        synchronize(function()
            modList = enumModules()
        end)

        for _, mod in ipairs(modList) do
            if string.lower(mod.Name) == string.lower(moduleName) then
                baseAddr = mod.Address
                maxAddr = baseAddr + mod.Size
                break
            end
        end

        if not baseAddr then
            if debugMode then print("❗ Error: Module " .. moduleName .. " not found!") end
            return nil
        end

        if debugMode then
            print(string.format("✔️ %s Base Address: 0x%X", moduleName, baseAddr))
            print(string.format("🔬 Scanning Range: 0x%X - 0x%X", baseAddr, maxAddr))
        end

        local ms = createMemScan()

        synchronize(function()
            ms.firstScan(
                soExactValue,
                vtByteArray,
                nil,
                signature,
                nil,
                baseAddr,
                maxAddr,
                scanOptions or "+X+R",
                fsmNotAligned,
                "1",
                true,
                true,
                false,
                false
            )
        end)

        ms.waitTillDone()

        local results = createFoundList(ms)
        results.initialize()

        local addr
        synchronize(function()
            if results.getCount() &gt; 0 then
                addr = results[0]
            end
        end)

        if addr then
            if debugMode then print("🔦 AOB found at: 0x" .. addr) end
        else
            if debugMode then print("💔 AOB not found in " .. moduleName) end
        end

        results.destroy()
        ms.destroy()
        return addr
    end
end

registerLuaFunctionHighlight('AOBScanModule')

--[[
test AOBScanModule()
local aob_addr_str = AOBScanModule("???.exe", "48 8B 05 ?? ?? ?? ?? 33 ED 48 8B 88", "+X+R")
if aob_addr_str then
    print("🔦 Final AOB Address: 0x" .. aob_addr_str)
else
    print("💔 AOB not found in ???.exe")
end
]]--

-- Lua scripts that table checkbox will not be checked with "NO_ACTIVATE" in comment/script body
if not onMemRecPostExecute then
    function onMemRecPostExecute(memoryrecord, newState, succeeded)
        if memoryrecord.Type == vtAutoAssembler and memoryrecord.Script:find("NO_ACTIVATE") and newState and succeeded then
            synchronize(function()
                memoryrecord.disableWithoutExecute()
            end)
        end
    end
end

-- Memory record IDs now allowed to be 'locked'
IDs = {999999, 9999999}

-- Determine event trigger sequence
if not contains then
    function contains(table, val)
       for i = 1, #table do
          if table[i] == val then
             return true
          end
       end
       return false
    end
end

if not onMemRecPreExecute then
    function onMemRecPreExecute(memoryrecord, newstate)
        if contains(IDs, memoryrecord.ID) and newstate then
            synchronize(function()
                if not memoryrecord.OnActivate then
                    memoryrecord.OnActivate = function(memoryrecord, before, currentstate)
                        return false
                    end
                end
            end)
        end
    end
end

-- Utility Functions
-- Clear lua engine log
if not clearLuaLog then
    function clearLuaLog()
        synchronize(function()
          getLuaEngine().MenuItem5.doClick()
        end)
    end
end
registerLuaFunctionHighlight('clearLuaLog')

-- Close lua engine log
if not closeLuaEngine then
    function closeLuaEngine()
        synchronize(function()
          getLuaEngine().Close()
        end)
    end
end
registerLuaFunctionHighlight('closeLuaEngine')

-- Clear lua engine log &amp; close lua engine
if not closeLuaEngine2 then
    function closeLuaEngine2()
        synchronize(function()
          getLuaEngine().MenuItem5.doClick()
          getLuaEngine().Close()
        end)
    end
end
registerLuaFunctionHighlight('closeLuaEngine2')

if not getProcessNameFromPID then
	function getProcessNameFromPID(pid)
	  local sl = createStringList()
	  getProcessList(sl)
	  local hexPid = string.format("%X", pid):upper()

	  for i = 0, sl.Count - 1 do
		local entry = sl[i]
		local hexid, name = entry:match("^(%x+)%-(.+)$")
		if hexid and name then
		  if tonumber(hexid, 16) == pid then
			return name
		  end
		end
	  end
	  return "(unknown)"
	end
end
registerLuaFunctionHighlight('getProcessNameFromPID')

if not printProcessInfo then
	function printProcessInfo()
	  local pid = getOpenedProcessID()
	  local name = getProcessNameFromPID(pid)
	  print(string.format("📎 Attached to process: %s (PID: %d / 0x%X)", name, pid, pid))
	end
end
registerLuaFunctionHighlight('printProcessInfo')

if not dumpProcessListAndFindPID then
	function dumpProcessListAndFindPID()
	  local pid = getOpenedProcessID()
	  print(string.format("💭 Current PID: %d / 0x%X", pid, pid))

	  local sl = createStringList()
	  getProcessList(sl)

	  print("🧾 Dumping process list:")
	  for i = 0, sl.Count - 1 do
		local entry = sl[i]
		print(string.format("[%d] %s", i, entry))

		-- 嘗試解析並比對 PID
		local name, hexid = entry:match("(.+)%-(%x+)$")
		if name and hexid then
		  local parsed = tonumber(hexid, 16)
		  if parsed == pid then
			print("🔦 Match found in process list:")
			print(string.format("Name: %s | PID: %s (0x%s)", name, parsed, hexid))
		  end
		end
	  end
	end
end
registerLuaFunctionHighlight('dumpProcessListAndFindPID')

if not toHex32 then
	function toHex32(num)
		local hexstr = "0123456789ABCDEF"
		local result = ""
		if num &lt; 0 then
			num = (num + (1 &lt;&lt; 32)) % (1 &lt;&lt; 32) -- 轉成32-bit補數
		end
		for i = 1, 8 do -- 32-bit 一共8個hex位
			local n = num &amp; 0xF -- 取最低4 bit
			result = hexstr:sub(n + 1, n + 1) .. result
			num = num &gt;&gt; 4 -- 右移4 bit
		end
		return result
	end
end
registerLuaFunctionHighlight('toHex32')

if not toHex then
	function toHex(num)
		local hexstr = "0123456789ABCDEF"
		local result = ""
		if num &lt; 0 then
			num = (num + (1 &lt;&lt; 64)) % (1 &lt;&lt; 64)  -- 轉成64-bit補數
		end
		for i = 1, 16 do -- 每4 bit 一個 hex字，64-bit總共16個hex位
			local n = num &amp; 0xF -- 取最低4bit
			result = hexstr:sub(n + 1, n + 1) .. result
			num = num &gt;&gt; 4 -- 右移4bit
		end
		return result
	end
end	
registerLuaFunctionHighlight('toHex')

synchronize(function() AddressList.Header.OnSectionClick = nil end)
--[[
[DISABLE]
{$lua}

if AOBScanModule then
    AOBScanModule = nil
end
if onMemRecPostExecute then
    onMemRecPostExecute = nil
end
if onMemRecPreExecute then
    onMemRecPreExecute = nil
end
if clearLuaLog then
    clearLuaLog = nil
end
if closeLuaEngine then
    closeLuaEngine = nil
end
if closeLuaEngine2 then
    closeLuaEngine2 = nil
end
]]--
</LuaScript>
</CheatTable>
