<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="34">
  <CheatEntries>
    <CheatEntry>
      <ID>7</ID>
      <Description>"Enable Mono"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
{$lua}
if syntaxcheck then return end
if process and readInteger(process) ~= 0 then
    mono_initialize()
    LaunchMonoDataCollector()
else
    local msg = 'No process detected.'
    print(msg)
    error(msg)
end
{$asm}

[DISABLE]
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"Double the XP received"</Description>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address,PlayerStats:AddExp+25)
define(bytes,74 22 F3 0F 10 45 80)

[ENABLE]
assert(address,bytes)
address:
  nop 2

[DISABLE]

address:
  db bytes

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: PlayerStats:AddExp+25

183212B098E: 00 00                          - add [rax],al
PlayerStats:AddExp: 55                             - push rbp
PlayerStats:AddExp+1: 48 8B EC                       - mov rbp,rsp
PlayerStats:AddExp+4: 48 81 EC C0 00 00 00           - sub rsp,000000C0
PlayerStats:AddExp+b: F3 0F 11 45 80                 - movss [rbp-80],xmm0
PlayerStats:AddExp+10: 48 8D 64 24 00                 - lea rsp,[rsp+00]
PlayerStats:AddExp+15: 90                             - nop 
PlayerStats:AddExp+16: 49 BB 50 0D 2B 21 83 01 00 00  - mov r11,GameManager:get_IsArena
PlayerStats:AddExp+20: 41 FF D3                       - call r11
PlayerStats:AddExp+23: 85 C0                          - test eax,eax
// ---------- INJECTING HERE ----------
PlayerStats:AddExp+25: 74 22                          - je PlayerStats:AddExp+49
// ---------- DONE INJECTING  ----------
PlayerStats:AddExp+27: F3 0F 10 45 80                 - movss xmm0,[rbp-80]
PlayerStats:AddExp+2c: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
PlayerStats:AddExp+30: F3 0F 10 0D 58 03 00 00        - movss xmm1,[PlayerStats:AddExp+390]
PlayerStats:AddExp+38: F3 0F 5A C9                    - cvtss2sd xmm1,xmm1
PlayerStats:AddExp+3c: F2 0F 59 C1                    - mulsd xmm0,xmm1
PlayerStats:AddExp+40: F2 0F 5A E8                    - cvtsd2ss xmm5,xmm0
PlayerStats:AddExp+44: F3 0F 11 6D 80                 - movss [rbp-80],xmm5
PlayerStats:AddExp+49: 48 B8 88 DF 51 2A 83 01 00 00  - mov rax,000001832A51DF88
PlayerStats:AddExp+53: 48 63 08                       - movsxd  rcx,dword ptr [rax]
PlayerStats:AddExp+56: 89 4D 88                       - mov [rbp-78],ecx
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"Boost us to Level 81"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>define(address,PlayerStats:AddExp+77)
define(bytes,F3 0F 10 4D 80)

[ENABLE]

assert(address,bytes)
alloc(newmem,$1000,1862F2A0297)

label(code)
label(return)

newmem:
  push eax
  mov eax,(float)99999999
  mov [rbp-080],eax
  pop eax
code:
  movss xmm1,[rbp-80]
  jmp return

address:
  jmp newmem
return:

[DISABLE]

address:
  db bytes
  // movss xmm1,[rbp-80]

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: PlayerStats:AddExp+77

PlayerStats:AddExp+49: 48 B8 88 7F 8F 0A 86 01 00 00  - mov rax,000001860A8F7F88
PlayerStats:AddExp+53: 48 63 08                       - movsxd  rcx,dword ptr [rax]
PlayerStats:AddExp+56: 89 4D 88                       - mov [rbp-78],ecx
PlayerStats:AddExp+59: 48 63 40 04                    - movsxd  rax,dword ptr [rax+04]
PlayerStats:AddExp+5d: 89 45 8C                       - mov [rbp-74],eax
PlayerStats:AddExp+60: 48 8B 4D 88                    - mov rcx,[rbp-78]
PlayerStats:AddExp+64: 66 90                          - nop 2
PlayerStats:AddExp+66: 49 BB C0 21 23 2F 86 01 00 00  - mov r11,SafeFloat:op_Implicit
PlayerStats:AddExp+70: 41 FF D3                       - call r11
PlayerStats:AddExp+73: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
// ---------- INJECTING HERE ----------
PlayerStats:AddExp+77: F3 0F 10 4D 80                 - movss xmm1,[rbp-80]
// ---------- DONE INJECTING  ----------
PlayerStats:AddExp+7c: F3 0F 5A C9                    - cvtss2sd xmm1,xmm1
PlayerStats:AddExp+80: F2 0F 58 C1                    - addsd xmm0,xmm1
PlayerStats:AddExp+84: F2 0F 5A C0                    - cvtsd2ss xmm0,xmm0
PlayerStats:AddExp+88: 48 8D 64 24 00                 - lea rsp,[rsp+00]
PlayerStats:AddExp+8d: 90                             - nop 
PlayerStats:AddExp+8e: 49 BB 20 EF 18 2F 86 01 00 00  - mov r11,SafeFloat:op_Implicit
PlayerStats:AddExp+98: 41 FF D3                       - call r11
PlayerStats:AddExp+9b: 48 89 45 90                    - mov [rbp-70],rax
PlayerStats:AddExp+9f: 48 B8 88 7F 8F 0A 86 01 00 00  - mov rax,000001860A8F7F88
PlayerStats:AddExp+a9: 48 63 4D 90                    - movsxd  rcx,dword ptr [rbp-70]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Force GodMode"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{
this script just forces godmode

