<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="16">
  <CheatEntries>
    <CheatEntry>
      <ID>63</ID>
      <Description>"[X] &lt;== Europa Universalis IV v1.3.2.0 FLT-3DM Script 4.0 (fix by shx)"</Description>
      <Color>FF0000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
===========================================
 Game Title    : Europa Universalis IV
 Game Version  : 1.3.2.0 (d2a0)
 Game Sponsor  : Fairlight (release #1110) + 3DM (Patch 1.3.1.0)
 Proces Name   : EU4.exe
 Script Version: 4.0
 CE Version    : 6.3
 Release date  : 25-Nov-2013
 Author        : Recifense (fix by shx)
 History:
 14-Aug-13: First Release
 15-Aug-13: Added Change Religion cheat (s2.0)
 18-Aug-13: Added protection against attrition+Culture (GM)(s3.0)
 19-Aug-13: Fixed issue related with "Change Religion" (s3.1)
 19-Aug-13: Release for version 1.1.1c (s3.1)
 23-Aug-13: Release for version 1.1.2 (+Stability) (s4.0)
 27-Aug-13: Release for version 1.1.3   (s4.0)
 28-Sep-13: Release for version 1.2.0.0 (s4.0)
 29-Sep-13: Release for version 1.2.1.0 (s4.0)
 03-Oct-13: Release for version 1.2.2.0 (s4.0)
 01-Nov-13: Release for version 1.3.0.0 (s4.0)
 04-Nov-13: Release for version 1.3.1.0 (s4.0)
 25-Nov-13: Fix			for version 1.3.2.0 (shx)
 Features:
 - Minimum Ducats
 - Full Manpower
 - Minimum Stability (S40)
 - Minimum Prestige
 - Minimum Power:
   - Administrative
   - Diplomatic
   - Military
 - Minimum Army/Navy Morale
 - Minimum Army/Navy Tradition
 - Minimum Mercantilism
 - Minimum Legitimacy
 - Maximum National Revolt Risk
 - Move Army/Navy to adjacent area in 1 turn
 - Tasks in 1 turn:
   - Recruitment
   - Production
   - Construction
   - Culture
   - Make Core
 - Colonization in 1 turn
 - Blessed Province:
   - Minimum Trade Power
   - Minimum ManPower Bonus
 - Quick Province Ownership
 - God Mode:
   - Army
   - Fleet
   - Garrison (Province)
   - Attrition     (s30)
 - No Native
 - Full Garrison
 - Change Religion (s20)
 - Change Culture  (s30)
 - pointers
===========================================
}

//=========================================
// Definitions
define(LUDO,"EU4.exe")

define(MHPR,EU4.exe+0031BB4D) //=====#==
define(MPRS,EU4.exe+0046970C) //#==#====
define(MAMP,EU4.exe+00431D4D) //===#====
define(MRPC,EU4.exe+000C1F69) //========
define(MCPS,EU4.exe+00334A3A) //========
define(GMD1,EU4.exe+00429F77) //========
define(GMD2,EU4.exe+0042A02E) //========
define(GMD3,EU4.exe+000979C8) //========
define(GMD4,EU4.exe+003334DE) //========
define(MPGN,EU4.exe+0033346C) //========
define(MSPE,EU4.exe+006A317A) //========
define(MSAY,EU4.exe+006F5283) //========
define(MPVE,EU4.exe+00034A83) //========
define(GMD5,EU4.exe+0037DC10) //========

define(GM50,eu4.exe+0037dcab) //========

//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded

assert(MHPR,8b 96 6c 17 00 00 89 94 24 a8 00 00 00 89 4c 24 18 38 99 af 0c 00)
assert(MPRS,8b 91 08 04 00 00 8d b5 28 ff ff ff 89 45 dc 89 55 d0 e8 ?? ?? ??)
assert(MAMP,39 8b d4 00 00 00 0f 8c ?? ?? ?? ?? 8b 45 98 39 83 90 00 00 00 ??)
assert(MRPC,2b c6 8b 73 28 69 f6 e8 03 00 00 03 c7 69 c0 e8 03 00 00 85 f6 ??)
assert(MCPS,39 86 58 0a 00 00 ?? ?? 85 ff ?? ?? b8 ?? ?? ?? ?? 8d 74 24 10 e8)
assert(GMD1,8b 46 68 29 46 38 8b 46 3c 39 46 6c ?? ?? 89 46 6c 8b 46 6c 29 46)
assert(GMD2,8b 46 68 29 46 38 8b 46 3c 39 46 6c ?? ?? 89 46 6c 8b 46 6c 29 46)
assert(GMD3,89 7e 3c 8b 43 30 8b 48 54 03 4c 24 14 8b 7c 24 14 89 48 54 8b 44)
assert(GMD4,89 88 60 0a 00 00 5b 5d c2 08 00 cc cc cc ?? ?? ?? ?? ?? ?? ?? ??)
assert(MPGN,8b 89 80 02 00 00 b8 d3 4d 62 10 f7 e9 c1 fa 06 8b c2 c1 e8 1f 03)
assert(MSPE,8b 80 a4 0c 00 00 39 87 a4 00 00 00 ?? ?? 38 9f b0 00 00 00 0f 84)
assert(MSAY,8b 4b 04 83 79 40 01 ?? ?? 8b 11 8b 42 38 ff d0 84 c0 ?? ?? 8b 4b)
assert(MPVE,69 c0 e8 03 00 00 81 c1 e8 03 00 00 f7 e9 6a 00 68 e8 03 00 00 52)
assert(GMD5,89 73 38 0f 84 92 00 00 00 6a 05 68 4d 02 00 00 8d 44 24 18 68 ??)

//=========================================
alloc(MyCode,4096,LUDO)
//=========================================
// Declaration section
label(_MonHumanPlayer)
label(_BackMHP)
label(_ExitMHP)
label(_MonPlayerResources)
label(_MonPR00)
label(_MonPR10)
label(_MonPR01)
label(_MonPR02)
label(_MonPR03)
label(_MonPR13)
label(_MonPR04)
label(_MonPR05)
label(_MonPR06)
label(_MonPR07)
label(_MonPR08)
label(_BackMPR)
label(_ExitMPR)
label(_MonArmyMP)
label(_BackMAM)
label(_ExitMAM)
label(_MonRecProdConst)
label(_BackMRP)
label(_ExitMRP)
label(_MonColonizationProg)
label(_BackMCP)
label(_ExitMCP)
label(_GodMode1)
label(_BackGM1)
label(_ExitGM1)
label(_GodMode2)
label(_BackGM2)
label(_ExitGM2)
label(_GodMode3)
label(_BackGM3)
label(_ExitGM3)
label(_GodMode4)
label(_BackGM4)
label(_ExitGM4)
label(_MonProvinceGarrison)
label(_BackMPG)
label(_ExitMPG)
label(_MonSelProvince)
label(_MonSP0Q)
label(_MonSP00)
label(_MonSP01)
label(_MonSP11)
label(_MonSP02)
label(_MonSP03)
label(_BackMSP)
label(_ExitMSP)
label(_MonSelArmy)
label(_BackMSA)
label(_ExitMSA)
label(_MonPowerValue)
label(_BackMPV)
label(_ExitMPV)
label(_GodMode5)
label(_BackGM5)
label(_ExitGM5)
label(_ExitGM50)
label(pPlayer)
label(pProvince)
label(pArmy)
label(pReligion)
label(pCulture)
label(iPlayerID)
label(iEnableMMD)
label(iEnableFMP)
label(iEnableMMP)
label(iEnableMRP)
label(iEnableANM)
label(iEnableANT)
label(iEnableMER)
label(iEnableLEG)
label(iEnableMRR)
label(iEnableMAM)
label(iEnableRPC)
label(iEnableMCP)
label(iEnableBSP)
label(iEnableQOS)
label(iEnableGMD)
label(iEnableNNE)
label(iEnableMPG)
label(iEnableCHR)
label(iEnableCHC)
label(iEnableMMS)
label(iMaxPower)

//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(pPlayer)
registersymbol(pProvince)
registersymbol(pArmy)
registersymbol(pReligion)
registersymbol(pCulture)
registersymbol(iPlayerID)
registersymbol(iEnableMMD)
registersymbol(iEnableFMP)
registersymbol(iEnableMMP)
registersymbol(iEnableMRP)
registersymbol(iEnableANM)
registersymbol(iEnableANT)
registersymbol(iEnableMER)
registersymbol(iEnableLEG)
registersymbol(iEnableMRR)
registersymbol(iEnableMAM)
registersymbol(iEnableRPC)
registersymbol(iEnableMCP)
registersymbol(iEnableBSP)
registersymbol(iEnableQOS)
registersymbol(iEnableGMD)
registersymbol(iEnableNNE)
registersymbol(iEnableMPG)
registersymbol(iEnableCHR)
registersymbol(iEnableCHC)
registersymbol(iEnableMMS)

//=========================================
MyCode:
//========================================= 1220
// This code finds out Player ID
_MonHumanPlayer:
 mov edx,[esi+0000176C]       // Get player ID

_ExitMHP:
 mov [iPlayerID],edx          // Save it for further use
 jmp _BackMHP                 // Back to main code

//========================================= 1300
// main game window
_MonPlayerResources:
 push eax
 push ebx
 push edx
 push esi
 push edi

 mov eax,[ecx+10]             // Get Owner ID
 cmp eax,[iPlayerID]          // Is it the playerÂ´s resources?
 jne _ExitMPR                 // jump if false

 mov [pPlayer],ecx            // Save pointer for debugging

 mov eax,[ecx+00002098]       // Get Religion
 mov [pReligion],eax          // Save pointer for debugging
 mov eax,[ecx+00002080]       // Get Culture
 mov [pCulture],eax           // Save pointer for debugging

