<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>4</ID>
      <Description>"[1] Population // Население"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : game.exe
  Version: Steam
  Author : SeryogaSK
  Homepage: Habibrahimov.com

  This script does Unl. Population to Player or/and Zero to Enemy
}

[ENABLE]

aobscanmodule(ply_units,game.exe,66 0F 6E 86 B4 04 00 00 C7) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(ply_unyt)
label(ene_unit)
newmem:
cmp [ply_unyt],1
jne enemys
cmp [esi+454],1
jne enemys
mov [esi+000004B4],#999
movd xmm0,[esi+000004B4]
jmp enemys

enemys:
cmp [ene_unit],1
jne code
cmp [esi+454],1
je code
mov [esi+000004B4],#0
code:
  movd xmm0,[esi+000004B4]
  jmp return

  ply_unyt:
  dd 0

  ene_unit:
  dd 0

ply_units:
  jmp newmem
  nop 3
return:
registersymbol(ply_units)
registersymbol(ply_unyt)
registersymbol(ene_unit)
[DISABLE]

ply_units:
  db 66 0F 6E 86 B4 04 00 00

unregistersymbol(ply_units)
unregistersymbol(ply_unyt)
unregistersymbol(ene_unit)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: game.m3d::ai::RelationshipTable::Load+912D

game.m3d::ai::RelationshipTable::Load+911B: 83 C4 0C                 - add esp,0C
game.m3d::ai::RelationshipTable::Load+911E: 83 C8 FF                 - or eax,-01
game.m3d::ai::RelationshipTable::Load+9121: 5F                       - pop edi
game.m3d::ai::RelationshipTable::Load+9122: 5E                       - pop esi
game.m3d::ai::RelationshipTable::Load+9123: 5B                       - pop ebx
game.m3d::ai::RelationshipTable::Load+9124: 8B E5                    - mov esp,ebp
game.m3d::ai::RelationshipTable::Load+9126: 5D                       - pop ebp
game.m3d::ai::RelationshipTable::Load+9127: C3                       - ret 
game.m3d::ai::RelationshipTable::Load+9128: 8B 03                    - mov eax,[ebx]
game.m3d::ai::RelationshipTable::Load+912A: 8B 48 08                 - mov ecx,[eax+08]
// ---------- INJECTING HERE ----------
game.m3d::ai::RelationshipTable::Load+912D: 66 0F 6E 86 B4 04 00 00  - movd xmm0,[esi+000004B4]
// ---------- DONE INJECTING  ----------
game.m3d::ai::RelationshipTable::Load+9135: C7 41 08 03 00 00 00     - mov [ecx+08],00000003
game.m3d::ai::RelationshipTable::Load+913C: F3 0F E6 C0              - cvtdq2pd xmm0,xmm0
game.m3d::ai::RelationshipTable::Load+9140: F2 0F 11 01              - movsd [ecx],xmm0
game.m3d::ai::RelationshipTable::Load+9144: 83 40 08 10              - add dword ptr [eax+08],10
game.m3d::ai::RelationshipTable::Load+9148: 8B 1B                    - mov ebx,[ebx]
game.m3d::ai::RelationshipTable::Load+914A: 8B 7B 08                 - mov edi,[ebx+08]
game.m3d::ai::RelationshipTable::Load+914D: E8 7E 01 FD FF           - call game.exe+F6780
game.m3d::ai::RelationshipTable::Load+9152: F3 0F 5A C0              - cvtss2sd xmm0,xmm0
game.m3d::ai::RelationshipTable::Load+9156: F2 0F 11 07              - movsd [edi],xmm0
game.m3d::ai::RelationshipTable::Load+915A: C7 47 08 03 00 00 00     - mov [edi+08],00000003
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"[1.1] Player // Игрок"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:ON
0:OFF
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>ply_unyt</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"[1.2] Enemy // Враг"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">1:ON
0:OFF
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>ene_unit</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>17</ID>
      <Description>"[2] Energy // Энергия"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : game.exe
  Version: Steam
  Author : SeryogaSK
  Homepage: Habibrahimov.com

  This script does Unl. Money to Player and Zero to Enemy
  WIP may bot work
}

