<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>18</ID>
      <Description>"***Suggestion: Enable after game save loaded***"</Description>
      <Color>FF8000</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>47</ID>
      <Description>"Active"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$asm}
define(MAINEXE, $process)
alloc(newmem, $3000, MAINEXE)
label(i_warehouse_base)

newmem:
  i_warehouse_base:
  dq 0
  align 1000 0
  db 0
  align 1000 0

registersymbol(i_warehouse_base)
[DISABLE]
unregistersymbol(i_warehouse_base)
dealloc(newmem, $3000)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Coin, influence &amp; warehouse stock"</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Anno1800.exe
  Version: 
  Date   : 2022-04-06
  Author : bbfox @ https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_MONEY_AND_WAREHOUSE_SLOT,$process,8B 48 20 48 8B C7 89 0F) // should be unique
alloc(newmem,$1000,INJECT_MONEY_AND_WAREHOUSE_SLOT)

label(code)
label(return)
label(i_money_addr1)
label(i_min_money)
label(i_influence_avail_addr)
label(i_influence_total_addr)
label(is_keep_warehouse_slot)
label(i_min_watermark)
label(i_max_watermark)

// 28 *2c 30 *34 *3c= 0
// 68 = 1
// 18 = #1010017 = coin
// 14 != 1A0

newmem:
  mov ecx, [rax+20]
  test ecx, ecx
  je code

  mov dword ptr [is_enemy], 0

{
  push rdx
  push rbx
  xor rdx, rdx
  xor rbx, rbx
  mov dword ptr [is_enemy], 1

  mov ebx, [rax+2c]
  add edx, ebx
  mov ebx, [rax+3c]
  add edx, ebx
  mov ebx, [rax+34]
  add edx, ebx
  test edx, edx
  je its_player
  jmp check_if_player_endp

its_player:
  mov dword ptr [is_enemy], 0

check_if_player_endp:
  pop rbx
  pop rdx


  cmp dword ptr [is_enemy], 1
  je check_enemy
}


  // check type, influence, coin for player
  mov ecx, [rax+18]
  cmp ecx, #1010190
  je to_influence

  cmp ecx, #1010017
  je check_coin

  //start check warehouse
  mov ecx, [rax+1C]  // max capacity
  test ecx, ecx
  je code

  mov cx, [rax+12]
  cmp ecx, F
  jne check_1a_next
  jmp check_1a

check_12_next:
  mov cx, [rax+12]
  cmp ecx, 1
  jne code

check_1a:
  mov cx, [rax+1A]
  cmp ecx, F
  jne check_1a_next
  jmp check_item_no

check_1a_next:
  mov cx, [rax+1A]
  cmp ecx, 1
  jne code

check_item_no:
  mov ecx,[rax+20] // item # must &gt;2
  cmp ecx, 2
  jbe code

  jmp to_warehouse

check_warehouse0:
  mov ecx, [rax+18]
  cmp ecx, #1010190
  ja check_warehouse1
  cmp ecx, #110000
  ja check_warehouse2
  jmp code
check_warehouse2: // DLC
  cmp ecx, #150000
  jb to_warehouse
  jmp code
check_warehouse1: // original
  cmp ecx, #1020000
  jb to_warehouse
  jmp code
  //end check warehouse

check_coin:
  push rbx
  push rdx
  xor rdx, rdx
  xor rbx, rbx
  mov rbx, [rax+20]
  cmp rbx, FFFF
  jle go_check_enemy

save_money_addr:
  mov ebx, [rax+2c]
  add edx, ebx
  mov ebx, [rax+3c]
  add edx, ebx
  mov ebx, [rax+34]
  add edx, ebx
  cmp edx, 0
  lea rbx, [rax+20]
  jne go_check_enemy

  mov [i_money_addr1], rbx
  mov ebx, [rax+20]
  mov edx, [i_min_money]
  cmp ebx, edx
  cmovb ebx, edx
  mov [rax+20], ebx
  jmp endp_money

go_check_enemy:
  mov dword ptr [is_enemy], 1

endp_money:
  pop rdx
  pop rbx

  cmp dword ptr [is_enemy], 1
  je check_enemy

  jmp code


to_influence:
  push rbx
  lea rbx, [rax+20]
  mov [i_influence_avail_addr], rbx
  lea rbx, [rax+1C]
  mov [i_influence_total_addr], rbx
  pop rbx
  jmp code

