<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>72</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>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+2A31E7B

HogwartsLegacy.exe+2A31E52: 4C 89 AC 24 D0 00 00 00  - mov [rsp+000000D0],r13
HogwartsLegacy.exe+2A31E5A: 44 8B 6E 44              - mov r13d,[rsi+44]
HogwartsLegacy.exe+2A31E5E: 44 89 6D 07              - mov [rbp+07],r13d
HogwartsLegacy.exe+2A31E62: 41 83 FD 28              - cmp r13d,28
HogwartsLegacy.exe+2A31E66: 0F 84 5F 06 00 00        - je HogwartsLegacy.exe+2A324CB
HogwartsLegacy.exe+2A31E6C: 8B 4E 38                 - mov ecx,[rsi+38]
HogwartsLegacy.exe+2A31E6F: 8B 46 3C                 - mov eax,[rsi+3C]
HogwartsLegacy.exe+2A31E72: 89 4D F7                 - mov [rbp-09],ecx
HogwartsLegacy.exe+2A31E75: 89 45 FB                 - mov [rbp-05],eax
HogwartsLegacy.exe+2A31E78: 8B 46 40                 - mov eax,[rsi+40]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2A31E7B: 42 8D 14 31              - lea edx,[rcx+r14]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2A31E7F: 4C 89 A4 24 D8 00 00 00  - mov [rsp+000000D8],r12
HogwartsLegacy.exe+2A31E87: 48 8B CE                 - mov rcx,rsi
HogwartsLegacy.exe+2A31E8A: 4C 8D 66 3C              - lea r12,[rsi+3C]
HogwartsLegacy.exe+2A31E8E: 89 56 38                 - mov [rsi+38],edx
HogwartsLegacy.exe+2A31E91: 89 45 FF                 - mov [rbp-01],eax
HogwartsLegacy.exe+2A31E94: E8 57 B2 00 00           - call HogwartsLegacy.exe+2A3D0F0
HogwartsLegacy.exe+2A31E99: 83 7F 08 01              - cmp dword ptr [rdi+08],01
HogwartsLegacy.exe+2A31E9D: 8B D8                    - mov ebx,eax
HogwartsLegacy.exe+2A31E9F: 0F 8E 02 01 00 00        - jng HogwartsLegacy.exe+2A31FA7
HogwartsLegacy.exe+2A31EA5: E8 16 F7 CA FF           - call HogwartsLegacy.exe+26E15C0
}
</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>
        <CheatEntry>
          <ID>289</ID>
          <Description>"Lv?"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr2</Address>
          <Offsets>
            <Offset>44</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>290</ID>
          <Description>"??"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>FF8080</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_xp_addr2</Address>
          <Offsets>
            <Offset>48</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-04-22
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_XP,HogwartsLegacy.exe,44 03 18 4C 89 9F 28 02 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_XP)

label(code)
label(return)
label(i_base_xp_addr)

newmem:
  push rax
  lea rax, [rax]
  mov [i_base_xp_addr], rax
  pop rax

code:
  add r11d,[rax]
  mov [rdi+00000228],r11
  jmp return

align 10 cc
  i_base_xp_addr:
  dq 0

INJECT_GET_XP:
  jmp newmem
  nop 5
return:
registersymbol(INJECT_GET_XP)
registersymbol(i_base_xp_addr)
[DISABLE]

INJECT_GET_XP:
   db 44 03 18 4C 89 9F 28 02 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+1B5C4652

HogwartsLegacy.exe+1B5C462B: 49 01 C3              - add r11,rax
HogwartsLegacy.exe+1B5C462E: 48 89 81 5D F2 5D 3C  - mov [rcx+3C5DF25D],rax
HogwartsLegacy.exe+1B5C4635: 49 29 C3              - sub r11,rax
HogwartsLegacy.exe+1B5C4638: 48 83 EC 08           - sub rsp,08
HogwartsLegacy.exe+1B5C463C: 45 31 DB              - xor r11d,r11d
HogwartsLegacy.exe+1B5C463F: 48 89 04 24           - mov [rsp],rax
HogwartsLegacy.exe+1B5C4643: 48 F7 D0              - not rax
HogwartsLegacy.exe+1B5C4646: 48 21 04 24           - and [rsp],rax
HogwartsLegacy.exe+1B5C464A: 58                    - pop rax
HogwartsLegacy.exe+1B5C464B: 48 0B 87 28 02 00 00  - or rax,[rdi+00000228]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+1B5C4652: 44 03 18              - add r11d,[rax]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+1B5C4655: 4C 89 9F 28 02 00 00  - mov [rdi+00000228],r11
HogwartsLegacy.exe+1B5C465C: 48 83 C4 F8           - add rsp,-08
HogwartsLegacy.exe+1B5C4660: 48 89 04 24           - mov [rsp],rax
HogwartsLegacy.exe+1B5C4664: 48 F7 D8              - neg rax
HogwartsLegacy.exe+1B5C4667: 48 FF C8              - dec rax
HogwartsLegacy.exe+1B5C466A: 48 C7 C3 00 00 00 00  - mov rbx,00000000
HogwartsLegacy.exe+1B5C4671: 21 04 24              - and [rsp],eax
HogwartsLegacy.exe+1B5C4674: 58                    - pop rax
HogwartsLegacy.exe+1B5C4675: 48 C1 E3 20           - shl rbx,20
HogwartsLegacy.exe+1B5C4679: 33 87 28 02 00 00     - xor eax,[rdi+00000228]
}
</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>0</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>8</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>C</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>10</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>25</ID>
      <Description>"Get player HP / inf. 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+2CDAC49

