<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="51">
  <CheatEntries>
    <CheatEntry>
      <ID>9265</ID>
      <Description>"Activate | Disgaea 5 Complete | v3528766"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]

createThread(function()
local i = 0
while(AddressList.getMemoryRecordByDescription("getStatic").Active ~= true)
do
  if(i&gt;15) then break end
  sleep(500)
  AddressList.getMemoryRecordByDescription("getHealth").Active = true
  AddressList.getMemoryRecordByDescription("getChar").Active = true
  AddressList.getMemoryRecordByDescription("getEXP").Active = true
  AddressList.getMemoryRecordByDescription("getStatic").Active = true
  i = i+1
end
end)

[DISABLE]

  AddressList.getMemoryRecordByDescription("getHealth").Active = false
  AddressList.getMemoryRecordByDescription("getChar").Active = false
  AddressList.getMemoryRecordByDescription("getEXP").Active = false
  AddressList.getMemoryRecordByDescription("getStatic").Active = false


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>9257</ID>
      <Description>"Gethealth"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]
aobscanmodule(health_AOB,disgaea5.exe,48 89 ?? ?? ?? ?? ?? EB ?? 4C ?? ?? ?? ?? ?? ?? 48 8B ?? ?? ?? ?? ?? 48 8B)
alloc(newmem,$1000,health_AOB)

label(code_hp)
label(return)
label(hpflag)
label(ohkflag)

registersymbol(hpflag)
registersymbol(ohkflag)
registersymbol(code_hp)

newmem:
  cmp byte ptr [rdx+2e32],0
  jne @f
  cmp [hpflag],1
  jne code_hp
  mov rcx,[rdx+2CD8]
  jmp code_hp

@@:
  cmp [ohkflag],1
  jne @f
  sub rcx,[rdx+2CD8]


code_hp:
  readmem(health_AOB,7) //mov [rdx+00002CC8],rcx
  jmp return

newmem+200:
hpflag:
  dd 0
ohkflag:
  dd 0

health_AOB:
  jmp newmem
  nop 2
return:
registersymbol(health_AOB)

[DISABLE]

health_AOB:
  readmem(code_hp,7) //db 48 89 8A C8 2C 00 00

unregistersymbol(health_AOB)
unregistersymbol(hpflag)
unregistersymbol(ohkflag)
unregistersymbol(code_hp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: disgaea5.exe+1B1546

disgaea5.exe+1B1518: 75 35                 - jne disgaea5.exe+1B154F
disgaea5.exe+1B151A: 4C 29 A0 C8 2C 00 00  - sub [rax+00002CC8],r12
disgaea5.exe+1B1521: 48 8B 93 40 02 00 00  - mov rdx,[rbx+00000240]
disgaea5.exe+1B1528: 48 8B 82 C8 2C 00 00  - mov rax,[rdx+00002CC8]
disgaea5.exe+1B152F: 48 8B 8A D8 2C 00 00  - mov rcx,[rdx+00002CD8]
disgaea5.exe+1B1536: 48 3B C8              - cmp rcx,rax
disgaea5.exe+1B1539: 48 0F 4D C8           - cmovge rcx,rax
disgaea5.exe+1B153D: 33 C0                 - xor eax,eax
disgaea5.exe+1B153F: 48 85 C9              - test rcx,rcx
disgaea5.exe+1B1542: 48 0F 48 C8           - cmovs rcx,rax
// ---------- INJECTING HERE ----------
disgaea5.exe+1B1546: 48 89 8A C8 2C 00 00  - mov [rdx+00002CC8],rcx
// ---------- DONE INJECTING  ----------
disgaea5.exe+1B154D: EB 33                 - jmp disgaea5.exe+1B1582
disgaea5.exe+1B154F: 4C 29 A0 D0 2C 00 00  - sub [rax+00002CD0],r12
disgaea5.exe+1B1556: 48 8B 93 40 02 00 00  - mov rdx,[rbx+00000240]
disgaea5.exe+1B155D: 48 8B 82 D0 2C 00 00  - mov rax,[rdx+00002CD0]
disgaea5.exe+1B1564: 48 8B 8A E0 2C 00 00  - mov rcx,[rdx+00002CE0]
disgaea5.exe+1B156B: 48 3B C8              - cmp rcx,rax
disgaea5.exe+1B156E: 48 0F 4D C8           - cmovge rcx,rax
disgaea5.exe+1B1572: 33 C0                 - xor eax,eax
disgaea5.exe+1B1574: 48 85 C9              - test rcx,rcx
disgaea5.exe+1B1577: 48 0F 48 C8           - cmovs rcx,rax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>9258</ID>
          <Description>"Unlimited hp"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]
