<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>2716</ID>
      <Description>"╔══════════════════════════════╗"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2715</ID>
      <Description>"║   Heroes of Might &amp; Magic V (STEAM)  ║"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2772</ID>
      <Description>"║                  Hammers of Fate                     ║"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2714</ID>
      <Description>"╠══════════════════════════════╣"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2771</ID>
      <Description>"║        === COMPACT VIEW ===               ║"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
// Script Creaded By mgr.inz.Player On CE Forums
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>2719</ID>
      <Description>"╠══════════════════════════════╣"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2727</ID>
      <Description>"║        === HEALTH ===                             ║"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================

  This script make Max. + Unlimited Health
}

[ENABLE]

aobscanmodule(ply_health,testapp.exe,8B 81 10 01 00 00 C2) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ecx+00000110],#999999 //Current Health
mov [ecx+00000114],#999999 //Max. Health
code:
  mov eax,[ecx+00000110]
  jmp return

ply_health:
  jmp newmem
  nop
return:
registersymbol(ply_health)

[DISABLE]

ply_health:
  db 8B 81 10 01 00 00

unregistersymbol(ply_health)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: H5_Game.exe+8F28C0

H5_Game.exe+8F28A5: 5E                    - pop esi
H5_Game.exe+8F28A6: 32 C0                 - xor al,al
H5_Game.exe+8F28A8: 5B                    - pop ebx
H5_Game.exe+8F28A9: 83 C4 2C              - add esp,2C
H5_Game.exe+8F28AC: C2 08 00              - ret 0008
H5_Game.exe+8F28AF: CC                    - int 3 
H5_Game.exe+8F28B0: 8B 44 24 04           - mov eax,[esp+04]
H5_Game.exe+8F28B4: 83 F8 04              - cmp eax,04
H5_Game.exe+8F28B7: 77 19                 - ja H5_Game.exe+8F28D2
H5_Game.exe+8F28B9: FF 24 85 DC 28 43 01  - jmp dword ptr [eax*4+H5_Game.exe+8F28DC]
// ---------- INJECTING HERE ----------
H5_Game.exe+8F28C0: 8B 81 10 01 00 00     - mov eax,[ecx+00000110]
// ---------- DONE INJECTING  ----------
H5_Game.exe+8F28C6: C2 04 00              - ret 0004
H5_Game.exe+8F28C9: 8B 81 14 01 00 00     - mov eax,[ecx+00000114]
H5_Game.exe+8F28CF: C2 04 00              - ret 0004
H5_Game.exe+8F28D2: 8B 81 0C 01 00 00     - mov eax,[ecx+0000010C]
H5_Game.exe+8F28D8: C2 04 00              - ret 0004
H5_Game.exe+8F28DB: 90                    - nop 
H5_Game.exe+8F28DC: D2 28                 - shr byte ptr [eax],cl
H5_Game.exe+8F28DE: 43                    - inc ebx
H5_Game.exe+8F28DF: 01 C0                 - add eax,eax
H5_Game.exe+8F28E1: 28 43 01              - sub [ebx+01],al
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2728</ID>
      <Description>"║        === STAMINA ===                           ║"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
  This script make Max. + Unlimited Stamina
}

[ENABLE]

aobscanmodule(ply_stamina,testapp.exe,8B B5 08 01 00 00 2B) // should be unique
alloc(newmem,$1000)


label(code)
label(return)

newmem:
mov [ebp+00000108],#999999 //Current Stamina (Movement)
mov [ebp+0000010C],#999999 //Max. Stamina (Movement)
code:
  mov esi,[ebp+00000108]
  jmp return

ply_stamina:
  jmp newmem
  nop
return:
registersymbol(ply_stamina)

[DISABLE]

ply_stamina:
  db 8B B5 08 01 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: H5_Game.exe+8F2AE9