// Ducats
 cmp dword ptr [iEnableMMD],0
 je _MonPR00                  // Jump if feature is disabled

 mov eax,#63000000            // Get minimum value (63000)

 cmp eax,[ecx+00000408]       // Currrent Ducats &gt;= 63000?
 jle _MonPR00                 // Jump if true

 mov [ecx+00000408],eax       // Make Ducats = 63000

// Manpower
_MonPR00:
 cmp dword ptr [iEnableFMP],0
 je _MonPR10                  // Jump if feature is disabled

 mov eax,[ecx+00001170]       // Get maximum Manpower
 mov [ecx+0000116c],eax       // Make Manpower = Max

// Stability
_MonPR10:
 cmp dword ptr [iEnableMMS],0
 je _MonPR01                  // Jump if feature is disabled

 mov eax,#6300                // Minimum Stability (6.3)
 cmp eax,[ecx+000009e4]
 js _MonPR01

 mov [ecx+000009e4],eax       // Make Stability = 6.3

// Prestige
_MonPR01:
 cmp dword ptr [iEnableMMP],0
 je _MonPR02                  // Jump if feature is disabled

 mov eax,#90000               // Minimum Prestige
 cmp eax,[ecx+00000c18]
 js _MonPR02

 mov [ecx+00000c18],eax       // Update Prestige

// Research Powers
_MonPR02:
 cmp dword ptr [iEnableMRP],0
 je _MonPR03                  // Jump if feature is disabled

 mov eax,[iMaxPower]          // Minimum RP

 dec eax
 dec eax
 dec eax
 dec eax

 mov ebx,[ecx+00000088]       // Administrative Power
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00000088],ebx

 mov ebx,[ecx+0000008c]       // Diplomatic Power
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+0000008c],ebx

 mov ebx,[ecx+00000090]       // Military Power
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00000090],ebx

// Morale
_MonPR03:
 cmp dword ptr [iEnableANM],0
 je _MonPR04                  // Jump if feature is disabled

 mov ebx,[ecx+00002174]
 test ebx,ebx
 jz _MonPR04

 mov esi,[ecx+00001564]
 test esi,esi
 jz _MonPR04

 mov edi,[ecx+00001614]
 test edi,edi
 jz _MonPR04

 mov eax,#63000               // Minimum Morale
 cmp eax,[ebx+000000e8]       // Total Army Morale
 js _MonPR13

 mov edx,eax
 sub edx,[ebx+000000e8]
 add [ebx+000000e8],edx
 add [esi+000000e8],edx

_MonPR13:
 cmp eax,[ebx+000000f0]       // Total Navy Morale
 js _MonPR04

 mov edx,eax
 sub edx,[ebx+000000f0]
 add [ebx+000000f0],edx
 add [edi+000000f0],edx

// Tradition
_MonPR04:
 cmp dword ptr [iEnableANT],0
 je _MonPR05                  // Jump if feature is disabled

 mov eax,#63000               // Minimum value

 mov ebx,[ecx+00001528]       // Army
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00001528],ebx

 mov ebx,[ecx+0000152c]       // Naval
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+0000152c],ebx

// Mercantilism
_MonPR05:
 cmp dword ptr [iEnableMER],0
 je _MonPR06                  // Jump if feature is disabled

 mov eax,#300                 // Minimum value

 mov ebx,[ecx+00001a18]
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00001a18],ebx

// Legitimacy
_MonPR06:
 cmp dword ptr [iEnableLEG],0
 je _MonPR07                  // Jump if feature is disabled

 mov eax,#90000               // Minimum value

 mov ebx,[ecx+00001acc]
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00001acc],ebx

// National revolt Risk
_MonPR07:
 cmp dword ptr [iEnableMRR],0
 je _MonPR08                  // Jump if feature is disabled

 mov ebx,[ecx+00002174]
 test ebx,ebx
 jz _MonPR08

 mov esi,[ecx+00000db4]
 test esi,esi
 jz _MonPR08

 mov eax,ffff3cb0             // NRR = -50

 cmp eax,[ebx+18]             // National RR
 jns _MonPR08

 mov edx,eax
 sub edx,[ebx+18]
 add [ebx+18],edx
 add [esi+18],edx

_MonPR08:
_ExitMPR:
 pop edi
 pop esi
 pop edx
 pop ebx
 pop eax

 mov edx,[ecx+00000408]       // Original code (Get Ducats)
 jmp _BackMPR                 // Back to main code

//========================================= 1200
// During Turn
_MonArmyMP:
 push eax

 cmp dword ptr [iEnableMAM],0
 je _ExitMAM                  // Jump if feature is disabled

 mov eax,[ebx+000000a8]
 cmp eax,[iPlayerID]
 jne _ExitMAM

 mov [ebx+000000D4],ecx

_ExitMAM:
 pop eax

 cmp [ebx+000000D4],ecx       // Original code
 jmp _BackMAM                 // Back to main code

//========================================= 1200
// During Turn
_MonRecProdConst:
 push edi

 cmp dword ptr [iEnableRPC],0
 je _ExitMRP                  // Jump if feature is disabled

 mov edi,[ebx+3c]
 cmp edi,[iPlayerID]
 jne _ExitMRP

 mov dword ptr [ebx+28],00

_ExitMRP:
 pop edi

 sub eax,esi                  // Original code
 mov esi,[ebx+28]             // Original code (rds #days)
 jmp _BackMRP                 // Back to main code

//========================================= 1200
// During Turn
_MonColonizationProg:
 push edi

 cmp dword ptr [iEnableMCP],0
 je _ExitMCP                  // Jump if feature is disabled

 mov edi,[esi+00000a8c]
 cmp edi,[iPlayerID]
 jne _ExitMCP

 mov edi,#1000000
 cmp edi,[esi+00000a58]
 js _ExitMCP

 mov [esi+00000a58],edi

_ExitMCP:
 pop edi

 cmp [esi+00000A58],eax       // Original code
 jmp _BackMCP                 // Back to main code

//========================================= 1200
// During Battle
_GodMode1:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM1                  // Jump if feature is disabled

 mov eax,[esi+64]
 cmp eax,[iPlayerID]
 jne _ExitGM1

 mov eax,#1000
 mov [esi+38],eax

 xor eax,eax
 mov [esi+68],eax
 mov [esi+6c],eax

 cmp dword ptr [iEnableANM],0
 je _ExitGM1                  // Jump if feature is disabled

 mov eax,#63000
 mov [esi+3C],eax

_ExitGM1:
 mov eax,[esi+68]             // Original code
 sub [esi+38],eax             // Original code
 jmp _BackGM1                 // Back to main code

//========================================= 1200
// During Battle
_GodMode2:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM2                  // Jump if feature is disabled

 mov eax,[esi+64]
 cmp eax,[iPlayerID]
 jne _ExitGM2

 mov eax,#1000
 mov [esi+38],eax

 xor eax,eax
 mov [esi+68],eax
 mov [esi+6c],eax

 cmp dword ptr [iEnableANM],0
 je _ExitGM2                  // Jump if feature is disabled

 mov eax,#63000
 mov [esi+3C],eax

_ExitGM2:
 mov eax,[esi+68]             // Original code
 sub [esi+38],eax             // Original code
 jmp _BackGM2                 // Back to main code

//========================================= 1200
// During Assault (attacker)
_GodMode3:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM3                  // Jump if feature is disabled

 mov eax,[esi+64]
 cmp eax,[iPlayerID]
 jne _ExitGM3

 mov eax,#1000
 mov [esi+38],eax

 xor eax,eax
 mov [esi+68],eax
 mov [esi+6c],eax

 mov edi,[esi+3C]

 cmp dword ptr [iEnableANM],0
 je _ExitGM3                  // Jump if feature is disabled

 mov edi,#63000

_ExitGM3:
 mov [esi+3C],edi             // Original code
 mov eax,[ebx+30]             // Original code
 jmp _BackGM3                 // Back to main code

//========================================= 1200
// During Assault (defender)
_GodMode4:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM4                  // Jump if feature is disabled

 mov ebx,[eax+00000a8c]
 cmp ebx,[iPlayerID]
 jne _ExitGM4

 cmp ecx,[eax+00000A60]
 jge _ExitGM4

 mov ecx,[eax+00000A60]

_ExitGM4:
 mov [eax+00000A60],ecx       // Original code
 jmp _BackGM4                 // Back to main code

//========================================= 1200
// Province undercursor or selected
_MonProvinceGarrison:
 push ebx

 cmp dword ptr [iEnableMPG],0
 je _ExitMPG                  // Jump if feature is disabled

 mov ebx,[eax+00000a8c]
 cmp ebx,[iPlayerID]
 jne _ExitMPG

 mov ebx,[ecx+00000280]       // Get Fort level
 test ebx,ebx
 js _ExitMPG

 imul ebx,ebx,000003e8
 mov [eax+00000a60],ebx

_ExitMPG:
 pop ebx

 mov ecx,[ecx+00000280]       // Original code (Fort Level)
 jmp _BackMPG                 // Back to main code

//========================================= 1200
// Selected Province
_MonSelProvince:
 push ebx
 push ecx
 push esi
 push edi

 mov [pProvince],eax

 cmp dword ptr [iEnableQOS],0
 je _MonSP0Q                  // Jump if feature is disabled

 mov ebx,[eax+00000a94]
 cmp ebx,[iPlayerID]
 jne _MonSP0Q

 mov ebx,[eax+00000a90]
 mov [eax+00000a88],ebx
 mov ebx,[eax+00000a94]
 mov [eax+00000a8c],ebx

_MonSP0Q:
 mov ebx,[eax+00000a8c]
 cmp ebx,[iPlayerID]
 jne _ExitMSP

 cmp dword ptr [iEnableBSP],0
 je _MonSP00                  // Jump if feature is disabled