ohkflag:
  dd 1

[DISABLE]

ohkflag:
  dd 0
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>9259</ID>
          <Description>"One hit kill"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]

hpflag:
  dd 1

[DISABLE]

hpflag:
  dd 0
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>9260</ID>
      <Description>"Unlimited sp"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]
aobscanmodule(SP_AOB,disgaea5.exe,4C ?? ?? ?? ?? ?? ?? 48 8B ?? ?? ?? 48 83 ?? ?? 5F C3 E8 ?? ?? ?? ?? 84)
alloc(newmem,$1000,SP_AOB)

label(code_sp)
label(return)
registersymboL(code_sp)

newmem:
  cmp byte ptr [rcx+2e32],0
  jne @f
  mov r11,[rcx+2CE0]

code_sp:
  readmem(SPA_OB,7) /mov [rcx+00002CD0],r11
  jmp return

SP_AOB:
  jmp newmem
  nop 2

return:
registersymbol(SP_AOB)

[DISABLE]

SP_AOB:
  readmem(code_sp,7) //db 4C 89 99 D0 2C 00 00

unregistersymbol(SP_AOB)
unregistersymboL(code_sp)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: disgaea5.exe+1D73CF

disgaea5.exe+1D73AF: CC                    - int 3 
disgaea5.exe+1D73B0: 48 89 5C 24 08        - mov [rsp+08],rbx
disgaea5.exe+1D73B5: 57                    - push rdi
disgaea5.exe+1D73B6: 48 83 EC 20           - sub rsp,20
disgaea5.exe+1D73BA: 4C 8B 99 D0 2C 00 00  - mov r11,[rcx+00002CD0]
disgaea5.exe+1D73C1: 48 8B FA              - mov rdi,rdx
disgaea5.exe+1D73C4: 48 8B D9              - mov rbx,rcx
disgaea5.exe+1D73C7: 4C 3B DA              - cmp r11,rdx
disgaea5.exe+1D73CA: 7C 15                 - jl disgaea5.exe+1D73E1
disgaea5.exe+1D73CC: 4C 2B DA              - sub r11,rdx
// ---------- INJECTING HERE ----------
disgaea5.exe+1D73CF: 4C 89 99 D0 2C 00 00  - mov [rcx+00002CD0],r11
// ---------- DONE INJECTING  ----------
disgaea5.exe+1D73D6: 48 8B 5C 24 30        - mov rbx,[rsp+30]
disgaea5.exe+1D73DB: 48 83 C4 20           - add rsp,20
disgaea5.exe+1D73DF: 5F                    - pop rdi
disgaea5.exe+1D73E0: C3                    - ret 
disgaea5.exe+1D73E1: E8 BA D8 01 00        - call disgaea5.exe+1F4CA0
disgaea5.exe+1D73E6: 84 C0                 - test al,al
disgaea5.exe+1D73E8: 74 2A                 - je disgaea5.exe+1D7414
disgaea5.exe+1D73EA: 48 8B 8B C8 2C 00 00  - mov rcx,[rbx+00002CC8]
disgaea5.exe+1D73F1: 48 8B C7              - mov rax,rdi
disgaea5.exe+1D73F4: 49 2B C3              - sub rax,r11
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>9261</ID>
      <Description>"Instant max bonus gauge"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]
aobscanmodule(bonusGauge_AOB,disgaea5.exe,48 89 ?? ?? ?? ?? ?? 89 ?? ?? ?? ?? ?? C7 ?? ?? ?? ?? ?? ?? ?? ?? ?? 48 C7 ?? ?? ?? ?? ?? ?? ?? ?? ?? E8 ?? ?? ?? ?? 48 8B)
alloc(newmem,$1000,bonusGauge_AOB)

