<?xml version="1.0" encoding="utf-8"?>
<CheatTable ApoctEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>17</ID>
      <Description>"Infinite Movement"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM
  Version: 
  Date   : 2024-08-21
  Author : Apocalypticx

  This script does infinite movement
}

[ENABLE]

aobscan(movement1,48 63 00 89 45 B8 48 63 85 58) // should be unique
alloc(newmem,$1000,movement1)

label(code)
label(return)
label(InfiniteMovement)

newmem:
pushfq
cmp [rsp+88],1            //compare against player to get our jump
je InfiniteMovement
popfq

code:
  movsxd rax,dword ptr [rax]
  mov [rbp-48],eax
  jmp return

InfiniteMovement:
popfq
mov [rax],(int)400        //move 400 into our movement address
movsxd rax,dword ptr [rax]
mov [rbp-48],eax
jmp return

movement1:
  jmp newmem
  nop
return:
registersymbol(movement1)

[DISABLE]

movement1:
  db 48 63 00 89 45 B8

unregistersymbol(movement1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1BA0233B7F5

1BA0233B7CB: E9 7E 00 00 00                 - jmp 1BA0233B84E
1BA0233B7D0: 4C 8B 7D 88                    - mov r15,[rbp-78]
1BA0233B7D4: 49 8B CF                       - mov rcx,r15
1BA0233B7D7: 41 83 3F 00                    - cmp dword ptr [r15],00
1BA0233B7DB: 66 66 90                       - nop 3
1BA0233B7DE: 49 BB 50 42 A0 3A B9 01 00 00  - mov r11,000001B93AA04250
1BA0233B7E8: 41 FF D3                       - call r11
1BA0233B7EB: 48 8B C8                       - mov rcx,rax
1BA0233B7EE: 83 39 00                       - cmp dword ptr [rcx],00
1BA0233B7F1: 48 83 C0 64                    - add rax,64
// ---------- INJECTING HERE ----------
1BA0233B7F5: 48 63 00                       - movsxd  rax,dword ptr [rax]
// ---------- DONE INJECTING  ----------
1BA0233B7F8: 89 45 B8                       - mov [rbp-48],eax
1BA0233B7FB: 48 63 85 58 FF FF FF           - movsxd  rax,dword ptr [rbp-000000A8]
1BA0233B802: 89 45 A0                       - mov [rbp-60],eax
1BA0233B805: 48 63 45 B8                    - movsxd  rax,dword ptr [rbp-48]
1BA0233B809: 89 45 A8                       - mov [rbp-58],eax
1BA0233B80C: 48 63 45 A0                    - movsxd  rax,dword ptr [rbp-60]
1BA0233B810: 48 63 4D A8                    - movsxd  rcx,dword ptr [rbp-58]
1BA0233B814: 3B C1                          - cmp eax,ecx
1BA0233B816: 40 0F 9F C0                    - setg al
1BA0233B81A: 48 0F B6 C0                    - movzx rax,al
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>19</ID>
      <Description>"Infinite Gold"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-23
  Author : Apocalypticx

  This script does infinite gold
}

[ENABLE]
aobscanregion(gold1,MOM.TurnManager:IncomeAndUpkeep,MOM.TurnManager:IncomeAndUpkeep+1f72, 89 86 30 01 00 00 83 BD 60 FD FF FF 00 75 ** 48 8B CE 83 3E 00)
//aobscan(gold1,89 86 30 01 00 00 83 BD 60 FD FF FF 00 75 ** 48 8B CE 83 3E 00) // should be unique
alloc(newmem,$1000,gold1)

label(code)
label(return)
label(InfiniteGold)

newmem:
pushfq
cmp [rsi+158],1      //player ID
je InfiniteGold
popfq

code:
  mov [rsi+00000130],eax
  jmp return

InfiniteGold:
popfq
mov eax,(int)1000000      //move 1million gold into our address
mov [rsi+00000130],eax
jmp return

