<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>9</ID>
      <Description>"Damage multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : LIVEALIVE  
  Version: 
  Date   : 2023-04-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BATTLE_HP,LIVEALIVE-Win64-Shipping.exe,40 38 B1 90 04 00 00) // should be unique
alloc(newmem,$1000,INJECT_BATTLE_HP)

label(code)
label(return)
label(vf_damage_multi)
label(vf_damage_multi_enemy)
newmem:
  pushfq
  push r15
  mov r15d, [rcx+00000328] // 280? 284?
  test r15d, r15d
  jnz to_enemy
  vmovss xmm14, [vf_damage_multi]
  cvtsi2ss xmm15, edx
  vmulss xmm13, xmm14, xmm15
  vcvtss2si edx, xmm13
  jmp endp
to_enemy:
  mov r15d, [rcx+0000033C]
  vmovss xmm14, [vf_damage_multi_enemy]
  cvtsi2ss xmm15, edx
  vmulss xmm13, xmm14, xmm15
  vcvtss2si edx, xmm13
  cmp edx, r15d
  cmovge edx, r15d
  //jmp endp
endp:
  pop r15
  popfq
code:
  cmp [rcx+00000490],sil
  jmp return
align 10 cc
  vf_damage_multi:
  dd (float)0.75
  vf_damage_multi_enemy:
  dd (float)1.05

INJECT_BATTLE_HP:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_BATTLE_HP)
registersymbol(vf_damage_multi)
registersymbol(vf_damage_multi_enemy)
[DISABLE]

INJECT_BATTLE_HP:
  db 40 38 B1 90 04 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: LIVEALIVE-Win64-Shipping.exe+F799E1

LIVEALIVE-Win64-Shipping.exe+F799B5: 32 C0                    - xor al,al
LIVEALIVE-Win64-Shipping.exe+F799B7: E9 72 03 00 00           - jmp LIVEALIVE-Win64-Shipping.exe+F79D2E
LIVEALIVE-Win64-Shipping.exe+F799BC: 8B 12                    - mov edx,[rdx]
LIVEALIVE-Win64-Shipping.exe+F799BE: 41 88 04 24              - mov [r12],al
LIVEALIVE-Win64-Shipping.exe+F799C2: 80 B9 89 03 00 00 01     - cmp byte ptr [rcx+00000389],01
LIVEALIVE-Win64-Shipping.exe+F799C9: 48 89 B4 24 F0 00 00 00  - mov [rsp+000000F0],rsi
LIVEALIVE-Win64-Shipping.exe+F799D1: 0F 85 EE 02 00 00        - jne LIVEALIVE-Win64-Shipping.exe+F79CC5
LIVEALIVE-Win64-Shipping.exe+F799D7: 85 D2                    - test edx,edx
LIVEALIVE-Win64-Shipping.exe+F799D9: 0F 8E C9 02 00 00        - jng LIVEALIVE-Win64-Shipping.exe+F79CA8
LIVEALIVE-Win64-Shipping.exe+F799DF: 33 F6                    - xor esi,esi
// ---------- INJECTING HERE ----------
LIVEALIVE-Win64-Shipping.exe+F799E1: 40 38 B1 90 04 00 00     - cmp [rcx+00000490],sil
// ---------- DONE INJECTING  ----------
LIVEALIVE-Win64-Shipping.exe+F799E8: 8B C6                    - mov eax,esi
LIVEALIVE-Win64-Shipping.exe+F799EA: 8B 89 3C 03 00 00        - mov ecx,[rcx+0000033C]
LIVEALIVE-Win64-Shipping.exe+F799F0: 0F 95 C0                 - setne al
LIVEALIVE-Win64-Shipping.exe+F799F3: 48 89 74 24 40           - mov [rsp+40],rsi
LIVEALIVE-Win64-Shipping.exe+F799F8: 2B CA                    - sub ecx,edx
LIVEALIVE-Win64-Shipping.exe+F799FA: 48 89 74 24 48           - mov [rsp+48],rsi
LIVEALIVE-Win64-Shipping.exe+F799FF: 3B C1                    - cmp eax,ecx
LIVEALIVE-Win64-Shipping.exe+F79A01: 89 74 24 50              - mov [rsp+50],esi
LIVEALIVE-Win64-Shipping.exe+F79A05: 40 88 74 24 54           - mov [rsp+54],sil
LIVEALIVE-Win64-Shipping.exe+F79A0A: 0F 4D C8                 - cmovge ecx,eax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"multiplier to player"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_damage_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>7</ID>
          <Description>"multiplier to enemy"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_damage_multi_enemy</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>14</ID>
      <Description>"Char. stat."</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : LIVEALIVE  
  Version: 
  Date   : 2023-04-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_CHAR_STAT,LIVEALIVE-Win64-Shipping.exe,8B 42 24 89 41 24 48 8B 42 28 48 89 41 28 48 8B) // should be unique
