<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>23</ID>
      <Description>"XP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-10
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_XP_MULTI,HogwartsLegacy.exe,42 8D 14 31 4C 89 A4 24 D8 00 00 00 48 8B CE) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(vf_xp_multi)
label(i_base_xp_addr2)

newmem:
  mov [i_base_xp_addr2], rsi
  movss xmm14, [vf_xp_multi]
  cvtsi2ss xmm15, r14
  mulss xmm15, xmm14
  cvtss2si r14, xmm15

code:
  lea edx,[rcx+r14]
  mov [rsp+000000D8],r12
  mov rcx,rsi
  jmp far return
align 10 cc
  vf_xp_multi:
  dd (float)1.5
  i_base_xp_addr2:
  dq 0


INJECT_XP_MULTI:
  jmp far newmem
  nop
return:
registersymbol(INJECT_XP_MULTI)
registersymbol(vf_xp_multi)
registersymbol(i_base_xp_addr2)

[DISABLE]

INJECT_XP_MULTI:
  db 42 8D 14 31 4C 89 A4 24 D8 00 00 00 48 8B CE

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+2A318FB

HogwartsLegacy.exe+2A318D2: 4C 89 AC 24 D0 00 00 00  - mov [rsp+000000D0],r13
HogwartsLegacy.exe+2A318DA: 44 8B 6E 44              - mov r13d,[rsi+44]
HogwartsLegacy.exe+2A318DE: 44 89 6D 07              - mov [rbp+07],r13d
HogwartsLegacy.exe+2A318E2: 41 83 FD 28              - cmp r13d,28
HogwartsLegacy.exe+2A318E6: 0F 84 5F 06 00 00        - je HogwartsLegacy.exe+2A31F4B
HogwartsLegacy.exe+2A318EC: 8B 4E 38                 - mov ecx,[rsi+38]
HogwartsLegacy.exe+2A318EF: 8B 46 3C                 - mov eax,[rsi+3C]
HogwartsLegacy.exe+2A318F2: 89 4D F7                 - mov [rbp-09],ecx
HogwartsLegacy.exe+2A318F5: 89 45 FB                 - mov [rbp-05],eax
HogwartsLegacy.exe+2A318F8: 8B 46 40                 - mov eax,[rsi+40]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2A318FB: 42 8D 14 31              - lea edx,[rcx+r14]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2A318FF: 4C 89 A4 24 D8 00 00 00  - mov [rsp+000000D8],r12
HogwartsLegacy.exe+2A31907: 48 8B CE                 - mov rcx,rsi
HogwartsLegacy.exe+2A3190A: 4C 8D 66 3C              - lea r12,[rsi+3C]
HogwartsLegacy.exe+2A3190E: 89 56 38                 - mov [rsi+38],edx
HogwartsLegacy.exe+2A31911: 89 45 FF                 - mov [rbp-01],eax
HogwartsLegacy.exe+2A31914: E8 57 B2 00 00           - call HogwartsLegacy.exe+2A3CB70
HogwartsLegacy.exe+2A31919: 83 7F 08 01              - cmp dword ptr [rdi+08],01
HogwartsLegacy.exe+2A3191D: 8B D8                    - mov ebx,eax
HogwartsLegacy.exe+2A3191F: 0F 8E 02 01 00 00        - jng HogwartsLegacy.exe+2A31A27
HogwartsLegacy.exe+2A31925: E8 86 F8 CA FF           - call HogwartsLegacy.exe+26E11B0
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>22</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_xp_multi</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"XP (available after XP changed)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr2</Address>
          <Offsets>
            <Offset>38</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>3</ID>
      <Description>"Get XP"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-11
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_XP,HogwartsLegacy.exe,FF 41 33 04 10 52) // should be unique
alloc(newmem,$1000,INJECT_GET_XP)

label(code)
label(return)
label(i_base_xp_addr)

newmem:
  push rax
  lea rax, [r8+rdx]
  mov [i_base_xp_addr], rax
  pop rax

code:
  xor eax,[r8+rdx]
  push rdx
  jmp return

align 10 cc
  i_base_xp_addr:
  dq 0

INJECT_GET_XP+01:
  jmp newmem
return:
registersymbol(INJECT_GET_XP)
registersymbol(i_base_xp_addr)
[DISABLE]

INJECT_GET_XP+01:
   db 41 33 04 10 52

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+193D5F22

