<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>143</ID>
      <Description>"Compact Mode"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
--https://forum.cheatengine.org/viewtopic.php?t=570055
LuaCall(function cycleFullCompact(sender,force) local state = not(compactmenuitem.Caption == 'Compact View Mode'); if force~=nil then state = not force end; compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'; getMainForm().Splitter1.Visible = state; getMainForm().Panel4.Visible    = state; getMainForm().Panel5.Visible    = state; end; function addCompactMenu() if compactmenualreadyexists then return end; local parent = getMainForm().Menu.Items; compactmenuitem = createMenuItem(parent); parent.add(compactmenuitem); compactmenuitem.Caption = 'Compact View Mode'; compactmenuitem.OnClick = cycleFullCompact; compactmenualreadyexists = 'yes'; end; addCompactMenu(); cycleFullCompact(nil,true))

[DISABLE]
LuaCall(cycleFullCompact(nil,false))


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>144</ID>
      <Description>"Turn some sctips On / Off"</Description>
      <Color>4080FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if (syntaxcheck) then return end
if memrec then print(memrec.Description) end
getLuaEngine().menuItem5.doClick()

battle_array = {143,2,7,99,119,125,113,116,31,33,16,36,93,121,133,147}


local a_len = #(battle_array)

local i = 0

for i = 1, a_len do
  getAddressList().getMemoryRecordByID(battle_array[i]).Active = true
  sleep(1)
end

print("Scripts ON; Total " .. a_len .. " items.")
getLuaEngine().Close()

[DISABLE]
{$lua}
if (syntaxcheck) then return end
if memrec then print(memrec.Description) end

battle_array_close = {133,72,21,  50,  2,7,99,119,125,116,113,31,33,16,36,93,121,143,121,147,153,157}

local a_len1 = #(battle_array_close)

local i = 0

for i = 1, a_len1 do
  getAddressList().getMemoryRecordByID(battle_array_close[i]).Active = false
end

print("Scripts OFF.")

getLuaEngine().Close()
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"Set item count"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-13
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_ITEM_CNT,$process,66 83 39 00 74 ?? 40 83 C1 20) // should be unique
alloc(newmem,$1000)

alloc(INJECT_SET_ITEM_CNTo,6)

label(code)
label(return)
label(i_item_thres_min)
label(i_item_set_to)

INJECT_SET_ITEM_CNTo:
  readmem(INJECT_SET_ITEM_CNT, 6)

newmem:
  push eax

  mov ax, [i_item_set_to]
  cmp word ptr [ecx], ax
  jae endp

  mov ax, [i_item_thres_min]
  cmp word ptr [ecx], ax
  jb endp

  mov ax, [i_item_set_to]
  mov word ptr [ecx], ax

endp:
  pop eax



code:
  cmp word ptr [ecx],00
  reassemble(INJECT_SET_ITEM_CNT+4)
  //je ed8_2_PC_JP.exe+DE38E
  jmp return
align 10 cc
  i_item_thres_min:
  dw 2
  i_item_set_to:
  dw 50


INJECT_SET_ITEM_CNT:
  jmp newmem
  nop
return:
registersymbol(INJECT_SET_ITEM_CNT)
registersymbol(INJECT_SET_ITEM_CNTo)
registersymbol(i_item_thres_min)
registersymbol(i_item_set_to)

[DISABLE]

INJECT_SET_ITEM_CNT:
  //db 66 83 39 00 74 08
  readmem(INJECT_SET_ITEM_CNTo, 6)

unregistersymbol(INJECT_SET_ITEM_CNT)
unregistersymbol(i_item_thres_min)
unregistersymbol(i_item_set_to)
dealloc(newmem)

dealloc(INJECT_SET_ITEM_CNTo)
unregistersymbol(INJECT_SET_ITEM_CNTo)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+DE380

ed8_2_PC_JP.exe+DE35E: CC                 - int 3 
ed8_2_PC_JP.exe+DE35F: CC                 - int 3 
ed8_2_PC_JP.exe+DE360: 8B 0D 5C 94 A7 00  - mov ecx,[ed8_2_PC_JP.exe+67945C]
ed8_2_PC_JP.exe+DE366: 33 C0              - xor eax,eax
ed8_2_PC_JP.exe+DE368: 8B 91 DC 36 18 00  - mov edx,[ecx+001836DC]
ed8_2_PC_JP.exe+DE36E: 81 E2 FF FF FF 7F  - and edx,7FFFFFFF
ed8_2_PC_JP.exe+DE374: 76 18              - jna ed8_2_PC_JP.exe+DE38E
ed8_2_PC_JP.exe+DE376: 8B 89 E0 36 18 00  - mov ecx,[ecx+001836E0]
ed8_2_PC_JP.exe+DE37C: 83 C1 02           - add ecx,02
ed8_2_PC_JP.exe+DE37F: 90                 - nop 
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+DE380: 66 83 39 00        - cmp word ptr [ecx],00
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+DE384: 74 08              - je ed8_2_PC_JP.exe+DE38E
ed8_2_PC_JP.exe+DE386: 40                 - inc eax
ed8_2_PC_JP.exe+DE387: 83 C1 20           - add ecx,20
ed8_2_PC_JP.exe+DE38A: 3B C2              - cmp eax,edx
ed8_2_PC_JP.exe+DE38C: 72 F2              - jb ed8_2_PC_JP.exe+DE380
ed8_2_PC_JP.exe+DE38E: C3                 - ret 
ed8_2_PC_JP.exe+DE38F: CC                 - int 3 
ed8_2_PC_JP.exe+DE390: 55                 - push ebp
ed8_2_PC_JP.exe+DE391: 8B EC              - mov ebp,esp
ed8_2_PC_JP.exe+DE393: 80 7D 08 00        - cmp byte ptr [ebp+08],00
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>6</ID>
          <Description>"Usage: Menu -&gt; Item"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Item # must &gt;="</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_item_thres_min</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>4</ID>
          <Description>"Set # to"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_item_set_to</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>7</ID>
      <Description>"Drop/change item # -&gt; set # to 80"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-13
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FORCE_SET_ITEM_CNT,$process,66 89 4C 06 02) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(i_last_citem_addr)

newmem:
  mov cx, 50
  push ebx
  lea ebx, [esi+eax]
  mov [i_last_citem_addr], ebx
  pop ebx

code:
  mov [esi+eax+02],cx
  jmp return
align 10 cc
  i_last_citem_addr:
  dd 0

INJECT_FORCE_SET_ITEM_CNT:
  jmp newmem
return:
registersymbol(INJECT_FORCE_SET_ITEM_CNT)
registersymbol(i_last_citem_addr)

[DISABLE]

INJECT_FORCE_SET_ITEM_CNT:
  db 66 89 4C 06 02

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+19738A

ed8_2_PC_JP.exe+19736D: EB 20           - jmp ed8_2_PC_JP.exe+19738F
ed8_2_PC_JP.exe+19736F: 0F B7 45 0C     - movzx eax,word ptr [ebp+0C]
ed8_2_PC_JP.exe+197373: C1 E6 05        - shl esi,05
ed8_2_PC_JP.exe+197376: 33 C9           - xor ecx,ecx
ed8_2_PC_JP.exe+197378: 0F B7 54 16 02  - movzx edx,word ptr [esi+edx+02]
ed8_2_PC_JP.exe+19737D: 2B D0           - sub edx,eax
ed8_2_PC_JP.exe+19737F: 0F B7 C2        - movzx eax,dx
ed8_2_PC_JP.exe+197382: 85 D2           - test edx,edx
ed8_2_PC_JP.exe+197384: 0F 4F C8        - cmovg ecx,eax
ed8_2_PC_JP.exe+197387: 8B 43 04        - mov eax,[ebx+04]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+19738A: 66 89 4C 06 02  - mov [esi+eax+02],cx
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+19738F: 80 7D 14 00     - cmp byte ptr [ebp+14],00
ed8_2_PC_JP.exe+197393: 74 09           - je ed8_2_PC_JP.exe+19739E
ed8_2_PC_JP.exe+197395: 8B 4D FC        - mov ecx,[ebp-04]
ed8_2_PC_JP.exe+197398: 53              - push ebx
ed8_2_PC_JP.exe+197399: E8 12 F9 FF FF  - call ed8_2_PC_JP.exe+196CB0
ed8_2_PC_JP.exe+19739E: 5E              - pop esi
ed8_2_PC_JP.exe+19739F: 5B              - pop ebx
ed8_2_PC_JP.exe+1973A0: 5F              - pop edi
ed8_2_PC_JP.exe+1973A1: 8B E5           - mov esp,ebp
ed8_2_PC_JP.exe+1973A3: 5D              - pop ebp
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Last item ID"</Description>
          <DropDownList DisplayValueAsItem="1">3389:青龍刃