gold1:
  jmp newmem
  nop
return:
registersymbol(gold1)

[DISABLE]

gold1:
  db 89 86 30 01 00 00

unregistersymbol(gold1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 20005E019E7

20005E019B5: 45 33 C0                       - xor r8d,r8d
20005E019B8: 83 3E 00                       - cmp dword ptr [rsi],00
20005E019BB: 66 66 90                       - nop 3
20005E019BE: 49 BB D0 0C DA 05 00 02 00 00  - mov r11,0000020005DA0CD0
20005E019C8: 41 FF D3                       - call r11
20005E019CB: 89 85 10 FE FF FF              - mov [rbp-000001F0],eax
20005E019D1: 83 BD 60 FD FF FF 00           - cmp dword ptr [rbp-000002A0],00
20005E019D8: 75 13                          - jne 20005E019ED
20005E019DA: 48 63 86 30 01 00 00           - movsxd  rax,dword ptr [rsi+00000130]
20005E019E1: 03 85 10 FE FF FF              - add eax,[rbp-000001F0]
// ---------- INJECTING HERE ----------
20005E019E7: 89 86 30 01 00 00              - mov [rsi+00000130],eax
// ---------- DONE INJECTING  ----------
20005E019ED: 83 BD 60 FD FF FF 00           - cmp dword ptr [rbp-000002A0],00
20005E019F4: 75 15                          - jne 20005E01A0B
20005E019F6: 48 8B CE                       - mov rcx,rsi
20005E019F9: 83 3E 00                       - cmp dword ptr [rsi],00
20005E019FC: 66 90                          - nop 2
20005E019FE: 49 BB 80 38 E0 05 00 02 00 00  - mov r11,0000020005E03880
20005E01A08: 41 FF D3                       - call r11
20005E01A0B: 83 BD 60 FD FF FF 00           - cmp dword ptr [rbp-000002A0],00
20005E01A12: 0F 84 01 03 00 00              - je 20005E01D19
20005E01A18: 48 B9 90 74 6E A0 00 02 00 00  - mov rcx,00000200A06E7490
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>23</ID>
      <Description>"Infinite Mana"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-23
  Author : Apocalypticx

  This script does infinite mana
}

[ENABLE]
aobscanregion(mana1,MOM.TurnManager:IncomeAndUpkeep,MOM.TurnManager:IncomeAndUpkeep+1f72, 89 86 2C 01 00 00 EB ** 48 8B 8D F0 FD FF FF 48 63 95 E8 FD FF FF 48 8B 85 F0 FD FF FF) // should be unique
//aobscan(mana1,89 86 2C 01 00 00 EB ** 48 8B 8D F0 FD FF FF 48 63 95 E8 FD FF FF 48 8B 85 F0 FD FF FF) // should be unique
alloc(newmem,$1000,mana1)

label(code)
label(return)
label(InfiniteMana)

newmem:
pushfq
cmp [rsi+158],1         //player ID
je InfiniteMana
popfq

code:
  mov [rsi+0000012C],eax
  jmp return

InfiniteMana:
popfq
mov eax,(int)1000000      //move 1million mana into our address
mov [rsi+0000012C],eax
jmp return

mana1:
  jmp newmem
  nop
return:
registersymbol(mana1)

[DISABLE]

mana1:
  db 89 86 2C 01 00 00