HogwartsLegacy.exe+193D5EF4: 48 89 C8                 - mov rax,rcx
HogwartsLegacy.exe+193D5EF7: 48 05 F5 89 D9 AA        - add rax,FFFFFFFFAAD989F5
HogwartsLegacy.exe+193D5EFD: 66 44 89 91 EC 00 00 00  - mov [rcx+000000EC],r10w
HogwartsLegacy.exe+193D5F05: 66 44 89 98 57 77 26 55  - mov [rax+55267757],r11w
HogwartsLegacy.exe+193D5F0D: 66 89 B1 36 01 00 00     - mov [rcx+00000136],si
HogwartsLegacy.exe+193D5F14: 50                       - push rax
HogwartsLegacy.exe+193D5F15: F7 D0                    - not eax
HogwartsLegacy.exe+193D5F17: 33 04 24                 - xor eax,[rsp]
HogwartsLegacy.exe+193D5F1A: 48 8D 64 24 08           - lea rsp,[rsp+08]
HogwartsLegacy.exe+193D5F1F: 83 F0 FF                 - xor eax,-01
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+193D5F22: 41 33 04 10              - xor eax,[r8+rdx]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+193D5F26: 52                       - push rdx
HogwartsLegacy.exe+193D5F27: 48 F7 D2                 - not rdx
HogwartsLegacy.exe+193D5F2A: 21 14 24                 - and [rsp],edx
HogwartsLegacy.exe+193D5F2D: 5A                       - pop rdx
HogwartsLegacy.exe+193D5F2E: 31 C2                    - xor edx,eax
HogwartsLegacy.exe+193D5F30: C1 FA 10                 - sar edx,10
HogwartsLegacy.exe+193D5F33: 48 8D 64 24 F8           - lea rsp,[rsp-08]
HogwartsLegacy.exe+193D5F38: 55                       - push rbp
HogwartsLegacy.exe+193D5F39: 81 E2 FF FF 00 00        - and edx,0000FFFF
HogwartsLegacy.exe+193D5F3F: 48 8D 6C 24 08           - lea rbp,[rsp+08]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Usage: open main menu"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>4</ID>
          <Description>"Current XP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr</Address>
          <Offsets>
            <Offset>-8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"Prev level XP?"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr</Address>
          <Offsets>
            <Offset>-4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>7</ID>
          <Description>"Next level XP?"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Lv"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>25</ID>
      <Description>"Get player HP"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-10
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_HP,HogwartsLegacy.exe,F3 0F 10 81 A4 01 00 00 C3 0F) // should be unique
alloc(newmem,$1000,INJECT_GET_HP)

label(code)
label(return)
label(i_base_hp_addr)
label(vf_min_hp)
label(is_keep_hp_high)
label(i_criteria_1)
label(i_criteria_2)
label(i_criteria_3)
label(i_criteria_4)
label(i_criteria_5)
label(i_criteria_6)

newmem:

  cmp byte ptr [i_criteria_1], 1
  jne chk_2
chk_1:
  cmp dword ptr [rcx+188], 0
  jne code

chk_2:
  cmp byte ptr [i_criteria_2], 1
  jne chk_3
  cmp dword ptr [rcx+1B8], 0
  jne code

chk_3:
  cmp byte ptr [i_criteria_3], 1
  jne chk_4
  cmp dword ptr [rcx+15C], 0
  jne code

chk_4:
  cmp byte ptr [i_criteria_4], 1
  jne chk_5
  cmp dword ptr [rcx+160], 0
  jne code

chk_5:
  cmp byte ptr [i_criteria_5], 1
  jne chk_6
  cmp dword ptr [rcx+158], 0
  jne code

chk_6:
  cmp byte ptr [i_criteria_6], 1
  jne code
  cmp dword ptr [rcx+164], 0
  jne code

  mov [i_base_hp_addr], rcx

  cmp dword ptr [is_keep_hp_high], 1
  jne code
  movss xmm15, dword ptr [rcx+1A4]
  movss xmm14, [vf_last_hp_high]
  ucomiss xmm14, xmm15
  jb set_hp_high
  ja set_hp_to_watermark
  jmp code

set_hp_high:
  movss [vf_last_hp_high], xmm15

  jmp code
set_hp_to_watermark:
  movss dword ptr [rcx+1A4], xmm14

code:
  movss xmm0,[rcx+000001A4]
  jmp return