3390:仙道珠
3528:韋駄天珠
3529:魔王珠
3570:探知
3621:情報
3577:麒麟牙
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_last_citem_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Caution: may affect event items!"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>99</ID>
      <Description>"Battle: Master Quartz EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-15
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MQUARTZ_MULTI,ed8_2_PC_JP.exe,88 41 FC 8B 06) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(vf_qexp_multi)
label(i_oldqxp)
label(i_newqxp)

newmem:

code:
  mov [ecx-04],al
  mov eax,[esi]

  // code start
  cmp [ecx],eax
  je endp

  mov [i_oldqxp], eax
  cvtsi2ss xmm7, eax
  cvtsi2ss xmm6, [ecx]


  //jmp exp_calc

  movss xmm5, [vf_7199]
  ucomiss xmm7, xmm5
  je endp
  ucomiss xmm6, xmm5
  je endp
  movss xmm5, [vf_22999]
  ucomiss xmm7, xmm5
  je endp
  ucomiss xmm6, xmm5
  je endp
  movss xmm5, [vf_48999]
  ucomiss xmm7, xmm5
  je endp
  ucomiss xmm6, xmm5
  je endp
  movss xmm5, [vf_89999]
  ucomiss xmm7, xmm5
  je endp
  ucomiss xmm6, xmm5
  je endp

  ucomiss xmm6, xmm7
  jae endp

exp_calc:

  movss xmm5, [vf_qexp_multi]

  subss xmm7, xmm6 // delta
  mulss xmm5, xmm7
  addss xmm6, xmm5

  //jmp exp_calc2

  push ebx

  cmp dword ptr [ecx-4],1
  je to_L1

  cmp dword ptr [ecx-4],2
  je to_L2

  cmp dword ptr [ecx-4],3
  je to_L3

  cmp dword ptr [ecx-4],4
  je to_L4

  jmp endp_pre

to_L1:
  movss xmm5, [vf_7199]
  jmp calc_final

to_L2:
  movss xmm5, [vf_22999]
  jmp calc_final

to_L3:
  movss xmm5, [vf_48999]
  jmp calc_final

to_L4:
  movss xmm5, [vf_89999]
  //jmp calc_final

calc_final:
  ucomiss xmm6, xmm5
  jbe calc_ok


  movss xmm6, xmm5

calc_ok:
exp_calc2:
  cvtss2si eax, xmm6
  mov [esi], eax
  mov [i_newqxp], eax

endp_pre:

  // no need to pop because do not calculate level
  //jmp endp

  pop ebx


endp:
  // code end

  //mov [ecx],eax
  jmp return
align 10 cc
  vf_qexp_multi:
  dd (float)6.66667
  vf_7199:
  dd (float)7199
  vf_22999:
  dd (float)22999
  vf_48999:
  dd (float)48999
  vf_89999:
  dd (float)89999
  i_oldqxp:
  dd 0
  i_newqxp:
  dd 0

INJECT_MQUARTZ_MULTI:
  jmp newmem
return:
registersymbol(INJECT_MQUARTZ_MULTI)
registersymbol(vf_qexp_multi)
registersymbol(i_oldqxp)
registersymbol(i_newqxp)
[DISABLE]

INJECT_MQUARTZ_MULTI:
  db 88 41 FC 8B 06

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+17DE84

ed8_2_PC_JP.exe+17DE52: 83 C7 20              - add edi,20
ed8_2_PC_JP.exe+17DE55: 89 45 C0              - mov [ebp-40],eax
ed8_2_PC_JP.exe+17DE58: 3D 00 08 00 00        - cmp eax,00000800
ed8_2_PC_JP.exe+17DE5D: 0F 8C FD FE FF FF     - jl ed8_2_PC_JP.exe+17DD60
ed8_2_PC_JP.exe+17DE63: 8D 93 F0 82 10 00     - lea edx,[ebx+001082F0]
ed8_2_PC_JP.exe+17DE69: 8D 8B F8 48 18 00     - lea ecx,[ebx+001848F8]
ed8_2_PC_JP.exe+17DE6F: 8D B2 D8 59 06 00     - lea esi,[edx+000659D8]
ed8_2_PC_JP.exe+17DE75: BF 1F 00 00 00        - mov edi,0000001F
ed8_2_PC_JP.exe+17DE7A: 8D 9B 00 00 00 00     - lea ebx,[ebx+00000000]
ed8_2_PC_JP.exe+17DE80: 0F B6 46 FC           - movzx eax,byte ptr [esi-04]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+17DE84: 88 41 FC              - mov [ecx-04],al
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+17DE87: 8B 06                 - mov eax,[esi]
ed8_2_PC_JP.exe+17DE89: 89 01                 - mov [ecx],eax
ed8_2_PC_JP.exe+17DE8B: 0F B6 86 DC 03 00 00  - movzx eax,byte ptr [esi+000003DC]
ed8_2_PC_JP.exe+17DE92: 88 81 DC 03 00 00     - mov [ecx+000003DC],al
ed8_2_PC_JP.exe+17DE98: 8B 86 E0 03 00 00     - mov eax,[esi+000003E0]
ed8_2_PC_JP.exe+17DE9E: 89 81 E0 03 00 00     - mov [ecx+000003E0],eax
ed8_2_PC_JP.exe+17DEA4: 8D 76 20              - lea esi,[esi+20]
ed8_2_PC_JP.exe+17DEA7: 8D 49 20              - lea ecx,[ecx+20]
ed8_2_PC_JP.exe+17DEAA: 4F                    - dec edi
ed8_2_PC_JP.exe+17DEAB: 75 D3                 - jne ed8_2_PC_JP.exe+17DE80
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>100</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_qexp_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>128</ID>
          <Description>"orig."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_oldqxp</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>129</ID>
          <Description>"new"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_newqxp</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>119</ID>
      <Description>"Battle: Set min. bravery pt."</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_BRAVERY_PT,$process,8A 8E AC 01 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(i_min_bpt)

newmem:
  mov cl, [i_min_bpt]
  cmp [esi+000001AC], cl
  jae code

  mov [esi+000001AC], cl


code:
  mov cl,[esi+000001AC]
  jmp return
align 10 cc
  i_min_bpt:
  db 1

INJECT_SET_BRAVERY_PT:
  jmp newmem
  nop
return:
registersymbol(INJECT_SET_BRAVERY_PT)
registersymbol(i_min_bpt)

[DISABLE]

INJECT_SET_BRAVERY_PT:
  db 8A 8E AC 01 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+226262

ed8_2_PC_JP.exe+226224: C7 04 24 00 00 80 3F           - mov [esp],3F800000
ed8_2_PC_JP.exe+22622B: FF 90 84 00 00 00              - call dword ptr [eax+00000084]
ed8_2_PC_JP.exe+226231: C7 86 B0 01 00 00 02 00 00 00  - mov [esi+000001B0],00000002
ed8_2_PC_JP.exe+22623B: E9 73 01 00 00                 - jmp ed8_2_PC_JP.exe+2263B3
ed8_2_PC_JP.exe+226240: 8B 8E B8 01 00 00              - mov ecx,[esi+000001B8]
ed8_2_PC_JP.exe+226246: E8 15 19 E1 FF                 - call ed8_2_PC_JP.exe+37B60
ed8_2_PC_JP.exe+22624B: 84 C0                          - test al,al
ed8_2_PC_JP.exe+22624D: 0F 85 60 01 00 00              - jne ed8_2_PC_JP.exe+2263B3
ed8_2_PC_JP.exe+226253: C7 86 B0 01 00 00 03 00 00 00  - mov [esi+000001B0],00000003
ed8_2_PC_JP.exe+22625D: E9 51 01 00 00                 - jmp ed8_2_PC_JP.exe+2263B3
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+226262: 8A 8E AC 01 00 00              - mov cl,[esi+000001AC]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+226268: 8A 86 B4 01 00 00              - mov al,[esi+000001B4]
ed8_2_PC_JP.exe+22626E: 3A C1                          - cmp al,cl
ed8_2_PC_JP.exe+226270: 74 11                          - je ed8_2_PC_JP.exe+226283
ed8_2_PC_JP.exe+226272: 1B C0                          - sbb eax,eax
ed8_2_PC_JP.exe+226274: 83 C0 05                       - add eax,05
ed8_2_PC_JP.exe+226277: 89 86 B0 01 00 00              - mov [esi+000001B0],eax
ed8_2_PC_JP.exe+22627D: 88 8E B4 01 00 00              - mov [esi+000001B4],cl
ed8_2_PC_JP.exe+226283: 83 BE B0 01 00 00 03           - cmp dword ptr [esi+000001B0],03
ed8_2_PC_JP.exe+22628A: 0F 84 23 01 00 00              - je ed8_2_PC_JP.exe+2263B3
ed8_2_PC_JP.exe+226290: 8B 8E B8 01 00 00              - mov ecx,[esi+000001B8]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>120</ID>
          <Description>"min. pt"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Byte</VariableType>
          <Address>i_min_bpt</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>125</ID>
      <Description>"Battle: オーバーライズ / Overdrive multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_OVERDRIVE_MULTI,$process,8B BB 04 09 00 00 03) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(vf_od_multi)
