<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>66</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>6</ID>
      <Description>"Battle: HP (may not fully work)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-01
  Author : bbfox@https://opencheattables.com
}
{$STRICT}
[ENABLE]
{$asm}
aobscanmodule(INJECT_SET_HP,DFC-Win64-Shipping.exe,48 8B 43 48 42 8B 0C 81) // should be unique
alloc(newmem,$1000,INJECT_SET_HP)

label(code)
label(return)
label(vf_damage_factor_multi)
label(i_player_id_threshold)

label(endp)
label(i_buf1)
label(i_buf2)

newmem:

  push r14
  mov r14, [rbx+68]
  test r14, r14
  jz endp
  mov r14d, [r14+28]
  cmp r14d, [i_player_id_threshold]
  ja endp

  mov r14, [rbx+28]
  test r14, r14
  jz endp
  //mov r14d, [r14]
  //mov [i_buf1], r14d

  mov r14, [rbx+38]
  test r14, r14
  jz endp
  //mov r14d, [r14+10]
  //cmp r14d, [i_buf1]
  //jne endp



  //mov r14, [rbx+28]
  //mov r14d, [rbx+10]
  //cmp r14d, 006F004E
  //jne endp


  {
  mov r14, [rbx+28]
  mov r14d, [r14]
  mov [i_buf2], r14d
  mov r14, [rbx+48]
  mov r14d, [r14+40]
  cmp r14d, [i_buf2]
  jne endp
  }

  cvtsi2ss xmm15, r11d
  vmovss xmm14, [vf_damage_factor_multi]
  vmulss xmm13, xmm14, xmm15
  cvtss2si r11d, xmm13

  //mov r11d, 0


endp:
  pop r14

code:
  mov rax,[rbx+48]
  mov ecx,[rcx+r8*4]
  jmp return
align 10 cc
  i_buf1:
  dd 0
  i_buf2:
  dd 0
  vf_damage_factor_multi:
  dd (float)0.3222222222222222
  i_player_id_threshold:
  dd #20

INJECT_SET_HP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SET_HP)
registersymbol(vf_damage_factor_multi)
registersymbol(i_player_id_threshold)

[DISABLE]

INJECT_SET_HP:
  db 48 8B 43 48 42 8B 0C 81

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+DCBF0D

DFC-Win64-Shipping.exe+DCBEEA: 4C 63 53 5C  - movsxd  r10,dword ptr [rbx+5C]
DFC-Win64-Shipping.exe+DCBEEE: 8B 53 60     - mov edx,[rbx+60]
DFC-Win64-Shipping.exe+DCBEF1: 44 3B D2     - cmp r10d,edx
DFC-Win64-Shipping.exe+DCBEF4: 48 8B 4B 28  - mov rcx,[rbx+28]
DFC-Win64-Shipping.exe+DCBEF8: 44 8D 4A FF  - lea r9d,[rdx-01]
DFC-Win64-Shipping.exe+DCBEFC: 41 8B C1     - mov eax,r9d
DFC-Win64-Shipping.exe+DCBEFF: 45 0F 4C CA  - cmovl r9d,r10d
DFC-Win64-Shipping.exe+DCBF03: 41 0F 4C C2  - cmovl eax,r10d
DFC-Win64-Shipping.exe+DCBF07: 49 63 D1     - movsxd  rdx,r9d
DFC-Win64-Shipping.exe+DCBF0A: 4C 63 C0     - movsxd  r8,eax
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+DCBF0D: 48 8B 43 48  - mov rax,[rbx+48]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+DCBF11: 42 8B 0C 81  - mov ecx,[rcx+r8*4]
DFC-Win64-Shipping.exe+DCBF15: 8B 14 90     - mov edx,[rax+rdx*4]
DFC-Win64-Shipping.exe+DCBF18: 48 8B 43 38  - mov rax,[rbx+38]
DFC-Win64-Shipping.exe+DCBF1C: 03 D1        - add edx,ecx
DFC-Win64-Shipping.exe+DCBF1E: 46 8B 04 90  - mov r8d,[rax+r10*4]
DFC-Win64-Shipping.exe+DCBF22: 45 2B C3     - sub r8d,r11d
DFC-Win64-Shipping.exe+DCBF25: 79 06        - jns DFC-Win64-Shipping.exe+DCBF2D
DFC-Win64-Shipping.exe+DCBF27: 42 89 3C 90  - mov [rax+r10*4],edi
DFC-Win64-Shipping.exe+DCBF2B: EB 0F        - jmp DFC-Win64-Shipping.exe+DCBF3C
DFC-Win64-Shipping.exe+DCBF2D: 44 3B C2     - cmp r8d,edx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>51</ID>
          <Description>"Player ID check threshold (&lt;= set value, --&gt; player chars.)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_player_id_threshold</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>14</ID>
          <Description>"Damage to player multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_damage_factor_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>9</ID>
      <Description>"Battle: EP"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-01
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_EP2,DFC-Win64-Shipping.exe,8B 51 2C 2B D0 78) // should be unique
alloc(newmem,$1000,INJECT_SET_EP2)

label(code)
label(return)

newmem:
  push r14

  mov r14d, [rcx+8]
  test r14d, r14d
  jnz endp
  mov r14d, [rcx+38]
  test r14d, r14d
  jnz endp

  mov r14d, [rcx+3C]
  test r14d, r14d
  jnz endp
  mov eax, 0

endp:
  pop r14

code:
  mov edx,[rcx+2C]
  sub edx,eax
  jmp return

INJECT_SET_EP2:
  jmp newmem
return:
registersymbol(INJECT_SET_EP2)

[DISABLE]

INJECT_SET_EP2:
  db 8B 51 2C 2B D0

unregistersymbol(INJECT_SET_EP2)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+DCC769

