<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>15</ID>
      <Description>"Game Manager Script [ Re-Select Planet by Top Left Corner Button]"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ironmarines.exe
  Version: 
  Date   : 2022-12-25
  Author : MarianaRoses
  AoB    : 48 ?? ?? 48 ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? FF ?? ?? 48 ?? ?? 48 ?? ?? 48 ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? FF ?? ?? 4C ?? ?? 48 ?? ?? 0F ?? ?? ?? ?? ?? 48 ?? ?? ?? ?? ?? ?? ?? ?? ?? 48 ?? ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? 41 ?? ?? 48 ?? ?? ?? 48 ?? ?? 48 ?? ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? 41 ?? ?? 48 ?? ?? ?? 48 ?? ?? 48 ?? ?? ?? 4C ?? ?? C6 ?? ?? ?? C6 ?? ?? ?? 48 ?? ?? ?? 48 ?? ?? 0F ?? ?? ?? ?? ?? 49
  This script does blah blah blah
}

[ENABLE]

aobscan(binstance,48 ?? ?? 48 ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? FF ?? ?? 48 ?? ?? 48 ?? ?? 48 ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? FF ?? ?? 4C) // should be unique
alloc(newmem,$1000,binstance)
alloc(binstancec,6)
alloc(binstancei,8)
registerSymbol(binstance binstancec binstancei)
label(code return)

binstancec:
  readmem(binstance,6)
  
newmem:
  mov [binstancei],rax
code:
  readmem(binstance,6)
  jmp return

binstance:
  jmp newmem
  nop
return:

[DISABLE]
binstance:
  readmem(binstancec,6)