HogwartsLegacy.exe+2CDABFB - CC                    - int 3
HogwartsLegacy.exe+2CDABFC - CC                    - int 3
HogwartsLegacy.exe+2CDABFD - CC                    - int 3
HogwartsLegacy.exe+2CDABFE - CC                    - int 3
HogwartsLegacy.exe+2CDABFF - CC                    - int 3
HogwartsLegacy.exe+2CDAC00 - 48 83 EC 28           - sub rsp,28
HogwartsLegacy.exe+2CDAC04 - 48 8B 89 50010000     - mov rcx,[rcx+00000150]
HogwartsLegacy.exe+2CDAC0B - 48 85 C9              - test rcx,rcx
HogwartsLegacy.exe+2CDAC0E - 74 16                 - je HogwartsLegacy.exe+2CDAC26
HogwartsLegacy.exe+2CDAC10 - 48 8B 01              - mov rax,[rcx]
HogwartsLegacy.exe+2CDAC13 - FF 90 70020000        - call qword ptr [rax+00000270]
HogwartsLegacy.exe+2CDAC19 - F3 0F10 80 C0000000   - movss xmm0,[rax+000000C0]
HogwartsLegacy.exe+2CDAC21 - 48 83 C4 28           - add rsp,28
HogwartsLegacy.exe+2CDAC25 - C3                    - ret
HogwartsLegacy.exe+2CDAC26 - 33 C0                 - xor eax,eax
HogwartsLegacy.exe+2CDAC28 - F3 0F10 80 C0000000   - movss xmm0,[rax+000000C0]
HogwartsLegacy.exe+2CDAC30 - 48 83 C4 28           - add rsp,28
HogwartsLegacy.exe+2CDAC34 - C3                    - ret
HogwartsLegacy.exe+2CDAC35 - CC                    - int 3
HogwartsLegacy.exe+2CDAC36 - CC                    - int 3
HogwartsLegacy.exe+2CDAC37 - CC                    - int 3
HogwartsLegacy.exe+2CDAC38: CC                       - int 3
HogwartsLegacy.exe+2CDAC39: CC                       - int 3
HogwartsLegacy.exe+2CDAC3A: CC                       - int 3
HogwartsLegacy.exe+2CDAC3B: CC                       - int 3
HogwartsLegacy.exe+2CDAC3C: CC                       - int 3
HogwartsLegacy.exe+2CDAC3D: CC                       - int 3
HogwartsLegacy.exe+2CDAC3E: CC                       - int 3
HogwartsLegacy.exe+2CDAC3F: CC                       - int 3
HogwartsLegacy.exe+2CDAC40: 80 B9 BF 01 00 00 00     - cmp byte ptr [rcx+000001BF],00
HogwartsLegacy.exe+2CDAC47: 7C 09                    - jl HogwartsLegacy.exe+2CDAC52
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2CDAC49: F3 0F 10 81 A4 01 00 00  - movss xmm0,[rcx+000001A4]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2CDAC51: C3                       - ret
HogwartsLegacy.exe+2CDAC52: 0F 57 C0                 - xorps xmm0,xmm0
HogwartsLegacy.exe+2CDAC55: C3                       - ret
HogwartsLegacy.exe+2CDAC56: CC                       - int 3
HogwartsLegacy.exe+2CDAC57: CC                       - int 3
HogwartsLegacy.exe+2CDAC58: CC                       - int 3
HogwartsLegacy.exe+2CDAC59: CC                       - int 3
HogwartsLegacy.exe+2CDAC5A: CC                       - int 3
HogwartsLegacy.exe+2CDAC5B: CC                       - int 3
HogwartsLegacy.exe+2CDAC5C: CC                       - int 3
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>77</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+27A1D03

HogwartsLegacy.exe+27A1CD4: F3 44 0F 10 8B 00 3C 00 00  - movss xmm9,[rbx+00003C00]
HogwartsLegacy.exe+27A1CDD: F3 41 0F 59 C8              - mulss xmm1,xmm8
HogwartsLegacy.exe+27A1CE2: F3 41 0F 59 CA              - mulss xmm1,xmm10
HogwartsLegacy.exe+27A1CE7: F3 41 0F 58 C9              - addss xmm1,xmm9
HogwartsLegacy.exe+27A1CEC: 0F 2F CF                    - comiss xmm1,xmm7
HogwartsLegacy.exe+27A1CEF: 72 0F                       - jb HogwartsLegacy.exe+27A1D00
HogwartsLegacy.exe+27A1CF1: F3 0F 10 83 10 1C 00 00     - movss xmm0,[rbx+00001C10]
HogwartsLegacy.exe+27A1CF9: F3 0F 5D C1                 - minss xmm0,xmm1
HogwartsLegacy.exe+27A1CFD: 0F 28 F8                    - movaps xmm7,xmm0
HogwartsLegacy.exe+27A1D00: 0F 28 CE                    - movaps xmm1,xmm6
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+27A1D03: F3 0F 11 BB 00 3C 00 00     - movss [rbx+00003C00],xmm7
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+27A1D0B: F3 0F 5E 8B 18 1C 00 00     - divss xmm1,[rbx+00001C18]
HogwartsLegacy.exe+27A1D13: 0F 28 C1                    - movaps xmm0,xmm1
HogwartsLegacy.exe+27A1D16: F3 41 0F 59 C9              - mulss xmm1,xmm9
HogwartsLegacy.exe+27A1D1B: F3 0F 59 C7                 - mulss xmm0,xmm7
HogwartsLegacy.exe+27A1D1F: 0F 28 BC 24 30 01 00 00     - movaps xmm7,[rsp+00000130]
HogwartsLegacy.exe+27A1D27: F3 0F 2C C1                 - cvttss2si eax,xmm1
HogwartsLegacy.exe+27A1D2B: F3 0F 2C C8                 - cvttss2si ecx,xmm0
HogwartsLegacy.exe+27A1D2F: 3B C8                       - cmp ecx,eax
HogwartsLegacy.exe+27A1D31: 74 2E                       - je HogwartsLegacy.exe+27A1D61
HogwartsLegacy.exe+27A1D33: E8 88 F8 F3 FF              - call HogwartsLegacy.exe+26E15C0
}
</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>"Focus"</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>302</ID>
              <Description>"Focus max"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>1C10</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>303</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>FF8080</Color>
              <VariableType>Float</VariableType>
              <Address>i_base_anc_magic_addr</Address>
              <Offsets>
                <Offset>3BA8</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>304</ID>
      <Description>"Ancient magic focus multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-19
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FOCUS_MULTI,HogwartsLegacy.exe,F3 41 0F 59 C8 F3 41 0F 59 CA) // should be unique
alloc(newmem,$1000,INJECT_FOCUS_MULTI)

