<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>32</ID>
      <Description>"Compact mode"</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)
        mainMenu.add(compactViewMenuItem)
        compactViewMenuItem.Caption = 'Compact View Mode'
        compactViewMenuItem.OnClick = toggleCompactView
    end)

    isCompactMenuCreated = true
end
end

createCompactViewMenu()
toggleCompactView(nil, true)

[DISABLE]
{$lua}
if toggleCompactView then
    toggleCompactView(nil, false)
end

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>136</ID>
      <Description>"Turn some scripts On/Off"</Description>
      <Color>0080FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">[ENABLE]
{$lua}
if (syntaxcheck) then return end
synchronize(function()
  getLuaEngine().menuItem5.doClick()
  getLuaEngine().Close()
end)

local enableBattleScripts = {
  107, -- "VM Card game: Low enemy master HP"
  108, -- "VM Card game: full mana"
  114, -- "Battle: Master Quartz EXP multiplier"
  119, -- "Battle: inf. item amount when use"
  126, -- "Battle: EXP multiplier"
  140, -- "Battle: Order cost 0 BP"
  142, -- "Fast fishing"
  153, -- "Battle: Link EXP multiplier"
  17, -- "Battle: inf. CP"
  19, -- "Battle: inf. EP"
  20, -- "Get Sepiths"
  32, -- "Compact mode"
  36, -- "Battle: Break multiplier"
  45, -- "Map: set min. charge"
  47, -- "Set min. Sepiths"
  5, -- "Battle: Damage multiplier"
  54, -- "Battle: set min. breavery pt."
  57, -- "戦歷 / Get battle records"
  78, -- "Item scripts"
  81, -- "総合成績 / Get main sheet stats"
  143, -- "Data+"
  40, -- "Set item # to 80, if &gt;=2"
  41, -- "Drop/equip item: set # to 80"
}
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 = {
  96, -- "Instant fishing"
  41, -- "Drop/equip item: set # to 80"
  40, -- "Set item # to 80, if &gt;=2"
  143, -- "Data+"
  139, -- "Battle: Order cost 0 BP"
  109, -- "_debug"
  81, -- "総合成績 / Get main sheet stats"
  78, -- "Item scripts"
  57, -- "戦歷 / Get battle records"
  54, -- "Battle: set min. breavery pt."
  5, -- "Battle: Damage multiplier"
  47, -- "Set min. Sepiths"
  45, -- "Map: set min. charge"
  36, -- "Battle: Break multiplier"
  32, -- "Compact mode"
  30, -- "英雄伝説 閃の軌跡III  /  https://opencheattables.com  /  CE 7.5+"
  20, -- "Get Sepiths"
  19, -- "Battle: inf. EP"
  170, -- "Selected equipped item ID"
  17, -- "Battle: inf. CP"
  158, -- "Get equipped Quartz"
  153, -- "Battle: Link EXP multiplier"
  145, -- "Battle: set min. EXP bonus"
  142, -- "Fast fishing"
  140, -- "Battle: Order cost 0 BP"
  126, -- "Battle: EXP multiplier"
  119, -- "Battle: inf. item amount when use"
  114, -- "Battle: Master Quartz EXP multiplier"
  108, -- "VM Card game: full mana"
  107, -- "VM Card game: Low enemy master HP"
}
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)

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>17</ID>
      <Description>"Battle: inf. CP"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-27
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_CP,$process,0F B7 83 70 03 00 00 33) // should be unique
alloc(newmem,$1000,INJECT_INF_CP)

aobscanmodule(INJECT_INF_CP2,$process,66 89 93 70 03 00 00) // should be unique
alloc(newmem2,$1000,INJECT_INF_CP2)

label(code)
label(return)

label(code2)
label(return2)

newmem:
  cmp byte ptr [rbx+360], 0
  jne code
  mov ax, [rbx+00000372]
  mov [rbx+00000372], ax

code:
  movzx eax,word ptr [rbx+00000370]
  jmp return

INJECT_INF_CP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_INF_CP)


newmem2:
  cmp byte ptr [rbx+360], 0
  jne code2
  mov dx, [rbx+00000372]
code2:
  mov [rbx+00000370],dx
  jmp return2

INJECT_INF_CP2:
  jmp newmem2
  nop 2
return2:
registersymbol(INJECT_INF_CP2)
[DISABLE]

INJECT_INF_CP:
  db 0F B7 83 70 03 00 00

INJECT_INF_CP2:
  db 66 89 93 70 03 00 00

unregistersymbol(INJECT_INF_CP)
dealloc(newmem)

unregistersymbol(INJECT_INF_CP2)
dealloc(newmem2)
{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+152DB4

ed8_3_PC_JP.exe+152D89: 74 29                          - je ed8_3_PC_JP.exe+152DB4
ed8_3_PC_JP.exe+152D8B: 0F 1F 44 00 00                 - nop dword ptr [rax+rax+00]
ed8_3_PC_JP.exe+152D90: 0F B7 93 32 04 00 00           - movzx edx,word ptr [rbx+00000432]
ed8_3_PC_JP.exe+152D97: 48 8B 4B 08                    - mov rcx,[rbx+08]
ed8_3_PC_JP.exe+152D9B: E8 20 15 04 00                 - call ed8_3_PC_JP.exe+1942C0
ed8_3_PC_JP.exe+152DA0: 48 85 C0                       - test rax,rax
ed8_3_PC_JP.exe+152DA3: 74 0F                          - je ed8_3_PC_JP.exe+152DB4
ed8_3_PC_JP.exe+152DA5: F7 80 60 03 00 00 00 00 20 00  - test [rax+00000360],00200000
ed8_3_PC_JP.exe+152DAF: 48 8B D8                       - mov rbx,rax
ed8_3_PC_JP.exe+152DB2: 75 DC                          - jne ed8_3_PC_JP.exe+152D90
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+152DB4: 0F B7 83 70 03 00 00           - movzx eax,word ptr [rbx+00000370]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+152DBB: 33 C9                          - xor ecx,ecx
ed8_3_PC_JP.exe+152DBD: 0F B7 93 72 03 00 00           - movzx edx,word ptr [rbx+00000372]
ed8_3_PC_JP.exe+152DC4: 2B C7                          - sub eax,edi
ed8_3_PC_JP.exe+152DC6: 85 C0                          - test eax,eax
ed8_3_PC_JP.exe+152DC8: 0F 4F C8                       - cmovg ecx,eax
ed8_3_PC_JP.exe+152DCB: 3B CA                          - cmp ecx,edx
ed8_3_PC_JP.exe+152DCD: 66 0F 4C D1                    - cmovl dx,cx
ed8_3_PC_JP.exe+152DD1: 66 89 93 70 03 00 00           - mov [rbx+00000370],dx
ed8_3_PC_JP.exe+152DD8: 48 8B 5C 24 30                 - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+152DDD: 48 83 C4 20                    - add rsp,20
}


{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+152DD1

ed8_3_PC_JP.exe+152DB2: 75 DC                 - jne ed8_3_PC_JP.exe+152D90
INJECT_INF_CP: E9 47 D2 E6 FF        - jmp 13FFC0000
ed8_3_PC_JP.exe+152DB9: 66 90                 - nop 2
ed8_3_PC_JP.exe+152DBB: 33 C9                 - xor ecx,ecx
ed8_3_PC_JP.exe+152DBD: 0F B7 93 72 03 00 00  - movzx edx,word ptr [rbx+00000372]
ed8_3_PC_JP.exe+152DC4: 2B C7                 - sub eax,edi
ed8_3_PC_JP.exe+152DC6: 85 C0                 - test eax,eax
ed8_3_PC_JP.exe+152DC8: 0F 4F C8              - cmovg ecx,eax
ed8_3_PC_JP.exe+152DCB: 3B CA                 - cmp ecx,edx
ed8_3_PC_JP.exe+152DCD: 66 0F 4C D1           - cmovl dx,cx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+152DD1: 66 89 93 70 03 00 00  - mov [rbx+00000370],dx
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+152DD8: 48 8B 5C 24 30        - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+152DDD: 48 83 C4 20           - add rsp,20
ed8_3_PC_JP.exe+152DE1: 5F                    - pop rdi
ed8_3_PC_JP.exe+152DE2: C3                    - ret
ed8_3_PC_JP.exe+152DE3: CC                    - int 3
ed8_3_PC_JP.exe+152DE4: CC                    - int 3
ed8_3_PC_JP.exe+152DE5: CC                    - int 3
ed8_3_PC_JP.exe+152DE6: CC                    - int 3
ed8_3_PC_JP.exe+152DE7: CC                    - int 3
ed8_3_PC_JP.exe+152DE8: CC                    - int 3
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>19</ID>
      <Description>"Battle: inf. EP"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-27
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_EP,$process,0F B7 83 6C 03 00 00) // should be unique
alloc(newmem,$1000,INJECT_INF_EP)

label(code)
label(return)

newmem:
  cmp byte ptr [rbx+360], 0
  jne code

  mov ax, [rbx+0000036E]
  mov [rbx+0000036C], ax

  xor edi, edi

code:
  movzx eax,word ptr [rbx+0000036C]
  jmp return

INJECT_INF_EP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_INF_EP)

[DISABLE]

INJECT_INF_EP:
  db 0F B7 83 6C 03 00 00

unregistersymbol(INJECT_INF_EP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+152F34

ed8_3_PC_JP.exe+152F09: 74 29                          - je ed8_3_PC_JP.exe+152F34
ed8_3_PC_JP.exe+152F0B: 0F 1F 44 00 00                 - nop dword ptr [rax+rax+00]
ed8_3_PC_JP.exe+152F10: 0F B7 93 32 04 00 00           - movzx edx,word ptr [rbx+00000432]
ed8_3_PC_JP.exe+152F17: 48 8B 4B 08                    - mov rcx,[rbx+08]
ed8_3_PC_JP.exe+152F1B: E8 A0 13 04 00                 - call ed8_3_PC_JP.exe+1942C0
ed8_3_PC_JP.exe+152F20: 48 85 C0                       - test rax,rax
ed8_3_PC_JP.exe+152F23: 74 0F                          - je ed8_3_PC_JP.exe+152F34
ed8_3_PC_JP.exe+152F25: F7 80 60 03 00 00 00 00 20 00  - test [rax+00000360],00200000
ed8_3_PC_JP.exe+152F2F: 48 8B D8                       - mov rbx,rax
ed8_3_PC_JP.exe+152F32: 75 DC                          - jne ed8_3_PC_JP.exe+152F10
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+152F34: 0F B7 83 6C 03 00 00           - movzx eax,word ptr [rbx+0000036C]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+152F3B: 33 C9                          - xor ecx,ecx
ed8_3_PC_JP.exe+152F3D: 0F B7 93 6E 03 00 00           - movzx edx,word ptr [rbx+0000036E]
ed8_3_PC_JP.exe+152F44: 2B C7                          - sub eax,edi
ed8_3_PC_JP.exe+152F46: 85 C0                          - test eax,eax
ed8_3_PC_JP.exe+152F48: 0F 4F C8                       - cmovg ecx,eax
ed8_3_PC_JP.exe+152F4B: 3B CA                          - cmp ecx,edx
ed8_3_PC_JP.exe+152F4D: 66 0F 4C D1                    - cmovl dx,cx
ed8_3_PC_JP.exe+152F51: 66 89 93 6C 03 00 00           - mov [rbx+0000036C],dx
ed8_3_PC_JP.exe+152F58: 48 8B 5C 24 30                 - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+152F5D: 48 83 C4 20                    - add rsp,20
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>145</ID>
      <Description>"Battle: set min. EXP bonus"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-31
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_EXP_BONUS,$process,F3 0F 58 86 90 02 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_MIN_EXP_BONUS)

label(code)
label(return)
label(vf_min_exp_bonus)

newmem:
  vmovss xmm15, [rsi+00000290]
  vmovss xmm14, [vf_min_exp_bonus]
  vucomiss xmm15, xmm14
  jae code
  vmovss [rsi+00000290], xmm14

code:
  addss xmm0,[rsi+00000290]
  jmp return
align 10 cc
  vf_min_exp_bonus:
  dd (float)1.4

INJECT_SET_MIN_EXP_BONUS:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SET_MIN_EXP_BONUS)
registersymbol(vf_min_exp_bonus)

[DISABLE]

INJECT_SET_MIN_EXP_BONUS:
  db F3 0F 58 86 90 02 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+1C324F

