<?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   : 2024-06-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_XP_MULTI,HogwartsLegacy.exe,8B 46 40 42 8D 14 31) // should be unique
alloc(newmem,$1000,INJECT_XP_MULTI)

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:
  mov eax,[rsi+40]
  lea edx,[rcx+r14]
  jmp return
align 10 cc
  vf_xp_multi:
  dd (float)1.5
  i_base_xp_addr2:
  dq 0


INJECT_XP_MULTI:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_XP_MULTI)
registersymbol(vf_xp_multi)
registersymbol(i_base_xp_addr2)

[DISABLE]

INJECT_XP_MULTI:
  db 8B 46 40 42 8D 14 31

unregistersymbol(*)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+2B61E08

HogwartsLegacy.exe+2B61DE0: E9 B5 06 00 00           - jmp HogwartsLegacy.exe+2B6249A
HogwartsLegacy.exe+2B61DE5: 48 89 BC 24 D8 00 00 00  - mov [rsp+000000D8],rdi
HogwartsLegacy.exe+2B61DED: 8B 7E 44                 - mov edi,[rsi+44]
HogwartsLegacy.exe+2B61DF0: 89 7D 07                 - mov [rbp+07],edi
HogwartsLegacy.exe+2B61DF3: 83 FF 28                 - cmp edi,28
HogwartsLegacy.exe+2B61DF6: 0F 84 7B 06 00 00        - je HogwartsLegacy.exe+2B62477
HogwartsLegacy.exe+2B61DFC: 8B 4E 38                 - mov ecx,[rsi+38]
HogwartsLegacy.exe+2B61DFF: 8B 46 3C                 - mov eax,[rsi+3C]
HogwartsLegacy.exe+2B61E02: 89 4D F7                 - mov [rbp-09],ecx
HogwartsLegacy.exe+2B61E05: 89 45 FB                 - mov [rbp-05],eax
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+2B61E08: 8B 46 40                 - mov eax,[rsi+40]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+2B61E0B: 42 8D 14 31              - lea edx,[rcx+r14]
HogwartsLegacy.exe+2B61E0F: 4C 89 A4 24 D0 00 00 00  - mov [rsp+000000D0],r12
HogwartsLegacy.exe+2B61E17: 48 8B CE                 - mov rcx,rsi
HogwartsLegacy.exe+2B61E1A: 4C 8D 66 3C              - lea r12,[rsi+3C]
HogwartsLegacy.exe+2B61E1E: 89 56 38                 - mov [rsi+38],edx
HogwartsLegacy.exe+2B61E21: 89 45 FF                 - mov [rbp-01],eax
HogwartsLegacy.exe+2B61E24: E8 E7 B2 00 00           - call HogwartsLegacy.exe+2B6D110
HogwartsLegacy.exe+2B61E29: 41 83 7D 08 01           - cmp dword ptr [r13+08],01
HogwartsLegacy.exe+2B61E2E: 8B D8                    - mov ebx,eax
HogwartsLegacy.exe+2B61E30: 0F 8E FE 00 00 00        - jng HogwartsLegacy.exe+2B61F34
}


{
// 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 (not working)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : HogwartsLegacy.exe
  Version: 
  Date   : 2023-05-05
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_GET_XP,HogwartsLegacy.exe,41 0B 04 10 48 83 C4 F8 29 D2 50) // 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:
  or eax,[r8+rdx]
  add rsp,-08
  jmp return

align 10 cc
  i_base_xp_addr:
  dq 0

INJECT_GET_XP:
  jmp newmem
  nop 3
return:
registersymbol(INJECT_GET_XP)
registersymbol(i_base_xp_addr)
[DISABLE]

INJECT_GET_XP:
  db 41 0B 04 10 48 83 C4 F8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+1BAC6922