H5_Game.exe+8F2AC5: 8B F1              - mov esi,ecx
H5_Game.exe+8F2AC7: 83 E2 0F           - and edx,0F
H5_Game.exe+8F2ACA: C1 EE 0A           - shr esi,0A
H5_Game.exe+8F2ACD: 8B 40 20           - mov eax,[eax+20]
H5_Game.exe+8F2AD0: 81 E6 FF 03 00 00  - and esi,000003FF
H5_Game.exe+8F2AD6: 6B D2 58           - imul edx,edx,58
H5_Game.exe+8F2AD9: 81 E1 FF 03 00 00  - and ecx,000003FF
H5_Game.exe+8F2ADF: 8D 0C C9           - lea ecx,[ecx+ecx*8]
H5_Game.exe+8F2AE2: 8B 44 02 04        - mov eax,[edx+eax+04]
H5_Game.exe+8F2AE6: 8B 04 B0           - mov eax,[eax+esi*4]
// ---------- INJECTING HERE ----------
H5_Game.exe+8F2AE9: 8B B5 08 01 00 00  - mov esi,[ebp+00000108]
// ---------- DONE INJECTING  ----------
H5_Game.exe+8F2AEF: 2B 74 24 3C        - sub esi,[esp+3C]
H5_Game.exe+8F2AF3: 8D 3C 88           - lea edi,[eax+ecx*4]
H5_Game.exe+8F2AF6: 8B 45 00           - mov eax,[ebp+00]
H5_Game.exe+8F2AF9: 8B CD              - mov ecx,ebp
H5_Game.exe+8F2AFB: FF 90 44 02 00 00  - call dword ptr [eax+00000244]
H5_Game.exe+8F2B01: 50                 - push eax
H5_Game.exe+8F2B02: 8D 4C 24 14        - lea ecx,[esp+14]
H5_Game.exe+8F2B06: E8 95 6C 10 00     - call H5_Game.exe+9F97A0
H5_Game.exe+8F2B0B: 8B 45 00           - mov eax,[ebp+00]
H5_Game.exe+8F2B0E: 8D 4C 24 10        - lea ecx,[esp+10]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2729</ID>
      <Description>"║        === MANA ===                                ║"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================
  This script make Max. + Unlimited Mana
}

[ENABLE]

aobscanmodule(ply_mana,$process,8B 81 18 01 00 00 C3) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ecx+00000118],#999999 //Current Mana
mov [ecx+0000011C],#999999 //Max. Mana
code:
  mov eax,[ecx+00000118]
  jmp return

ply_mana:
  jmp newmem
  nop
return:
registersymbol(ply_mana)

[DISABLE]

ply_mana:
  db 8B 81 18 01 00 00

unregistersymbol(ply_mana)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: H5_Game.exe+8F8860

H5_Game.exe+8F8856: C3                 - ret 
H5_Game.exe+8F8857: CC                 - int 3 
H5_Game.exe+8F8858: CC                 - int 3 
H5_Game.exe+8F8859: CC                 - int 3 
H5_Game.exe+8F885A: CC                 - int 3 
H5_Game.exe+8F885B: CC                 - int 3 
H5_Game.exe+8F885C: CC                 - int 3 
H5_Game.exe+8F885D: CC                 - int 3 
H5_Game.exe+8F885E: CC                 - int 3 
H5_Game.exe+8F885F: CC                 - int 3 
// ---------- INJECTING HERE ----------
H5_Game.exe+8F8860: 8B 81 18 01 00 00  - mov eax,[ecx+00000118]
// ---------- DONE INJECTING  ----------
H5_Game.exe+8F8866: C3                 - ret 
H5_Game.exe+8F8867: CC                 - int 3 
H5_Game.exe+8F8868: CC                 - int 3 
H5_Game.exe+8F8869: CC                 - int 3 
H5_Game.exe+8F886A: CC                 - int 3 
H5_Game.exe+8F886B: CC                 - int 3 
H5_Game.exe+8F886C: CC                 - int 3 
H5_Game.exe+8F886D: CC                 - int 3 
H5_Game.exe+8F886E: CC                 - int 3 
H5_Game.exe+8F886F: CC                 - int 3 
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2730</ID>
      <Description>"║        === MAX. RESOURCES ===             ║"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================

  This script make Max. Resources
}

[ENABLE]