label(code)
label(return)
label(vf_focus_multi)

newmem:
  movss xmm14, [vf_focus_multi]
  mulss xmm1, xmm14

code:
  mulss xmm1,xmm8
  jmp return
align 10 cc
  vf_focus_multi:
  dd (float)6.66666667

INJECT_FOCUS_MULTI:
  jmp newmem
return:
registersymbol(INJECT_FOCUS_MULTI)
registersymbol(vf_focus_multi)

[DISABLE]

INJECT_FOCUS_MULTI:
  db F3 41 0F 59 C8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+279E46D

HogwartsLegacy.exe+279E444: 41 0F 29 7B D8              - movaps [r11-28],xmm7
HogwartsLegacy.exe+279E449: 0F 57 FF                    - xorps xmm7,xmm7
HogwartsLegacy.exe+279E44C: 44 0F 2F C7                 - comiss xmm8,xmm7
HogwartsLegacy.exe+279E450: 45 0F 29 4B B8              - movaps [r11-48],xmm9
HogwartsLegacy.exe+279E455: 76 0A                       - jna HogwartsLegacy.exe+279E461
HogwartsLegacy.exe+279E457: E8 84 41 00 00              - call HogwartsLegacy.exe+27A25E0
HogwartsLegacy.exe+279E45C: 0F 28 C8                    - movaps xmm1,xmm0
HogwartsLegacy.exe+279E45F: EB 03                       - jmp HogwartsLegacy.exe+279E464
HogwartsLegacy.exe+279E461: 0F 28 CE                    - movaps xmm1,xmm6
HogwartsLegacy.exe+279E464: F3 44 0F 10 8B 00 3C 00 00  - movss xmm9,[rbx+00003C00]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+279E46D: F3 41 0F 59 C8              - mulss xmm1,xmm8
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+279E472: F3 41 0F 59 CA              - mulss xmm1,xmm10
HogwartsLegacy.exe+279E477: F3 41 0F 58 C9              - addss xmm1,xmm9
HogwartsLegacy.exe+279E47C: 0F 2F CF                    - comiss xmm1,xmm7
HogwartsLegacy.exe+279E47F: 72 0F                       - jb HogwartsLegacy.exe+279E490
HogwartsLegacy.exe+279E481: F3 0F 10 83 10 1C 00 00     - movss xmm0,[rbx+00001C10]
HogwartsLegacy.exe+279E489: F3 0F 5D C1                 - minss xmm0,xmm1
HogwartsLegacy.exe+279E48D: 0F 28 F8                    - movaps xmm7,xmm0
HogwartsLegacy.exe+279E490: 0F 28 CE                    - movaps xmm1,xmm6
HogwartsLegacy.exe+279E493: F3 0F 11 BB 00 3C 00 00     - movss [rbx+00003C00],xmm7
HogwartsLegacy.exe+279E49B: F3 0F 5E 8B 18 1C 00 00     - divss xmm1,[rbx+00001C18]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>305</ID>
          <Description>"Multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_focus_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>279</ID>
      <Description>"Purchase an item from the vendor to increase your gold amount"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-13
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_PRICE,HogwartsLegacy.exe,F3 0F 10 B6 10 24 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_PRICE)

label(code)
label(return)
label(vf_m1)

newmem:

code:
  //movss xmm6,[rsi+00002410]
  movss xmm6, [vf_m1]
  jmp return
align 10 cc
  vf_m1:
  dd (float)-10

INJECT_SET_PRICE:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_SET_PRICE)
registersymbol(vf_m1)
[DISABLE]

INJECT_SET_PRICE:
  db F3 0F 10 B6 10 24 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+27A3865