//Trade Power
 mov ecx,#50000

 mov ebx,[eax+00000ca4]
 cmp ebx,ecx
 cmovs ebx,ecx
 mov [eax+00000ca4],ebx

//Manpower Bonus
 mov ecx,#5000

 mov ebx,[eax+00000a50]
 cmp ebx,ecx
 cmovs ebx,ecx
 mov [eax+00000a50],ebx

// Change Religion
_MonSP00:
 cmp dword ptr [iEnableCHR],0
 je _MonSP11                  // Jump if feature is disabled

 mov ebx,[pReligion]
 test ebx,ebx
 jz _MonSP11

 mov [eax+00000a78],ebx

// Change Culture
_MonSP11:
 cmp dword ptr [iEnableCHC],0
 je _MonSP01                  // Jump if feature is disabled

 mov ebx,[pCulture]
 test ebx,ebx
 jz _MonSP01

 mov [eax+00000a74],ebx

// No Natives
_MonSP01:
 cmp dword ptr [iEnableNNE],0
 je _MonSP02                  // Jump if feature is disabled

 xor ebx,ebx
 mov [eax+00000b00],ebx
 mov [eax+00000b04],ebx
 mov [eax+00000b08],ebx

//Quick Onwership
_MonSP02:
 cmp dword ptr [iEnableQOS],0
 je _MonSP03                  // Jump if feature is disabled

 mov ebx,[eax+00000a88]
 mov [eax+00000a90],ebx
 mov ebx,[eax+00000a8c]
 mov [eax+00000a94],ebx

//Local Revolt Risk
_MonSP03:
 cmp dword ptr [iEnableMRR],0
 je _ExitMSP                  // Jump if feature is disabled

 mov ebx,[eax+00000170]
 test ebx,ebx
 jz _ExitMSP

 mov esi,[eax+0000068c]
 test esi,esi
 jz _ExitMSP

 mov ecx,ffff3cb0             // LRR = -50

 cmp ecx,[ebx+10]             // Local RR
 jns _ExitMSP

 sub ecx,[ebx+10]
 add [ebx+10],ecx
 add [esi+10],ecx

_ExitMSP:
 pop edi
 pop esi
 pop ecx
 pop ebx

 mov eax,[eax+00000CA4]       // Original code
 jmp _BackMSP                 // Back to main code

//========================================= 1200
// Selected Army
_MonSelArmy:
 mov ecx,[ebx+04]             // Original code

 mov [pArmy],ecx

_ExitMSA:
 cmp dword ptr [ecx+40],01    // Original code
 jmp _BackMSA                 // Back to main code

//========================================= 1200
// Find out Max Power
_MonPowerValue:
 mov [iMaxPower],eax

_ExitMPV:
 imul eax,eax,000003E8        // Original code
 jmp _BackMPV                 // Back to main code

//========================================= 1200
// During Assault (attacker)
_GodMode5:
 pushfd
 push eax

 cmp dword ptr [iEnableGMD],0
 je _ExitGM5                  // Jump if feature is disabled

 mov eax,[ebx+64]
 cmp eax,[iPlayerID]
 jne _ExitGM5

 xor eax,eax
 mov [ebx+68],eax
 mov [ebx+6c],eax

 mov esi,#1000

_ExitGM5:
 pop eax
 popfd

 mov [ebx+38],esi             // Original code
 jne _ExitGM50

 jmp GM50
//--
_ExitGM50:
 jmp _BackGM5                 // Back to main code

//=========================================
 db '======================================&gt;'
 db 'CE6.3 Script by Recifense 110413'
//=========================================
// Variables
iEnableMMD:
 dd 0
iEnableFMP:
 dd 0
iEnableMMP:
 dd 0
iEnableMRP:
 dd 0
iEnableANM:
 dd 0
iEnableANT:
 dd 0
iEnableMER:
 dd 0
iEnableLEG:
 dd 0
iEnableMRR:
 dd 0
iEnableMAM:
 dd 0
iEnableRPC:
 dd 0
iEnableMCP:
 dd 0
iEnableBSP:
 dd 0
iEnableQOS:
 dd 0
iEnableGMD:
 dd 0
iEnableNNE:
 dd 0
iEnableMPG:
 dd 0
iEnableCHR:
 dd 0
iEnableCHC:
 dd 0
iEnableMMS:
 dd 0
pPlayer:
 dd 0
pProvince:
 dd 0
pArmy:
 dd 0
pReligion:
 dd 0
pCulture:
 dd 0
iPlayerID:
 dd #9999
iMaxPower:
 dd #634

//=========================================
// Hacking Points
MHPR:
 jmp _MonHumanPlayer
 nop
_BackMHP:

MPRS:
 jmp _MonPlayerResources
 nop
_BackMPR:

MAMP:
 jmp _MonArmyMP
 nop
_BackMAM:

MRPC:
 jmp _MonRecProdConst
_BackMRP:

MCPS:
 jmp _MonColonizationProg
 nop
_BackMCP:

GMD1:
 jmp _GodMode1
 nop
_BackGM1:

GMD2:
 jmp _GodMode2
 nop
_BackGM2:

GMD3:
 jmp _GodMode3
 nop
_BackGM3:

GMD4:
 jmp _GodMode4
 nop
_BackGM4:

MPGN:
 jmp _MonProvinceGarrison
 nop
_BackMPG:

MSPE:
 jmp _MonSelProvince
 nop
_BackMSP:

MSAY:
 jmp _MonSelArmy
 nop
 nop
_BackMSA:

MPVE:
 jmp _MonPowerValue
 nop
_BackMPV:

GMD5:
 jmp _GodMode5
 db 90 90 90 90
_BackGM5:

//=========================================
// Script for Restoring Original Codes
[DISABLE]
MHPR:
// mov edx,[esi+0000176C]
 db 8b 96 6c 17 00 00

MPRS:
// mov edx,[eax+00000408]
 db 8b 91 08 04 00 00

MAMP:
// cmp [ebx+000000D4],ecx
 db 39 8b d4 00 00 00

MRPC:
// sub eax,esi
// mov esi,[ebx+28]
 db 2b c6 8b 73 28

MCPS:
// cmp [esi+00000A58],eax
 db 39 86 58 0a 00 00

GMD1:
// mov eax,[esi+68]
// sub [esi+38],eax
 db 8b 46 68 29 46 38

GMD2:
// mov eax,[esi+68]
// sub [esi+38],eax
 db 8b 46 68 29 46 38

GMD3:
// mov [esi+3C],edi
// mov eax,[ebx+30]
 db 89 7e 3c 8b 43 30

GMD4:
// mov [eax+00000A60],ecx
 db 89 88 60 0a 00 00

MPGN:
// mov ecx,[ecx+00000280]
 db 8b 89 80 02 00 00

MSPE:
// mov eax,[eax+00000CA4]
 db 8b 80 a4 0c 00 00

MSAY:
// mov ecx,[ebx+04]
// cmp dword ptr [ecx+40],01
 db 8b 4b 04 83 79 40 01

MPVE:
// imul eax,eax,000003E8
 db 69 c0 e8 03 00 00

GMD5:
// mov [ebx+38],esi
// je eu4.exe+37df0B
 db 89 73 38 0f 84 92 00 00 00

//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(pPlayer)
unregistersymbol(pProvince)
unregistersymbol(pArmy)
unregistersymbol(pReligion)
unregistersymbol(pCulture)
unregistersymbol(iPlayerID)
unregistersymbol(iEnableMMD)
unregistersymbol(iEnableFMP)
unregistersymbol(iEnableMMP)
unregistersymbol(iEnableMRP)
unregistersymbol(iEnableANM)
unregistersymbol(iEnableANT)
unregistersymbol(iEnableMER)
unregistersymbol(iEnableLEG)
unregistersymbol(iEnableMRR)
unregistersymbol(iEnableMAM)
unregistersymbol(iEnableRPC)
unregistersymbol(iEnableMCP)
unregistersymbol(iEnableBSP)
unregistersymbol(iEnableQOS)
unregistersymbol(iEnableGMD)
unregistersymbol(iEnableNNE)
unregistersymbol(iEnableMPG)
unregistersymbol(iEnableCHR)
unregistersymbol(iEnableCHC)
unregistersymbol(iEnableMMS)
unregistersymbol(iEnableMMS)

//=========================================
dealloc(MyCode)
//============= Scripts End ===============