DFC-Win64-Shipping.exe+DCC754: 8B C2           - mov eax,edx
DFC-Win64-Shipping.exe+DCC756: 99              - cdq
DFC-Win64-Shipping.exe+DCC757: 33 C2           - xor eax,edx
DFC-Win64-Shipping.exe+DCC759: 2B C2           - sub eax,edx
DFC-Win64-Shipping.exe+DCC75B: 79 0C           - jns DFC-Win64-Shipping.exe+DCC769
DFC-Win64-Shipping.exe+DCC75D: 99              - cdq
DFC-Win64-Shipping.exe+DCC75E: 33 C2           - xor eax,edx
DFC-Win64-Shipping.exe+DCC760: 2B C2           - sub eax,edx
DFC-Win64-Shipping.exe+DCC762: 8B D0           - mov edx,eax
DFC-Win64-Shipping.exe+DCC764: E9 47 F3 FF FF  - jmp DFC-Win64-Shipping.exe+DCBAB0
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+DCC769: 8B 51 2C        - mov edx,[rcx+2C]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+DCC76C: 2B D0           - sub edx,eax
DFC-Win64-Shipping.exe+DCC76E: 78 18           - js DFC-Win64-Shipping.exe+DCC788
DFC-Win64-Shipping.exe+DCC770: 8B 41 38        - mov eax,[rcx+38]
DFC-Win64-Shipping.exe+DCC773: 03 41 28        - add eax,[rcx+28]
DFC-Win64-Shipping.exe+DCC776: 3B D0           - cmp edx,eax
DFC-Win64-Shipping.exe+DCC778: 0F 4C C2        - cmovl eax,edx
DFC-Win64-Shipping.exe+DCC77B: 89 41 2C        - mov [rcx+2C],eax
DFC-Win64-Shipping.exe+DCC77E: C3              - ret
DFC-Win64-Shipping.exe+DCC77F: 44 8B 41 2C     - mov r8d,[rcx+2C]
DFC-Win64-Shipping.exe+DCC783: 44 03 C2        - add r8d,edx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>48</ID>
      <Description>"Battle: Group skill (Usage: Open char. action menu during battle)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-08
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATTLE_PARTY_SKILL,DFC-Win64-Shipping.exe,F3 0F 10 43 44 F3 0F 5E) // should be unique
alloc(newmem,$1000,INJECT_BATTLE_PARTY_SKILL)

label(code)
label(return)

newmem:
  vmovss xmm15,[rbx+44]
  vmovss xmm14, [vf_2000]
  vcomiss xmm15, xmm14
  jae code
  vmovss [rbx+44], xmm14


code:
  movss xmm0,[rbx+44]
  jmp return
align 10 cc
  vf_2000:
  dd (float)3000

INJECT_BATTLE_PARTY_SKILL:
  jmp newmem
return:
registersymbol(INJECT_BATTLE_PARTY_SKILL)

[DISABLE]

INJECT_BATTLE_PARTY_SKILL:
  db F3 0F 10 43 44

unregistersymbol(INJECT_BATTLE_PARTY_SKILL)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+CB581A9

DFC-Win64-Shipping.exe+CB5817B: 48 8D 15 AF A0 B1 0C        - lea rdx,[DFC-Win64-Shipping.exe+19672231]
DFC-Win64-Shipping.exe+CB58182: 48 87 14 24                 - xchg [rsp],rdx
DFC-Win64-Shipping.exe+CB58186: C3                          - ret
DFC-Win64-Shipping.exe+CB58187: 66 0F 1F 84 00 00 00 00 00  - nop word ptr [rax+rax+00000000]
DFC-Win64-Shipping.exe+CB58190: 40 53                       - push rbx
DFC-Win64-Shipping.exe+CB58192: 48 83 EC 60                 - sub rsp,60
DFC-Win64-Shipping.exe+CB58196: 41 B8 01 00 00 00           - mov r8d,00000001
DFC-Win64-Shipping.exe+CB5819C: 48 8D 54 24 20              - lea rdx,[rsp+20]
DFC-Win64-Shipping.exe+CB581A1: 48 89 CB                    - mov rbx,rcx
DFC-Win64-Shipping.exe+CB581A4: E8 E7 2E 1B F4              - call DFC-Win64-Shipping.exe+D0B090
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+CB581A9: F3 0F 10 43 44              - movss xmm0,[rbx+44]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+CB581AE: F3 0F 5E 44 24 28           - divss xmm0,[rsp+28]
DFC-Win64-Shipping.exe+CB581B4: F3 0F 2C C0                 - cvttss2si eax,xmm0
DFC-Win64-Shipping.exe+CB581B8: 48 83 C4 60                 - add rsp,60
DFC-Win64-Shipping.exe+CB581BC: 5B                          - pop rbx
DFC-Win64-Shipping.exe+CB581BD: C3                          - ret
DFC-Win64-Shipping.exe+CB581BE: CC                          - int 3
DFC-Win64-Shipping.exe+CB581BF: 67 1F                       - pop ds
DFC-Win64-Shipping.exe+CB581C1: F2 DF FF                    - repne fistp rdi
DFC-Win64-Shipping.exe+CB581C4: FF                          - db -01
DFC-Win64-Shipping.exe+CB581C5: FF                          - db -01
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>49</ID>
      <Description>"Battle: EXP Multiplier"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-08
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_XP_MULTI,DFC-Win64-Shipping.exe,FB 89 59 08 48 8B 74 24 38) // should be unique
alloc(newmem,$1000,INJECT_XP_MULTI)

label(code)
label(return)
label(vf_xp_multi)

newmem:
  cvtsi2ss xmm15, [rcx+08]
  cvtsi2ss xmm14, ebx
  vucomiss xmm15, xmm14
  jae code
  vsubss xmm13, xmm14, xmm15
  vmovss xmm12, [vf_xp_multi]
  vmulss xmm13, xmm13, xmm12
  vaddss xmm14, xmm15, xmm13
  cvtss2si ebx, xmm14

code:
  mov [rcx+08],ebx
  mov rsi,[rsp+38]
  jmp return
align 10 cc
  vf_xp_multi:
  dd (float)1.25

INJECT_XP_MULTI+01:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_XP_MULTI)
registersymbol(vf_xp_multi)

[DISABLE]

INJECT_XP_MULTI+01:
  db 89 59 08 48 8B 74 24 38

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B2F30A4

