<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>559</ID>
      <Description>"Compact Mode (Activate  Me!)"</Description>
      <LastState/>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if not syntaxcheck then
  openProcess("Agarest.exe")
end
{$asm}
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]
{$lua}
if not syntaxcheck then
  openProcess("Agarest.exe")
end
{$asm}
LuaCall(cycleFullCompact(nil,false))
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>578</ID>
      <Description>"Max Gold, EP TP &amp; PP"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1"/>
      <LastState Value="" RealAddress="00000000"/>
      <Color>800000</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>0</ID>
          <Description>"Max Gold"</Description>
          <Color>800000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>Agarest.exe+EAFC98</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>588</ID>
          <Description>"Max EP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>Agarest.exe+EAFCA4</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>590</ID>
          <Description>"Max TP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>Agarest.exe+EAFC9C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>589</ID>
          <Description>"Max PP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>Agarest.exe+EAFCA0</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>12</ID>
      <Description>"Infinite Hp (All Allies)"</Description>
      <LastState/>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Agarest.exe
  Version: 
  Date   : 2023-06-19
  Author : Rienfleche
}

[ENABLE]

aobscanmodule(Health,Agarest.exe,00 89 86 C4 01 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp [esi+C8],#0
  je code
  mov eax,#100

code:
  mov [esi+000001C4],eax
  jmp return

Health+01:
  jmp newmem
  nop
return:
registersymbol(Health)

[DISABLE]

Health+01:
  db 89 86 C4 01 00 00

unregistersymbol(Health)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+F590E

Agarest.exe+F58EE: 8B F8              - mov edi,eax
Agarest.exe+F58F0: 75 06              - jne Agarest.exe+F58F8
Agarest.exe+F58F2: 01 BD 58 FE FF FF  - add [ebp-000001A8],edi
Agarest.exe+F58F8: 8B 86 C4 01 00 00  - mov eax,[esi+000001C4]
Agarest.exe+F58FE: 85 C0              - test eax,eax
Agarest.exe+F5900: 7F 04              - jg Agarest.exe+F5906
Agarest.exe+F5902: 85 FF              - test edi,edi
Agarest.exe+F5904: 78 0E              - js Agarest.exe+F5914
Agarest.exe+F5906: 2B C7              - sub eax,edi
Agarest.exe+F5908: 01 BE C0 01 00 00  - add [esi+000001C0],edi
// ---------- INJECTING HERE ----------
Agarest.exe+F590E: 89 86 C4 01 00 00  - mov [esi+000001C4],eax
// ---------- DONE INJECTING  ----------
Agarest.exe+F5914: 8D 4E 50           - lea ecx,[esi+50]
Agarest.exe+F5917: 6A FF              - push -01
Agarest.exe+F5919: 89 8D 3C FE FF FF  - mov [ebp-000001C4],ecx
Agarest.exe+F591F: E8 0C 7B 00 00     - call Agarest.exe+FD430
Agarest.exe+F5924: 83 C4 04           - add esp,04
Agarest.exe+F5927: 39 86 C4 01 00 00  - cmp [esi+000001C4],eax
Agarest.exe+F592D: 7E 16              - jle Agarest.exe+F5945
Agarest.exe+F592F: 8B 8D 3C FE FF FF  - mov ecx,[ebp-000001C4]
Agarest.exe+F5935: 6A FF              - push -01
Agarest.exe+F5937: E8 F4 7A 00 00     - call Agarest.exe+FD430
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>574</ID>
      <Description>"Infinite Sp (All Allies)"</Description>
      <LastState/>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Agarest.exe
  Version:
  Date   : 2023-06-19
  Author : Rienfleche
}

[ENABLE]

aobscanmodule(Tes,Agarest.exe,8B 86 7C 01 00 00 6A) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp [esi+C8],#0
  je code
  mov [esi+0000017C],#999

code:
  mov eax,[esi+0000017C]
  jmp return

Tes:
  jmp newmem
  nop
return:
registersymbol(Tes)

[DISABLE]

Tes:
  db 8B 86 7C 01 00 00

unregistersymbol(Tes)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+109215