unregistersymbol(mana1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 1C2D5A914A7

1C2D5A9146C: 3B 85 E0 FD FF FF              - cmp eax,[rbp-00000220]
1C2D5A91472: 0F 8C 37 00 00 00              - jl 1C2D5A914AF
1C2D5A91478: 48 63 86 2C 01 00 00           - movsxd  rax,dword ptr [rsi+0000012C]
1C2D5A9147F: 3B 85 D8 FD FF FF              - cmp eax,[rbp-00000228]
1C2D5A91485: 7C 28                          - jl 1C2D5A914AF
1C2D5A91487: 48 63 86 30 01 00 00           - movsxd  rax,dword ptr [rsi+00000130]
1C2D5A9148E: 2B 85 E0 FD FF FF              - sub eax,[rbp-00000220]
1C2D5A91494: 89 86 30 01 00 00              - mov [rsi+00000130],eax
1C2D5A9149A: 48 63 86 2C 01 00 00           - movsxd  rax,dword ptr [rsi+0000012C]
1C2D5A914A1: 2B 85 D8 FD FF FF              - sub eax,[rbp-00000228]
// ---------- INJECTING HERE ----------
1C2D5A914A7: 89 86 2C 01 00 00              - mov [rsi+0000012C],eax
// ---------- DONE INJECTING  ----------
1C2D5A914AD: EB 2C                          - jmp 1C2D5A914DB
1C2D5A914AF: 48 8B 8D F0 FD FF FF           - mov rcx,[rbp-00000210]
1C2D5A914B6: 48 63 95 E8 FD FF FF           - movsxd  rdx,dword ptr [rbp-00000218]
1C2D5A914BD: 48 8B 85 F0 FD FF FF           - mov rax,[rbp-00000210]
1C2D5A914C4: 83 38 00                       - cmp dword ptr [rax],00
1C2D5A914C7: 48 8D AD 00 00 00 00           - lea rbp,[rbp+00000000]
1C2D5A914CE: 49 BB 3A 2D A9 D5 C2 01 00 00  - mov r11,000001C2D5A92D3A
1C2D5A914D8: 41 FF D3                       - call r11
1C2D5A914DB: 83 AD E8 FD FF FF 01           - sub dword ptr [rbp-00000218],01
1C2D5A914E2: 83 BD E8 FD FF FF 00           - cmp dword ptr [rbp-00000218],00
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>365</ID>
      <Description>"2 Turn Buildings"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-26
  Author : Apocalypticx

  This script does 2 turn buildings
}

[ENABLE]
aobscanregion(building1,MOM.CraftingQueue:AdvanceQueue,MOM.CraftingQueue:AdvanceQueue+1dd2, 89 48 20 E9 B9 19 00 00) // should be unique
//aobscan(building1,89 48 20 E9 B9 19 00 00) // should be unique
alloc(newmem,$1000,building1)

label(code)
label(return)
label(1TurnBuilding)

newmem:
pushfq
cmp [rsi+A4],1        //player ID
je 1TurnBuilding
popfq

code:
  mov [rax+20],ecx
  jmp MOM.CraftingQueue:AdvanceQueue+1d31
  jmp return

1TurnBuilding:
popfq
mov [rax+20],ecx
mov [rax+20],(int)1000000        //move 1million into our address
jmp MOM.CraftingQueue:AdvanceQueue+1d31
jmp return

building1:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(building1)

[DISABLE]

building1:
  db 89 48 20 E9 B9 19 00 00