aobscanmodule(ply_resousmax,$process,8B 01 3B 04 0E 75 0F 42 83 C1 04 83 FA 07 7C F0 32) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ecx],#999999999
code:
  mov eax,[ecx]
  cmp eax,[esi+ecx]
  jmp return

ply_resousmax:
  jmp newmem
return:
registersymbol(ply_resousmax)

[DISABLE]

ply_resousmax:
  db 8B 01 3B 04 0E

unregistersymbol(ply_resousmax)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: H5_Game.exe+7985B0

H5_Game.exe+798599: C2 04 00              - ret 0004
H5_Game.exe+79859C: CC                    - int 3 
H5_Game.exe+79859D: CC                    - int 3 
H5_Game.exe+79859E: CC                    - int 3 
H5_Game.exe+79859F: CC                    - int 3 
H5_Game.exe+7985A0: 56                    - push esi
H5_Game.exe+7985A1: 8B 74 24 08           - mov esi,[esp+08]
H5_Game.exe+7985A5: 33 D2                 - xor edx,edx
H5_Game.exe+7985A7: 2B F1                 - sub esi,ecx
H5_Game.exe+7985A9: 0F 1F 80 00 00 00 00  - nop dword ptr [eax+00000000]
// ---------- INJECTING HERE ----------
H5_Game.exe+7985B0: 8B 01                 - mov eax,[ecx]
// ---------- DONE INJECTING  ----------
H5_Game.exe+7985B2: 3B 04 0E              - cmp eax,[esi+ecx]
H5_Game.exe+7985B5: 75 0F                 - jne H5_Game.exe+7985C6
H5_Game.exe+7985B7: 42                    - inc edx
H5_Game.exe+7985B8: 83 C1 04              - add ecx,04
H5_Game.exe+7985BB: 83 FA 07              - cmp edx,07
H5_Game.exe+7985BE: 7C F0                 - jl H5_Game.exe+7985B0
H5_Game.exe+7985C0: 32 C0                 - xor al,al
H5_Game.exe+7985C2: 5E                    - pop esi
H5_Game.exe+7985C3: C2 04 00              - ret 0004
H5_Game.exe+7985C6: B0 01                 - mov al,01
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>2731</ID>
          <Description>"↑ Visit Hero screen after enable it"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>2732</ID>
          <Description>"↑ After this you can Disable function"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>2774</ID>
      <Description>"║        === MAX. UNITS ===                       ║"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================

  This script make Max. Unit's
}

[ENABLE]

aobscanmodule(ply_munitsh,testapp.exe,8B 41 20 89 84 24 F4 00 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ecx+20],#9999
code:
  mov eax,[ecx+20]
  mov [esp+000000F4],eax
  jmp return

ply_munitsh:
  jmp newmem
  nop 5
return:
registersymbol(ply_munitsh)

[DISABLE]

ply_munitsh:
  db 8B 41 20 89 84 24 F4 00 00 00

unregistersymbol(ply_munitsh)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: testapp.exe+4619B4