unregistersymbol(*)
dealloc(*)
       {
// ORIGINAL CODE - INJECTION POINT: HeroesManagerImpl:GetHeroData+53

HeroesManagerImpl:GetHeroData+2a: 49 63 46 10                    - movsxd  rax,dword ptr [r14+10]
HeroesManagerImpl:GetHeroData+2e: 85 C0                          - test eax,eax
HeroesManagerImpl:GetHeroData+30: 41 0F 94 C5                    - sete r13l
HeroesManagerImpl:GetHeroData+34: 4D 0F B6 ED                    - movzx r13,r13l
HeroesManagerImpl:GetHeroData+38: EB 06                          - jmp HeroesManagerImpl:GetHeroData+40
HeroesManagerImpl:GetHeroData+3a: 41 BD 01 00 00 00              - mov r13d,00000001
HeroesManagerImpl:GetHeroData+40: 45 85 ED                       - test r13d,r13d
HeroesManagerImpl:GetHeroData+43: 74 0A                          - je HeroesManagerImpl:GetHeroData+4f
HeroesManagerImpl:GetHeroData+45: 48 BE 90 8F 57 D8 C1 01 00 00  - mov rsi,000001C1D8578F90
HeroesManagerImpl:GetHeroData+4f: 48 8B 47 48                    - mov rax,[rdi+48]
// ---------- INJECTING HERE ----------
HeroesManagerImpl:GetHeroData+53: 48 8B C8                       - mov rcx,rax
// ---------- DONE INJECTING  ----------
HeroesManagerImpl:GetHeroData+56: 48 8B 00                       - mov rax,[rax]
HeroesManagerImpl:GetHeroData+59: 49 BA A0 D3 98 DA C1 01 00 00  - mov r10,000001C1DA98D3A0
HeroesManagerImpl:GetHeroData+63: FF 50 A8                       - call qword ptr [rax-58]
HeroesManagerImpl:GetHeroData+66: 48 8B C8                       - mov rcx,rax
HeroesManagerImpl:GetHeroData+69: 48 8B D6                       - mov rdx,rsi
HeroesManagerImpl:GetHeroData+6c: 48 8B 00                       - mov rax,[rax]
HeroesManagerImpl:GetHeroData+6f: 49 BA A8 1A 99 DA C1 01 00 00  - mov r10,000001C1DA991AA8
HeroesManagerImpl:GetHeroData+79: FF 50 98                       - call qword ptr [rax-68]
HeroesManagerImpl:GetHeroData+7c: 4C 8B F8                       - mov r15,rax
HeroesManagerImpl:GetHeroData+7f: 48 85 C0                       - test rax,rax
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>16</ID>
          <Description>"currency"</Description>
          <Options moHideChildren="1"/>
          <ShowAsHex>1</ShowAsHex>
          <GroupHeader>1</GroupHeader>
          <Address>binstancei</Address>
          <Offsets>
            <Offset>30</Offset>
            <Offset>30</Offset>
            <Offset>10</Offset>
            <Offset>20</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>17</ID>
              <Description>"techpoints"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>10</Offset>
                <Offset>30</Offset>
                <Offset>30</Offset>
                <Offset>10</Offset>
                <Offset>20</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>18</ID>
              <Description>"credits"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>14</Offset>
                <Offset>30</Offset>
                <Offset>30</Offset>
                <Offset>10</Offset>
                <Offset>20</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>19</ID>
              <Description>"techpointsCollected"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>18</Offset>
                <Offset>30</Offset>
                <Offset>30</Offset>
                <Offset>10</Offset>
                <Offset>20</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>20</ID>
              <Description>"creditsCollected"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>1C</Offset>
                <Offset>30</Offset>
                <Offset>30</Offset>
                <Offset>10</Offset>
                <Offset>20</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>23</ID>
          <Description>"Hero"</Description>
          <Options moHideChildren="1"/>
          <ShowAsHex>1</ShowAsHex>
          <GroupHeader>1</GroupHeader>
          <Address>binstancei</Address>
          <Offsets>
            <Offset>28</Offset>
            <Offset>28</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>22</ID>
              <Description>"Skill Point at Level 1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>24</Offset>
                <Offset>28</Offset>
                <Offset>28</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>24</ID>
              <Description>"maxHeroLevel"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>58</Offset>
                <Offset>28</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>25</ID>
              <Description>"maxHeroSkillLevel"</Description>
              <VariableType>4 Bytes</VariableType>
              <Address>binstancei</Address>
              <Offsets>
                <Offset>5C</Offset>
                <Offset>28</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>21</ID>
          <Description>"playedTimeSeconds"</Description>
          <VariableType>Double</VariableType>
          <Address>binstancei</Address>
          <Offsets>
            <Offset>78</Offset>
            <Offset>30</Offset>
            <Offset>10</Offset>
            <Offset>20</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>27</ID>
      <Description>"God Mode / One Hit Kill / Unit Speed Multiplier [ In-stage ] *Only for Player 1"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ironmarines.exe
  Version: 
  Date   : 2022-12-25
  Author : MarianaRoses
  AoB    : 48 ?? ?? ?? ?? ?? ?? 41 ?? ?? 85 ?? 0F ?? ?? ?? ?? ?? 33 ?? E9 ?? ?? ?? ?? 41 ?? ?? ?? 75 ?? 33 ?? E9 ?? ?? ?? ?? 49 ?? ?? ?? 49 ?? ?? 48 ?? ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? 41 ?? ?? 89 ?? ?? 48 ?? ?? ?? ?? ?? ?? 23 ?? ?? 85 ?? 75 ?? 33 ?? E9 ?? ?? ?? ?? 49 ?? ?? ?? 33 ?? 48 ?? ?? ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? 41 ?? ?? 85 ?? 74 ?? 49 ?? ?? ?? 48
  This script does blah blah blah
}

[ENABLE]

aobscan(bpflag,48 ?? ?? ?? ?? ?? ?? 41 ?? ?? 85 ?? 0F ?? ?? ?? ?? ?? 33 ?? E9 ) // should be unique
alloc(newmem,$1000,bpflag)
alloc(bpflagc,7)
alloc(godflag,1)
alloc(ohkflag,1)
alloc(speedflag,1)
registerSymbol(bpflag bpflagc godflag ohkflag speedflag)
label(code return chealth chealth2 cspeed)

bpflagc:
  readmem(bpflag,7)
godflag:
  db 0
ohkflag:
  db 0
speedflag:
  db 0

newmem:
  {push rsi
  mov rsi,[rsi+18]
  cmp [rsi+14],6E0045
  pop rsi
  je code}
  cmp [rsi+cc],0
  jne code
  push rsi
  mov rsi,[rsi+40]
  test rsi,rsi
  jz cspeed
  cmp byte ptr [speedflag],1
  jne cspeed
  mov rsi,[rsi+18]
  mov [rsi+1c],(float)10.0  //Movement Speed Multiplier
cspeed:
  pop rsi
  push rsi
  mov rsi,[rsi+20]
  test rsi,rsi
  jz chealth
  cmp byte ptr [godflag],1
  jne chealth
  push rax
  mov rax,[rsi+88]
  mov [rsi+8c],rax
  pop rax
  mov byte ptr [rsi+96],1