DNSpy says:

Public Sub ChangeHealth(value As Single, Optional vampirism As Boolean = False)
		If PlayerStats.TheGod AndAlso value &lt; 0F Then   // read this line CAREFULLY!
			value *= -1F
		End If
		Dim num As Single = PlayerStats.MaxHealth - PlayerStats.Health
		If num &lt; value Then
			value = num
		End If
		If value &gt; 0F AndAlso InfoManager.instance Then
			InfoManager.instance.AddHealth(value, vampirism)
		End If
		PlayerStats.Health += value
		PlayerStats.Health = Mathf.Clamp(PlayerStats.Health, 0F, PlayerStats.MaxHealth)
		If PlayerInterface.instance Then
			PlayerInterface.instance.UpdateHealth(PlayerStats.Health, PlayerStats.MaxHealth)
		End If
	End Sub
}
define(address1,PlayerStats:ChangeHealth+23)
define(bytes1,74 35 F3 0F 10 45 98)
define(address2,29082342776)
define(bytes2,76 22 F3 0F 10 45 98)

[ENABLE]
address1:
  nop 2

address2:
  nop 2

[DISABLE]
address1:
  db bytes1

address2:
  db bytes2

dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: PlayerStats:ChangeHealth+23

2908234273C: 00 00                          - add [rax],al
2908234273E: 00 00                          - add [rax],al
PlayerStats:ChangeHealth: 55                             - push rbp
PlayerStats:ChangeHealth+1: 48 8B EC                       - mov rbp,rsp
PlayerStats:ChangeHealth+4: 48 81 EC B0 00 00 00           - sub rsp,000000B0
PlayerStats:ChangeHealth+b: F3 0F 11 45 98                 - movss [rbp-68],xmm0
PlayerStats:ChangeHealth+10: 48 89 55 90                    - mov [rbp-70],rdx
PlayerStats:ChangeHealth+14: 48 B8 DA 1F E4 83 90 02 00 00  - mov rax,0000029083E41FDA
PlayerStats:ChangeHealth+1e: 0F B6 00                       - movzx eax,byte ptr [rax]
PlayerStats:ChangeHealth+21: 85 C0                          - test eax,eax
// ---------- INJECTING HERE ----------
PlayerStats:ChangeHealth+23: 74 35                          - je PlayerStats:ChangeHealth+5a
// ---------- DONE INJECTING  ----------
PlayerStats:ChangeHealth+25: F3 0F 10 45 98                 - movss xmm0,[rbp-68]
PlayerStats:ChangeHealth+2a: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
PlayerStats:ChangeHealth+2e: 66 0F 57 C9                    - xorpd xmm1,xmm1
PlayerStats:ChangeHealth+32: 66 0F 2F C8                    - comisd xmm1,xmm0
// ---------- INJECTING HERE ----------
PlayerStats:ChangeHealth+36: 76 22                          - jna PlayerStats:ChangeHealth+5a
// ---------- DONE INJECTING  ----------
PlayerStats:ChangeHealth+38: F3 0F 10 45 98                 - movss xmm0,[rbp-68]
PlayerStats:ChangeHealth+3d: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
PlayerStats:ChangeHealth+41: F3 0F 10 0D 47 03 00 00        - movss xmm1,[PlayerStats:ChangeHealth+390]
PlayerStats:ChangeHealth+49: F3 0F 5A C9                    - cvtss2sd xmm1,xmm1
PlayerStats:ChangeHealth+4d: F2 0F 59 C1                    - mulsd xmm0,xmm1
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry Color="80000008">
      <Description>Change of je PlayerStats:ChangeHealth+5a</Description>
      <AddressString>29082342763</AddressString>
      <Before>
        <Byte>0F</Byte>
        <Byte>B6</Byte>
        <Byte>00</Byte>
        <Byte>85</Byte>
        <Byte>C0</Byte>
      </Before>
      <Actual>
        <Byte>74</Byte>
        <Byte>35</Byte>
      </Actual>
      <After>
        <Byte>F3</Byte>
        <Byte>0F</Byte>
        <Byte>10</Byte>
        <Byte>45</Byte>
        <Byte>98</Byte>
      </After>
    </CodeEntry>
    <CodeEntry Color="80000008">
      <Description>Change of jna PlayerStats:ChangeHealth+5a</Description>
      <AddressString>29082342776</AddressString>
      <Before>
        <Byte>C9</Byte>
        <Byte>66</Byte>
        <Byte>0F</Byte>
        <Byte>2F</Byte>
        <Byte>C8</Byte>
      </Before>
      <Actual>
        <Byte>76</Byte>
        <Byte>22</Byte>
      </Actual>
      <After>
        <Byte>F3</Byte>
        <Byte>0F</Byte>
        <Byte>10</Byte>
        <Byte>45</Byte>
        <Byte>98</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
