<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>5</ID>
      <Description>"Always 92978 Gold"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscanmodule(gold1,Anno1701.exe,89 BC C6 E8 00 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
   mov [esi+eax*8+000000E8], #95210000
code:
  // mov [esi+eax*8+000000E8],edi
  jmp return

gold1:
  jmp newmem
  nop 2
return:
registersymbol(gold1)

[DISABLE]

gold1:
  db 89 BC C6 E8 00 00 00

unregistersymbol(gold1)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: "Anno1701.exe"+15EB10

"Anno1701.exe"+15EAF4: 85 FF                             -  test edi,edi
"Anno1701.exe"+15EAF6: 76 04                             -  jna Anno1701.exe+15EAFC
"Anno1701.exe"+15EAF8: B3 01                             -  mov bl,01
"Anno1701.exe"+15EAFA: EB 02                             -  jmp Anno1701.exe+15EAFE
"Anno1701.exe"+15EAFC: 32 DB                             -  xor bl,bl
"Anno1701.exe"+15EAFE: 8B 54 24 24                       -  mov edx,[esp+24]
"Anno1701.exe"+15EB02: 8B 6C 24 28                       -  mov ebp,[esp+28]
"Anno1701.exe"+15EB06: 03 FA                             -  add edi,edx
"Anno1701.exe"+15EB08: 13 CD                             -  adc ecx,ebp
"Anno1701.exe"+15EB0A: 81 F9 EE 00 00 00                 -  cmp ecx,000000EE
// ---------- INJECTING HERE ----------
"Anno1701.exe"+15EB10: 89 BC C6 E8 00 00 00              -  mov [esi+eax*8+000000E8],edi
// ---------- DONE INJECTING  ----------
"Anno1701.exe"+15EB17: 89 8C C6 EC 00 00 00              -  mov [esi+eax*8+000000EC],ecx
"Anno1701.exe"+15EB1E: 7F 22                             -  jg Anno1701.exe+15EB42
"Anno1701.exe"+15EB20: 7C 08                             -  jl Anno1701.exe+15EB2A
"Anno1701.exe"+15EB22: 81 FF 00 FC 27 6B                 -  cmp edi,6B27FC00
"Anno1701.exe"+15EB28: 77 18                             -  ja Anno1701.exe+15EB42
"Anno1701.exe"+15EB2A: 84 DB                             -  test bl,bl
"Anno1701.exe"+15EB2C: 74 2A                             -  je Anno1701.exe+15EB58
"Anno1701.exe"+15EB2E: 85 ED                             -  test ebp,ebp
"Anno1701.exe"+15EB30: 7C 26                             -  jl Anno1701.exe+15EB58
"Anno1701.exe"+15EB32: 7F 04                             -  jg Anno1701.exe+15EB38
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>24</ID>
      <Description>"Fill Ressources"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
aobscanmodule(ressources_new,Anno1701.exe,3B 86 60 01 00 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  mov [eax+10],#500000
code:
  cmp eax,[esi+00000160]
  jmp return

ressources_new:
  jmp newmem
  nop
return:
registersymbol(ressources_new)

[DISABLE]

ressources_new:
  db 3B 86 60 01 00 00

unregistersymbol(ressources_new)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Anno1701.exe+1D3660

Anno1701.exe+1D3642: 56                 - push esi
Anno1701.exe+1D3643: 8B F1              - mov esi,ecx
Anno1701.exe+1D3645: 8D 44 24 10        - lea eax,[esp+10]
Anno1701.exe+1D3649: 50                 - push eax
Anno1701.exe+1D364A: 8D 4C 24 0C        - lea ecx,[esp+0C]
Anno1701.exe+1D364E: 51                 - push ecx
Anno1701.exe+1D364F: 8D 8E 5C 01 00 00  - lea ecx,[esi+0000015C]
Anno1701.exe+1D3655: 33 DB              - xor ebx,ebx
Anno1701.exe+1D3657: E8 74 FF FF FF     - call Anno1701.exe+1D35D0
Anno1701.exe+1D365C: 8B 44 24 08        - mov eax,[esp+08]
// ---------- INJECTING HERE ----------
Anno1701.exe+1D3660: 3B 86 60 01 00 00  - cmp eax,[esi+00000160]
// ---------- DONE INJECTING  ----------
Anno1701.exe+1D3666: 74 03              - je Anno1701.exe+1D366B
Anno1701.exe+1D3668: 8B 58 10           - mov ebx,[eax+10]
Anno1701.exe+1D366B: 8A 44 24 14        - mov al,[esp+14]
Anno1701.exe+1D366F: 84 C0              - test al,al
Anno1701.exe+1D3671: 74 48              - je Anno1701.exe+1D36BB
Anno1701.exe+1D3673: 8B 44 24 10        - mov eax,[esp+10]
Anno1701.exe+1D3677: 85 C0              - test eax,eax
Anno1701.exe+1D3679: 7C 40              - jl Anno1701.exe+1D36BB
Anno1701.exe+1D367B: 83 F8 2E           - cmp eax,2E
Anno1701.exe+1D367E: 7D 3B              - jnl Anno1701.exe+1D36BB
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Code :mov ebx,[eax+10]</Description>
      <AddressString>Anno1701.exe+1D3668</AddressString>
      <Before>
        <Byte>01</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>74</Byte>
        <Byte>03</Byte>
      </Before>
      <Actual>
        <Byte>8B</Byte>
        <Byte>58</Byte>
        <Byte>10</Byte>
      </Actual>
      <After>
        <Byte>8A</Byte>
        <Byte>44</Byte>
        <Byte>24</Byte>
        <Byte>14</Byte>
        <Byte>84</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
  <Comments>Info about this table:
</Comments>
</CheatTable>