alloc(newmem,$1000,INJECT_GET_CHAR_STAT)

label(code)
label(return)
label(i_base_char_addr)
newmem:
  mov [i_base_char_addr], rdx
code:
  mov eax,[rdx+24]
  mov [rcx+24],eax
  jmp return
align 10 cc
  i_base_char_addr:
  dq 0
INJECT_GET_CHAR_STAT:
  jmp newmem
  nop
return:
registersymbol(INJECT_GET_CHAR_STAT)
registersymbol(i_base_char_addr)

[DISABLE]

INJECT_GET_CHAR_STAT:
  db 8B 42 24 89 41 24

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: LIVEALIVE-Win64-Shipping.exe+C2C7A64

LIVEALIVE-Win64-Shipping.exe+C2C7A46: 8B 42 10     - mov eax,[rdx+10]
LIVEALIVE-Win64-Shipping.exe+C2C7A49: 89 41 10     - mov [rcx+10],eax
LIVEALIVE-Win64-Shipping.exe+C2C7A4C: 8B 42 14     - mov eax,[rdx+14]
LIVEALIVE-Win64-Shipping.exe+C2C7A4F: 89 41 14     - mov [rcx+14],eax
LIVEALIVE-Win64-Shipping.exe+C2C7A52: 8B 42 18     - mov eax,[rdx+18]
LIVEALIVE-Win64-Shipping.exe+C2C7A55: 89 41 18     - mov [rcx+18],eax
LIVEALIVE-Win64-Shipping.exe+C2C7A58: 8B 42 1C     - mov eax,[rdx+1C]
LIVEALIVE-Win64-Shipping.exe+C2C7A5B: 89 41 1C     - mov [rcx+1C],eax
LIVEALIVE-Win64-Shipping.exe+C2C7A5E: 8B 42 20     - mov eax,[rdx+20]
LIVEALIVE-Win64-Shipping.exe+C2C7A61: 89 41 20     - mov [rcx+20],eax
// ---------- INJECTING HERE ----------
LIVEALIVE-Win64-Shipping.exe+C2C7A64: 8B 42 24     - mov eax,[rdx+24]
// ---------- DONE INJECTING  ----------
LIVEALIVE-Win64-Shipping.exe+C2C7A67: 89 41 24     - mov [rcx+24],eax
LIVEALIVE-Win64-Shipping.exe+C2C7A6A: 48 8B 42 28  - mov rax,[rdx+28]
LIVEALIVE-Win64-Shipping.exe+C2C7A6E: 48 89 41 28  - mov [rcx+28],rax
LIVEALIVE-Win64-Shipping.exe+C2C7A72: 48 8B 42 30  - mov rax,[rdx+30]
LIVEALIVE-Win64-Shipping.exe+C2C7A76: 48 89 41 30  - mov [rcx+30],rax
LIVEALIVE-Win64-Shipping.exe+C2C7A7A: 48 8B 42 38  - mov rax,[rdx+38]
LIVEALIVE-Win64-Shipping.exe+C2C7A7E: 48 89 41 38  - mov [rcx+38],rax
LIVEALIVE-Win64-Shipping.exe+C2C7A82: 48 8B 42 40  - mov rax,[rdx+40]
LIVEALIVE-Win64-Shipping.exe+C2C7A86: 48 89 41 40  - mov [rcx+40],rax
LIVEALIVE-Win64-Shipping.exe+C2C7A8A: 48 8B 42 48  - mov rax,[rdx+48]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>25</ID>
          <Description>"Menu -&gt; Formation"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>15</ID>
          <Description>"Lv"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>16</ID>
          <Description>"HP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Phy. Atk."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"Phy. Def"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>19</ID>
          <Description>"SP Atk."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>20</ID>
          <Description>"SP Def."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>14</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>21</ID>
          <Description>"Dex"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>18</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>22</ID>
          <Description>"Acc."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>1C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>23</ID>
          <Description>"Eva."</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>20</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>24</ID>
          <Description>"EXP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_char_addr</Address>
          <Offsets>
            <Offset>24</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>32</ID>
      <Description>"Set item count"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : LIVEALIVE  
  Version: 
  Date   : 2023-04-29
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_ITEM_COUNT,LIVEALIVE-Win64-Shipping.exe,0D 8B 00 48 8B 5C 24 38) // should be unique
alloc(newmem,$1000,INJECT_SET_ITEM_COUNT)