align 10 cc
  i_base_hp_addr:
  dq 0
  vf_min_hp:
  dd (float)250
  is_keep_hp_high:
  dd 1
  vf_last_hp_high:
  dd 0
  db EB 3B
  db 54 68 69 73 20 74 61 62 6C 65 20 63 6F 6D
  db 65 73 20 66 72 6F 6D 20
  db 68 74 74 70 73 3A 2F
  db 2F 6F 70 65 6E 63 68 65 61 74
  db 74 61 62 6C 65 73 2E 63 6F 6D 20 2F 20 43 45 20 37 2E 34 2B
  i_criteria_1:
  db 1
  i_criteria_2:
  db 1
  i_criteria_3:
  db 1
  i_criteria_4:
  db 1
  i_criteria_5:
  db 1
  i_criteria_6:
  db 1

INJECT_GET_HP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_HP)
registersymbol(i_base_hp_addr)
registersymbol(vf_min_hp)
registersymbol(is_keep_hp_high)
registersymbol(i_criteria_1)
registersymbol(i_criteria_2)
registersymbol(i_criteria_3)
registersymbol(i_criteria_4)
registersymbol(i_criteria_5)
registersymbol(i_criteria_6)


[DISABLE]

INJECT_GET_HP:
  db F3 0F 10 81 A4 01 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+2CDA3C9

