<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>52</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>33</ID>
      <Description>"Combo cheat (choose one)"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Keep combo going"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : DivaMegaMix.exe
  Version: 
  Date   : 2022-05-28
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_WORST_INC,DivaMegaMix.exe,FF 84 83 60 D2 02 00) // should be unique
alloc(newmem,$1000,INJECT_WORST_INC)
aobscanmodule(INJECT_IS_RESET_COMBO,DivaMegaMix.exe,44 89 93 48 D2 02 00) // should be unique
alloc(newmem2,$1000,INJECT_IS_RESET_COMBO)


label(code)
label(return)

label(code2)
label(return2)

newmem:

code:
  inc [rbx+rax*4+0002D260]
 // inc [rbx+rax*4+0002D250]
  //mov dword ptr [rbx+rax*4+0002D260], 0
  //mov dword ptr [i_is_worst_triggered], 1
  jmp return

align 10 cc
  i_is_worst_triggered:
  dd 0

INJECT_WORST_INC:
  jmp newmem
  nop 2
return:
registersymbol(INJECT_WORST_INC)

newmem2:

code2:
  test r10d, r10d
  jnz go_normal
  inc dword ptr [rbx+0002D248]
  jmp code_next

go_normal:
  mov [rbx+0002D248],r10d
code_next:
  jmp return2

INJECT_IS_RESET_COMBO:
  jmp newmem2
  nop 2
return2:
registersymbol(INJECT_IS_RESET_COMBO)


[DISABLE]

INJECT_WORST_INC:
  db FF 84 83 60 D2 02 00

unregistersymbol(INJECT_WORST_INC)
dealloc(newmem)

INJECT_IS_RESET_COMBO:
  db 44 89 93 48 D2 02 00

unregistersymbol(INJECT_IS_RESET_COMBO)
dealloc(newmem2)

{
// ORIGINAL CODE - INJECTION POINT: DivaMegaMix.exe+242BCD

DivaMegaMix.exe+242BAD: E8 0E 20 00 00        - call DivaMegaMix.exe+244BC0
DivaMegaMix.exe+242BB2: 0F B6 45 9C           - movzx eax,byte ptr [rbp-64]
DivaMegaMix.exe+242BB6: 84 C0                 - test al,al
DivaMegaMix.exe+242BB8: 74 0A                 - je DivaMegaMix.exe+242BC4
DivaMegaMix.exe+242BBA: 45 84 FF              - test r15l,r15l
DivaMegaMix.exe+242BBD: 75 05                 - jne DivaMegaMix.exe+242BC4
DivaMegaMix.exe+242BBF: 45 84 E4              - test r12l,r12l
DivaMegaMix.exe+242BC2: 75 58                 - jne DivaMegaMix.exe+242C1C
DivaMegaMix.exe+242BC4: 48 8D 0C B6           - lea rcx,[rsi+rsi*4]
DivaMegaMix.exe+242BC8: 48 63 44 8D E8        - movsxd  rax,dword ptr [rbp+rcx*4-18]
// ---------- INJECTING HERE ----------
DivaMegaMix.exe+242BCD: FF 84 83 60 D2 02 00  - inc [rbx+rax*4+0002D260]
// ---------- DONE INJECTING  ----------
DivaMegaMix.exe+242BD4: 48 63 75 98           - movsxd  rsi,dword ptr [rbp-68]
DivaMegaMix.exe+242BD8: 48 8D 0C B6           - lea rcx,[rsi+rsi*4]
DivaMegaMix.exe+242BDC: 80 7C 8D EC 00        - cmp byte ptr [rbp+rcx*4-14],00
DivaMegaMix.exe+242BE1: 74 0F                 - je DivaMegaMix.exe+242BF2
DivaMegaMix.exe+242BE3: 48 63 44 8D E8        - movsxd  rax,dword ptr [rbp+rcx*4-18]
DivaMegaMix.exe+242BE8: FF 84 83 74 D2 02 00  - inc [rbx+rax*4+0002D274]
DivaMegaMix.exe+242BEF: 8B 75 98              - mov esi,[rbp-68]
DivaMegaMix.exe+242BF2: 48 63 C6              - movsxd  rax,esi
DivaMegaMix.exe+242BF5: 48 8D 14 80           - lea rdx,[rax+rax*4]
DivaMegaMix.exe+242BF9: 48 8D 8B 00 C9 02 00  - lea rcx,[rbx+0002C900]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>11</ID>
          <Description>"Live: min. combo"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : DivaMegaMix.exe
  Version: 
  Date   : 2022-05-28
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_COMBO_CALC,DivaMegaMix.exe,FF 83 48 D2 02 00) // should be unique
alloc(newmem,$1000,INJECT_COMBO_CALC)