label(i_base_od_addr)

newmem:
  mov [i_base_od_addr], ebx

  push eax
  mov eax, [ebp+08]

  cvtsi2ss xmm7, eax
  movss xmm6, [vf_od_multi]
  mulss xmm7, xmm6
  cvtss2si eax, xmm7
  mov [ebp+08], eax

  pop eax


code:
  mov edi,[ebx+00000904]
  jmp return
align 10 cc
  vf_od_multi:
  dd (float)1.66667
  i_base_od_addr:
  dd 0


INJECT_OVERDRIVE_MULTI:
  jmp newmem
  nop
return:
registersymbol(INJECT_OVERDRIVE_MULTI)
registersymbol(vf_od_multi)
registersymbol(i_base_od_addr)

[DISABLE]

INJECT_OVERDRIVE_MULTI:
  db 8B BB 04 09 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+21ECFE

ed8_2_PC_JP.exe+21ECED: CC                 - int 3 
ed8_2_PC_JP.exe+21ECEE: CC                 - int 3 
ed8_2_PC_JP.exe+21ECEF: CC                 - int 3 
ed8_2_PC_JP.exe+21ECF0: 55                 - push ebp
ed8_2_PC_JP.exe+21ECF1: 8B EC              - mov ebp,esp
ed8_2_PC_JP.exe+21ECF3: 53                 - push ebx
ed8_2_PC_JP.exe+21ECF4: 56                 - push esi
ed8_2_PC_JP.exe+21ECF5: 8B D9              - mov ebx,ecx
ed8_2_PC_JP.exe+21ECF7: 8B 0D 5C 94 A7 00  - mov ecx,[ed8_2_PC_JP.exe+67945C]
ed8_2_PC_JP.exe+21ECFD: 57                 - push edi
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+21ECFE: 8B BB 04 09 00 00  - mov edi,[ebx+00000904]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+21ED04: 03 7D 08           - add edi,[ebp+08]
ed8_2_PC_JP.exe+21ED07: 68 13 19 00 00     - push 00001913
ed8_2_PC_JP.exe+21ED0C: 33 F6              - xor esi,esi
ed8_2_PC_JP.exe+21ED0E: E8 0D ED F4 FF     - call ed8_2_PC_JP.exe+16DA20
ed8_2_PC_JP.exe+21ED13: B9 E8 03 00 00     - mov ecx,000003E8
ed8_2_PC_JP.exe+21ED18: 84 C0              - test al,al
ed8_2_PC_JP.exe+21ED1A: 0F 45 F1           - cmovne esi,ecx
ed8_2_PC_JP.exe+21ED1D: 8B 0D 5C 94 A7 00  - mov ecx,[ed8_2_PC_JP.exe+67945C]
ed8_2_PC_JP.exe+21ED23: 68 14 19 00 00     - push 00001914
ed8_2_PC_JP.exe+21ED28: E8 F3 EC F4 FF     - call ed8_2_PC_JP.exe+16DA20
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>126</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_od_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>127</ID>
          <Description>"value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_od_addr</Address>
          <Offsets>
            <Offset>904</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>116</ID>
      <Description>"Battle: Link EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_LINK_MULTI2,$process,58 FF FF FF 89 84 B1 A4 6E 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(vf_link_multi)
label(vf_link_extra_pt)

newmem:
  //
  // ed8_2_PC_JP.exe+223A38: 89 34 83           - mov [ebx+eax*4],esi
  // link value temp
  //
  cmp [ecx+esi*4+00006EA4],eax
  jae code

  cvtsi2ss xmm7, eax
  cvtsi2ss xmm6, [ecx+esi*4+00006EA4]

  subss xmm7, xmm6
  movss xmm5, [vf_link_multi]
  mulss xmm7, xmm5
  movss xmm5, [vf_link_extra_pt]
  addss xmm7, xmm5
  addss xmm6, xmm7

  cvtss2si eax, xmm6


code:
  mov [ecx+esi*4+00006EA4],eax
  jmp return
align 10 cc
  vf_link_multi:
  dd (float)3.33333
  vf_link_extra_pt:
  dd (float)1

INJECT_LINK_MULTI2+04:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_LINK_MULTI2)
registersymbol(vf_link_multi)
registersymbol(vf_link_extra_pt)

[DISABLE]

INJECT_LINK_MULTI2+04:
  db 89 84 B1 A4 6E 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+8292F

ed8_2_PC_JP.exe+828FE: E8 9D F2 19 00        - call ed8_2_PC_JP.exe+221BA0
ed8_2_PC_JP.exe+82903: 8B 8D 6C FF FF FF     - mov ecx,[ebp-00000094]
ed8_2_PC_JP.exe+82909: 57                    - push edi
ed8_2_PC_JP.exe+8290A: FF B5 58 FF FF FF     - push [ebp-000000A8]
ed8_2_PC_JP.exe+82910: 88 84 31 A4 53 00 00  - mov [ecx+esi+000053A4],al
ed8_2_PC_JP.exe+82917: 8B 8B A0 0D 00 00     - mov ecx,[ebx+00000DA0]
ed8_2_PC_JP.exe+8291D: E8 FE F1 19 00        - call ed8_2_PC_JP.exe+221B20
ed8_2_PC_JP.exe+82922: 8B 8D 6C FF FF FF     - mov ecx,[ebp-00000094]
ed8_2_PC_JP.exe+82928: 57                    - push edi
ed8_2_PC_JP.exe+82929: FF B5 58 FF FF FF     - push [ebp-000000A8]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+8292F: 89 84 B1 A4 6E 00 00  - mov [ecx+esi*4+00006EA4],eax
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+82936: 8B 8B A0 0D 00 00     - mov ecx,[ebx+00000DA0]
ed8_2_PC_JP.exe+8293C: 81 C1 09 5A 00 00     - add ecx,00005A09
ed8_2_PC_JP.exe+82942: E8 19 F2 19 00        - call ed8_2_PC_JP.exe+221B60
ed8_2_PC_JP.exe+82947: 8B BD 6C FF FF FF     - mov edi,[ebp-00000094]
ed8_2_PC_JP.exe+8294D: 8B 8D 50 FF FF FF     - mov ecx,[ebp-000000B0]
ed8_2_PC_JP.exe+82953: 88 84 37 A4 65 00 00  - mov [edi+esi+000065A4],al
ed8_2_PC_JP.exe+8295A: EB 06                 - jmp ed8_2_PC_JP.exe+82962
ed8_2_PC_JP.exe+8295C: 8B BD 6C FF FF FF     - mov edi,[ebp-00000094]
ed8_2_PC_JP.exe+82962: 8B 83 AC 00 00 00     - mov eax,[ebx+000000AC]
ed8_2_PC_JP.exe+82968: 41                    - inc ecx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>117</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_link_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>131</ID>
          <Description>"Extra pt"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_link_extra_pt</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>113</ID>
      <Description>"Battle: EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_XP_MULTI,$process,B9 10 00 00 00 F3 A5 8B 75 F4) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(vf_exp_multi)

newmem:
  // base +28 = EXP addr
  push ebx
  push ecx

  mov ebx, [esi+28]
  mov ecx, [edi+28]

  cmp ecx, ebx
  jae endp

  cvtsi2ss xmm7, ebx
  cvtsi2ss xmm6, ecx
  subss xmm7, xmm6
  movss xmm5, [vf_exp_multi]
  mulss xmm7, xmm5
  addss xmm6, xmm7

  cvtss2si ebx, xmm6
  mov [esi+28], ebx

endp:
  pop ecx
  pop ebx

code:
  mov ecx,00000010
  jmp return
align 10 cc
  vf_exp_multi:
  dd (float)1.158412


INJECT_XP_MULTI:
  jmp newmem
return:
registersymbol(INJECT_XP_MULTI)
registersymbol(vf_exp_multi)

[DISABLE]

INJECT_XP_MULTI:
  db B9 10 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+17D6AC