// ****************************************
// NOTES
// ****************************************
{
v1.3.0.0:
define(MHPR,EU4.exe+0031cd2d) //=====#=
define(MPRS,EU4.exe+0046a42c) //#==#===
define(MAMP,EU4.exe+0043327d) //===#===
define(MRPC,EU4.exe+000b5769) //=======
define(MCPS,EU4.exe+00335d6a) //=======
define(GMD1,EU4.exe+0042b497) //=======
define(GMD2,EU4.exe+0042b54e) //=======
define(GMD3,EU4.exe+000975f8) //=======
define(GMD4,EU4.exe+0033451e) //=======
define(MPGN,EU4.exe+003391a6) //=======
define(MSPE,EU4.exe+006a32a9) //=======
define(MSAY,EU4.exe+006f51b3) //=======
define(MPVE,EU4.exe+0014624e) //=======
define(GMD5,EU4.exe+0037f0f0) //=======

define(GM50,eu4.exe+0037f18b) //=======

v1.2.2.0:
define(MHPR,EU4.exe+0031a44d) //=====#
define(MPRS,EU4.exe+00463b60) //#==#==
define(MAMP,EU4.exe+0042c574) //===#==
define(MRPC,EU4.exe+000b9c47) //======
define(MCPS,EU4.exe+0033278a) //======
define(GMD1,EU4.exe+004249c7) //======
define(GMD2,EU4.exe+00424a7e) //======
define(GMD3,EU4.exe+00099177) //======
define(GMD4,EU4.exe+00330f3e) //======
define(MPGN,EU4.exe+00335a96) //======
define(MSPE,EU4.exe+00698419) //======
define(MSAY,EU4.exe+006ea05a) //======
define(MPVE,EU4.exe+001491ee) //======
define(GMD5,EU4.exe+0037acc0) //======

define(GM50,eu4.exe+0037ad5b) //======

v1.2.1.0:
define(MHPR,EU4.exe+0031916a) //=====
define(MPRS,EU4.exe+00461cc0) //#==#=
define(MAMP,EU4.exe+0042acc4) //===#=
define(MRPC,EU4.exe+000ba347) //=====
define(MCPS,EU4.exe+003314da) //=====
define(GMD1,EU4.exe+00423147) //=====
define(GMD2,EU4.exe+004231fe) //=====
define(GMD3,EU4.exe+00099297) //=====
define(GMD4,EU4.exe+0032fc8e) //=====
define(MPGN,EU4.exe+003347e6) //=====
define(MSPE,EU4.exe+00696b49) //=====
define(MSAY,EU4.exe+006e8baa) //=====
define(MPVE,EU4.exe+0014932e) //=====
define(GMD5,EU4.exe+00379140) //=====

define(GM50,eu4.exe+003791db) //=====

v1.2.0.0:
define(MHPR,EU4.exe+003174aa) //====
define(MPRS,EU4.exe+0045f840) //#==#
define(MAMP,EU4.exe+00428fe4) //===#
define(MRPC,EU4.exe+000b96c7) //====
define(MCPS,EU4.exe+0032f83a) //====
define(GMD1,EU4.exe+00421587) //====
define(GMD2,EU4.exe+0042163e) //====
define(GMD3,EU4.exe+00098c57) //====
define(GMD4,EU4.exe+0032dfee) //====
define(MPGN,EU4.exe+00332b46) //====
define(MSPE,EU4.exe+00694119) //====
define(MSAY,EU4.exe+006e5f2a) //====
define(MPVE,EU4.exe+00147d0e) //====
define(GMD5,EU4.exe+00377830) //====

define(GM50,eu4.exe+003778cb) //====

v1.1.3:
define(MHPR,EU4.exe+00302a42) //===
define(MPRS,EU4.exe+00445cec) //#==
define(MAMP,EU4.exe+00410581) //===
define(MRPC,EU4.exe+000af969) //===
define(MCPS,EU4.exe+0031ac8a) //===
define(GMD1,EU4.exe+004063d7) //===
define(GMD2,EU4.exe+0040648e) //===
define(GMD3,EU4.exe+0008ebe7) //===
define(GMD4,EU4.exe+003194ee) //===
define(MPGN,EU4.exe+0031e3a6) //===
define(MSPE,EU4.exe+00674bf9) //===
define(MSAY,EU4.exe+006c6e51) //===
define(MPVE,EU4.exe+0013796e) //===
define(GMD5,EU4.exe+0035d9b0) //===

define(GM50,eu4.exe+0035da4B) //===

v1.1.2:
define(MHPR,EU4.exe+00302a22) //==
define(MPRS,EU4.exe+00445b7c) //#=
define(MAMP,EU4.exe+00410491) //==
define(MRPC,EU4.exe+000af809) //==
define(MCPS,EU4.exe+0031ac5a) //==
define(GMD1,EU4.exe+00406317) //==
define(GMD2,EU4.exe+004063ce) //==
define(GMD3,EU4.exe+0008ea67) //==
define(GMD4,EU4.exe+003194be) //==
define(MPGN,EU4.exe+0031e376) //==
define(MSPE,EU4.exe+00674859) //==
define(MSAY,EU4.exe+006c6b61) //==
define(MPVE,EU4.exe+0013782e) //==
define(GMD5,EU4.exe+0035d9f0) //==

define(GM50,eu4.exe+0035da8B) //==

v1.1.1c:
define(MHPR,EU4.exe+00301ea2) //=
define(MPRS,EU4.exe+00444dac) //#
define(MAMP,EU4.exe+0040fc71) //=
define(MRPC,EU4.exe+000ac7f9) //=
define(MCPS,EU4.exe+0031a0da) //=
define(GMD1,EU4.exe+00405ad7) //=
define(GMD2,EU4.exe+00405b8e) //=
define(GMD3,EU4.exe+0008ea17) //=
define(GMD4,EU4.exe+0031893e) //=
define(MPGN,EU4.exe+0031d7f6) //=
define(MSPE,EU4.exe+00673909) //=
define(MSAY,EU4.exe+006c60c1) //=
define(MPVE,EU4.exe+001345de) //=
define(GMD5,EU4.exe+0035cfa0) //=

define(GM50,eu4.exe+0035d03B) //=

v1.1.0:
define(MHPR,EU4.exe+002f85d2)
define(MPRS,EU4.exe+004449fc)
define(MAMP,EU4.exe+0040f431)
define(MRPC,EU4.exe+000b01f9)
define(MCPS,EU4.exe+0031080a)
define(GMD1,EU4.exe+00405287)
define(GMD2,EU4.exe+0040533e)
define(GMD3,EU4.exe+0008f437)
define(GMD4,EU4.exe+0030f06e)
define(MPGN,EU4.exe+00313f26)
define(MSPE,EU4.exe+006732a9)
define(MSAY,EU4.exe+006c5a21)
define(MPVE,EU4.exe+00137dee)
define(GMD5,EU4.exe+0035cd00)

define(GM50,eu4.exe+0035CD9B)
}

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Enable/Disable Recrut/Produc/Const in 1 Turn =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableRPC</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>46</ID>
          <Description>"Enable/Disable Quick Province Ownership =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableQOS</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>55</ID>
          <Description>"Enable/Disable No Natives =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableNNE</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>78</ID>
          <Description>"Enable/Disable Minimum Stability =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMMS</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>26</ID>
          <Description>"Enable/Disable Minimum Research Powers =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMRP</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>25</ID>
          <Description>"Enable/Disable Minimum Prestige =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMMP</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"Enable/Disable Minimum Mercantilism =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMER</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"Enable/Disable Minimum Legitimacy =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableLEG</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>23</ID>
          <Description>"Enable/Disable Minimum Ducats =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMMD</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>28</ID>
          <Description>"Enable/Disable Minimum Army/Navy Tradition =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableANT</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>27</ID>
          <Description>"Enable/Disable Minimum Army/Navy Morale =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableANM</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Enable/Disable Maximum Revolt Risk =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMRR</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>50</ID>
          <Description>"Enable/Disable God Mode =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableGMD</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>24</ID>
          <Description>"Enable/Disable Full Manpower =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableFMP</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>56</ID>
          <Description>"Enable/Disable Full Garrison =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMPG</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Enable/Disable Colonization in 1 Turn =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMCP</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>64</ID>
          <Description>"Enable/Disable Change Religion =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableCHR</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>33</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>34</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>75</ID>
          <Description>"Enable/Disable Change Culture =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableCHC</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>45</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>46</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"Enable/Disable Blassed Province =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableBSP</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Enable/Disable Army/Fleet Move in 1 Turn =&gt; (1/0)"</Description>
          <Color>008000</Color>
          <VariableType>4 Bytes</VariableType>
          <Address>iEnableMAM</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>36</Key>
              </Keys>
              <Value>1</Value>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Set Value</Action>
              <Keys>
                <Key>17</Key>
                <Key>35</Key>
              </Keys>
              <Value>0</Value>
              <ID>1</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>65</ID>
          <Description>"============== Player's/Ruler's Info ============="</Description>
          <ShowAsHex>1</ShowAsHex>
          <Color>000080</Color>
          <VariableType>String</VariableType>
          <Length>16</Length>
          <Unicode>0</Unicode>
          <ZeroTerminate>1</ZeroTerminate>
          <Address>pPlayer</Address>
          <Offsets>
            <Offset>30</Offset>
            <Offset>20A8</Offset>
          </Offsets>
          <CheatEntries>
            <CheatEntry>
              <ID>81</ID>
              <Description>"Ruler Military Skill ==&gt; (x1)"</Description>
              <Color>FF00FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>54</Offset>
                <Offset>20A8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>80</ID>
              <Description>"Ruler Diplomatic Skill ==&gt; (x1)"</Description>
              <Color>FF00FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>50</Offset>
                <Offset>20A8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>66</ID>
              <Description>"Ruler Administrative Skill ==&gt; (x1)"</Description>
              <Color>FF00FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>4C</Offset>
                <Offset>20A8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>76</ID>
              <Description>"Current Prestiger ==&gt; (x1000)"</Description>
              <Color>0000FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>C18</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>82</ID>
              <Description>"Current Papal Influence ==&gt; (x1000)"</Description>
              <Color>C08000</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>1744</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>68</ID>
              <Description>"Current Military Power ==&gt; (x1)"</Description>
              <Color>0000FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>90</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>77</ID>
              <Description>"Current Legitimacy ==&gt; (x1000)"</Description>
              <Color>0000FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>1ACC</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>67</ID>
              <Description>"Current Diplomatic Power ==&gt; (x1)"</Description>
              <Color>0000FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>8C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>79</ID>
              <Description>"Current Administrative Power ==&gt; (x1)"</Description>
              <Color>0000FF</Color>
              <VariableType>4 Bytes</VariableType>
              <Address>pPlayer</Address>
              <Offsets>
                <Offset>88</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>83</ID>
      <Description>"Auto Assemble script"</Description>
      <Color>80000008</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{
===========================================
 Game Title    : Europa Universalis IV
 Game Version  : 1.3.1.0 (39ca)
 Game Sponsor  : Fairlight (release #1110) + 3DM (Patch 1.3.1.0)
 Proces Name   : EU4.exe
 Script Version: 4.0
 CE Version    : 6.3
 Release date  : 04-Nov-2013
 Author        : Recifense
 History:
 14-Aug-13: First Release
 15-Aug-13: Added Change Religion cheat (s2.0)
 18-Aug-13: Added protection against attrition+Culture (GM)(s3.0)
 19-Aug-13: Fixed issue related with "Change Religion" (s3.1)
 19-Aug-13: Release for version 1.1.1c (s3.1)
 23-Aug-13: Release for version 1.1.2 (+Stability) (s4.0)
 27-Aug-13: Release for version 1.1.3   (s4.0)
 28-Sep-13: Release for version 1.2.0.0 (s4.0)
 29-Sep-13: Release for version 1.2.1.0 (s4.0)
 03-Oct-13: Release for version 1.2.2.0 (s4.0)
 01-Nov-13: Release for version 1.3.0.0 (s4.0)
 04-Nov-13: Release for version 1.3.1.0 (s4.0)
 Features:
 - Minimum Ducats
 - Full Manpower
 - Minimum Stability (S40)
 - Minimum Prestige
 - Minimum Power:
   - Administrative
   - Diplomatic
   - Military
 - Minimum Army/Navy Morale
 - Minimum Army/Navy Tradition
 - Minimum Mercantilism
 - Minimum Legitimacy
 - Maximum National Revolt Risk
 - Move Army/Navy to adjacent area in 1 turn
 - Tasks in 1 turn:
   - Recruitment
   - Production
   - Construction
   - Culture
   - Make Core
 - Colonization in 1 turn
 - Blessed Province:
   - Minimum Trade Power
   - Minimum ManPower Bonus
 - Quick Province Ownership
 - God Mode:
   - Army
   - Fleet
   - Garrison (Province)
   - Attrition     (s30)
 - No Native
 - Full Garrison
 - Change Religion (s20)
 - Change Culture  (s30)
 - pointers
===========================================
}

//=========================================
// Definitions
define(LUDO,"EU4.exe")

define(MHPR,EU4.exe+0050BB4D) //=====#==
define(MPRS,EU4.exe+0065970C) //#==#====
define(MAMP,EU4.exe+00621D4D) //===#====
define(MRPC,EU4.exe+002B1F69) //========
define(MCPS,EU4.exe+00524A3A) //========
define(GMD1,EU4.exe+00619F77) //========
define(GMD2,EU4.exe+0061A02E) //========
define(GMD3,EU4.exe+002879C8) //========
define(GMD4,EU4.exe+005234DE) //========
define(MPGN,EU4.exe+0052346C) //========
define(MSPE,EU4.exe+0089317A) //========
define(MSAY,EU4.exe+008E5283) //========
define(MPVE,EU4.exe+00224A83) //========
define(GMD5,EU4.exe+0056DC10) //========

define(GM50,eu4.exe+0056dcab) //========

//=========================================
[ENABLE]
//=========================================
//LuaCall(CheckVersion())
//=========================================
// Check if script is compatible to this game version
// If false the script will not be loaded

assert(MHPR,8b 96 6c 17 00 00 89 94 24 a8 00 00 00 89 4c 24 18 38 99 af 0c 00)
assert(MPRS,8b 91 08 04 00 00 8d b5 28 ff ff ff 89 45 dc 89 55 d0 e8 ?? ?? ??)
assert(MAMP,39 8b d4 00 00 00 0f 8c ?? ?? ?? ?? 8b 45 98 39 83 90 00 00 00 ??)
assert(MRPC,2b c6 8b 73 28 69 f6 e8 03 00 00 03 c7 69 c0 e8 03 00 00 85 f6 ??)
assert(MCPS,39 86 58 0a 00 00 ?? ?? 85 ff ?? ?? b8 ?? ?? ?? ?? 8d 74 24 10 e8)
assert(GMD1,8b 46 68 29 46 38 8b 46 3c 39 46 6c ?? ?? 89 46 6c 8b 46 6c 29 46)
assert(GMD2,8b 46 68 29 46 38 8b 46 3c 39 46 6c ?? ?? 89 46 6c 8b 46 6c 29 46)
assert(GMD3,89 7e 3c 8b 43 30 8b 48 54 03 4c 24 14 8b 7c 24 14 89 48 54 8b 44)
assert(GMD4,89 88 60 0a 00 00 5b 5d c2 08 00 cc cc cc ?? ?? ?? ?? ?? ?? ?? ??)
assert(MPGN,8b 89 80 02 00 00 b8 d3 4d 62 10 f7 e9 c1 fa 06 8b c2 c1 e8 1f 03)
assert(MSPE,8b 80 a4 0c 00 00 39 87 a4 00 00 00 ?? ?? 38 9f b0 00 00 00 0f 84)
assert(MSAY,8b 4b 04 83 79 40 01 ?? ?? 8b 11 8b 42 38 ff d0 84 c0 ?? ?? 8b 4b)
assert(MPVE,69 c0 e8 03 00 00 81 c1 e8 03 00 00 f7 e9 6a 00 68 e8 03 00 00 52)
assert(GMD5,89 73 38 0f 84 92 00 00 00 6a 05 68 4d 02 00 00 8d 44 24 18 68 ??)

//=========================================
alloc(MyCode,4096,LUDO)
//=========================================
// Declaration section
label(_MonHumanPlayer)
label(_BackMHP)
label(_ExitMHP)
label(_MonPlayerResources)
label(_MonPR00)
label(_MonPR10)
label(_MonPR01)
label(_MonPR02)
label(_MonPR03)
label(_MonPR13)
label(_MonPR04)
label(_MonPR05)
label(_MonPR06)
label(_MonPR07)
label(_MonPR08)
label(_BackMPR)
label(_ExitMPR)
label(_MonArmyMP)
label(_BackMAM)
label(_ExitMAM)
label(_MonRecProdConst)
label(_BackMRP)
label(_ExitMRP)
label(_MonColonizationProg)
label(_BackMCP)
label(_ExitMCP)
label(_GodMode1)
label(_BackGM1)
label(_ExitGM1)
label(_GodMode2)
label(_BackGM2)
label(_ExitGM2)
label(_GodMode3)
label(_BackGM3)
label(_ExitGM3)
label(_GodMode4)
label(_BackGM4)
label(_ExitGM4)
label(_MonProvinceGarrison)
label(_BackMPG)
label(_ExitMPG)
label(_MonSelProvince)
label(_MonSP0Q)
label(_MonSP00)
label(_MonSP01)
label(_MonSP11)
label(_MonSP02)
label(_MonSP03)
label(_BackMSP)
label(_ExitMSP)
label(_MonSelArmy)
label(_BackMSA)
label(_ExitMSA)
label(_MonPowerValue)
label(_BackMPV)
label(_ExitMPV)
label(_GodMode5)
label(_BackGM5)
label(_ExitGM5)
label(_ExitGM50)
label(pPlayer)
label(pProvince)
label(pArmy)
label(pReligion)
label(pCulture)
label(iPlayerID)
label(iEnableMMD)
label(iEnableFMP)
label(iEnableMMP)
label(iEnableMRP)
label(iEnableANM)
label(iEnableANT)
label(iEnableMER)
label(iEnableLEG)
label(iEnableMRR)
label(iEnableMAM)
label(iEnableRPC)
label(iEnableMCP)
label(iEnableBSP)
label(iEnableQOS)
label(iEnableGMD)
label(iEnableNNE)
label(iEnableMPG)
label(iEnableCHR)
label(iEnableCHC)
label(iEnableMMS)
label(iMaxPower)

//=========================================
// Registering Symbols
registersymbol(MyCode)
registersymbol(pPlayer)
registersymbol(pProvince)
registersymbol(pArmy)
registersymbol(pReligion)
registersymbol(pCulture)
registersymbol(iPlayerID)
registersymbol(iEnableMMD)
registersymbol(iEnableFMP)
registersymbol(iEnableMMP)
registersymbol(iEnableMRP)
registersymbol(iEnableANM)
registersymbol(iEnableANT)
registersymbol(iEnableMER)
registersymbol(iEnableLEG)
registersymbol(iEnableMRR)
registersymbol(iEnableMAM)
registersymbol(iEnableRPC)
registersymbol(iEnableMCP)
registersymbol(iEnableBSP)
registersymbol(iEnableQOS)
registersymbol(iEnableGMD)
registersymbol(iEnableNNE)
registersymbol(iEnableMPG)
registersymbol(iEnableCHR)
registersymbol(iEnableCHC)
registersymbol(iEnableMMS)

//=========================================
MyCode:
//========================================= 1220
// This code finds out Player ID
_MonHumanPlayer:
 mov edx,[esi+0000176C]       // Get player ID

_ExitMHP:
 mov [iPlayerID],edx          // Save it for further use
 jmp _BackMHP                 // Back to main code

//========================================= 1300
// main game window
_MonPlayerResources:
 push eax
 push ebx
 push edx
 push esi
 push edi

 mov eax,[ecx+10]             // Get Owner ID
 cmp eax,[iPlayerID]          // Is it the playerÂ´s resources?
 jne _ExitMPR                 // jump if false

 mov [pPlayer],ecx            // Save pointer for debugging

 mov eax,[ecx+00002098]       // Get Religion
 mov [pReligion],eax          // Save pointer for debugging
 mov eax,[ecx+00002080]       // Get Culture
 mov [pCulture],eax           // Save pointer for debugging

// Ducats
 cmp dword ptr [iEnableMMD],0
 je _MonPR00                  // Jump if feature is disabled

 mov eax,#63000000            // Get minimum value (63000)

 cmp eax,[ecx+00000408]       // Currrent Ducats &gt;= 63000?
 jle _MonPR00                 // Jump if true

 mov [ecx+00000408],eax       // Make Ducats = 63000

// Manpower
_MonPR00:
 cmp dword ptr [iEnableFMP],0
 je _MonPR10                  // Jump if feature is disabled

 mov eax,[ecx+00001170]       // Get maximum Manpower
 mov [ecx+0000116c],eax       // Make Manpower = Max

// Stability
_MonPR10:
 cmp dword ptr [iEnableMMS],0
 je _MonPR01                  // Jump if feature is disabled

 mov eax,#6300                // Minimum Stability (6.3)
 cmp eax,[ecx+000009e4]
 js _MonPR01

 mov [ecx+000009e4],eax       // Make Stability = 6.3

// Prestige
_MonPR01:
 cmp dword ptr [iEnableMMP],0
 je _MonPR02                  // Jump if feature is disabled

 mov eax,#90000               // Minimum Prestige
 cmp eax,[ecx+00000c18]
 js _MonPR02

 mov [ecx+00000c18],eax       // Update Prestige

// Research Powers
_MonPR02:
 cmp dword ptr [iEnableMRP],0
 je _MonPR03                  // Jump if feature is disabled

 mov eax,[iMaxPower]          // Minimum RP

 dec eax
 dec eax
 dec eax
 dec eax

 mov ebx,[ecx+00000088]       // Administrative Power
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00000088],ebx

 mov ebx,[ecx+0000008c]       // Diplomatic Power
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+0000008c],ebx

 mov ebx,[ecx+00000090]       // Military Power
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00000090],ebx