label(code)
label(return)

newmem:
  push rax
  mov eax, [rbx+0002D248]
  cmp eax, [i_min_combo]
  jge endp
  mov eax, [i_min_combo]
  mov [rbx+0002D248], eax

endp:
  pop rax

code:
  inc [rbx+0002D248]
  jmp return

align 10 cc
  i_min_combo:
  dd 64

INJECT_COMBO_CALC:
  jmp newmem
  nop
return:
registersymbol(INJECT_COMBO_CALC)

[DISABLE]

INJECT_COMBO_CALC:
  db FF 83 48 D2 02 00

unregistersymbol(INJECT_COMBO_CALC)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DivaMegaMix.exe+244A0C

DivaMegaMix.exe+2449D8: FF 83 58 D2 02 00              - inc [rbx+0002D258]
DivaMegaMix.exe+2449DE: 8B 83 58 D2 02 00              - mov eax,[rbx+0002D258]
DivaMegaMix.exe+2449E4: 83 F8 32                       - cmp eax,32
DivaMegaMix.exe+2449E7: 0F 8E 44 01 00 00              - jng DivaMegaMix.exe+244B31
DivaMegaMix.exe+2449ED: C7 83 58 D2 02 00 32 00 00 00  - mov [rbx+0002D258],00000032
DivaMegaMix.exe+2449F7: B8 32 00 00 00                 - mov eax,00000032
DivaMegaMix.exe+2449FC: E9 30 01 00 00                 - jmp DivaMegaMix.exe+244B31
DivaMegaMix.exe+244A01: 32 C9                          - xor cl,cl
DivaMegaMix.exe+244A03: 45 84 ED                       - test r13l,r13l
DivaMegaMix.exe+244A06: 0F 84 D1 00 00 00              - je DivaMegaMix.exe+244ADD
// ---------- INJECTING HERE ----------
DivaMegaMix.exe+244A0C: FF 83 48 D2 02 00              - inc [rbx+0002D248]
// ---------- DONE INJECTING  ----------
DivaMegaMix.exe+244A12: 8B 8B 48 D2 02 00              - mov ecx,[rbx+0002D248]
DivaMegaMix.exe+244A18: 81 F9 0F 27 00 00              - cmp ecx,0000270F
DivaMegaMix.exe+244A1E: 7E 0F                          - jle DivaMegaMix.exe+244A2F
DivaMegaMix.exe+244A20: C7 83 48 D2 02 00 0F 27 00 00  - mov [rbx+0002D248],0000270F
DivaMegaMix.exe+244A2A: B9 0F 27 00 00                 - mov ecx,0000270F
DivaMegaMix.exe+244A2F: 3B 8B 5C D2 02 00              - cmp ecx,[rbx+0002D25C]
DivaMegaMix.exe+244A35: 7E 06                          - jle DivaMegaMix.exe+244A3D
DivaMegaMix.exe+244A37: 89 8B 5C D2 02 00              - mov [rbx+0002D25C],ecx
DivaMegaMix.exe+244A3D: B8 67 66 66 66                 - mov eax,66666667
DivaMegaMix.exe+244A42: 41 B8 05 00 00 00              - mov r8d,00000005
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>50</ID>
      <Description>"Adjust progress %"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : DivaMegaMix.exe
  Version: 
  Date   : 2022-05-29
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_ADJUST_PROGRESS,DivaMegaMix.exe,F3 0F 11 8A 04 D3 02 00) // should be unique
alloc(newmem,$1000,INJECT_ADJUST_PROGRESS)

label(code)
label(return)
label(i_base_progress_addr)
label(vf_02_tweak)

newmem:
  mov [i_base_progress_addr], rdx
  vmovss xmm15, [rdx+0002D30C]
  vmovss xmm14, [rdx+0002D308] //tar
  vsubss xmm13, xmm15, xmm14
  vmovss xmm12, [vf_0]
  vcomiss xmm13, xmm12
  jae next2
  vmovss xmm12, [vf_02_tweak]
  vcomiss xmm13, xmm12
  jae next2
  vaddss xmm1, xmm1, xmm12