HogwartsLegacy.exe+27A37FE - 3B 47 0C              - cmp eax,[rdi+0C]
HogwartsLegacy.exe+27A3801 - 7E 0A                 - jle HogwartsLegacy.exe+27A380D
HogwartsLegacy.exe+27A3803 - 8B D3                 - mov edx,ebx
HogwartsLegacy.exe+27A3805 - 48 8B CF              - mov rcx,rdi
HogwartsLegacy.exe+27A3808 - E8 73EA6DFE           - call HogwartsLegacy.AK::SoundEngine::RegisterResourceMonitorCallback+3320
HogwartsLegacy.exe+27A380D - 48 8B 07              - mov rax,[rdi]
HogwartsLegacy.exe+27A3810 - 48 8D 54 24 30        - lea rdx,[rsp+30]
HogwartsLegacy.exe+27A3815 - 48 8B CE              - mov rcx,rsi
HogwartsLegacy.exe+27A3818 - 48 89 14 D8           - mov [rax+rbx*8],rdx
HogwartsLegacy.exe+27A381C - 48 8B 06              - mov rax,[rsi]
HogwartsLegacy.exe+27A381F - FF 90 60010000        - call qword ptr [rax+00000160]
HogwartsLegacy.exe+27A3825 - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27A3828 - E8 434678FF           - call HogwartsLegacy.exe+1F27E70
HogwartsLegacy.exe+27A382D - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27A3830 - 4C 8D 86 C0230000     - lea r8,[rsi+000023C0]
HogwartsLegacy.exe+27A3837: 45 33 C9                 - xor r9d,r9d
HogwartsLegacy.exe+27A383A: 48 8B D6                 - mov rdx,rsi
HogwartsLegacy.exe+27A383D: E8 2E 41 78 FF           - call HogwartsLegacy.exe+1F27970
HogwartsLegacy.exe+27A3842: 48 8D 44 24 30           - lea rax,[rsp+30]
HogwartsLegacy.exe+27A3847: 48 8B CF                 - mov rcx,rdi
HogwartsLegacy.exe+27A384A: 48 8D 54 24 60           - lea rdx,[rsp+60]
HogwartsLegacy.exe+27A384F: 48 89 44 24 60           - mov [rsp+60],rax
HogwartsLegacy.exe+27A3854: E8 B7 01 D3 FE           - call HogwartsLegacy.exe+14D3A10
HogwartsLegacy.exe+27A3859: 83 7C 24 28 00           - cmp dword ptr [rsp+28],00
HogwartsLegacy.exe+27A385E: 48 8D 05 93 D0 E5 03     - lea rax,[HogwartsLegacy.exe+66008F8]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+27A3865: F3 0F 10 B6 10 24 00 00  - movss xmm6,[rsi+00002410]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+27A386D: 48 89 44 24 30           - mov [rsp+30],rax
HogwartsLegacy.exe+27A3872: 74 37                    - je HogwartsLegacy.exe+27A38AB
HogwartsLegacy.exe+27A3874: 48 8B 4C 24 20           - mov rcx,[rsp+20]
HogwartsLegacy.exe+27A3879: 48 85 C9                 - test rcx,rcx
HogwartsLegacy.exe+27A387C: 74 3F                    - je HogwartsLegacy.exe+27A38BD
HogwartsLegacy.exe+27A387E: 48 8B 01                 - mov rax,[rcx]
HogwartsLegacy.exe+27A3881: 33 D2                    - xor edx,edx
HogwartsLegacy.exe+27A3883: FF 10                    - call qword ptr [rax]
HogwartsLegacy.exe+27A3885: 48 8B 44 24 20           - mov rax,[rsp+20]
HogwartsLegacy.exe+27A388A: 48 85 C0                 - test rax,rax
HogwartsLegacy.exe+27A388D - 74 12                 - je HogwartsLegacy.exe+27A38A1
HogwartsLegacy.exe+27A388F - 45 33 C0              - xor r8d,r8d
HogwartsLegacy.exe+27A3892 - 33 D2                 - xor edx,edx
HogwartsLegacy.exe+27A3894 - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27A3897 - E8 B4DDDF00           - call HogwartsLegacy.exe+35A1650
HogwartsLegacy.exe+27A389C - 48 89 44 24 20        - mov [rsp+20],rax
HogwartsLegacy.exe+27A38A1 - C7 44 24 28 00000000  - mov [rsp+28],00000000
HogwartsLegacy.exe+27A38A9 - EB 05                 - jmp HogwartsLegacy.exe+27A38B0
HogwartsLegacy.exe+27A38AB - 48 8B 44 24 20        - mov rax,[rsp+20]
HogwartsLegacy.exe+27A38B0 - 48 85 C0              - test rax,rax
HogwartsLegacy.exe+27A38B3 - 74 08                 - je HogwartsLegacy.exe+27A38BD
HogwartsLegacy.exe+27A38B5 - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27A38B8 - E8 8332DF00           - call HogwartsLegacy.exe+3596B40
HogwartsLegacy.exe+27A38BD - 48 8B 5C 24 68        - mov rbx,[rsp+68]
HogwartsLegacy.exe+27A38C2 - 0F28 C6               - movaps xmm0,xmm6
HogwartsLegacy.exe+27A38C5 - 0F28 74 24 40         - movaps xmm6,[rsp+40]
HogwartsLegacy.exe+27A38CA - 48 8B 74 24 70        - mov rsi,[rsp+70]
HogwartsLegacy.exe+27A38CF - 48 83 C4 50           - add rsp,50
HogwartsLegacy.exe+27A38D3 - 5F                    - pop rdi
HogwartsLegacy.exe+27A38D4 - C3                    - ret
HogwartsLegacy.exe+27A38D5 - CC                    - int 3
HogwartsLegacy.exe+27A38D6 - CC                    - int 3
HogwartsLegacy.exe+27A38D7 - CC                    - int 3

}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>280</ID>
          <Description>"Thanks Nightfall@OCT provided related data address"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>282</ID>
          <Description>"multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_m1</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>65</ID>
      <Description>"Set min broom speed charges"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-12
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_BLOOM_SPEED_CHARGE,HogwartsLegacy.exe,F3 0F 11 46 40 41) // should be unique
alloc(newmem,$1000,INJECT_INF_BLOOM_SPEED_CHARGE)

label(code)
label(return)
label(vf_bloom_spd_charge)

newmem:
  movss xmm14, [vf_bloom_spd_charge]
  comiss xmm0, xmm14
  jae code
  movaps xmm0, xmm14

code:
  movss [rsi+40],xmm0
  jmp return
align 10 cc
  vf_bloom_spd_charge:
  dd (float)100

INJECT_INF_BLOOM_SPEED_CHARGE:
  jmp newmem
return:
registersymbol(INJECT_INF_BLOOM_SPEED_CHARGE)
registersymbol(vf_bloom_spd_charge)
[DISABLE]

INJECT_INF_BLOOM_SPEED_CHARGE:
  db F3 0F 11 46 40

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+2BE925C