ed8_3_PC_JP.exe+1C3221: 0F B6 48 08                    - movzx ecx,byte ptr [rax+08]
ed8_3_PC_JP.exe+1C3225: 48 8B 50 08                    - mov rdx,[rax+08]
ed8_3_PC_JP.exe+1C3229: 83 E1 01                       - and ecx,01
ed8_3_PC_JP.exe+1C322C: 48 2B D1                       - sub rdx,rcx
ed8_3_PC_JP.exe+1C322F: 48 8B CE                       - mov rcx,rsi
ed8_3_PC_JP.exe+1C3232: E8 39 5C 00 00                 - call ed8_3_PC_JP.exe+1C8E70
ed8_3_PC_JP.exe+1C3237: FE 84 2B 94 02 00 00           - inc byte ptr [rbx+rbp+00000294]
ed8_3_PC_JP.exe+1C323E: 48 8D 0C 5E                    - lea rcx,[rsi+rbx*2]
ed8_3_PC_JP.exe+1C3242: C6 84 0B 95 02 00 00 00        - mov byte ptr [rbx+rcx+00000295],00
ed8_3_PC_JP.exe+1C324A: F3 0F 10 47 10                 - movss xmm0,[rdi+10]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+1C324F: F3 0F 58 86 90 02 00 00        - addss xmm0,[rsi+00000290]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+1C3257: 0F 2F 05 1A 1E 63 00           - comiss xmm0,[ed8_3_PC_JP.exe+7F5078]
ed8_3_PC_JP.exe+1C325E: F3 0F 11 86 90 02 00 00        - movss [rsi+00000290],xmm0
ed8_3_PC_JP.exe+1C3266: 76 0A                          - jna ed8_3_PC_JP.exe+1C3272
ed8_3_PC_JP.exe+1C3268: C7 86 90 02 00 00 66 66 1E 41  - mov [rsi+00000290],411E6666
ed8_3_PC_JP.exe+1C3272: 0F B6 47 08                    - movzx eax,byte ptr [rdi+08]
ed8_3_PC_JP.exe+1C3276: 4C 8D 05 4B 1B 63 00           - lea r8,[ed8_3_PC_JP.exe+7F4DC8]
ed8_3_PC_JP.exe+1C327D: 48 8B 5F 08                    - mov rbx,[rdi+08]
ed8_3_PC_JP.exe+1C3281: 48 8D 4C 24 30                 - lea rcx,[rsp+30]
ed8_3_PC_JP.exe+1C3286: 83 E0 01                       - and eax,01
ed8_3_PC_JP.exe+1C3289: BA 00 04 00 00                 - mov edx,00000400
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>146</ID>
          <Description>"min. bonus"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_min_exp_bonus</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>153</ID>
      <Description>"Battle: Link EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-31
  Author : bbfox2https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_LINK_EXP_MULTI_V2,$process,A8 26 00 89 84 BE 7C 87 00 00) // should be unique
alloc(newmem,$1000,INJECT_LINK_EXP_MULTI_V2)

label(code)
label(return)
label(vf_link_xp_multi)
label(i_old_lxp)
label(i_new_lxp)

newmem:
  cmp eax, 0
  je code

  cmp [rsi+rdi*4+0000877C], eax
  jae code

  mov [i_old_lxp], eax

  vcvtsi2ss xmm15, xmm15, eax
  vmovss xmm14, [vf_link_xp_multi]
  push eax
  mov eax, [rsi+rdi*4+0000877C]
  vcvtsi2ss xmm13, xmm13, eax
  pop eax

  vsubss xmm12, xmm15, xmm13
  vmulss xmm12, xmm12, xmm14
  vaddss xmm15, xmm13, xmm12

  vmovss xmm14, [vf_5]
  vdivss xmm15, xmm15, xmm14
  //vmovss xmm14, [vf_0_5]
  //vaddss xmm15, xmm15, xmm14
  //vcvttps2dq xmm13, xmm15
  vcvtps2dq xmm13, xmm15
  vcvtdq2ps xmm15, xmm13
  vmulss xmm15, xmm15, xmm14

  vcvtss2si eax, xmm15
  mov [i_new_lxp], eax

code:
  mov [rsi+rdi*4+0000877C],eax
  jmp return
align 10 cc
  vf_link_xp_multi:
  dd (float)2
  vf_10:
  dd (float)10
  vf_5:
  dd (float)5
  i_old_lxp:
  dd 0
  i_new_lxp:
  dd 0
  vf_0_5:
  dd (float)0.5



INJECT_LINK_EXP_MULTI_V2+03:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_LINK_EXP_MULTI_V2)
registersymbol(vf_link_xp_multi)
registersymbol(i_old_lxp)
registersymbol(i_new_lxp)

[DISABLE]

INJECT_LINK_EXP_MULTI_V2+03:
  db 89 84 BE 7C 87 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+1AADA6

ed8_3_PC_JP.exe+1AAD74: 48 03 F8              - add rdi,rax
ed8_3_PC_JP.exe+1AAD77: 45 0F B7 C4           - movzx r8d,r12w
ed8_3_PC_JP.exe+1AAD7B: 41 0F B7 D7           - movzx edx,r15w
ed8_3_PC_JP.exe+1AAD7F: 48 8B 8B 28 2E 00 00  - mov rcx,[rbx+00002E28]
ed8_3_PC_JP.exe+1AAD86: E8 85 A8 26 00        - call ed8_3_PC_JP.exe+415610
ed8_3_PC_JP.exe+1AAD8B: 88 84 37 7C 6C 00 00  - mov [rdi+rsi+00006C7C],al
ed8_3_PC_JP.exe+1AAD92: 45 0F B7 C4           - movzx r8d,r12w
ed8_3_PC_JP.exe+1AAD96: 41 0F B7 D7           - movzx edx,r15w
ed8_3_PC_JP.exe+1AAD9A: 48 8B 8B 28 2E 00 00  - mov rcx,[rbx+00002E28]
ed8_3_PC_JP.exe+1AADA1: E8 0A A8 26 00        - call ed8_3_PC_JP.exe+4155B0
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+1AADA6: 89 84 BE 7C 87 00 00  - mov [rsi+rdi*4+0000877C],eax
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+1AADAD: 48 8B 8B 28 2E 00 00  - mov rcx,[rbx+00002E28]
ed8_3_PC_JP.exe+1AADB4: 48 81 C1 11 5A 00 00  - add rcx,00005A11
ed8_3_PC_JP.exe+1AADBB: 45 0F B7 C4           - movzx r8d,r12w
ed8_3_PC_JP.exe+1AADBF: 41 0F B7 D7           - movzx edx,r15w
ed8_3_PC_JP.exe+1AADC3: E8 18 A8 26 00        - call ed8_3_PC_JP.exe+4155E0
ed8_3_PC_JP.exe+1AADC8: 88 84 37 7C 7E 00 00  - mov [rdi+rsi+00007E7C],al
ed8_3_PC_JP.exe+1AADCF: 41 FF C5              - inc r13d
ed8_3_PC_JP.exe+1AADD2: 8B 93 D8 00 00 00     - mov edx,[rbx+000000D8]
ed8_3_PC_JP.exe+1AADD8: 44 3B EA              - cmp r13d,edx
ed8_3_PC_JP.exe+1AADDB: 0F 82 4F FF FF FF     - jb ed8_3_PC_JP.exe+1AAD30
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>154</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_link_xp_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>155</ID>
          <Description>"old val"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_old_lxp</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>156</ID>
          <Description>"new val"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_new_lxp</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>126</ID>
      <Description>"Battle: EXP multiplier"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-30
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_XP_MULTI,$process,0F 57 C9 0F 57 C0 F3 48 0F 2A C8 8B 87) // should be unique
alloc(newmem,$1000,INJECT_XP_MULTI)

label(code)
label(return)
label(vf_xp_multi)
label(i_old_bxp)
label(i_new_bxp)

newmem:
  mov [i_old_bxp], eax
  vcvtsi2ss xmm15, xmm15, eax
  vmovss xmm14, [vf_xp_multi]
  vmulss xmm15, xmm14, xmm15
  vcvtss2si eax, xmm15
  mov [i_new_bxp], eax

code:
  xorps xmm1,xmm1
  xorps xmm0,xmm0
  jmp return
align 10 cc
  vf_xp_multi:
  dd (float)1.15
  i_old_bxp:
  dd 0
  i_new_bxp:
  dd 0

INJECT_XP_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_XP_MULTI)
registersymbol(vf_xp_multi)
registersymbol(i_old_bxp)
registersymbol(i_new_bxp)

[DISABLE]

INJECT_XP_MULTI:
  db 0F 57 C9 0F 57 C0

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+1BA770

ed8_3_PC_JP.exe+1BA746: 48 8B 6C 24 50           - mov rbp,[rsp+50]
ed8_3_PC_JP.exe+1BA74B: 0F 28 74 24 20           - movaps xmm6,[rsp+20]
ed8_3_PC_JP.exe+1BA750: 48 83 C4 30              - add rsp,30
ed8_3_PC_JP.exe+1BA754: 5F                       - pop rdi
ed8_3_PC_JP.exe+1BA755: C3                       - ret 
ed8_3_PC_JP.exe+1BA756: 66 83 BF 9A 02 00 00 63  - cmp word ptr [rdi+0000029A],63
ed8_3_PC_JP.exe+1BA75E: 48 89 5C 24 40           - mov [rsp+40],rbx
ed8_3_PC_JP.exe+1BA763: 48 89 74 24 48           - mov [rsp+48],rsi
ed8_3_PC_JP.exe+1BA768: 73 66                    - jae ed8_3_PC_JP.exe+1BA7D0
ed8_3_PC_JP.exe+1BA76A: 8B 87 C4 02 00 00        - mov eax,[rdi+000002C4]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+1BA770: 0F 57 C9                 - xorps xmm1,xmm1
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+1BA773: 0F 57 C0                 - xorps xmm0,xmm0
ed8_3_PC_JP.exe+1BA776: F3 48 0F 2A C8           - cvtsi2ss xmm1,rax
ed8_3_PC_JP.exe+1BA77B: 8B 87 CC 02 00 00        - mov eax,[rdi+000002CC]
ed8_3_PC_JP.exe+1BA781: F3 48 0F 2A C0           - cvtsi2ss xmm0,rax
ed8_3_PC_JP.exe+1BA786: 8B C5                    - mov eax,ebp
ed8_3_PC_JP.exe+1BA788: F3 0F 59 CE              - mulss xmm1,xmm6
ed8_3_PC_JP.exe+1BA78C: F3 0F 58 C8              - addss xmm1,xmm0
ed8_3_PC_JP.exe+1BA790: F3 48 0F 2C C9           - cvttss2si rcx,xmm1
ed8_3_PC_JP.exe+1BA795: 3B CD                    - cmp ecx,ebp
ed8_3_PC_JP.exe+1BA797: 0F 42 C1                 - cmovb eax,ecx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>127</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_xp_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>5</ID>
      <Description>"Battle: Damage multiplier"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-27
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_DAMAGE_MULTI,$process,89 9F 64 03 00 00) // should be unique
alloc(newmem,$1000,INJECT_DAMAGE_MULTI)

label(code)
label(return)
label(is_full_ep)
label(is_full_cp)
label(vf_dmg_to_player_multi)
label(vf_dmg_to_enemy_multi)
label(i_last_obj_addr)
label(i_dmg_orig)
label(i_dmg_new)
label(i_batt_target)
label(i_player_hp_ignore_val)

newmem:
  mov [i_last_obj_addr], rdi

check2:
  //cmp ebx, 0
  //je code

  cmp byte [rdi+00000360], 0
  je to_player
  jmp to_enemy


to_player:
  mov dword ptr [i_batt_target], 1

  push r15

  // EP section
  cmp dword ptr [is_full_ep], 1
  jne next1
  mov r15w, [rdi+0000036E]
  mov [rdi+0000036C], r15w

next1:
  // CP section
  cmp dword ptr [is_full_cp], 1
  jne next2
  mov r15w, [rdi+00000372]
  mov [rdi+00000370], r15w

next2:
  // HP section
  mov r15d, [rdi+00000364]
  cmp r15d, ebx // new HP equal or greater old one
  jbe to_player_pre



  cmp r15d, dword ptr [i_player_hp_ignore_val]
  jbe to_player_pre

  // HP multiplier section
  vmovss xmm15, [vf_dmg_to_player_multi]
  vmovss xmm14, [vf_1]
  vucomiss xmm14, xmm15
  je to_player_pre // multiplier = 1


  vcvtsi2ss xmm14, xmm14, ebx
  vmovss [i_dmg_orig], xmm14
  cvtsi2ss xmm13, [rdi+00000364]
  vsubss xmm12, xmm13, xmm14 // Delta (damage)
  vmulss xmm12, xmm12, xmm15 // final damage value
  //cvtsi2ss xmm14, [rdi+00000364]
  vsubss xmm12, xmm13, xmm12 // final HP = [orig HP] - [final damage value]

  vxorps xmm14, xmm14, xmm14
  vucomiss xmm12, xmm14
  ja next3
  vxorps xmm12, xmm12, xmm12

next3:
  vmovss [i_dmg_new], xmm12
  vcvtss2si ebx, xmm12

to_player_pre:
  pop r15
  jmp code

to_enemy:
  mov dword ptr [i_batt_target], 2
  cmp [rdi+00000364],ebx
  jbe code

  // 38C = break value current?
  // 390 = breat value full?

  vmovss xmm15, [vf_dmg_to_enemy_multi]
  vmovss xmm14, [vf_1]
  vucomiss xmm14, xmm15
  vcvtsi2ss xmm14, xmm14, ebx
  vmovss [i_dmg_orig], xmm14
  je to_enemy_1 // multiplier = 1


  cvtsi2ss xmm13, [rdi+00000364]
  vsubss xmm13, xmm13, xmm14 // Delta (damage)
  vmulss xmm13, xmm13, xmm15 // final damage
  cvtsi2ss xmm14, [rdi+00000364]
  vsubss xmm14, xmm14, xmm13

  //xorps xmm6, xmm6

  //final HP cannot be minus

  movss xmm13, [vf_1]
  ucomiss xmm14, xmm13
  ja to_enemy_1

  vxorps xmm14, xmm14, xmm14

to_enemy_1:
  vmovss [i_dmg_new], xmm14
  vcvtss2si ebx, xmm14


code:
  mov [rdi+00000364],ebx
  jmp return

align 10 cc
  is_full_ep:
  dd 1
  is_full_cp:
  dd 1
  vf_dmg_to_player_multi:
  dd (float)0.85
  vf_dmg_to_enemy_multi:
  dd (float)1
  i_last_obj_addr:
  dq 0
  i_dmg_orig:
  dd 0
  i_dmg_new:
  dd 0
  vf_1:
  dd (float)1
  i_batt_target:
  dd 0
  i_player_hp_ignore_val:
  dd #500