DFC-Win64-Shipping.exe+B2F307E: E8 1D 6D A1 F5        - call DFC-Win64-Shipping.exe+D09DA0
DFC-Win64-Shipping.exe+B2F3083: 48 8B 90 08 02 00 00  - mov rdx,[rax+00000208]
DFC-Win64-Shipping.exe+B2F308A: 48 6B CE 78           - imul rcx,rsi,78
DFC-Win64-Shipping.exe+B2F308E: 48 03 8A 80 01 00 00  - add rcx,[rdx+00000180]
DFC-Win64-Shipping.exe+B2F3095: 8B 51 08              - mov edx,[rcx+08]
DFC-Win64-Shipping.exe+B2F3098: 44 01 F2              - add edx,r14d
DFC-Win64-Shipping.exe+B2F309B: 78 07                 - js DFC-Win64-Shipping.exe+B2F30A4
DFC-Win64-Shipping.exe+B2F309D: 39 FA                 - cmp edx,edi
DFC-Win64-Shipping.exe+B2F309F: 0F 4C FA              - cmovl edi,edx
DFC-Win64-Shipping.exe+B2F30A2: 89 FB                 - mov ebx,edi
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B2F30A4: 89 59 08              - mov [rcx+08],ebx
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B2F30A7: 48 8B 74 24 38        - mov rsi,[rsp+38]
DFC-Win64-Shipping.exe+B2F30AC: 48 8B 5C 24 30        - mov rbx,[rsp+30]
DFC-Win64-Shipping.exe+B2F30B1: 48 8B 7C 24 40        - mov rdi,[rsp+40]
DFC-Win64-Shipping.exe+B2F30B6: 48 83 C4 20           - add rsp,20
DFC-Win64-Shipping.exe+B2F30BA: 41 5E                 - pop r14
DFC-Win64-Shipping.exe+B2F30BC: C3                    - ret
DFC-Win64-Shipping.exe+B2F30BD: CC                    - int 3
DFC-Win64-Shipping.exe+B2F30BE: 8F                    - db 8f
DFC-Win64-Shipping.exe+B2F30BF: 59                    - pop rcx
DFC-Win64-Shipping.exe+B2F30C0: F0 5D                 - lock pop rbp
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>50</ID>
          <Description>"Multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_xp_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"Set min. SP (When spend)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-06
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_SP,DFC-Win64-Shipping.exe,89 9F DC 00 00 00 48) // should be unique
alloc(newmem,$1000,INJECT_INF_SP)

label(code)
label(return)
label(i_min_sp)

newmem:
  cmp ebx, [i_min_sp]
  jae code
  mov ebx, [i_min_sp]
code:
  mov [rdi+000000DC],ebx
  jmp return
align 10 cc
  i_min_sp:
  dd #10

INJECT_INF_SP:
  jmp newmem
  nop
return:
registersymbol(INJECT_INF_SP)
registersymbol(i_min_sp)
[DISABLE]

INJECT_INF_SP:
  db 89 9F DC 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B7E5F33

DFC-Win64-Shipping.exe+B7E5F10: 89 FB                 - mov ebx,edi
DFC-Win64-Shipping.exe+B7E5F12: EB 0A                 - jmp DFC-Win64-Shipping.exe+B7E5F1E
DFC-Win64-Shipping.exe+B7E5F14: BB 3F 42 0F 00        - mov ebx,000F423F
DFC-Win64-Shipping.exe+B7E5F19: 39 DE                 - cmp esi,ebx
DFC-Win64-Shipping.exe+B7E5F1B: 0F 4C DE              - cmovl ebx,esi
DFC-Win64-Shipping.exe+B7E5F1E: E8 2D 46 51 F5        - call DFC-Win64-Shipping.exe+CFA550
DFC-Win64-Shipping.exe+B7E5F23: 84 C0                 - test al,al
DFC-Win64-Shipping.exe+B7E5F25: 74 0C                 - je DFC-Win64-Shipping.exe+B7E5F33
DFC-Win64-Shipping.exe+B7E5F27: E8 74 3E 52 F5        - call DFC-Win64-Shipping.exe+D09DA0
DFC-Win64-Shipping.exe+B7E5F2C: 48 8B B8 08 02 00 00  - mov rdi,[rax+00000208]
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B7E5F33: 89 9F DC 00 00 00     - mov [rdi+000000DC],ebx
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B7E5F39: 48 8B 7C 24 38        - mov rdi,[rsp+38]
DFC-Win64-Shipping.exe+B7E5F3E: 48 8B 5C 24 30        - mov rbx,[rsp+30]
DFC-Win64-Shipping.exe+B7E5F43: 48 83 C4 20           - add rsp,20
DFC-Win64-Shipping.exe+B7E5F47: 5E                    - pop rsi
DFC-Win64-Shipping.exe+B7E5F48: C3                    - ret
DFC-Win64-Shipping.exe+B7E5F49: CC                    - int 3
DFC-Win64-Shipping.exe+B7E5F4A: 00 00                 - add [rax],al
DFC-Win64-Shipping.exe+B7E5F4C: 00 00                 - add [rax],al
DFC-Win64-Shipping.exe+B7E5F4E: 00 00                 - add [rax],al
DFC-Win64-Shipping.exe+B7E5F50: 00 00                 - add [rax],al
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>24</ID>
          <Description>"Min. SP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_sp</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>22</ID>
      <Description>"Min. 20 AP (Usage: when spend)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-06
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_AP,DFC-Win64-Shipping.exe,89 59 58 48 8B 74 24 30) // should be unique
alloc(newmem,$1000,INJECT_INF_AP)

label(code)
label(return)
label(i_min_ap)
newmem:
  cmp ebx, [i_min_ap]
  jae code
  mov ebx, [i_min_ap]

code:
  mov [rcx+58],ebx
  mov rsi,[rsp+30]
  jmp return
align 10 cc
  i_min_ap:
  dd #20

INJECT_INF_AP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_INF_AP)

[DISABLE]

INJECT_INF_AP:
  db 89 59 58 48 8B 74 24 30

unregistersymbol(INJECT_INF_AP)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B7B436