unregistersymbol(building1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: MOM.CraftingQueue:AdvanceQueue+370

MOM.CraftingQueue:AdvanceQueue+347: 33 D2                          - xor edx,edx
MOM.CraftingQueue:AdvanceQueue+349: 33 C9                          - xor ecx,ecx
MOM.CraftingQueue:AdvanceQueue+34b: 3B D0                          - cmp edx,eax
MOM.CraftingQueue:AdvanceQueue+34d: 48 0F 4F C1                    - cmovg rax,rcx
MOM.CraftingQueue:AdvanceQueue+351: 89 85 80 FE FF FF              - mov [rbp-00000180],eax
MOM.CraftingQueue:AdvanceQueue+357: 3B 85 A8 FE FF FF              - cmp eax,[rbp-00000158]
MOM.CraftingQueue:AdvanceQueue+35d: 7E 19                          - jle MOM.CraftingQueue:AdvanceQueue+378
MOM.CraftingQueue:AdvanceQueue+35f: 48 8B 85 98 FE FF FF           - mov rax,[rbp-00000168]
MOM.CraftingQueue:AdvanceQueue+366: 48 63 48 20                    - movsxd  rcx,dword ptr [rax+20]
MOM.CraftingQueue:AdvanceQueue+36a: 03 8D A8 FE FF FF              - add ecx,[rbp-00000158]
// ---------- INJECTING HERE ----------
MOM.CraftingQueue:AdvanceQueue+370: 89 48 20                       - mov [rax+20],ecx
// ---------- DONE INJECTING  ----------
MOM.CraftingQueue:AdvanceQueue+373: E9 B9 19 00 00                 - jmp MOM.CraftingQueue:AdvanceQueue+1d31
MOM.CraftingQueue:AdvanceQueue+378: 48 63 85 80 FE FF FF           - movsxd  rax,dword ptr [rbp-00000180]
MOM.CraftingQueue:AdvanceQueue+37f: 29 85 A8 FE FF FF              - sub [rbp-00000158],eax
MOM.CraftingQueue:AdvanceQueue+385: 48 8B 85 98 FE FF FF           - mov rax,[rbp-00000168]
MOM.CraftingQueue:AdvanceQueue+38c: 48 63 8D 90 FE FF FF           - movsxd  rcx,dword ptr [rbp-00000170]
MOM.CraftingQueue:AdvanceQueue+393: 89 48 20                       - mov [rax+20],ecx
MOM.CraftingQueue:AdvanceQueue+396: 48 8B 48 10                    - mov rcx,[rax+10]
MOM.CraftingQueue:AdvanceQueue+39a: 49 BA 10 B4 EE BF BD 01 00 00  - mov r10,000001BDBFEEB410
MOM.CraftingQueue:AdvanceQueue+3a4: 33 D2                          - xor edx,edx
MOM.CraftingQueue:AdvanceQueue+3a6: 49 BB 10 9B DA 9F BD 01 00 00  - mov r11,MOM.DBReference`1[T_REF]:op_Inequality
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>25</ID>
      <Description>"1 Turn Research"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-25
  Author : Apocalypticx

  This script does 1 turn research
}

[ENABLE]
aobscanregion(research1,MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext,MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+37a, 41 89 45 64 49 63 45 64) // should be unique
//aobscan(research1,41 89 45 64 49 63 45 64) // should be unique
alloc(newmem,$1000,research1)

label(code)
label(return)
label(1TurnRC)

newmem:
pushfq
push rbx
push rcx
mov rbx,[r13+10]
lea rcx,[rbx+128]
cmp [rcx],1              //player ID
je 1TurnRC
pop rcx
pop rbx
popfq

code:
  mov [r13+64],eax
  movsxd  rax,dword ptr [r13+64]
  jmp return

1TurnRC:
pop rcx
pop rbx
popfq
mov eax,(int)1000000         //move 1million into our address
mov [r13+64],eax
movsxd  rax,dword ptr [r13+64]
jmp return

research1:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(research1)

[DISABLE]

research1:
  db 41 89 45 64 49 63 45 64

unregistersymbol(research1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+9c

MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+73: 49 8B 45 10                    - mov rax,[r13+10]
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+77: 48 8B C8                       - mov rcx,rax
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+7a: 33 D2                          - xor edx,edx
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+7c: 83 38 00                       - cmp dword ptr [rax],00
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+7f: 48 8D AD 00 00 00 00           - lea rbp,[rbp+00000000]
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+86: 49 BB 80 80 49 93 BB 02 00 00  - mov r11,MOM.PlayerWizard:CalculateResearchIncome
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+90: 41 FF D3                       - call r11
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+93: 48 8B C8                       - mov rcx,rax
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+96: 48 8B 45 C8                    - mov rax,[rbp-38]
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+9a: 03 C1                          - add eax,ecx
// ---------- INJECTING HERE ----------
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+9c: 41 89 45 64                    - mov [r13+64],eax
// ---------- DONE INJECTING  ----------
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+a0: 49 63 45 64                    - movsxd  rax,dword ptr [r13+64]
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+a4: 48 89 45 D0                    - mov [rbp-30],rax
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+a8: 49 8B 45 30                    - mov rax,[r13+30]
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+ac: 48 8B C8                       - mov rcx,rax
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+af: 83 38 00                       - cmp dword ptr [rax],00
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+b2: 48 8D 6D 00                    - lea rbp,[rbp+00]
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+b6: 49 BB A0 AE 4E 3C BC 02 00 00  - mov r11,MOM.DBReference`1[T_REF]:Get
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+c0: 41 FF D3                       - call r11
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+c3: 48 8B C8                       - mov rcx,rax
MOM.MagicAndResearch+&lt;ProgressResearchSpell&gt;d__54:MoveNext+c6: 49 8B 55 10                    - mov rdx,[r13+10]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>363</ID>
      <Description>"1 Turn Casting"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-26
  Author : Apocalypticx

  This script does 1 turn casting
}