INJECT_DAMAGE_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_DAMAGE_MULTI)
registersymbol(is_full_ep)
registersymbol(is_full_cp)
registersymbol(vf_dmg_to_player_multi)
registersymbol(vf_dmg_to_enemy_multi)
registersymbol(i_last_obj_addr)
registersymbol(i_dmg_orig)
registersymbol(i_dmg_new)
registersymbol(i_batt_target)
registersymbol(i_player_hp_ignore_val)


[DISABLE]

INJECT_DAMAGE_MULTI:
  db 89 9F 64 03 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+1530C0

ed8_3_PC_JP.exe+15309A: F7 E1                    - mul ecx
ed8_3_PC_JP.exe+15309C: C1 EA 05                 - shr edx,05
ed8_3_PC_JP.exe+15309F: 03 DA                    - add ebx,edx
ed8_3_PC_JP.exe+1530A1: 45 2B FE                 - sub r15d,r14d
ed8_3_PC_JP.exe+1530A4: 45 85 FF                 - test r15d,r15d
ed8_3_PC_JP.exe+1530A7: 41 0F 4F F7              - cmovg esi,r15d
ed8_3_PC_JP.exe+1530AB: 4C 8B BC 24 90 00 00 00  - mov r15,[rsp+00000090]
ed8_3_PC_JP.exe+1530B3: 3B F3                    - cmp esi,ebx
ed8_3_PC_JP.exe+1530B5: 0F 4C DE                 - cmovl ebx,esi
ed8_3_PC_JP.exe+1530B8: 48 8B B4 24 98 00 00 00  - mov rsi,[rsp+00000098]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+1530C0: 89 9F 64 03 00 00        - mov [rdi+00000364],ebx
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+1530C6: 48 8B 9C 24 D0 00 00 00  - mov rbx,[rsp+000000D0]
ed8_3_PC_JP.exe+1530CE: 48 8B 4D 27              - mov rcx,[rbp+27]
ed8_3_PC_JP.exe+1530D2: 48 33 CC                 - xor rcx,rsp
ed8_3_PC_JP.exe+1530D5: E8 66 32 58 00           - call ed8_3_PC_JP.exe+6D6340
ed8_3_PC_JP.exe+1530DA: 48 81 C4 A0 00 00 00     - add rsp,000000A0
ed8_3_PC_JP.exe+1530E1: 41 5E                    - pop r14
ed8_3_PC_JP.exe+1530E3: 5F                       - pop rdi
ed8_3_PC_JP.exe+1530E4: 5D                       - pop rbp
ed8_3_PC_JP.exe+1530E5: C3                       - ret 
ed8_3_PC_JP.exe+1530E6: CC                       - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>7</ID>
          <Description>"Full EP when get hit?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_full_ep</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Full CP when get hit?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_full_cp</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Damage multiplier to player"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_dmg_to_player_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>10</ID>
          <Description>"Damage multiplier to enemy"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_dmg_to_enemy_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>137</ID>
          <Description>"Bypass script when player HP below:"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_player_hp_ignore_val</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>109</ID>
          <Description>"_debug"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C0C0C0</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>11</ID>
              <Description>"last object"</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>12</ID>
              <Description>"Target"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">1:我
2:敵
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_batt_target</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>13</ID>
              <Description>"Dmg. orig."</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>Float</VariableType>
              <Address>i_dmg_orig</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>14</ID>
              <Description>"Dmg new"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>Float</VariableType>
              <Address>i_dmg_new</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>36</ID>
      <Description>"Battle: Break multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-27
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BREAK_MULTI,$process,2B C7 3B C1 0F 4C C8 33 C0 85 C9 0F 48 C8 89 8B 8C 03 00 00 48 8B CB) // should be unique
alloc(newmem,$1000,INJECT_BREAK_MULTI)

label(code)
label(return)
label(vf_break_multi)

newmem:
  cmp byte ptr [rbx+00000360], 0
  je code

  vcvtsi2ss xmm15, xmm15, edi
  vmovss xmm14, [vf_break_multi]
  vmulss xmm13, xmm14, xmm15
  vcvtss2si edi, xmm13

  cmp eax, edi
  jae code
  mov edi, eax

code:
  sub eax,edi
  cmp eax,ecx
  cmovl ecx,eax
  jmp return
align 10 cc
  vf_break_multi:
  dd (float)1.8

INJECT_BREAK_MULTI:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_BREAK_MULTI)
registersymbol(vf_break_multi)

[DISABLE]

INJECT_BREAK_MULTI:
  db 2B C7 3B C1 0F 4C C8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+155900

ed8_3_PC_JP.exe+1558DB: E8 E0 E9 03 00     - call ed8_3_PC_JP.exe+1942C0
ed8_3_PC_JP.exe+1558E0: 48 85 C0           - test rax,rax
ed8_3_PC_JP.exe+1558E3: 74 0F              - je ed8_3_PC_JP.exe+1558F4
ed8_3_PC_JP.exe+1558E5: 45 33 C0           - xor r8d,r8d
ed8_3_PC_JP.exe+1558E8: 8B D7              - mov edx,edi
ed8_3_PC_JP.exe+1558EA: 48 8B C8           - mov rcx,rax
ed8_3_PC_JP.exe+1558ED: E8 CE D3 FF FF     - call ed8_3_PC_JP.exe+152CC0
ed8_3_PC_JP.exe+1558F2: EB 20              - jmp ed8_3_PC_JP.exe+155914
ed8_3_PC_JP.exe+1558F4: 8B 83 8C 03 00 00  - mov eax,[rbx+0000038C]
ed8_3_PC_JP.exe+1558FA: 8B 8B 90 03 00 00  - mov ecx,[rbx+00000390]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+155900: 2B C7              - sub eax,edi
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+155902: 3B C1              - cmp eax,ecx
ed8_3_PC_JP.exe+155904: 0F 4C C8           - cmovl ecx,eax
ed8_3_PC_JP.exe+155907: 33 C0              - xor eax,eax
ed8_3_PC_JP.exe+155909: 85 C9              - test ecx,ecx
ed8_3_PC_JP.exe+15590B: 0F 48 C8           - cmovs ecx,eax
ed8_3_PC_JP.exe+15590E: 89 8B 8C 03 00 00  - mov [rbx+0000038C],ecx
ed8_3_PC_JP.exe+155914: 48 8B CB           - mov rcx,rbx
ed8_3_PC_JP.exe+155917: E8 B4 12 00 00     - call ed8_3_PC_JP.exe+156BD0
ed8_3_PC_JP.exe+15591C: 83 78 28 00        - cmp dword ptr [rax+28],00
ed8_3_PC_JP.exe+155920: 75 23              - jne ed8_3_PC_JP.exe+155945
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>37</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_break_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>140</ID>
      <Description>"Battle: Order cost 0 BP"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-30
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_ORDER_0BP_PRE,$process,0F B6 88 90 02 00 00 66) // should be unique
alloc(newmem,$1000,INJECT_ORDER_0BP_PRE)

label(code)
label(return)



aobscanmodule(INJECT_NO_ORDER_COST,$process,44 2B C0 45 85 C0) // should be unique
alloc(newmem2,$1000,INJECT_NO_ORDER_COST)

label(code2)
label(return2)



newmem:
  xor ebx, ebx

code:
  movzx ecx,byte ptr [rax+00000290]
  jmp return

INJECT_ORDER_0BP_PRE:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_ORDER_0BP_PRE)



newmem2:
  xor eax, eax

code2:
  sub r8d,eax
  test r8d,r8d
  jmp return2

INJECT_NO_ORDER_COST:
  jmp newmem2
  nop
return2:
registersymbol(INJECT_NO_ORDER_COST)

[DISABLE]

INJECT_ORDER_0BP_PRE:
  db 0F B6 88 90 02 00 00
INJECT_NO_ORDER_COST:
  db 44 2B C0 45 85 C0

unregistersymbol(INJECT_ORDER_0BP_PRE)
dealloc(newmem)

unregistersymbol(INJECT_NO_ORDER_COST)
dealloc(newmem2)
{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+13AA22

ed8_3_PC_JP.exe+13A9F5: 49 8B 85 60 2D 00 00  - mov rax,[r13+00002D60]
ed8_3_PC_JP.exe+13A9FC: 49 8B 57 50           - mov rdx,[r15+50]
ed8_3_PC_JP.exe+13AA00: 48 8B 88 D0 02 00 00  - mov rcx,[rax+000002D0]
ed8_3_PC_JP.exe+13AA07: E8 B4 D7 00 00        - call ed8_3_PC_JP.exe+1481C0
ed8_3_PC_JP.exe+13AA0C: 83 F8 11              - cmp eax,11
ed8_3_PC_JP.exe+13AA0F: 75 06                 - jne ed8_3_PC_JP.exe+13AA17
ed8_3_PC_JP.exe+13AA11: 66 41 89 1E           - mov [r14],bx
ed8_3_PC_JP.exe+13AA15: EB 04                 - jmp ed8_3_PC_JP.exe+13AA1B
ed8_3_PC_JP.exe+13AA17: 41 0F B7 1E           - movzx ebx,word ptr [r14]
ed8_3_PC_JP.exe+13AA1B: 49 8B 85 30 2E 00 00  - mov rax,[r13+00002E30]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+13AA22: 0F B6 88 90 02 00 00  - movzx ecx,byte ptr [rax+00000290]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+13AA29: 66 3B CB              - cmp cx,bx
ed8_3_PC_JP.exe+13AA2C: 0F 83 52 FF FF FF     - jae ed8_3_PC_JP.exe+13A984
ed8_3_PC_JP.exe+13AA32: 32 C0                 - xor al,al
ed8_3_PC_JP.exe+13AA34: E9 4D FF FF FF        - jmp ed8_3_PC_JP.exe+13A986
ed8_3_PC_JP.exe+13AA39: 0F 1F 00              - nop dword ptr [rax]
ed8_3_PC_JP.exe+13AA3C: 9F                    - lahf 
ed8_3_PC_JP.exe+13AA3D: A6                    - cmpsb 
ed8_3_PC_JP.exe+13AA3E: 13 00                 - adc eax,[rax]
ed8_3_PC_JP.exe+13AA40: 9F                    - lahf 
ed8_3_PC_JP.exe+13AA41: A6                    - cmpsb 
}



{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+41A1D9

ed8_3_PC_JP.exe+41A1C9: CC              - int 3
ed8_3_PC_JP.exe+41A1CA: CC              - int 3
ed8_3_PC_JP.exe+41A1CB: CC              - int 3
ed8_3_PC_JP.exe+41A1CC: CC              - int 3
ed8_3_PC_JP.exe+41A1CD: CC              - int 3
ed8_3_PC_JP.exe+41A1CE: CC              - int 3
ed8_3_PC_JP.exe+41A1CF: CC              - int 3
ed8_3_PC_JP.exe+41A1D0: 44 0F B6 01     - movzx r8d,byte ptr [rcx]
ed8_3_PC_JP.exe+41A1D4: 0F B6 C2        - movzx eax,dl
ed8_3_PC_JP.exe+41A1D7: 33 D2           - xor edx,edx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+41A1D9: 44 2B C0        - sub r8d,eax
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+41A1DC: 45 85 C0        - test r8d,r8d
ed8_3_PC_JP.exe+41A1DF: 41 0F B6 C0     - movzx eax,r8b
ed8_3_PC_JP.exe+41A1E3: 0F 4F D0        - cmovg edx,eax
ed8_3_PC_JP.exe+41A1E6: 88 11           - mov [rcx],dl
ed8_3_PC_JP.exe+41A1E8: E9 63 F9 FF FF  - jmp ed8_3_PC_JP.exe+419B50
ed8_3_PC_JP.exe+41A1ED: CC              - int 3
ed8_3_PC_JP.exe+41A1EE: CC              - int 3
ed8_3_PC_JP.exe+41A1EF: CC              - int 3
ed8_3_PC_JP.exe+41A1F0: 40 57           - push rdi
ed8_3_PC_JP.exe+41A1F2: 48 83 EC 20     - sub rsp,20
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>139</ID>
          <Description>"Battle: Order cost 0 BP"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-30
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_NO_ORDER_COST,$process,44 2B C0 45 85 C0) // should be unique
alloc(newmem2,$1000,INJECT_NO_ORDER_COST)

label(code2)
label(return2)

newmem2:
  xor eax, eax

code2:
  sub r8d,eax
  test r8d,r8d
  jmp return2

INJECT_NO_ORDER_COST:
  jmp newmem2
  nop
return2:
registersymbol(INJECT_NO_ORDER_COST)

[DISABLE]

INJECT_NO_ORDER_COST:
  db 44 2B C0 45 85 C0

unregistersymbol(INJECT_NO_ORDER_COST)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+41A1D9