HogwartsLegacy.exe+2BE9232: 0F B6 83 BA 07 00 00  - movzx eax,byte ptr [rbx+000007BA]
HogwartsLegacy.exe+2BE9239: 84 C0                 - test al,al
HogwartsLegacy.exe+2BE923B: 74 70                 - je HogwartsLegacy.exe+2BE92AD
HogwartsLegacy.exe+2BE923D: 80 BB 78 05 00 00 00  - cmp byte ptr [rbx+00000578],00
HogwartsLegacy.exe+2BE9244: 74 67                 - je HogwartsLegacy.exe+2BE92AD
HogwartsLegacy.exe+2BE9246: F3 0F 10 5F 04        - movss xmm3,[rdi+04]
HogwartsLegacy.exe+2BE924B: 41 0F 28 D0           - movaps xmm2,xmm8
HogwartsLegacy.exe+2BE924F: F3 0F 10 46 40        - movss xmm0,[rsi+40]
HogwartsLegacy.exe+2BE9254: 0F 28 CF              - movaps xmm1,xmm7
HogwartsLegacy.exe+2BE9257: E8 14 C7 A2 00        - call HogwartsLegacy.exe+3615970
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2BE925C: F3 0F 11 46 40        - movss [rsi+40],xmm0
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2BE9261: 41 0F 28 D0           - movaps xmm2,xmm8
HogwartsLegacy.exe+2BE9265: F3 0F 10 5F 08        - movss xmm3,[rdi+08]
HogwartsLegacy.exe+2BE926A: 0F 57 C9              - xorps xmm1,xmm1
HogwartsLegacy.exe+2BE926D: E8 FE C6 A2 00        - call HogwartsLegacy.exe+3615970
HogwartsLegacy.exe+2BE9272: F3 0F 11 46 40        - movss [rsi+40],xmm0
HogwartsLegacy.exe+2BE9277: 0F 54 05 F2 51 A0 03  - andps xmm0,[HogwartsLegacy.exe+65EE470]
HogwartsLegacy.exe+2BE927E: 0F 2F 05 93 45 A2 03  - comiss xmm0,[HogwartsLegacy.exe+660D818]
HogwartsLegacy.exe+2BE9285: 76 13                 - jna HogwartsLegacy.exe+2BE929A
HogwartsLegacy.exe+2BE9287: 80 BB B9 07 00 00 00  - cmp byte ptr [rbx+000007B9],00
HogwartsLegacy.exe+2BE928E: 75 5C                 - jne HogwartsLegacy.exe+2BE92EC
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>66</ID>
          <Description>"min. charge"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_bloom_spd_charge</Address>
        </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 A

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+F2B7C6

HogwartsLegacy.exe+F2B7A5: 41 89 40 0C     - mov [r8+0C],eax
HogwartsLegacy.exe+F2B7A9: 41 89 00        - mov [r8],eax
HogwartsLegacy.exe+F2B7AC: B8 01 40 00 00  - mov eax,00004001
HogwartsLegacy.exe+F2B7B1: 66 41 89 40 08  - mov [r8+08],ax
HogwartsLegacy.exe+F2B7B6: 33 C0           - xor eax,eax
HogwartsLegacy.exe+F2B7B8: C3              - ret
HogwartsLegacy.exe+F2B7B9: B8 01 00 00 00  - mov eax,00000001
HogwartsLegacy.exe+F2B7BE: 66 41 89 40 08  - mov [r8+08],ax
HogwartsLegacy.exe+F2B7C3: 33 C0           - xor eax,eax
HogwartsLegacy.exe+F2B7C5: C3              - ret
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+F2B7C6: 48 0F BE 01     - movsx rax,byte ptr [rcx]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+F2B7CA: 49 89 00        - mov [r8],rax
HogwartsLegacy.exe+F2B7CD: B8 04 00 00 00  - mov eax,00000004
HogwartsLegacy.exe+F2B7D2: 66 41 89 40 08  - mov [r8+08],ax
HogwartsLegacy.exe+F2B7D7: B8 01 00 00 00  - mov eax,00000001
HogwartsLegacy.exe+F2B7DC: C3              - ret
HogwartsLegacy.exe+F2B7DD: 0F BE 01        - movsx eax,byte ptr [rcx]
HogwartsLegacy.exe+F2B7E0: C1 E0 08        - shl eax,08
HogwartsLegacy.exe+F2B7E3: 48 63 C8        - movsxd  rcx,eax
HogwartsLegacy.exe+F2B7E6: 41 0F B6 42 01  - movzx eax,byte ptr [r10+01]
HogwartsLegacy.exe+F2B7EB: 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>286</ID>
      <Description>"Set max broom racing time"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-13
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_BROOM_RACING_TIMER,HogwartsLegacy.exe,F3 0F 11 06 C6 46 04 01 48 8D B9) // should be unique
alloc(newmem,$1000,INJECT_BROOM_RACING_TIMER)

label(code)
label(return)
label(vf_max_rtime)
newmem:
  movss xmm14, [vf_max_rtime]
  comiss xmm14, xmm0
  jae code
  movaps xmm0, xmm14

code:
  movss [rsi],xmm0
  mov byte ptr [rsi+04],01
  jmp return
align 10 cc
  vf_max_rtime:
  dd (float)35

INJECT_BROOM_RACING_TIMER:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_BROOM_RACING_TIMER)
registersymbol(vf_max_rtime)
[DISABLE]

INJECT_BROOM_RACING_TIMER:
  db F3 0F 11 06 C6 46 04 01

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+2BDAAD6