HogwartsLegacy.exe+1BAC68FE: 41 09 85 1D C5 72 E7     - or [r13-188D3AE3],eax
HogwartsLegacy.exe+1BAC6905: 41 5D                    - pop r13
HogwartsLegacy.exe+1BAC6907: F7 14 24                 - not [rsp]
HogwartsLegacy.exe+1BAC690A: 8B 04 24                 - mov eax,[rsp]
HogwartsLegacy.exe+1BAC690D: 83 E0 FF                 - and eax,-01
HogwartsLegacy.exe+1BAC6910: 83 0C 24 FF              - or dword ptr [rsp],-01
HogwartsLegacy.exe+1BAC6914: F7 14 24                 - not [rsp]
HogwartsLegacy.exe+1BAC6917: 01 04 24                 - add [rsp],eax
HogwartsLegacy.exe+1BAC691A: 48 8B 04 24              - mov rax,[rsp]
HogwartsLegacy.exe+1BAC691E: 48 83 EC F8              - sub rsp,-08
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+1BAC6922: 41 0B 04 10              - or eax,[r8+rdx]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+1BAC6926: 48 83 C4 F8              - add rsp,-08
HogwartsLegacy.exe+1BAC692A: 29 D2                    - sub edx,edx
HogwartsLegacy.exe+1BAC692C: 50                       - push rax
HogwartsLegacy.exe+1BAC692D: 48 8D 84 24 DB 0F A2 C3  - lea rax,[rsp-3C5DF025]
HogwartsLegacy.exe+1BAC6935: 4C 89 90 2D F0 5D 3C     - mov [rax+3C5DF02D],r10
HogwartsLegacy.exe+1BAC693C: 58                       - pop rax
HogwartsLegacy.exe+1BAC693D: 52                       - push rdx
HogwartsLegacy.exe+1BAC693E: 41 BA 00 00 FF FF        - mov r10d,FFFF0000
HogwartsLegacy.exe+1BAC6944: 09 C2                    - or edx,eax
HogwartsLegacy.exe+1BAC6946: 21 04 24                 - and [rsp],eax
}
</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   : 2024-06-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_QUICK_ANC_SPELL_CHARGE,$process,F3 0F 5D C1 0F 28 F8 0F) // 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)
label(i_base_anc_magic_off)

newmem:
  mov [i_base_anc_magic_addr], rbx

  push r15
  mov r15, INJECT_QUICK_ANC_SPELL_CHARGE+E
  mov r15d, [r15]
  mov [i_base_anc_magic_off], r15d
  pop r15

  movss xmm14, [vf_min_anc_magic]
  comiss xmm7, xmm14
  jae code
  movaps xmm7, xmm14
  //movss xmm7, [vf_min_anc_magic]

code:
  minss xmm0,xmm1
  movaps xmm7,xmm0
  jmp return
align 10 cc
  i_base_anc_magic_addr:
  dq 0
  i_base_anc_magic_off:
  dd 0
  vf_min_anc_magic:
  dd (float)200


INJECT_QUICK_ANC_SPELL_CHARGE:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_QUICK_ANC_SPELL_CHARGE)
registersymbol(vf_min_anc_magic)
registersymbol(i_base_anc_magic_addr)
registersymbol(i_base_anc_magic_off)

[DISABLE]

INJECT_QUICK_ANC_SPELL_CHARGE:
  db F3 0F 5D C1 0F 28 F8

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.ABase_Character::SetCharacterHidden+E0C9

HogwartsLegacy.ABase_Character::SetCharacterHidden+E09C: 0F 28 C8                    - movaps xmm1,xmm0
HogwartsLegacy.ABase_Character::SetCharacterHidden+E09F: EB 03                       - jmp HogwartsLegacy.ABase_Character::SetCharacterHidden+E0A4
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0A1: 0F 28 CE                    - movaps xmm1,xmm6
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0A4: F3 44 0F 10 8B 18 3D 00 00  - movss xmm9,[rbx+00003D18]
INJECT_FOCUS_MULTI: E9 7E 45 71 FD              - jmp 13FFE0000
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0B2: F3 41 0F 59 CA              - mulss xmm1,xmm10
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0B7: F3 41 0F 58 C9              - addss xmm1,xmm9
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0BC: 0F 2F CF                    - comiss xmm1,xmm7
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0BF: 72 0F                       - jb HogwartsLegacy.ABase_Character::SetCharacterHidden+E0D0
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0C1: F3 0F 10 83 28 1D 00 00     - movss xmm0,[rbx+00001D28]
// ---------- INJECTING HERE ----------
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0C9: F3 0F 5D C1                 - minss xmm0,xmm1
// ---------- DONE INJECTING  ----------
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0CD: 0F 28 F8                    - movaps xmm7,xmm0
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0D0: 0F 28 CE                    - movaps xmm1,xmm6
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0D3: F3 0F 11 BB 18 3D 00 00     - movss [rbx+00003D18],xmm7
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0DB: F3 0F 5E 8B 30 1D 00 00     - divss xmm1,[rbx+00001D30]
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0E3: 0F 28 C1                    - movaps xmm0,xmm1
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0E6: F3 41 0F 59 C9              - mulss xmm1,xmm9
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0EB: F3 0F 59 C7                 - mulss xmm0,xmm7
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0EF: 0F 28 BC 24 30 01 00 00     - movaps xmm7,[rsp+00000130]
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0F7: F3 0F 2C C1                 - cvttss2si eax,xmm1
HogwartsLegacy.ABase_Character::SetCharacterHidden+E0FB: F3 0F 2C C8                 - cvttss2si ecx,xmm0
}