ed8_3_PC_JP.exe+41A1C9: CC              - int 3 
ed8_3_PC_JP.exe+41A1CA: CC              - int 3 
ed8_3_PC_JP.exe+41A1CB: CC              - int 3 
ed8_3_PC_JP.exe+41A1CC: CC              - int 3 
ed8_3_PC_JP.exe+41A1CD: CC              - int 3 
ed8_3_PC_JP.exe+41A1CE: CC              - int 3 
ed8_3_PC_JP.exe+41A1CF: CC              - int 3 
ed8_3_PC_JP.exe+41A1D0: 44 0F B6 01     - movzx r8d,byte ptr [rcx]
ed8_3_PC_JP.exe+41A1D4: 0F B6 C2        - movzx eax,dl
ed8_3_PC_JP.exe+41A1D7: 33 D2           - xor edx,edx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+41A1D9: 44 2B C0        - sub r8d,eax
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+41A1DC: 45 85 C0        - test r8d,r8d
ed8_3_PC_JP.exe+41A1DF: 41 0F B6 C0     - movzx eax,r8b
ed8_3_PC_JP.exe+41A1E3: 0F 4F D0        - cmovg edx,eax
ed8_3_PC_JP.exe+41A1E6: 88 11           - mov [rcx],dl
ed8_3_PC_JP.exe+41A1E8: E9 63 F9 FF FF  - jmp ed8_3_PC_JP.exe+419B50
ed8_3_PC_JP.exe+41A1ED: CC              - int 3 
ed8_3_PC_JP.exe+41A1EE: CC              - int 3 
ed8_3_PC_JP.exe+41A1EF: CC              - int 3 
ed8_3_PC_JP.exe+41A1F0: 40 57           - push rdi
ed8_3_PC_JP.exe+41A1F2: 48 83 EC 20     - sub rsp,20
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>54</ID>
      <Description>"Battle: set min. breavery pt."</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_BRA_PT,$process,0F B6 9F 90 02 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_MIN_BRA_PT)

label(code)
label(return)
label(i_min_bra_pt)
label(i_base_bra_pt_addr)

newmem:
  mov [i_base_bra_pt_addr], rdi

  mov bl, [i_min_bra_pt]
  cmp [rdi+00000290], bl
  jae code

  mov [rdi+00000290], bl


code:
  movzx ebx,byte ptr [rdi+00000290]
  jmp return
align 10 cc
  i_min_bra_pt:
  db 2
  i_base_bra_pt_addr:
  dq 0

INJECT_SET_MIN_BRA_PT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_MIN_BRA_PT)
registersymbol(i_min_bra_pt)
registersymbol(i_base_bra_pt_addr)

[DISABLE]

INJECT_SET_MIN_BRA_PT:
  db 0F B6 9F 90 02 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+41BCE2

ed8_3_PC_JP.exe+41BCAF: 48 8B F9                 - mov rdi,rcx
ed8_3_PC_JP.exe+41BCB2: 44 0F 28 D1              - movaps xmm10,xmm1
ed8_3_PC_JP.exe+41BCB6: E8 95 04 06 00           - call ed8_3_PC_JP.exe+47C150
ed8_3_PC_JP.exe+41BCBB: 48 8B 0D 9E 15 82 00     - mov rcx,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+41BCC2: BA 01 04 00 00           - mov edx,00000401
ed8_3_PC_JP.exe+41BCC7: E8 C4 C6 ED FF           - call ed8_3_PC_JP.exe+2F8390
ed8_3_PC_JP.exe+41BCCC: 84 C0                    - test al,al
ed8_3_PC_JP.exe+41BCCE: 0F 84 A7 03 00 00        - je ed8_3_PC_JP.exe+41C07B
ed8_3_PC_JP.exe+41BCD4: 8B 97 94 02 00 00        - mov edx,[rdi+00000294]
ed8_3_PC_JP.exe+41BCDA: 48 89 9C 24 A0 00 00 00  - mov [rsp+000000A0],rbx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+41BCE2: 0F B6 9F 90 02 00 00     - movzx ebx,byte ptr [rdi+00000290]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+41BCE9: 0F 29 B4 24 80 00 00 00  - movaps [rsp+00000080],xmm6
ed8_3_PC_JP.exe+41BCF1: 8D 42 FF                 - lea eax,[rdx-01]
ed8_3_PC_JP.exe+41BCF4: 0F 29 7C 24 70           - movaps [rsp+70],xmm7
ed8_3_PC_JP.exe+41BCF9: 44 0F 29 44 24 60        - movaps [rsp+60],xmm8
ed8_3_PC_JP.exe+41BCFF: 83 F8 06                 - cmp eax,06
ed8_3_PC_JP.exe+41BD02: 0F 87 00 03 00 00        - ja ed8_3_PC_JP.exe+41C008
ed8_3_PC_JP.exe+41BD08: 4C 8D 05 F1 42 BE FF     - lea r8,[ed8_3_PC_JP.exe]
ed8_3_PC_JP.exe+41BD0F: 48 98                    - cdqe 
ed8_3_PC_JP.exe+41BD11: 48 89 B4 24 A8 00 00 00  - mov [rsp+000000A8],rsi
ed8_3_PC_JP.exe+41BD19: 41 8B 8C 80 8C C0 41 00  - mov ecx,[r8+rax*4+0041C08C]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>55</ID>
          <Description>"min. pt"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Byte</VariableType>
          <Address>i_min_bra_pt</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>138</ID>
          <Description>"cur. pt"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_bra_pt_addr</Address>
          <Offsets>
            <Offset>290</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>119</ID>
      <Description>"Battle: inf. item amount when use"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-30
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATTLE_INF_ITEM,$process,2B C8 85 C9 66 44 0F 4F D1) // should be unique
alloc(newmem,$1000,INJECT_BATTLE_INF_ITEM)

label(code)
label(return)

newmem:
  cmp ecx, 51
  jae code
  mov ecx, 51

code:
  sub ecx,eax
  test ecx,ecx
  cmovg r10w,cx
  jmp return

INJECT_BATTLE_INF_ITEM:
  jmp newmem
  nop 4
return:
registersymbol(INJECT_BATTLE_INF_ITEM)

[DISABLE]

INJECT_BATTLE_INF_ITEM:
  db 2B C8 85 C9 66 44 0F 4F D1

unregistersymbol(INJECT_BATTLE_INF_ITEM)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+3398A5

ed8_3_PC_JP.exe+339886: 8B D0              - mov edx,eax
ed8_3_PC_JP.exe+339888: 66 42 39 1C 09     - cmp [rcx+r9],bx
ed8_3_PC_JP.exe+33988D: 74 09              - je ed8_3_PC_JP.exe+339898
ed8_3_PC_JP.exe+33988F: FF C0              - inc eax
ed8_3_PC_JP.exe+339891: 41 3B C0           - cmp eax,r8d
ed8_3_PC_JP.exe+339894: 72 EA              - jb ed8_3_PC_JP.exe+339880
ed8_3_PC_JP.exe+339896: EB 1C              - jmp ed8_3_PC_JP.exe+3398B4
ed8_3_PC_JP.exe+339898: 48 C1 E2 05        - shl rdx,05
ed8_3_PC_JP.exe+33989C: 0F B7 C5           - movzx eax,bp
ed8_3_PC_JP.exe+33989F: 42 0F B7 4C 0A 02  - movzx ecx,word ptr [rdx+r9+02]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+3398A5: 2B C8              - sub ecx,eax
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+3398A7: 85 C9              - test ecx,ecx
ed8_3_PC_JP.exe+3398A9: 66 44 0F 4F D1     - cmovg r10w,cx
ed8_3_PC_JP.exe+3398AE: 66 46 89 54 0A 02  - mov [rdx+r9+02],r10w
ed8_3_PC_JP.exe+3398B4: 80 7C 24 50 00     - cmp byte ptr [rsp+50],00
ed8_3_PC_JP.exe+3398B9: 74 0B              - je ed8_3_PC_JP.exe+3398C6
ed8_3_PC_JP.exe+3398BB: 48 8B D7           - mov rdx,rdi
ed8_3_PC_JP.exe+3398BE: 48 8B CE           - mov rcx,rsi
ed8_3_PC_JP.exe+3398C1: E8 EA F6 FF FF     - call ed8_3_PC_JP.exe+338FB0
ed8_3_PC_JP.exe+3398C6: 48 8B 5C 24 30     - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+3398CB: 48 8B 6C 24 38     - mov rbp,[rsp+38]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>114</ID>
      <Description>"Battle: Master Quartz EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-30
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_M_QUARTZ_XP_MULTI,$process,03 D0 8B C3 3B D3) // should be unique
alloc(newmem,$1000,INJECT_M_QUARTZ_XP_MULTI)

label(code)
label(return)
label(vf_mqz_xp_multi)
label(i_old_mqz_val)
label(i_new_mqz_val)


newmem:
  mov [i_old_mqz_val], eax
  vcvtsi2ss xmm15, xmm15, eax
  vmovss xmm14, [vf_mqz_xp_multi]
  vmulss xmm14, xmm15, xmm14
  vcvtss2si eax, xmm14
  mov [i_new_mqz_val], eax

code:
  add edx,eax
  mov eax,ebx
  cmp edx,ebx
  jmp return
align 10 cc
  vf_mqz_xp_multi:
  dd (float)1.3333333
  i_old_mqz_val:
  dd 0
  i_new_mqz_val:
  dd 0

INJECT_M_QUARTZ_XP_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_M_QUARTZ_XP_MULTI)
registersymbol(vf_mqz_xp_multi)
registersymbol(i_old_mqz_val)
registersymbol(i_new_mqz_val)

[DISABLE]

INJECT_M_QUARTZ_XP_MULTI:
  db 03 D0 8B C3 3B D3

unregistersymbol(INJECT_M_QUARTZ_XP_MULTI)
unregistersymbol(vf_mqz_xp_multi)
unregistersymbol(i_old_mqz_val)
unregistersymbol(i_new_mqz_val)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+1BA0D7

ed8_3_PC_JP.exe+1BA0A1: 44 0F B7 C8              - movzx r9d,ax
ed8_3_PC_JP.exe+1BA0A5: 44 0F B7 87 9C 02 00 00  - movzx r8d,word ptr [rdi+0000029C]
ed8_3_PC_JP.exe+1BA0AD: 48 89 74 24 28           - mov [rsp+28],rsi
ed8_3_PC_JP.exe+1BA0B2: 8B 87 CC 02 00 00        - mov eax,[rdi+000002CC]
ed8_3_PC_JP.exe+1BA0B8: 89 44 24 20              - mov [rsp+20],eax
ed8_3_PC_JP.exe+1BA0BC: 66 0F 73 DA 04           - psrldq xmm2,04
ed8_3_PC_JP.exe+1BA0C1: 66 0F 7E D2              - movd edx,xmm2
ed8_3_PC_JP.exe+1BA0C5: 48 8B 0D 94 31 A8 00     - mov rcx,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+1BA0CC: E8 8F D1 13 00           - call ed8_3_PC_JP.exe+2F7260
ed8_3_PC_JP.exe+1BA0D1: 8B 97 C4 02 00 00        - mov edx,[rdi+000002C4]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+1BA0D7: 03 D0                    - add edx,eax
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+1BA0D9: 8B C3                    - mov eax,ebx
ed8_3_PC_JP.exe+1BA0DB: 3B D3                    - cmp edx,ebx
ed8_3_PC_JP.exe+1BA0DD: 0F 42 C2                 - cmovb eax,edx
ed8_3_PC_JP.exe+1BA0E0: 89 87 C4 02 00 00        - mov [rdi+000002C4],eax
ed8_3_PC_JP.exe+1BA0E6: BA 07 00 00 00           - mov edx,00000007
ed8_3_PC_JP.exe+1BA0EB: 48 8B 0D 6E 31 A8 00     - mov rcx,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+1BA0F2: E8 39 ED 14 00           - call ed8_3_PC_JP.exe+308E30
ed8_3_PC_JP.exe+1BA0F7: 44 8B 87 C0 02 00 00     - mov r8d,[rdi+000002C0]
ed8_3_PC_JP.exe+1BA0FE: 8B 97 C4 02 00 00        - mov edx,[rdi+000002C4]
ed8_3_PC_JP.exe+1BA104: 41 03 D0                 - add edx,r8d
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>115</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_mqz_xp_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>116</ID>
          <Description>"old delta"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_old_mqz_val</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>117</ID>
          <Description>"new delta"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_new_mqz_val</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>45</ID>
      <Description>"Map: set min. charge"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MIN_CHARGE,$process,66 39 88 9C 66 35 00) // should be unique
alloc(newmem,$1000,INJECT_MIN_CHARGE)

label(code)
label(return)
label(i_min_charges)

newmem:
  push r15
  mov r15w, [i_min_charges]
  cmp [rax+0035669C], r15w
  jae endp
  mov [rax+0035669C], r15w

endp:
  pop r15

code:
  cmp [rax+0035669C],cx
  jmp return
align 10 cc
  i_min_charges:
  dw 64

INJECT_MIN_CHARGE:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_MIN_CHARGE)
registersymbol(i_min_charges)

[DISABLE]

INJECT_MIN_CHARGE:
  db 66 39 88 9C 66 35 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+2F1261

ed8_3_PC_JP.exe+2F1235: 48 8D 45 D7              - lea rax,[rbp-29]
ed8_3_PC_JP.exe+2F1239: C6 44 24 30 00           - mov byte ptr [rsp+30],00
ed8_3_PC_JP.exe+2F123E: 66 44 89 7C 24 28        - mov [rsp+28],r15w
ed8_3_PC_JP.exe+2F1244: 48 89 44 24 20           - mov [rsp+20],rax
ed8_3_PC_JP.exe+2F1249: E8 42 62 00 00           - call ed8_3_PC_JP.exe+2F7490
ed8_3_PC_JP.exe+2F124E: FF C6                    - inc esi
ed8_3_PC_JP.exe+2F1250: 83 FE 09                 - cmp esi,09
ed8_3_PC_JP.exe+2F1253: 7C 8B                    - jl ed8_3_PC_JP.exe+2F11E0
ed8_3_PC_JP.exe+2F1255: 48 8B 87 D8 08 00 00     - mov rax,[rdi+000008D8]
ed8_3_PC_JP.exe+2F125C: B9 C8 00 00 00           - mov ecx,000000C8
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+2F1261: 66 39 88 9C 66 35 00     - cmp [rax+0035669C],cx
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+2F1268: 74 7A                    - je ed8_3_PC_JP.exe+2F12E4
ed8_3_PC_JP.exe+2F126A: 66 44 89 75 17           - mov [rbp+17],r14w
ed8_3_PC_JP.exe+2F126F: 41 8B DE                 - mov ebx,r14d
ed8_3_PC_JP.exe+2F1272: 48 C7 45 1B 00 00 00 00  - mov qword ptr [rbp+1B],00000000
ed8_3_PC_JP.exe+2F127A: 44 89 75 23              - mov [rbp+23],r14d
ed8_3_PC_JP.exe+2F127E: 66 90                    - nop 2
ed8_3_PC_JP.exe+2F1280: 48 8B 8F D8 08 00 00     - mov rcx,[rdi+000008D8]
ed8_3_PC_JP.exe+2F1287: 48 8D 45 17              - lea rax,[rbp+17]
ed8_3_PC_JP.exe+2F128B: 48 81 C1 D8 65 35 00     - add rcx,003565D8
ed8_3_PC_JP.exe+2F1292: 4C 89 74 24 28           - mov [rsp+28],r14
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>135</ID>
          <Description>"min. charge"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_min_charges</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>47</ID>
      <Description>"Set min. Sepiths"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_SEPH,$process,8B 84 88 30 66 35 00) // should be unique