ed8_2_PC_JP.exe+17D680: 81 C7 86 1C 00 00     - add edi,00001C86
ed8_2_PC_JP.exe+17D686: 89 4D F0              - mov [ebp-10],ecx
ed8_2_PC_JP.exe+17D689: 89 75 F4              - mov [ebp-0C],esi
ed8_2_PC_JP.exe+17D68C: 89 55 CC              - mov [ebp-34],edx
ed8_2_PC_JP.exe+17D68F: 89 45 D8              - mov [ebp-28],eax
ed8_2_PC_JP.exe+17D692: 89 7D DC              - mov [ebp-24],edi
ed8_2_PC_JP.exe+17D695: C7 45 C0 30 00 00 00  - mov [ebp-40],00000030
ed8_2_PC_JP.exe+17D69C: 8D 64 24 00           - lea esp,[esp+00]
ed8_2_PC_JP.exe+17D6A0: 8D B9 00 F4 FF FF     - lea edi,[ecx-00000C00]
ed8_2_PC_JP.exe+17D6A6: 81 C6 00 F4 FF FF     - add esi,FFFFF400
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+17D6AC: B9 10 00 00 00        - mov ecx,00000010
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+17D6B1: F3 A5                 - repe movsd 
ed8_2_PC_JP.exe+17D6B3: 8B 75 F4              - mov esi,[ebp-0C]
ed8_2_PC_JP.exe+17D6B6: 8B 7D F0              - mov edi,[ebp-10]
ed8_2_PC_JP.exe+17D6B9: B9 10 00 00 00        - mov ecx,00000010
ed8_2_PC_JP.exe+17D6BE: F3 A5                 - repe movsd 
ed8_2_PC_JP.exe+17D6C0: 8B 75 DC              - mov esi,[ebp-24]
ed8_2_PC_JP.exe+17D6C3: 8B 4D D8              - mov ecx,[ebp-28]
ed8_2_PC_JP.exe+17D6C6: 0F B7 46 FE           - movzx eax,word ptr [esi-02]
ed8_2_PC_JP.exe+17D6CA: 66 89 41 FE           - mov [ecx-02],ax
ed8_2_PC_JP.exe+17D6CE: 0F B7 06              - movzx eax,word ptr [esi]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>114</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_exp_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>31</ID>
      <Description>"Battle: EP do not decrease"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-14
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATTLE_FULL_EP,$process,2B 45 08 0F B7 B7 8A 02 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  push ebx
  mov ebx, [ebp+08]
  cmp ebx, 0
  jle endp

  xor ebx, ebx
  mov [ebp+08], ebx

endp:
  pop ebx

code:
  sub eax,[ebp+08]
  movzx esi,word ptr [edi+0000028A]
  jmp return

INJECT_BATTLE_FULL_EP:
  jmp newmem
  nop 5
return:
registersymbol(INJECT_BATTLE_FULL_EP)

[DISABLE]

INJECT_BATTLE_FULL_EP:
  db 2B 45 08 0F B7 B7 8A 02 00 00

unregistersymbol(INJECT_BATTLE_FULL_EP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+41CAC

ed8_2_PC_JP.exe+41C83: 0F B7 87 12 03 00 00           - movzx eax,word ptr [edi+00000312]
ed8_2_PC_JP.exe+41C8A: 8B 4F 04                       - mov ecx,[edi+04]
ed8_2_PC_JP.exe+41C8D: 50                             - push eax
ed8_2_PC_JP.exe+41C8E: E8 4D FC 02 00                 - call ed8_2_PC_JP.exe+718E0
ed8_2_PC_JP.exe+41C93: 85 C0                          - test eax,eax
ed8_2_PC_JP.exe+41C95: 74 0E                          - je ed8_2_PC_JP.exe+41CA5
ed8_2_PC_JP.exe+41C97: F7 80 7C 02 00 00 00 00 20 00  - test [eax+0000027C],00200000
ed8_2_PC_JP.exe+41CA1: 8B F8                          - mov edi,eax
ed8_2_PC_JP.exe+41CA3: 75 DE                          - jne ed8_2_PC_JP.exe+41C83
ed8_2_PC_JP.exe+41CA5: 0F B7 87 88 02 00 00           - movzx eax,word ptr [edi+00000288]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+41CAC: 2B 45 08                       - sub eax,[ebp+08]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+41CAF: 0F B7 B7 8A 02 00 00           - movzx esi,word ptr [edi+0000028A]
ed8_2_PC_JP.exe+41CB6: 33 D2                          - xor edx,edx
ed8_2_PC_JP.exe+41CB8: 85 C0                          - test eax,eax
ed8_2_PC_JP.exe+41CBA: 0F 4F D0                       - cmovg edx,eax
ed8_2_PC_JP.exe+41CBD: 0F B7 C2                       - movzx eax,dx
ed8_2_PC_JP.exe+41CC0: 8B CE                          - mov ecx,esi
ed8_2_PC_JP.exe+41CC2: 3B D6                          - cmp edx,esi
ed8_2_PC_JP.exe+41CC4: 0F 4C C8                       - cmovl ecx,eax
ed8_2_PC_JP.exe+41CC7: 66 89 8F 88 02 00 00           - mov [edi+00000288],cx
ed8_2_PC_JP.exe+41CCE: 5F                             - pop edi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>33</ID>
      <Description>"Battle: Full CP"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-14
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATTLE_CP,$process,2B 45 08 0F B7 B7 8E 02 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  //mov [i_last_obj_addr], esi
  cmp byte ptr [edi+0000027C], 0
  jne code

  xor eax, eax
  mov [ebp+08], eax
  mov ax, [edi+0000028E]
  mov [edi+0000028C], ax

code:
  sub eax,[ebp+08]

  movzx esi,word ptr [edi+0000028E]
  jmp return

INJECT_BATTLE_CP:
  jmp newmem
  nop 5
return:
registersymbol(INJECT_BATTLE_CP)

[DISABLE]

INJECT_BATTLE_CP:
  db 2B 45 08 0F B7 B7 8E 02 00 00

unregistersymbol(INJECT_BATTLE_CP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+41B6C

ed8_2_PC_JP.exe+41B43: 0F B7 87 12 03 00 00           - movzx eax,word ptr [edi+00000312]
ed8_2_PC_JP.exe+41B4A: 8B 4F 04                       - mov ecx,[edi+04]
ed8_2_PC_JP.exe+41B4D: 50                             - push eax
ed8_2_PC_JP.exe+41B4E: E8 8D FD 02 00                 - call ed8_2_PC_JP.exe+718E0
ed8_2_PC_JP.exe+41B53: 85 C0                          - test eax,eax
ed8_2_PC_JP.exe+41B55: 74 0E                          - je ed8_2_PC_JP.exe+41B65
ed8_2_PC_JP.exe+41B57: F7 80 7C 02 00 00 00 00 20 00  - test [eax+0000027C],00200000
ed8_2_PC_JP.exe+41B61: 8B F8                          - mov edi,eax
ed8_2_PC_JP.exe+41B63: 75 DE                          - jne ed8_2_PC_JP.exe+41B43
ed8_2_PC_JP.exe+41B65: 0F B7 87 8C 02 00 00           - movzx eax,word ptr [edi+0000028C]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+41B6C: 2B 45 08                       - sub eax,[ebp+08]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+41B6F: 0F B7 B7 8E 02 00 00           - movzx esi,word ptr [edi+0000028E]
ed8_2_PC_JP.exe+41B76: 33 D2                          - xor edx,edx
ed8_2_PC_JP.exe+41B78: 85 C0                          - test eax,eax
ed8_2_PC_JP.exe+41B7A: 0F 4F D0                       - cmovg edx,eax
ed8_2_PC_JP.exe+41B7D: 0F B7 C2                       - movzx eax,dx
ed8_2_PC_JP.exe+41B80: 8B CE                          - mov ecx,esi
ed8_2_PC_JP.exe+41B82: 3B D6                          - cmp edx,esi
ed8_2_PC_JP.exe+41B84: 0F 4C C8                       - cmovl ecx,eax
ed8_2_PC_JP.exe+41B87: 66 89 8F 8C 02 00 00           - mov [edi+0000028C],cx
ed8_2_PC_JP.exe+41B8E: 5F                             - pop edi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>16</ID>
      <Description>"Battle: Damage multiplier"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-14
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_DAMAGE_MULTI,$process,89 BE 80 02 00 00) // should be unique
alloc(newmem,$1000)

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)

newmem:
  mov [i_last_obj_addr], esi

  cmp edi, 0
  je check_multi
  jmp check2

check_multi:
  cmp dword ptr [vf_dmg_to_player_multi], 0 // multiplier = 0
  je check2
  cmp dword ptr [vf_dmg_to_enemy_multi], 0
  je check2

check2:

  cmp byte [esi+0000027C], 0
  je to_player
  jmp to_enemy

