<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="51">
  <CheatEntries>
    <CheatEntry>
      <ID>78</ID>
      <Description>"[$LUA/ASM] Allow Modifications"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript Async="1">[ENABLE]
{$lua}
 -- lock stuff that kills the game.
 -- doesn't prevent detection.
writeByte(disassemble(aOBScanModuleUnique(process,"87 05 ? ? ? ? e8 ?? ?? ?? ?? ?? ?? ?? ?? ?? 48")):match("%[(.-)%]"),01)
{$asm}
// Writing. doesn't prevent detection (and logging)
aobscanmodule(Code,AoE2DE_s.exe,49 89 c0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? c3 58 c3)
Code:
call KERNEL32.GetCurrentThread
mov rcx,rax
call ntdll.ZwSuspendThread
int 3
[DISABLE]
{ Function dump of "AoE2DE_s.exe+F9DC69"
~ Function header aob : "90 0F 57 C0 0F 11 E9 D0" ~
// [0000/0] AoE2DE_s.exe+F9DC4A -- (1) 90 -- nop
// [0001/1] AoE2DE_s.exe+F9DC4B -- (3) 0F57 C0  -- xorps xmm0,xmm0
// [0004/4] AoE2DE_s.exe+F9DC4E -- (3) 0F11 E9  -- movups xmm1,xmm5
// [0007/7] AoE2DE_s.exe+F9DC51 -- (2) D0 E8  -- shr al,1
// [0009/9] AoE2DE_s.exe+F9DC53 -- (3) 30 04 90   -- xor [rax+rdx*4],al
// [000C/12] AoE2DE_s.exe+F9DC56 -- (7) 28 AC A2 BA6AE840  -- sub [rdx+40E86ABA],ch
// [0013/19] AoE2DE_s.exe+F9DC5D -- (3) F0 00 00  -- lock add [rax],al
// [0016/22] AoE2DE_s.exe+F9DC60 -- (2) 8B 0B  -- mov ecx,[rbx]
// [0018/24] AoE2DE_s.exe+F9DC62 -- (5) E8 29F00000 -- call AoE2DE_s.exe+FACC90
// [001D/29] AoE2DE_s.exe+F9DC67 -- (2) 33 C0  -- xor eax,eax
// [001F/31] AoE2DE_s.exe+F9DC69 -- (6) 87 05 35A91403  -- xchg [AoE2DE_s.exe+40E85A4],eax
// [0025/37] AoE2DE_s.exe+F9DC6F -- (5) E8 334DC101 -- call AoE2DE_s.exe+2BB29A7 -- [-&gt;MSVCP140.Cnd_do_broadcast_at_thread_exit]
// [002A/42] AoE2DE_s.exe+F9DC74 -- (5) BA 04000000 -- mov edx,00000004
// [002F/47] AoE2DE_s.exe+F9DC79 -- (3) 48 8B CB  -- mov rcx,rbx
// [0032/50] AoE2DE_s.exe+F9DC7C -- (5) E8 175BC101 -- call AoE2DE_s.exe+2BB3798
// [0037/55] AoE2DE_s.exe+F9DC81 -- (2) 33 C0  -- xor eax,eax
// [0039/57] AoE2DE_s.exe+F9DC83 -- (4) 48 83 C4 20 -- add rsp,20
// [003D/61] AoE2DE_s.exe+F9DC87 -- (1) 5B -- pop rbx
// [003E/62] AoE2DE_s.exe+F9DC88 -- (1) C3 -- ret
}