// Morale
_MonPR03:
 cmp dword ptr [iEnableANM],0
 je _MonPR04                  // Jump if feature is disabled

 mov ebx,[ecx+00002174]
 test ebx,ebx
 jz _MonPR04

 mov esi,[ecx+00001564]
 test esi,esi
 jz _MonPR04

 mov edi,[ecx+00001614]
 test edi,edi
 jz _MonPR04

 mov eax,#63000               // Minimum Morale
 cmp eax,[ebx+000000e8]       // Total Army Morale
 js _MonPR13

 mov edx,eax
 sub edx,[ebx+000000e8]
 add [ebx+000000e8],edx
 add [esi+000000e8],edx

_MonPR13:
 cmp eax,[ebx+000000f0]       // Total Navy Morale
 js _MonPR04

 mov edx,eax
 sub edx,[ebx+000000f0]
 add [ebx+000000f0],edx
 add [edi+000000f0],edx

// Tradition
_MonPR04:
 cmp dword ptr [iEnableANT],0
 je _MonPR05                  // Jump if feature is disabled

 mov eax,#63000               // Minimum value

 mov ebx,[ecx+00001528]       // Army
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00001528],ebx

 mov ebx,[ecx+0000152c]       // Naval
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+0000152c],ebx

// Mercantilism
_MonPR05:
 cmp dword ptr [iEnableMER],0
 je _MonPR06                  // Jump if feature is disabled

 mov eax,#300                 // Minimum value

 mov ebx,[ecx+00001a18]
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00001a18],ebx