HogwartsLegacy.exe+2CDA37A - CC                    - int 3
HogwartsLegacy.exe+2CDA37B - CC                    - int 3
HogwartsLegacy.exe+2CDA37C - CC                    - int 3
HogwartsLegacy.exe+2CDA37D - CC                    - int 3
HogwartsLegacy.exe+2CDA37E - CC                    - int 3
HogwartsLegacy.exe+2CDA37F - CC                    - int 3
HogwartsLegacy.exe+2CDA380 - 48 83 EC 28           - sub rsp,28
HogwartsLegacy.exe+2CDA384 - 48 8B 89 50010000     - mov rcx,[rcx+00000150]
HogwartsLegacy.exe+2CDA38B - 48 85 C9              - test rcx,rcx
HogwartsLegacy.exe+2CDA38E - 74 16                 - je HogwartsLegacy.exe+2CDA3A6
HogwartsLegacy.exe+2CDA390 - 48 8B 01              - mov rax,[rcx]
HogwartsLegacy.exe+2CDA393 - FF 90 70020000        - call qword ptr [rax+00000270]
HogwartsLegacy.exe+2CDA399 - F3 0F10 80 C0000000   - movss xmm0,[rax+000000C0]
HogwartsLegacy.exe+2CDA3A1 - 48 83 C4 28           - add rsp,28
HogwartsLegacy.exe+2CDA3A5 - C3                    - ret
HogwartsLegacy.exe+2CDA3A6 - 33 C0                 - xor eax,eax
HogwartsLegacy.exe+2CDA3A8 - F3 0F10 80 C0000000   - movss xmm0,[rax+000000C0]
HogwartsLegacy.exe+2CDA3B0 - 48 83 C4 28           - add rsp,28
HogwartsLegacy.exe+2CDA3B4 - C3                    - ret
HogwartsLegacy.exe+2CDA3B5 - CC                    - int 3
HogwartsLegacy.exe+2CDA3B6 - CC                    - int 3
HogwartsLegacy.exe+2CDA3B7 - CC                    - int 3
HogwartsLegacy.exe+2CDA3B8: CC                       - int 3
HogwartsLegacy.exe+2CDA3B9: CC                       - int 3
HogwartsLegacy.exe+2CDA3BA: CC                       - int 3
HogwartsLegacy.exe+2CDA3BB: CC                       - int 3
HogwartsLegacy.exe+2CDA3BC: CC                       - int 3
HogwartsLegacy.exe+2CDA3BD: CC                       - int 3
HogwartsLegacy.exe+2CDA3BE: CC                       - int 3
HogwartsLegacy.exe+2CDA3BF: CC                       - int 3
HogwartsLegacy.exe+2CDA3C0: 80 B9 BF 01 00 00 00     - cmp byte ptr [rcx+000001BF],00
HogwartsLegacy.exe+2CDA3C7: 7C 09                    - jl HogwartsLegacy.exe+2CDA3D2
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2CDA3C9: F3 0F 10 81 A4 01 00 00  - movss xmm0,[rcx+000001A4]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2CDA3D1: C3                       - ret
HogwartsLegacy.exe+2CDA3D2: 0F 57 C0                 - xorps xmm0,xmm0
HogwartsLegacy.exe+2CDA3D5: C3                       - ret
HogwartsLegacy.exe+2CDA3D6: CC                       - int 3
HogwartsLegacy.exe+2CDA3D7: CC                       - int 3
HogwartsLegacy.exe+2CDA3D8: CC                       - int 3
HogwartsLegacy.exe+2CDA3D9: CC                       - int 3
HogwartsLegacy.exe+2CDA3DA: CC                       - int 3
HogwartsLegacy.exe+2CDA3DB: CC                       - int 3
HogwartsLegacy.exe+2CDA3DC: CC                       - int 3
HogwartsLegacy.exe+2CDA3DD - CC                    - int 3
HogwartsLegacy.exe+2CDA3DE - CC                    - int 3
HogwartsLegacy.exe+2CDA3DF - CC                    - int 3
HogwartsLegacy.exe+2CDA3E0 - 48 83 EC 28           - sub rsp,28
HogwartsLegacy.exe+2CDA3E4 - 48 8B 89 50010000     - mov rcx,[rcx+00000150]
HogwartsLegacy.exe+2CDA3EB - 48 85 C9              - test rcx,rcx
HogwartsLegacy.exe+2CDA3EE - 74 15                 - je HogwartsLegacy.exe+2CDA405
HogwartsLegacy.exe+2CDA3F0 - 48 8B 01              - mov rax,[rcx]
HogwartsLegacy.exe+2CDA3F3 - FF 90 70020000        - call qword ptr [rax+00000270]
HogwartsLegacy.exe+2CDA3F9 - 0FB6 80 28010000      - movzx eax,byte ptr [rax+00000128]
HogwartsLegacy.exe+2CDA400 - 48 83 C4 28           - add rsp,28
HogwartsLegacy.exe+2CDA404 - C3                    - ret
HogwartsLegacy.exe+2CDA405 - 33 C0                 - xor eax,eax
HogwartsLegacy.exe+2CDA407 - 0FB6 80 28010000      - movzx eax,byte ptr [rax+00000128]
HogwartsLegacy.exe+2CDA40E - 48 83 C4 28           - add rsp,28
HogwartsLegacy.exe+2CDA412 - C3                    - ret
HogwartsLegacy.exe+2CDA413 - CC                    - int 3
HogwartsLegacy.exe+2CDA414 - CC                    - int 3
HogwartsLegacy.exe+2CDA415 - CC                    - int 3
HogwartsLegacy.exe+2CDA416 - CC                    - int 3
HogwartsLegacy.exe+2CDA417 - CC                    - int 3
HogwartsLegacy.exe+2CDA418 - CC                    - int 3
HogwartsLegacy.exe+2CDA419 - CC                    - int 3
HogwartsLegacy.exe+2CDA41A - CC                    - int 3
HogwartsLegacy.exe+2CDA41B - CC                    - int 3
HogwartsLegacy.exe+2CDA41C - CC                    - int 3
HogwartsLegacy.exe+2CDA41D - CC                    - int 3
HogwartsLegacy.exe+2CDA41E - CC                    - int 3
HogwartsLegacy.exe+2CDA41F - CC                    - int 3
HogwartsLegacy.exe+2CDA420 - 40 53                 - push rbx
HogwartsLegacy.exe+2CDA422 - 48 83 EC 20           - sub rsp,20

}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Only tested under early game progress"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Player HP check criteria flags"</Description>
          <Options moHideChildren="1" moActivateChildrenAsWell="1"/>
          <Color>C08000</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>32</ID>
              <Description>"Criteria 1"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
i_criteria_1:
db 1

[DISABLE]
i_criteria_1:
db 0

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>34</ID>
              <Description>"Criteria 2"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
i_criteria_2:
db 1

[DISABLE]
i_criteria_2:
db 0

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>35</ID>
              <Description>"Criteria 3"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
i_criteria_3:
db 1

[DISABLE]
i_criteria_3:
db 0

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>36</ID>
              <Description>"Criteria 4"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
i_criteria_4:
db 1

[DISABLE]
i_criteria_4:
db 0

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>37</ID>
              <Description>"Criteria 5"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
i_criteria_5:
db 1

[DISABLE]
i_criteria_5:
db 0

</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>38</ID>
              <Description>"Criteria 6"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
i_criteria_6:
db 1

[DISABLE]
i_criteria_6:
db 0