label(code_bonus)
label(return)
registersymbol(code_bonus)

newmem:
  mov rsi,9

code_bonus:
  readmem(bonusGaugeA_OB,7) //mov [rdi+00009060],rsi
  jmp return

bonusGauge_AOB:
  jmp newmem
  nop 2

return:
registersymbol(bonusGauge_AOB)

[DISABLE]

bonusGauge_AOB:
  readmem(code_bonus,7) //db 48 89 B7 60 90 00 00

unregistersymbol(bonusGauge_AOB)
unregistersymbol(code_bonus)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: disgaea5.exe+4AF756

disgaea5.exe+4AF71D: 89 B7 18 06 0C 00                 - mov [rdi+000C0618],esi
disgaea5.exe+4AF723: 66 89 B7 1C 06 0C 00              - mov [rdi+000C061C],si
disgaea5.exe+4AF72A: 48 89 3D 3F 97 6A 07              - mov [disgaea5.exe+7B58E70],rdi
disgaea5.exe+4AF731: E8 EA C7 08 00                    - call disgaea5.exe+53BF20
disgaea5.exe+4AF736: 48 8B CB                          - mov rcx,rbx
disgaea5.exe+4AF739: 48 89 3B                          - mov [rbx],rdi
disgaea5.exe+4AF73C: E8 4F 7B 00 00                    - call disgaea5.exe+4B7290
disgaea5.exe+4AF741: 48 89 BF 48 90 00 00              - mov [rdi+00009048],rdi
disgaea5.exe+4AF748: 48 89 9F 50 90 00 00              - mov [rdi+00009050],rbx
disgaea5.exe+4AF74F: 48 89 9F 58 90 00 00              - mov [rdi+00009058],rbx
// ---------- INJECTING HERE ----------
disgaea5.exe+4AF756: 48 89 B7 60 90 00 00              - mov [rdi+00009060],rsi
// ---------- DONE INJECTING  ----------
disgaea5.exe+4AF75D: 89 B7 68 90 00 00                 - mov [rdi+00009068],esi
disgaea5.exe+4AF763: C7 87 6C 90 00 00 05 00 00 00     - mov [rdi+0000906C],00000005
disgaea5.exe+4AF76D: 48 C7 87 70 90 00 00 01 00 00 00  - mov qword ptr [rdi+00009070],00000001
disgaea5.exe+4AF778: E8 73 63 C9 FF                    - call disgaea5.exe+145AF0
disgaea5.exe+4AF77D: 48 8B 05 EC 96 6A 07              - mov rax,[disgaea5.exe+7B58E70]
disgaea5.exe+4AF784: 48 8B 5C 24 30                    - mov rbx,[rsp+30]
disgaea5.exe+4AF789: 89 B7 10 06 0C 00                 - mov [rdi+000C0610],esi
disgaea5.exe+4AF78F: 40 88 B7 14 06 0C 00              - mov [rdi+000C0614],sil
disgaea5.exe+4AF796: 66 89 B7 1C 06 0C 00              - mov [rdi+000C061C],si
disgaea5.exe+4AF79D: 89 B7 18 06 0C 00                 - mov [rdi+000C0618],esi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>0</ID>
      <Description>"Getchar"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]
aobscanmodule(selectedChar_AOB,disgaea5.exe,4D ?? ?? ?? ?? ?? ?? 89 ?? ?? 8B ?? ?? ?? ?? ?? 89 ?? ?? E8 ?? ?? ?? ?? F3)
alloc(newmem,$1000,selectedChar_AOB)

label(code_char)
label(return)
label(cSelect)

registersymbol(code_char)
registersymbol(cSelect)

newmem:
  mov [cSelect],r10

code_char:
  readmem(selectedChar_AOB,7) //mov r10,[r10+00002CC8]
  jmp return

newmem+200:
cSelect:
  dq 0

selectedChar_AOB:
  jmp newmem
  nop 2

return:
registersymbol(selectedChar_AOB)

[DISABLE]

selectedChar_AOB:
  readmem(code_char,7) //db 4D 8B 92 C8 2C 00 00