// Legitimacy
_MonPR06:
 cmp dword ptr [iEnableLEG],0
 je _MonPR07                  // Jump if feature is disabled

 mov eax,#90000               // Minimum value

 mov ebx,[ecx+00001acc]
 cmp ebx,eax
 cmovs ebx,eax
 mov [ecx+00001acc],ebx

// National revolt Risk
_MonPR07:
 cmp dword ptr [iEnableMRR],0
 je _MonPR08                  // Jump if feature is disabled

 mov ebx,[ecx+00002174]
 test ebx,ebx
 jz _MonPR08

 mov esi,[ecx+00000db4]
 test esi,esi
 jz _MonPR08

 mov eax,ffff3cb0             // NRR = -50

 cmp eax,[ebx+18]             // National RR
 jns _MonPR08

 mov edx,eax
 sub edx,[ebx+18]
 add [ebx+18],edx
 add [esi+18],edx

_MonPR08:
_ExitMPR:
 pop edi
 pop esi
 pop edx
 pop ebx
 pop eax

 mov edx,[ecx+00000408]       // Original code (Get Ducats)
 jmp _BackMPR                 // Back to main code

//========================================= 1200
// During Turn
_MonArmyMP:
 push eax

 cmp dword ptr [iEnableMAM],0
 je _ExitMAM                  // Jump if feature is disabled

 mov eax,[ebx+000000a8]
 cmp eax,[iPlayerID]
 jne _ExitMAM

 mov [ebx+000000D4],ecx

_ExitMAM:
 pop eax

 cmp [ebx+000000D4],ecx       // Original code
 jmp _BackMAM                 // Back to main code

//========================================= 1200
// During Turn
_MonRecProdConst:
 push edi

 cmp dword ptr [iEnableRPC],0
 je _ExitMRP                  // Jump if feature is disabled

 mov edi,[ebx+3c]
 cmp edi,[iPlayerID]
 jne _ExitMRP

 mov dword ptr [ebx+28],00

_ExitMRP:
 pop edi

 sub eax,esi                  // Original code
 mov esi,[ebx+28]             // Original code (rds #days)
 jmp _BackMRP                 // Back to main code

//========================================= 1200
// During Turn
_MonColonizationProg:
 push edi

 cmp dword ptr [iEnableMCP],0
 je _ExitMCP                  // Jump if feature is disabled

 mov edi,[esi+00000a8c]
 cmp edi,[iPlayerID]
 jne _ExitMCP

 mov edi,#1000000
 cmp edi,[esi+00000a58]
 js _ExitMCP

 mov [esi+00000a58],edi

_ExitMCP:
 pop edi

 cmp [esi+00000A58],eax       // Original code
 jmp _BackMCP                 // Back to main code

//========================================= 1200
// During Battle
_GodMode1:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM1                  // Jump if feature is disabled

 mov eax,[esi+64]
 cmp eax,[iPlayerID]
 jne _ExitGM1

 mov eax,#1000
 mov [esi+38],eax

 xor eax,eax
 mov [esi+68],eax
 mov [esi+6c],eax

 cmp dword ptr [iEnableANM],0
 je _ExitGM1                  // Jump if feature is disabled

 mov eax,#63000
 mov [esi+3C],eax

_ExitGM1:
 mov eax,[esi+68]             // Original code
 sub [esi+38],eax             // Original code
 jmp _BackGM1                 // Back to main code

//========================================= 1200
// During Battle
_GodMode2:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM2                  // Jump if feature is disabled

 mov eax,[esi+64]
 cmp eax,[iPlayerID]
 jne _ExitGM2

 mov eax,#1000
 mov [esi+38],eax

 xor eax,eax
 mov [esi+68],eax
 mov [esi+6c],eax

 cmp dword ptr [iEnableANM],0
 je _ExitGM2                  // Jump if feature is disabled

 mov eax,#63000
 mov [esi+3C],eax

_ExitGM2:
 mov eax,[esi+68]             // Original code
 sub [esi+38],eax             // Original code
 jmp _BackGM2                 // Back to main code

//========================================= 1200
// During Assault (attacker)
_GodMode3:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM3                  // Jump if feature is disabled

 mov eax,[esi+64]
 cmp eax,[iPlayerID]
 jne _ExitGM3

 mov eax,#1000
 mov [esi+38],eax

 xor eax,eax
 mov [esi+68],eax
 mov [esi+6c],eax

 mov edi,[esi+3C]

 cmp dword ptr [iEnableANM],0
 je _ExitGM3                  // Jump if feature is disabled

 mov edi,#63000

_ExitGM3:
 mov [esi+3C],edi             // Original code
 mov eax,[ebx+30]             // Original code
 jmp _BackGM3                 // Back to main code

//========================================= 1200
// During Assault (defender)
_GodMode4:
 cmp dword ptr [iEnableGMD],0
 je _ExitGM4                  // Jump if feature is disabled

 mov ebx,[eax+00000a8c]
 cmp ebx,[iPlayerID]
 jne _ExitGM4

 cmp ecx,[eax+00000A60]
 jge _ExitGM4

 mov ecx,[eax+00000A60]

_ExitGM4:
 mov [eax+00000A60],ecx       // Original code
 jmp _BackGM4                 // Back to main code

//========================================= 1200
// Province undercursor or selected
_MonProvinceGarrison:
 push ebx

 cmp dword ptr [iEnableMPG],0
 je _ExitMPG                  // Jump if feature is disabled

 mov ebx,[eax+00000a8c]
 cmp ebx,[iPlayerID]
 jne _ExitMPG

 mov ebx,[ecx+00000280]       // Get Fort level
 test ebx,ebx
 js _ExitMPG

 imul ebx,ebx,000003e8
 mov [eax+00000a60],ebx

_ExitMPG:
 pop ebx

 mov ecx,[ecx+00000280]       // Original code (Fort Level)
 jmp _BackMPG                 // Back to main code

//========================================= 1200
// Selected Province
_MonSelProvince:
 push ebx
 push ecx
 push esi
 push edi

 mov [pProvince],eax

 cmp dword ptr [iEnableQOS],0
 je _MonSP0Q                  // Jump if feature is disabled

 mov ebx,[eax+00000a94]
 cmp ebx,[iPlayerID]
 jne _MonSP0Q

 mov ebx,[eax+00000a90]
 mov [eax+00000a88],ebx
 mov ebx,[eax+00000a94]
 mov [eax+00000a8c],ebx

_MonSP0Q:
 mov ebx,[eax+00000a8c]
 cmp ebx,[iPlayerID]
 jne _ExitMSP

 cmp dword ptr [iEnableBSP],0
 je _MonSP00                  // Jump if feature is disabled

//Trade Power
 mov ecx,#50000

 mov ebx,[eax+00000ca4]
 cmp ebx,ecx
 cmovs ebx,ecx
 mov [eax+00000ca4],ebx

//Manpower Bonus
 mov ecx,#5000

 mov ebx,[eax+00000a50]
 cmp ebx,ecx
 cmovs ebx,ecx
 mov [eax+00000a50],ebx