DFC-Win64-Shipping.exe+B7B417: 7E 20                 - jle DFC-Win64-Shipping.exe+B7B439
DFC-Win64-Shipping.exe+B7B419: 48 98                 - cdqe
DFC-Win64-Shipping.exe+B7B41B: 48 6B C8 78           - imul rcx,rax,78
DFC-Win64-Shipping.exe+B7B41F: 48 03 8E 80 01 00 00  - add rcx,[rsi+00000180]
DFC-Win64-Shipping.exe+B7B426: 85 FF                 - test edi,edi
DFC-Win64-Shipping.exe+B7B428: 78 0C                 - js DFC-Win64-Shipping.exe+B7B436
DFC-Win64-Shipping.exe+B7B42A: B8 3F 42 0F 00        - mov eax,000F423F
DFC-Win64-Shipping.exe+B7B42F: 3B F8                 - cmp edi,eax
DFC-Win64-Shipping.exe+B7B431: 0F 4C C7              - cmovl eax,edi
DFC-Win64-Shipping.exe+B7B434: 8B D8                 - mov ebx,eax
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B7B436: 89 59 58              - mov [rcx+58],ebx
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B7B439: 48 8B 74 24 30        - mov rsi,[rsp+30]
DFC-Win64-Shipping.exe+B7B43E: 8B CD                 - mov ecx,ebp
DFC-Win64-Shipping.exe+B7B440: 48 8B 5C 24 38        - mov rbx,[rsp+38]
DFC-Win64-Shipping.exe+B7B445: 48 8B 6C 24 40        - mov rbp,[rsp+40]
DFC-Win64-Shipping.exe+B7B44A: 48 83 C4 20           - add rsp,20
DFC-Win64-Shipping.exe+B7B44E: 5F                    - pop rdi
DFC-Win64-Shipping.exe+B7B44F: E9 CC 2B 01 00        - jmp DFC-Win64-Shipping.exe+B8E020
DFC-Win64-Shipping.exe+B7B454: CC                    - int 3
DFC-Win64-Shipping.exe+B7B455: CC                    - int 3
DFC-Win64-Shipping.exe+B7B456: CC                    - int 3
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>23</ID>
      <Description>"Set min. AP (Usage: Edit equips before battle)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-06
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BROWSE_AP,DFC-Win64-Shipping.exe,8B 43 58 48 8D 53 60 89) // should be unique
alloc(newmem,$1000,INJECT_BROWSE_AP)

label(code)
label(return)
label(i_min_ap_b)

newmem:
  mov eax,[rbx+58]
  cmp eax, [i_min_ap_b]
  jae code
  mov eax, [i_min_ap_b]
  mov [rbx+58],eax

code:
  mov eax,[rbx+58]
  lea rdx,[rbx+60]
  jmp return
align 10 cc
  i_min_ap_b:
  dd #20

INJECT_BROWSE_AP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_BROWSE_AP)
registersymbol(i_min_ap_b)
[DISABLE]

INJECT_BROWSE_AP:
  db 8B 43 58 48 8D 53 60

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B5F79FC

DFC-Win64-Shipping.exe+B5F79D0: E8 7B 09 3F F5  - call DFC-Win64-Shipping.exe+9E8350
DFC-Win64-Shipping.exe+B5F79D5: 48 8D 53 28     - lea rdx,[rbx+28]
DFC-Win64-Shipping.exe+B5F79D9: 48 8D 4F 28     - lea rcx,[rdi+28]
DFC-Win64-Shipping.exe+B5F79DD: E8 6E 09 3F F5  - call DFC-Win64-Shipping.exe+9E8350
DFC-Win64-Shipping.exe+B5F79E2: 48 8D 53 38     - lea rdx,[rbx+38]
DFC-Win64-Shipping.exe+B5F79E6: 48 8D 4F 38     - lea rcx,[rdi+38]
DFC-Win64-Shipping.exe+B5F79EA: E8 61 09 3F F5  - call DFC-Win64-Shipping.exe+9E8350
DFC-Win64-Shipping.exe+B5F79EF: 48 8D 53 48     - lea rdx,[rbx+48]
DFC-Win64-Shipping.exe+B5F79F3: 48 8D 4F 48     - lea rcx,[rdi+48]
DFC-Win64-Shipping.exe+B5F79F7: E8 54 09 3F F5  - call DFC-Win64-Shipping.exe+9E8350
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B5F79FC: 8B 43 58        - mov eax,[rbx+58]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B5F79FF: 48 8D 53 60     - lea rdx,[rbx+60]
DFC-Win64-Shipping.exe+B5F7A03: 89 47 58        - mov [rdi+58],eax
DFC-Win64-Shipping.exe+B5F7A06: 48 8D 4F 60     - lea rcx,[rdi+60]
DFC-Win64-Shipping.exe+B5F7A0A: 8B 43 5C        - mov eax,[rbx+5C]
DFC-Win64-Shipping.exe+B5F7A0D: 89 47 5C        - mov [rdi+5C],eax
DFC-Win64-Shipping.exe+B5F7A10: E8 3B 09 3F F5  - call DFC-Win64-Shipping.exe+9E8350
DFC-Win64-Shipping.exe+B5F7A15: 0F B6 43 70     - movzx eax,byte ptr [rbx+70]
DFC-Win64-Shipping.exe+B5F7A19: 48 8B 5C 24 30  - mov rbx,[rsp+30]
DFC-Win64-Shipping.exe+B5F7A1E: 88 47 70        - mov [rdi+70],al
DFC-Win64-Shipping.exe+B5F7A21: B0 01           - mov al,01
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>25</ID>
          <Description>"Set min. AP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_ap_b</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>12</ID>
      <Description>"Get money / SP (Usage: buy/sell in shop)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-01
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MIN_MONEY,DFC-Win64-Shipping.exe,89 B8 D8 00 00 00 E8) // should be unique
alloc(newmem,$1000,INJECT_MIN_MONEY)

label(code)
label(return)
label(i_base_data_addr)
label(i_min_money)

newmem:
  mov [i_base_data_addr], eax
  cmp edi, [i_min_money]
  jae code
  mov edi, [i_min_money]

code:
  mov [rax+000000D8],edi
  jmp return
align 10 cc
  i_base_data_addr:
  dq 0
  i_min_money:
  dd #100000

INJECT_MIN_MONEY:
  jmp newmem
  nop
return:
registersymbol(INJECT_MIN_MONEY)
registersymbol(i_base_data_addr)

[DISABLE]

INJECT_MIN_MONEY:
  db 89 B8 D8 00 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B7A315D