testapp.exe+461990: 8B 0E                             - mov ecx,[esi]
testapp.exe+461992: 85 C9                             - test ecx,ecx
testapp.exe+461994: 74 2A                             - je testapp.exe+4619C0
testapp.exe+461996: 8B 41 04                          - mov eax,[ecx+04]
testapp.exe+461999: 8B 40 04                          - mov eax,[eax+04]
testapp.exe+46199C: 83 7C 08 08 00                    - cmp dword ptr [eax+ecx+08],00
testapp.exe+4619A1: 7C 1D                             - jl testapp.exe+4619C0
testapp.exe+4619A3: 8B 41 1C                          - mov eax,[ecx+1C]
testapp.exe+4619A6: 8D AC 24 F0 00 00 00              - lea ebp,[esp+000000F0]
testapp.exe+4619AD: 89 84 24 F0 00 00 00              - mov [esp+000000F0],eax
// ---------- INJECTING HERE ----------
testapp.exe+4619B4: 8B 41 20                          - mov eax,[ecx+20]
// ---------- DONE INJECTING  ----------
testapp.exe+4619B7: 89 84 24 F4 00 00 00              - mov [esp+000000F4],eax
testapp.exe+4619BE: EB 1D                             - jmp testapp.exe+4619DD
testapp.exe+4619C0: C7 84 24 F8 00 00 00 00 00 00 00  - mov [esp+000000F8],00000000
testapp.exe+4619CB: 8D AC 24 F8 00 00 00              - lea ebp,[esp+000000F8]
testapp.exe+4619D2: C7 84 24 FC 00 00 00 00 00 00 00  - mov [esp+000000FC],00000000
testapp.exe+4619DD: 8B 7B F8                          - mov edi,[ebx-08]
testapp.exe+4619E0: 3B 7B FC                          - cmp edi,[ebx-04]
testapp.exe+4619E3: 74 11                             - je testapp.exe+4619F6
testapp.exe+4619E5: 8B 45 00                          - mov eax,[ebp+00]
testapp.exe+4619E8: 89 07                             - mov [edi],eax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>2734</ID>
          <Description>"↑ Visit Hero screen after enable it"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>2735</ID>
          <Description>"↑ After this you can Disable function"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>2773</ID>
      <Description>"║        === MAX. STATS ===                       ║"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================

  This script make Max. Hero Stat's
}

[ENABLE]

aobscanmodule(ply_statsi,testapp.exe,8B 47 30 85 C0 0F) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [edi+30],#99999999 //Attack
mov [edi+34],#99999999 //Defense
mov [edi+38],#99999999 //Spellpower
mov [edi+3C],#99999999 //Knowledge
mov [edi+40],#-99999999 //Luck
mov [edi+44],#-99999999 //Morale
code:
  mov eax,[edi+30]
  test eax,eax
  jmp return

ply_statsi:
  jmp newmem
return:
registersymbol(ply_statsi)

[DISABLE]

ply_statsi:
  db 8B 47 30 85 C0

unregistersymbol(ply_statsi)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: testapp.exe+8313A5

testapp.exe+83138E: CC              - int 3 
testapp.exe+83138F: CC              - int 3 
testapp.exe+831390: 53              - push ebx
testapp.exe+831391: 56              - push esi
testapp.exe+831392: 8B 74 24 0C     - mov esi,[esp+0C]
testapp.exe+831396: BA 05 00 00 00  - mov edx,00000005
testapp.exe+83139B: 57              - push edi
testapp.exe+83139C: 8B F9           - mov edi,ecx
testapp.exe+83139E: BB FB FF FF FF  - mov ebx,FFFFFFFB
testapp.exe+8313A3: 33 C9           - xor ecx,ecx
// ---------- INJECTING HERE ----------
testapp.exe+8313A5: 8B 47 30        - mov eax,[edi+30]
// ---------- DONE INJECTING  ----------
testapp.exe+8313A8: 85 C0           - test eax,eax
testapp.exe+8313AA: 0F 48 C1        - cmovs eax,ecx
testapp.exe+8313AD: 89 06           - mov [esi],eax
testapp.exe+8313AF: 8B 47 34        - mov eax,[edi+34]
testapp.exe+8313B2: 85 C0           - test eax,eax
testapp.exe+8313B4: 0F 48 C1        - cmovs eax,ecx
testapp.exe+8313B7: B9 01 00 00 00  - mov ecx,00000001
testapp.exe+8313BC: 89 46 04        - mov [esi+04],eax
testapp.exe+8313BF: 8B 47 38        - mov eax,[edi+38]
testapp.exe+8313C2: 3B C1           - cmp eax,ecx
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>2766</ID>
          <Description>"↑ Visit Hero screen after enable it"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>2767</ID>
          <Description>"↑ After this you can Disable function"</Description>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>2739</ID>
      <Description>"║        === TOWER UNIT BUILD ===          ║"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================

  This script make Unlimited Tower Unit Build's
}

[ENABLE]

aobscanmodule(test_bbuys,testapp.exe,8B 44 24 1C 29 06) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [esi],#15
mov [esp+1C],#15
code:
  mov eax,[esp+1C]
  sub [esi],eax
  jmp return