{
AoE2DE_s.exe+529FA87 - 4C 8D 05 215160FB     - lea r8,[AoE2DE_s.exe+8A4BAF] { (72)
AoE2DE_s.exe+529FA8E - 48 8D 64 24 F8        - lea rsp,[rsp-08]
AoE2DE_s.exe+529FA93 - 48 89 04 24           - mov [rsp],rax
AoE2DE_s.exe+529FA97 - 48 8B 44 24 08        - mov rax,[rsp+08]
AoE2DE_s.exe+529FA9C - 4C 89 44 24 08        - mov [rsp+08],r8
AoE2DE_s.exe+529FAA1 - 49 89 C0              - mov r8,rax
AoE2DE_s.exe+529FAA4 - 48 8D 64 24 08        - lea rsp,[rsp+08]
AoE2DE_s.exe+529FAA9 - 48 8B 44 24 F8        - mov rax,[rsp-08]
AoE2DE_s.exe+529FAAE - 41 53                 - push r11
AoE2DE_s.exe+529FAB0 - 4C 8D 1D 72960000     - lea r11,[AoE2DE_s.exe+52A9129] { (72)
AoE2DE_s.exe+529FAB7 - 50                    - push rax
AoE2DE_s.exe+529FAB8 - 48 8B 44 24 08        - mov rax,[rsp+08]
AoE2DE_s.exe+529FABD - 4C 89 5C 24 08        - mov [rsp+08],r11
AoE2DE_s.exe+529FAC2 - 49 89 C3              - mov r11,rax
AoE2DE_s.exe+529FAC5 - 58                    - pop rax
AoE2DE_s.exe+529FAC6 - C3                    - ret
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>97</ID>
          <Description>"[$ASM] Load Script"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript Async="1">[ENABLE]
aobscanmodule(INJECT,$process,F3 0F 2C C9 E9 24 01 00 00 80 7A 01 00 0F 85 A4 01 00 00 49 8B 42 18 49 ? ? ? ? ? ? ? ? ? 48)
alloc(newmem,$1000,INJECT)
label(code return preserve lockByte customByte playerStuff altUserLock UserLockValue)

newmem:
  db 53 50 52 49 8B 5A 18 8B 43 10 83 F8 01
  jne code
  db 48 8B 9B F8 00 00 00
mov [playerStuff],rbx
cmp byte ptr [lockByte],01
jne code
mov rax,[UserLockValue]

db 48 89 03 48 89 43 08 48 89 43 10 48 89 43 18 48 89 43 20
jmp code

code:
db 5A 58 5B 49 8B 42 18

preserve:
  readmem(INJECT+17,10)
  jmp return

lockByte:
db 00
align 8 00
customByte:
db 00
align 8 00
playerStuff:
dq 00
align 8 00
altUserLock:
db 00
align 8 00:
UserLockValue:
dq #6567489369325863268

INJECT+17:
  jmp newmem
  nop 5
return:
registersymbol(INJECT preserve lockByte customByte playerStuff altUserLock UserLockValue)
[DISABLE]
INJECT+17:
readmem(preserve,10)
unregistersymbol(INJECT preserve lockByte customByte playerStuff altUserLock UserLockValue)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: 7FF6CE22EEC5

7FF6CE22EE9A: 76 09                          - jna 7FF6CE22EEA5
7FF6CE22EE9C: F3 41 0F 11 41 1C              - movss [r9+1C],xmm0
7FF6CE22EEA2: 0F 28 C8                       - movaps xmm1,xmm0
7FF6CE22EEA5: 66 41 0F 6E 41 10              - movd xmm0,[r9+10]
7FF6CE22EEAB: 0F 5B C0                       - cvtdq2ps xmm0,xmm0
7FF6CE22EEAE: F3 0F 5E C8                    - divss xmm1,xmm0
7FF6CE22EEB2: F3 0F 2C C9                    - cvttss2si ecx,xmm1
7FF6CE22EEB6: E9 24 01 00 00                 - jmp 7FF6CE22EFDF
7FF6CE22EEBB: 80 7A 01 00                    - cmp byte ptr [rdx+01],00
7FF6CE22EEBF: 0F 85 A4 01 00 00              - jne 7FF6CE22F069
// ---------- INJECTING HERE ----------
7FF6CE22EEC5: 49 8B 42 18                    - mov rax,[r10+18]
// ---------- DONE INJECTING  ----------
7FF6CE22EEC9: 49 ? ? ? ? ? ? ? ? ?  - mov r11,8F61E129B6A2105E
7FF6CE22EED3: 48 63 52 08                    - movsxd  rdx,dword ptr [rdx+08]
7FF6CE22EED7: 48 BB DA 26 74 FE 2C DF 8A 34  - mov rbx,348ADF2CFE7426DA
7FF6CE22EEE1: 48 BF 0C A5 34 AF 83 17 E5 41  - mov rdi,41E51783AF34A50C
7FF6CE22EEEB: 48 BE 3D 35 13 E4 F7 B7 7B 0E  - mov rsi,0E7BB7F7E413353D
7FF6CE22EEF5: 48 8B 88 08 01 00 00           - mov rcx,[rax+00000108]
7FF6CE22EEFC: 48 8B 04 D1                    - mov rax,[rcx+rdx*8]
7FF6CE22EF00: 48 89 44 24 38                 - mov [rsp+38],rax
7FF6CE22EF05: 48 8B 44 24 38                 - mov rax,[rsp+38]
7FF6CE22EF0A: 49 33 C3                       - xor rax,r11
}


{ Function dump of "INJECT"
~ Function header aob : "48 8B 49 18 48 8B 49 08" ~
~ RunTime Function : "true (id: 63519 )" ~
// [0000/0] AoE2DE_s.exe+15C80A7 -- (4) 48 8B 49 18  -- mov rcx,[rcx+18]
// [0004/4] AoE2DE_s.exe+15C80AB -- (4) 48 8B 49 08  -- mov rcx,[rcx+08]
// [0008/8] AoE2DE_s.exe+15C80AF -- (5) E8 8C2F0400 -- call AoE2DE_s.exe+160B040
// [000D/13] AoE2DE_s.exe+15C80B4 -- (4) 49 8B 4F 18  -- mov rcx,[r15+18]
// [0011/17] AoE2DE_s.exe+15C80B8 -- (2) 33 DB  -- xor ebx,ebx
// [0013/19] AoE2DE_s.exe+15C80BA -- (5) 48 89 44 24 70  -- mov [rsp+70],rax
// [0018/24] AoE2DE_s.exe+15C80BF -- (2) 8B FB  -- mov edi,ebx
// [001A/26] AoE2DE_s.exe+15C80C1 -- (4) 48 8B 49 08  -- mov rcx,[rcx+08]
// [001E/30] AoE2DE_s.exe+15C80C5 -- (5) E8 762E0400 -- call AoE2DE_s.exe+160AF40
// [0023/35] AoE2DE_s.exe+15C80CA -- (2) 85 C0  -- test eax,eax
// [0025/37] AoE2DE_s.exe+15C80CC -- (2) 7E C0 -- jle AoE2DE_s.exe+15C808E
// [0027/39] AoE2DE_s.exe+15C80CE -- (2) 8B EB  -- mov ebp,ebx
// [0029/41] AoE2DE_s.exe+15C80D0 -- (3) 44 8B F3  -- mov r14d,ebx
// [002C/44] AoE2DE_s.exe+15C80D3 -- (10) 49 BC 4EA6784EB9D3C45F -- mov r12,5FC4D3B94E78A64E
// [0036/54] AoE2DE_s.exe+15C80DD -- (10) 49 BD 650A0EE921045C8F -- mov r13,8F5C0421E90E0A65
// [0040/64] AoE2DE_s.exe+15C80E7 -- (4) 49 8B 4F 18  -- mov rcx,[r15+18]
// [0044/68] AoE2DE_s.exe+15C80EB -- (10) 49 BB EDE334A90950F046 -- mov r11,46F05009A934E3ED
// [004E/78] AoE2DE_s.exe+15C80F5 -- (10) 49 BA 2FBA8C63135C9452 -- mov r10,52945C13638CBA2F
// [0058/88] AoE2DE_s.exe+15C80FF -- (7) 48 8B 81 58020000  -- mov rax,[rcx+00000258]
// [005F/95] AoE2DE_s.exe+15C8106 -- (3) 38 1C 28   -- cmp [rax+rbp],bl
// [0062/98] AoE2DE_s.exe+15C8109 -- (6) 0F84 9B000000 -- je AoE2DE_s.exe+15C81AA
// [0068/104] AoE2DE_s.exe+15C810F -- (6) 3B B9 10070000  -- cmp edi,[rcx+00000710]
// [006E/110] AoE2DE_s.exe+15C8115 -- (6) 0F84 8F000000 -- je AoE2DE_s.exe+15C81AA
// [0074/116] AoE2DE_s.exe+15C811B -- (5) 48 8B 44 24 70  -- mov rax,[rsp+70]
// [0079/121] AoE2DE_s.exe+15C8120 -- (3) 48 8B 00  -- mov rax,[rax]
// [007C/124] AoE2DE_s.exe+15C8123 -- (4) 4A 8B 0C 30   -- mov rcx,[rax+r14]
// [0080/128] AoE2DE_s.exe+15C8127 -- (4) 48 8B 41 30  -- mov rax,[rcx+30]
// [0084/132] AoE2DE_s.exe+15C812B -- (3) 48 8B CB  -- mov rcx,rbx
// [0087/135] AoE2DE_s.exe+15C812E -- (4) 4C 63 40 10  -- movsxd  r8,dword ptr [rax+10]
// [008B/139] AoE2DE_s.exe+15C8132 -- (4) 4C 8B 48 08  -- mov r9,[rax+08]
// [008F/143] AoE2DE_s.exe+15C8136 -- (3) 4D 85 C0  -- test r8,r8
// [0092/146] AoE2DE_s.exe+15C8139 -- (2) 7E 6F -- jle AoE2DE_s.exe+15C81AA
// [0094/148] AoE2DE_s.exe+15C813B -- (5) 0F1F 44 00 00  -- nop dword ptr [rax+rax+00]
// [0099/153] AoE2DE_s.exe+15C8140 -- (4) 49 8B 04 C9   -- mov rax,[r9+rcx*8]
// [009D/157] AoE2DE_s.exe+15C8144 -- (7) 48 8B 90 C0000000  -- mov rdx,[rax+000000C0]
// [00A4/164] AoE2DE_s.exe+15C814B -- (5) 48 89 54 24 68  -- mov [rsp+68],rdx
// [00A9/169] AoE2DE_s.exe+15C8150 -- (5) 48 8B 44 24 68  -- mov rax,[rsp+68]
// [00AE/174] AoE2DE_s.exe+15C8155 -- (3) 49 33 C4  -- xor rax,r12
// [00B1/177] AoE2DE_s.exe+15C8158 -- (5) 48 89 44 24 68  -- mov [rsp+68],rax
// [00B6/182] AoE2DE_s.exe+15C815D -- (5) 48 8B 44 24 68  -- mov rax,[rsp+68]
// [00BB/187] AoE2DE_s.exe+15C8162 -- (3) 49 33 C5  -- xor rax,r13
// [00BE/190] AoE2DE_s.exe+15C8165 -- (5) 48 89 44 24 68  -- mov [rsp+68],rax
// [00C3/195] AoE2DE_s.exe+15C816A -- (5) 48 8B 44 24 68  -- mov rax,[rsp+68]
// [00C8/200] AoE2DE_s.exe+15C816F -- (7) 48 8B 80 58010000  -- mov rax,[rax+00000158]
// [00CF/207] AoE2DE_s.exe+15C8176 -- (5) 48 89 44 24 68  -- mov [rsp+68],rax
// [00D4/212] AoE2DE_s.exe+15C817B -- (5) 48 8B 44 24 68  -- mov rax,[rsp+68]
// [00D9/217] AoE2DE_s.exe+15C8180 -- (3) 49 33 C2  -- xor rax,r10
// [00DC/220] AoE2DE_s.exe+15C8183 -- (5) 48 89 44 24 68  -- mov [rsp+68],rax
// [00E1/225] AoE2DE_s.exe+15C8188 -- (5) 48 8B 44 24 68  -- mov rax,[rsp+68]
// [00E6/230] AoE2DE_s.exe+15C818D -- (3) 49 2B C3  -- sub rax,r11
// [00E9/233] AoE2DE_s.exe+15C8190 -- (5) 48 89 44 24 68  -- mov [rsp+68],rax
// [00EE/238] AoE2DE_s.exe+15C8195 -- (5) 48 8B 44 24 68  -- mov rax,[rsp+68]
// [00F3/243] AoE2DE_s.exe+15C819A -- (3) 0FBF D0  -- movsx edx,ax
// [00F6/246] AoE2DE_s.exe+15C819D -- (3) 3B 56 04  -- cmp edx,[rsi+04]
// [00F9/249] AoE2DE_s.exe+15C81A0 -- (2) 74 2B -- je AoE2DE_s.exe+15C81CD
// [00FB/251] AoE2DE_s.exe+15C81A2 -- (3) 48 FF C1  -- inc rcx
// [00FE/254] AoE2DE_s.exe+15C81A5 -- (3) 49 3B C8  -- cmp rcx,r8
// [0101/257] AoE2DE_s.exe+15C81A8 -- (2) 7C 96 -- jl AoE2DE_s.exe+15C8140
// [0103/259] AoE2DE_s.exe+15C81AA -- (4) 49 8B 4F 18  -- mov rcx,[r15+18]
// [0107/263] AoE2DE_s.exe+15C81AE -- (2) FF C7  -- inc edi
// [0109/265] AoE2DE_s.exe+15C81B0 -- (3) 48 FF C5  -- inc rbp
// [010C/268] AoE2DE_s.exe+15C81B3 -- (4) 49 83 C6 10 -- add r14,10
// [0110/272] AoE2DE_s.exe+15C81B7 -- (4) 48 8B 49 08  -- mov rcx,[rcx+08]
// [0114/276] AoE2DE_s.exe+15C81BB -- (5) E8 802D0400 -- call AoE2DE_s.exe+160AF40
// [0119/281] AoE2DE_s.exe+15C81C0 -- (2) 3B F8  -- cmp edi,eax
// [011B/283] AoE2DE_s.exe+15C81C2 -- (6) 0F8D C6FEFFFF -- jnl AoE2DE_s.exe+15C808E
// [0121/289] AoE2DE_s.exe+15C81C8 -- (5) E9 1AFFFFFF -- jmp AoE2DE_s.exe+15C80E7
// [0126/294] AoE2DE_s.exe+15C81CD -- (4) C6 46 3A 00 -- mov byte ptr [rsi+3A],00
// [012A/298] AoE2DE_s.exe+15C81D1 -- (5) E9 BCFEFFFF -- jmp AoE2DE_s.exe+15C8092
// [012F/303] AoE2DE_s.exe+15C81D6 -- (1) 90 -- nop 
// [0130/304] AoE2DE_s.exe+15C81D7 -- (6) FF 15 9D014404  -- call qword ptr [7FF60CC9837A]
// [0136/310] AoE2DE_s.exe+15C81DD -- (8) 4C 8D 9C 48 83EC280F  -- lea r11,[rax+rcx*2+0F28EC83]
// [013E/318] AoE2DE_s.exe+15C81E5 -- (2) B6 02 -- mov dh,02
// [0140/320] AoE2DE_s.exe+15C81E7 -- (3) 4C 8B CA  -- mov r9,rdx
// [0143/323] AoE2DE_s.exe+15C81EA -- (3) 4C 8B D1  -- mov r10,rcx
// [0146/326] AoE2DE_s.exe+15C81ED -- (3) 83 F8 07 -- cmp eax,07
// [0149/329] AoE2DE_s.exe+15C81F0 -- (6) 0F87 C2030000 -- ja AoE2DE_s.exe+15C85B8
// [014F/335] AoE2DE_s.exe+15C81F6 -- (5) 48 89 5C 24 30  -- mov [rsp+30],rbx
// [0154/340] AoE2DE_s.exe+15C81FB -- (7) 48 8D 0D FE7DA3FE  -- lea rcx,[AoE2DE_s.exe] -- [00905A4D]
// [015B/347] AoE2DE_s.exe+15C8202 -- (5) 48 89 74 24 40  -- mov [rsp+40],rsi
// [0160/352] AoE2DE_s.exe+15C8207 -- (5) 48 89 7C 24 20  -- mov [rsp+20],rdi
// [0165/357] AoE2DE_s.exe+15C820C -- (8) 44 8B 84 81 C0855C01  -- mov r8d,[rcx+rax*4+015C85C0]
// [016D/365] AoE2DE_s.exe+15C8214 -- (3) 4C 03 C1  -- add r8,rcx
// [0170/368] AoE2DE_s.exe+15C8217 -- (3) 41 FF E0  -- jmp r8
// [0173/371] AoE2DE_s.exe+15C821A -- (4) 80 7A 01 00 -- cmp byte ptr [rdx+01],00
// [0177/375] AoE2DE_s.exe+15C821E -- (6) 0F85 85030000 -- jne AoE2DE_s.exe+15C85A9
// [017D/381] AoE2DE_s.exe+15C8224 -- (4) 49 8B 42 18  -- mov rax,[r10+18]
// [0181/385] AoE2DE_s.exe+15C8228 -- (10) 49 BB 23CAAF4962191174 -- mov r11,7411196249AFCA23
// [018B/395] AoE2DE_s.exe+15C8232 -- (4) 48 63 52 08  -- movsxd  rdx,dword ptr [rdx+08]
// [018F/399] AoE2DE_s.exe+15C8236 -- (10) 48 BB 9EB3B4C33E78D3FC -- mov rbx,FCD3783EC3B4B39E
// [0199/409] AoE2DE_s.exe+15C8240 -- (10) 48 BF A1AD6D6942092923 -- mov rdi,23290942696DADA1
// [01A3/419] AoE2DE_s.exe+15C824A -- (10) 48 BE C8944927ADFF424F -- mov rsi,4F42FFAD274994C8
// [01AD/429] AoE2DE_s.exe+15C8254 -- (7) 48 8B 88 F8000000  -- mov rcx,[rax+000000F8]
// [01B4/436] AoE2DE_s.exe+15C825B -- (4) 48 8B 04 D1   -- mov rax,[rcx+rdx*8]
// [01B8/440] AoE2DE_s.exe+15C825F -- (2) 33 C9  -- xor ecx,ecx
// [01BA/442] AoE2DE_s.exe+15C8261 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [01BF/447] AoE2DE_s.exe+15C8266 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [01C4/452] AoE2DE_s.exe+15C826B -- (3) 49 33 C3  -- xor rax,r11
// [01C7/455] AoE2DE_s.exe+15C826E -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [01CC/460] AoE2DE_s.exe+15C8273 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [01D1/465] AoE2DE_s.exe+15C8278 -- (3) 48 33 C3  -- xor rax,rbx
// [01D4/468] AoE2DE_s.exe+15C827B -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [01D9/473] AoE2DE_s.exe+15C8280 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [01DE/478] AoE2DE_s.exe+15C8285 -- (3) 48 2B C7  -- sub rax,rdi
// [01E1/481] AoE2DE_s.exe+15C8288 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [01E6/486] AoE2DE_s.exe+15C828D -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [01EB/491] AoE2DE_s.exe+15C8292 -- (3) 48 03 C6  -- add rax,rsi
// [01EE/494] AoE2DE_s.exe+15C8295 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [01F3/499] AoE2DE_s.exe+15C829A -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [01F8/504] AoE2DE_s.exe+15C829F -- (4) 45 8B 41 10  -- mov r8d,[r9+10]
// [01FC/508] AoE2DE_s.exe+15C82A3 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0201/513] AoE2DE_s.exe+15C82A8 -- (6) F3 0F2C 44 24 38  -- cvttss2si eax,[rsp+38]
// [0207/519] AoE2DE_s.exe+15C82AE -- (4) 66 0F6E C0  -- movd xmm0,eax
// [020B/523] AoE2DE_s.exe+15C82B2 -- (3) 0F5B C0  -- cvtdq2ps xmm0,xmm0
// [020E/526] AoE2DE_s.exe+15C82B5 -- (6) F3 41 0F11 41 1C  -- movss [r9+1C],xmm0
// [0214/532] AoE2DE_s.exe+15C82BB -- (3) 45 85 C0  -- test r8d,r8d
// [0217/535] AoE2DE_s.exe+15C82BE -- (2) 75 07 -- jne AoE2DE_s.exe+15C82C7
// [0219/537] AoE2DE_s.exe+15C82C0 -- (2) 8B C1  -- mov eax,ecx
// [021B/539] AoE2DE_s.exe+15C82C2 -- (5) E9 53020000 -- jmp AoE2DE_s.exe+15C851A
// [0220/544] AoE2DE_s.exe+15C82C7 -- (1) 99 -- cdq 
// [0221/545] AoE2DE_s.exe+15C82C8 -- (3) 41 F7 F8  -- idiv r8d
// [0224/548] AoE2DE_s.exe+15C82CB -- (5) E9 4A020000 -- jmp AoE2DE_s.exe+15C851A
// [0229/553] AoE2DE_s.exe+15C82D0 -- (3) 49 8B CA  -- mov rcx,r10
// [022C/556] AoE2DE_s.exe+15C82D3 -- (5) 48 8B 74 24 40  -- mov rsi,[rsp+40]
// [0231/561] AoE2DE_s.exe+15C82D8 -- (5) 48 8B 5C 24 30  -- mov rbx,[rsp+30]
// [0236/566] AoE2DE_s.exe+15C82DD -- (5) 48 8B 7C 24 20  -- mov rdi,[rsp+20]
// [023B/571] AoE2DE_s.exe+15C82E2 -- (4) 48 83 C4 28 -- add rsp,28
// [023F/575] AoE2DE_s.exe+15C82E6 -- (5) E9 F5020000 -- jmp AoE2DE_s.exe+15C85E0
// [0244/580] AoE2DE_s.exe+15C82EB -- (3) 49 8B CA  -- mov rcx,r10
// [0247/583] AoE2DE_s.exe+15C82EE -- (5) 48 8B 74 24 40  -- mov rsi,[rsp+40]
// [024C/588] AoE2DE_s.exe+15C82F3 -- (5) 48 8B 5C 24 30  -- mov rbx,[rsp+30]
// [0251/593] AoE2DE_s.exe+15C82F8 -- (5) 48 8B 7C 24 20  -- mov rdi,[rsp+20]
// [0256/598] AoE2DE_s.exe+15C82FD -- (4) 48 83 C4 28 -- add rsp,28
// [025A/602] AoE2DE_s.exe+15C8301 -- (5) E9 2A080000 -- jmp AoE2DE_s.exe+15C8B30
// [025F/607] AoE2DE_s.exe+15C8306 -- (3) 49 8B CA  -- mov rcx,r10
// [0262/610] AoE2DE_s.exe+15C8309 -- (5) 48 8B 74 24 40  -- mov rsi,[rsp+40]
// [0267/615] AoE2DE_s.exe+15C830E -- (5) 48 8B 5C 24 30  -- mov rbx,[rsp+30]
// [026C/620] AoE2DE_s.exe+15C8313 -- (5) 48 8B 7C 24 20  -- mov rdi,[rsp+20]
// [0271/625] AoE2DE_s.exe+15C8318 -- (4) 48 83 C4 28 -- add rsp,28
// [0275/629] AoE2DE_s.exe+15C831C -- (5) E9 DF0A0000 -- jmp AoE2DE_s.exe+15C8E00
// [027A/634] AoE2DE_s.exe+15C8321 -- (3) 49 8B CA  -- mov rcx,r10
// [027D/637] AoE2DE_s.exe+15C8324 -- (5) 48 8B 74 24 40  -- mov rsi,[rsp+40]
// [0282/642] AoE2DE_s.exe+15C8329 -- (5) 48 8B 5C 24 30  -- mov rbx,[rsp+30]
// [0287/647] AoE2DE_s.exe+15C832E -- (5) 48 8B 7C 24 20  -- mov rdi,[rsp+20]
// [028C/652] AoE2DE_s.exe+15C8333 -- (4) 48 83 C4 28 -- add rsp,28
// [0290/656] AoE2DE_s.exe+15C8337 -- (5) E9 04050000 -- jmp AoE2DE_s.exe+15C8840
// [0295/661] AoE2DE_s.exe+15C833C -- (4) 80 7A 01 00 -- cmp byte ptr [rdx+01],00
// [0299/665] AoE2DE_s.exe+15C8340 -- (6) 0F85 63020000 -- jne AoE2DE_s.exe+15C85A9
// [029F/671] AoE2DE_s.exe+15C8346 -- (4) 49 8B 42 18  -- mov rax,[r10+18]
// [02A3/675] AoE2DE_s.exe+15C834A -- (10) 49 BB 23CAAF4962191174 -- mov r11,7411196249AFCA23
// [02AD/685] AoE2DE_s.exe+15C8354 -- (4) 48 63 52 08  -- movsxd  rdx,dword ptr [rdx+08]
// [02B1/689] AoE2DE_s.exe+15C8358 -- (10) 48 BB 9EB3B4C33E78D3FC -- mov rbx,FCD3783EC3B4B39E
// [02BB/699] AoE2DE_s.exe+15C8362 -- (10) 48 BF A1AD6D6942092923 -- mov rdi,23290942696DADA1
// [02C5/709] AoE2DE_s.exe+15C836C -- (10) 48 BE C8944927ADFF424F -- mov rsi,4F42FFAD274994C8
// [02CF/719] AoE2DE_s.exe+15C8376 -- (7) 48 8B 88 F8000000  -- mov rcx,[rax+000000F8]
// [02D6/726] AoE2DE_s.exe+15C837D -- (4) 48 8B 04 D1   -- mov rax,[rcx+rdx*8]
// [02DA/730] AoE2DE_s.exe+15C8381 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [02DF/735] AoE2DE_s.exe+15C8386 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [02E4/740] AoE2DE_s.exe+15C838B -- (3) 49 33 C3  -- xor rax,r11
// [02E7/743] AoE2DE_s.exe+15C838E -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [02EC/748] AoE2DE_s.exe+15C8393 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [02F1/753] AoE2DE_s.exe+15C8398 -- (3) 48 33 C3  -- xor rax,rbx
// [02F4/756] AoE2DE_s.exe+15C839B -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [02F9/761] AoE2DE_s.exe+15C83A0 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [02FE/766] AoE2DE_s.exe+15C83A5 -- (3) 48 2B C7  -- sub rax,rdi
// [0301/769] AoE2DE_s.exe+15C83A8 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0306/774] AoE2DE_s.exe+15C83AD -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [030B/779] AoE2DE_s.exe+15C83B2 -- (3) 48 03 C6  -- add rax,rsi
// [030E/782] AoE2DE_s.exe+15C83B5 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0313/787] AoE2DE_s.exe+15C83BA -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [0318/792] AoE2DE_s.exe+15C83BF -- (6) F3 41 0F10 49 1C  -- movss xmm1,[r9+1C]
// [031E/798] AoE2DE_s.exe+15C83C5 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0323/803] AoE2DE_s.exe+15C83CA -- (6) F3 0F2C 44 24 38  -- cvttss2si eax,[rsp+38]
// [0329/809] AoE2DE_s.exe+15C83D0 -- (4) 66 0F6E C0  -- movd xmm0,eax
// [032D/813] AoE2DE_s.exe+15C83D4 -- (3) 0F5B C0  -- cvtdq2ps xmm0,xmm0
// [0330/816] AoE2DE_s.exe+15C83D7 -- (3) 0F2F C1  -- comiss xmm0,xmm1
// [0333/819] AoE2DE_s.exe+15C83DA -- (2) 76 09 -- jna AoE2DE_s.exe+15C83E5
// [0335/821] AoE2DE_s.exe+15C83DC -- (6) F3 41 0F11 41 1C  -- movss [r9+1C],xmm0
// [033B/827] AoE2DE_s.exe+15C83E2 -- (3) 0F28 C8  -- movaps xmm1,xmm0
// [033E/830] AoE2DE_s.exe+15C83E5 -- (6) 66 41 0F6E 41 10  -- movd xmm0,[r9+10]
// [0344/836] AoE2DE_s.exe+15C83EB -- (3) 0F5B C0  -- cvtdq2ps xmm0,xmm0
// [0347/839] AoE2DE_s.exe+15C83EE -- (4) F3 0F5E C8  -- divss xmm1,xmm0
// [034B/843] INJECT -- (4) F3 0F2C C9  -- cvttss2si ecx,xmm1 --  INJECT
// [034F/847] AoE2DE_s.exe+15C83F6 -- (5) E9 24010000 -- jmp AoE2DE_s.exe+15C851F
// [0354/852] AoE2DE_s.exe+15C83FB -- (4) 80 7A 01 00 -- cmp byte ptr [rdx+01],00
// [0358/856] AoE2DE_s.exe+15C83FF -- (6) 0F85 A4010000 -- jne AoE2DE_s.exe+15C85A9
// [035E/862] AoE2DE_s.exe+15C8405 -- (4) 49 8B 42 18  -- mov rax,[r10+18]
// [0362/866] AoE2DE_s.exe+15C8409 -- (5) E9 F27BA2FE -- jmp 7FF607280000
// [0367/871] AoE2DE_s.exe+15C840E -- (5) 0F1F 44 00 00  -- nop dword ptr [rax+rax+00]
// [036C/876] AoE2DE_s.exe+15C8413 -- (4) 48 63 52 08  -- movsxd  rdx,dword ptr [rdx+08]
// [0370/880] AoE2DE_s.exe+15C8417 -- (10) 48 BB 9EB3B4C33E78D3FC -- mov rbx,FCD3783EC3B4B39E
// [037A/890] AoE2DE_s.exe+15C8421 -- (10) 48 BF A1AD6D6942092923 -- mov rdi,23290942696DADA1
// [0384/900] AoE2DE_s.exe+15C842B -- (10) 48 BE C8944927ADFF424F -- mov rsi,4F42FFAD274994C8
// [038E/910] AoE2DE_s.exe+15C8435 -- (7) 48 8B 88 F8000000  -- mov rcx,[rax+000000F8]
// [0395/917] AoE2DE_s.exe+15C843C -- (4) 48 8B 04 D1   -- mov rax,[rcx+rdx*8]
// [0399/921] AoE2DE_s.exe+15C8440 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [039E/926] AoE2DE_s.exe+15C8445 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [03A3/931] AoE2DE_s.exe+15C844A -- (3) 49 33 C3  -- xor rax,r11
// [03A6/934] AoE2DE_s.exe+15C844D -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [03AB/939] AoE2DE_s.exe+15C8452 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [03B0/944] AoE2DE_s.exe+15C8457 -- (3) 48 33 C3  -- xor rax,rbx
// [03B3/947] AoE2DE_s.exe+15C845A -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [03B8/952] AoE2DE_s.exe+15C845F -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [03BD/957] AoE2DE_s.exe+15C8464 -- (3) 48 2B C7  -- sub rax,rdi
// [03C0/960] AoE2DE_s.exe+15C8467 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [03C5/965] AoE2DE_s.exe+15C846C -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [03CA/970] AoE2DE_s.exe+15C8471 -- (3) 48 03 C6  -- add rax,rsi
// [03CD/973] AoE2DE_s.exe+15C8474 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [03D2/978] AoE2DE_s.exe+15C8479 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [03D7/983] AoE2DE_s.exe+15C847E -- (4) 49 63 51 0C  -- movsxd  rdx,dword ptr [r9+0C]
// [03DB/987] AoE2DE_s.exe+15C8482 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [03E0/992] AoE2DE_s.exe+15C8487 -- (7) F3 44 0F2C 44 24 38  -- cvttss2si r8d,[rsp+38]
// [03E7/999] AoE2DE_s.exe+15C848E -- (5) 66 41 0F6E C0  -- movd xmm0,r8d
// [03EC/1004] AoE2DE_s.exe+15C8493 -- (3) 0F5B C0  -- cvtdq2ps xmm0,xmm0
// [03EF/1007] AoE2DE_s.exe+15C8496 -- (6) F3 41 0F11 41 1C  -- movss [r9+1C],xmm0
// [03F5/1013] AoE2DE_s.exe+15C849C -- (4) 49 8B 42 18  -- mov rax,[r10+18]
// [03F9/1017] AoE2DE_s.exe+15C84A0 -- (7) 48 8B 88 F8000000  -- mov rcx,[rax+000000F8]
// [0400/1024] AoE2DE_s.exe+15C84A7 -- (4) 48 8B 04 D1   -- mov rax,[rcx+rdx*8]
// [0404/1028] AoE2DE_s.exe+15C84AB -- (2) 33 C9  -- xor ecx,ecx
// [0406/1030] AoE2DE_s.exe+15C84AD -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [040B/1035] AoE2DE_s.exe+15C84B2 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [0410/1040] AoE2DE_s.exe+15C84B7 -- (3) 49 33 C3  -- xor rax,r11
// [0413/1043] AoE2DE_s.exe+15C84BA -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0418/1048] AoE2DE_s.exe+15C84BF -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [041D/1053] AoE2DE_s.exe+15C84C4 -- (3) 48 33 C3  -- xor rax,rbx
// [0420/1056] AoE2DE_s.exe+15C84C7 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0425/1061] AoE2DE_s.exe+15C84CC -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [042A/1066] AoE2DE_s.exe+15C84D1 -- (3) 48 2B C7  -- sub rax,rdi
// [042D/1069] AoE2DE_s.exe+15C84D4 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [0432/1074] AoE2DE_s.exe+15C84D9 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [0437/1079] AoE2DE_s.exe+15C84DE -- (3) 48 03 C6  -- add rax,rsi
// [043A/1082] AoE2DE_s.exe+15C84E1 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [043F/1087] AoE2DE_s.exe+15C84E6 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [0444/1092] AoE2DE_s.exe+15C84EB -- (4) 45 8B 59 10  -- mov r11d,[r9+10]
// [0448/1096] AoE2DE_s.exe+15C84EF -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [044D/1101] AoE2DE_s.exe+15C84F4 -- (6) F3 0F2C 44 24 38  -- cvttss2si eax,[rsp+38]
// [0453/1107] AoE2DE_s.exe+15C84FA -- (4) 66 0F6E C0  -- movd xmm0,eax
// [0457/1111] AoE2DE_s.exe+15C84FE -- (3) 0F5B C0  -- cvtdq2ps xmm0,xmm0
// [045A/1114] AoE2DE_s.exe+15C8501 -- (6) F3 41 0F11 41 20  -- movss [r9+20],xmm0
// [0460/1120] AoE2DE_s.exe+15C8507 -- (3) 45 85 DB  -- test r11d,r11d
// [0463/1123] AoE2DE_s.exe+15C850A -- (2) 75 04 -- jne AoE2DE_s.exe+15C8510
// [0465/1125] AoE2DE_s.exe+15C850C -- (2) 8B C1  -- mov eax,ecx
// [0467/1127] AoE2DE_s.exe+15C850E -- (2) EB 0A -- jmp AoE2DE_s.exe+15C851A
// [0469/1129] AoE2DE_s.exe+15C8510 -- (3) 44 2B C0  -- sub r8d,eax
// [046C/1132] AoE2DE_s.exe+15C8513 -- (3) 41 8B C0  -- mov eax,r8d
// [046F/1135] AoE2DE_s.exe+15C8516 -- (1) 99 -- cdq 
// [0470/1136] AoE2DE_s.exe+15C8517 -- (3) 41 F7 FB  -- idiv r11d
// [0473/1139] AoE2DE_s.exe+15C851A -- (2) 85 C0  -- test eax,eax
// [0475/1141] AoE2DE_s.exe+15C851C -- (3) 0F49 C8  -- cmovns ecx,eax
// [0478/1144] AoE2DE_s.exe+15C851F -- (5) 41 0FAF 49 14  -- imul ecx,[r9+14]
// [047D/1149] AoE2DE_s.exe+15C8524 -- (4) 45 8B 59 18  -- mov r11d,[r9+18]
// [0481/1153] AoE2DE_s.exe+15C8528 -- (3) 41 3B CB  -- cmp ecx,r11d
// [0484/1156] AoE2DE_s.exe+15C852B -- (2) 74 7C -- je AoE2DE_s.exe+15C85A9
// [0486/1158] AoE2DE_s.exe+15C852D -- (7) 49 8B 82 90000000  -- mov rax,[r10+00000090]
// [048D/1165] AoE2DE_s.exe+15C8534 -- (10) 49 B8 A258FDF3B2838D4F -- mov r8,4F8D83B2F3FD58A2
// [0497/1175] AoE2DE_s.exe+15C853E -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [049C/1180] AoE2DE_s.exe+15C8543 -- (10) 48 BA CD4A1F105B246251 -- mov rdx,5162245B101F4ACD
// [04A6/1190] AoE2DE_s.exe+15C854D -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04AB/1195] AoE2DE_s.exe+15C8552 -- (3) 49 03 C0  -- add rax,r8
// [04AE/1198] AoE2DE_s.exe+15C8555 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [04B3/1203] AoE2DE_s.exe+15C855A -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04B8/1208] AoE2DE_s.exe+15C855F -- (3) 48 03 C2  -- add rax,rdx
// [04BB/1211] AoE2DE_s.exe+15C8562 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [04C0/1216] AoE2DE_s.exe+15C8567 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04C5/1221] AoE2DE_s.exe+15C856C -- (3) 41 2B C3  -- sub eax,r11d
// [04C8/1224] AoE2DE_s.exe+15C856F -- (2) 03 C1  -- add eax,ecx
// [04CA/1226] AoE2DE_s.exe+15C8571 -- (4) 89 44 24 38  -- mov [rsp+38],eax
// [04CE/1230] AoE2DE_s.exe+15C8575 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04D3/1235] AoE2DE_s.exe+15C857A -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [04D8/1240] AoE2DE_s.exe+15C857F -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04DD/1245] AoE2DE_s.exe+15C8584 -- (3) 48 2B C2  -- sub rax,rdx
// [04E0/1248] AoE2DE_s.exe+15C8587 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [04E5/1253] AoE2DE_s.exe+15C858C -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04EA/1258] AoE2DE_s.exe+15C8591 -- (3) 49 2B C0  -- sub rax,r8
// [04ED/1261] AoE2DE_s.exe+15C8594 -- (5) 48 89 44 24 38  -- mov [rsp+38],rax
// [04F2/1266] AoE2DE_s.exe+15C8599 -- (5) 48 8B 44 24 38  -- mov rax,[rsp+38]
// [04F7/1271] AoE2DE_s.exe+15C859E -- (7) 49 89 82 90000000  -- mov [r10+00000090],rax
// [04FE/1278] AoE2DE_s.exe+15C85A5 -- (4) 41 89 49 18  -- mov [r9+18],ecx
// [0502/1282] AoE2DE_s.exe+15C85A9 -- (5) 48 8B 74 24 40  -- mov rsi,[rsp+40]
// [0507/1287] AoE2DE_s.exe+15C85AE -- (5) 48 8B 5C 24 30  -- mov rbx,[rsp+30]
// [050C/1292] AoE2DE_s.exe+15C85B3 -- (5) 48 8B 7C 24 20  -- mov rdi,[rsp+20]
// [0511/1297] AoE2DE_s.exe+15C85B8 -- (4) 48 83 C4 28 -- add rsp,28
// [0515/1301] AoE2DE_s.exe+15C85BC -- (1) C3 -- ret 
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>98</ID>
              <Description>"Lock"</Description>
              <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0: [ F A L S E ]
1: [ T R U E ]
</DropDownList>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Byte</VariableType>
              <Address>lockByte</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>99</ID>
              <Description>"Lock Value"</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Double</VariableType>
              <Address>UserLockValue</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Increase Value</Action>
                  <Keys>
                    <Key>65</Key>
                  </Keys>
                  <Value>1</Value>
                  <ID>0</ID>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
            <CheatEntry>
              <ID>100</ID>
              <Description>"[$LUA] Load Pointers"</Description>
              <Options moHideChildren="1"/>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
//Any place that has keys.
{$lua}
local b = aOBScanModuleUnique(process, "80 ?? ?? ?? 0F ?? ?? ?? 00 00 49 8B ?? 18 49 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 48 ?? ?? ?? ?? ?? ?? ?? ?? ?? 48")
if not b then
    return error()
end
local key1 = tonumber(select(2, splitDisassembledString(disassemble(b + 0x000E))):match("mov ...,(%x+)"), 16)
local key2 = tonumber(select(2, splitDisassembledString(disassemble(b + 0x001C))):match("mov ...,(%x+)"), 16)
local key3 = tonumber(select(2, splitDisassembledString(disassemble(b + 0x0026))):match("mov ...,(%x+)"), 16)
local key4 = tonumber(select(2, splitDisassembledString(disassemble(b + 0x0030))):match("mov ...,(%x+)"), 16)
s1 = registerCustomTypeLua("DValue", 0x0008, function(...)
    local g = {...}
    local h = byteTableToQword(g)
local a = h ~ key1 -- xor rax,r11
local b = a ~ key2 -- xor rax,rbx
local c = b - key3 -- sub rax,rdi
local d = c + key4 -- add rax,rsi

-- cvttss2si eax,[rsp+38]
local e = string.unpack("&lt;f", string.pack("&lt;I4", d &amp; 0xFFFFFFFF ))
local r = math.floor(e)

return r
end, function(q)

    local a = string.unpack("&lt;I4", string.pack("&lt;f", q + 0.0)) &amp; 0xFFFFFFFF
    local b = (a - key4)
    local c = (b + key3)
    local d = c ~ key2
    local e = d ~ key1
    local w = {}
    for i = 0, 7 do
        w[i+1] = (e &gt;&gt; (i*8)) &amp; 0xFF
    end
    return w

end, false, false)

{$asm}

[DISABLE]
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>101</ID>
                  <Description>"No description"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Custom</VariableType>
                  <CustomType>DValue</CustomType>
                  <Address>playerStuff</Address>
                  <Offsets>
                    <Offset>0</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>102</ID>
                  <Description>"No description"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Custom</VariableType>
                  <CustomType>DValue</CustomType>
                  <Address>playerStuff</Address>
                  <Offsets>
                    <Offset>8</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>103</ID>
                  <Description>"No description"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Custom</VariableType>
                  <CustomType>DValue</CustomType>
                  <Address>playerStuff</Address>
                  <Offsets>
                    <Offset>10</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>104</ID>
                  <Description>"No description"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Custom</VariableType>
                  <CustomType>DValue</CustomType>
                  <Address>playerStuff</Address>
                  <Offsets>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>105</ID>
                  <Description>"No description"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Custom</VariableType>
                  <CustomType>DValue</CustomType>
                  <Address>playerStuff</Address>
                  <Offsets>
                    <Offset>20</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>106</ID>
                  <Description>"Lock Value"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>Custom</VariableType>
                  <CustomType>DValue</CustomType>
                  <Address>UserLockValue</Address>
                  <Hotkeys>
                    <Hotkey>
                      <Action>Increase Value</Action>
                      <Keys>
                        <Key>65</Key>
                      </Keys>
                      <Value>1</Value>
                      <ID>0</ID>
                    </Hotkey>
                  </Hotkeys>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