DFC-Win64-Shipping.exe+B7A3139: BF 3F 42 0F 00           - mov edi,000F423F
DFC-Win64-Shipping.exe+B7A313E: 39 FE                    - cmp esi,edi
DFC-Win64-Shipping.exe+B7A3140: 0F 4C FE                 - cmovl edi,esi
DFC-Win64-Shipping.exe+B7A3143: E8 08 74 55 F5           - call DFC-Win64-Shipping.exe+CFA550
DFC-Win64-Shipping.exe+B7A3148: 84 C0                    - test al,al
DFC-Win64-Shipping.exe+B7A314A: 75 05                    - jne DFC-Win64-Shipping.exe+B7A3151
DFC-Win64-Shipping.exe+B7A314C: 48 89 D8                 - mov rax,rbx
DFC-Win64-Shipping.exe+B7A314F: EB 0C                    - jmp DFC-Win64-Shipping.exe+B7A315D
DFC-Win64-Shipping.exe+B7A3151: E8 4A 6C 56 F5           - call DFC-Win64-Shipping.exe+D09DA0
DFC-Win64-Shipping.exe+B7A3156: 48 8B 80 08 02 00 00     - mov rax,[rax+00000208]
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B7A315D: 89 B8 D8 00 00 00        - mov [rax+000000D8],edi
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B7A3163: E8 E8 73 55 F5           - call DFC-Win64-Shipping.exe+CFA550
DFC-Win64-Shipping.exe+B7A3168: 84 C0                    - test al,al
DFC-Win64-Shipping.exe+B7A316A: 74 37                    - je DFC-Win64-Shipping.exe+B7A31A3
DFC-Win64-Shipping.exe+B7A316C: E8 2F 6C 56 F5           - call DFC-Win64-Shipping.exe+D09DA0
DFC-Win64-Shipping.exe+B7A3171: 48 83 B8 08 02 00 00 00  - cmp qword ptr [rax+00000208],00
DFC-Win64-Shipping.exe+B7A3179: 74 28                    - je DFC-Win64-Shipping.exe+B7A31A3
DFC-Win64-Shipping.exe+B7A317B: E8 D0 73 55 F5           - call DFC-Win64-Shipping.exe+CFA550
DFC-Win64-Shipping.exe+B7A3180: 84 C0                    - test al,al
DFC-Win64-Shipping.exe+B7A3182: 75 0B                    - jne DFC-Win64-Shipping.exe+B7A318F
DFC-Win64-Shipping.exe+B7A3184: 8B BB D8 00 00 00        - mov edi,[rbx+000000D8]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>13</ID>
          <Description>"Money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_data_addr</Address>
          <Offsets>
            <Offset>D8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>19</ID>
          <Description>"SP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_data_addr</Address>
          <Offsets>
            <Offset>DC</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>52</ID>
      <Description>"Get money / SP (Usage: open menu)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-09
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_MONEY2,DFC-Win64-Shipping.exe,48 8B 80 08 02 00 00 8B 80 D8 00 00 00 48) // should be unique
alloc(newmem,$1000,INJECT_GET_MONEY2)

label(code)
label(return)
label(i_base_money2_addr)

newmem:
  mov [i_base_money2_addr], rax

code:
  mov rax,[rax+00000208]
  jmp return
align 10 cc
  i_base_money2_addr:
  dq 0

INJECT_GET_MONEY2:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_MONEY2)
registersymbol(i_base_money2_addr)

[DISABLE]

INJECT_GET_MONEY2:
  db 48 8B 80 08 02 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B4E7BC7

DFC-Win64-Shipping.exe+B4E7BA2: 48 83 B8 08 02 00 00 00  - cmp qword ptr [rax+00000208],00
DFC-Win64-Shipping.exe+B4E7BAA: 74 2D                    - je DFC-Win64-Shipping.exe+B4E7BD9
DFC-Win64-Shipping.exe+B4E7BAC: E8 9F 29 81 F5           - call DFC-Win64-Shipping.exe+CFA550
DFC-Win64-Shipping.exe+B4E7BB1: 84 C0                    - test al,al
DFC-Win64-Shipping.exe+B4E7BB3: 75 0D                    - jne DFC-Win64-Shipping.exe+B4E7BC2
DFC-Win64-Shipping.exe+B4E7BB5: 31 C0                    - xor eax,eax
DFC-Win64-Shipping.exe+B4E7BB7: 8B 80 D8 00 00 00        - mov eax,[rax+000000D8]
DFC-Win64-Shipping.exe+B4E7BBD: 48 83 C4 28              - add rsp,28
DFC-Win64-Shipping.exe+B4E7BC1: C3                       - ret
DFC-Win64-Shipping.exe+B4E7BC2: E8 D9 21 82 F5           - call DFC-Win64-Shipping.exe+D09DA0
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B4E7BC7: 48 8B 80 08 02 00 00     - mov rax,[rax+00000208]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B4E7BCE: 8B 80 D8 00 00 00        - mov eax,[rax+000000D8]
DFC-Win64-Shipping.exe+B4E7BD4: 48 83 C4 28              - add rsp,28
DFC-Win64-Shipping.exe+B4E7BD8: C3                       - ret
DFC-Win64-Shipping.exe+B4E7BD9: 31 C0                    - xor eax,eax
DFC-Win64-Shipping.exe+B4E7BDB: 48 83 C4 28              - add rsp,28
DFC-Win64-Shipping.exe+B4E7BDF: C3                       - ret
DFC-Win64-Shipping.exe+B4E7BE0: CC                       - int 3
DFC-Win64-Shipping.exe+B4E7BE1: F9                       - stc
DFC-Win64-Shipping.exe+B4E7BE2: 4C 8B 2C 24              - mov r13,[rsp]
DFC-Win64-Shipping.exe+B4E7BE6: 48 83 DC F7              - sbb rsp,-09
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>53</ID>
          <Description>"Base addr"</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>54</ID>
          <Description>"Money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>D8</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>55</ID>
          <Description>"SP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>DC</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>56</ID>
          <Description>"Mercenary: Unit Rank"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1D0</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>57</ID>
          <Description>"Mercenary: EXP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1D4</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>58</ID>
          <Description>"Mercenary: Meal Rank"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1D8</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>59</ID>
          <Description>"Mercenary: Skill Tree Rank"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1DC</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>60</ID>
          <Description>"Mercenary: Shop Rank"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1E0</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>61</ID>
          <Description>"Mercenary: Weapon Development Rank"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1E4</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>62</ID>
          <Description>"Mercenary: Magilumic Orb Research Rank"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money2_addr</Address>
          <Offsets>
            <Offset>1E8</Offset>
            <Offset>208</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>27</ID>
      <Description>"Char. Viewer (Usage: Menu -&gt; Equip.)"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-08
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CHAR_VIEW,DFC-Win64-Shipping.exe,8B 43 04 41 89 07 8B) // should be unique
alloc(newmem,$1000,INJECT_CHAR_VIEW)