Agarest.exe+1091F9: 6A 2B              - push 2B
Agarest.exe+1091FB: 68 2C 01 00 00     - push 0000012C
Agarest.exe+109200: 68 77 02 00 00     - push 00000277
Agarest.exe+109205: 57                 - push edi
Agarest.exe+109206: 51                 - push ecx
Agarest.exe+109207: 6A 04              - push 04
Agarest.exe+109209: 6A 00              - push 00
Agarest.exe+10920B: 6A 00              - push 00
Agarest.exe+10920D: E8 8E 33 F6 FF     - call Agarest.CAsyncReader::GetPinCount+BD40
Agarest.exe+109212: 83 C4 70           - add esp,70
// ---------- INJECTING HERE ----------
Agarest.exe+109215: 8B 86 7C 01 00 00  - mov eax,[esi+0000017C]
// ---------- DONE INJECTING  ----------
Agarest.exe+10921B: 6A 00              - push 00
Agarest.exe+10921D: 6A 17              - push 17
Agarest.exe+10921F: 6A 10              - push 10
Agarest.exe+109221: 68 80 00 00 00     - push 00000080
Agarest.exe+109226: 6A 0F              - push 0F
Agarest.exe+109228: 6A 13              - push 13
Agarest.exe+10922A: 6A 2B              - push 2B
Agarest.exe+10922C: 68 2C 01 00 00     - push 0000012C
Agarest.exe+109231: 68 77 02 00 00     - push 00000277
Agarest.exe+109236: 8D 93 F6 00 00 00  - lea edx,[ebx+000000F6]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>585</ID>
      <Description>"Max Attributes (All Allies)"</Description>
      <LastState/>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Agarest.exe
  Version:
  Date   : 2023-06-19
  Author : Rienfleche
}

[ENABLE]

aobscanmodule(Tes,Agarest.exe,8B 02 89 BD EC FA FF FF) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp [esi+C8],#0
  je code
  mov [edx],#10

code:
  mov eax,[edx]
  mov [ebp-00000514],edi
  jmp return

Tes:
  jmp newmem
  nop 3
return:
registersymbol(Tes)

[DISABLE]

Tes:
  db 8B 02 89 BD EC FA FF FF

unregistersymbol(Tes)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+47C69

Agarest.exe+47C4C: D9 EE              - fldz 
Agarest.exe+47C4E: B8 AB AA AA AA     - mov eax,AAAAAAAB
Agarest.exe+47C53: F7 E1              - mul ecx
Agarest.exe+47C55: 8B DA              - mov ebx,edx
Agarest.exe+47C57: 8B 95 F4 FA FF FF  - mov edx,[ebp-0000050C]
Agarest.exe+47C5D: C1 EB 02           - shr ebx,02
Agarest.exe+47C60: 8D 04 5B           - lea eax,[ebx+ebx*2]
Agarest.exe+47C63: 03 C0              - add eax,eax
Agarest.exe+47C65: 8B F9              - mov edi,ecx
Agarest.exe+47C67: 2B F8              - sub edi,eax
// ---------- INJECTING HERE ----------
Agarest.exe+47C69: 8B 02              - mov eax,[edx]
// ---------- DONE INJECTING  ----------
Agarest.exe+47C6B: 89 BD EC FA FF FF  - mov [ebp-00000514],edi
Agarest.exe+47C71: 85 C0              - test eax,eax
Agarest.exe+47C73: 0F 84 0C 01 00 00  - je Agarest.exe+47D85
Agarest.exe+47C79: 83 F8 0A           - cmp eax,0A
Agarest.exe+47C7C: 75 06              - jne Agarest.exe+47C84
Agarest.exe+47C7E: DD D8              - fstp st(0)
Agarest.exe+47C80: D9 E8              - fld1 
Agarest.exe+47C82: EB 37              - jmp Agarest.exe+47CBB
Agarest.exe+47C84: 8B 76 28           - mov esi,[esi+28]
Agarest.exe+47C87: 69 F6 84 00 00 00  - imul esi,esi,00000084
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>591</ID>
      <Description>"Infinite Weapon, Armor, Accessories &amp; Items (Open Inventory)"</Description>
      <LastState/>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Agarest.exe
  Version:
  Date   : 2023-06-19
  Author : Rienfleche
}

[ENABLE]

aobscanmodule(Items,Agarest.exe,8B 49 F0 89 88 84 00 00 00 85 DB 78 40 6A 00 51 B9 02 00 00 00 E8 C0) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [ecx-10],#99

code:
  mov ecx,[ecx-10]
  mov [eax+00000084],ecx
  jmp return

Items:
  jmp newmem
  nop 4
return:
registersymbol(Items)

[DISABLE]

Items:
  db 8B 49 F0 89 88 84 00 00 00

unregistersymbol(Items)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+931A6