alloc(newmem,$1000,INJECT_SET_MIN_SEPH)

label(code)
label(return)

newmem:
  cmp dword ptr [rax+rcx*4+00356630], #24666
  jae code
  mov dword ptr [rax+rcx*4+00356630], #24666


code:
  mov eax,[rax+rcx*4+00356630]
  jmp return

INJECT_SET_MIN_SEPH:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_MIN_SEPH)

[DISABLE]

INJECT_SET_MIN_SEPH:
  db 8B 84 88 30 66 35 00

unregistersymbol(INJECT_SET_MIN_SEPH)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+3369AA

ed8_3_PC_JP.exe+336998: CC                    - int 3 
ed8_3_PC_JP.exe+336999: CC                    - int 3 
ed8_3_PC_JP.exe+33699A: CC                    - int 3 
ed8_3_PC_JP.exe+33699B: CC                    - int 3 
ed8_3_PC_JP.exe+33699C: CC                    - int 3 
ed8_3_PC_JP.exe+33699D: CC                    - int 3 
ed8_3_PC_JP.exe+33699E: CC                    - int 3 
ed8_3_PC_JP.exe+33699F: CC                    - int 3 
ed8_3_PC_JP.exe+3369A0: 48 8B 05 B9 68 90 00  - mov rax,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+3369A7: 48 63 CA              - movsxd  rcx,edx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+3369AA: 8B 84 88 30 66 35 00  - mov eax,[rax+rcx*4+00356630]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+3369B1: C3                    - ret 
ed8_3_PC_JP.exe+3369B2: CC                    - int 3 
ed8_3_PC_JP.exe+3369B3: CC                    - int 3 
ed8_3_PC_JP.exe+3369B4: CC                    - int 3 
ed8_3_PC_JP.exe+3369B5: CC                    - int 3 
ed8_3_PC_JP.exe+3369B6: CC                    - int 3 
ed8_3_PC_JP.exe+3369B7: CC                    - int 3 
ed8_3_PC_JP.exe+3369B8: CC                    - int 3 
ed8_3_PC_JP.exe+3369B9: CC                    - int 3 
ed8_3_PC_JP.exe+3369BA: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>48</ID>
          <Description>"Usage: menu (Gamead Y)-&gt; Item"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"Get Sepiths"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-27
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_SEPITH,$process,44 8B 80 4C 66 35 00) // should be unique
alloc(newmem,$1000,INJECT_GET_SEPITH)

label(code)
label(return)
label(i_base_seph_addr)
label(is_set_min_piece)

newmem:
  mov [i_base_seph_addr], rax
  cmp dword ptr [is_set_min_piece], 1
  jne code
  cmp dword ptr [rax+0035664C], #24666
  jae code
  mov dword ptr [rax+0035664C], #24666


code:
  mov r8d,[rax+0035664C]
  jmp return
align 10 cc
  i_base_seph_addr:
  dq 0
  is_set_min_piece:
  dd 1

INJECT_GET_SEPITH:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_SEPITH)
registersymbol(i_base_seph_addr)
registersymbol(is_set_min_piece)

[DISABLE]

INJECT_GET_SEPITH:
  db 44 8B 80 4C 66 35 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+22E419

ed8_3_PC_JP.exe+22E3E8: 48 8B 01                 - mov rax,[rcx]
ed8_3_PC_JP.exe+22E3EB: 41 B9 02 00 00 00        - mov r9d,00000002
ed8_3_PC_JP.exe+22E3F1: F3 0F 10 15 43 8B 5C 00  - movss xmm2,[ed8_3_PC_JP.exe+7F6F3C]
ed8_3_PC_JP.exe+22E3F9: 0F 28 CF                 - movaps xmm1,xmm7
ed8_3_PC_JP.exe+22E3FC: FF 50 40                 - call qword ptr [rax+40]
ed8_3_PC_JP.exe+22E3FF: C6 87 D2 12 00 00 00     - mov byte ptr [rdi+000012D2],00
ed8_3_PC_JP.exe+22E406: 48 8B 8F 90 17 00 00     - mov rcx,[rdi+00001790]
ed8_3_PC_JP.exe+22E40D: 48 85 C9                 - test rcx,rcx
ed8_3_PC_JP.exe+22E410: 74 1A                    - je ed8_3_PC_JP.exe+22E42C
ed8_3_PC_JP.exe+22E412: 48 8B 05 47 EE A0 00     - mov rax,[ed8_3_PC_JP.exe+C3D260]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+22E419: 44 8B 80 4C 66 35 00     - mov r8d,[rax+0035664C]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+22E420: 48 8D 15 61 BA 5C 00     - lea rdx,[ed8_3_PC_JP.exe+7F9E88]
ed8_3_PC_JP.exe+22E427: E8 94 0B 24 00           - call ed8_3_PC_JP.exe+46EFC0
ed8_3_PC_JP.exe+22E42C: 48 8B 8F 98 17 00 00     - mov rcx,[rdi+00001798]
ed8_3_PC_JP.exe+22E433: 48 85 C9                 - test rcx,rcx
ed8_3_PC_JP.exe+22E436: 74 1A                    - je ed8_3_PC_JP.exe+22E452
ed8_3_PC_JP.exe+22E438: 48 8B 05 21 EE A0 00     - mov rax,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+22E43F: 44 8B 80 90 66 35 00     - mov r8d,[rax+00356690]
ed8_3_PC_JP.exe+22E446: 48 8D 15 3B BA 5C 00     - lea rdx,[ed8_3_PC_JP.exe+7F9E88]
ed8_3_PC_JP.exe+22E44D: E8 6E 0B 24 00           - call ed8_3_PC_JP.exe+46EFC0
ed8_3_PC_JP.exe+22E452: 4C 8D 8C 24 C0 00 00 00  - lea r9,[rsp+000000C0]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Usage: menu"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>49</ID>
          <Description>"Set min. piece?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_set_min_piece</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>143</ID>
          <Description>"Data+"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>21</ID>
              <Description>"地セピス (Orange)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356630</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>29</ID>
              <Description>"水セピス (Blue)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356634</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>28</ID>
              <Description>"火セピス (Red)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356638</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>26</ID>
              <Description>"風セピス (Green)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>35663C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>25</ID>
              <Description>"時セピス (Black)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356640</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>24</ID>
              <Description>"空セピス (Golden)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356644</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>23</ID>
              <Description>"幻セピス (Silver)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356648</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>22</ID>
              <Description>"セピス塊 (piece)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>35664C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>27</ID>
              <Description>"Mira"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>356690</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>50</ID>
              <Description>"Charge"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_seph_addr</Address>
              <Offsets>
                <Offset>35669C</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>78</ID>
      <Description>"Item scripts"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_UPDATE_ITEM_BASE_ADDR,$process,42 0F B7 44 12 02) // should be unique
alloc(newmem,$1000,INJECT_UPDATE_ITEM_BASE_ADDR)

label(code)
label(return)
label(i_base_allitem_addr)
label(i_base_item_off_addr)

newmem:
  inc dword ptr [i_cnt]
  cmp dword ptr [i_cnt], A
  jb code
  mov dword ptr [i_cnt], 0

  cmp [i_base_allitem_addr], r10
  je code
  mov [i_base_allitem_addr], r10

code:
  movzx eax,word ptr [rdx+r10+02]
  jmp return
align 10 cc
  i_base_allitem_addr:
  dq 0
  i_base_item_off_addr:
  dq 0
  i_cnt:
  dd 0


INJECT_UPDATE_ITEM_BASE_ADDR:
  jmp newmem
  nop
return:
registersymbol(INJECT_UPDATE_ITEM_BASE_ADDR)
registersymbol(i_base_allitem_addr)
registersymbol(i_base_item_off_addr)
[DISABLE]

INJECT_UPDATE_ITEM_BASE_ADDR:
  db 42 0F B7 44 12 02

unregistersymbol(INJECT_UPDATE_ITEM_BASE_ADDR)
unregistersymbol(i_base_allitem_addr)
unregistersymbol(i_base_item_off_addr)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+334B9E

ed8_3_PC_JP.exe+334B7F: FF C0              - inc eax
ed8_3_PC_JP.exe+334B81: 41 3B C0           - cmp eax,r8d
ed8_3_PC_JP.exe+334B84: 72 EA              - jb ed8_3_PC_JP.exe+334B70
ed8_3_PC_JP.exe+334B86: 41 0F B7 C1        - movzx eax,r9w
ed8_3_PC_JP.exe+334B8A: 48 8B 5C 24 30     - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+334B8F: 48 83 C4 20        - add rsp,20
ed8_3_PC_JP.exe+334B93: 5F                 - pop rdi
ed8_3_PC_JP.exe+334B94: C3                 - ret 
ed8_3_PC_JP.exe+334B95: 48 8B 5C 24 30     - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+334B9A: 48 C1 E2 05        - shl rdx,05
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+334B9E: 42 0F B7 44 12 02  - movzx eax,word ptr [rdx+r10+02]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+334BA4: 48 83 C4 20        - add rsp,20
ed8_3_PC_JP.exe+334BA8: 5F                 - pop rdi
ed8_3_PC_JP.exe+334BA9: C3                 - ret 
ed8_3_PC_JP.exe+334BAA: CC                 - int 3 
ed8_3_PC_JP.exe+334BAB: CC                 - int 3 
ed8_3_PC_JP.exe+334BAC: CC                 - int 3 
ed8_3_PC_JP.exe+334BAD: CC                 - int 3 
ed8_3_PC_JP.exe+334BAE: CC                 - int 3 
ed8_3_PC_JP.exe+334BAF: CC                 - int 3 
ed8_3_PC_JP.exe+334BB0: 48 89 5C 24 08     - mov [rsp+08],rbx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>41</ID>
          <Description>"Drop/equip item: set # to 80"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_ITEM_CHG_CNT,$process,85 C9 66 44 0F 4F D1 66 46 89 54 0A 02 40) // should be unique
alloc(newmem,$1000,INJECT_ITEM_CHG_CNT)

label(code)
label(return)
label(i_base_ditem_addr)
label(i_base_ditem_addr1)


aobscanmodule(INJECT_ITEM_CHG_CNT1,$process,41 0F 10 04 37) // should be unique
alloc(newmem1,$1000,INJECT_ITEM_CHG_CNT1)

label(code1)
label(return1)


newmem:
  mov [i_base_allitem_addr], r9
  mov [i_base_item_off_addr], rdx
  push r15
  lea r15, [rdx+r9]
  mov [i_base_ditem_addr], r15
  pop r15

  mov cx, 50

code:
  test ecx,ecx
  cmovg r10w,cx
  jmp return
align 10 cc
  i_base_ditem_addr:
  dq 0
  i_base_ditem_addr1:
  dq 0


INJECT_ITEM_CHG_CNT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_ITEM_CHG_CNT)
registersymbol(i_base_ditem_addr)
registersymbol(i_base_ditem_addr1)



newmem1:
  push r14
  lea r14, [rax+rbx]
  mov [i_base_ditem_addr1], r14
  pop r14

code1:
  movups xmm0,[r15+rsi]
  jmp return1

INJECT_ITEM_CHG_CNT1:
  jmp newmem1
return1:
registersymbol(INJECT_ITEM_CHG_CNT1)


[DISABLE]

INJECT_ITEM_CHG_CNT:
  db 85 C9 66 44 0F 4F D1

INJECT_ITEM_CHG_CNT1:
  db 41 0F 10 04 37

unregistersymbol(INJECT_ITEM_CHG_CNT)
unregistersymbol(i_base_ditem_addr)
unregistersymbol(i_base_ditem_addr1)


dealloc(newmem)