HogwartsLegacy.exe+2BDAAAC: 48 8D B1 78 03 00 00     - lea rsi,[rcx+00000378]
HogwartsLegacy.exe+2BDAAB3: C7 44 24 48 00 00 00 00  - mov [rsp+48],00000000
HogwartsLegacy.exe+2BDAABB: 80 7E 04 00              - cmp byte ptr [rsi+04],00
HogwartsLegacy.exe+2BDAABF: 0F 57 C0                 - xorps xmm0,xmm0
HogwartsLegacy.exe+2BDAAC2: 74 04                    - je HogwartsLegacy.exe+2BDAAC8
HogwartsLegacy.exe+2BDAAC4: F3 0F 10 06              - movss xmm0,[rsi]
HogwartsLegacy.exe+2BDAAC8: 48 8D 44 24 40           - lea rax,[rsp+40]
HogwartsLegacy.exe+2BDAACD: F3 0F 58 C1              - addss xmm0,xmm1
HogwartsLegacy.exe+2BDAAD1: 48 3B C6                 - cmp rax,rsi
HogwartsLegacy.exe+2BDAAD4: 74 08                    - je HogwartsLegacy.exe+2BDAADE
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2BDAAD6: F3 0F 11 06              - movss [rsi],xmm0
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2BDAADA: C6 46 04 01              - mov byte ptr [rsi+04],01
HogwartsLegacy.exe+2BDAADE: 48 8D B9 E8 02 00 00     - lea rdi,[rcx+000002E8]
HogwartsLegacy.exe+2BDAAE5: 48 8B CF                 - mov rcx,rdi
HogwartsLegacy.exe+2BDAAE8: E8 13 39 CE 00           - call HogwartsLegacy.exe+38BE400
HogwartsLegacy.exe+2BDAAED: 33 ED                    - xor ebp,ebp
HogwartsLegacy.exe+2BDAAEF: 48 8B D8                 - mov rbx,rax
HogwartsLegacy.exe+2BDAAF2: 48 85 C0                 - test rax,rax
HogwartsLegacy.exe+2BDAAF5: 75 66                    - jne HogwartsLegacy.exe+2BDAB5D
HogwartsLegacy.exe+2BDAAF7: 48 39 6F 10              - cmp [rdi+10],rbp
HogwartsLegacy.exe+2BDAAFB: 48 8D 4F 10              - lea rcx,[rdi+10]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>119</ID>
          <Description>"Suggestion: only enable during racing"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>287</ID>
          <Description>"max time (exclude penalty)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>C08000</Color>
          <VariableType>Float</VariableType>
          <Address>vf_max_rtime</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>118</ID>
      <Description>"Fast challenges"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-12
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_FAST_CHALLENGES,HogwartsLegacy.exe,41 8B 47 0C 41 3B 46 38) // should be unique
alloc(newmem,$1000,INJECT_FAST_CHALLENGES)

label(code)
label(return)

newmem:

code:
  //mov eax,[r15+0C]
  mov eax, [r14+38]
  mov [r15+0C], eax
  // *****

  cmp eax,[r14+38]
  jmp return

INJECT_FAST_CHALLENGES:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_FAST_CHALLENGES)

[DISABLE]

INJECT_FAST_CHALLENGES:
  db 41 8B 47 0C 41 3B 46 38

unregistersymbol(INJECT_FAST_CHALLENGES)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+26A5175

HogwartsLegacy.exe+26A5156: 7C 2C           - jl HogwartsLegacy.exe+26A5184
HogwartsLegacy.exe+26A5158: 49 8B 47 10     - mov rax,[r15+10]
HogwartsLegacy.exe+26A515C: 48 2B 08        - sub rcx,[rax]
HogwartsLegacy.exe+26A515F: 48 3B 4D 97     - cmp rcx,[rbp-69]
HogwartsLegacy.exe+26A5163: 7D 1F           - jnl HogwartsLegacy.exe+26A5184
HogwartsLegacy.exe+26A5165: EB 18           - jmp HogwartsLegacy.exe+26A517F
HogwartsLegacy.exe+26A5167: 4D 85 E4        - test r12,r12
HogwartsLegacy.exe+26A516A: 74 05           - je HogwartsLegacy.exe+26A5171
HogwartsLegacy.exe+26A516C: 41 FF 44 24 0C  - inc [r12+0C]
HogwartsLegacy.exe+26A5171: 41 FF 47 0C     - inc [r15+0C]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+26A5175: 41 8B 47 0C     - mov eax,[r15+0C]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+26A5179: 41 3B 46 38     - cmp eax,[r14+38]
HogwartsLegacy.exe+26A517D: 7C 05           - jl HogwartsLegacy.exe+26A5184
HogwartsLegacy.exe+26A517F: 41 C6 47 08 01  - mov byte ptr [r15+08],01
HogwartsLegacy.exe+26A5184: 4D 85 E4        - test r12,r12
HogwartsLegacy.exe+26A5187: 74 78           - je HogwartsLegacy.exe+26A5201
HogwartsLegacy.exe+26A5189: 49 8B D4        - mov rdx,r12
HogwartsLegacy.exe+26A518C: 48 8B CE        - mov rcx,rsi
HogwartsLegacy.exe+26A518F: E8 2C 51 00 00  - call HogwartsLegacy.exe+26AA2C0
HogwartsLegacy.exe+26A5194: 48 85 C0        - test rax,rax
HogwartsLegacy.exe+26A5197: 74 14           - je HogwartsLegacy.exe+26A51AD
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>288</ID>
          <Description>"Suggestion: used for combat category only"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>281</ID>
          <Description>"WARNING: may affect game progress: quests, exploration, field guide pages &amp; the room"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>309</ID>
      <Description>"inf. beast charges"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-25
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_INF_BEAST_CHARGE,HogwartsLegacy.exe,F3 0F 11 91 10 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_INF_BEAST_CHARGE)

label(code)
label(return)

newmem:
  movss xmm2, [rcx+0000010C]

code:
  movss [rcx+00000110],xmm2
  jmp return

INJECT_INF_BEAST_CHARGE:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_INF_BEAST_CHARGE)

[DISABLE]

INJECT_INF_BEAST_CHARGE:
  db F3 0F 11 91 10 01 00 00