to_warehouse:
  push rbx
  mov ebx, [rax+68]
  cmp ebx, 1
  pop rbx
  je code

  cmp dword ptr [is_keep_warehouse_slot], 1
  jne code

  // check if warehouse data exists
  cmp qword ptr [i_warehouse_base], 0
  je code

  // check if warehouse slot id saved in script "Click warehouse -&gt; set stock size"
  push r14
  push rdi
  xor r14, r14
  mov dword ptr [is_warehouse_id_found], 0

loop1:
  mov rdi, i_warehouse_base
  lea rdi, [rdi+r14d*8]
  cmp qword ptr [rdi], 0
  je check_endp
  cmp qword ptr [rdi], rax
  je check_found
  inc r14d
  cmp r14d, #1000
  jae check_endp
  jmp loop1

check_found:
  mov dword ptr [is_warehouse_id_found], 1

check_endp:
  pop rdi
  pop r14
  //  --------------------------

  cmp dword ptr [is_warehouse_id_found], 1
  jne code

  push rcx
  push rbx

  mov ebx, [rax+20]
  mov ecx, [rax+1C]

wh_check_min:
  cmp ebx, 1
  ja wh_check_min1
  jmp warehouse_endp

wh_check_min1:
  cmp ebx, dword ptr [i_min_watermark]
  ja wh_check_max
  mov ebx, [i_min_watermark]
  mov [rax+20], ebx
  jmp warehouse_endp

wh_check_max:
  cmp ecx, dword ptr [i_max_watermark]
  jb warehouse_endp
  mov ebx, [rax+1C]
  sub ebx, dword ptr [i_max_watermark]
  mov [rax+20], ebx
  jmp warehouse_endp


warehouse_endp:
  pop rbx
  pop rcx

  jmp code

check_enemy:


code:
  mov ecx,[rax+20]
  mov rax,rdi
  jmp return

align 10 cc
  i_money_addr1:
  dq 0
  i_min_money:
  dd #100000
  i_influence_avail_addr:
  dq 0
  i_influence_total_addr:
  dq 0
  is_enemy:
  dd 1
  is_keep_warehouse_slot:
  dd 0
  i_min_watermark:
  dd #55
  i_max_watermark:
  dd #10
  is_warehouse_id_found:
  dd 0


INJECT_MONEY_AND_WAREHOUSE_SLOT:
  jmp newmem
  nop
return:

registersymbol(i_min_watermark)
registersymbol(i_max_watermark)
registersymbol(is_keep_warehouse_slot)
registersymbol(i_influence_total_addr)
registersymbol(i_influence_avail_addr)
registersymbol(i_min_money)
registersymbol(i_money_addr1)
registersymbol(INJECT_MONEY_AND_WAREHOUSE_SLOT)

[DISABLE]

INJECT_MONEY_AND_WAREHOUSE_SLOT:
  db 8B 48 20 48 8B C7

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Anno1800.exe+752892