to_player:
  push ebx

  mov dword ptr [i_batt_target], 1

  cmp dword ptr [is_full_ep], 1
  jne next1
  mov bx, [esi+0000028A]
  mov [esi+00000288], bx

next1:
  cmp dword ptr [is_full_cp], 1
  jne next2
  mov bx, [esi+0000028E]
  mov [esi+0000028C], bx

next2:
  mov ebx, [esi+00000280]
  cmp ebx ,edi
  jbe to_player_pre

  movss xmm5, [vf_dmg_to_player_multi]
  cvtsi2ss xmm7, edi
  movss [i_dmg_orig], xmm7
  cvtsi2ss xmm6, [esi+00000280]
  subss xmm6, xmm7 // Delta (damage)
  mulss xmm6, xmm5 // final damage
  cvtsi2ss xmm7, [esi+00000280]
  subss xmm7, xmm6

  xorps xmm6, xmm6
  ucomiss xmm7, xmm6
  ja next3
  xorps xmm7, xmm7

next3:
  movss [i_dmg_new], xmm7
  cvtss2si edi, xmm7

to_player_pre:
  pop ebx
  jmp code

to_enemy:
  cmp [esi+00000280],edi
  jbe code

  mov dword ptr [i_batt_target], 2

  movss xmm5, [vf_dmg_to_enemy_multi]
  cvtsi2ss xmm7, edi
  movss [i_dmg_orig], xmm7
  cvtsi2ss xmm6, [esi+00000280]
  subss xmm6, xmm7 // Delta (damage)
  mulss xmm6, xmm5 // final damage
  cvtsi2ss xmm7, [esi+00000280]
  subss xmm7, xmm6

  //xorps xmm6, xmm6
  movss xmm6, [vf_1]
  ucomiss xmm7, xmm6

  ja to_enemy_1
  xorps xmm7, xmm7

to_enemy_1:
  movss [i_dmg_new], xmm7
  cvtss2si edi, xmm7

code:
  mov [esi+00000280],edi
  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.01
  i_last_obj_addr:
  dd 0
  i_dmg_orig:
  dd 0
  i_dmg_new:
  dd 0
  vf_1:
  dd (float)1
  i_batt_target:
  dd 0


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)

[DISABLE]

INJECT_DAMAGE_MULTI:
  db 89 BE 80 02 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+41DD6

ed8_2_PC_JP.exe+41DBA: 03 FA                 - add edi,edx
ed8_2_PC_JP.exe+41DBC: 8B 4D B8              - mov ecx,[ebp-48]
ed8_2_PC_JP.exe+41DBF: 33 C0                 - xor eax,eax
ed8_2_PC_JP.exe+41DC1: 2B CB                 - sub ecx,ebx
ed8_2_PC_JP.exe+41DC3: 85 C9                 - test ecx,ecx
ed8_2_PC_JP.exe+41DC5: 0F 4F C1              - cmovg eax,ecx
ed8_2_PC_JP.exe+41DC8: 3B C7                 - cmp eax,edi
ed8_2_PC_JP.exe+41DCA: 0F 4C F8              - cmovl edi,eax
ed8_2_PC_JP.exe+41DCD: 8B 86 7C 02 00 00     - mov eax,[esi+0000027C]
ed8_2_PC_JP.exe+41DD3: C1 E8 1C              - shr eax,1C
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+41DD6: 89 BE 80 02 00 00     - mov [esi+00000280],edi
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+41DDC: A8 01                 - test al,01
ed8_2_PC_JP.exe+41DDE: 74 1E                 - je ed8_2_PC_JP.exe+41DFE
ed8_2_PC_JP.exe+41DE0: 8B 46 04              - mov eax,[esi+04]
ed8_2_PC_JP.exe+41DE3: 80 B8 64 0E 00 00 00  - cmp byte ptr [eax+00000E64],00
ed8_2_PC_JP.exe+41DEA: 74 12                 - je ed8_2_PC_JP.exe+41DFE
ed8_2_PC_JP.exe+41DEC: B9 01 00 00 00        - mov ecx,00000001
ed8_2_PC_JP.exe+41DF1: 8B C7                 - mov eax,edi
ed8_2_PC_JP.exe+41DF3: 3B F9                 - cmp edi,ecx
ed8_2_PC_JP.exe+41DF5: 0F 42 C1              - cmovb eax,ecx
ed8_2_PC_JP.exe+41DF8: 89 86 80 02 00 00     - mov [esi+00000280],eax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Full EP when 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>18</ID>
          <Description>"Full CP when 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>19</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>20</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>21</ID>
          <Description>"_debug"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>808080</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>22</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>240</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>90</ID>
              <Description>"? 27C"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Byte</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>27C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>89</ID>
              <Description>"? 27D"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Byte</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>27D</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>88</ID>
              <Description>"HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>280</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>23</ID>
              <Description>"Max HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>284</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>24</ID>
              <Description>"EP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>288</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>25</ID>
              <Description>"Max EP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>28A</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>26</ID>
              <Description>"CP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>28C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>27</ID>
              <Description>"Max CP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>2 Bytes</VariableType>
              <Address>i_last_obj_addr</Address>
              <Offsets>
                <Offset>28E</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>29</ID>
              <Description>"HP orig."</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>Float</VariableType>
              <Address>i_dmg_orig</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>28</ID>
              <Description>"HP new"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>Float</VariableType>
              <Address>i_dmg_new</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>87</ID>
              <Description>"判別"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:N/A
1:我
2:敵
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_batt_target</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>147</ID>
      <Description>"Set min. hit/evade/move"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-17
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_MIN_ACC_EVA,$process,F1 B9 10 00 00 00 8B F8) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(i_target_acc)
label(i_target_eva)
label(i_target_mov)

newmem:
  mov cx, [i_target_acc]
  cmp [esi+26], cx
  jae next2

  mov [esi+26], cx


next2:
  mov cx, [i_target_eva]
  cmp [esi+2C], cx
  jae next3

  mov [esi+2C], cx

next3:
  mov cx, [i_target_mov]
  cmp [esi+1E], cx
  jae code

  mov [esi+1E], cx

code:
  mov ecx,00000010
  jmp return
align 10 cc
  i_target_acc:
  dw #75
  i_target_eva:
  dw #33
  i_target_mov:
  dw #24


INJECT_SET_MIN_ACC_EVA+01:
  jmp newmem
return:
registersymbol(INJECT_SET_MIN_ACC_EVA)
registersymbol(i_target_acc)
registersymbol(i_target_eva)
registersymbol(i_target_mov)
[DISABLE]

INJECT_SET_MIN_ACC_EVA+01:
  db B9 10 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+1761A1

ed8_2_PC_JP.exe+176183: 66 89 48 3E        - mov [eax+3E],cx
ed8_2_PC_JP.exe+176187: 66 8B 4D 0C        - mov cx,[ebp+0C]
ed8_2_PC_JP.exe+17618B: 66 83 F9 30        - cmp cx,30
ed8_2_PC_JP.exe+17618F: 73 1B              - jae ed8_2_PC_JP.exe+1761AC
ed8_2_PC_JP.exe+176191: 56                 - push esi
ed8_2_PC_JP.exe+176192: 0F B7 C9           - movzx ecx,cx
ed8_2_PC_JP.exe+176195: C1 E1 06           - shl ecx,06
ed8_2_PC_JP.exe+176198: 57                 - push edi
ed8_2_PC_JP.exe+176199: 8D B2 8C 0C 18 00  - lea esi,[edx+00180C8C]
ed8_2_PC_JP.exe+17619F: 03 F1              - add esi,ecx
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+1761A1: B9 10 00 00 00     - mov ecx,00000010
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+1761A6: 8B F8              - mov edi,eax
ed8_2_PC_JP.exe+1761A8: F3 A5              - repe movsd 
ed8_2_PC_JP.exe+1761AA: 5F                 - pop edi
ed8_2_PC_JP.exe+1761AB: 5E                 - pop esi
ed8_2_PC_JP.exe+1761AC: 5D                 - pop ebp
ed8_2_PC_JP.exe+1761AD: C2 08 00           - ret 0008
ed8_2_PC_JP.exe+1761B0: 55                 - push ebp
ed8_2_PC_JP.exe+1761B1: 8B EC              - mov ebp,esp
ed8_2_PC_JP.exe+1761B3: 66 8B 45 08        - mov ax,[ebp+08]
ed8_2_PC_JP.exe+1761B7: 66 83 F8 30        - cmp ax,30
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>148</ID>
          <Description>"Hit rate"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_target_acc</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>149</ID>
          <Description>"Evade"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_target_eva</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>150</ID>
          <Description>"Mov"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_target_mov</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>36</ID>
      <Description>"Get Sepiths"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-15
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_SEPITH,$process,8B 84 88 B4 50 18 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(i_base_sepi_addr)
label(i_min_sepi)