[ENABLE]
aobscanregion(casting1,MOM.MagicAndResearch:ProgressCast,MOM.MagicAndResearch:ProgressCast+13f, 48 63 56 60 48 63 4D E0) // should be unique
//aobscan(casting1,48 63 56 60 48 63 4D E0) // should be unique
alloc(newmem,$1000,casting1)

label(code)
label(return)
label(1TurnCasting)

newmem:
pushfq
push rax
push rbx
mov rax,[rsi+10]
lea rbx,[rax+128]
cmp [rbx],1          //player ID
je 1TurnCasting
pop rbx
pop rax
popfq

code:
  movsxd  rdx,dword ptr [rsi+60]
  movsxd  rcx,dword ptr [rbp-20]
  jmp return

1TurnCasting:
pop rbx
pop rax
popfq
mov [rsi+60],(int)1000000       //move 1million into our address
movsxd  rdx,dword ptr [rsi+60]
movsxd  rcx,dword ptr [rbp-20]
jmp return

casting1:
  jmp newmem
  nop
  nop
  nop
return:
registersymbol(casting1)

[DISABLE]

casting1:
  db 48 63 56 60 48 63 4D E0

unregistersymbol(casting1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: MOM.MagicAndResearch:ProgressCast+d8

MOM.MagicAndResearch:ProgressCast+b0: 41 FF D3                       - call r11
MOM.MagicAndResearch:ProgressCast+b3: 48 8B C8                       - mov rcx,rax
MOM.MagicAndResearch:ProgressCast+b6: 48 8B 56 10                    - mov rdx,[rsi+10]
MOM.MagicAndResearch:ProgressCast+ba: 41 B8 01 00 00 00              - mov r8d,00000001
MOM.MagicAndResearch:ProgressCast+c0: 48 8D 64 24 00                 - lea rsp,[rsp+00]
MOM.MagicAndResearch:ProgressCast+c5: 90                             - nop 
MOM.MagicAndResearch:ProgressCast+c6: 49 BB 20 73 5F 07 BF 01 00 00  - mov r11,DBDef.SpellExtension:GetWorldCastingCost
MOM.MagicAndResearch:ProgressCast+d0: 41 FF D3                       - call r11
MOM.MagicAndResearch:ProgressCast+d3: 89 45 E0                       - mov [rbp-20],eax
MOM.MagicAndResearch:ProgressCast+d6: 33 C0                          - xor eax,eax
// ---------- INJECTING HERE ----------
MOM.MagicAndResearch:ProgressCast+d8: 48 63 56 60                    - movsxd  rdx,dword ptr [rsi+60]
// ---------- DONE INJECTING  ----------
MOM.MagicAndResearch:ProgressCast+dc: 48 63 4D E0                    - movsxd  rcx,dword ptr [rbp-20]
MOM.MagicAndResearch:ProgressCast+e0: 2B CA                          - sub ecx,edx
MOM.MagicAndResearch:ProgressCast+e2: 4C 8B F0                       - mov r14,rax
MOM.MagicAndResearch:ProgressCast+e5: 44 3B F1                       - cmp r14d,ecx
MOM.MagicAndResearch:ProgressCast+e8: 44 0F 4C F1                    - cmovl r14d,ecx
MOM.MagicAndResearch:ProgressCast+ec: 41 3B FE                       - cmp edi,r14d
MOM.MagicAndResearch:ProgressCast+ef: 49 8B CE                       - mov rcx,r14
MOM.MagicAndResearch:ProgressCast+f2: 48 0F 4C CF                    - cmovl rcx,rdi
MOM.MagicAndResearch:ProgressCast+f6: 48 8B F9                       - mov rdi,rcx
MOM.MagicAndResearch:ProgressCast+f9: 48 8B 46 10                    - mov rax,[rsi+10]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>361</ID>
      <Description>"Maphack"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-25
  Author : Apocalypticx

  This script does full maphack
}