label(code)
label(return)
label(i_char_view_base_addr)
newmem:
  mov [i_char_view_base_addr], rbx

code:
  mov eax,[rbx+04]
  mov [r15],eax
  jmp return
align 10 cc
  i_char_view_base_addr:
  dq 0

INJECT_CHAR_VIEW:
  jmp newmem
  nop
return:
registersymbol(INJECT_CHAR_VIEW)
registersymbol(i_char_view_base_addr)

[DISABLE]

INJECT_CHAR_VIEW:
  db 8B 43 04 41 89 07

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B3DCB11

DFC-Win64-Shipping.exe+B3DCAE8: 84 C0                 - test al,al
DFC-Win64-Shipping.exe+B3DCAEA: 74 0C                 - je DFC-Win64-Shipping.exe+B3DCAF8
DFC-Win64-Shipping.exe+B3DCAEC: E8 AF D2 92 F5        - call DFC-Win64-Shipping.exe+D09DA0
DFC-Win64-Shipping.exe+B3DCAF1: 48 8B B8 08 02 00 00  - mov rdi,[rax+00000208]
DFC-Win64-Shipping.exe+B3DCAF8: 48 6B DB 78           - imul rbx,rbx,78
DFC-Win64-Shipping.exe+B3DCAFC: 48 89 E9              - mov rcx,rbp
DFC-Win64-Shipping.exe+B3DCAFF: 48 03 9F 80 01 00 00  - add rbx,[rdi+00000180]
DFC-Win64-Shipping.exe+B3DCB06: 8B 43 0C              - mov eax,[rbx+0C]
DFC-Win64-Shipping.exe+B3DCB09: 48 8D 53 18           - lea rdx,[rbx+18]
DFC-Win64-Shipping.exe+B3DCB0D: 41 89 04 24           - mov [r12],eax
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B3DCB11: 8B 43 04              - mov eax,[rbx+04]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B3DCB14: 41 89 07              - mov [r15],eax
DFC-Win64-Shipping.exe+B3DCB17: 8B 43 10              - mov eax,[rbx+10]
DFC-Win64-Shipping.exe+B3DCB1A: 41 89 06              - mov [r14],eax
DFC-Win64-Shipping.exe+B3DCB1D: E8 4E 13 61 F5        - call DFC-Win64-Shipping.exe+9EDE70
DFC-Win64-Shipping.exe+B3DCB22: 48 8D 53 28           - lea rdx,[rbx+28]
DFC-Win64-Shipping.exe+B3DCB26: 48 89 F1              - mov rcx,rsi
DFC-Win64-Shipping.exe+B3DCB29: E8 42 13 61 F5        - call DFC-Win64-Shipping.exe+9EDE70
DFC-Win64-Shipping.exe+B3DCB2E: B0 01                 - mov al,01
DFC-Win64-Shipping.exe+B3DCB30: EB 02                 - jmp DFC-Win64-Shipping.exe+B3DCB34
DFC-Win64-Shipping.exe+B3DCB32: 30 C0                 - xor al,al
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>28</ID>
          <Description>"Base addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"LV"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"EXP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"ID??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Weapon ID"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>34</ID>
          <Description>"AP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>58</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Left Equip ID"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>0</Offset>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Right Equip ID"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_char_view_base_addr</Address>
          <Offsets>
            <Offset>4</Offset>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>36</ID>
          <Description>"Skills+"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>35</ID>
              <Description>"Skill 1 (Top-Left)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>0</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>37</ID>
              <Description>"Skill 2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>4</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>38</ID>
              <Description>"Skill 3"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>8</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>39</ID>
              <Description>"Skill 4 (Bottom-Left)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>C</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>40</ID>
              <Description>"Skill 5 (Top-Right)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>10</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>41</ID>
              <Description>"Skill 6"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>14</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>42</ID>
              <Description>"Skill 7"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>18</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>43</ID>
              <Description>"Skill 8 (Bottom-Right)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>1C</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>44</ID>
              <Description>"Skill 9 (Center)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_char_view_base_addr</Address>
              <Offsets>
                <Offset>20</Offset>
                <Offset>60</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>65</ID>
      <Description>"Weapon ,Equip &amp; resource stocks+"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>70</ID>
          <Description>"Turn off immediately when not in use"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>63</ID>
          <Description>"Fill weapon count (at least 1; usage: Open vendor sell menu)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-23
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SELL_WEAPON,DFC-Win64-Shipping.exe,8B 45 68 8B 39) // should be unique
alloc(newmem,$1000,INJECT_SELL_WEAPON)

label(code)
label(return)
label(i_force_set_weapon)
newmem:
  mov edi,[rcx]
  cmp dword ptr [i_force_set_weapon], 0
  jne force_set
  cmp edi, 0
  je code
  jmp next1
force_set:
  mov edi, 1
next1:
  cmp edi, 18
  ja code
  mov edi, 18
  mov [rcx], edi

code:
  mov eax,[rbp+68]
  mov edi,[rcx]
  jmp return
align 10 cc
  i_force_set_weapon:
  dd 0

INJECT_SELL_WEAPON:
  jmp newmem
return:
registersymbol(INJECT_SELL_WEAPON)
registersymbol(i_force_set_weapon)

[DISABLE]

INJECT_SELL_WEAPON:
  db 8B 45 68 8B 39

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B934AD