unregistersymbol(INJECT_ITEM_CHG_CNT1)
dealloc(newmem1)
{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+339968

ed8_3_PC_JP.exe+339948: 66 42 39 1C 09     - cmp [rcx+r9],bx
ed8_3_PC_JP.exe+33994D: 74 09              - je ed8_3_PC_JP.exe+339958
ed8_3_PC_JP.exe+33994F: FF C0              - inc eax
ed8_3_PC_JP.exe+339951: 41 3B C0           - cmp eax,r8d
ed8_3_PC_JP.exe+339954: 72 EA              - jb ed8_3_PC_JP.exe+339940
ed8_3_PC_JP.exe+339956: EB 1D              - jmp ed8_3_PC_JP.exe+339975
ed8_3_PC_JP.exe+339958: 48 C1 E2 05        - shl rdx,05
ed8_3_PC_JP.exe+33995C: 41 0F B7 C6        - movzx eax,r14w
ed8_3_PC_JP.exe+339960: 42 0F B7 4C 0A 02  - movzx ecx,word ptr [rdx+r9+02]
ed8_3_PC_JP.exe+339966: 2B C8              - sub ecx,eax
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+339968: 85 C9              - test ecx,ecx
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+33996A: 66 44 0F 4F D1     - cmovg r10w,cx
ed8_3_PC_JP.exe+33996F: 66 46 89 54 0A 02  - mov [rdx+r9+02],r10w
ed8_3_PC_JP.exe+339975: 40 84 F6           - test sil,sil
ed8_3_PC_JP.exe+339978: 74 0B              - je ed8_3_PC_JP.exe+339985
ed8_3_PC_JP.exe+33997A: 48 8B D7           - mov rdx,rdi
ed8_3_PC_JP.exe+33997D: 48 8B CD           - mov rcx,rbp
ed8_3_PC_JP.exe+339980: E8 2B F6 FF FF     - call ed8_3_PC_JP.exe+338FB0
ed8_3_PC_JP.exe+339985: 48 8B 5C 24 30     - mov rbx,[rsp+30]
ed8_3_PC_JP.exe+33998A: 48 8B 6C 24 38     - mov rbp,[rsp+38]
ed8_3_PC_JP.exe+33998F: 48 8B 74 24 40     - mov rsi,[rsp+40]
}

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+3390E2

ed8_3_PC_JP.exe+3390B6: 66 66 0F 1F 84 00 00 00 00 00  - nop word ptr [rax+rax+00000000]
ed8_3_PC_JP.exe+3390C0: 0F 10 01                       - movups xmm0,[rcx]
ed8_3_PC_JP.exe+3390C3: 41 0F 11 04 08                 - movups [r8+rcx],xmm0
ed8_3_PC_JP.exe+3390C8: 0F 10 49 10                    - movups xmm1,[rcx+10]
ed8_3_PC_JP.exe+3390CC: 41 0F 11 4C 08 10              - movups [r8+rcx+10],xmm1
ed8_3_PC_JP.exe+3390D2: 48 8D 49 20                    - lea rcx,[rcx+20]
ed8_3_PC_JP.exe+3390D6: 48 83 EA 01                    - sub rdx,01
ed8_3_PC_JP.exe+3390DA: 75 E4                          - jne ed8_3_PC_JP.exe+3390C0
ed8_3_PC_JP.exe+3390DC: 8B C7                          - mov eax,edi
ed8_3_PC_JP.exe+3390DE: 48 C1 E0 05                    - shl rax,05
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+3390E2: 41 0F 10 04 37                 - movups xmm0,[r15+rsi]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+3390E7: 0F 11 04 18                    - movups [rax+rbx],xmm0
ed8_3_PC_JP.exe+3390EB: 41 0F 10 4C 37 10              - movups xmm1,[r15+rsi+10]
ed8_3_PC_JP.exe+3390F1: 0F 11 4C 18 10                 - movups [rax+rbx+10],xmm1
ed8_3_PC_JP.exe+3390F6: 4C 3B E3                       - cmp r12,rbx
ed8_3_PC_JP.exe+3390F9: 74 0D                          - je ed8_3_PC_JP.exe+339108
ed8_3_PC_JP.exe+3390FB: 4D 85 E4                       - test r12,r12
ed8_3_PC_JP.exe+3390FE: 74 08                          - je ed8_3_PC_JP.exe+339108
ed8_3_PC_JP.exe+339100: 49 8B CC                       - mov rcx,r12
ed8_3_PC_JP.exe+339103: E8 58 5D 19 00                 - call ed8_3_PC_JP.exe+4CEE60
ed8_3_PC_JP.exe+339108: 4C 8B E3                       - mov r12,rbx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>43</ID>
              <Description>"Last item id"</Description>
              <DropDownList DisplayValueAsItem="1">0:ティアの薬
500:レザーブーツ
507:ストレガースター
508:ストレガームーン
509:ノマドブーツ
513:クラフトブーツ
514:ノーブルフェザー
515:アクセルブーツ
521:星靴サジテール
522:星靴サジテール
523:星靴ヴェルソー
524:ストレガーX
655:ZCFゴーグル
668:携帯格言集・風
678:ギャンブラーみっしぃ
687:小悪魔ドール
691:カレイドスフィア
692:ミラージュケープ
695:堅守のエンブレム
696:烈攻のエンブレム
697:光輝のエンブレム
698:獅子心銀星章
699:獅子心銀金星章
700:獅子心紅星章
701:獅子心蒼金大星章
3300:ニードルショット
3313:ニードルショットR
3322:破壊2
3330:アイヴィネイルSR
3335:アースグロウSR
3338:破壊3
3342:鋼星鈴
3343:金剛盾
3344:玄武刃
3345:羅漢珠
3346:不動珠
3349:ブルーアセンション
3351:ティア
3354:キュリア
3355:ティア
3356:アセラス
3361:破霊の牙
3363:クリスタルエッジR
3364:ブルーアセンションR
3367:ティアラルR
3368:ティアラルR
3372:HP2
3374:封魔の刃II
3376:破霊の牙II
3379:治癒
3381:クリスタルエッジ
3385:ティアラSR
3390:HP3
3391:魔防3
3395:海星鈴
3396:瀑布
3397:青龍刃
3398:仙道珠
3399:氷将珠
3413:ファイアボルトR
3422:必殺2
3424:炎傷の刃II
3437:攻撃3
3442:焔星鈴
3443:憤怒
3444:朱雀刃
3445:武神珠
3446:炎帝珠
3449:エアリアルダスト
3460:ネメシスアローR
3463:ブレスR
3464:ホーリーブレスR
3466:回避2
3467:移動2
3475:ネメシスアローSR
3486:嵐星鈴
3487:革命
3488:白虎刃
3489:風神珠
3490:雷神珠
3500:破迅の牙
3502:カルバリーエッジR
3507:行動力2
3515:カルバリーエッジSR
3519:クロノバーストSR
3520:行動力3
3524:刻界鈴
3525:冥皇
3526:影輪牙
3527:韋駄天珠
3528:魔王珠
3530:エクスクルセイド
3534:セラフィムリング
3538:妨害1
3546:命中2
3548:妨害2
3562:聖界鈴
3563:覇道
3564:熾天使
3565:日輪牙
3566:天帝珠
3567:七剣珠
3568:シルバーソーン
3569:ガリオンフォート
3571:アナライズ
3581:アナライズR
3588:銀言鈴
3589:月鏡
3590:虎威
3591:龍眼
3595:アナライズSR
3596:セイントフォースSR
3601:破言の牙III
3602:幽界鈴
3603:玉藻
3605:賢王珠
3606:銀狼珠
3807:教官用水着・ユウナ
3809:教官用水着・アルティナ
52685:Error
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_base_allitem_addr</Address>
              <Offsets>
                <Offset>[i_base_item_off_addr]</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>79</ID>
              <Description>"Last item amount"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_base_allitem_addr</Address>
              <Offsets>
                <Offset>42</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>40</ID>
          <Description>"Set item # to 80, if &gt;=2"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-28
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_ITEM_CNT,$process,66 42 83 7C 01 02 00) // should be unique
alloc(newmem,$1000,INJECT_SET_ITEM_CNT)

label(code)
label(return)

newmem:
  cmp word ptr [rcx+r8+02],2
  jb code
  cmp word ptr [rcx+r8+02],50
  jae code
  mov word ptr [rcx+r8+02],50

code:
  cmp word ptr [rcx+r8+02],00
  jmp return

INJECT_SET_ITEM_CNT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_ITEM_CNT)

[DISABLE]

INJECT_SET_ITEM_CNT:
  db 66 42 83 7C 01 02 00

unregistersymbol(INJECT_SET_ITEM_CNT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+215F26

ed8_3_PC_JP.exe+215EFF: CC                    - int 3 
ed8_3_PC_JP.exe+215F00: 4C 8B 05 59 73 A2 00  - mov r8,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+215F07: 33 C0                 - xor eax,eax
ed8_3_PC_JP.exe+215F09: 41 8B 90 E0 65 35 00  - mov edx,[r8+003565E0]
ed8_3_PC_JP.exe+215F10: 85 D2                 - test edx,edx
ed8_3_PC_JP.exe+215F12: 74 21                 - je ed8_3_PC_JP.exe+215F35
ed8_3_PC_JP.exe+215F14: 4D 8B 80 E8 65 35 00  - mov r8,[r8+003565E8]
ed8_3_PC_JP.exe+215F1B: 0F 1F 44 00 00        - nop dword ptr [rax+rax+00]
ed8_3_PC_JP.exe+215F20: 8B C8                 - mov ecx,eax
ed8_3_PC_JP.exe+215F22: 48 C1 E1 05           - shl rcx,05
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+215F26: 66 42 83 7C 01 02 00  - cmp word ptr [rcx+r8+02],00
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+215F2D: 74 06                 - je ed8_3_PC_JP.exe+215F35
ed8_3_PC_JP.exe+215F2F: FF C0                 - inc eax
ed8_3_PC_JP.exe+215F31: 3B C2                 - cmp eax,edx
ed8_3_PC_JP.exe+215F33: 72 EB                 - jb ed8_3_PC_JP.exe+215F20
ed8_3_PC_JP.exe+215F35: C3                    - ret 
ed8_3_PC_JP.exe+215F36: CC                    - int 3 
ed8_3_PC_JP.exe+215F37: CC                    - int 3 
ed8_3_PC_JP.exe+215F38: CC                    - int 3 
ed8_3_PC_JP.exe+215F39: CC                    - int 3 
ed8_3_PC_JP.exe+215F3A: CC                    - int 3 
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>142</ID>
      <Description>"Fast fishing"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-30
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FISHING2,$process,F3 0F 58 93 D8 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_FISHING2)

label(code)
label(return)

newmem:
  //movss xmm15, xmm2
  vxorps xmm14, xmm14, xmm14
  vucomiss xmm2, xmm14
  jae code
  vmovss xmm14, [vf_f_multi]
  vmulss xmm2, xmm2, xmm14


code:
  addss xmm2,[rbx+000001D8]
  jmp return
align 10 cc
  vf_f_multi:
  dd (float)-10

INJECT_FISHING2:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FISHING2)

[DISABLE]

INJECT_FISHING2:
  db F3 0F 58 93 D8 01 00 00

unregistersymbol(INJECT_FISHING2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+352240

ed8_3_PC_JP.exe+35220A: 41 0F 2E C0              - ucomiss xmm0,xmm8
ed8_3_PC_JP.exe+35220E: 7A 02                    - jp ed8_3_PC_JP.exe+352212
ed8_3_PC_JP.exe+352210: 74 18                    - je ed8_3_PC_JP.exe+35222A
ed8_3_PC_JP.exe+352212: F3 0F 10 83 F8 01 00 00  - movss xmm0,[rbx+000001F8]
ed8_3_PC_JP.exe+35221A: F3 0F 5E 83 FC 01 00 00  - divss xmm0,[rbx+000001FC]
ed8_3_PC_JP.exe+352222: F3 0F 11 83 00 02 00 00  - movss [rbx+00000200],xmm0
ed8_3_PC_JP.exe+35222A: F3 0F 59 15 B2 48 6B 00  - mulss xmm2,[ed8_3_PC_JP.exe+A06AE4]
ed8_3_PC_JP.exe+352232: 0F 57 C0                 - xorps xmm0,xmm0
ed8_3_PC_JP.exe+352235: 48 8B CB                 - mov rcx,rbx
ed8_3_PC_JP.exe+352238: F3 0F 10 8B DC 01 00 00  - movss xmm1,[rbx+000001DC]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+352240: F3 0F 58 93 D8 01 00 00  - addss xmm2,[rbx+000001D8]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+352248: F3 0F 5D CA              - minss xmm1,xmm2
ed8_3_PC_JP.exe+35224C: F3 0F 5F C1              - maxss xmm0,xmm1
ed8_3_PC_JP.exe+352250: F3 0F 11 83 D8 01 00 00  - movss [rbx+000001D8],xmm0
ed8_3_PC_JP.exe+352258: E8 93 75 FF FF           - call ed8_3_PC_JP.exe+3497F0
ed8_3_PC_JP.exe+35225D: F3 0F 10 93 DC 01 00 00  - movss xmm2,[rbx+000001DC]
ed8_3_PC_JP.exe+352265: 0F B7 C7                 - movzx eax,di
ed8_3_PC_JP.exe+352268: F3 0F 10 8B D8 01 00 00  - movss xmm1,[rbx+000001D8]
ed8_3_PC_JP.exe+352270: 0F 28 C2                 - movaps xmm0,xmm2
ed8_3_PC_JP.exe+352273: F3 41 0F 59 C3           - mulss xmm0,xmm11
ed8_3_PC_JP.exe+352278: 0F 2F C1                 - comiss xmm0,xmm1
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>107</ID>
      <Description>"VM Card game: Low enemy master HP"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_LOW_ENEMY_HP,$process,44 0F B7 B2 BC 02 00 00) // should be unique
alloc(newmem,$1000,INJECT_LOW_ENEMY_HP)

label(code)
label(return)

newmem:
  mov r14w, [rdx+000002BC]
  cmp r14w, 1
  jbe code
  mov r14w, 1
  mov [rdx+000002BC], r14w

code:
  movzx r14d,word ptr [rdx+000002BC]
  jmp return

INJECT_LOW_ENEMY_HP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_LOW_ENEMY_HP)

[DISABLE]

INJECT_LOW_ENEMY_HP:
  db 44 0F B7 B2 BC 02 00 00