test_bbuys:
  jmp newmem
  nop
return:
registersymbol(test_bbuys)

[DISABLE]

test_bbuys:
  db 8B 44 24 1C 29 06

unregistersymbol(test_bbuys)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: H5_Game.exe+7C84FC

H5_Game.exe+7C84EC: 47                 - inc edi
H5_Game.exe+7C84ED: 83 C6 10           - add esi,10
H5_Game.exe+7C84F0: 3B FD              - cmp edi,ebp
H5_Game.exe+7C84F2: 7C D4              - jl H5_Game.exe+7C84C8
H5_Game.exe+7C84F4: 5E                 - pop esi
H5_Game.exe+7C84F5: 5B                 - pop ebx
H5_Game.exe+7C84F6: 5F                 - pop edi
H5_Game.exe+7C84F7: 5D                 - pop ebp
H5_Game.exe+7C84F8: 59                 - pop ecx
H5_Game.exe+7C84F9: C2 08 00           - ret 0008
// ---------- INJECTING HERE ----------
H5_Game.exe+7C84FC: 8B 44 24 1C        - mov eax,[esp+1C]
// ---------- DONE INJECTING  ----------
H5_Game.exe+7C8500: 29 06              - sub [esi],eax
H5_Game.exe+7C8502: 79 06              - jns H5_Game.exe+7C850A
H5_Game.exe+7C8504: C7 06 00 00 00 00  - mov [esi],00000000
H5_Game.exe+7C850A: 8B 4C 24 10        - mov ecx,[esp+10]
H5_Game.exe+7C850E: E8 8D E6 0E 00     - call H5_Game.exe+8B6BA0
H5_Game.exe+7C8513: 5E                 - pop esi
H5_Game.exe+7C8514: 5B                 - pop ebx
H5_Game.exe+7C8515: 5F                 - pop edi
H5_Game.exe+7C8516: 5D                 - pop ebp
H5_Game.exe+7C8517: 59                 - pop ecx
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2764</ID>
      <Description>"║        === TOWN UNIT BUILD ===           ║"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
  ==============================================
   Heroes of Might &amp; Magic V Table by SeryogaSK
           Hammers Of Fate
  ----------------------------------------------
   Game    : testapp.exe
   Version : 2.1 (Steam)
   Author  : SeryogaSK
   Website : Habibrahimov.com
  ----------------------------------------------
   Warning: Online use may trigger anti-cheat!
  ==============================================

  This script make Unlimited Town Unit Build's
}

[ENABLE]

aobscanmodule(ply_btowncs,testapp.exe,29 04 11 8B 44 24 14) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
mov [ecx+edx],#25
code:
  sub [ecx+edx],eax
  //add [ecx+edx],eax
  mov eax,[esp+14]
  jmp return

ply_btowncs:
  jmp newmem
  nop 2
return:
registersymbol(ply_btowncs)

[DISABLE]

ply_btowncs:
  db 29 04 11 8B 44 24 14

unregistersymbol(ply_btowncs)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: H5_Game.exe+7E84BD