Anno1800.exe+752876: 8B 48 1C        - mov ecx,[rax+1C]
Anno1800.exe+752879: 2B D1           - sub edx,ecx
Anno1800.exe+75287B: 78 61           - js Anno1800.exe+7528DE
Anno1800.exe+75287D: 89 17           - mov [rdi],edx
Anno1800.exe+75287F: 48 8B C7        - mov rax,rdi
Anno1800.exe+752882: 48 8B 5C 24 30  - mov rbx,[rsp+30]
Anno1800.exe+752887: 48 8B 74 24 38  - mov rsi,[rsp+38]
Anno1800.exe+75288C: 48 83 C4 20     - add rsp,20
Anno1800.exe+752890: 5F              - pop rdi
Anno1800.exe+752891: C3              - ret
// ---------- INJECTING HERE ----------
Anno1800.exe+752892: 8B 48 20        - mov ecx,[rax+20]
// ---------- DONE INJECTING  ----------
Anno1800.exe+752895: 48 8B C7        - mov rax,rdi
Anno1800.exe+752898: 89 0F           - mov [rdi],ecx
Anno1800.exe+75289A: 48 8B 5C 24 30  - mov rbx,[rsp+30]
Anno1800.exe+75289F: 48 8B 74 24 38  - mov rsi,[rsp+38]
Anno1800.exe+7528A4: 48 83 C4 20     - add rsp,20
Anno1800.exe+7528A8: 5F              - pop rdi
Anno1800.exe+7528A9: C3              - ret
Anno1800.exe+7528AA: 48 8B 02        - mov rax,[rdx]
Anno1800.exe+7528AD: 48 8B CA        - mov rcx,rdx
Anno1800.exe+7528B0: FF 50 40        - call qword ptr [rax+40]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>8</ID>
              <Description>"Player coin"</Description>
              <ShowAsSigned>1</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>[i_money_addr1]</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>9</ID>
              <Description>"Min. coin"</Description>
              <ShowAsSigned>1</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_money</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>11</ID>
              <Description>"Influence total"</Description>
              <ShowAsSigned>1</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>[i_influence_total_addr]</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>10</ID>
              <Description>"Influence available"</Description>
              <ShowAsSigned>1</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>[i_influence_avail_addr]</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>48</ID>
              <Description>"Player warehouse stock#"</Description>
              <Options moHideChildren="1"/>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>49</ID>
                  <Description>"1. "Click warehouse -&gt; set stock size" must be enabled"</Description>
                  <Color>8000FF</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>50</ID>
                  <Description>"2. Then select any player warehouse"</Description>
                  <Color>8000FF</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>51</ID>
                  <Description>"3. If any new good stocked, need to click warehouse again"</Description>
                  <Color>8000FF</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>12</ID>
                  <Description>"Keep warehouse stock (at least &gt;=2; not fully tested)"</Description>
                  <Options moHideChildren="1"/>
                  <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>804000</Color>
                  <VariableType>4 Bytes</VariableType>
                  <Address>is_keep_warehouse_slot</Address>
                  <CheatEntries>
                    <CheatEntry>
                      <ID>13</ID>
                      <Description>"  Stock min. value"</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>i_min_watermark</Address>
                    </CheatEntry>
                    <CheatEntry>
                      <ID>14</ID>
                      <Description>"  Stock max value = (Capacity - X), X ="</Description>
                      <ShowAsSigned>0</ShowAsSigned>
                      <VariableType>4 Bytes</VariableType>
                      <Address>i_max_watermark</Address>
                    </CheatEntry>
                  </CheatEntries>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>16</ID>
          <Description>"Ship HP (may affect buildings)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Anno1800.exe
  Version: 
  Date   : 2022-04-06
  Author : bbfox @ https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_SHIP_HP,$process,66 89 7B 56 66 85 FF) // should be unique
alloc(newmem,$1000,INJECT_SHIP_HP)

label(code)
label(return)
label(is_player_ship)
label(is_lower_enemy_hp)

newmem:
  mov dword ptr [is_player_ship], 0

  push rax
  push rcx

  mov ax, [rbx+40]
  test ax, ax
  je endp
  mov ax, [rbx+42]
  test ax, ax
  je endp
  mov ax, [rbx+120]
  test ax, ax
  jne endp
  //mov ax, [rbx+28]
  //cmp ax, 1
  //jne endp
  mov dword ptr [is_player_ship], 1
endp:
  pop rcx
  pop rax

  cmp dword ptr [is_player_ship], 1
  jne to_enemy

  push rax
  mov ax, [rbx+58]
  mov di, ax
  pop rax
  jmp code

to_enemy:
  cmp dword ptr [is_lower_enemy_hp], 1
  jne code
  push rax
  push rcx
  xor rcx, rcx
  xor rax, rax

  movzx eax, word ptr [rbx+58]
  cvtsi2ss xmm15, eax
  vmovss xmm14, [vf_2]
  divss xmm15, xmm14
  cvtss2si eax, xmm15
  cmp di, ax
  jbe enemy_endp
  mov di, ax

enemy_endp:
  pop rcx
  pop rax


code:
  mov [rbx+56],di
  test di,di
  jmp return
align 10 cc
  is_player_ship:
  dd 0
  is_lower_enemy_hp:
  dd 0
  vf_2:
  dd (float)2


INJECT_SHIP_HP:
  jmp newmem
  nop 2
return:

registersymbol(is_lower_enemy_hp)
registersymbol(INJECT_SHIP_HP)

[DISABLE]

INJECT_SHIP_HP:
  db 66 89 7B 56 66 85 FF

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Anno1800.exe+149A2B