chealth:
  pop rsi
  readmem(bpflag,7)
  jmp return
code:
  push rsi
  mov rsi,[rsi+20]
  test rsi,rsi
  jz chealth2
  cmp byte ptr [ohkflag],1
  jne chealth2
  cmp [rsi+8c],(float)1.0
  jle chealth2
  mov [rsi+8c],(float)1.0
chealth2:
  pop rsi
  readmem(bpflag,7)
  jmp return

bpflag:
  jmp newmem
  nop 2
return:

[DISABLE]
bpflag:
  readmem(bpflagc,7)
unregistersymbol(*)
dealloc(*)
       {
// ORIGINAL CODE - INJECTION POINT: ClosestTargetSearcher:ValidateTarget+205

ClosestTargetSearcher:ValidateTarget+1d6: 83 39 00                       - cmp dword ptr [rcx],00
ClosestTargetSearcher:ValidateTarget+1d9: 48 63 88 CC 00 00 00           - movsxd  rcx,dword ptr [rax+000000CC]
ClosestTargetSearcher:ValidateTarget+1e0: 48 B8 B0 6E 56 04 B5 01 00 00  - mov rax,000001B504566EB0
ClosestTargetSearcher:ValidateTarget+1ea: 48 8B 00                       - mov rax,[rax]
ClosestTargetSearcher:ValidateTarget+1ed: 48 63 C9                       - movsxd  rcx,ecx
ClosestTargetSearcher:ValidateTarget+1f0: 39 48 18                       - cmp [rax+18],ecx
ClosestTargetSearcher:ValidateTarget+1f3: 0F 86 B2 02 00 00              - jbe ClosestTargetSearcher:ValidateTarget+4ab
ClosestTargetSearcher:ValidateTarget+1f9: 48 8D 44 C8 20                 - lea rax,[rax+rcx*8+20]
ClosestTargetSearcher:ValidateTarget+1fe: 48 8B 00                       - mov rax,[rax]
ClosestTargetSearcher:ValidateTarget+201: 4C 63 60 1C                    - movsxd  r12,dword ptr [rax+1C]
// ---------- INJECTING HERE ----------
ClosestTargetSearcher:ValidateTarget+205: 48 63 86 C8 00 00 00           - movsxd  rax,dword ptr [rsi+000000C8]
// ---------- DONE INJECTING  ----------
ClosestTargetSearcher:ValidateTarget+20c: 41 23 C4                       - and eax,r12d
ClosestTargetSearcher:ValidateTarget+20f: 85 C0                          - test eax,eax
ClosestTargetSearcher:ValidateTarget+211: 0F 85 44 00 00 00              - jne ClosestTargetSearcher:ValidateTarget+25b
ClosestTargetSearcher:ValidateTarget+217: 33 C0                          - xor eax,eax
ClosestTargetSearcher:ValidateTarget+219: E9 55 02 00 00                 - jmp ClosestTargetSearcher:ValidateTarget+473
ClosestTargetSearcher:ValidateTarget+21e: 41 83 FD FF                    - cmp r13d,-01
ClosestTargetSearcher:ValidateTarget+222: 75 07                          - jne ClosestTargetSearcher:ValidateTarget+22b
ClosestTargetSearcher:ValidateTarget+224: 33 C0                          - xor eax,eax
ClosestTargetSearcher:ValidateTarget+226: E9 48 02 00 00                 - jmp ClosestTargetSearcher:ValidateTarget+473
ClosestTargetSearcher:ValidateTarget+22b: 49 63 57 64                    - movsxd  rdx,dword ptr [r15+64]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Some mission required own building to be destroyed or allies that need to be save but isn't player 1"</Description>
          <Color>00FFFF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>34</ID>
          <Description>"which godmode or one hit best be disabled"</Description>
          <Color>00FFFF</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>28</ID>
          <Description>"God Mode [ Disable/Enable = 0/1 ]"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>godflag</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"One Hit Kill [ Disable/Enable = 0/1 ]"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>ohkflag</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>35</ID>
          <Description>"Increase Unit Speed [ Disable/Enable = 0/1 ]"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>speedflag</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>32</ID>
      <Description>"Infinite Energy [ In-stage ]"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : ironmarines.exe
  Version: 
  Date   : 2022-12-26
  Author : MarianaRoses
  AoB    : F3 ?? ?? ?? ?? F3 ?? ?? ?? F2 ?? ?? ?? F3 ?? ?? ?? ?? F3 ?? ?? ?? ?? F3 ?? ?? ?? 66 ?? ?? ?? 66 ?? ?? ?? 75 ?? 7A ?? 72 ?? 66 ?? ?? ?? F2 ?? ?? ?? EB ?? 48 ?? ?? ?? 48 ?? ?? 83 ?? ?? 48 ?? ?? ?? 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? 41 ?? ?? F3 ?? ?? ?? F2 ?? ?? ?? 48 ?? ?? ?? 48 ?? ?? ?? 5D C3 00 ?? 00 ?? 04 ?? 05 ?? ?? ?? ?? 00
  This script does blah blah blah
}