H5_Game.exe+7E84A5: 5F                    - pop edi
H5_Game.exe+7E84A6: 5B                    - pop ebx
H5_Game.exe+7E84A7: 5E                    - pop esi
H5_Game.exe+7E84A8: 5D                    - pop ebp
H5_Game.exe+7E84A9: 83 C4 0C              - add esp,0C
H5_Game.exe+7E84AC: C2 08 00              - ret 0008
H5_Game.exe+7E84AF: 8B 4C 24 20           - mov ecx,[esp+20]
H5_Game.exe+7E84B3: 03 F6                 - add esi,esi
H5_Game.exe+7E84B5: 8B 54 24 10           - mov edx,[esp+10]
H5_Game.exe+7E84B9: 8B 44 24 24           - mov eax,[esp+24]
// ---------- INJECTING HERE ----------
H5_Game.exe+7E84BD: 29 04 11              - sub [ecx+edx],eax
// ---------- DONE INJECTING  ----------
H5_Game.exe+7E84C0: 8B 44 24 14           - mov eax,[esp+14]
H5_Game.exe+7E84C4: 8B 80 70 FE FF FF     - mov eax,[eax-00000190]
H5_Game.exe+7E84CA: 83 3C F0 00           - cmp dword ptr [eax+esi*8],00
H5_Game.exe+7E84CE: 7D 07                 - jnl H5_Game.exe+7E84D7
H5_Game.exe+7E84D0: C7 04 F0 00 00 00 00  - mov [eax+esi*8],00000000
H5_Game.exe+7E84D7: 8B 4C 24 18           - mov ecx,[esp+18]
H5_Game.exe+7E84DB: E8 C0 E6 0C 00        - call H5_Game.exe+8B6BA0
H5_Game.exe+7E84E0: 5F                    - pop edi
H5_Game.exe+7E84E1: 5B                    - pop ebx
H5_Game.exe+7E84E2: 5E                    - pop esi
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2710</ID>
      <Description>"╠══════════════════════════════╣"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2708</ID>
      <Description>"║   TIP: Right-click values to set hotkeys!  ║"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2711</ID>
      <Description>"╠══════════════════════════════╣"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2704</ID>
      <Description>"║       === YOUTUBE ===                            ║"</Description>
      <Color>FFFFFF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
[ENABLE]
shellExecute("https://www.youtube.com/@SeryogaSK");
createThread(function();sleep(100);memrec.Active=false;end);
[DISABLE]

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2706</ID>
      <Description>"║       === OCT PROFILE ===                      ║"</Description>
      <Color>FFFFFF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
[ENABLE]
shellExecute("https://opencheattables.com/memberlist.php?mode=viewprofile&amp;u=6096");
createThread(function();sleep(100);memrec.Active=false;end);
[DISABLE]

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2705</ID>
      <Description>"║       === Habibrahimov.com ===           ║"</Description>
      <Color>FFFFFF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
[ENABLE]
shellExecute("https://habibrahimov.com");
createThread(function();sleep(100);memrec.Active=false;end);
[DISABLE]

</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>2713</ID>
      <Description>"╠══════════════════════════════╣"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2707</ID>
      <Description>"║     === Latest Update 30.11.25 ===        ║"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>2712</ID>
      <Description>"╚══════════════════════════════╝"</Description>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry GroupHeader="1">
      <Description>testapp.exe+834545</Description>
    </CodeEntry>
    <CodeEntry>
      <Description>Code :mov eax,[eax+esi*4]</Description>
      <AddressString>testapp.exe+834542</AddressString>
      <Before>
        <Byte>C9</Byte>
        <Byte>8B</Byte>
        <Byte>44</Byte>
        <Byte>02</Byte>
        <Byte>04</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>04</Byte>
        <Byte>B0</Byte>
      </Actual>
      <After>
        <Byte>8B</Byte>
        <Byte>B5</Byte>
        <Byte>08</Byte>
        <Byte>01</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Code :mov esi,[ebp+00000108]</Description>
      <AddressString>testapp.exe+834545</AddressString>
      <Before>
        <Byte>02</Byte>
        <Byte>04</Byte>
        <Byte>8B</Byte>
        <Byte>04</Byte>
        <Byte>B0</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>B5</Byte>
        <Byte>08</Byte>
        <Byte>01</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>2B</Byte>
        <Byte>74</Byte>
        <Byte>24</Byte>
        <Byte>40</Byte>
        <Byte>8D</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
  <LuaScript>-- Cheat Table Decorator
function decorateSSKTable()
  local mainForm = getMainForm()

  -- Main Form Styling
  mainForm.Caption = 'Heroes of Might &amp; Magic V: Hammers of Fate (Steam) - Enhanced Table [by SeryogaSK] {Habibrahimov.com}'
  mainForm.Color = 0x2B2B2B  -- Dark background
  mainForm.Font.Color = 0xE6E6E6 -- Light text
  getAutoAttachList().add("testapp.exe")
end

-- Execute when table loads
decorateSSKTable()



</LuaScript>
</CheatTable>