label(code)
label(return)
label(i_min_item_chk_cnt)
label(i_target_item_cnt)

newmem:
  push r15
  mov r15d, [rax]
  cmp r15d, [i_min_item_chk_cnt]
  jl endp
  cmp r15d, [i_target_item_cnt]
  jge endp
  mov r15d, [i_target_item_cnt]
  mov [rax], r15d

endp:
  pop r15

code:
  mov eax,[rax]
  mov rbx,[rsp+38]
  jmp return
align 10 cc
  i_min_item_chk_cnt:
  dd 2
  i_target_item_cnt:
  dd 9
  db EB
  db 3B 54
  db 68 69 73 20 74 61 62 6C 65
  db 20 63 6F 6D
  db 65 73 20 66 72 6F 6D 20
  db 68 74 74 70
  db 73 3A 2F 2F 6F 70 65 6E 63 68 65 61
  db 74 74 61 62
  db 6C 65
  db 73 2E
  db 63 6F 6D 20
  db 2F
  db 20
  db 43 45 20 37
  db 2E 34 2B


INJECT_SET_ITEM_COUNT+01:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_SET_ITEM_COUNT)
registersymbol(i_min_item_chk_cnt)
registersymbol(i_target_item_cnt)
[DISABLE]

INJECT_SET_ITEM_COUNT+01:
  db 8B 00 48 8B 5C 24 38

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: LIVEALIVE-Win64-Shipping.exe+F58158

LIVEALIVE-Win64-Shipping.exe+F58139: EB 05           - jmp LIVEALIVE-Win64-Shipping.exe+F58140
LIVEALIVE-Win64-Shipping.exe+F5813B: 83 F8 FF        - cmp eax,-01
LIVEALIVE-Win64-Shipping.exe+F5813E: 75 03           - jne LIVEALIVE-Win64-Shipping.exe+F58143
LIVEALIVE-Win64-Shipping.exe+F58140: 48 8B CE        - mov rcx,rsi
LIVEALIVE-Win64-Shipping.exe+F58143: 48 85 C9        - test rcx,rcx
LIVEALIVE-Win64-Shipping.exe+F58146: 48 8D 41 08     - lea rax,[rcx+08]
LIVEALIVE-Win64-Shipping.exe+F5814A: 48 0F 44 C6     - cmove rax,rsi
LIVEALIVE-Win64-Shipping.exe+F5814E: 48 8B 74 24 40  - mov rsi,[rsp+40]
LIVEALIVE-Win64-Shipping.exe+F58153: 48 85 C0        - test rax,rax
LIVEALIVE-Win64-Shipping.exe+F58156: 74 0D           - je LIVEALIVE-Win64-Shipping.exe+F58165
// ---------- INJECTING HERE ----------
LIVEALIVE-Win64-Shipping.exe+F58158: 8B 00           - mov eax,[rax]
// ---------- DONE INJECTING  ----------
LIVEALIVE-Win64-Shipping.exe+F5815A: 48 8B 5C 24 38  - mov rbx,[rsp+38]
LIVEALIVE-Win64-Shipping.exe+F5815F: 48 83 C4 20     - add rsp,20
LIVEALIVE-Win64-Shipping.exe+F58163: 5F              - pop rdi
LIVEALIVE-Win64-Shipping.exe+F58164: C3              - ret 
LIVEALIVE-Win64-Shipping.exe+F58165: 48 8B 5C 24 38  - mov rbx,[rsp+38]
LIVEALIVE-Win64-Shipping.exe+F5816A: 33 C0           - xor eax,eax
LIVEALIVE-Win64-Shipping.exe+F5816C: 48 83 C4 20     - add rsp,20
LIVEALIVE-Win64-Shipping.exe+F58170: 5F              - pop rdi
LIVEALIVE-Win64-Shipping.exe+F58171: C3              - ret 
LIVEALIVE-Win64-Shipping.exe+F58172: CC              - int 3 
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Menu -&gt; Item"</Description>
          <Color>8000FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Check: current item count must &gt;= "</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_item_chk_cnt</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Set count to"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_target_item_cnt</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>33</ID>
      <Description>"LIVE A LIVE  /  https://opencheattables.com  /  CE 7.5+"</Description>
      <Color>009D4F</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