[ENABLE]
aobscanregion(fow1,MOM.FOW:UpdateFogDataToPlane,MOM.FOW:UpdateFogDataToPlane+bd8, C7 85 38 FE FF FF 01 00 00 00) // should be unique
//aobscan(fow1,C7 85 38 FE FF FF 01 00 00 00) // should be unique
alloc(newmem,$1000,fow1)

label(code)
label(return)

newmem:

code:
  mov [rbp-000001C8],00000000       //move 0 into maphack address
  jmp return

fow1:
  jmp newmem
  nop
  nop
  nop
  nop
  nop
return:
registersymbol(fow1)

[DISABLE]

fow1:
  db C7 85 38 FE FF FF 01 00 00 00

unregistersymbol(fow1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: MOM.FOW:UpdateFogDataToPlane+fc

MOM.FOW:UpdateFogDataToPlane+a8: 66 C7 85 AC FE FF FF 00 00     - mov word ptr [rbp-00000154],0000
MOM.FOW:UpdateFogDataToPlane+b1: 66 C7 85 B0 FE FF FF 00 00     - mov word ptr [rbp-00000150],0000
MOM.FOW:UpdateFogDataToPlane+ba: 66 C7 85 B2 FE FF FF 00 00     - mov word ptr [rbp-0000014E],0000
MOM.FOW:UpdateFogDataToPlane+c3: 66 C7 85 B4 FE FF FF 00 00     - mov word ptr [rbp-0000014C],0000
MOM.FOW:UpdateFogDataToPlane+cc: 48 89 85 B8 FE FF FF           - mov [rbp-00000148],rax
MOM.FOW:UpdateFogDataToPlane+d3: 48 89 85 C0 FE FF FF           - mov [rbp-00000140],rax
MOM.FOW:UpdateFogDataToPlane+da: 48 89 85 C8 FE FF FF           - mov [rbp-00000138],rax
MOM.FOW:UpdateFogDataToPlane+e1: 66 C7 85 D0 FE FF FF 00 00     - mov word ptr [rbp-00000130],0000
MOM.FOW:UpdateFogDataToPlane+ea: 66 C7 85 D2 FE FF FF 00 00     - mov word ptr [rbp-0000012E],0000
MOM.FOW:UpdateFogDataToPlane+f3: 66 C7 85 D4 FE FF FF 00 00     - mov word ptr [rbp-0000012C],0000
// ---------- INJECTING HERE ----------
MOM.FOW:UpdateFogDataToPlane+fc: C7 85 38 FE FF FF 01 00 00 00  - mov [rbp-000001C8],00000001
// ---------- DONE INJECTING  ----------
MOM.FOW:UpdateFogDataToPlane+106: 49 8B 45 28                    - mov rax,[r13+28]
MOM.FOW:UpdateFogDataToPlane+10a: 48 8B C8                       - mov rcx,rax
MOM.FOW:UpdateFogDataToPlane+10d: 48 8B 00                       - mov rax,[rax]
MOM.FOW:UpdateFogDataToPlane+110: FF 90 98 00 00 00              - call qword ptr [rax+00000098]
MOM.FOW:UpdateFogDataToPlane+116: 48 8B F8                       - mov rdi,rax
MOM.FOW:UpdateFogDataToPlane+119: 49 8B 45 28                    - mov rax,[r13+28]
MOM.FOW:UpdateFogDataToPlane+11d: 48 8B C8                       - mov rcx,rax
MOM.FOW:UpdateFogDataToPlane+120: 48 8B 00                       - mov rax,[rax]
MOM.FOW:UpdateFogDataToPlane+123: FF 90 88 00 00 00              - call qword ptr [rax+00000088]
MOM.FOW:UpdateFogDataToPlane+129: 4C 8B F8                       - mov r15,rax
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>369</ID>
      <Description>"Max SpellBooks"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : MoM.exe
  Version: 
  Date   : 2024-08-29
  Author : Apocalypticx

  This script does max spell books
}