unregistersymbol(INJECT_INF_BEAST_CHARGE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+27E691F

HogwartsLegacy.exe+27E68F4: F3 0F 10 A1 10 01 00 00  - movss xmm4,[rcx+00000110]
HogwartsLegacy.exe+27E68FC: 0F 57 C0                 - xorps xmm0,xmm0
HogwartsLegacy.exe+27E68FF: 0F 2F C8                 - comiss xmm1,xmm0
HogwartsLegacy.exe+27E6902: F3 0F 10 99 0C 01 00 00  - movss xmm3,[rcx+0000010C]
HogwartsLegacy.exe+27E690A: 73 05                    - jae HogwartsLegacy.exe+27E6911
HogwartsLegacy.exe+27E690C: 0F 57 D2                 - xorps xmm2,xmm2
HogwartsLegacy.exe+27E690F: EB 07                    - jmp HogwartsLegacy.exe+27E6918
HogwartsLegacy.exe+27E6911: 0F 28 D3                 - movaps xmm2,xmm3
HogwartsLegacy.exe+27E6914: F3 0F 5D D1              - minss xmm2,xmm1
HogwartsLegacy.exe+27E6918: 80 B9 16 08 00 00 00     - cmp byte ptr [rcx+00000816],00
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+27E691F: F3 0F 11 91 10 01 00 00  - movss [rcx+00000110],xmm2
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+27E6927: 74 58                    - je HogwartsLegacy.exe+27E6981
HogwartsLegacy.exe+27E6929: 0F 2E E2                 - ucomiss xmm4,xmm2
HogwartsLegacy.exe+27E692C: 74 53                    - je HogwartsLegacy.exe+27E6981
HogwartsLegacy.exe+27E692E: 0F 2F D8                 - comiss xmm3,xmm0
HogwartsLegacy.exe+27E6931: 76 09                    - jna HogwartsLegacy.exe+27E693C
HogwartsLegacy.exe+27E6933: 0F 28 E2                 - movaps xmm4,xmm2
HogwartsLegacy.exe+27E6936: F3 0F 5E E3              - divss xmm4,xmm3
HogwartsLegacy.exe+27E693A: EB 03                    - jmp HogwartsLegacy.exe+27E693F
HogwartsLegacy.exe+27E693C: 0F 57 E4                 - xorps xmm4,xmm4
HogwartsLegacy.exe+27E693F: 0F 2F D0                 - comiss xmm2,xmm0
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>69</ID>
      <Description>"Get challenges progress"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-02-12
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_CHALLENGES,HogwartsLegacy.exe,8B 40 0C 89 47 1C) // should be unique
alloc(newmem,$1000,INJECT_GET_CHALLENGES)

label(code)
label(return)
label(i_challenges_start_addr)

newmem:
  push r15
  push r14
  push r13
  xor r14, r14
  xor r13, r13

  mov r15, i_challenges_start_addr

loop_find:
  lea r13, [rax+0C]
  cmp qword ptr [r15+r14d*8], 0
  je set_it
  jmp chk_next

set_it:
  mov [r15+r14d*8], r13
  jmp endp

chk_next:
  cmp qword ptr [r15+r14d*8], r13
  je endp


  inc r14d
  cmp r14d, 33
  jae endp
  jmp loop_find

endp:
  pop r13
  pop r14
  pop r15

code:
  mov eax,[rax+0C]
  mov [rdi+1C],eax
  jmp return
align 10 cc
  i_challenges_start_addr:
  dq 0
  align 100 00
  db 0
  align 100 00
  db 0
  align 100 00
  db 0
  align 100 00
  db 0
  align 100 00
  db 0

INJECT_GET_CHALLENGES:
  jmp newmem
  nop
return:
registersymbol(INJECT_GET_CHALLENGES)
registersymbol(i_challenges_start_addr)
[DISABLE]

INJECT_GET_CHALLENGES:
  db 8B 40 0C 89 47 1C

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+26AAAD5