[ENABLE]

aobscanmodule(ply_currency,game.exe,F3 0F 10 43 34 F3 0F 5C 44 24 1C) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
cmp [ebx+44],1
jne code
cmp [ebx+4c],1
jne code
mov [ebx+34],(float)999
movss xmm0,[ebx+34]
  jmp return
code:
mov [ebx+34],(float)0
  //movss xmm0,[ebx+34]
  jmp return

ply_currency:
  jmp newmem
return:
registersymbol(ply_currency)

[DISABLE]

ply_currency:
  db F3 0F 10 43 34

unregistersymbol(ply_currency)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: game.exe+F2857

game.exe+F2826: 66 0F 6E 90 24 06 00 00  - movd xmm2,[eax+00000624]
game.exe+F282E: 0F 5B D2                 - cvtdq2ps xmm2,xmm2
game.exe+F2831: 0F 2F C2                 - comiss xmm0,xmm2
game.exe+F2834: 76 34                    - jna game.exe+F286A
game.exe+F2836: F3 0F 10 05 E4 1E 83 00  - movss xmm0,[game.exe+431EE4]
game.exe+F283E: F3 0F 59 05 E4 CF 76 00  - mulss xmm0,[game.exe+36CFE4]
game.exe+F2846: 51                       - push ecx
game.exe+F2847: F3 0F 11 44 24 20        - movss [esp+20],xmm0
game.exe+F284D: F3 0F 11 04 24           - movss [esp],xmm0
game.exe+F2852: E8 E9 DA FF FF           - call game.exe+F0340
// ---------- INJECTING HERE ----------
game.exe+F2857: F3 0F 10 43 34           - movss xmm0,[ebx+34]
// ---------- DONE INJECTING  ----------
game.exe+F285C: F3 0F 5C 44 24 1C        - subss xmm0,[esp+1C]
game.exe+F2862: 0F 57 C9                 - xorps xmm1,xmm1
game.exe+F2865: F3 0F 11 43 34           - movss [ebx+34],xmm0
game.exe+F286A: 8B 7C 24 10              - mov edi,[esp+10]
game.exe+F286E: A1 D8 AC 95 01           - mov eax,[game.exe+155ACD8]
game.exe+F2873: 47                       - inc edi
game.exe+F2874: 89 7C 24 10              - mov [esp+10],edi
game.exe+F2878: 3B F8                    - cmp edi,eax
game.exe+F287A: 0F 8C B3 FE FF FF        - jl game.exe+F2733
game.exe+F2880: 8B 15 B8 30 8E 01        - mov edx,[game.exe+14E30B8]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>34</ID>
      <Description>"[3] Money // Деньги"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>20</ID>
          <Description>"[3.1] Player // Игрок"</Description>
          <VariableType>Float</VariableType>
          <Address>game.exe+147C8EC</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>27</ID>
          <Description>"[3.2] Enemy 1 // Враг 1"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C924</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>36</ID>
          <Description>"[3.3] Enemy 2 // Враг 2"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C95C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>41</ID>
          <Description>"[3.4] Enemy 3 // Враг 3"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C994</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"[3.5] Enemy 4 // Враг 4"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C8B4</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>35</ID>
      <Description>"[4] Domination Points // Очки доминирования"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>30</ID>
          <Description>"[4.1] Player // Игрок"</Description>
          <VariableType>Float</VariableType>
          <Address>game.exe+147C8F0</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"[4.2] Enemy 1 // Враг 1"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C928</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>37</ID>
          <Description>"[4.3] Enemy 2 // Враг 2"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C8B8</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>39</ID>
          <Description>"[4.4] Enemy 3 // Враг 3"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C960</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>40</ID>
          <Description>"[4.5] Enemy 4 // Враг 4"</Description>
          <VariableType>Float</VariableType>
          <Address>0187C998</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