unregistersymbol(selectedChar_AOB)
unregistersymbol(code_char)
unregistersymbol(cSelect)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: disgaea5.exe+4308F3

disgaea5.exe+4308C7: 66 0F 6E 45 B7           - movd xmm0,[rbp-49]
disgaea5.exe+4308CC: 0F 5B C0                 - cvtdq2ps xmm0,xmm0
disgaea5.exe+4308CF: 89 45 B3                 - mov [rbp-4D],eax
disgaea5.exe+4308D2: F3 41 0F 59 C0           - mulss xmm0,xmm8
disgaea5.exe+4308D7: E8 58 4F CE FF           - call disgaea5.exe+115834
disgaea5.exe+4308DC: 4C 8B 55 57              - mov r10,[rbp+57]
disgaea5.exe+4308E0: 48 8D 55 6F              - lea rdx,[rbp+6F]
disgaea5.exe+4308E4: 4D 8B A4 24 D8 2C 00 00  - mov r12,[r12+00002CD8]
disgaea5.exe+4308EC: 49 8B CD                 - mov rcx,r13
disgaea5.exe+4308EF: F3 0F 2C C0              - cvttss2si eax,xmm0
// ---------- INJECTING HERE ----------
disgaea5.exe+4308F3: 4D 8B 92 C8 2C 00 00     - mov r10,[r10+00002CC8]
// ---------- DONE INJECTING  ----------
disgaea5.exe+4308FA: 89 45 B7                 - mov [rbp-49],eax
disgaea5.exe+4308FD: 8B 05 5D 33 54 00        - mov eax,[disgaea5.exe+973C60]
disgaea5.exe+430903: 89 45 6F                 - mov [rbp+6F],eax
disgaea5.exe+430906: E8 75 0C FE FF           - call disgaea5.exe+411580
disgaea5.exe+43090B: F3 45 0F 2C 7D 34        - cvttss2si r15d,[r13+34]
disgaea5.exe+430911: 44 8B 75 AF              - mov r14d,[rbp-51]
disgaea5.exe+430915: 49 8B CA                 - mov rcx,r10
disgaea5.exe+430918: 41 83 C6 23              - add r14d,23
disgaea5.exe+43091C: F3 41 0F 2C 75 30        - cvttss2si esi,[r13+30]
disgaea5.exe+430922: 44 03 FB                 - add r15d,ebx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>9254</ID>
          <Description>"Selected character"</Description>
          <VariableType>8 Bytes</VariableType>
          <Address>cSelect</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>9247</ID>
              <Description>"Name"</Description>
              <VariableType>String</VariableType>
              <Length>10</Length>
              <Unicode>0</Unicode>
              <CodePage>0</CodePage>
              <ZeroTerminate>1</ZeroTerminate>
              <Address>+BC8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9248</ID>
              <Description>"Class"</Description>
              <VariableType>String</VariableType>
              <Length>10</Length>
              <Unicode>0</Unicode>
              <CodePage>0</CodePage>
              <ZeroTerminate>1</ZeroTerminate>
              <Address>+BFC</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9253</ID>
              <Description>"Edit: selected character exp"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9236</ID>
              <Description>"Edit: selected character hp"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CC8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9237</ID>
              <Description>"Edit: selected character max hp"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CD8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9241</ID>
              <Description>"Edit: selected character sp"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CD0</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9240</ID>
              <Description>"Edit: selected character max sp"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CE0</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9238</ID>
              <Description>"Edit: selected character atk"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CE8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9239</ID>
              <Description>"Edit: selected character def"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CF0</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9242</ID>
              <Description>"Edit: selected character int"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2CF8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9246</ID>
              <Description>"Edit: selected character res"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2D00</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9245</ID>
              <Description>"Edit: selected character hit"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2D08</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9244</ID>
              <Description>"Edit: selected character spd"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>+2D10</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>9255</ID>
      <Description>"Getexp"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]
aobscanmodule(expMult_AOB,disgaea5.exe,48 01 ?? ?? 48 8B ?? ?? 48 B9)
alloc(newmem,$1000,expMult_AOB)

label(code_exp)
label(return)
label(xpMul)

registersymbol(code_exp)
registersymbol(xpMul)