Anno1800.exe+149A04: 48 8B 4A 28     - mov rcx,[rdx+28]
Anno1800.exe+149A08: 8B 42 08        - mov eax,[rdx+08]
Anno1800.exe+149A0B: 89 44 24 28     - mov [rsp+28],eax
Anno1800.exe+149A0F: 48 89 4C 24 20  - mov [rsp+20],rcx
Anno1800.exe+149A14: E8 67 DC 04 00  - call Anno1800.exe+197680
Anno1800.exe+149A19: 33 C0           - xor eax,eax
Anno1800.exe+149A1B: 66 3B C7        - cmp ax,di
Anno1800.exe+149A1E: 66 0F 4D F8     - cmovge di,ax
Anno1800.exe+149A22: 66 39 7B 58     - cmp [rbx+58],di
Anno1800.exe+149A26: 66 0F 4C 7B 58  - cmovl di,[rbx+58]
// ---------- INJECTING HERE ----------
Anno1800.exe+149A2B: 66 89 7B 56     - mov [rbx+56],di
// ---------- DONE INJECTING  ----------
Anno1800.exe+149A2F: 66 85 FF        - test di,di
Anno1800.exe+149A32: 7F 17           - jg Anno1800.exe+149A4B
Anno1800.exe+149A34: 48 8B 43 08     - mov rax,[rbx+08]
Anno1800.exe+149A38: 8B 48 58        - mov ecx,[rax+58]
Anno1800.exe+149A3B: C1 E9 04        - shr ecx,04
Anno1800.exe+149A3E: F6 C1 01        - test cl,01
Anno1800.exe+149A41: 75 08           - jne Anno1800.exe+149A4B
Anno1800.exe+149A43: 48 8B CB        - mov rcx,rbx
Anno1800.exe+149A46: E8 75 D7 FF FF  - call Anno1800.exe+1471C0
Anno1800.exe+149A4B: 48 8B CB        - mov rcx,rbx
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>17</ID>
              <Description>"Non player ship half HP? (not recommended)"</Description>
              <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>is_lower_enemy_hp</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>39</ID>
          <Description>"Click ship cargo -&gt; set stock size"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Anno1800.exe
  Version: 
  Date   : 2022-04-21
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CLICK_CARGO,$process,8B 78 20 85 FF 78 2C) // should be unique
alloc(newmem,$1000,INJECT_CLICK_CARGO)

label(code)
label(return)
label(i_min_cargo_size)

newmem:
  mov edi,[rax+20]
  cmp edi, [i_min_cargo_size]
  jae code
  mov edi, [i_min_cargo_size]
  mov [rax+20], edi

code:
  mov edi,[rax+20]
  test edi,edi
  jmp return

align 10 cc
  i_min_cargo_size:
  dd #1000

INJECT_CLICK_CARGO:
  jmp newmem
return:
registersymbol(i_min_cargo_size)
registersymbol(INJECT_CLICK_CARGO)

[DISABLE]

INJECT_CLICK_CARGO:
  db 8B 78 20 85 FF

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Anno1800.exe+1FB0B98

Anno1800.exe+1FB0B7B: 74 05           - je Anno1800.exe+1FB0B82
Anno1800.exe+1FB0B7D: 8B 59 08        - mov ebx,[rcx+08]
Anno1800.exe+1FB0B80: EB 03           - jmp Anno1800.exe+1FB0B85
Anno1800.exe+1FB0B82: 41 8B DF        - mov ebx,r15d
Anno1800.exe+1FB0B85: 48 8B 0F        - mov rcx,[rdi]
Anno1800.exe+1FB0B88: 48 85 C9        - test rcx,rcx
Anno1800.exe+1FB0B8B: 74 3E           - je Anno1800.exe+1FB0BCB
Anno1800.exe+1FB0B8D: 41 8B D6        - mov edx,r14d
Anno1800.exe+1FB0B90: E8 9B F7 29 FE  - call Anno1800.exe+250330
Anno1800.exe+1FB0B95: 48 8B C8        - mov rcx,rax
// ---------- INJECTING HERE ----------
Anno1800.exe+1FB0B98: 8B 78 20        - mov edi,[rax+20]
// ---------- DONE INJECTING  ----------
Anno1800.exe+1FB0B9B: 85 FF           - test edi,edi
Anno1800.exe+1FB0B9D: 78 2C           - js Anno1800.exe+1FB0BCB
Anno1800.exe+1FB0B9F: 74 16           - je Anno1800.exe+1FB0BB7
Anno1800.exe+1FB0BA1: 48 8B 40 10     - mov rax,[rax+10]
Anno1800.exe+1FB0BA5: 48 2B 41 08     - sub rax,[rcx+08]
Anno1800.exe+1FB0BA9: 48 83 E0 F0     - and rax,-10
Anno1800.exe+1FB0BAD: 48 83 F8 10     - cmp rax,10
Anno1800.exe+1FB0BB1: 41 0F 45 FF     - cmovne edi,r15d
Anno1800.exe+1FB0BB5: EB 17           - jmp Anno1800.exe+1FB0BCE
Anno1800.exe+1FB0BB7: 48 8B 78 10     - mov rdi,[rax+10]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>45</ID>
              <Description>"Min. size"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_cargo_size</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"Click warehouse -&gt; set stock size"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : Anno1800.exe
  Version: 
  Date   : 2022-04-21
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_CLICK_WAREHOUSE,$process,8B 48 20 89 4D 4F) // should be unique
alloc(newmem,$1000,INJECT_CLICK_WAREHOUSE)