{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+27AC433

HogwartsLegacy.exe+27AC404: F3 44 0F 10 8B 18 3C 00 00  - movss xmm9,[rbx+00003C18]
HogwartsLegacy.exe+27AC40D: F3 41 0F 59 C8              - mulss xmm1,xmm8
HogwartsLegacy.exe+27AC412: F3 41 0F 59 CA              - mulss xmm1,xmm10
HogwartsLegacy.exe+27AC417: F3 41 0F 58 C9              - addss xmm1,xmm9
HogwartsLegacy.exe+27AC41C: 0F 2F CF                    - comiss xmm1,xmm7
HogwartsLegacy.exe+27AC41F: 72 0F                       - jb HogwartsLegacy.exe+27AC430
HogwartsLegacy.exe+27AC421: F3 0F 10 83 28 1C 00 00     - movss xmm0,[rbx+00001C28]
HogwartsLegacy.exe+27AC429: F3 0F 5D C1                 - minss xmm0,xmm1
HogwartsLegacy.exe+27AC42D: 0F 28 F8                    - movaps xmm7,xmm0
HogwartsLegacy.exe+27AC430: 0F 28 CE                    - movaps xmm1,xmm6
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+27AC433: F3 0F 11 BB 18 3C 00 00     - movss [rbx+00003C18],xmm7
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+27AC43B: F3 0F 5E 8B 30 1C 00 00     - divss xmm1,[rbx+00001C30]
HogwartsLegacy.exe+27AC443: 0F 28 C1                    - movaps xmm0,xmm1
HogwartsLegacy.exe+27AC446: F3 41 0F 59 C9              - mulss xmm1,xmm9
HogwartsLegacy.exe+27AC44B: F3 0F 59 C7                 - mulss xmm0,xmm7
HogwartsLegacy.exe+27AC44F: 0F 28 BC 24 30 01 00 00     - movaps xmm7,[rsp+00000130]
HogwartsLegacy.exe+27AC457: F3 0F 2C C1                 - cvttss2si eax,xmm1
HogwartsLegacy.exe+27AC45B: F3 0F 2C C8                 - cvttss2si ecx,xmm0
HogwartsLegacy.exe+27AC45F: 3B C8                       - cmp ecx,eax
HogwartsLegacy.exe+27AC461: 74 2E                       - je HogwartsLegacy.exe+27AC491
HogwartsLegacy.exe+27AC463: E8 58 98 F3 FF              - call HogwartsLegacy.exe+26E5CC0
}
</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 (not working)"</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>[i_base_anc_magic_off]-18</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   : 2024-06-07
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SET_PRICE,HogwartsLegacy.exe,F3 0F 10 B6 28 25 00 00) // should be unique
alloc(newmem,$1000,INJECT_SET_PRICE)

label(code)
label(return)
label(vf_m1)

newmem:

code:
  //movss xmm6,[rsi+00002528]
  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 28 25 00 00

unregistersymbol(*)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+28D0F55