newmem:
  push ebx
  lea ebx, [eax+001850B4]
  mov [i_base_sepi_addr], ebx
  pop ebx

code:
  // code start
  push ebx
  mov ebx, eax
  // code end

  mov eax,[eax+ecx*4+001850B4]

  // code start
  cmp eax, [i_min_sepi]
  jae endp

  mov eax, [i_min_sepi]
  mov [ebx+ecx*4+001850B4], eax

endp:
  pop ebx

  // code end

  jmp return
align 10 cc
  i_base_sepi_addr:
  dd 0
  i_min_sepi:
  dd #24026

INJECT_GET_SEPITH:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_SEPITH)
registersymbol(i_base_sepi_addr)
registersymbol(i_min_sepi)

[DISABLE]

INJECT_GET_SEPITH:
  db 8B 84 88 B4 50 18 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+19540B

ed8_2_PC_JP.exe+1953F5: 0F B6 40 4D           - movzx eax,byte ptr [eax+4D]
ed8_2_PC_JP.exe+1953F9: 5E                    - pop esi
ed8_2_PC_JP.exe+1953FA: 5D                    - pop ebp
ed8_2_PC_JP.exe+1953FB: C2 04 00              - ret 0004
ed8_2_PC_JP.exe+1953FE: CC                    - int 3 
ed8_2_PC_JP.exe+1953FF: CC                    - int 3 
ed8_2_PC_JP.exe+195400: 55                    - push ebp
ed8_2_PC_JP.exe+195401: 8B EC                 - mov ebp,esp
ed8_2_PC_JP.exe+195403: 8B 4D 08              - mov ecx,[ebp+08]
ed8_2_PC_JP.exe+195406: A1 5C 94 A7 00        - mov eax,[ed8_2_PC_JP.exe+67945C]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+19540B: 8B 84 88 B4 50 18 00  - mov eax,[eax+ecx*4+001850B4]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+195412: 5D                    - pop ebp
ed8_2_PC_JP.exe+195413: C2 04 00              - ret 0004
ed8_2_PC_JP.exe+195416: CC                    - int 3 
ed8_2_PC_JP.exe+195417: CC                    - int 3 
ed8_2_PC_JP.exe+195418: CC                    - int 3 
ed8_2_PC_JP.exe+195419: CC                    - int 3 
ed8_2_PC_JP.exe+19541A: CC                    - int 3 
ed8_2_PC_JP.exe+19541B: CC                    - int 3 
ed8_2_PC_JP.exe+19541C: CC                    - int 3 
ed8_2_PC_JP.exe+19541D: CC                    - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>38</ID>
          <Description>"Usage: menu -&gt; Item"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>108</ID>
          <Description>"min. sepith"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_sepi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>46</ID>
          <Description>"Mira"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>40</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>37</ID>
          <Description>"セピス(Yellow)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>39</ID>
          <Description>"セピス(Blue)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>40</ID>
          <Description>"セピス(Red)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>41</ID>
          <Description>"セピス(Green)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"セピス(Gray)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>43</ID>
          <Description>"セピス(Golden)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"セピス(Silver)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"セピス塊 (piece)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_sepi_addr</Address>
          <Offsets>
            <Offset>1C</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>50</ID>
      <Description>"Get some stats"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-15
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_BATTLE_STAT,$process,FF B4 B0 ?? ?? ?? ?? 8D 45 BC 68) // should be unique
alloc(newmem,$1000)

alloc(INJECT_GET_BATTLE_STATo,7)

label(code)
label(return)
label(i_base_stat_addr)
label(i_base_stat_off)

INJECT_GET_BATTLE_STATo:
  readmem(INJECT_GET_BATTLE_STAT, 7)

newmem:
  push ebx
  mov ebx, [INJECT_GET_BATTLE_STATo+3]
  mov [i_base_stat_off], ebx
  //lea ebx, [eax+0018C000]
  lea ebx, [eax]
  mov [i_base_stat_addr], ebx
  pop ebx

code:
  //push [eax+esi*4+0018C000]
  readmem(INJECT_GET_BATTLE_STAT, 7)
  jmp return
align 10 cc
  i_base_stat_addr:
  dd 0
  i_base_stat_off:
  dd 0

INJECT_GET_BATTLE_STAT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_BATTLE_STAT)
registersymbol(i_base_stat_addr)
registersymbol(INJECT_GET_BATTLE_STATo)
registersymbol(i_base_stat_off)

[DISABLE]

INJECT_GET_BATTLE_STAT:
  //db FF B4 B0 00 C0 18 00
  readmem(INJECT_GET_BATTLE_STATo, 7)

unregistersymbol(i_base_stat_addr)
unregistersymbol(i_base_stat_off)
unregistersymbol(INJECT_GET_BATTLE_STAT)

dealloc(INJECT_GET_BATTLE_STATo)
unregistersymbol(INJECT_GET_BATTLE_STATo)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+2626B8

ed8_2_PC_JP.exe+262691: F3 0F 2C C0              - cvttss2si eax,xmm0
ed8_2_PC_JP.exe+262695: 2B 45 80                 - sub eax,[ebp-80]
ed8_2_PC_JP.exe+262698: 50                       - push eax
ed8_2_PC_JP.exe+262699: E8 C2 1F F1 FF           - call ed8_2_PC_JP.exe+174660
ed8_2_PC_JP.exe+26269E: 0F 57 C0                 - xorps xmm0,xmm0
ed8_2_PC_JP.exe+2626A1: F3 0F 58 05 A0 18 8F 00  - addss xmm0,[ed8_2_PC_JP.exe+4F18A0]
ed8_2_PC_JP.exe+2626A9: 33 DB                    - xor ebx,ebx
ed8_2_PC_JP.exe+2626AB: F3 0F 11 45 A8           - movss [ebp-58],xmm0
ed8_2_PC_JP.exe+2626B0: A1 5C 94 A7 00           - mov eax,[ed8_2_PC_JP.exe+67945C]
ed8_2_PC_JP.exe+2626B5: 0F BF F3                 - movsx esi,bx
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+2626B8: FF B4 B0 00 C0 18 00     - push [eax+esi*4+0018C000]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+2626BF: 8D 45 BC                 - lea eax,[ebp-44]
ed8_2_PC_JP.exe+2626C2: 68 78 E8 8F 00           - push ed8_2_PC_JP.exe+4FE878
ed8_2_PC_JP.exe+2626C7: 6A 40                    - push 40
ed8_2_PC_JP.exe+2626C9: 50                       - push eax
ed8_2_PC_JP.exe+2626CA: E8 E1 16 DC FF           - call ed8_2_PC_JP.exe+23DB0
ed8_2_PC_JP.exe+2626CF: F3 0F 10 45 B0           - movss xmm0,[ebp-50]
ed8_2_PC_JP.exe+2626D4: F3 0F 58 05 C4 BC 8E 00  - addss xmm0,[ed8_2_PC_JP.exe+4EBCC4]
ed8_2_PC_JP.exe+2626DC: 8B 8F B0 01 00 00        - mov ecx,[edi+000001B0]
ed8_2_PC_JP.exe+2626E2: 8D 04 B6                 - lea eax,[esi+esi*4]
ed8_2_PC_JP.exe+2626E5: C1 E0 03                 - shl eax,03
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>80</ID>
          <Description>"Usage: Main note menu-&gt; Battle"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>51</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Double</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>20</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Float</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>88</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>83</ID>
          <Description>"釣果ポイント / Fishing pt."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]-2958</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>97</ID>
          <Description>"釣果ポイント(総) / Fishing pt total."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>1896AC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>96</ID>
          <Description>"総戦闘回数 / Battle total"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>52</ID>
          <Description>"戦闘勝利回数 / Battle Win"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>53</ID>
          <Description>"戦闘不能回数 / Battle loss"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>54</ID>
          <Description>"戰闘退却回数 / Battle flee"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>55</ID>
          <Description>"敵擊破回数 / Enemy killed"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>57</ID>
          <Description>"先制攻撃発生回数"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>56</ID>
          <Description>"優勢攻撃発生回数 / Double advantage"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>58</ID>
          <Description>"奇襲攻撃発生回数 / Triple advantage"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+1C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>59</ID>
          <Description>"バックアタック発生回数 / Back attack"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+20</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>60</ID>
          <Description>"リトライ回数 / Retry"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+24</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>61</ID>
          <Description>"Sブレイク発動回数 / S-Break"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+28</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>62</ID>
          <Description>"回避カウンター発動回数 / Counter"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+2C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>63</ID>
          <Description>"駆動解除発動回数 / Break casting"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+30</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>64</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+34</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>65</ID>
          <Description>"リンクアタック発動回数 / Link attack"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+38</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>66</ID>
          <Description>"追撃発動回数 / Follow attack"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+3C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>67</ID>
          <Description>"ラッシュ発動回数 / Rush"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+40</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>68</ID>
          <Description>"バースト発動回数 / Burst"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+44</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>69</ID>
          <Description>"オーバーライズ発動回数 / Overdrive"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+48</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>70</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_stat_addr</Address>
          <Offsets>
            <Offset>[i_base_stat_off]+4C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>72</ID>
          <Description>"_"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>82</ID>
              <Description>"offset"</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_stat_off</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>71</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-40</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>73</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-3C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>74</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-38</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>75</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-34</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>76</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-30</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>77</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-2C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>78</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-28</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>79</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_stat_addr</Address>
              <Offsets>
                <Offset>[i_base_stat_off]-24</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>93</ID>
      <Description>"Fast fishing"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-15
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FAST_FISHING,$process,F3 0F 58 96 F4 01 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  movss xmm2, [vf_tick]