newmem:
  cvtsi2ss xmm15,rdx
  mulss xmm15,[xpMul]
  cvtss2si rdx,xmm15

code_exp:
  readmem(expMult_AOB,8)
{
  add [rcx+08],rdx
  mov rax,[rcx+08]
}
  jmp return

newmem+200:
xpMul:
  dd (float)1

expMult_AOB:
  jmp newmem
  nop 3

return:
registersymbol(expMult_AOB)

[DISABLE]

expMult_AOB:
  readmem(code_exp,8) //db 48 01 51 08 48 8B 41 08

unregistersymbol(expMult_AOB)
unregistersymbol(code_exp)
unregistersymbol(xpMul)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: disgaea5.exe+160CBF

disgaea5.exe+160C9E: CC                             - int 3 
disgaea5.exe+160C9F: CC                             - int 3 
disgaea5.exe+160CA0: 40 56                          - push rsi
disgaea5.exe+160CA2: 48 83 EC 20                    - sub rsp,20
disgaea5.exe+160CA6: 80 B9 32 2E 00 00 00           - cmp byte ptr [rcx+00002E32],00
disgaea5.exe+160CAD: 48 8B F1                       - mov rsi,rcx
disgaea5.exe+160CB0: 75 0D                          - jne disgaea5.exe+160CBF
disgaea5.exe+160CB2: 33 C0                          - xor eax,eax
disgaea5.exe+160CB4: 66 39 05 63 3E 41 05           - cmp [disgaea5.exe+5574B1E],ax
disgaea5.exe+160CBB: 48 0F 45 D0                    - cmovne rdx,rax
// ---------- INJECTING HERE ----------
disgaea5.exe+160CBF: 48 01 51 08                    - add [rcx+08],rdx
// ---------- DONE INJECTING  ----------
disgaea5.exe+160CC3: 48 8B 41 08                    - mov rax,[rcx+08]
disgaea5.exe+160CC7: 48 B9 00 00 00 00 00 00 00 01  - mov rcx,0100000000000000
disgaea5.exe+160CD1: 48 3B C1                       - cmp rax,rcx
disgaea5.exe+160CD4: 48 0F 4F C1                    - cmovg rax,rcx
disgaea5.exe+160CD8: 48 89 46 08                    - mov [rsi+08],rax
disgaea5.exe+160CDC: 48 63 86 48 43 00 00           - movsxd  rax,dword ptr [rsi+00004348]
disgaea5.exe+160CE3: 3D 89 02 00 00                 - cmp eax,00000289
disgaea5.exe+160CE8: 77 5A                          - ja disgaea5.exe+160D44
disgaea5.exe+160CEA: 48 89 5C 24 30                 - mov [rsp+30],rbx
disgaea5.exe+160CEF: 48 69 D8 98 0E 00 00           - imul rbx,rax,00000E98
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>9256</ID>
          <Description>"Exp multiplier"</Description>
          <VariableType>Float</VariableType>
          <Address>xpMul</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>9263</ID>
      <Description>"Getstatic"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>//  ███╗   ███╗██╗   ██╗██╗      ██████╗
//  ████╗ ████║██║   ██║██║     ██╔═████╗
//  ██╔████╔██║██║   ██║██║     ██║██╔██║
//  ██║╚██╔╝██║██║   ██║██║     ████╔╝██║
//  ██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝
//  ╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝
//  🎯 Game    : disgaea5.exe
//  🧾 Version : 3528766
//  📅 Date    : 10/04/2023
//  🧠 Author  : mul0
//  🌐 Site    : https://mul0.com/

[ENABLE]

autoAssemble([[
aobscanmodule(staticAOB,$process,0F B6 ?? ?? ?? ?? ?? 44 0F ?? ?? ?? ?? ?? ?? 8B ?? ?? ?? ?? ?? 89)
registersymbol(staticAOB)
]])
local addr = getAddress("staticAOB")
addr = addr + readInteger(addr + 3) + 7
unregisterSymbol("static")
registerSymbol("static", addr, true)

[DISABLE]

unregisterSymbol("static")
{$asm}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>9264</ID>
          <Description>"Edit: hl"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>static+a16</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