[ENABLE]
aobscan(benergy,F3 ?? ?? ?? ?? F3 ?? ?? ?? F2 ?? ?? ?? F3 ?? ?? ?? ?? F3 ?? ?? ?? ?? F3 ?? ?? ?? 66 ?? ?? ?? 66 ?? ?? ?? 75) // should be unique
alloc(newmem,$1000,benergy)
alloc(benergyc,5)
alloc(benergyi,4)
registerSymbol(benergy benergyc)
label(code return)

benergyc:
  readmem(benergy,5)
benergyi:
  dd (float)9999.0

newmem:
  mov [rax+14],(float)9999.0
code:
  readmem(benergy,5)
  jmp return

benergy:
  jmp newmem
      
return:

[DISABLE]
benergy:
  readmem(benergyc,5)
unregistersymbol(*)
dealloc(*)
       {
// ORIGINAL CODE - INJECTION POINT: PlayerEnergyScript:GetPercentage+65

PlayerEnergyScript:GetPercentage+39: F2 0F 5A E8     - cvtsd2ss xmm5,xmm0
PlayerEnergyScript:GetPercentage+3d: F3 0F 11 6D F4  - movss [rbp-0C],xmm5
PlayerEnergyScript:GetPercentage+42: F3 0F 10 45 F4  - movss xmm0,[rbp-0C]
PlayerEnergyScript:GetPercentage+47: F3 0F 5A C0     - cvtss2sd xmm0,xmm0
PlayerEnergyScript:GetPercentage+4b: F3 0F 10 4E 38  - movss xmm1,[rsi+38]
PlayerEnergyScript:GetPercentage+50: F3 0F 5A C9     - cvtss2sd xmm1,xmm1
PlayerEnergyScript:GetPercentage+54: F2 0F 5E C1     - divsd xmm0,xmm1
PlayerEnergyScript:GetPercentage+58: F2 0F 5A C0     - cvtsd2ss xmm0,xmm0
PlayerEnergyScript:GetPercentage+5c: E9 5A 00 00 00  - jmp PlayerEnergyScript:GetPercentage+bb
PlayerEnergyScript:GetPercentage+61: 48 8B 46 18     - mov rax,[rsi+18]
// ---------- INJECTING HERE ----------
PlayerEnergyScript:GetPercentage+65: F3 0F 10 40 14  - movss xmm0,[rax+14]
// ---------- DONE INJECTING  ----------
PlayerEnergyScript:GetPercentage+6a: F3 0F 5A C0     - cvtss2sd xmm0,xmm0
PlayerEnergyScript:GetPercentage+6e: F2 0F 5A E8     - cvtsd2ss xmm5,xmm0
PlayerEnergyScript:GetPercentage+72: F3 0F 11 6D F4  - movss [rbp-0C],xmm5
PlayerEnergyScript:GetPercentage+77: F3 0F 10 45 F4  - movss xmm0,[rbp-0C]
PlayerEnergyScript:GetPercentage+7c: F3 0F 5A C0     - cvtss2sd xmm0,xmm0
PlayerEnergyScript:GetPercentage+80: 66 0F 57 C9     - xorpd xmm1,xmm1
PlayerEnergyScript:GetPercentage+84: 66 0F 2F C8     - comisd xmm1,xmm0
PlayerEnergyScript:GetPercentage+88: 75 0E           - jne PlayerEnergyScript:GetPercentage+98
PlayerEnergyScript:GetPercentage+8a: 7A 0C           - jp PlayerEnergyScript:GetPercentage+98
PlayerEnergyScript:GetPercentage+8c: 72 0A           - jb PlayerEnergyScript:GetPercentage+98
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>27979</ID>
      <Description>"Author: MarianaRoses -- Visit Us at Https://opencheattables.com"</Description>
      <Color>0000FF</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