unregistersymbol(INJECT_LOW_ENEMY_HP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+35D4F2

ed8_3_PC_JP.exe+35D4C2: 33 FF                       - xor edi,edi
ed8_3_PC_JP.exe+35D4C4: 4C 89 B4 24 30 01 00 00     - mov [rsp+00000130],r14
ed8_3_PC_JP.exe+35D4CC: 4C 2B C9                    - sub r9,rcx
ed8_3_PC_JP.exe+35D4CF: 44 0F B7 F7                 - movzx r14d,di
ed8_3_PC_JP.exe+35D4D3: 44 8D 47 07                 - lea r8d,[rdi+07]
ed8_3_PC_JP.exe+35D4D7: 66 0F 1F 84 00 00 00 00 00  - nop word ptr [rax+rax+00000000]
ed8_3_PC_JP.exe+35D4E0: 49 8B 14 09                 - mov rdx,[r9+rcx]
ed8_3_PC_JP.exe+35D4E4: 48 8B 82 A8 02 00 00        - mov rax,[rdx+000002A8]
ed8_3_PC_JP.exe+35D4EB: 66 83 78 02 02              - cmp word ptr [rax+02],02
ed8_3_PC_JP.exe+35D4F0: 75 08                       - jne ed8_3_PC_JP.exe+35D4FA
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+35D4F2: 44 0F B7 B2 BC 02 00 00     - movzx r14d,word ptr [rdx+000002BC]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+35D4FA: 48 8B 11                    - mov rdx,[rcx]
ed8_3_PC_JP.exe+35D4FD: 48 8B 82 A8 02 00 00        - mov rax,[rdx+000002A8]
ed8_3_PC_JP.exe+35D504: 66 83 78 02 02              - cmp word ptr [rax+02],02
ed8_3_PC_JP.exe+35D509: 75 07                       - jne ed8_3_PC_JP.exe+35D512
ed8_3_PC_JP.exe+35D50B: 0F B7 BA BC 02 00 00        - movzx edi,word ptr [rdx+000002BC]
ed8_3_PC_JP.exe+35D512: 48 83 C1 08                 - add rcx,08
ed8_3_PC_JP.exe+35D516: 49 83 E8 01                 - sub r8,01
ed8_3_PC_JP.exe+35D51A: 75 C4                       - jne ed8_3_PC_JP.exe+35D4E0
ed8_3_PC_JP.exe+35D51C: 0F BF DF                    - movsx ebx,di
ed8_3_PC_JP.exe+35D51F: 4C 8D 05 32 24 49 00        - lea r8,[ed8_3_PC_JP.exe+7EF958]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>108</ID>
      <Description>"VM Card game: full mana"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MANA_FULL,$process,0F BF 83 FC 05 00 00) // should be unique
alloc(newmem,$1000,INJECT_MANA_FULL)

label(code)
label(return)

newmem:
  mov ax, [rbx+000005FA]
  mov [rbx+000005FC], ax

code:
  movsx eax,word ptr [rbx+000005FC]
  jmp return

INJECT_MANA_FULL:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_MANA_FULL)

[DISABLE]

INJECT_MANA_FULL:
  db 0F BF 83 FC 05 00 00

unregistersymbol(INJECT_MANA_FULL)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+374E8F

ed8_3_PC_JP.exe+374E5D: 39 BB 48 01 00 00                 - cmp [rbx+00000148],edi
ed8_3_PC_JP.exe+374E63: 76 6E                             - jna ed8_3_PC_JP.exe+374ED3
ed8_3_PC_JP.exe+374E65: 66 66 66 0F 1F 84 00 00 00 00 00  - nop word ptr [rax+rax+00000000]
ed8_3_PC_JP.exe+374E70: 48 8B 83 50 01 00 00              - mov rax,[rbx+00000150]
ed8_3_PC_JP.exe+374E77: 44 0F B7 C6                       - movzx r8d,si
ed8_3_PC_JP.exe+374E7B: 4A 8B 14 C0                       - mov rdx,[rax+r8*8]
ed8_3_PC_JP.exe+374E7F: 48 85 D2                          - test rdx,rdx
ed8_3_PC_JP.exe+374E82: 74 41                             - je ed8_3_PC_JP.exe+374EC5
ed8_3_PC_JP.exe+374E84: 48 8B 82 A8 02 00 00              - mov rax,[rdx+000002A8]
ed8_3_PC_JP.exe+374E8B: 0F B7 48 14                       - movzx ecx,word ptr [rax+14]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+374E8F: 0F BF 83 FC 05 00 00              - movsx eax,word ptr [rbx+000005FC]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+374E96: 3B C8                             - cmp ecx,eax
ed8_3_PC_JP.exe+374E98: 7F 0E                             - jg ed8_3_PC_JP.exe+374EA8
ed8_3_PC_JP.exe+374E9A: 40 38 BB 68 05 00 00              - cmp [rbx+00000568],dil
ed8_3_PC_JP.exe+374EA1: 74 05                             - je ed8_3_PC_JP.exe+374EA8
ed8_3_PC_JP.exe+374EA3: 0F B7 C5                          - movzx eax,bp
ed8_3_PC_JP.exe+374EA6: EB 02                             - jmp ed8_3_PC_JP.exe+374EAA
ed8_3_PC_JP.exe+374EA8: 8B C7                             - mov eax,edi
ed8_3_PC_JP.exe+374EAA: 66 89 82 DE 02 00 00              - mov [rdx+000002DE],ax
ed8_3_PC_JP.exe+374EB1: 0F 28 CE                          - movaps xmm1,xmm6
ed8_3_PC_JP.exe+374EB4: 48 8B 83 50 01 00 00              - mov rax,[rbx+00000150]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>170</ID>
      <Description>"Selected equipped item ID"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-04-02
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SELED_EQUIP,$process,0F B7 84 50 A0 96 35 00) // should be unique
alloc(newmem,$1000,INJECT_SELED_EQUIP)

label(code)
label(return)
label(i_seled_item_addr)

newmem:
  push r15
  lea r15, [rax+rdx*2+003596A0]
  mov [i_seled_item_addr], r15
  pop r15

code:
  movzx eax,word ptr [rax+rdx*2+003596A0]
  jmp return
align 10 cc
  i_seled_item_addr:
  dq 0


INJECT_SELED_EQUIP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SELED_EQUIP)
registersymbol(i_seled_item_addr)

[DISABLE]

INJECT_SELED_EQUIP:
  db 0F B7 84 50 A0 96 35 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+331A43

ed8_3_PC_JP.exe+331A1F: CC                       - int 3 
ed8_3_PC_JP.exe+331A20: 66 83 FA 30              - cmp dx,30
ed8_3_PC_JP.exe+331A24: 73 26                    - jae ed8_3_PC_JP.exe+331A4C
ed8_3_PC_JP.exe+331A26: 66 41 83 F8 0A           - cmp r8w,0A
ed8_3_PC_JP.exe+331A2B: 73 1F                    - jae ed8_3_PC_JP.exe+331A4C
ed8_3_PC_JP.exe+331A2D: 0F B7 C2                 - movzx eax,dx
ed8_3_PC_JP.exe+331A30: 48 8D 0C 80              - lea rcx,[rax+rax*4]
ed8_3_PC_JP.exe+331A34: 41 0F B7 C0              - movzx eax,r8w
ed8_3_PC_JP.exe+331A38: 48 8D 14 48              - lea rdx,[rax+rcx*2]
ed8_3_PC_JP.exe+331A3C: 48 8B 05 1D B8 90 00     - mov rax,[ed8_3_PC_JP.exe+C3D260]
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+331A43: 0F B7 84 50 A0 96 35 00  - movzx eax,word ptr [rax+rdx*2+003596A0]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+331A4B: C3                       - ret 
ed8_3_PC_JP.exe+331A4C: B8 0F 27 00 00           - mov eax,0000270F
ed8_3_PC_JP.exe+331A51: C3                       - ret 
ed8_3_PC_JP.exe+331A52: CC                       - int 3 
ed8_3_PC_JP.exe+331A53: CC                       - int 3 
ed8_3_PC_JP.exe+331A54: CC                       - int 3 
ed8_3_PC_JP.exe+331A55: CC                       - int 3 
ed8_3_PC_JP.exe+331A56: CC                       - int 3 
ed8_3_PC_JP.exe+331A57: CC                       - int 3 
ed8_3_PC_JP.exe+331A58: CC                       - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>171</ID>
          <Description>"Item ID"</Description>
          <DropDownListLink>Last item id</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_seled_item_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>158</ID>
      <Description>"Get equipped Quartz"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-31
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_CUR_EQUIP_QUARTZX,$process,0F B7 04 50 C3 B8 0F) // should be unique
alloc(newmem,$1000,INJECT_GET_CUR_EQUIP_QUARTZX)

label(code)
label(return)
label(i_base_eqp_quartz_addr)

newmem:
  cmp ecx, 0
  jne code

  push r15
  lea r15, [rax+rdx*2]
  mov [i_base_eqp_quartz_addr], r15
  pop r15

code:
  movzx eax,word ptr [rax+rdx*2]
  ret 
  jmp return
align 10 cc
  i_base_eqp_quartz_addr:
  dq 0

INJECT_GET_CUR_EQUIP_QUARTZX:
  jmp newmem
return:
registersymbol(INJECT_GET_CUR_EQUIP_QUARTZX)
registersymbol(i_base_eqp_quartz_addr)

[DISABLE]

INJECT_GET_CUR_EQUIP_QUARTZX:
  db 0F B7 04 50 C3

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+331E78

ed8_3_PC_JP.exe+331E50: 66 83 FA 30           - cmp dx,30
ed8_3_PC_JP.exe+331E54: 73 27                 - jae ed8_3_PC_JP.exe+331E7D
ed8_3_PC_JP.exe+331E56: 66 41 83 F8 09        - cmp r8w,09
ed8_3_PC_JP.exe+331E5B: 73 20                 - jae ed8_3_PC_JP.exe+331E7D
ed8_3_PC_JP.exe+331E5D: 0F B7 C2              - movzx eax,dx
ed8_3_PC_JP.exe+331E60: 48 05 40 FB 02 00     - add rax,0002FB40
ed8_3_PC_JP.exe+331E66: 41 0F B7 C8           - movzx ecx,r8w
ed8_3_PC_JP.exe+331E6A: 48 8D 14 C0           - lea rdx,[rax+rax*8]
ed8_3_PC_JP.exe+331E6E: 48 8B 05 EB B3 90 00  - mov rax,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+331E75: 48 03 D1              - add rdx,rcx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+331E78: 0F B7 04 50           - movzx eax,word ptr [rax+rdx*2]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+331E7C: C3                    - ret 
ed8_3_PC_JP.exe+331E7D: B8 0F 27 00 00        - mov eax,0000270F
ed8_3_PC_JP.exe+331E82: C3                    - ret 
ed8_3_PC_JP.exe+331E83: CC                    - int 3 
ed8_3_PC_JP.exe+331E84: CC                    - int 3 
ed8_3_PC_JP.exe+331E85: CC                    - int 3 
ed8_3_PC_JP.exe+331E86: CC                    - int 3 
ed8_3_PC_JP.exe+331E87: CC                    - int 3 
ed8_3_PC_JP.exe+331E88: CC                    - int 3 
ed8_3_PC_JP.exe+331E89: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>168</ID>
          <Description>"Usage: menu -&gt; Orbment"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>159</ID>
          <Description>"Master Quartz #1"</Description>
          <DropDownList DisplayValueAsItem="1">3200:カグツチ
3201:スクルド
3202:シリウス
3203:ディーヴァ
3204:カノン
3205:レグルス
3206:ゼファー
3207:カレイド
3208:オベロン
3209:メビウス
3210:ソフィア
3211:キーパー
3212:ティタニア
3213:オボロ
3214:カッツェ
3215:ヴァルゴ
3216:スコルピオ
3220:トール
3221:ベオウルフ
3222:ゴーズ
3228:レガリアex
3229:ヴァルハラex
3240:カレイドex
3241:メビウスex
3242:オボロex
3245:エンブレムex
3300:ニードルショット
3309:破壊1
3313:ニードルショットR
3322:破壊2
3321:防御2
3330:アイヴィネイルSR
3335:アースグロウSR
3338:破壊3
3342:鋼星鈴
3343:金剛盾
3344:玄武刃
3345:羅漢珠
3346:不動珠
3349:ブルーアセンション
3351:ティア
3354:キュリア
3355:ティア
3356:アセラス
3361:破霊の牙
3363:クリスタルエッジR
3364:ブルーアセンションR
3367:ティアラルR
3368:ティアラルR
3371:アセラスR
3372:HP2
3374:封魔の刃II
3376:破霊の牙II
3379:治癒
3381:クリスタルエッジ
3385:ティアラSR
3390:HP3
3391:魔防3
3395:海星鈴
3396:瀑布
3397:青龍刃
3398:仙道珠
3399:氷将珠
3401:ベノムフレイム
3413:ファイアボルトR
3421:攻撃2
3422:必殺2
3424:炎傷の刃II
3437:攻撃3
3442:焔星鈴
3443:憤怒
3444:朱雀刃
3445:武神珠
3446:炎帝珠
3449:エアリアルダスト
3453:レキュリア
3460:ネメシスアローR
3463:ブレスR
3464:ホーリーブレスR
3466:回避2
3467:移動2
3475:ネメシスアローSR
3486:嵐星鈴
3487:革命
3488:白虎刃
3489:風神珠
3490:雷神珠
3498:駆動1
3500:破迅の牙
3502:カルバリーエッジR
3507:行動力2
3508:駆動2
3515:カルバリーエッジSR
3519:クロノバーストSR
3520:行動力3
3524:刻界鈴
3525:冥皇
3526:影輪牙
3527:韋駄天珠
3528:魔王珠
3530:エクスクルセイド
3534:セラフィムリング
3538:妨害1
3539:ゴルトスフィアR
3545:省EP2
3546:命中2
3548:妨害2
3562:聖界鈴
3563:覇道
3564:熾天使
3565:日輪牙
3566:天帝珠
3567:七剣珠
3568:シルバーソーン
3569:ガリオンフォート
3571:アナライズ
3572:セイントフォース
3581:アナライズR
3583:クレセントミラーR
3584:EP2
3585:精神2
3588:銀言鈴
3589:月鏡
3590:虎威
3591:龍眼
3595:アナライズSR
3596:セイントフォースSR
3601:破言の牙III
3602:幽界鈴
3603:玉藻
3605:賢王珠
3606:銀狼珠
9999:未
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>160</ID>
          <Description>"Master Quartz #2"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>2</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>167</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>166</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>E</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>165</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>164</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>A</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>163</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>162</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>6</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>161</ID>
          <Description>"Quartz"</Description>
          <DropDownListLink>Master Quartz #1</DropDownListLink>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_eqp_quartz_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>57</ID>
      <Description>"戦歷 / Get battle records"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_BATTLE_REC,$process,8B 8C 88 84 2B 36 00 89 4C 24 30 48 8D 4D 10 4C 89 7C 24 28 4C 89 64 24 20 E8 E2) // should be unique
