<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>2</ID>
      <Description>"Only turn on when needed! or game will detect cheat!"</Description>
      <Color>8000FF</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
    <CheatEntry>
      <ID>0</ID>
      <Description>"Lock resources (skirmish map)"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : AoE2DE.exe
  Version: 
  Date   : 2022-10-31
  Author : bbfox@https://opencheattables.com
}

[ENABLE]

aobscanmodule(INJECT_PLAYER_RESOURCES,$process,03 00 00 49 8B 42 18 49 BB 84 C8 D3 CB 18 2C FA 4E) // should be unique
alloc(newmem,$1000,INJECT_PLAYER_RESOURCES)

label(code)
label(return)

newmem:
  push rbx
  push rax

  mov rbx,[r10+18]
  mov eax, [rbx+10]
  cmp eax, 1
  jne endp

  mov rbx,[rbx+F0]

  mov eax, 527C159D
  //mov eax, 53F4AC1A
  mov [rbx], eax
  mov [rbx+8], eax
  mov [rbx+10], eax
  mov [rbx+18], eax


endp:
  db EB 3B 54 68 69 73 20 74 61 62 6C 65 20 63 6F 6D 65 73 20 66 72 6F 6D 20 68 74 74 70 73 3A 2F
  db 2F 6F 70 65 6E 63 68 65 61 74 74 61 62 6C 65 73 2E 63 6F 6D 20 2F 20 43 45 20 37 2E 34 2B

  pop rax
  pop rbx

code:
  mov rax,[r10+18]
  mov r11,4EFA2C18CBD3C884
  jmp return

INJECT_PLAYER_RESOURCES+03:
  jmp newmem
  nop 9
return:
registersymbol(INJECT_PLAYER_RESOURCES)

[DISABLE]

INJECT_PLAYER_RESOURCES+03:
  db 49 8B 42 18 49 BB 84 C8 D3 CB 18 2C FA 4E

unregistersymbol(INJECT_PLAYER_RESOURCES)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: AoE2DE.exe+1541C64

AoE2DE.exe+1541C30: 0F 87 C2 03 00 00              - ja AoE2DE.exe+1541FF8
AoE2DE.exe+1541C36: 48 89 5C 24 30                 - mov [rsp+30],rbx
AoE2DE.exe+1541C3B: 48 8D 0D BE E3 AB FE           - lea rcx,[AoE2DE.exe]
AoE2DE.exe+1541C42: 48 89 74 24 40                 - mov [rsp+40],rsi
AoE2DE.exe+1541C47: 48 89 7C 24 20                 - mov [rsp+20],rdi
AoE2DE.exe+1541C4C: 44 8B 84 81 00 20 54 01        - mov r8d,[rcx+rax*4+01542000]
AoE2DE.exe+1541C54: 4C 03 C1                       - add r8,rcx
AoE2DE.exe+1541C57: 41 FF E0                       - jmp r8
AoE2DE.exe+1541C5A: 80 7A 01 00                    - cmp byte ptr [rdx+01],00
AoE2DE.exe+1541C5E: 0F 85 85 03 00 00              - jne AoE2DE.exe+1541FE9
// ---------- INJECTING HERE ----------
AoE2DE.exe+1541C64: 49 8B 42 18                    - mov rax,[r10+18]
// ---------- DONE INJECTING  ----------
AoE2DE.exe+1541C68: 49 BB 84 C8 D3 CB 18 2C FA 4E  - mov r11,4EFA2C18CBD3C884
AoE2DE.exe+1541C72: 48 63 52 08                    - movsxd  rdx,dword ptr [rdx+08]
AoE2DE.exe+1541C76: 48 BB 2E A5 7F 0E EF D4 DA 0C  - mov rbx,0CDAD4EF0E7FA52E
AoE2DE.exe+1541C80: 48 BF B1 D8 DF 69 47 C5 37 5F  - mov rdi,5F37C54769DFD8B1
AoE2DE.exe+1541C8A: 48 BE 07 6E 78 D9 9E 7C 75 74  - mov rsi,74757C9ED9786E07
AoE2DE.exe+1541C94: 48 8B 88 F0 00 00 00           - mov rcx,[rax+000000F0]
AoE2DE.exe+1541C9B: 48 8B 04 D1                    - mov rax,[rcx+rdx*8]
AoE2DE.exe+1541C9F: 33 C9                          - xor ecx,ecx
AoE2DE.exe+1541CA1: 48 89 44 24 38                 - mov [rsp+38],rax
AoE2DE.exe+1541CA6: 48 8B 44 24 38                 - mov rax,[rsp+38]
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1</ID>
      <Description>"Steam, Xbox Games: Age of Empires II: Definitive Edition  101.102.5558.0 /  https://opencheattables.com  /  CE 7.4"</Description>
      <Color>400080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