next2:
  vcomiss xmm1, xmm15
  jae code
  vcomiss xmm1, xmm14
  jae code
  vmovss xmm1, [rdx+0002D30C]
  push rax
  cvtsi2ss xmm15, [rdx+0002D238]
  cvtsi2ss xmm14, [rdx+0002D2C8]
  vmovss xmm11, [vf_100]
  vdivss xmm11, xmm1, xmm11
  vmulss xmm13, xmm14, xmm11
  vcomiss xmm15, xmm13
  jae endp
  vmovss xmm12, [vf_10]
  vdivss xmm13, xmm13, xmm12
  cvtss2si eax, xmm13
  cvtsi2ss xmm13, eax
  vmulss xmm13, xmm13, xmm12
  cvtss2si eax, xmm13
  mov [rdx+0002D238], eax

endp:
  pop rax


code:
  movss [rdx+0002D304],xmm1
  jmp return

align 10 cc
  vf_02_tweak:
  dd (float)1
  vf_0:
  dd (float)0.01
  i_base_progress_addr:
  dq 0
  vf_10:
  dd (float)10
  vf_100:
  dd (float)100
  vf_08:
  dd (float)0.8

INJECT_ADJUST_PROGRESS:
  jmp newmem
  nop 3
return:
registersymbol(vf_02_tweak)
registersymbol(i_base_progress_addr)
registersymbol(INJECT_ADJUST_PROGRESS)

[DISABLE]

INJECT_ADJUST_PROGRESS:
  db F3 0F 11 8A 04 D3 02 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DivaMegaMix.exe+FB4ABEA

DivaMegaMix.exe+FB4ABB9: F3 0F 5E CA                       - divss xmm1,xmm2
DivaMegaMix.exe+FB4ABBD: E8 EE 2D 73 F0                    - call DivaMegaMix.exe+27D9B0
DivaMegaMix.exe+FB4ABC2: 66 41 0F 6E C1                    - movd xmm0,r9d
DivaMegaMix.exe+FB4ABC7: 0F 5B C0                          - cvtdq2ps xmm0,xmm0
DivaMegaMix.exe+FB4ABCA: 48 63 48 04                       - movsxd  rcx,dword ptr [rax+04]
DivaMegaMix.exe+FB4ABCE: 48 8D 05 2B 4A 14 F1              - lea rax,[DivaMegaMix.exe+C8F600]
DivaMegaMix.exe+FB4ABD5: F3 0F 59 04 88                    - mulss xmm0,[rax+rcx*4]
DivaMegaMix.exe+FB4ABDA: F3 0F 5E C2                       - divss xmm0,xmm2
DivaMegaMix.exe+FB4ABDE: F3 0F 5D 05 52 96 18 F1           - minss xmm0,[DivaMegaMix.exe+CD4238]
DivaMegaMix.exe+FB4ABE6: F3 0F 58 C8                       - addss xmm1,xmm0
// ---------- INJECTING HERE ----------
DivaMegaMix.exe+FB4ABEA: F3 0F 11 8A 04 D3 02 00           - movss [rdx+0002D304],xmm1
// ---------- DONE INJECTING  ----------
DivaMegaMix.exe+FB4ABF2: 48 83 C4 28                       - add rsp,28
DivaMegaMix.exe+FB4ABF6: C3                                - ret 
DivaMegaMix.exe+FB4ABF7: F3 0F 11 81 04 D3 02 00           - movss [rcx+0002D304],xmm0
DivaMegaMix.exe+FB4ABFF: 48 83 C4 28                       - add rsp,28
DivaMegaMix.exe+FB4AC03: C3                                - ret 
DivaMegaMix.exe+FB4AC04: CC                                - int 3 
DivaMegaMix.exe+FB4AC05: 66 66 2E 0F 1F 84 00 00 00 00 00  - nop word ptr cs:[rax+rax+00000000]
DivaMegaMix.exe+FB4AC10: 43 00 6F 00                       - add [r15+00],bpl
DivaMegaMix.exe+FB4AC14: 70 00                             - jo DivaMegaMix.exe+FB4AC16
DivaMegaMix.exe+FB4AC16: 69 00 61 00 20 00                 - imul eax,[rax],00200061
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>67</ID>
          <Description>"Base addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_progress_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>76</ID>
          <Description>"Tweak value (recommended: 0.03 - 0.1)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_02_tweak</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>51</ID>
          <Description>"Stats+"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>54</ID>
              <Description>"Combo"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D25C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>55</ID>
              <Description>"Cool1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D260</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>56</ID>
              <Description>"Fine1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D264</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>57</ID>
              <Description>"Safe1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D268</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>58</ID>
              <Description>"Sad1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D26C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>59</ID>
              <Description>"Worst1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D270</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>60</ID>
              <Description>"Cool2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D274</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>61</ID>
              <Description>"Fine2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D278</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>62</ID>
              <Description>"Safe2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D27C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>63</ID>
              <Description>"Sad2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D280</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>64</ID>
              <Description>"Worst2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D284</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>65</ID>
              <Description>"Target_score"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D288</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>66</ID>
              <Description>"Total_rhythms"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D28C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>41</ID>
              <Description>"Life"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D234</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>69</ID>
              <Description>"Score,Progress#1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D238</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>49</ID>
              <Description>"Score,Progress#2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D23C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>48</ID>
              <Description>"Progress: Divider"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D2C8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>42</ID>
              <Description>"Progress: Divider"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D2CC</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>20</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D240</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>21</ID>
              <Description>"Challenge score"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D244</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>74</ID>
              <Description>"Long press score"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D358</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>71</ID>
              <Description>"???"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D360</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>75</ID>
              <Description>"Slide score"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D35C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>22</ID>
              <Description>"Cur. Combo"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D25C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>23</ID>
              <Description>"Combo watermark"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D260</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>70</ID>
              <Description>"Overflow_score"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D29C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>53</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D2F0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>36</ID>
              <Description>"Total rhythms"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D2F8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>43</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D300</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>68</ID>
              <Description>"Current progress"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D304</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>44</ID>
              <Description>"Passed_target"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D308</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>45</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_progress_addr</Address>
              <Offsets>
                <Offset>2D30C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>46</ID>
              <Description>"DivaMegaMix.exe+FB4ABDE"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>DivaMegaMix.exe+CD4238</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>47</ID>
              <Description>""Divisor/100"*?? = DivaMegaMix.exe+FB4ABDE"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>DivaMegaMix.exe+CD4458</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>15</ID>
      <Description>"Live: get stats"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">{ Game   : DivaMegaMix.exe
  Version: 
  Date   : 2022-05-28
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_GET_DATA,DivaMegaMix.exe,41 89 82 34 D2 02 00 44) // should be unique
alloc(newmem,$1000,INJECT_GET_DATA)