code:
  addss xmm2,[esi+000001F4]
  jmp return
align 10 cc
  vf_tick:
  dd (float)0.006667

INJECT_FAST_FISHING:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FAST_FISHING)

[DISABLE]

INJECT_FAST_FISHING:
  db F3 0F 58 96 F4 01 00 00

unregistersymbol(INJECT_FAST_FISHING)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+1A9C12

ed8_2_PC_JP.exe+1A9BDB: 8B 86 A4 01 00 00        - mov eax,[esi+000001A4]
ed8_2_PC_JP.exe+1A9BE1: F3 0F 11 86 E0 01 00 00  - movss [esi+000001E0],xmm0
ed8_2_PC_JP.exe+1A9BE9: F3 0F 10 50 14           - movss xmm2,[eax+14]
ed8_2_PC_JP.exe+1A9BEE: F3 0F 59 96 B4 01 00 00  - mulss xmm2,[esi+000001B4]
ed8_2_PC_JP.exe+1A9BF6: 0F 57 15 A0 AD 8E 00     - xorps xmm2,[ed8_2_PC_JP.exe+4EADA0]
ed8_2_PC_JP.exe+1A9BFD: 0F 2F D0                 - comiss xmm2,xmm0
ed8_2_PC_JP.exe+1A9C00: 77 03                    - ja ed8_2_PC_JP.exe+1A9C05
ed8_2_PC_JP.exe+1A9C02: 0F 28 D0                 - movaps xmm2,xmm0
ed8_2_PC_JP.exe+1A9C05: F3 0F 11 96 E0 01 00 00  - movss [esi+000001E0],xmm2
ed8_2_PC_JP.exe+1A9C0D: F3 0F 59 55 FC           - mulss xmm2,[ebp-04]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+1A9C12: F3 0F 58 96 F4 01 00 00  - addss xmm2,[esi+000001F4]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+1A9C1A: 0F 2F D3                 - comiss xmm2,xmm3
ed8_2_PC_JP.exe+1A9C1D: F3 0F 11 96 F4 01 00 00  - movss [esi+000001F4],xmm2
ed8_2_PC_JP.exe+1A9C25: 76 03                    - jna ed8_2_PC_JP.exe+1A9C2A
ed8_2_PC_JP.exe+1A9C27: 0F 28 D3                 - movaps xmm2,xmm3
ed8_2_PC_JP.exe+1A9C2A: 0F 2F CA                 - comiss xmm1,xmm2
ed8_2_PC_JP.exe+1A9C2D: F3 0F 11 96 F4 01 00 00  - movss [esi+000001F4],xmm2
ed8_2_PC_JP.exe+1A9C35: 76 03                    - jna ed8_2_PC_JP.exe+1A9C3A
ed8_2_PC_JP.exe+1A9C37: 0F 28 D1                 - movaps xmm2,xmm1
ed8_2_PC_JP.exe+1A9C3A: F3 0F 10 05 E4 9F 8F 00  - movss xmm0,[ed8_2_PC_JP.exe+4F9FE4]
ed8_2_PC_JP.exe+1A9C42: F3 0F 11 96 F4 01 00 00  - movss [esi+000001F4],xmm2
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>153</ID>
      <Description>"inf. fish attempts"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-17
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_FISH_ATTE,$process,8B 83 9C 01 00 00 66) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov eax,[ebx+0000019C]

  // code start
  cmp [eax], 0
  jne endp

  mov [eax], 1
  mov [ebx+0000019C], eax

endp:
  jmp return

INJECT_INF_FISH_ATTE:
  jmp newmem
  nop
return:
registersymbol(INJECT_INF_FISH_ATTE)

[DISABLE]

INJECT_INF_FISH_ATTE:
  db 8B 83 9C 01 00 00

unregistersymbol(INJECT_INF_FISH_ATTE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+1A710D

ed8_2_PC_JP.exe+1A70EE: E8 BD CC E7 FF                 - call ed8_2_PC_JP.exe+23DB0
ed8_2_PC_JP.exe+1A70F3: 8D 45 BC                       - lea eax,[ebp-44]
ed8_2_PC_JP.exe+1A70F6: 50                             - push eax
ed8_2_PC_JP.exe+1A70F7: 8D 85 3C FF FF FF              - lea eax,[ebp-000000C4]
ed8_2_PC_JP.exe+1A70FD: 6A 40                          - push 40
ed8_2_PC_JP.exe+1A70FF: 50                             - push eax
ed8_2_PC_JP.exe+1A7100: E8 DB C9 E7 FF                 - call ed8_2_PC_JP.exe+23AE0
ed8_2_PC_JP.exe+1A7105: 83 C4 28                       - add esp,28
ed8_2_PC_JP.exe+1A7108: 66 85 F6                       - test si,si
ed8_2_PC_JP.exe+1A710B: 74 0C                          - je ed8_2_PC_JP.exe+1A7119
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+1A710D: 8B 83 9C 01 00 00              - mov eax,[ebx+0000019C]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+1A7113: 66 83 38 00                    - cmp word ptr [eax],00
ed8_2_PC_JP.exe+1A7117: 74 0A                          - je ed8_2_PC_JP.exe+1A7123
ed8_2_PC_JP.exe+1A7119: C7 85 E8 FE FF FF 03 00 00 00  - mov [ebp-00000118],00000003
ed8_2_PC_JP.exe+1A7123: 8B 8B 38 02 00 00              - mov ecx,[ebx+00000238]
ed8_2_PC_JP.exe+1A7129: 81 C1 AC 01 00 00              - add ecx,000001AC
ed8_2_PC_JP.exe+1A712F: 57                             - push edi
ed8_2_PC_JP.exe+1A7130: 8B 01                          - mov eax,[ecx]
ed8_2_PC_JP.exe+1A7132: FF 90 80 00 00 00              - call dword ptr [eax+00000080]
ed8_2_PC_JP.exe+1A7138: 8B B3 38 02 00 00              - mov esi,[ebx+00000238]
ed8_2_PC_JP.exe+1A713E: 8B 4B 20                       - mov ecx,[ebx+20]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>157</ID>
      <Description>"Card game: blade"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-18
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CARD_GAME,$process,0F B7 87 5E 03 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(i_base_card_addr)
label(is_always_win)

newmem:
  mov [i_base_card_addr], edi
  cmp dword ptr [is_always_win], 1
  jne code
  mov ax, 2
  mov [edi+000003CA], ax
  mov [edi+000003C8], ax
  mov ax, 1
  mov [edi+000003C6], ax
  mov [edi+000003C4], ax


  mov [edi+0000035C], ax
  mov ax, 62
  mov [edi+0000035A], ax
  mov ax, 63
  mov [edi+0000035E], ax
  mov [edi+00000358], ax

code:
  movzx eax,word ptr [edi+0000035E]
  jmp return
align 10 cc
  i_base_card_addr:
  dd 0
  is_always_win:
  dd 0

INJECT_CARD_GAME:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_CARD_GAME)
registersymbol(i_base_card_addr)
registersymbol(is_always_win)

[DISABLE]

INJECT_CARD_GAME:
  db 0F B7 87 5E 03 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+1AE98A