alloc(newmem,$1000,INJECT_GET_BATTLE_REC)

label(code)
label(return)
label(i_base_bat_rec_addr)

newmem:
  push r15
  lea r15, [rax+rcx*4+00362B84]
  cmp [i_base_bat_rec_addr], r15
  jbe endp

  mov [i_base_bat_rec_addr], r15

endp:
  pop r15

code:
  mov ecx,[rax+rcx*4+00362B84]
  jmp return
align 10 cc
  i_base_bat_rec_addr:
  dq 7FFFFFFFFFFFFFFF

INJECT_GET_BATTLE_REC:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_BATTLE_REC)
registersymbol(i_base_bat_rec_addr)

[DISABLE]

INJECT_GET_BATTLE_REC:
  db 8B 8C 88 84 2B 36 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+457520

ed8_3_PC_JP.exe+4574EA: 48 8D 45 D0                       - lea rax,[rbp-30]
ed8_3_PC_JP.exe+4574EE: 48 89 44 24 20                    - mov [rsp+20],rax
ed8_3_PC_JP.exe+4574F3: 48 8B 0D 66 5D 7E 00              - mov rcx,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+4574FA: 0F 28 D7                          - movaps xmm2,xmm7
ed8_3_PC_JP.exe+4574FD: E8 FE A3 EA FF                    - call ed8_3_PC_JP.exe+301900
ed8_3_PC_JP.exe+457502: 48 8B 05 57 5D 7E 00              - mov rax,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+457509: 4C 8D 0D CC BF 3B 00              - lea r9,[ed8_3_PC_JP.exe+8134DC]
ed8_3_PC_JP.exe+457510: 48 0F BF CB                       - movsx rcx,bx
ed8_3_PC_JP.exe+457514: 4C 8D 05 CD BF 3B 00              - lea r8,[ed8_3_PC_JP.exe+8134E8]
ed8_3_PC_JP.exe+45751B: BA 80 00 00 00                    - mov edx,00000080
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+457520: 8B 8C 88 84 2B 36 00              - mov ecx,[rax+rcx*4+00362B84]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+457527: 89 4C 24 30                       - mov [rsp+30],ecx
ed8_3_PC_JP.exe+45752B: 48 8D 4D 10                       - lea rcx,[rbp+10]
ed8_3_PC_JP.exe+45752F: 4C 89 7C 24 28                    - mov [rsp+28],r15
ed8_3_PC_JP.exe+457534: 4C 89 64 24 20                    - mov [rsp+20],r12
ed8_3_PC_JP.exe+457539: E8 E2 47 CC FF                    - call ed8_3_PC_JP.exe+11BD20
ed8_3_PC_JP.exe+45753E: 0F 28 0D 1B E1 38 00              - movaps xmm1,[ed8_3_PC_JP.exe+7E5660]
ed8_3_PC_JP.exe+457545: 48 8D 45 D0                       - lea rax,[rbp-30]
ed8_3_PC_JP.exe+457549: 48 8B 0D 10 5D 7E 00              - mov rcx,[ed8_3_PC_JP.exe+C3D260]
ed8_3_PC_JP.exe+457550: 4C 8D 4D 10                       - lea r9,[rbp+10]
ed8_3_PC_JP.exe+457554: C7 84 24 C0 00 00 00 03 00 00 00  - mov [rsp+000000C0],00000003
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>75</ID>
          <Description>"Usage: Main menu -&gt; 戦闘"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>58</ID>
          <Description>"総戦闘回数 / Number of Battles"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>59</ID>
          <Description>"戦闘勝利回数 / Battles Win"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>60</ID>
          <Description>"戦闘不能回数 / Battles lose"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>61</ID>
          <Description>"戰闘退却回数 / Battles retreat"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>62</ID>
          <Description>"敵擊破回数 / Enemys killed"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>63</ID>
          <Description>"先制攻撃発生回数"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>64</ID>
          <Description>"優勢攻撃発生回数 / Double advantage"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>65</ID>
          <Description>"奇襲攻撃発生回数 / Triple advantage"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>1C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>66</ID>
          <Description>"バックアタック発生回数 / Back attacks"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>20</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>67</ID>
          <Description>"リトライ回数 / Retry"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>24</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>68</ID>
          <Description>"Sクラフト発動回数 / S-Craft"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>28</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>69</ID>
          <Description>"ブレイク発動回数 / Break"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>2C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>70</ID>
          <Description>"追撃発動回数 / Follow attack"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>30</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>71</ID>
          <Description>"ラッシュ発動回数 / Rush"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>34</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>72</ID>
          <Description>"バースト発動回数 / Burst"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>38</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>73</ID>
          <Description>"ブレイフオーダー発動回数 / Brave order"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>3C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>74</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_bat_rec_addr</Address>
          <Offsets>
            <Offset>40</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>81</ID>
      <Description>"総合成績 / Get main sheet stats"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_MAIN_STATS,$process,8B 84 81 8C 32 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_MAIN_STATS)

label(code)
label(return)
label(i_base_m_stat_addr)
label(is_keep_kizuna)

newmem:
  mov [i_base_m_stat_addr], rcx
  cmp dword ptr [is_keep_kizuna], 1
  jne code

  cmp rax, A
  jne code

  push r15
  lea r15, [rcx+rax*4+0000328C]
  cmp word ptr [r15], 1
  jae endp
  mov word ptr [r15], 1

endp:
  pop r15


code:
  mov eax,[rcx+rax*4+0000328C]
  jmp return
align 10 cc
  i_base_m_stat_addr:
  dq 0
  is_keep_kizuna:
  dd 1

INJECT_GET_MAIN_STATS:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_MAIN_STATS)
registersymbol(i_base_m_stat_addr)
registersymbol(is_keep_kizuna)

[DISABLE]

INJECT_GET_MAIN_STATS:
  db 8B 84 81 8C 32 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+30846A

ed8_3_PC_JP.exe+308459: CC                    - int 3 
ed8_3_PC_JP.exe+30845A: CC                    - int 3 
ed8_3_PC_JP.exe+30845B: CC                    - int 3 
ed8_3_PC_JP.exe+30845C: CC                    - int 3 
ed8_3_PC_JP.exe+30845D: CC                    - int 3 
ed8_3_PC_JP.exe+30845E: CC                    - int 3 
ed8_3_PC_JP.exe+30845F: CC                    - int 3 
ed8_3_PC_JP.exe+308460: 81 FA 00 01 00 00     - cmp edx,00000100
ed8_3_PC_JP.exe+308466: 73 0A                 - jae ed8_3_PC_JP.exe+308472
ed8_3_PC_JP.exe+308468: 8B C2                 - mov eax,edx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+30846A: 8B 84 81 8C 32 00 00  - mov eax,[rcx+rax*4+0000328C]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+308471: C3                    - ret 
ed8_3_PC_JP.exe+308472: 33 C0                 - xor eax,eax
ed8_3_PC_JP.exe+308474: C3                    - ret 
ed8_3_PC_JP.exe+308475: CC                    - int 3 
ed8_3_PC_JP.exe+308476: CC                    - int 3 
ed8_3_PC_JP.exe+308477: CC                    - int 3 
ed8_3_PC_JP.exe+308478: CC                    - int 3 
ed8_3_PC_JP.exe+308479: CC                    - int 3 
ed8_3_PC_JP.exe+30847A: CC                    - int 3 
ed8_3_PC_JP.exe+30847B: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>95</ID>
          <Description>"Usage: menu "メイン" -&gt; 総合成績"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>97</ID>
          <Description>"必要のない時は閉じてください"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>113</ID>
          <Description>"Keep relationship event pt?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_keep_kizuna</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>82</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>329C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>83</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32A0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32A4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>85</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32B0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>87</ID>
          <Description>"絆ポイント"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32B4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>110</ID>
          <Description>"絆ポイント (Japanese ver.)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF0080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>ed8_3_PC_JP.exe+16AE6E4 </Address>
        </CheatEntry>
        <CheatEntry>
          <ID>88</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32B8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>112</ID>
          <Description>"教官ランク"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32C4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>89</ID>
          <Description>"総AP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32C8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>90</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32CC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>91</ID>
          <Description>"分校充実度"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32D4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>92</ID>
          <Description>"学院グレート"</Description>
          <DropDownList DisplayValueAsItem="1">0:無名
1:新進
2:中堅
3:一流
4:名門
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32D8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>93</ID>
          <Description>"クイスト達成数"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>32DC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>94</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_m_stat_addr</Address>
          <Offsets>
            <Offset>332C</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>30</ID>
      <Description>"英雄伝説 閃の軌跡III  /  https://opencheattables.com  /  CE 7.5+"</Description>
      <Options moHideChildren="1"/>
      <Color>009100</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>6</ID>
          <Description>"https://kamikouryaku.net/sennokiseki3/"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>96</ID>
          <Description>"Instant fishing"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ed8_3_PC_JP.exe
  Version: 
  Date   : 2024-03-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FAST_FISH,$process,F3 0F 10 8B DC 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_FAST_FISH)

label(code)
label(return)

newmem:
  vmovss xmm15, [vf_2]
  vmovss [rbx+000001D8], xmm15

code:
  movss xmm1,[rbx+000001DC]
  jmp return
align 10 cc
  vf_m1:
  dd (float)-1
  vf_2:
  dd (float)2

INJECT_FAST_FISH:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FAST_FISH)

[DISABLE]

INJECT_FAST_FISH:
  db F3 0F 10 8B DC 01 00 00

unregistersymbol(INJECT_FAST_FISH)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_3_PC_JP.exe+352238

ed8_3_PC_JP.exe+352205: F3 0F 10 40 4C           - movss xmm0,[rax+4C]
ed8_3_PC_JP.exe+35220A: 41 0F 2E C0              - ucomiss xmm0,xmm8
ed8_3_PC_JP.exe+35220E: 7A 02                    - jp ed8_3_PC_JP.exe+352212
ed8_3_PC_JP.exe+352210: 74 18                    - je ed8_3_PC_JP.exe+35222A
ed8_3_PC_JP.exe+352212: F3 0F 10 83 F8 01 00 00  - movss xmm0,[rbx+000001F8]
ed8_3_PC_JP.exe+35221A: F3 0F 5E 83 FC 01 00 00  - divss xmm0,[rbx+000001FC]
ed8_3_PC_JP.exe+352222: F3 0F 11 83 00 02 00 00  - movss [rbx+00000200],xmm0
ed8_3_PC_JP.exe+35222A: F3 0F 59 15 B2 48 6B 00  - mulss xmm2,[ed8_3_PC_JP.exe+A06AE4]
ed8_3_PC_JP.exe+352232: 0F 57 C0                 - xorps xmm0,xmm0
ed8_3_PC_JP.exe+352235: 48 8B CB                 - mov rcx,rbx
// ---------- INJECTING HERE ----------
ed8_3_PC_JP.exe+352238: F3 0F 10 8B DC 01 00 00  - movss xmm1,[rbx+000001DC]
// ---------- DONE INJECTING  ----------
ed8_3_PC_JP.exe+352240: F3 0F 58 93 D8 01 00 00  - addss xmm2,[rbx+000001D8]
ed8_3_PC_JP.exe+352248: F3 0F 5D CA              - minss xmm1,xmm2
ed8_3_PC_JP.exe+35224C: F3 0F 5F C1              - maxss xmm0,xmm1
ed8_3_PC_JP.exe+352250: F3 0F 11 83 D8 01 00 00  - movss [rbx+000001D8],xmm0
ed8_3_PC_JP.exe+352258: E8 93 75 FF FF           - call ed8_3_PC_JP.exe+3497F0
ed8_3_PC_JP.exe+35225D: F3 0F 10 93 DC 01 00 00  - movss xmm2,[rbx+000001DC]
ed8_3_PC_JP.exe+352265: 0F B7 C7                 - movzx eax,di
ed8_3_PC_JP.exe+352268: F3 0F 10 8B D8 01 00 00  - movss xmm1,[rbx+000001D8]
ed8_3_PC_JP.exe+352270: 0F 28 C2                 - movaps xmm0,xmm2
ed8_3_PC_JP.exe+352273: F3 41 0F 59 C3           - mulss xmm0,xmm11
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>synchronize(function() AddressList.Header.OnSectionClick = nil end)

</LuaScript>
</CheatTable>