DFC-Win64-Shipping.exe+B93484: 33 F6                 - xor esi,esi
DFC-Win64-Shipping.exe+B93486: 4C 8B 45 60           - mov r8,[rbp+60]
DFC-Win64-Shipping.exe+B9348A: 45 33 FF              - xor r15d,r15d
DFC-Win64-Shipping.exe+B9348D: 0F 1F 00              - nop dword ptr [rax]
DFC-Win64-Shipping.exe+B93490: 49 3B F4              - cmp rsi,r12
DFC-Win64-Shipping.exe+B93493: 0F 8D 2B 01 00 00     - jnl DFC-Win64-Shipping.exe+B935C4
DFC-Win64-Shipping.exe+B93499: 48 8B 44 24 70        - mov rax,[rsp+70]
DFC-Win64-Shipping.exe+B9349E: 48 63 1C B0           - movsxd  rbx,dword ptr [rax+rsi*4]
DFC-Win64-Shipping.exe+B934A2: 49 8B 85 E0 00 00 00  - mov rax,[r13+000000E0]
DFC-Win64-Shipping.exe+B934A9: 49 8B 0C 07           - mov rcx,[r15+rax]
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B934AD: 8B 45 68              - mov eax,[rbp+68]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B934B0: 8B 39                 - mov edi,[rcx]
DFC-Win64-Shipping.exe+B934B2: 3B 85 94 00 00 00     - cmp eax,[rbp+00000094]
DFC-Win64-Shipping.exe+B934B8: 74 79                 - je DFC-Win64-Shipping.exe+B93533
DFC-Win64-Shipping.exe+B934BA: 8B 85 A8 00 00 00     - mov eax,[rbp+000000A8]
DFC-Win64-Shipping.exe+B934C0: 48 8D 8D 98 00 00 00  - lea rcx,[rbp+00000098]
DFC-Win64-Shipping.exe+B934C7: FF C8                 - dec eax
DFC-Win64-Shipping.exe+B934C9: 48 63 D0              - movsxd  rdx,eax
DFC-Win64-Shipping.exe+B934CC: 48 8B 85 A0 00 00 00  - mov rax,[rbp+000000A0]
DFC-Win64-Shipping.exe+B934D3: 48 23 D3              - and rdx,rbx
DFC-Win64-Shipping.exe+B934D6: 48 85 C0              - test rax,rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>73</ID>
              <Description>"Force set weapon (may cause bug)"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_force_set_weapon</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>64</ID>
          <Description>"Fill equip count (at least 1; usage: Open vendor sell menu)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-23
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SELL_EQUIP,DFC-Win64-Shipping.exe,41 8B 3C 07 8B 45 18) // should be unique
alloc(newmem,$1000,INJECT_SELL_EQUIP)

label(code)
label(return)
label(i_force_set_equip)

newmem:
  mov edi,[r15+rax]

  cmp dword ptr [i_force_set_equip], 0
  jne force_set

  cmp edi, 0
  je code
  jmp next1
force_set:
  mov edi, 1

next1:
  cmp edi, 18
  jae code
  mov edi, 18
  mov [r15+rax], edi

code:
  mov edi,[r15+rax]
  mov eax,[rbp+18]
  jmp return
align 10 cc
  i_force_set_equip:
  dd 0


INJECT_SELL_EQUIP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SELL_EQUIP)
registersymbol(i_force_set_equip)
[DISABLE]

INJECT_SELL_EQUIP:
  db 41 8B 3C 07 8B 45 18

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B93669

DFC-Win64-Shipping.exe+B9363C: 4C 63 64 24 68        - movsxd  r12,dword ptr [rsp+68]
DFC-Win64-Shipping.exe+B93641: 33 F6                 - xor esi,esi
DFC-Win64-Shipping.exe+B93643: 4C 8B 45 10           - mov r8,[rbp+10]
DFC-Win64-Shipping.exe+B93647: 45 33 FF              - xor r15d,r15d
DFC-Win64-Shipping.exe+B9364A: 66 0F 1F 44 00 00     - nop word ptr [rax+rax+00]
DFC-Win64-Shipping.exe+B93650: 49 3B F4              - cmp rsi,r12
DFC-Win64-Shipping.exe+B93653: 0F 8D 04 01 00 00     - jnl DFC-Win64-Shipping.exe+B9375D
DFC-Win64-Shipping.exe+B93659: 48 8B 44 24 60        - mov rax,[rsp+60]
DFC-Win64-Shipping.exe+B9365E: 48 63 1C B0           - movsxd  rbx,dword ptr [rax+rsi*4]
DFC-Win64-Shipping.exe+B93662: 49 8B 85 F0 00 00 00  - mov rax,[r13+000000F0]
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B93669: 41 8B 3C 07           - mov edi,[r15+rax]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B9366D: 8B 45 18              - mov eax,[rbp+18]
DFC-Win64-Shipping.exe+B93670: 3B 45 44              - cmp eax,[rbp+44]
DFC-Win64-Shipping.exe+B93673: 74 79                 - je DFC-Win64-Shipping.exe+B936EE
DFC-Win64-Shipping.exe+B93675: 8B 45 58              - mov eax,[rbp+58]
DFC-Win64-Shipping.exe+B93678: 48 8D 4D 48           - lea rcx,[rbp+48]
DFC-Win64-Shipping.exe+B9367C: FF C8                 - dec eax
DFC-Win64-Shipping.exe+B9367E: 48 63 D0              - movsxd  rdx,eax
DFC-Win64-Shipping.exe+B93681: 48 8B 45 50           - mov rax,[rbp+50]
DFC-Win64-Shipping.exe+B93685: 48 23 D3              - and rdx,rbx
DFC-Win64-Shipping.exe+B93688: 48 85 C0              - test rax,rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>75</ID>
              <Description>"Force set equip (may cause bug)"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_force_set_equip</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>72</ID>
          <Description>"Fill item count (at least 1; usage: Open vendor sell menu)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-23
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SELL_ITEMS,DFC-Win64-Shipping.exe,41 8B 3C 07 8B 45 C8) // should be unique
alloc(newmem,$1000,INJECT_SELL_ITEMS)

label(code)
label(return)
label(i_force_set_item)
newmem:
  mov edi,[r15+rax]

  cmp dword ptr [i_force_set_item], 0
  jne force_set

  cmp edi, 0
  je code
  jmp next1
force_set:
  mov edi, 1

next1:
  cmp edi, a
  jae code
  mov edi, a
  mov [r15+rax], edi

code:
  mov edi,[r15+rax]
  mov eax,[rbp-38]
  jmp return
align 10 cc
  i_force_set_item:
  dd 0


INJECT_SELL_ITEMS:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SELL_ITEMS)
registersymbol(i_force_set_item)

[DISABLE]

INJECT_SELL_ITEMS:
  db 41 8B 3C 07 8B 45 C8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B93804