ed8_2_PC_JP.exe+1AE96C: 8D 55 C0                 - lea edx,[ebp-40]
ed8_2_PC_JP.exe+1AE96F: 8B 01                    - mov eax,[ecx]
ed8_2_PC_JP.exe+1AE971: 52                       - push edx
ed8_2_PC_JP.exe+1AE972: FF 50 30                 - call dword ptr [eax+30]
ed8_2_PC_JP.exe+1AE975: F3 0F 10 45 CC           - movss xmm0,[ebp-34]
ed8_2_PC_JP.exe+1AE97A: 0F 57 C9                 - xorps xmm1,xmm1
ed8_2_PC_JP.exe+1AE97D: 0F 2E C1                 - ucomiss xmm0,xmm1
ed8_2_PC_JP.exe+1AE980: 9F                       - lahf 
ed8_2_PC_JP.exe+1AE981: F6 C4 44                 - test ah,44
ed8_2_PC_JP.exe+1AE984: 0F 8B E9 06 00 00        - jnp ed8_2_PC_JP.exe+1AF073
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+1AE98A: 0F B7 87 5E 03 00 00     - movzx eax,word ptr [edi+0000035E]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+1AE991: F3 0F 10 05 38 A3 8F 00  - movss xmm0,[ed8_2_PC_JP.exe+4FA338]
ed8_2_PC_JP.exe+1AE999: 98                       - cwde 
ed8_2_PC_JP.exe+1AE99A: 50                       - push eax
ed8_2_PC_JP.exe+1AE99B: 68 94 C3 8E 00           - push ed8_2_PC_JP.exe+4EC394
ed8_2_PC_JP.exe+1AE9A0: 8D 45 DC                 - lea eax,[ebp-24]
ed8_2_PC_JP.exe+1AE9A3: 6A 20                    - push 20
ed8_2_PC_JP.exe+1AE9A5: 50                       - push eax
ed8_2_PC_JP.exe+1AE9A6: F3 0F 11 45 D4           - movss [ebp-2C],xmm0
ed8_2_PC_JP.exe+1AE9AB: E8 00 54 E7 FF           - call ed8_2_PC_JP.exe+23DB0
ed8_2_PC_JP.exe+1AE9B0: 83 C4 10                 - add esp,10
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>160</ID>
          <Description>"Easy win?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_always_win</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>158</ID>
          <Description>"You"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_card_addr</Address>
          <Offsets>
            <Offset>35E</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>159</ID>
          <Description>"Opponent"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_card_addr</Address>
          <Offsets>
            <Offset>3CA</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>121</ID>
      <Description>"Get AP / event pt. summary"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_AP,$process,8B 84 81 20 1C 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(i_base_total_ap_addr)
label(i_base_total_quest_addr)

newmem:
  cmp eax, e // AP
  jne chk_quest
  push ebx
  lea ebx, [ecx+eax*4+00001C20]
  mov [i_base_total_ap_addr], ebx
  pop ebx
  jmp code

chk_quest:
  cmp eax, 19 // Quest
  push ebx
  lea ebx, [ecx+eax*4+00001C20]
  mov [i_base_total_quest_addr], ebx
  pop ebx
  jne code

code:
  mov eax,[ecx+eax*4+00001C20]
  jmp return
align 10 cc
  i_base_total_ap_addr:
  dd 0
  i_base_total_quest_addr:
  dd 0

INJECT_GET_AP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_AP)
registersymbol(i_base_total_ap_addr)
registersymbol(i_base_total_quest_addr)

[DISABLE]

INJECT_GET_AP:
  db 8B 84 81 20 1C 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+1767FB

ed8_2_PC_JP.exe+1767EB: CC                    - int 3 
ed8_2_PC_JP.exe+1767EC: CC                    - int 3 
ed8_2_PC_JP.exe+1767ED: CC                    - int 3 
ed8_2_PC_JP.exe+1767EE: CC                    - int 3 
ed8_2_PC_JP.exe+1767EF: CC                    - int 3 
ed8_2_PC_JP.exe+1767F0: 55                    - push ebp
ed8_2_PC_JP.exe+1767F1: 8B EC                 - mov ebp,esp
ed8_2_PC_JP.exe+1767F3: 8B 45 08              - mov eax,[ebp+08]
ed8_2_PC_JP.exe+1767F6: 83 F8 60              - cmp eax,60
ed8_2_PC_JP.exe+1767F9: 73 0B                 - jae ed8_2_PC_JP.exe+176806
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+1767FB: 8B 84 81 20 1C 00 00  - mov eax,[ecx+eax*4+00001C20]
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+176802: 5D                    - pop ebp
ed8_2_PC_JP.exe+176803: C2 04 00              - ret 0004
ed8_2_PC_JP.exe+176806: 33 C0                 - xor eax,eax
ed8_2_PC_JP.exe+176808: 5D                    - pop ebp
ed8_2_PC_JP.exe+176809: C2 04 00              - ret 0004
ed8_2_PC_JP.exe+17680C: CC                    - int 3 
ed8_2_PC_JP.exe+17680D: CC                    - int 3 
ed8_2_PC_JP.exe+17680E: CC                    - int 3 
ed8_2_PC_JP.exe+17680F: CC                    - int 3 
ed8_2_PC_JP.exe+176810: 55                    - push ebp
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>124</ID>
          <Description>"Usage: Main note menu-&gt; Main"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>133</ID>
          <Description>"inf. event (絆) pt"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : ed8_2_PC_JP.exe
  Version: 
  Date   : 2024-03-16
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_EVENT_PT,$process,89 84 91 20 1C 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [i_base_total_ap_addr], 0
  je code

  push ebx
  mov ebx, [i_base_total_ap_addr]

  lea ebx, [ebx-14]

  push eax
  lea eax, [ecx+edx*4+00001C20]
  cmp ebx, eax
  pop eax

  jne endp

  cmp eax, 1
  jae endp
  mov eax, 1

endp:
  pop ebx

code:
  mov [ecx+edx*4+00001C20],eax
  jmp return

INJECT_INF_EVENT_PT:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_INF_EVENT_PT)

[DISABLE]

INJECT_INF_EVENT_PT:
  db 89 84 91 20 1C 00 00

unregistersymbol(INJECT_INF_EVENT_PT)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ed8_2_PC_JP.exe+180C0E

ed8_2_PC_JP.exe+180BF3: 8B 45 08              - mov eax,[ebp+08]
ed8_2_PC_JP.exe+180BF6: 89 81 50 1C 00 00     - mov [ecx+00001C50],eax
ed8_2_PC_JP.exe+180BFC: 5D                    - pop ebp
ed8_2_PC_JP.exe+180BFD: C2 04 00              - ret 0004
ed8_2_PC_JP.exe+180C00: 55                    - push ebp
ed8_2_PC_JP.exe+180C01: 8B EC                 - mov ebp,esp
ed8_2_PC_JP.exe+180C03: 8B 55 08              - mov edx,[ebp+08]
ed8_2_PC_JP.exe+180C06: 83 FA 60              - cmp edx,60
ed8_2_PC_JP.exe+180C09: 73 0A                 - jae ed8_2_PC_JP.exe+180C15
ed8_2_PC_JP.exe+180C0B: 8B 45 0C              - mov eax,[ebp+0C]
// ---------- INJECTING HERE ----------
ed8_2_PC_JP.exe+180C0E: 89 84 91 20 1C 00 00  - mov [ecx+edx*4+00001C20],eax
// ---------- DONE INJECTING  ----------
ed8_2_PC_JP.exe+180C15: 5D                    - pop ebp
ed8_2_PC_JP.exe+180C16: C2 08 00              - ret 0008
ed8_2_PC_JP.exe+180C19: CC                    - int 3 
ed8_2_PC_JP.exe+180C1A: CC                    - int 3 
ed8_2_PC_JP.exe+180C1B: CC                    - int 3 
ed8_2_PC_JP.exe+180C1C: CC                    - int 3 
ed8_2_PC_JP.exe+180C1D: CC                    - int 3 
ed8_2_PC_JP.exe+180C1E: CC                    - int 3 
ed8_2_PC_JP.exe+180C1F: CC                    - int 3 
ed8_2_PC_JP.exe+180C20: 55                    - push ebp
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>142</ID>
              <Description>"Total AP must be valid"</Description>
              <Color>8000FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>134</ID>
          <Description>"絆 pt (Japan ver. only)"</Description>
          <Options moHideChildren="1"/>
          <Color>FF0080</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>ed8_2_PC_JP.exe+67B9E4</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>122</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>-28</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>139</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>-24</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>138</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>-18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>137</ID>
          <Description>"event (絆) pt"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>-14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>140</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>-10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>136</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>-4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>141</ID>
          <Description>"Total AP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>123</ID>
          <Description>"Total quests"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>130</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_total_ap_addr</Address>
          <Offsets>
            <Offset>2C</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>154</ID>
      <Description>"英雄伝説 閃の軌跡II  /  https://opencheattables.com  /  CE 7.5+"</Description>
      <Color>00B000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>AddressList.Header.OnSectionClick = nil

</LuaScript>
</CheatTable>