HogwartsLegacy.exe+26AAAB1: 0F 84 9D 00 00 00  - je HogwartsLegacy.exe+26AAB54
HogwartsLegacy.exe+26AAAB7: 48 89 1F           - mov [rdi],rbx
HogwartsLegacy.exe+26AAABA: 48 8B D6           - mov rdx,rsi
HogwartsLegacy.exe+26AAABD: 8B 4E 38           - mov ecx,[rsi+38]
HogwartsLegacy.exe+26AAAC0: 89 4F 08           - mov [rdi+08],ecx
HogwartsLegacy.exe+26AAAC3: 48 8B 4E 40        - mov rcx,[rsi+40]
HogwartsLegacy.exe+26AAAC7: 48 89 4F 10        - mov [rdi+10],rcx
HogwartsLegacy.exe+26AAACB: 0F B6 48 08        - movzx ecx,byte ptr [rax+08]
HogwartsLegacy.exe+26AAACF: 88 4F 18           - mov [rdi+18],cl
HogwartsLegacy.exe+26AAAD2: 48 8B CD           - mov rcx,rbp
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+26AAAD5: 8B 40 0C           - mov eax,[rax+0C]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+26AAAD8: 89 47 1C           - mov [rdi+1C],eax
HogwartsLegacy.exe+26AAADB: E8 00 5A 00 00     - call HogwartsLegacy.exe+26B04E0
HogwartsLegacy.exe+26AAAE0: 88 47 20           - mov [rdi+20],al
HogwartsLegacy.exe+26AAAE3: 44 89 7F 30        - mov [rdi+30],r15d
HogwartsLegacy.exe+26AAAE7: 44 39 7F 34        - cmp [rdi+34],r15d
HogwartsLegacy.exe+26AAAEB: 74 0B              - je HogwartsLegacy.exe+26AAAF8
HogwartsLegacy.exe+26AAAED: 33 D2              - xor edx,edx
HogwartsLegacy.exe+26AAAEF: 48 8D 4F 28        - lea rcx,[rdi+28]
HogwartsLegacy.exe+26AAAF3: E8 F8 7B 7E FE     - call HogwartsLegacy.exe+E926F0
HogwartsLegacy.exe+26AAAF8: 48 8B 5E 50        - mov rbx,[rsi+50]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Usage: open challenges stat window"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>106</ID>
          <Description>"Re-enable script to reset data"</Description>
          <Color>FF00FF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>82</ID>
          <Description>"1-10"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>70</ID>
              <Description>"#1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>71</ID>
              <Description>"#2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>73</ID>
              <Description>"#3"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+10</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>74</ID>
              <Description>"#4"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+18</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>75</ID>
              <Description>"#5"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+20</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>76</ID>
              <Description>"#6"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+28</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>78</ID>
              <Description>"#7"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+30</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>79</ID>
              <Description>"#8"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+38</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>80</ID>
              <Description>"#9"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+40</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>81</ID>
              <Description>"#10"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+48</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"11-20"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>85</ID>
              <Description>"#11"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+50</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>86</ID>
              <Description>"#12"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+58</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>87</ID>
              <Description>"#13"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+60</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>88</ID>
              <Description>"#14"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+68</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>89</ID>
              <Description>"#15"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+70</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>90</ID>
              <Description>"#16"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+78</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>91</ID>
              <Description>"#17"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+80</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>92</ID>
              <Description>"#18"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+88</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>93</ID>
              <Description>"#19"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+90</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>94</ID>
              <Description>"#20"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+98</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>95</ID>
          <Description>"21-30"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>96</ID>
              <Description>"#21"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+A0</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>97</ID>
              <Description>"#22"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+A8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>98</ID>
              <Description>"#23"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+B0</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>99</ID>
              <Description>"#24"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+B8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>100</ID>
              <Description>"#25"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+C0</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>101</ID>
              <Description>"#26"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+C8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>102</ID>
              <Description>"#27"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+D0</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>103</ID>
              <Description>"#28"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+D8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>104</ID>
              <Description>"#29"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+E0</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>105</ID>
              <Description>"#30"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+E8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>107</ID>
          <Description>"31-40"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>108</ID>
              <Description>"#21"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+F0</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>109</ID>
              <Description>"#22"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+F8</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>110</ID>
              <Description>"#23"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+100</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>111</ID>
              <Description>"#24"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+108</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>112</ID>
              <Description>"#25"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+110</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>113</ID>
              <Description>"#26"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+118</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>114</ID>
              <Description>"#27"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+120</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>115</ID>
              <Description>"#28"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+128</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>116</ID>
              <Description>"#29"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+130</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>117</ID>
              <Description>"#30"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_challenges_start_addr+138</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>63</ID>
      <Description>"====== Scripts by Seneekikaant@OCT ======"</Description>
      <Color>8000FF</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>62</ID>
      <Description>"Fast spell cooldown"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
// by Seneekikaant
aobscanmodule(spell_cooldown_access,HogwartsLegacy.exe,F3 0F 10 B6 B8 0A 00 00) // should be unique
alloc(scamem,$1000,spell_cooldown_access)

label(sca_exit)
registersymbol(spell_cooldown_access)
scamem:

  mov [rsi+ab8],(float)100
  movss xmm6,[rsi+00000AB8]
  jmp sca_exit

spell_cooldown_access:
  jmp scamem
  nop 3
sca_exit:


[DISABLE]

spell_cooldown_access:
  db F3 0F 10 B6 B8 0A 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+2CD4065

HogwartsLegacy.exe+2CD4037: 45 33 C9                 - xor r9d,r9d
HogwartsLegacy.exe+2CD403A: 48 8B D6                 - mov rdx,rsi
HogwartsLegacy.exe+2CD403D: E8 EE 6D 25 FF           - call HogwartsLegacy.exe+1F2AE30
HogwartsLegacy.exe+2CD4042: 48 8D 44 24 30           - lea rax,[rsp+30]
HogwartsLegacy.exe+2CD4047: 48 8B CF                 - mov rcx,rdi
HogwartsLegacy.exe+2CD404A: 48 8D 54 24 60           - lea rdx,[rsp+60]
HogwartsLegacy.exe+2CD404F: 48 89 44 24 60           - mov [rsp+60],rax
HogwartsLegacy.exe+2CD4054: E8 E7 2A 80 FE           - call HogwartsLegacy.exe+14D6B40
HogwartsLegacy.exe+2CD4059: 83 7C 24 28 00           - cmp dword ptr [rsp+28],00
HogwartsLegacy.exe+2CD405E: 48 8D 05 53 4D 94 03     - lea rax,[HogwartsLegacy.exe+6618DB8]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2CD4065: F3 0F 10 B6 B8 0A 00 00  - movss xmm6,[rsi+00000AB8]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2CD406D: 48 89 44 24 30           - mov [rsp+30],rax
HogwartsLegacy.exe+2CD4072: 74 37                    - je HogwartsLegacy.exe+2CD40AB
HogwartsLegacy.exe+2CD4074: 48 8B 4C 24 20           - mov rcx,[rsp+20]
HogwartsLegacy.exe+2CD4079: 48 85 C9                 - test rcx,rcx
HogwartsLegacy.exe+2CD407C: 74 3F                    - je HogwartsLegacy.exe+2CD40BD
HogwartsLegacy.exe+2CD407E: 48 8B 01                 - mov rax,[rcx]
HogwartsLegacy.exe+2CD4081: 33 D2                    - xor edx,edx
HogwartsLegacy.exe+2CD4083: FF 10                    - call qword ptr [rax]
HogwartsLegacy.exe+2CD4085: 48 8B 44 24 20           - mov rax,[rsp+20]
HogwartsLegacy.exe+2CD408A: 48 85 C0                 - test rax,rax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>30</ID>
      <Description>"Hogwarts Legacy (1126182)  /  https://opencheattables.com  /  CE 7.5+"</Description>
      <Color>00BB5E</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