</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>26</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Float</VariableType>
          <Address>i_base_hp_addr</Address>
          <Offsets>
            <Offset>1A0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Current HP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Float</VariableType>
          <Address>i_base_hp_addr</Address>
          <Offsets>
            <Offset>1A4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>28</ID>
          <Description>"(dead flag?)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>Byte</VariableType>
          <Address>i_base_hp_addr</Address>
          <Offsets>
            <Offset>1BF</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>27</ID>
          <Description>"Keep HP high?"</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>is_keep_hp_high</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>49</ID>
      <Description>"Quick ancient magic"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-11
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_QUICK_ANC_SPELL_CHARGE,HogwartsLegacy.exe,F3 0F 11 BB 00 3C 00 00) // should be unique
alloc(newmem,$1000,INJECT_QUICK_ANC_SPELL_CHARGE)

label(code)
label(return)
label(vf_min_anc_magic)
label(i_base_anc_magic_addr)

newmem:
  mov [i_base_anc_magic_addr], rbx
  movss xmm14, [vf_min_anc_magic]
  comiss xmm7, xmm14
  jae code
  movaps xmm7, xmm14
  //movss xmm7, [vf_min_anc_magic]

code:
  movss [rbx+00003C00],xmm7
  jmp return
align 10 cc
  i_base_anc_magic_addr:
  dq 0
  vf_min_anc_magic:
  dd (float)200


INJECT_QUICK_ANC_SPELL_CHARGE:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_QUICK_ANC_SPELL_CHARGE)
registersymbol(vf_min_anc_magic)
registersymbol(i_base_anc_magic_addr)

[DISABLE]

INJECT_QUICK_ANC_SPELL_CHARGE:
  db F3 0F 11 BB 00 3C 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+27A1793

HogwartsLegacy.exe+27A1764: F3 44 0F 10 8B 00 3C 00 00  - movss xmm9,[rbx+00003C00]
HogwartsLegacy.exe+27A176D: F3 41 0F 59 C8              - mulss xmm1,xmm8
HogwartsLegacy.exe+27A1772: F3 41 0F 59 CA              - mulss xmm1,xmm10
HogwartsLegacy.exe+27A1777: F3 41 0F 58 C9              - addss xmm1,xmm9
HogwartsLegacy.exe+27A177C: 0F 2F CF                    - comiss xmm1,xmm7
HogwartsLegacy.exe+27A177F: 72 0F                       - jb HogwartsLegacy.exe+27A1790
HogwartsLegacy.exe+27A1781: F3 0F 10 83 10 1C 00 00     - movss xmm0,[rbx+00001C10]
HogwartsLegacy.exe+27A1789: F3 0F 5D C1                 - minss xmm0,xmm1
HogwartsLegacy.exe+27A178D: 0F 28 F8                    - movaps xmm7,xmm0
HogwartsLegacy.exe+27A1790: 0F 28 CE                    - movaps xmm1,xmm6
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+27A1793: F3 0F 11 BB 00 3C 00 00     - movss [rbx+00003C00],xmm7
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+27A179B: F3 0F 5E 8B 18 1C 00 00     - divss xmm1,[rbx+00001C18]
HogwartsLegacy.exe+27A17A3: 0F 28 C1                    - movaps xmm0,xmm1
HogwartsLegacy.exe+27A17A6: F3 41 0F 59 C9              - mulss xmm1,xmm9
HogwartsLegacy.exe+27A17AB: F3 0F 59 C7                 - mulss xmm0,xmm7
HogwartsLegacy.exe+27A17AF: 0F 28 BC 24 30 01 00 00     - movaps xmm7,[rsp+00000130]
HogwartsLegacy.exe+27A17B7: F3 0F 2C C1                 - cvttss2si eax,xmm1
HogwartsLegacy.exe+27A17BB: F3 0F 2C C8                 - cvttss2si ecx,xmm0
HogwartsLegacy.exe+27A17BF: 3B C8                       - cmp ecx,eax
HogwartsLegacy.exe+27A17C1: 74 2E                       - je HogwartsLegacy.exe+27A17F1
HogwartsLegacy.exe+27A17C3: E8 E8 F9 F3 FF              - call HogwartsLegacy.exe+26E11B0
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>50</ID>
          <Description>"min. value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_min_anc_magic</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>52</ID>
          <Description>"data"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>51</ID>
              <Description>"Charge"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3C00</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>54</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3BF4</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>55</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3BF8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>56</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3BFC</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>57</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3C04</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>58</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3C08</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>59</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3C0C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>60</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3C10</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>41</ID>
      <Description>"Set min potion / ingredients #"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-10
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_MATERIALS,HogwartsLegacy.exe,48 0F BE 01 49 89 00) // should be unique
alloc(newmem,$1000,INJECT_GET_MATERIALS)