label(code)
label(return)
label(i_min_stock_size)

newmem:
  push r14
  push rdi

  xor r14, r14
  //xor rdi, rdi

loop1:
  mov rdi, i_warehouse_base
  lea rdi, [rdi+r14d*8]
  cmp qword ptr [rdi], 0
  je store_and_endp
  cmp qword ptr [rdi], rax
  je endp
  inc r14d
  cmp r14d, #1000
  jae endp
  jmp loop1


store_and_endp:
  mov [rdi], rax

endp:

  pop rdi
  pop r14


  mov ecx,[rax+20]
  cmp ecx, [i_min_stock_size]
  jae code
  mov ecx, [i_min_stock_size]
  mov dword ptr [rax+20], ecx

code:
  mov ecx,[rax+20]
  mov [rbp+4F],ecx
  jmp return

align 10 cc
  i_min_stock_size:
  dd #125

INJECT_CLICK_WAREHOUSE:
  jmp newmem
  nop
return:
registersymbol(i_min_stock_size)
registersymbol(INJECT_CLICK_WAREHOUSE)
[DISABLE]

INJECT_CLICK_WAREHOUSE:
  db 8B 48 20 89 4D 4F

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Anno1800.exe+1FD06A3

Anno1800.exe+1FD067F: 90                 - nop
Anno1800.exe+1FD0680: 48 3B C2           - cmp rax,rdx
Anno1800.exe+1FD0683: 0F 84 C8 01 00 00  - je Anno1800.exe+1FD0851
Anno1800.exe+1FD0689: 48 8B 40 08        - mov rax,[rax+08]
Anno1800.exe+1FD068D: 44 3B 48 10        - cmp r9d,[rax+10]
Anno1800.exe+1FD0691: 75 ED              - jne Anno1800.exe+1FD0680
Anno1800.exe+1FD0693: 48 85 C0           - test rax,rax
Anno1800.exe+1FD0696: 48 0F 44 C1        - cmove rax,rcx
Anno1800.exe+1FD069A: 48 3B C1           - cmp rax,rcx
Anno1800.exe+1FD069D: 0F 84 AE 01 00 00  - je Anno1800.exe+1FD0851
// ---------- INJECTING HERE ----------
Anno1800.exe+1FD06A3: 8B 48 20           - mov ecx,[rax+20]
// ---------- DONE INJECTING  ----------
Anno1800.exe+1FD06A6: 89 4D 4F           - mov [rbp+4F],ecx
Anno1800.exe+1FD06A9: 44 8B 58 1C        - mov r11d,[rax+1C]
Anno1800.exe+1FD06AD: 44 89 5D B3        - mov [rbp-4D],r11d
Anno1800.exe+1FD06B1: 45 33 C0           - xor r8d,r8d
Anno1800.exe+1FD06B4: 48 8B 50 48        - mov rdx,[rax+48]
Anno1800.exe+1FD06B8: 4C 8B 50 50        - mov r10,[rax+50]
Anno1800.exe+1FD06BC: 49 3B D2           - cmp rdx,r10
Anno1800.exe+1FD06BF: 74 19              - je Anno1800.exe+1FD06DA
Anno1800.exe+1FD06C1: 80 7A 24 00        - cmp byte ptr [rdx+24],00
Anno1800.exe+1FD06C5: 75 0F              - jne Anno1800.exe+1FD06D6
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>44</ID>
              <Description>"Min. size"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_min_stock_size</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>46</ID>
      <Description>"Anno 1800 15.0.1156840 /  https://opencheattables.com  /  CE 7.4+"</Description>
      <Color>400080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>ｂｂｆｏｘ＠ｈｔｔｐｓ：／／ｏｐｅｎｃｈｅａｔｔａｂｌｅｓ．ｏｒｇ
</Comments>
</CheatTable>