HogwartsLegacy.exe+28D0F27: 45 33 C9                 - xor r9d,r9d
HogwartsLegacy.exe+28D0F2A: 48 8B D6                 - mov rdx,rsi
HogwartsLegacy.exe+28D0F2D: E8 1E DE 75 FF           - call HogwartsLegacy.exe+202ED50
HogwartsLegacy.exe+28D0F32: 48 8D 44 24 30           - lea rax,[rsp+30]
HogwartsLegacy.exe+28D0F37: 48 8B CF                 - mov rcx,rdi
HogwartsLegacy.exe+28D0F3A: 48 8D 54 24 60           - lea rdx,[rsp+60]
HogwartsLegacy.exe+28D0F3F: 48 89 44 24 60           - mov [rsp+60],rax
HogwartsLegacy.exe+28D0F44: E8 67 5F C6 FE           - call HogwartsLegacy.exe+1536EB0
HogwartsLegacy.exe+28D0F49: 83 7C 24 28 00           - cmp dword ptr [rsp+28],00
HogwartsLegacy.exe+28D0F4E: 48 8D 05 3B BC EC 03     - lea rax,[HogwartsLegacy.exe+679CB90]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+28D0F55: F3 0F 10 B6 28 25 00 00  - movss xmm6,[rsi+00002528]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+28D0F5D: 48 89 44 24 30           - mov [rsp+30],rax
HogwartsLegacy.exe+28D0F62: 74 37                    - je HogwartsLegacy.exe+28D0F9B
HogwartsLegacy.exe+28D0F64: 48 8B 4C 24 20           - mov rcx,[rsp+20]
HogwartsLegacy.exe+28D0F69: 48 85 C9                 - test rcx,rcx
HogwartsLegacy.exe+28D0F6C: 74 3F                    - je HogwartsLegacy.exe+28D0FAD
HogwartsLegacy.exe+28D0F6E: 48 8B 01                 - mov rax,[rcx]
HogwartsLegacy.exe+28D0F71: 33 D2                    - xor edx,edx
HogwartsLegacy.exe+28D0F73: FF 10                    - call qword ptr [rax]
HogwartsLegacy.exe+28D0F75: 48 8B 44 24 20           - mov rax,[rsp+20]
HogwartsLegacy.exe+28D0F7A: 48 85 C0                 - test rax,rax
}