label(code)
label(return)
label(i_base_data_addr)
label(i_min_life)

newmem:
  mov [i_base_data_addr], r10
  push rbx
  mov ebx, [i_min_life]
  cmp ebx, #255
  jle next1
  mov ebx, #255
next1:
  cmp eax, ebx
  cmovl eax, ebx
  pop rbx

code:
  mov [r10+0002D234],eax
  jmp return

align 10 cc
  i_base_data_addr:
  dq 0
  i_min_life:
  dd C8

INJECT_GET_DATA:
  jmp newmem
  nop 2
return:
registersymbol(i_min_life)
registersymbol(i_base_data_addr)
registersymbol(INJECT_GET_DATA)

[DISABLE]

INJECT_GET_DATA:
  db 41 89 82 34 D2 02 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: DivaMegaMix.exe+FAECA2E

DivaMegaMix.exe+FAECA02o: 75 0B                 - jne DivaMegaMix.exe+FAECA0F
DivaMegaMix.exe+FAECA04p: 45 38 8A 1D D3 02 00  - cmp [r10+0002D31D],r9l
DivaMegaMix.exe+FAECA0Be: 41 0F 45 D1           - cmovne edx,r9d
DivaMegaMix.exe+FAECA0Fn: 44 39 0D 26 E1 64 F1  - cmp [DivaMegaMix.exe+113AB3C],r9d
DivaMegaMix.exe+FAECA16c: 7E 06                 - jle DivaMegaMix.exe+FAECA1E
DivaMegaMix.exe+FAECA18h: 85 D2                 - test edx,edx
DivaMegaMix.exe+FAECA1Ae: 41 0F 48 D1           - cmovs edx,r9d
DivaMegaMix.exe+FAECA1Ea: 01 D0                 - add eax,edx
DivaMegaMix.exe+FAECA20t: 44 8B 05 37 80 81 0F  - mov r8d,[DivaMegaMix.exe+1F304A5E]
DivaMegaMix.exe+FAECA27t: 41 81 F0 B7 F7 D9 48  - xor r8d,48D9F7B7
// ---------- INJECTING HERE ----------
DivaMegaMix.exe+FAECA2Ea: 41 89 82 34 D2 02 00  - mov [r10+0002D234],eax
// ---------- DONE INJECTING  ----------
DivaMegaMix.exe+FAECA35b: 44 39 C0              - cmp eax,r8d
DivaMegaMix.exe+FAECA38l: 7E 09                 - jle DivaMegaMix.exe+FAECA43
DivaMegaMix.exe+FAECA3Ae: 45 89 82 34 D2 02 00  - mov [r10+0002D234],r8d
DivaMegaMix.exe+FAECA41s: EB 11                 - jmp DivaMegaMix.exe+FAECA54
DivaMegaMix.exe+FAECA43.: 41 89 C0              - mov r8d,eax
DivaMegaMix.exe+FAECA46o: 85 C0                 - test eax,eax
DivaMegaMix.exe+FAECA48r: 79 0A                 - jns DivaMegaMix.exe+FAECA54
DivaMegaMix.exe+FAECA4Ag: 45 89 8A 34 D2 02 00  - mov [r10+0002D234],r9d
DivaMegaMix.exe+FAECA51-: 45 89 C8              - mov r8d,r9d
DivaMegaMix.exe+FAECA54-: 45 89 82 70 D3 02 00  - mov [r10+0002D370],r8d
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>16</ID>
          <Description>"Base addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_data_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Min life"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_min_life</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Stats+"</Description>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>17</ID>
              <Description>"Life (Max 255)"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_data_addr</Address>
              <Offsets>
                <Offset>2D234</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>73</ID>
      <Description>"Hatsune Miku: Project DIVA Mega Mix+  /  https://opencheattables.com  /  CE 7.4+"</Description>
      <Options moHideChildren="1"/>
      <Color>400080</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>72</ID>
          <Description>"Type 1: Calculate score to "current" 100% perfect - enable "Adjust progress %" first"</Description>
          <Color>400080</Color>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