[ENABLE]
aobscanregion(books1,MOM.SelectWizard:CalcPicksRemainingInt+2,MOM.SelectWizard:CalcPicksRemainingInt+3b3, 89 86 80 03 00 00 48 8B 86) // should be unique
//aobscan(books1,89 86 80 03 00 00 48 8B 86) // should be unique
alloc(newmem,$1000,books1)

label(code)
label(return)
label(SpellBooks)

newmem:
push rax
mov rax,[SpellBooks]


code:
  mov [rsi+00000380],eax
  pop rax
  jmp return

SpellBooks:
dd 0

books1:
  jmp newmem
  nop
return:
registersymbol(books1)

[DISABLE]

books1:
  db 89 86 80 03 00 00

unregistersymbol(books1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: MOM.SelectWizard:CalcPicksRemainingInt+1f3

MOM.SelectWizard:CalcPicksRemainingInt+1c4: 48 63 86 80 03 00 00           - movsxd  rax,dword ptr [rsi+00000380]
MOM.SelectWizard:CalcPicksRemainingInt+1cb: 48 89 85 20 FF FF FF           - mov [rbp-000000E0],rax
MOM.SelectWizard:CalcPicksRemainingInt+1d2: 48 8B 45 A0                    - mov rax,[rbp-60]
MOM.SelectWizard:CalcPicksRemainingInt+1d6: 48 8B C8                       - mov rcx,rax
MOM.SelectWizard:CalcPicksRemainingInt+1d9: 48 8B 00                       - mov rax,[rax]
MOM.SelectWizard:CalcPicksRemainingInt+1dc: FF 90 00 02 00 00              - call qword ptr [rax+00000200]
MOM.SelectWizard:CalcPicksRemainingInt+1e2: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
MOM.SelectWizard:CalcPicksRemainingInt+1e6: 48 8B 85 20 FF FF FF           - mov rax,[rbp-000000E0]
MOM.SelectWizard:CalcPicksRemainingInt+1ed: F2 0F 2C C8                    - cvttsd2si ecx,xmm0
MOM.SelectWizard:CalcPicksRemainingInt+1f1: 2B C1                          - sub eax,ecx
// ---------- INJECTING HERE ----------
MOM.SelectWizard:CalcPicksRemainingInt+1f3: 89 86 80 03 00 00              - mov [rsi+00000380],eax
// ---------- DONE INJECTING  ----------
MOM.SelectWizard:CalcPicksRemainingInt+1f9: 48 8B 86 48 02 00 00           - mov rax,[rsi+00000248]
MOM.SelectWizard:CalcPicksRemainingInt+200: 48 8B 78 18                    - mov rdi,[rax+18]
MOM.SelectWizard:CalcPicksRemainingInt+204: 48 63 45 98                    - movsxd  rax,dword ptr [rbp-68]
MOM.SelectWizard:CalcPicksRemainingInt+208: 48 89 85 28 FF FF FF           - mov [rbp-000000D8],rax
MOM.SelectWizard:CalcPicksRemainingInt+20f: 48 B9 18 8B 7D FC B0 01 00 00  - mov rcx,000001B0FC7D8B18
MOM.SelectWizard:CalcPicksRemainingInt+219: 48 8D 64 24 00                 - lea rsp,[rsp+00]
MOM.SelectWizard:CalcPicksRemainingInt+21e: 49 BB 80 10 74 E5 AE 01 00 00  - mov r11,System.Object:__icall_wrapper_ves_icall_object_new_specific
MOM.SelectWizard:CalcPicksRemainingInt+228: 41 FF D3                       - call r11
MOM.SelectWizard:CalcPicksRemainingInt+22b: 48 8B C8                       - mov rcx,rax
MOM.SelectWizard:CalcPicksRemainingInt+22e: 48 8B 85 28 FF FF FF           - mov rax,[rbp-000000D8]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>370</ID>
      <Description>"Donate Paypal"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
if memrec then print(memrec.Description) end

shellExecute('https://paypal.me/apocalypticx?country.x=GB&amp;locale.x=en_GB')

getLuaEngine().MenuItem1.DoClick()
getLuaEngine().Close()

[DISABLE]

</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>DMMenu</Name>
      <Address>00494CF1</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>CurrentProduction</Name>
      <Address>064C0016</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>teleport</Name>
      <Address>00A9ADB6</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>1hit</Name>
      <Address>00581529</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>breath</Name>
      <Address>00AB29A0</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>addgold</Name>
      <Address>00BBED13</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>ammo</Name>
      <Address>00C06C73</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>noreload</Name>
      <Address>00C06CE2</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>possession</Name>
      <Address>00BE4C0B</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>mana</Name>
      <Address>00AA2DE0</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>godmode</Name>
      <Address>00AAD86E</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>notimer</Name>
      <Address>00BE5E0E</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>stoptime</Name>
      <Address>009FB201</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>SPEED_MULTIPLIER</Name>
      <Address>14800000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>I_MovementSpeed</Name>
      <Address>00B4A992</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>CPUBas</Name>
      <Address>13FFB0010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>PHealth</Name>
      <Address>13EA60010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>penhel</Name>
      <Address>13EA60000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>flashlight</Name>
      <Address>F5D932F32C</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>cave_light</Name>
      <Address>7FF7BB950010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>end1</Name>
      <Address>F592A40030</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pTimer</Name>
      <Address>7FF6C26C0000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pSpeed</Name>
      <Address>7FF788F80000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pPoints</Name>
      <Address>7FF788FD0030</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pPoints2</Name>
      <Address>7FF788FD0020</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pPoints3</Name>
      <Address>7FF788FD0010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pPoints4</Name>
      <Address>7FF788FD0000</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>pPointsPlayer</Name>
      <Address>7FF788FD0010</Address>
    </SymbolEntry>
    <SymbolEntry>
      <Name>newmem</Name>
      <Address>1B37EA40000</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
  <DisassemblerComments>
    <DisassemblerComment>
      <Address>"motogp24-Win64-Shipping.exe"+248A33E</Address>
      <Comment>Temp Tyre 
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"motogp24-Win64-Shipping.exe"+248A384</Address>
      <Comment>Temp Tyre b
</Comment>
    </DisassemblerComment>
    <DisassemblerComment>
      <Address>"motogp24-Win64-Shipping.exe"+248A3C7</Address>
      <Comment>Temp Tyre c
</Comment>
    </DisassemblerComment>
  </DisassemblerComments>
</CheatTable>