label(code)
label(return)
label(i_min_ingredients)

newmem:
  push rax
  mov al, [rcx]
  mov ah, [rcx+1]
  cmp ah, 8
  jne endp
  cmp al, [i_min_ingredients]
  jae endp
  mov al, [i_min_ingredients]
  mov byte ptr [rcx], al
  //movsx rax,byte ptr [rcx]

endp:
  pop rax

code:
  movsx rax,byte ptr [rcx]
  mov [r8],rax
  jmp return
align 10 cc
  i_min_ingredients:
  db 14

INJECT_GET_MATERIALS:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_GET_MATERIALS)
registersymbol(i_min_ingredients)
[DISABLE]

INJECT_GET_MATERIALS:
  db 48 0F BE 01 49 89 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+F2B706

HogwartsLegacy.exe+F2B6E5: 41 89 40 0C     - mov [r8+0C],eax
HogwartsLegacy.exe+F2B6E9: 41 89 00        - mov [r8],eax
HogwartsLegacy.exe+F2B6EC: B8 01 40 00 00  - mov eax,00004001
HogwartsLegacy.exe+F2B6F1: 66 41 89 40 08  - mov [r8+08],ax
HogwartsLegacy.exe+F2B6F6: 33 C0           - xor eax,eax
HogwartsLegacy.exe+F2B6F8: C3              - ret
HogwartsLegacy.exe+F2B6F9: B8 01 00 00 00  - mov eax,00000001
HogwartsLegacy.exe+F2B6FE: 66 41 89 40 08  - mov [r8+08],ax
HogwartsLegacy.exe+F2B703: 33 C0           - xor eax,eax
HogwartsLegacy.exe+F2B705: C3              - ret
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+F2B706: 48 0F BE 01     - movsx rax,byte ptr [rcx]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+F2B70A: 49 89 00        - mov [r8],rax
HogwartsLegacy.exe+F2B70D: B8 04 00 00 00  - mov eax,00000004
HogwartsLegacy.exe+F2B712: 66 41 89 40 08  - mov [r8+08],ax
HogwartsLegacy.exe+F2B717: B8 01 00 00 00  - mov eax,00000001
HogwartsLegacy.exe+F2B71C: C3              - ret
HogwartsLegacy.exe+F2B71D: 0F BE 01        - movsx eax,byte ptr [rcx]
HogwartsLegacy.exe+F2B720: C1 E0 08        - shl eax,08
HogwartsLegacy.exe+F2B723: 48 63 C8        - movsxd  rcx,eax
HogwartsLegacy.exe+F2B726: 41 0F B6 42 01  - movzx eax,byte ptr [r10+01]
HogwartsLegacy.exe+F2B72B: 48 0B C8        - or rcx,rax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>43</ID>
          <Description>"WARNING: not fully tested; disable immediately after use"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"item # must &gt;=2"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"min. value (don't set too high)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Byte</VariableType>
          <Address>i_min_ingredients</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>30</ID>
      <Description>"Hogwarts Legacy (1119132)  /  https://opencheattables.com  /  CE 7.4+"</Description>
      <Color>800080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Code 召喚球:mov [rcx+08],ebp</Description>
      <AddressString>HogwartsLegacy.exe+2FD181B</AddressString>
      <Before>
        <Byte>FF</Byte>
        <Byte>75</Byte>
        <Byte>E7</Byte>
        <Byte>33</Byte>
        <Byte>C9</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>69</Byte>
        <Byte>08</Byte>
      </Actual>
      <After>
        <Byte>48</Byte>
        <Byte>8D</Byte>
        <Byte>54</Byte>
        <Byte>24</Byte>
        <Byte>20</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Code sell gold display:mov ecx,[rdx]</Description>
      <AddressString>vcruntime140.dll+142A</AddressString>
      <Before>
        <Byte>B6</Byte>
        <Byte>0A</Byte>
        <Byte>88</Byte>
        <Byte>08</Byte>
        <Byte>C3</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>0A</Byte>
      </Actual>
      <After>
        <Byte>89</Byte>
        <Byte>08</Byte>
        <Byte>C3</Byte>
        <Byte>90</Byte>
        <Byte>49</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