local i = getAddressList().getMemoryRecordByID(66).Value
getAddressList().getMemoryRecordByID(54).Value = i
getAddressList().getMemoryRecordByID(55).Value = i
getAddressList().getMemoryRecordByID(56).Value = '0'
getAddressList().getMemoryRecordByID(57).Value = '0'
getAddressList().getMemoryRecordByID(58).Value = '0'
getAddressList().getMemoryRecordByID(59).Value = '0'
getAddressList().getMemoryRecordByID(60).Value = i
getAddressList().getMemoryRecordByID(61).Value = '0'
getAddressList().getMemoryRecordByID(62).Value = '0'
getAddressList().getMemoryRecordByID(63).Value = '0'
getAddressList().getMemoryRecordByID(64).Value = '0'

local tscore = getAddressList().getMemoryRecordByID(65).Value
local toverflow = getAddressList().getMemoryRecordByID(70).Value
local fscore = tonumber(tscore) + tonumber(toverflow)
getAddressList().getMemoryRecordByID(69).Value = tostring(fscore)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>77</ID>
          <Description>"Type 2: Auto update (Plz change Tweak value to 0)"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
  fscore_prev = 0
  tweak_save = readFloat('vf_02_tweak')
  writeFloat('vf_02_tweak', 0)
--if (Timer1 == nil) then
  Timer1 = createTimer()
  Timer1.Interval = 500
  Timer1.OnTimer = function(timer)
    local i = getAddressList().getMemoryRecordByID(66).Value
    getAddressList().getMemoryRecordByID(54).Value = i
    getAddressList().getMemoryRecordByID(55).Value = i
    getAddressList().getMemoryRecordByID(56).Value = '0'
    getAddressList().getMemoryRecordByID(57).Value = '0'
    getAddressList().getMemoryRecordByID(58).Value = '0'
    getAddressList().getMemoryRecordByID(59).Value = '0'
    getAddressList().getMemoryRecordByID(60).Value = i
    getAddressList().getMemoryRecordByID(61).Value = '0'
    getAddressList().getMemoryRecordByID(62).Value = '0'
    getAddressList().getMemoryRecordByID(63).Value = '0'
    getAddressList().getMemoryRecordByID(64).Value = '0'

    local tscore = getAddressList().getMemoryRecordByID(65).Value
    local toverflow = getAddressList().getMemoryRecordByID(70).Value
    local fscore = tonumber(tscore) + tonumber(toverflow)

    if (fscore_prev ~= fscore) then
      getAddressList().getMemoryRecordByID(69).Value = tostring(fscore)
    end
  end