{
// ORIGINAL CODE - INJECTION POINT: HogwartsLegacy.exe+27B1855

HogwartsLegacy.exe+27B17EE - 3B 47 0C              - cmp eax,[rdi+0C]
HogwartsLegacy.exe+27B17F1 - 7E 0A                 - jle HogwartsLegacy.exe+27B17FD
HogwartsLegacy.exe+27B17F3 - 8B D3                 - mov edx,ebx
HogwartsLegacy.exe+27B17F5 - 48 8B CF              - mov rcx,rdi
HogwartsLegacy.exe+27B17F8 - E8 C37B6DFE           - call HogwartsLegacy.AK::SoundEngine::RegisterResourceMonitorCallback+3320
HogwartsLegacy.exe+27B17FD - 48 8B 07              - mov rax,[rdi]
HogwartsLegacy.exe+27B1800 - 48 8D 54 24 30        - lea rdx,[rsp+30]
HogwartsLegacy.exe+27B1805 - 48 8B CE              - mov rcx,rsi
HogwartsLegacy.exe+27B1808 - 48 89 14 D8           - mov [rax+rbx*8],rdx
HogwartsLegacy.exe+27B180C - 48 8B 06              - mov rax,[rsi]
HogwartsLegacy.exe+27B180F - FF 90 60010000        - call qword ptr [rax+00000160]
HogwartsLegacy.exe+27B1815 - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27B1818 - E8 E32A78FF           - call HogwartsLegacy.exe+1F34300
HogwartsLegacy.exe+27B181D - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27B1820 - 4C 8D 86 D8230000     - lea r8,[rsi+000023D8]
HogwartsLegacy.exe+27B1827: 45 33 C9                 - xor r9d,r9d
HogwartsLegacy.exe+27B182A: 48 8B D6                 - mov rdx,rsi
HogwartsLegacy.exe+27B182D: E8 CE 25 78 FF           - call HogwartsLegacy.exe+1F33E00
HogwartsLegacy.exe+27B1832: 48 8D 44 24 30           - lea rax,[rsp+30]
HogwartsLegacy.exe+27B1837: 48 8B CF                 - mov rcx,rdi
HogwartsLegacy.exe+27B183A: 48 8D 54 24 60           - lea rdx,[rsp+60]
HogwartsLegacy.exe+27B183F: 48 89 44 24 60           - mov [rsp+60],rax
HogwartsLegacy.exe+27B1844: E8 C7 F3 D7 FE           - call HogwartsLegacy.exe+1530C10
HogwartsLegacy.exe+27B1849: 83 7C 24 28 00           - cmp dword ptr [rsp+28],00
HogwartsLegacy.exe+27B184E: 48 8D 05 A3 54 E9 03     - lea rax,[HogwartsLegacy.exe+6646CF8]
// ---------- INJECTING HERE ----------
HogwartsLegacy.exe+27B1855: F3 0F 10 B6 28 24 00 00  - movss xmm6,[rsi+00002428]
// ---------- DONE INJECTING  ----------
HogwartsLegacy.exe+27B185D: 48 89 44 24 30           - mov [rsp+30],rax
HogwartsLegacy.exe+27B1862: 74 37                    - je HogwartsLegacy.exe+27B189B
HogwartsLegacy.exe+27B1864: 48 8B 4C 24 20           - mov rcx,[rsp+20]
HogwartsLegacy.exe+27B1869: 48 85 C9                 - test rcx,rcx
HogwartsLegacy.exe+27B186C: 74 3F                    - je HogwartsLegacy.exe+27B18AD
HogwartsLegacy.exe+27B186E: 48 8B 01                 - mov rax,[rcx]
HogwartsLegacy.exe+27B1871: 33 D2                    - xor edx,edx
HogwartsLegacy.exe+27B1873: FF 10                    - call qword ptr [rax]
HogwartsLegacy.exe+27B1875: 48 8B 44 24 20           - mov rax,[rsp+20]
HogwartsLegacy.exe+27B187A: 48 85 C0                 - test rax,rax
HogwartsLegacy.exe+27B187D - 74 12                 - je HogwartsLegacy.exe+27B1891
HogwartsLegacy.exe+27B187F - 45 33 C0              - xor r8d,r8d
HogwartsLegacy.exe+27B1882 - 33 D2                 - xor edx,edx
HogwartsLegacy.exe+27B1884 - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27B1887 - E8 C454E100           - call HogwartsLegacy.exe+35C6D50
HogwartsLegacy.exe+27B188C - 48 89 44 24 20        - mov [rsp+20],rax
HogwartsLegacy.exe+27B1891 - C7 44 24 28 00000000  - mov [rsp+28],00000000
HogwartsLegacy.exe+27B1899 - EB 05                 - jmp HogwartsLegacy.exe+27B18A0
HogwartsLegacy.exe+27B189B - 48 8B 44 24 20        - mov rax,[rsp+20]
HogwartsLegacy.exe+27B18A0 - 48 85 C0              - test rax,rax
HogwartsLegacy.exe+27B18A3 - 74 08                 - je HogwartsLegacy.exe+27B18AD
HogwartsLegacy.exe+27B18A5 - 48 8B C8              - mov rcx,rax
HogwartsLegacy.exe+27B18A8 - E8 93A9E000           - call HogwartsLegacy.exe+35BC240
HogwartsLegacy.exe+27B18AD - 48 8B 5C 24 68        - mov rbx,[rsp+68]
HogwartsLegacy.exe+27B18B2 - 0F28 C6               - movaps xmm0,xmm6
HogwartsLegacy.exe+27B18B5 - 0F28 74 24 40         - movaps xmm6,[rsp+40]
HogwartsLegacy.exe+27B18BA - 48 8B 74 24 70        - mov rsi,[rsp+70]
HogwartsLegacy.exe+27B18BF - 48 83 C4 50           - add rsp,50
HogwartsLegacy.exe+27B18C3 - 5F                    - pop rdi
HogwartsLegacy.exe+27B18C4 - C3                    - ret
HogwartsLegacy.exe+27B18C5 - 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 (1218405)  /  https://opencheattables.com  /  CE 7.5+"</Description>
      <Color>00BB5E</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