Agarest.exe+93186: 2B D6              - sub edx,esi
Agarest.exe+93188: 89 95 D8 FD FF FF  - mov [ebp-00000228],edx
Agarest.exe+9318E: 8B FF              - mov edi,edi
Agarest.exe+93190: 8A 11              - mov dl,[ecx]
Agarest.exe+93192: 8B B5 D8 FD FF FF  - mov esi,[ebp-00000228]
Agarest.exe+93198: 88 14 0E           - mov [esi+ecx],dl
Agarest.exe+9319B: 41                 - inc ecx
Agarest.exe+9319C: 84 D2              - test dl,dl
Agarest.exe+9319E: 75 F0              - jne Agarest.exe+93190
Agarest.exe+931A0: 8B 8D F0 FD FF FF  - mov ecx,[ebp-00000210]
// ---------- INJECTING HERE ----------
Agarest.exe+931A6: 8B 49 F0           - mov ecx,[ecx-10]
// ---------- DONE INJECTING  ----------
Agarest.exe+931A9: 89 88 84 00 00 00  - mov [eax+00000084],ecx
Agarest.exe+931AF: 85 DB              - test ebx,ebx
Agarest.exe+931B1: 78 40              - js Agarest.exe+931F3
Agarest.exe+931B3: 6A 00              - push 00
Agarest.exe+931B5: 51                 - push ecx
Agarest.exe+931B6: B9 02 00 00 00     - mov ecx,00000002
Agarest.exe+931BB: E8 C0 B4 04 00     - call Agarest.exe+DE680
Agarest.exe+931C0: 50                 - push eax
Agarest.exe+931C1: 8D 95 F4 FE FF FF  - lea edx,[ebp-0000010C]
Agarest.exe+931C7: 68 4C DC 5E 00     - push Agarest.exe+1EDC4C
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>592</ID>
      <Description>"Infinite Skills and Active (Open Inventory)"</Description>
      <LastState/>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : Agarest.exe
  Version:
  Date   : 2023-06-19
  Author : Rienfleche
}

[ENABLE]

aobscanmodule(Skills,Agarest.exe,8B 49 F0 89 88 84 00 00 00 85 DB 78 40 6A 00 51 B9 02 00 00 00 E8 E0) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [ecx-10],#99

code:
  mov ecx,[ecx-10]
  mov [eax+00000084],ecx
  jmp return

Skills:
  jmp newmem
  nop 4
return:
registersymbol(Skills)

[DISABLE]

Skills:
  db 8B 49 F0 89 88 84 00 00 00

unregistersymbol(Skills)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Agarest.exe+93386

Agarest.exe+93365: 83 C4 08           - add esp,08
Agarest.exe+93368: 2B D6              - sub edx,esi
Agarest.exe+9336A: 89 95 D8 FD FF FF  - mov [ebp-00000228],edx
Agarest.exe+93370: 8A 11              - mov dl,[ecx]
Agarest.exe+93372: 8B B5 D8 FD FF FF  - mov esi,[ebp-00000228]
Agarest.exe+93378: 88 14 0E           - mov [esi+ecx],dl
Agarest.exe+9337B: 41                 - inc ecx
Agarest.exe+9337C: 84 D2              - test dl,dl
Agarest.exe+9337E: 75 F0              - jne Agarest.exe+93370
Agarest.exe+93380: 8B 8D F0 FD FF FF  - mov ecx,[ebp-00000210]
// ---------- INJECTING HERE ----------
Agarest.exe+93386: 8B 49 F0           - mov ecx,[ecx-10]
// ---------- DONE INJECTING  ----------
Agarest.exe+93389: 89 88 84 00 00 00  - mov [eax+00000084],ecx
Agarest.exe+9338F: 85 DB              - test ebx,ebx
Agarest.exe+93391: 78 40              - js Agarest.exe+933D3
Agarest.exe+93393: 6A 00              - push 00
Agarest.exe+93395: 51                 - push ecx
Agarest.exe+93396: B9 02 00 00 00     - mov ecx,00000002
Agarest.exe+9339B: E8 E0 B2 04 00     - call Agarest.exe+DE680
Agarest.exe+933A0: 50                 - push eax
Agarest.exe+933A1: 8D 85 F4 FE FF FF  - lea eax,[ebp-0000010C]
Agarest.exe+933A7: 68 4C DC 5E 00     - push Agarest.exe+1EDC4C
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>77</ID>
      <Description>"Misc (For Tittles)"</Description>
      <Options moHideChildren="1"/>
      <LastState Value="" RealAddress="00000000"/>
      <Color>800000</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>81</ID>
          <Description>"Defeated Monsters"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB15B4</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>79</ID>
          <Description>"Hit Score"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB15B8</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>82</ID>
          <Description>"Battles Won"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB15BC</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>75</ID>
          <Description>"Deal Total Damage"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>Agarest.exe+EB15C4</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>353</ID>
          <Description>"Smith Times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB2284</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>377</ID>
          <Description>"Sell Times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB228C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>83</ID>
          <Description>"Enhance Times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB2290</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>587</ID>
          <Description>"Monster Combine Times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>800000</Color>
          <VariableType>2 Bytes</VariableType>
          <Address>Agarest.exe+EB2294</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