[DISABLE]
{$lua}
if syntaxcheck then return end
--Timer1.Enabled = false
Timer1.Destroy()
writeFloat('vf_02_tweak', tweak_save)

</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>78</ID>
          <Description>"Type 3: Auto update to 83%"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
  fscore_prev = 0
  tweak_save = readFloat('vf_02_tweak')
  writeFloat('vf_02_tweak', 0)
--if (Timer1 == nil) then
  Timer1 = createTimer()
  Timer1.Interval = 500
  Timer1.OnTimer = function(timer)
    local i = getAddressList().getMemoryRecordByID(66).Value
    getAddressList().getMemoryRecordByID(54).Value = i
    getAddressList().getMemoryRecordByID(55).Value = '0'
    getAddressList().getMemoryRecordByID(56).Value = '0'
    getAddressList().getMemoryRecordByID(57).Value = i
    getAddressList().getMemoryRecordByID(58).Value = '0'
    getAddressList().getMemoryRecordByID(59).Value = '0'
    getAddressList().getMemoryRecordByID(60).Value = '0'
    getAddressList().getMemoryRecordByID(61).Value = '0'
    getAddressList().getMemoryRecordByID(62).Value = i
    getAddressList().getMemoryRecordByID(63).Value = '0'
    getAddressList().getMemoryRecordByID(64).Value = '0'

    local tscore = getAddressList().getMemoryRecordByID(65).Value
    local toverflow = getAddressList().getMemoryRecordByID(70).Value
    local fscore = tonumber(tscore) + tonumber(toverflow)
    fscore = math.ceil(fscore * (0.83 + math.random()/100)/10)*10

    if (fscore_prev ~= fscore) then
      getAddressList().getMemoryRecordByID(69).Value = tostring(fscore)
    end
  end

[DISABLE]
{$lua}
if syntaxcheck then return end
--Timer1.Enabled = false
Timer1.Destroy()
writeFloat('vf_02_tweak', tweak_save)

</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>tapmult</Name>
      <Address>2088B700000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>cheatTimeOn</Name>
      <Address>1540F640000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>cheatFOV</Name>
      <Address>21C87870010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>cheaton</Name>
      <Address>21C87870020</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>rage</Name>
      <Address>1409552A7</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>weight</Name>
      <Address>4039F908</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>unlimited</Name>
      <Address>140DB8F24</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>player</Name>
      <Address>1400F59C1</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>player_stats</Name>
      <Address>1400F5AA3</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>keyboard</Name>
      <Address>13F709090</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>global_game</Name>
      <Address>14011D3A9</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>vtable</Name>
      <Address>13F1550F5</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>durability</Name>
      <Address>7FF74AA34F5C</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>freeze</Name>
      <Address>7FF74A7C8CB6</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>mouseover</Name>
      <Address>7FF74AC9F4AE</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>mouseover_ptr</Name>
      <Address>7FF74A2E001B</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>console</Name>
      <Address>7FF742253810</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>global_console_debug</Name>
      <Address>7FF742D0E18A</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>use_console</Name>
      <Address>7FF7426FB043</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemEditorMaking</Name>
      <Address>00710030</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemEditor</Name>
      <Address>021C0020</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemEditorContainer</Name>
      <Address>021C0010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>MakingEditorContainer</Name>
      <Address>00930000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>MakingEditorContainerV2</Name>
      <Address>021C0000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>FinalMakingEditor</Name>
      <Address>02290010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemSelContainer</Name>
      <Address>00910000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemSelMaking</Name>
      <Address>00980010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>itemBase</Name>
      <Address>62A50000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>LBScan</Name>
      <Address>277E0440010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>CharEdit</Name>
      <Address>1A33A830000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemEDT</Name>
      <Address>23A48040000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ItemCHN</Name>
      <Address>23A48040010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>BISC</Name>
      <Address>28B7EB30000</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
  <LuaScript>function onMemRecPostExecute(memoryrecord, newState, succeeded )
    if memoryrecord.Type == vtAutoAssembler and memoryrecord.Script:find("NO_ACTIVATE") and newState and succeeded then
        memoryrecord.disableWithoutExecute()
    end
end
</LuaScript>
</CheatTable>
