37
"[X] <== Steel Division Normandy 44 version 3000088213 CODEX/3DM Script v3.0"
FF0000
Auto Assembler Script
{
===========================================
Game Title : Steel Division Normandy 44 - Second Wave
Game Version : 3000088213
Game Sponsor : CODEX + 3DM (patches)
Process Name : SteelDivision.exe
Relevant Info : Eugene Engine/64bits/RTS
Script Version: 3.0
CE Version : 6.7
Release date : 23-Nov-2017
Author : Recifense
History:
07-Jun-2017: First Release
09-Jun-2017: Fix for Campaign
18-Jun-2017: Fix Axes and added Quick Refuel/Unlimited Fuel
19-Jun-2017: Fix for Skirmish (s2.1)
23-Jun-2017: Fix for unlimited ammo (s2.2)
08-Nov-2017: Release for version 3000086399 (s3.0)
23-Nov-2017: Release for version 3000088213
Features:
- Minimum Resource for player (2000)
- Maximum Resource for enemy (30)
- Unlimited Ammo
- No ammo for enemy (s3.0)
- unlimited Fuel (Planes)
- Unlimited Available Units
- Quick Refuel (Planes)
- Some Pointers
===========================================
}
//=========================================
// Checking CE version
{$lua}
if(getCEVersion() < 6.7) then
ShowMessage('Sorry. CE version should be 6.7 or above')
end
{$asm}
//=========================================
// Checking Selected Process
{$lua}
if(process == nil) then
ShowMessage('No process was selected')
elseif (process ~= "SteelDivision.exe") then
ShowMessage('Error. Expected Process = SteelDivision.exe')
end
{$asm}
//=========================================
// Definitions
define(LUDO,"SteelDivision.exe")
//define(MOHP,SteelDivision.exe+01714264) //N=
//define(MOHR,SteelDivision.exe+01185040) //==
//define(MOPF,SteelDivision.exe+0133fae9) //==
//define(MOPA,SteelDivision.exe+01497d87) //X=
//define(MOUA,SteelDivision.exe+0074b9e9) //=X
//define(MOPR,SteelDivision.exe+0134d986) //==
//define(MPU2,SteelDivision.exe+0148a17d) //==
//define(MOUS,SteelDivision.exe+01ad5ba0) //==
//define(MUS2,SteelDivision.exe+01aee640) //===
//=========================================
// Constants used in the script (that can be changed)
define(ctCE67,(float)6.7)
//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded
AOBScanModule(MOHP,$process,45 8b 59 08 41 8b d3 45 8b 51 0c 83 e2 07)
AOBScanModule(MOHR,$process,44 8b 49 0c 4c 8b d9 44 8b 51 08 41 8b c2 83 e0 07 44 8b 44 81 10)
AOBScanModule(MOPF,$process,F3 44 0F 11 43 2C 48 8B 4B 10 48 85 C9)
AOBScanModule(MOPA,$process,48 8B 4C 24 58 03 41 04 48 83 C4 28 5f)
AOBScanModule(MOUA,$process,41 8B 40 38 41 39 41 38 ?? ?? ff c7 8b c7 48 3b c6 0f 82)
AOBScanModule(MOPR,$process,F3 0F 11 49 2C 48 8B D9 48 8B 49 10 48 85 C9 74 37)
AOBScanModule(MPU2,$process,8B 41 38 48 8B CB 89 44 24 40 48 8B 03)
AOBScanModule(MOUS,$process,49 8B 4A 08 49 89 42 08 49 89 48 08 49 8D 51 68)
AOBScanModule(MUS2,$process,40 53 48 83 ec 20 48 8b d9 48 8b 49 20 48 8B 01 FF 50 50 48 8B C8 48 8B 10 FF 52 50 48 85 c0 0f 84)
//=========================================
alloc(MyCode,4096,$process)
alloc(UnitList,4096,$process)
alloc(UnitList2,4096,$process)
//=========================================
// Declaration section
label(_MonHumanPlayer)
label(_BackMHP)
label(_ExitMHP)
label(_MonHumanRes)
label(_BackMHR)
label(_ExitMHR)
label(_MonPlayerFuel)
label(_BackMPF)
label(_ExitMPF)
label(_MonPlayerAmmo)
label(_BackMPA)
label(_ExitMPA)
label(_MonUnitsAvail)
label(_BackMUA)
label(_ExitMUA)
label(_MonPlayerRefuel)
label(_BackMPR)
label(_ExitMPR)
label(_MonPlayerUnits2)
label(_BackPU2)
label(_ExitPU2)
label(_MonUnitState)
label(_BackMUS)
label(_ExitMUS)
label(_MonUnitState2)
label(_BackUS2)
label(_ExitUS2)
label(iEnableMHR)
label(iEnableMPA)
label(iEnableMUA)
label(iEnableMER)
label(iEnableMQR)
label(iEnableMPF)
label(iEnableMUS)
label(iEnableMEA)
label(iID)
label(aLast)
//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(UnitList)
registersymbol(UnitList2)
registersymbol(iEnableMHR)
registersymbol(iEnableMPA)
registersymbol(iEnableMUA)
registersymbol(iEnableMER)
registersymbol(iEnableMQR)
registersymbol(iEnableMPF)
registersymbol(iEnableMUS)
registersymbol(iEnableMEA)
registersymbol(iID)
registersymbol(aLast)
registersymbol(MOHP)
registersymbol(MOHR)
registersymbol(MOPF)
registersymbol(MOPA)
registersymbol(MOUA)
registersymbol(MOPR)
registersymbol(MPU2)
registersymbol(MOUS)
registersymbol(MUS2)
//=========================================
MyCode:
//========================================= NHP (s2.1) ok
// When reading all players' Money (find ID)
_MonHumanPlayer:
mov dword ptr [aLast],'_MHP'
mov rdx,_BackMHP
mov [pBack+00],rdx
mov rdx,[r9+68]
test rdx,rdx
jz _ExitMHP
mov rdx,[rdx]
test rdx,rdx
jz _ExitMHP
cmp dword ptr [rdx+10],#3
jne _MonHP00
test ebx,ebx
jnz _ExitMHP
_MonHP00:
cmp [pRes],r9
je _ExitMHP
mov [pRes],r9
movzx edx,word ptr [r9+04]
mov [iID],edx
mov r10,rcx
mov rcx,#512 // #4096/8
xor rdx,rdx
_MonHP01:
mov r11,UnitList
mov [r11+rcx*8-08],rdx
mov r11,UnitList2
mov [r11+rcx*8-08],rdx
loop _MonHP01
mov rcx,r10
_ExitMHP:
mov r11d,[r9+08] // Original code
mov edx,r11d // Original code
mov r10d,[r9+0C] // Original code
and edx,07 // Original code
jmp [pBack+00] // Back to main code
//=========================================
align 10,cc
//========================================= ok
// When updating Money (PO)
// EDX = new value
_MonHumanRes:
mov dword ptr [aLast],'_MHR'
mov rax,_BackMHR
mov [pBack+08],rax
test edx,edx
jz _ExitMHR
cmp rcx,[pRes]
jne _MonHR00
cmp dword ptr [iEnableMHR],0
je _ExitMHR // Jump if feature is disabled
cmp edx,[iMinPoints]
jns _ExitMHR
mov edx,[iMinPoints]
jmp _ExitMHR
_MonHR00:
cmp dword ptr [iEnableMER],0
je _ExitMHR // Jump if feature is disabled
cmp edx,#31
js _ExitMHR
mov edx,#30
_ExitMHR:
mov r9d,[rcx+0C] // Original code
mov r11,rcx // Original code
mov r10d,[rcx+08] // Original code
mov eax,r10d // Original code
jmp [pBack+08] // Back to main code
//=========================================
align 10,cc
//========================================= new (s2.0)
// When Airplane is flying in a mission (PO)
_MonPlayerFuel:
mov dword ptr [aLast],'_MPF'
mov rcx,_BackMPF
mov [pBack+10],rcx
cmp dword ptr [iEnableMPF],0
je _ExitMPF // Jump if feature is disabled
movsxd rcx,dword ptr [rbx+18]
shr ecx,8
and ecx,007fffff
cmp ecx,1000
jns _ExitMPF
mov [pRBX],rax
mov rax,UnitList
lea rcx,[rcx+rax]
mov rax,[pRBX]
cmp byte ptr [rcx],55
jne _ExitMPF
cvtss2si ecx,[rbx+28]
sub ecx,#50
cvtsi2ss xmm8,ecx
_ExitMPF:
movss [rbx+2C],xmm8 // Original code
mov rcx,[rbx+10] // Original code
test rcx,rcx // Original code
jmp [pBack+10] // Back to main code
//=========================================
align 10,cc
//========================================= NHP (2.2) * ok
// When updating Ammo (PO)
_MonPlayerAmmo:
mov dword ptr [aLast],'_MPA'
mov rcx,_BackMPA
mov [pBack+18],rcx
mov rdi,rax
test r13,r13
jle _ExitMPA
cmp r13,[rsp+00000098]
je _MonPA00
cmp r13,[rsp+000000d8]
jne _ExitMPA
_MonPA00:
cmp dword ptr [iEnableMPA],0
je _ExitMPA // Jump if feature is disabled
movsxd rax,dword ptr [r13+18]
shr eax,8
and eax,007fffff
cmp eax,1000
jns _ExitMPA
mov [pRBX],rbx
mov rbx,UnitList
lea rax,[rbx+rax]
mov rbx,[pRBX]
cmp byte ptr [rax],55
jne _MonPA0E
mov rcx,[rsp+58]
lea rcx,[rcx-38]
cmp rcx,[rsp+18]
jne _ExitMPA
movsxd rax,dword ptr [rcx+00000334]
test rax,rax
jle _ExitMPA
sub eax,[rcx+0000029c]
test eax,eax
jle _ExitMPA
cmp [rcx+3c],eax
jns _ExitMPA
mov [rcx+3c],eax
jmp _ExitMPA
//---
_MonPA0E:
cmp dword ptr [iEnableMEA],0
je _ExitMPA // Jump if feature is disabled
mov rcx,[rsp+58]
lea rcx,[rcx-38]
cmp rcx,[rsp+18]
jne _ExitMPA
movsxd rax,dword ptr [rcx+00000334]
test rax,rax
jle _ExitMPA
mov dword ptr [rcx+3c],00
_ExitMPA:
mov rax,rdi
mov rcx,[rsp+58] // Original code
add eax,[rcx+04] // Original code
add rsp,28 // Original code
pop rdi // Original code
jmp [pBack+18] // Back to main code
//=========================================
align 10,cc
//========================================= ok
// At main game strategic screen (PO)
_MonUnitsAvail:
mov dword ptr [aLast],'_MUA'
mov eax,[r8+38] // Original code
cmp [r9+38],eax // Original code
jne _ExitMUA
cmp dword ptr [iEnableMUA],0
je _MonUA00 // Jump if feature is disabled
mov rax,[rsp+10]
mov eax,[rax]
cmp eax,[iID]
jne _MonUA00
cmp dword ptr [r8+38],00
je _MonUA00
mov eax,[iMinUnits]
cmp [r8+38],eax
jns _MonUA00
mov [r8+38],eax
mov [r9+38],eax
_MonUA00:
_ExitMUA:
mov eax,[r8+38] // Original code
cmp [r9+38],eax // Original code
jmp _BackMUA // Back to main code
jmp [pBack+20] // Back to main code
//=========================================
align 10,cc
//========================================= new (s2.0)
// When Refuling AirPlanes (PO)
// RCX = pRefuel
_MonPlayerRefuel:
mov dword ptr [aLast],'_MPR'
mov rbx,_BackMPR
mov [pBack+28],rbx
cmp dword ptr [iEnableMQR],0
je _ExitMPR // Jump if feature is disabled
movsxd rbx,dword ptr [rcx+18]
shr ebx,8
and ebx,007fffff
cmp ebx,1000
jns _ExitMPR
mov [pRBX],rax
mov rax,UnitList
lea rbx,[rbx+rax]
mov rax,[pRBX]
cmp byte ptr [rbx],55
jne _ExitMPR
movss xmm1,[rcx+28]
_ExitMPR:
movss [rcx+2C],xmm1 // Original code
mov rbx,rcx // Original code
mov rcx,[rcx+10] // Original code
jmp [pBack+28] // Back to main code
//=========================================
align 10,cc
//========================================= changed (s2.0) ok
// All the time during a game match
_MonPlayerUnits2:
mov dword ptr [aLast],'_MPU'
mov rax,_BackPU2
mov [pBack+30],rax
mov [pRDX],rdx
movsxd rax,dword ptr [rcx+38]
shr eax,8
and eax,007fffff
cmp eax,1000
jns _ExitPU2
mov rdx,rax
mov eax,[rcx+30]
and rax,007fffff
cmp eax,1000
jns _ExitPU2
mov [pRBX],rbx
mov rbx,UnitList2
lea rax,[rbx+rax]
mov rbx,UnitList
lea rdx,[rbx+rdx]
mov rbx,[pRBX]
mov [pRAX],rax
mov byte ptr [rax],00
mov byte ptr [rdx],00
mov eax,[rcx+3c]
and eax,0000ffff
cmp eax,[iID]
jne _ExitPU2
mov rax,[pRAX]
mov byte ptr [rax],55
mov byte ptr [rdx],55
_ExitPU2:
mov rdx,[pRDX]
mov eax,[rcx+38] // Original code
mov rcx,rbx // Original code
mov [rsp+40],eax // Original code
mov rax,[rbx] // Original code
jmp [pBack+30] // Back to main code
//=========================================
align 10,cc
//========================================= New (3.0) ok
// When updating State (PO)
_MonUnitState:
mov dword ptr [aLast],'_MUS'
mov rcx,_BackMUS
mov [pBack+38],rcx
test rax,rax
jz _ExitMUS
cmp dword ptr [iEnableMUS],0
je _ExitMUS // Jump if feature is disabled
mov rcx,[r9+20]
test rcx,rcx
jz _ExitMUS
mov ecx,[rcx+20]
and rcx,00ffffff
cmp ecx,1000
jns _ExitMUS
mov [pRBX],rbx
mov rbx,UnitList2
lea rcx,[rbx+rcx]
mov rbx,[pRBX]
cmp byte ptr [rcx],55
jne _ExitMUS
mov rax,1
_ExitMUS:
mov rcx,[r10+08] // Original code
mov [r10+08],rax // Original code
mov [r8+08],rcx // Original code
jmp [pBack+38] // Back to main code
//=========================================
align 10,cc
//========================================= New (3.0)
// When updating State (PO)
_MonUnitState2:
mov dword ptr [aLast],'_US2'
mov rax,_BackUS2
mov [pBack+40],rax
cmp dword ptr [iEnableMUS],0
je _ExitUS2 // Jump if feature is disabled
mov eax,[rcx+28]
and rax,00ffffff
cmp eax,1000
jns _ExitUS2
mov [pRBX],rbx
mov rbx,UnitList2
lea rax,[rbx+rax]
mov rbx,[pRBX]
cmp byte ptr [rax],55
jne _ExitUS2
ret
//==
_ExitUS2:
push rbx // Original code
sub rsp,20 // Original code
mov rbx,rcx // Original code
mov rcx,[rcx+20] // Original code
jmp [pBack+40] // Back to main code
//=========================================
align 10,'='
db '===============================>'
db 'CE6.7 Script by Recifense 171123'
//=========================================
// Variables
iEnableMHR:
dd 0
iEnableMPA:
dd 0
iEnableMUA:
dd 0
iEnableMER:
dd 0
iEnableMQR:
dd 0
iEnableMPF:
dd 0
iEnableMUS:
dd 0
iEnableMEA:
dd 0
iMinPoints:
dd #2000
iMinUnits:
dd #10
iMaxPoints:
dd #30
iID:
dd #9999
aLast:
db 'CE67'
pRes:
dq MyCode
pLast:
dq 0
pRAX:
dq 0
pRBX:
dq 0
pRDX:
dq 0
pBack:
dq 0,0,0,0,0,0,0,0
dq 0
//=========================================
// Hacking Points
MOHP:
mov rdx,_MonHumanPlayer
jmp rdx
nop
nop
_BackMHP:
MOHR:
mov rax,_MonHumanRes
jmp rax
nop
nop
_BackMHR:
MOPF:
mov rcx,_MonPlayerFuel
jmp rcx
nop
_BackMPF:
MOPA:
mov rcx,_MonPlayerAmmo
jmp rcx
nop
_BackMPA:
MOUA:
jmp _MonUnitsAvail
nop
nop
nop
_BackMUA:
MOPR:
mov rbx,_MonPlayerRefuel
jmp rbx
_BackMPR:
MPU2:
mov rax,_MonPlayerUnits2
jmp rax
nop
_BackPU2:
MOUS:
mov rcx,_MonUnitState
jmp rcx
_BackMUS:
MUS2:
mov rax,_MonUnitState2
jmp rax
nop
_BackUS2:
//=========================================
// Script for Restoring Original Codes
[DISABLE]
MOHP:
db 45 8b 59 08 41 8b d3 45 8b 51 0c 83 e2 07
MOHR:
db 44 8b 49 0c 4c 8b d9 44 8b 51 08 41 8b c2
MOPF:
db F3 44 0F 11 43 2C 48 8B 4B 10 48 85 C9
MOPA:
db 48 8B 4C 24 58 03 41 04 48 83 C4 28 5f
MOUA:
db 41 8B 40 38 41 39 41 38
MOPR:
db F3 0F 11 49 2C 48 8B D9 48 8B 49 10
MPU2:
db 8B 41 38 48 8B CB 89 44 24 40 48 8B 03
MOUS:
db 49 8B 4A 08 49 89 42 08 49 89 48 08
MUS2:
db 40 53 48 83 ec 20 48 8b d9 48 8b 49 20
//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(UnitList)
unregistersymbol(UnitList2)
unregistersymbol(iEnableMHR)
unregistersymbol(iEnableMPA)
unregistersymbol(iEnableMUA)
unregistersymbol(iEnableMER)
unregistersymbol(iEnableMQR)
unregistersymbol(iEnableMPF)
unregistersymbol(iEnableMUS)
unregistersymbol(iEnableMEA)
unregistersymbol(iID)
unregistersymbol(aLast)
unregistersymbol(MOHP)
unregistersymbol(MOHR)
unregistersymbol(MOPF)
unregistersymbol(MOPA)
unregistersymbol(MOUA)
unregistersymbol(MOPR)
unregistersymbol(MPU2)
unregistersymbol(MOUS)
unregistersymbol(MUS2)
//=========================================
dealloc(MyCode)
dealloc(UnitList)
dealloc(UnitList2)
//============= Scripts End ===============
// ****************************************
// NOTES
// ****************************************
{
}
229
"[X] <== Minimum Resource -----------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMHR",1)
getAddressList().getMemoryRecordByID(229).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMHR",0)
getAddressList().getMemoryRecordByID(229).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
230
"[X] <== Unlimited Ammo -------------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMPA",1)
getAddressList().getMemoryRecordByID(230).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMPA",0)
getAddressList().getMemoryRecordByID(230).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
235
"[X] <== No Reload Ammo for the Enemy ------> (HK: CTRL+Numeric 7 / CTRL+Numeric 4)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMEA",1)
getAddressList().getMemoryRecordByID(235).Color=0x0004000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMEA",0)
getAddressList().getMemoryRecordByID(235).Color=0x0c08000
{$ASM}
Activate
17
103
0
Deactivate
17
100
1
232
"[X] <== Quick Refuel ------------------------------> (HK: CTRL+Home / CTRL+End)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMQR",1)
getAddressList().getMemoryRecordByID(232).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMQR",0)
getAddressList().getMemoryRecordByID(232).Color=0x0c08000
{$ASM}
Activate
17
36
0
Deactivate
17
35
1
231
"[X] <== Unlimited Available Units -----------------> (HK: CTRL+Page Up / CTRL+Page Down)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMUA",1)
getAddressList().getMemoryRecordByID(231).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMUA",0)
getAddressList().getMemoryRecordByID(231).Color=0x0c08000
{$ASM}
Activate
17
33
0
Deactivate
17
34
1
233
"[X] <== Unlimited Fuel (for Planes) ---------------> (HK: CTRL+Insert / CTRL+Delete)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMPF",1)
getAddressList().getMemoryRecordByID(233).Color=0x0008000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMPF",0)
getAddressList().getMemoryRecordByID(233).Color=0x0c08000
{$ASM}
Activate
17
45
0
Deactivate
17
46
1
234
"[X] <== Maximum Resource for the Enemy -------> (HK: CTRL+Numeric 1 / CTRL+Numeric 0)"
C08000
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
writeInteger("iEnableMER",1)
getAddressList().getMemoryRecordByID(234).Color=0x0004000
{$ASM}
[disable]
{$LUA}
writeInteger("iEnableMER",0)
getAddressList().getMemoryRecordByID(234).Color=0x0c08000
{$ASM}
Activate
17
97
0
Deactivate
17
96
1
228
"[X] <== Table/Script Information"
0000FF
Auto Assembler Script
[enable]
define(test,LUDO)
{$LUA}
getMainForm().CommentButton.doClick()
{$ASM}
[disable]
Recifense
20171123
===========================================
Game Title : Steel Division Normandy 44 - Second Wave
Game Version : 3000088213
Game Sponsor : CODEX + 3DM (patches)
Process Name : SteelDivision.exe
Relevant Info : Eugene Engine/64bits/RTS
Script Version: 3.0
CE Version : 6.7
Release date : 23-Nov-2017
Author : Recifense
History:
07-Jun-2017: First Release
09-Jun-2017: Fix for Campaign
18-Jun-2017: Fix Axes and added Quick Refuel/Unlimited Fuel
19-Jun-2017: Fix for Skirmish (s2.1)
23-Jun-2017: Fix for unlimited ammo (s2.2)
08-Nov-2017: Release for version 3000086399 (s3.0)
23-Nov-2017: Release for version 3000088213
Features:
- Minimum Resource for player [1] (2000)
- Maximum Resource for enemy [7] (30)
- Unlimited Ammo [2]
- No ammo for enemy [8]
- Unlimited Available Units [3]
- unlimited Fuel (Planes) [4]
- Quick Refuel (Planes) [5]
- Some Pointers [6]
===========================================
[1] Minimum Resources = 2000 (checked when updating) (HPO);
[2] Units' Ammo will no decrease (HPO);
[3] Minimum Available Units = 10 (checked when accessing) (HPO);
[4] Airplanes' will be in action until they are out of ammo or dead (HPO);
[5] Airplanes' will quickly refuel (HPO);
[6] not used;
[7] Enemy resource will not go over 30;
[8] Enemy units will not be able to reload;
[HPO] = Human Player Only;
===========================================
[USAGE]
- Run CE 6.7;
- Run the GAME;
- Load game process "SteelDivision.exe" via CE;
- Load this Table;
- Activate the maint script by clicking on its box [X];
- Now Activate the script of each cheat you want to use;
- Go back to the game and have fun.
===========================================
HOTKEYS:
- See each table entry;
===========================================
[WARNING]
- This table is meant to be used in single player games.
===========================================
[INFO]
Tested on Win10 64bits
===========================================
Cheers!