DFC-Win64-Shipping.exe+B937D4: 0F 8E 24 01 00 00        - jng DFC-Win64-Shipping.exe+B938FE
DFC-Win64-Shipping.exe+B937DA: 48 63 44 24 48           - movsxd  rax,dword ptr [rsp+48]
DFC-Win64-Shipping.exe+B937DF: 33 F6                    - xor esi,esi
DFC-Win64-Shipping.exe+B937E1: 4C 8B 45 C0              - mov r8,[rbp-40]
DFC-Win64-Shipping.exe+B937E5: 45 33 FF                 - xor r15d,r15d
DFC-Win64-Shipping.exe+B937E8: 0F 1F 84 00 00 00 00 00  - nop dword ptr [rax+rax+00000000]
DFC-Win64-Shipping.exe+B937F0: 48 3B F0                 - cmp rsi,rax
DFC-Win64-Shipping.exe+B937F3: 0F 8D EE 00 00 00        - jnl DFC-Win64-Shipping.exe+B938E7
DFC-Win64-Shipping.exe+B937F9: 49 8B 85 00 01 00 00     - mov rax,[r13+00000100]
DFC-Win64-Shipping.exe+B93800: 49 63 1C B4              - movsxd  rbx,dword ptr [r12+rsi*4]
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B93804: 41 8B 3C 07              - mov edi,[r15+rax]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B93808: 8B 45 C8                 - mov eax,[rbp-38]
DFC-Win64-Shipping.exe+B9380B: 3B 45 F4                 - cmp eax,[rbp-0C]
DFC-Win64-Shipping.exe+B9380E: 74 63                    - je DFC-Win64-Shipping.exe+B93873
DFC-Win64-Shipping.exe+B93810: 8B 45 08                 - mov eax,[rbp+08]
DFC-Win64-Shipping.exe+B93813: 48 8D 4D F8              - lea rcx,[rbp-08]
DFC-Win64-Shipping.exe+B93817: FF C8                    - dec eax
DFC-Win64-Shipping.exe+B93819: 48 63 D0                 - movsxd  rdx,eax
DFC-Win64-Shipping.exe+B9381C: 48 8B 45 00              - mov rax,[rbp+00]
DFC-Win64-Shipping.exe+B93820: 48 23 D3                 - and rdx,rbx
DFC-Win64-Shipping.exe+B93823: 48 85 C0                 - test rax,rax
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>76</ID>
              <Description>"Force set item (may cause bug)"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_force_set_item</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>68</ID>
          <Description>"Fill resources (at least 1, usage: Open menu)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : DFC-Win64-Shipping.exe
  Version: 
  Date   : 2022-09-23
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FILL_RESEARCH_RESOURCES,DFC-Win64-Shipping.exe,01 00 00 48 8D 0C 7F 8B 04 88 48 8B 5C 24 30) // should be unique
alloc(newmem,$1000,INJECT_FILL_RESEARCH_RESOURCES)

label(code)
label(return)
label(i_force_set_resource)

newmem:
  push rax
  push r15

  mov r15, rax
  mov eax,[r15+rcx*4]

  cmp dword ptr [i_force_set_resource], 0
  jne force_set

  cmp eax, 0
  je endp
  jmp next1
force_set:
  mov eax, 1

next1:
  cmp eax, 1E
  ja endp

  mov eax, 1E
  mov [r15+rcx*4], eax

endp:
  pop r15
  pop rax


code:
  mov eax,[rax+rcx*4]
  mov rbx,[rsp+30]
  jmp return
align 10 cc
  i_force_set_resource:
  dd 0

INJECT_FILL_RESEARCH_RESOURCES+07:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FILL_RESEARCH_RESOURCES)
registersymbol(i_force_set_resource)


[DISABLE]

INJECT_FILL_RESEARCH_RESOURCES+07:
  db 8B 04 88 48 8B 5C 24 30

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DFC-Win64-Shipping.exe+B494540

DFC-Win64-Shipping.exe+B494511: 48 8B 80 08 02 00 00  - mov rax,[rax+00000208]
DFC-Win64-Shipping.exe+B494518: 39 B8 08 01 00 00     - cmp [rax+00000108],edi
DFC-Win64-Shipping.exe+B49451E: 7E 2E                 - jle DFC-Win64-Shipping.exe+B49454E
DFC-Win64-Shipping.exe+B494520: E8 2B 60 86 F5        - call DFC-Win64-Shipping.exe+CFA550
DFC-Win64-Shipping.exe+B494525: 84 C0                 - test al,al
DFC-Win64-Shipping.exe+B494527: 74 0C                 - je DFC-Win64-Shipping.exe+B494535
DFC-Win64-Shipping.exe+B494529: E8 72 58 87 F5        - call DFC-Win64-Shipping.exe+D09DA0
DFC-Win64-Shipping.exe+B49452E: 48 8B 98 08 02 00 00  - mov rbx,[rax+00000208]
DFC-Win64-Shipping.exe+B494535: 48 8B 83 00 01 00 00  - mov rax,[rbx+00000100]
DFC-Win64-Shipping.exe+B49453C: 48 8D 0C 7F           - lea rcx,[rdi+rdi*2]
// ---------- INJECTING HERE ----------
DFC-Win64-Shipping.exe+B494540: 8B 04 88              - mov eax,[rax+rcx*4]
// ---------- DONE INJECTING  ----------
DFC-Win64-Shipping.exe+B494543: 48 8B 5C 24 30        - mov rbx,[rsp+30]
DFC-Win64-Shipping.exe+B494548: 48 83 C4 20           - add rsp,20
DFC-Win64-Shipping.exe+B49454C: 5F                    - pop rdi
DFC-Win64-Shipping.exe+B49454D: C3                    - ret 
DFC-Win64-Shipping.exe+B49454E: 48 8B 5C 24 30        - mov rbx,[rsp+30]
DFC-Win64-Shipping.exe+B494553: 31 C0                 - xor eax,eax
DFC-Win64-Shipping.exe+B494555: 48 83 C4 20           - add rsp,20
DFC-Win64-Shipping.exe+B494559: 5F                    - pop rdi
DFC-Win64-Shipping.exe+B49455A: C3                    - ret 
DFC-Win64-Shipping.exe+B49455B: CC                    - int 3 
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>74</ID>
              <Description>"Force set resources (may cause bug)"</Description>
              <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_force_set_resource</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"The DioField Chronicle 1.1.0 /  https://opencheattables.com  /  CE 7.4+"</Description>
      <Color>400080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