// Change Religion
_MonSP00:
 cmp dword ptr [iEnableCHR],0
 je _MonSP11                  // Jump if feature is disabled

 mov ebx,[pReligion]
 test ebx,ebx
 jz _MonSP11

 mov [eax+00000a78],ebx

// Change Culture
_MonSP11:
 cmp dword ptr [iEnableCHC],0
 je _MonSP01                  // Jump if feature is disabled

 mov ebx,[pCulture]
 test ebx,ebx
 jz _MonSP01

 mov [eax+00000a74],ebx

// No Natives
_MonSP01:
 cmp dword ptr [iEnableNNE],0
 je _MonSP02                  // Jump if feature is disabled

 xor ebx,ebx
 mov [eax+00000b00],ebx
 mov [eax+00000b04],ebx
 mov [eax+00000b08],ebx

//Quick Onwership
_MonSP02:
 cmp dword ptr [iEnableQOS],0
 je _MonSP03                  // Jump if feature is disabled

 mov ebx,[eax+00000a88]
 mov [eax+00000a90],ebx
 mov ebx,[eax+00000a8c]
 mov [eax+00000a94],ebx

//Local Revolt Risk
_MonSP03:
 cmp dword ptr [iEnableMRR],0
 je _ExitMSP                  // Jump if feature is disabled

 mov ebx,[eax+00000170]
 test ebx,ebx
 jz _ExitMSP

 mov esi,[eax+0000068c]
 test esi,esi
 jz _ExitMSP

 mov ecx,ffff3cb0             // LRR = -50

 cmp ecx,[ebx+10]             // Local RR
 jns _ExitMSP

 sub ecx,[ebx+10]
 add [ebx+10],ecx
 add [esi+10],ecx

_ExitMSP:
 pop edi
 pop esi
 pop ecx
 pop ebx

 mov eax,[eax+00000CA4]       // Original code
 jmp _BackMSP                 // Back to main code

//========================================= 1200
// Selected Army
_MonSelArmy:
 mov ecx,[ebx+04]             // Original code

 mov [pArmy],ecx

_ExitMSA:
 cmp dword ptr [ecx+40],01    // Original code
 jmp _BackMSA                 // Back to main code

//========================================= 1200
// Find out Max Power
_MonPowerValue:
 mov [iMaxPower],eax

_ExitMPV:
 imul eax,eax,000003E8        // Original code
 jmp _BackMPV                 // Back to main code

//========================================= 1200
// During Assault (attacker)
_GodMode5:
 pushfd
 push eax

 cmp dword ptr [iEnableGMD],0
 je _ExitGM5                  // Jump if feature is disabled

 mov eax,[ebx+64]
 cmp eax,[iPlayerID]
 jne _ExitGM5

 xor eax,eax
 mov [ebx+68],eax
 mov [ebx+6c],eax

 mov esi,#1000

_ExitGM5:
 pop eax
 popfd

 mov [ebx+38],esi             // Original code
 jne _ExitGM50

 jmp GM50
//--
_ExitGM50:
 jmp _BackGM5                 // Back to main code

//=========================================
 db '======================================&gt;'
 db 'CE6.3 Script by Recifense 110413'
//=========================================
// Variables
iEnableMMD:
 dd 0
iEnableFMP:
 dd 0
iEnableMMP:
 dd 0
iEnableMRP:
 dd 0
iEnableANM:
 dd 0
iEnableANT:
 dd 0
iEnableMER:
 dd 0
iEnableLEG:
 dd 0
iEnableMRR:
 dd 0
iEnableMAM:
 dd 0
iEnableRPC:
 dd 0
iEnableMCP:
 dd 0
iEnableBSP:
 dd 0
iEnableQOS:
 dd 0
iEnableGMD:
 dd 0
iEnableNNE:
 dd 0
iEnableMPG:
 dd 0
iEnableCHR:
 dd 0
iEnableCHC:
 dd 0
iEnableMMS:
 dd 0
pPlayer:
 dd 0
pProvince:
 dd 0
pArmy:
 dd 0
pReligion:
 dd 0
pCulture:
 dd 0
iPlayerID:
 dd #9999
iMaxPower:
 dd #634

//=========================================
// Hacking Points
MHPR:
 jmp _MonHumanPlayer
 nop
_BackMHP:

MPRS:
 jmp _MonPlayerResources
 nop
_BackMPR:

MAMP:
 jmp _MonArmyMP
 nop
_BackMAM:

MRPC:
 jmp _MonRecProdConst
_BackMRP:

MCPS:
 jmp _MonColonizationProg
 nop
_BackMCP:

GMD1:
 jmp _GodMode1
 nop
_BackGM1:

GMD2:
 jmp _GodMode2
 nop
_BackGM2:

GMD3:
 jmp _GodMode3
 nop
_BackGM3:

GMD4:
 jmp _GodMode4
 nop
_BackGM4:

MPGN:
 jmp _MonProvinceGarrison
 nop
_BackMPG:

MSPE:
 jmp _MonSelProvince
 nop
_BackMSP:

MSAY:
 jmp _MonSelArmy
 nop
 nop
_BackMSA:

MPVE:
 jmp _MonPowerValue
 nop
_BackMPV:

GMD5:
 jmp _GodMode5
 db 90 90 90 90
_BackGM5:

//=========================================
// Script for Restoring Original Codes
[DISABLE]
MHPR:
// mov edx,[esi+0000176C]
 db 8b 96 6c 17 00 00

MPRS:
// mov edx,[eax+00000408]
 db 8b 91 08 04 00 00

MAMP:
// cmp [ebx+000000D4],ecx
 db 39 8b d4 00 00 00

MRPC:
// sub eax,esi
// mov esi,[ebx+28]
 db 2b c6 8b 73 28

MCPS:
// cmp [esi+00000A58],eax
 db 39 86 58 0a 00 00

GMD1:
// mov eax,[esi+68]
// sub [esi+38],eax
 db 8b 46 68 29 46 38

GMD2:
// mov eax,[esi+68]
// sub [esi+38],eax
 db 8b 46 68 29 46 38

GMD3:
// mov [esi+3C],edi
// mov eax,[ebx+30]
 db 89 7e 3c 8b 43 30

GMD4:
// mov [eax+00000A60],ecx
 db 89 88 60 0a 00 00

MPGN:
// mov ecx,[ecx+00000280]
 db 8b 89 80 02 00 00

MSPE:
// mov eax,[eax+00000CA4]
 db 8b 80 a4 0c 00 00

MSAY:
// mov ecx,[ebx+04]
// cmp dword ptr [ecx+40],01
 db 8b 4b 04 83 79 40 01

MPVE:
// imul eax,eax,000003E8
 db 69 c0 e8 03 00 00

GMD5:
// mov [ebx+38],esi
// je eu4.exe+37df0B
 db 89 73 38 0f 84 92 00 00 00

//=========================================
// Unregistering Symbols
unregistersymbol(MyCode)
unregistersymbol(pPlayer)
unregistersymbol(pProvince)
unregistersymbol(pArmy)
unregistersymbol(pReligion)
unregistersymbol(pCulture)
unregistersymbol(iPlayerID)
unregistersymbol(iEnableMMD)
unregistersymbol(iEnableFMP)
unregistersymbol(iEnableMMP)
unregistersymbol(iEnableMRP)
unregistersymbol(iEnableANM)
unregistersymbol(iEnableANT)
unregistersymbol(iEnableMER)
unregistersymbol(iEnableLEG)
unregistersymbol(iEnableMRR)
unregistersymbol(iEnableMAM)
unregistersymbol(iEnableRPC)
unregistersymbol(iEnableMCP)
unregistersymbol(iEnableBSP)
unregistersymbol(iEnableQOS)
unregistersymbol(iEnableGMD)
unregistersymbol(iEnableNNE)
unregistersymbol(iEnableMPG)
unregistersymbol(iEnableCHR)
unregistersymbol(iEnableCHC)
unregistersymbol(iEnableMMS)
unregistersymbol(iEnableMMS)

//=========================================
dealloc(MyCode)
//============= Scripts End ===============

// ****************************************
// NOTES
// ****************************************
{
v1.3.1.0:
define(MHPR,EU4.exe+0031bbad) //=====#==
define(MPRS,EU4.exe+004698fc) //#==#====
define(MAMP,EU4.exe+00431f1d) //===#====
define(MRPC,EU4.exe+000b88c9) //========
define(MCPS,EU4.exe+003348ea) //========
define(GMD1,EU4.exe+0042a147) //========
define(GMD2,EU4.exe+0042a1fe) //========
define(GMD3,EU4.exe+00097ca8) //========
define(GMD4,EU4.exe+0033338e) //========
define(MPGN,EU4.exe+00337cb6) //========
define(MSPE,EU4.exe+006a33fa) //========
define(MSAY,EU4.exe+006f54c3) //========
define(MPVE,EU4.exe+001493ce) //========
define(GMD5,EU4.exe+0037de70) //========

define(GM50,eu4.exe+0037df0b) //========

v1.3.0.0:
define(MHPR,EU4.exe+0031cd2d) //=====#=
define(MPRS,EU4.exe+0046a42c) //#==#===
define(MAMP,EU4.exe+0043327d) //===#===
define(MRPC,EU4.exe+000b5769) //=======
define(MCPS,EU4.exe+00335d6a) //=======
define(GMD1,EU4.exe+0042b497) //=======
define(GMD2,EU4.exe+0042b54e) //=======
define(GMD3,EU4.exe+000975f8) //=======
define(GMD4,EU4.exe+0033451e) //=======
define(MPGN,EU4.exe+003391a6) //=======
define(MSPE,EU4.exe+006a32a9) //=======
define(MSAY,EU4.exe+006f51b3) //=======
define(MPVE,EU4.exe+0014624e) //=======
define(GMD5,EU4.exe+0037f0f0) //=======

define(GM50,eu4.exe+0037f18b) //=======

v1.2.2.0:
define(MHPR,EU4.exe+0031a44d) //=====#
define(MPRS,EU4.exe+00463b60) //#==#==
define(MAMP,EU4.exe+0042c574) //===#==
define(MRPC,EU4.exe+000b9c47) //======
define(MCPS,EU4.exe+0033278a) //======
define(GMD1,EU4.exe+004249c7) //======
define(GMD2,EU4.exe+00424a7e) //======
define(GMD3,EU4.exe+00099177) //======
define(GMD4,EU4.exe+00330f3e) //======
define(MPGN,EU4.exe+00335a96) //======
define(MSPE,EU4.exe+00698419) //======
define(MSAY,EU4.exe+006ea05a) //======
define(MPVE,EU4.exe+001491ee) //======
define(GMD5,EU4.exe+0037acc0) //======

define(GM50,eu4.exe+0037ad5b) //======

v1.2.1.0:
define(MHPR,EU4.exe+0031916a) //=====
define(MPRS,EU4.exe+00461cc0) //#==#=
define(MAMP,EU4.exe+0042acc4) //===#=
define(MRPC,EU4.exe+000ba347) //=====
define(MCPS,EU4.exe+003314da) //=====
define(GMD1,EU4.exe+00423147) //=====
define(GMD2,EU4.exe+004231fe) //=====
define(GMD3,EU4.exe+00099297) //=====
define(GMD4,EU4.exe+0032fc8e) //=====
define(MPGN,EU4.exe+003347e6) //=====
define(MSPE,EU4.exe+00696b49) //=====
define(MSAY,EU4.exe+006e8baa) //=====
define(MPVE,EU4.exe+0014932e) //=====
define(GMD5,EU4.exe+00379140) //=====

define(GM50,eu4.exe+003791db) //=====

v1.2.0.0:
define(MHPR,EU4.exe+003174aa) //====
define(MPRS,EU4.exe+0045f840) //#==#
define(MAMP,EU4.exe+00428fe4) //===#
define(MRPC,EU4.exe+000b96c7) //====
define(MCPS,EU4.exe+0032f83a) //====
define(GMD1,EU4.exe+00421587) //====
define(GMD2,EU4.exe+0042163e) //====
define(GMD3,EU4.exe+00098c57) //====
define(GMD4,EU4.exe+0032dfee) //====
define(MPGN,EU4.exe+00332b46) //====
define(MSPE,EU4.exe+00694119) //====
define(MSAY,EU4.exe+006e5f2a) //====
define(MPVE,EU4.exe+00147d0e) //====
define(GMD5,EU4.exe+00377830) //====

define(GM50,eu4.exe+003778cb) //====

v1.1.3:
define(MHPR,EU4.exe+00302a42) //===
define(MPRS,EU4.exe+00445cec) //#==
define(MAMP,EU4.exe+00410581) //===
define(MRPC,EU4.exe+000af969) //===
define(MCPS,EU4.exe+0031ac8a) //===
define(GMD1,EU4.exe+004063d7) //===
define(GMD2,EU4.exe+0040648e) //===
define(GMD3,EU4.exe+0008ebe7) //===
define(GMD4,EU4.exe+003194ee) //===
define(MPGN,EU4.exe+0031e3a6) //===
define(MSPE,EU4.exe+00674bf9) //===
define(MSAY,EU4.exe+006c6e51) //===
define(MPVE,EU4.exe+0013796e) //===
define(GMD5,EU4.exe+0035d9b0) //===

define(GM50,eu4.exe+0035da4B) //===

v1.1.2:
define(MHPR,EU4.exe+00302a22) //==
define(MPRS,EU4.exe+00445b7c) //#=
define(MAMP,EU4.exe+00410491) //==
define(MRPC,EU4.exe+000af809) //==
define(MCPS,EU4.exe+0031ac5a) //==
define(GMD1,EU4.exe+00406317) //==
define(GMD2,EU4.exe+004063ce) //==
define(GMD3,EU4.exe+0008ea67) //==
define(GMD4,EU4.exe+003194be) //==
define(MPGN,EU4.exe+0031e376) //==
define(MSPE,EU4.exe+00674859) //==
define(MSAY,EU4.exe+006c6b61) //==
define(MPVE,EU4.exe+0013782e) //==
define(GMD5,EU4.exe+0035d9f0) //==

define(GM50,eu4.exe+0035da8B) //==

v1.1.1c:
define(MHPR,EU4.exe+00301ea2) //=
define(MPRS,EU4.exe+00444dac) //#
define(MAMP,EU4.exe+0040fc71) //=
define(MRPC,EU4.exe+000ac7f9) //=
define(MCPS,EU4.exe+0031a0da) //=
define(GMD1,EU4.exe+00405ad7) //=
define(GMD2,EU4.exe+00405b8e) //=
define(GMD3,EU4.exe+0008ea17) //=
define(GMD4,EU4.exe+0031893e) //=
define(MPGN,EU4.exe+0031d7f6) //=
define(MSPE,EU4.exe+00673909) //=
define(MSAY,EU4.exe+006c60c1) //=
define(MPVE,EU4.exe+001345de) //=
define(GMD5,EU4.exe+0035cfa0) //=

define(GM50,eu4.exe+0035d03B) //=

v1.1.0:
define(MHPR,EU4.exe+002f85d2)
define(MPRS,EU4.exe+004449fc)
define(MAMP,EU4.exe+0040f431)
define(MRPC,EU4.exe+000b01f9)
define(MCPS,EU4.exe+0031080a)
define(GMD1,EU4.exe+00405287)
define(GMD2,EU4.exe+0040533e)
define(GMD3,EU4.exe+0008f437)
define(GMD4,EU4.exe+0030f06e)
define(MPGN,EU4.exe+00313f26)
define(MSPE,EU4.exe+006732a9)
define(MSAY,EU4.exe+006c5a21)
define(MPVE,EU4.exe+00137dee)
define(GMD5,EU4.exe+0035cd00)

define(GM50,eu4.exe+0035CD9B)
}

</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>===========================================
 Game Title    : Europa Universalis IV
 Game Version  : 1.3.2.0 (d2a0)
 Game Sponsor  : Fairlight (release #1110) + 3DM (Patch 1.3.1.0)
 Proces Name   : EU4.exe
 Script Version: 4.0
 CE Version    : 6.3
 Release date  : 25-Nov-2013
 Author        : Recifense (Fix by shx)
 History:
 14-Aug-13: First Release
 15-Aug-13: Added Change Religion cheat (s2.0)
 18-Aug-13: Added protection against attrition+Culture (GM)(s3.0)
 19-Aug-13: Fixed issue related with "Change Religion" (s3.1)
 19-Aug-13: Release for version 1.1.1c (s3.1)
 23-Aug-13: Release for version 1.1.2 (+Stability) (s4.0)
 27-Aug-13: Release for version 1.1.3   (s4.0)
 28-Sep-13: Release for version 1.2.0.0 (s4.0)
 29-Sep-13: Release for version 1.2.1.0 (s4.0)
 03-Oct-13: Release for version 1.2.2.0 (s4.0)
 01-Nov-13: Release for version 1.3.0.0 (s4.0)
 04-Nov-13: Release for version 1.3.1.0 (s4.0)
 25-Nov-13: Fix     for version 1.3.2.0 (shx)
 Features:
 - Minimum Ducats                  [1]
 - Full Manpower                   [2]
 - Minimum Stability (s40)
 - Minimum Prestige                [3]
 - Minimum Power:                  [4]
   - Administrative
   - Diplomatic
   - Military
 - Minimum Army/Navy Morale        [5]
 - Minimum Army/Navy Tradition     [6]
 - Minimum Mercantilism            [7]
 - Minimum Legitimacy              [8]
 - Maximum National Revolt Risk    [9]
 - Move to adjacent area in 1 turn [A]
 - Tasks in 1 turn:                [B]
   - Recruitment
   - Production
   - Construction
   - Culture
   - Make Core
 - Colonization in 1 turn          [C] (**)
 - Blessed Province:               [D] (*)
   - Minimum Trade Power
   - Minimum ManPower Bonus
 - Quick Province Ownership        [E] (*)
 - God Mode:                       [F]
   - Army
   - Fleet
   - Garrison (Province)
   - Assault
   - Attrition     (s30)
 - No Native                       [G] (*)
 - Full Garrison                   [H] (*)
 - Change Religion                 [I] (*)
 - Change Culture  (s30)           [J] (*)
 - pointers
===========================================
[1] It will not go under 63000;
[2] That's it;
[3] It will not go under 90;
[4] It will not go under Maximum-4;
[5] It will not go under 63;
[6] It will not go under 63;
[7] It will not go under 30%;
[8] It will not go under 90%;
[9] It will not go above -50;
[A] Army and Fleet;
[B] That's it;
[C] That's it;
[D] Global Trade power will not go under 50 ...
... and Manpower will not go under 5000;
[E] Conquer the province and it will be yours;
[F] That's it;
[G] That's it;
[H] It will be set to full capacity;
[I] It will be set to player's main religion;
[J] It will be set to player's main culture;
(*) The province should be selected in order to work;
(**)It will only change into a province when the month changes;
===========================================
[USAGE]
Just enable the cheats by changing each value to 1;
===========================================
HOTKEYS:
CTRL+Home = Enable  Most Of the cheats;
CTRL+End  = Disable Most Of the cheats;
-----------
CTRL+PageUp   = Enable  Change Religion cheat;
CTRL+PageDown = Disable Change Religion cheat;
-----------
CTRL+Insert   = Enable  Change Culture cheat;
CTRL+Delete   = Disable Change Culture cheat;
===========================================
[IMPORTANT]
Save your game before unsing the cheats.
===========================================
That's all for now.
Cheers!
</Comments>
</CheatTable>
