<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>10</ID>
      <Description>"Akai Katana Shin"</Description>
      <Options moHideChildren="1"/>
      <Color>0000FF</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>2</ID>
          <Description>"Bombs"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>Sin.dll+1324EB0</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>43</ID>
          <Description>"Health"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Sin.dll+1324E94</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"Summon Gauge"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>Sin.dll+1324E9C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>44</ID>
          <Description>"Bar Total"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Sin.dll+1324EA4</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>3</ID>
          <Description>"Infinite Bombs"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(SinNoDecrease,Sin.dll,FE C8 88 47 28)
aobscanmodule(SinInfBombs,Sin.dll,0F B6 43 28 88 47 2C)
alloc(sinBombNewmem,$1000,SinInfBombs)
registersymbol(SinNoDecrease)
registersymbol(SinInfBombs)
label(return)

SinNoDecrease:
  nop 2

sinBombNewmem:
  mov byte ptr [rbx+28],6
  movzx eax,byte ptr [rbx+28]
  mov [rdi+2C],al
  jmp return

SinInfBombs:
  jmp sinBombNewmem
  nop 2
return:

[DISABLE]
SinNoDecrease:
  db FE C8

SinInfBombs:
  db 0F B6 43 28 88 47 2C

unregistersymbol(SinNoDecrease)
unregistersymbol(SinInfBombs)
dealloc(sinBombNewmem)

{
// ORIGINAL CODE - INJECTION POINT: SinNoDecrease - Sin.dll+7BC80

Sin.dll+7BC5A: E8 A0 86 F8 FF                 - call Sin.dll+42FF
Sin.dll+7BC5F: 48 85 C0                       - test rax,rax
Sin.dll+7BC62: 74 60                          - je Sin.dll+7BCC4
Sin.dll+7BC64: 89 9F 54 04 00 00              - mov [rdi+00000454],ebx
Sin.dll+7BC6A: FF 87 10 05 00 00              - inc [rdi+00000510]
Sin.dll+7BC70: 85 F6                          - test esi,esi
Sin.dll+7BC72: 75 15                          - jne Sin.dll+7BC89
Sin.dll+7BC74: 39 1D E6 03 20 01              - cmp [Sin.dll+127C060],ebx
Sin.dll+7BC7A: 0F B6 47 28                    - movzx eax,byte ptr [rdi+28]
Sin.dll+7BC7E: 75 05                          - jne Sin.dll+7BC85
// ---------- INJECTING HERE ----------
Sin.dll+7BC80: FE C8                          - dec al
// ---------- DONE INJECTING  ----------
Sin.dll+7BC82: 88 47 28                       - mov [rdi+28],al
Sin.dll+7BC85: 84 C0                          - test al,al
Sin.dll+7BC87: 7F 07                          - jg Sin.dll+7BC90
Sin.dll+7BC89: 88 5F 28                       - mov [rdi+28],bl
Sin.dll+7BC8C: 0F 1F 40 00                    - nop dword ptr [rax+00]
Sin.dll+7BC90: 48 8B 8F 38 03 00 00           - mov rcx,[rdi+00000338]
Sin.dll+7BC97: 8B D3                          - mov edx,ebx
Sin.dll+7BC99: E8 50 56 F8 FF                 - call Sin.dll+12EE
Sin.dll+7BC9E: FF C3                          - inc ebx
Sin.dll+7BCA0: C7 80 18 03 00 00 40 00 00 00  - mov [rax+00000318],00000040

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: SinInfBombs - Sin.dll+7E120

Sin.dll+7E101: 33 C0                 - xor eax,eax
Sin.dll+7E103: 89 47 04              - mov [rdi+04],eax
Sin.dll+7E106: 85 C0                 - test eax,eax
Sin.dll+7E108: 0F 84 A1 00 00 00     - je Sin.dll+7E1AF
Sin.dll+7E10E: 8B 43 08              - mov eax,[rbx+08]
Sin.dll+7E111: 89 47 20              - mov [rdi+20],eax
Sin.dll+7E114: 8B 43 14              - mov eax,[rbx+14]
Sin.dll+7E117: 89 47 24              - mov [rdi+24],eax
Sin.dll+7E11A: 8B 43 1C              - mov eax,[rbx+1C]
Sin.dll+7E11D: 89 47 28              - mov [rdi+28],eax
// ---------- INJECTING HERE ----------
Sin.dll+7E120: 0F B6 43 28           - movzx eax,byte ptr [rbx+28]
// ---------- DONE INJECTING  ----------
Sin.dll+7E124: 88 47 2C              - mov [rdi+2C],al
Sin.dll+7E127: 8B 43 38              - mov eax,[rbx+38]
Sin.dll+7E12A: 89 47 30              - mov [rdi+30],eax
Sin.dll+7E12D: 0F B6 83 88 00 00 00  - movzx eax,byte ptr [rbx+00000088]
Sin.dll+7E134: 88 47 34              - mov [rdi+34],al
Sin.dll+7E137: 0F B6 83 89 00 00 00  - movzx eax,byte ptr [rbx+00000089]
Sin.dll+7E13E: 88 47 35              - mov [rdi+35],al
Sin.dll+7E141: 0F B6 83 8A 00 00 00  - movzx eax,byte ptr [rbx+0000008A]
Sin.dll+7E148: 88 47 36              - mov [rdi+36],al
Sin.dll+7E14B: 0F B6 83 8B 00 00 00  - movzx eax,byte ptr [rbx+0000008B]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>33</ID>
          <Description>"Infinite Summon Gauge"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(SinGaugeF,Sin.dll,2B C7 0F 48 C1)
aobscanmodule(SinGaugeS,Sin.dll,89 51 14 C3 CC)
aobscanmodule(SinInfGauge,Sin.dll,8B 41 14 C3 CC)
alloc(sinInfNewmem,$1000,SinInfGauge)
registersymbol(SinGaugeF)
registersymbol(SinGaugeS)
registersymbol(SinInfGauge)
label(return)

SinGaugeF:
  nop 2

SinGaugeS:
  nop 3

sinInfNewmem:
  push rax
  mov eax,[rcx+1C]
  sub eax,[rcx+0C]
  mov [rcx+14],eax
  pop rax
  mov eax,[rcx+14]
  ret
  int 3
  jmp return

SinInfGauge:
  jmp sinInfNewmem
return:

[DISABLE]
SinGaugeF:
  db 2B C7

SinGaugeS:
  db 89 51 14

SinInfGauge:
  db 8B 41 14 C3 CC

unregistersymbol(SinGaugeF)
unregistersymbol(SinGaugeS)
unregistersymbol(SinInfGauge)
dealloc(sinInfNewmem)

{
// ORIGINAL CODE - INJECTION POINT: SinGaugeF - Sin.dll+7C189

Sin.dll+7C16A: 8B FA           - mov edi,edx
Sin.dll+7C16C: 48 8B D9        - mov rbx,rcx
Sin.dll+7C16F: E8 B9 67 F8 FF  - call Sin.GMAppInitialize+2A3
Sin.dll+7C174: 84 C0           - test al,al
Sin.dll+7C176: 75 19           - jne Sin.dll+7C191
Sin.dll+7C178: E8 03 6A F8 FF  - call Sin.GMAppInitialize+4F6
Sin.dll+7C17D: 85 C0           - test eax,eax
Sin.dll+7C17F: 75 10           - jne Sin.dll+7C191
Sin.dll+7C181: 8B 43 14        - mov eax,[rbx+14]
Sin.dll+7C184: B9 00 00 00 00  - mov ecx,00000000
// ---------- INJECTING HERE ----------
Sin.dll+7C189: 2B C7           - sub eax,edi
// ---------- DONE INJECTING  ----------
Sin.dll+7C18B: 0F 48 C1        - cmovs eax,ecx
Sin.dll+7C18E: 89 43 14        - mov [rbx+14],eax
Sin.dll+7C191: 48 8B 5C 24 30  - mov rbx,[rsp+30]
Sin.dll+7C196: 48 83 C4 20     - add rsp,20
Sin.dll+7C19A: 5F              - pop rdi
Sin.dll+7C19B: C3              - ret 
Sin.dll+7C19C: CC              - int 3 
Sin.dll+7C19D: CC              - int 3 
Sin.dll+7C19E: CC              - int 3 
Sin.dll+7C19F: CC              - int 3 

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: SinGaugeS - Sin.dll+7E02B

Sin.dll+7E01A: CC        - int 3
Sin.dll+7E01B: CC        - int 3
Sin.dll+7E01C: CC        - int 3
Sin.dll+7E01D: CC        - int 3
Sin.dll+7E01E: CC        - int 3
Sin.dll+7E01F: CC        - int 3
Sin.dll+7E020: 8B 41 1C  - mov eax,[rcx+1C]
Sin.dll+7E023: 2B 41 0C  - sub eax,[rcx+0C]
Sin.dll+7E026: 3B D0     - cmp edx,eax
Sin.dll+7E028: 0F 47 D0  - cmova edx,eax
// ---------- INJECTING HERE ----------
Sin.dll+7E02B: 89 51 14  - mov [rcx+14],edx
// ---------- DONE INJECTING  ----------
Sin.dll+7E02E: C3        - ret
Sin.dll+7E02F: CC        - int 3
Sin.dll+7E030: CC        - int 3
Sin.dll+7E031: CC        - int 3
Sin.dll+7E032: CC        - int 3
Sin.dll+7E033: CC        - int 3
Sin.dll+7E034: CC        - int 3
Sin.dll+7E035: CC        - int 3
Sin.dll+7E036: CC        - int 3
Sin.dll+7E037: CC        - int 3

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: SinInfGauge - Sin.dll+7C7C0

Sin.dll+7C7B6: C3        - ret
Sin.dll+7C7B7: CC        - int 3
Sin.dll+7C7B8: CC        - int 3
Sin.dll+7C7B9: CC        - int 3
Sin.dll+7C7BA: CC        - int 3
Sin.dll+7C7BB: CC        - int 3
Sin.dll+7C7BC: CC        - int 3
Sin.dll+7C7BD: CC        - int 3
Sin.dll+7C7BE: CC        - int 3
Sin.dll+7C7BF: CC        - int 3
// ---------- INJECTING HERE ----------
Sin.dll+7C7C0: 8B 41 14  - mov eax,[rcx+14]
// ---------- DONE INJECTING  ----------
Sin.dll+7C7C3: C3        - ret
Sin.dll+7C7C4: CC        - int 3
Sin.dll+7C7C5: CC        - int 3
Sin.dll+7C7C6: CC        - int 3
Sin.dll+7C7C7: CC        - int 3
Sin.dll+7C7C8: CC        - int 3
Sin.dll+7C7C9: CC        - int 3
Sin.dll+7C7CA: CC        - int 3
Sin.dll+7C7CB: CC        - int 3
Sin.dll+7C7CC: CC        - int 3
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"Invincibility"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ShinNoDmg,Sin.dll,48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 41 56 41 57 48 83 EC 40 4C 8B F1)
aobscanmodule(ShinNoLaserDmg,Sin.dll,CC 48 89 6C 24 18 48 89 74 24 20 57 41 54)
registersymbol(ShinNoDmg)
registersymbol(ShinNoLaserDmg)

//No projectile damage
ShinNoDmg:
  ret

//No laser damage
ShinNoLaserDmg+01:
  ret

[DISABLE]
ShinNoDmg:
  db 48

ShinNoLaserDmg+01:
  db 48

unregistersymbol(ShinNoDmg)
unregistersymbol(ShinNoLaserDmg)

{
// ORIGINAL CODE - INJECTION POINT: ShinNoDmg - Sin.dll+5D3D0

Sin.dll+5D3C6: CC                    - int 3
Sin.dll+5D3C7: CC                    - int 3
Sin.dll+5D3C8: CC                    - int 3
Sin.dll+5D3C9: CC                    - int 3
Sin.dll+5D3CA: CC                    - int 3
Sin.dll+5D3CB: CC                    - int 3
Sin.dll+5D3CC: CC                    - int 3
Sin.dll+5D3CD: CC                    - int 3
Sin.dll+5D3CE: CC                    - int 3
Sin.dll+5D3CF: CC                    - int 3
// ---------- INJECTING HERE ----------
Sin.dll+5D3D0: 48 89 5C 24 08        - mov [rsp+08],rbx
// ---------- DONE INJECTING  ----------
Sin.dll+5D3D5: 48 89 6C 24 10        - mov [rsp+10],rbp
Sin.dll+5D3DA: 48 89 74 24 18        - mov [rsp+18],rsi
Sin.dll+5D3DF: 57                    - push rdi
Sin.dll+5D3E0: 41 56                 - push r14
Sin.dll+5D3E2: 41 57                 - push r15
Sin.dll+5D3E4: 48 83 EC 40           - sub rsp,40
Sin.dll+5D3E8: 4C 8B F1              - mov r14,rcx
Sin.dll+5D3EB: 49 8B D8              - mov rbx,r8
Sin.dll+5D3EE: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Sin.dll+5D3F5: E8 D8 73 FA FF        - call Sin.dll+47D2

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: ShinNoLaserDmg - Sin.dll+5F700

Sin.dll+5F6F6: CC                    - int 3
Sin.dll+5F6F7: CC                    - int 3
Sin.dll+5F6F8: CC                    - int 3
Sin.dll+5F6F9: CC                    - int 3
Sin.dll+5F6FA: CC                    - int 3
Sin.dll+5F6FB: CC                    - int 3
Sin.dll+5F6FC: CC                    - int 3
Sin.dll+5F6FD: CC                    - int 3
Sin.dll+5F6FE: CC                    - int 3
Sin.dll+5F6FF: CC                    - int 3
// ---------- INJECTING HERE ----------
Sin.dll+5F700: 48 89 6C 24 18        - mov [rsp+18],rbp
// ---------- DONE INJECTING  ----------
Sin.dll+5F705: 48 89 74 24 20        - mov [rsp+20],rsi
Sin.dll+5F70A: 57                    - push rdi
Sin.dll+5F70B: 41 54                 - push r12
Sin.dll+5F70D: 41 57                 - push r15
Sin.dll+5F70F: 48 83 EC 20           - sub rsp,20
Sin.dll+5F713: 48 8B F1              - mov rsi,rcx
Sin.dll+5F716: 49 8B F8              - mov rdi,r8
Sin.dll+5F719: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Sin.dll+5F720: 4C 8B FA              - mov r15,rdx
Sin.dll+5F723: E8 AA 50 FA FF        - call Sin.dll+47D2
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>9</ID>
          <Description>"Individual invicibilities"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>5</ID>
              <Description>"Projectile/Hitbox invincibility"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
aobscanmodule(ShinProj,Sin.dll,48 89 5C 24 08 48 89 6C 24 10 48 89 74 24 18 57 41 56 41 57 48 83 EC 40 4C 8B F1)
registersymbol(ShinProj)

ShinProj:
  ret

[DISABLE]
ShinProj:
  db 48

unregistersymbol(ShinProj)

{
// ORIGINAL CODE - INJECTION POINT: Sin.dll+5D3D0

Sin.dll+5D3C6: CC                    - int 3
Sin.dll+5D3C7: CC                    - int 3
Sin.dll+5D3C8: CC                    - int 3
Sin.dll+5D3C9: CC                    - int 3
Sin.dll+5D3CA: CC                    - int 3
Sin.dll+5D3CB: CC                    - int 3
Sin.dll+5D3CC: CC                    - int 3
Sin.dll+5D3CD: CC                    - int 3
Sin.dll+5D3CE: CC                    - int 3
Sin.dll+5D3CF: CC                    - int 3
// ---------- INJECTING HERE ----------
Sin.dll+5D3D0: 48 89 5C 24 08        - mov [rsp+08],rbx
// ---------- DONE INJECTING  ----------
Sin.dll+5D3D5: 48 89 6C 24 10        - mov [rsp+10],rbp
Sin.dll+5D3DA: 48 89 74 24 18        - mov [rsp+18],rsi
Sin.dll+5D3DF: 57                    - push rdi
Sin.dll+5D3E0: 41 56                 - push r14
Sin.dll+5D3E2: 41 57                 - push r15
Sin.dll+5D3E4: 48 83 EC 40           - sub rsp,40
Sin.dll+5D3E8: 4C 8B F1              - mov r14,rcx
Sin.dll+5D3EB: 49 8B D8              - mov rbx,r8
Sin.dll+5D3EE: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Sin.dll+5D3F5: E8 D8 73 FA FF        - call Sin.dll+47D2
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>7</ID>
              <Description>"Laser invincibility"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
aobscanmodule(ShinLaser,Sin.dll,CC 48 89 6C 24 18 48 89 74 24 20 57 41 54)
registersymbol(ShinLaser)

ShinLaser+01:
  ret

[DISABLE]
ShinLaser+01:
  db 48

unregistersymbol(ShinLaser)

{
// ORIGINAL CODE - INJECTION POINT: Sin.dll+5F700

Sin.dll+5F6F6: CC                    - int 3 
Sin.dll+5F6F7: CC                    - int 3 
Sin.dll+5F6F8: CC                    - int 3 
Sin.dll+5F6F9: CC                    - int 3 
Sin.dll+5F6FA: CC                    - int 3 
Sin.dll+5F6FB: CC                    - int 3 
Sin.dll+5F6FC: CC                    - int 3 
Sin.dll+5F6FD: CC                    - int 3 
Sin.dll+5F6FE: CC                    - int 3 
Sin.dll+5F6FF: CC                    - int 3 
// ---------- INJECTING HERE ----------
Sin.dll+5F700: 48 89 6C 24 18        - mov [rsp+18],rbp
// ---------- DONE INJECTING  ----------
Sin.dll+5F705: 48 89 74 24 20        - mov [rsp+20],rsi
Sin.dll+5F70A: 57                    - push rdi
Sin.dll+5F70B: 41 54                 - push r12
Sin.dll+5F70D: 41 57                 - push r15
Sin.dll+5F70F: 48 83 EC 20           - sub rsp,20
Sin.dll+5F713: 48 8B F1              - mov rsi,rcx
Sin.dll+5F716: 49 8B F8              - mov rdi,r8
Sin.dll+5F719: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Sin.dll+5F720: 4C 8B FA              - mov r15,rdx
Sin.dll+5F723: E8 AA 50 FA FF        - call Sin.dll+47D2
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>11</ID>
      <Description>"Akai Katana"</Description>
      <Options moHideChildren="1"/>
      <Color>008000</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>23</ID>
          <Description>"Bombs"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Byte</VariableType>
          <Address>Arcade.dll+E92130</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>26</ID>
          <Description>"Health"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Arcade.dll+E92114</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>34</ID>
          <Description>"Summon Gauge"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Arcade.dll+E9211C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>41</ID>
          <Description>"Bar Total"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Arcade.dll+E92124</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>24</ID>
          <Description>"Infinite Bombs"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ArcadeNoDecrease,Arcade.dll,FE C8 88 47 28)
aobscanmodule(ArcadeInfBomb,Arcade.dll,0F B6 43 28 88 47 2C)
alloc(arcBombNewmem,$1000,ArcadeInfBomb)
registersymbol(ArcadeNoDecrease)
registersymbol(ArcadeInfBomb)
label(return)

ArcadeNoDecrease:
  nop 2

arcBombNewmem:
  movzx eax,byte ptr [rbx+28]
  mov byte ptr [rbx+28],6
  mov [rdi+2C],al
  jmp return

ArcadeInfBomb:
  jmp arcBombNewmem
  nop 2
return:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ArcadeNoDecrease:
  db FE C8

ArcadeInfBomb:
  db 0F B6 43 28 88 47 2C

unregistersymbol(ArcadeNoDecrease)
unregistersymbol(ArcadeInfBomb)
dealloc(arcBombNewmem)

{
// ORIGINAL CODE - INJECTION POINT: ArcadeNoDecrease - Arcade.dll+6B4C0

Arcade.dll+6B49A: E8 05 8A F9 FF                 - call Arcade.dll+3EA4
Arcade.dll+6B49F: 48 85 C0                       - test rax,rax
Arcade.dll+6B4A2: 74 60                          - je Arcade.dll+6B504
Arcade.dll+6B4A4: 89 9F FC 03 00 00              - mov [rdi+000003FC],ebx
Arcade.dll+6B4AA: FF 87 88 04 00 00              - inc [rdi+00000488]
Arcade.dll+6B4B0: 85 F6                          - test esi,esi
Arcade.dll+6B4B2: 75 15                          - jne Arcade.dll+6B4C9
Arcade.dll+6B4B4: 39 1D 46 CD D9 00              - cmp [Arcade.dll+E08200],ebx
Arcade.dll+6B4BA: 0F B6 47 28                    - movzx eax,byte ptr [rdi+28]
Arcade.dll+6B4BE: 75 05                          - jne Arcade.dll+6B4C5
// ---------- INJECTING HERE ----------
Arcade.dll+6B4C0: FE C8                          - dec al
// ---------- DONE INJECTING  ----------
Arcade.dll+6B4C2: 88 47 28                       - mov [rdi+28],al
Arcade.dll+6B4C5: 84 C0                          - test al,al
Arcade.dll+6B4C7: 7F 07                          - jg Arcade.dll+6B4D0
Arcade.dll+6B4C9: 88 5F 28                       - mov [rdi+28],bl
Arcade.dll+6B4CC: 0F 1F 40 00                    - nop dword ptr [rax+00]
Arcade.dll+6B4D0: 48 8B 8F E0 02 00 00           - mov rcx,[rdi+000002E0]
Arcade.dll+6B4D7: 8B D3                          - mov edx,ebx
Arcade.dll+6B4D9: E8 E3 5D F9 FF                 - call Arcade.dll+12C1
Arcade.dll+6B4DE: FF C3                          - inc ebx
Arcade.dll+6B4E0: C7 80 C0 02 00 00 40 00 00 00  - mov [rax+000002C0],00000040

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: ArcadeInfBomb - Arcade.dll+6D4A0

Arcade.dll+6D481: 33 C0                 - xor eax,eax
Arcade.dll+6D483: 89 47 04              - mov [rdi+04],eax
Arcade.dll+6D486: 85 C0                 - test eax,eax
Arcade.dll+6D488: 0F 84 A1 00 00 00     - je Arcade.dll+6D52F
Arcade.dll+6D48E: 8B 43 08              - mov eax,[rbx+08]
Arcade.dll+6D491: 89 47 20              - mov [rdi+20],eax
Arcade.dll+6D494: 8B 43 14              - mov eax,[rbx+14]
Arcade.dll+6D497: 89 47 24              - mov [rdi+24],eax
Arcade.dll+6D49A: 8B 43 1C              - mov eax,[rbx+1C]
Arcade.dll+6D49D: 89 47 28              - mov [rdi+28],eax
// ---------- INJECTING HERE ----------
Arcade.dll+6D4A0: 0F B6 43 28           - movzx eax,byte ptr [rbx+28]
// ---------- DONE INJECTING  ----------
Arcade.dll+6D4A4: 88 47 2C              - mov [rdi+2C],al
Arcade.dll+6D4A7: 8B 43 38              - mov eax,[rbx+38]
Arcade.dll+6D4AA: 89 47 30              - mov [rdi+30],eax
Arcade.dll+6D4AD: 0F B6 83 84 00 00 00  - movzx eax,byte ptr [rbx+00000084]
Arcade.dll+6D4B4: 88 47 34              - mov [rdi+34],al
Arcade.dll+6D4B7: 0F B6 83 85 00 00 00  - movzx eax,byte ptr [rbx+00000085]
Arcade.dll+6D4BE: 88 47 35              - mov [rdi+35],al
Arcade.dll+6D4C1: 0F B6 83 86 00 00 00  - movzx eax,byte ptr [rbx+00000086]
Arcade.dll+6D4C8: 88 47 36              - mov [rdi+36],al
Arcade.dll+6D4CB: 0F B6 83 87 00 00 00  - movzx eax,byte ptr [rbx+00000087]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>35</ID>
          <Description>"Infinite Summon Gauge"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ArcadeGaugeF,Arcade.dll,2B C7 0F 48 C1)
aobscanmodule(ArcadeGaugeS,Arcade.dll,89 41 14 C3 CC)
aobscanmodule(InfArcadeGauge,Arcade.dll,8B 41 14 C3 CC) // should be unique
alloc(arcGaugeNewmem,$1000,InfArcadeGauge)
registersymbol(ArcadeGaugeF)
registersymbol(ArcadeGaugeS)
registersymbol(InfArcadeGauge)
label(return)

ArcadeGaugeF:
  nop 2

ArcadeGaugeS:
  nop 3

arcGaugeNewmem:
  push rax
  mov eax,[rcx+1C]
  sub eax,[rcx+0C]
  mov [rcx+14],eax
  pop rax
  mov eax,[rcx+14]
  ret
  int 3
  jmp return

InfArcadeGauge:
  jmp arcGaugeNewmem
return:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ArcadeGaugeF:
  db 2B C7

ArcadeGaugeS:
  db 89 41 14

InfArcadeGauge:
  db 8B 41 14 C3 CC

unregistersymbol(ArcadeGaugeF)
unregistersymbol(ArcadeGaugeS)
unregistersymbol(InfArcadeGauge)
dealloc(arcGaugeNewmem)

{
// ORIGINAL CODE - INJECTION POINT: ArcadeGaugeF - Arcade.dll+6B9A9

Arcade.dll+6B98A: 8B FA           - mov edi,edx
Arcade.dll+6B98C: 48 8B D9        - mov rbx,rcx
Arcade.dll+6B98F: E8 7D 6D F9 FF  - call Arcade.dll+2711
Arcade.dll+6B994: 84 C0           - test al,al
Arcade.dll+6B996: 75 19           - jne Arcade.dll+6B9B1
Arcade.dll+6B998: E8 A9 6F F9 FF  - call Arcade.dll+2946
Arcade.dll+6B99D: 85 C0           - test eax,eax
Arcade.dll+6B99F: 75 10           - jne Arcade.dll+6B9B1
Arcade.dll+6B9A1: 8B 43 14        - mov eax,[rbx+14]
Arcade.dll+6B9A4: B9 00 00 00 00  - mov ecx,00000000
// ---------- INJECTING HERE ----------
Arcade.dll+6B9A9: 2B C7           - sub eax,edi
// ---------- DONE INJECTING  ----------
Arcade.dll+6B9AB: 0F 48 C1        - cmovs eax,ecx
Arcade.dll+6B9AE: 89 43 14        - mov [rbx+14],eax
Arcade.dll+6B9B1: 48 8B 5C 24 30  - mov rbx,[rsp+30]
Arcade.dll+6B9B6: 48 83 C4 20     - add rsp,20
Arcade.dll+6B9BA: 5F              - pop rdi
Arcade.dll+6B9BB: C3              - ret 
Arcade.dll+6B9BC: CC              - int 3 
Arcade.dll+6B9BD: CC              - int 3 
Arcade.dll+6B9BE: CC              - int 3 
Arcade.dll+6B9BF: CC              - int 3 

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: ArcadeGaugeS - Arcade.dll+6AFE1

Arcade.dll+6AFCC: CC        - int 3
Arcade.dll+6AFCD: CC        - int 3
Arcade.dll+6AFCE: CC        - int 3
Arcade.dll+6AFCF: CC        - int 3
Arcade.dll+6AFD0: 01 51 14  - add [rcx+14],edx
Arcade.dll+6AFD3: 8B 41 14  - mov eax,[rcx+14]
Arcade.dll+6AFD6: 8B 51 1C  - mov edx,[rcx+1C]
Arcade.dll+6AFD9: 2B 51 0C  - sub edx,[rcx+0C]
Arcade.dll+6AFDC: 3B C2     - cmp eax,edx
Arcade.dll+6AFDE: 0F 47 C2  - cmova eax,edx
// ---------- INJECTING HERE ----------
Arcade.dll+6AFE1: 89 41 14  - mov [rcx+14],eax
// ---------- DONE INJECTING  ----------
Arcade.dll+6AFE4: C3        - ret
Arcade.dll+6AFE5: CC        - int 3
Arcade.dll+6AFE6: CC        - int 3
Arcade.dll+6AFE7: CC        - int 3
Arcade.dll+6AFE8: CC        - int 3
Arcade.dll+6AFE9: CC        - int 3
Arcade.dll+6AFEA: CC        - int 3
Arcade.dll+6AFEB: CC        - int 3
Arcade.dll+6AFEC: CC        - int 3
Arcade.dll+6AFED: CC        - int 3

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: InfArcadeGauge - Arcade.dll+6BFB0

Arcade.dll+6BFA6: C3        - ret
Arcade.dll+6BFA7: CC        - int 3
Arcade.dll+6BFA8: CC        - int 3
Arcade.dll+6BFA9: CC        - int 3
Arcade.dll+6BFAA: CC        - int 3
Arcade.dll+6BFAB: CC        - int 3
Arcade.dll+6BFAC: CC        - int 3
Arcade.dll+6BFAD: CC        - int 3
Arcade.dll+6BFAE: CC        - int 3
Arcade.dll+6BFAF: CC        - int 3
// ---------- INJECTING HERE ----------
Arcade.dll+6BFB0: 8B 41 14  - mov eax,[rcx+14]
// ---------- DONE INJECTING  ----------
Arcade.dll+6BFB3: C3        - ret
Arcade.dll+6BFB4: CC        - int 3
Arcade.dll+6BFB5: CC        - int 3
Arcade.dll+6BFB6: CC        - int 3
Arcade.dll+6BFB7: CC        - int 3
Arcade.dll+6BFB8: CC        - int 3
Arcade.dll+6BFB9: CC        - int 3
Arcade.dll+6BFBA: CC        - int 3
Arcade.dll+6BFBB: CC        - int 3
Arcade.dll+6BFBC: CC        - int 3
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>31</ID>
          <Description>"Invincibility"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ArcadeNoDmg,Arcade.dll,48 89 5C 24 10 48 89 6C 24 18 48 89 74 24 20 57 41 54 41 56 48)
aobscanmodule(ArcadeNoLaserDmg,Arcade.dll,CC 48 89 6C 24 18 48 89 74 24 20 57 41)
registersymbol(ArcadeNoDmg)
registersymbol(ArcadeNoLaserDmg)

ArcadeNoDmg:
  ret

ArcadeNoLaserDmg+01:
  ret

[DISABLE]
ArcadeNoDmg:
  db 48

ArcadeNoLaserDmg+01:
  db 48

unregistersymbol(ArcadeNoDmg)
unregistersymbol(ArcadeNoLaserDmg)

{
// ORIGINAL CODE - INJECTION POINT: ArcadeNoHitboxDmg - Arcade.dll+51850

Arcade.dll+51846: CC                    - int 3
Arcade.dll+51847: CC                    - int 3
Arcade.dll+51848: CC                    - int 3
Arcade.dll+51849: CC                    - int 3
Arcade.dll+5184A: CC                    - int 3
Arcade.dll+5184B: CC                    - int 3
Arcade.dll+5184C: CC                    - int 3
Arcade.dll+5184D: CC                    - int 3
Arcade.dll+5184E: CC                    - int 3
Arcade.dll+5184F: CC                    - int 3
// ---------- INJECTING HERE ----------
Arcade.dll+51850: 48 89 5C 24 10        - mov [rsp+10],rbx
// ---------- DONE INJECTING  ----------
Arcade.dll+51855: 48 89 6C 24 18        - mov [rsp+18],rbp
Arcade.dll+5185A: 48 89 74 24 20        - mov [rsp+20],rsi
Arcade.dll+5185F: 57                    - push rdi
Arcade.dll+51860: 41 54                 - push r12
Arcade.dll+51862: 41 56                 - push r14
Arcade.dll+51864: 48 83 EC 40           - sub rsp,40
Arcade.dll+51868: 48 8B E9              - mov rbp,rcx
Arcade.dll+5186B: 49 8B D8              - mov rbx,r8
Arcade.dll+5186E: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Arcade.dll+51875: E8 8A 2A FB FF        - call Arcade.dll+4304

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: ArcadeNoLaserDmg - Arcade.dll+532D0

Arcade.dll+532C6: CC                    - int 3
Arcade.dll+532C7: CC                    - int 3
Arcade.dll+532C8: CC                    - int 3
Arcade.dll+532C9: CC                    - int 3
Arcade.dll+532CA: CC                    - int 3
Arcade.dll+532CB: CC                    - int 3
Arcade.dll+532CC: CC                    - int 3
Arcade.dll+532CD: CC                    - int 3
Arcade.dll+532CE: CC                    - int 3
Arcade.dll+532CF: CC                    - int 3
// ---------- INJECTING HERE ----------
Arcade.dll+532D0: 48 89 6C 24 18        - mov [rsp+18],rbp
// ---------- DONE INJECTING  ----------
Arcade.dll+532D5: 48 89 74 24 20        - mov [rsp+20],rsi
Arcade.dll+532DA: 57                    - push rdi
Arcade.dll+532DB: 41 54                 - push r12
Arcade.dll+532DD: 41 57                 - push r15
Arcade.dll+532DF: 48 83 EC 20           - sub rsp,20
Arcade.dll+532E3: 48 8B F1              - mov rsi,rcx
Arcade.dll+532E6: 49 8B F8              - mov rdi,r8
Arcade.dll+532E9: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Arcade.dll+532F0: 4C 8B FA              - mov r15,rdx
Arcade.dll+532F3: E8 0C 10 FB FF        - call Arcade.dll+4304
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>27</ID>
          <Description>"Individual invincibilities"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>29</ID>
              <Description>"Projectile/Hitbox invincibility"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
aobscanmodule(ArcadeHitbox,Arcade.dll,48 89 5C 24 10 48 89 6C 24 18 48 89 74 24 20 57 41 54 41 56 48) // should be unique
registersymbol(ArcadeHitbox)

ArcadeHitbox:
  ret

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ArcadeHitbox:
  db 48

unregistersymbol(ArcadeHitbox)

{
// ORIGINAL CODE - INJECTION POINT: Arcade.dll+51850

Arcade.dll+51846: CC                    - int 3
Arcade.dll+51847: CC                    - int 3
Arcade.dll+51848: CC                    - int 3
Arcade.dll+51849: CC                    - int 3
Arcade.dll+5184A: CC                    - int 3
Arcade.dll+5184B: CC                    - int 3
Arcade.dll+5184C: CC                    - int 3
Arcade.dll+5184D: CC                    - int 3
Arcade.dll+5184E: CC                    - int 3
Arcade.dll+5184F: CC                    - int 3
// ---------- INJECTING HERE ----------
Arcade.dll+51850: 48 89 5C 24 10        - mov [rsp+10],rbx
// ---------- DONE INJECTING  ----------
Arcade.dll+51855: 48 89 6C 24 18        - mov [rsp+18],rbp
Arcade.dll+5185A: 48 89 74 24 20        - mov [rsp+20],rsi
Arcade.dll+5185F: 57                    - push rdi
Arcade.dll+51860: 41 54                 - push r12
Arcade.dll+51862: 41 56                 - push r14
Arcade.dll+51864: 48 83 EC 40           - sub rsp,40
Arcade.dll+51868: 48 8B E9              - mov rbp,rcx
Arcade.dll+5186B: 49 8B D8              - mov rbx,r8
Arcade.dll+5186E: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Arcade.dll+51875: E8 8A 2A FB FF        - call Arcade.dll+4304
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>30</ID>
              <Description>"Laser invincibility"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
aobscanmodule(ArcadeLaser,Arcade.dll,CC 48 89 6C 24 18 48 89 74 24 20 57 41)
registersymbol(ArcadeLaser)

ArcadeLaser+01:
  ret

[DISABLE]
ArcadeLaser+01:
  db 48

unregistersymbol(ArcadeLaser)

{
// ORIGINAL CODE - INJECTION POINT: Arcade.dll+532D0

Arcade.dll+532C6: CC                    - int 3
Arcade.dll+532C7: CC                    - int 3
Arcade.dll+532C8: CC                    - int 3
Arcade.dll+532C9: CC                    - int 3
Arcade.dll+532CA: CC                    - int 3
Arcade.dll+532CB: CC                    - int 3
Arcade.dll+532CC: CC                    - int 3
Arcade.dll+532CD: CC                    - int 3
Arcade.dll+532CE: CC                    - int 3
Arcade.dll+532CF: CC                    - int 3
// ---------- INJECTING HERE ----------
Arcade.dll+532D0: 48 89 6C 24 18        - mov [rsp+18],rbp
// ---------- DONE INJECTING  ----------
Arcade.dll+532D5: 48 89 74 24 20        - mov [rsp+20],rsi
Arcade.dll+532DA: 57                    - push rdi
Arcade.dll+532DB: 41 54                 - push r12
Arcade.dll+532DD: 41 57                 - push r15
Arcade.dll+532DF: 48 83 EC 20           - sub rsp,20
Arcade.dll+532E3: 48 8B F1              - mov rsi,rcx
Arcade.dll+532E6: 49 8B F8              - mov rdi,r8
Arcade.dll+532E9: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Arcade.dll+532F0: 4C 8B FA              - mov r15,rdx
Arcade.dll+532F3: E8 0C 10 FB FF        - call Arcade.dll+4304
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>12</ID>
      <Description>"Zetsu Akai Katana"</Description>
      <Options moHideChildren="1"/>
      <Color>FF0080</Color>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>13</ID>
          <Description>"Bombs"</Description>
          <VariableType>Byte</VariableType>
          <Address>Zetu.dll+10C6EA0</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>47</ID>
          <Description>"Health"</Description>
          <VariableType>4 Bytes</VariableType>
          <Address>Zetu.dll+10C6E84</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>45</ID>
          <Description>"Summon Gauge"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Zetu.dll+10C6E8C</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>46</ID>
          <Description>"Bar Total"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>Zetu.dll+10C6E94</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>16</ID>
          <Description>"Infinite Bombs"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ZetuNoDecrease,Zetu.dll,FE C8 88 47 28)
aobscanmodule(ZetuInfBombs,Zetu.dll,0F B6 43 28 88 47 2C)
alloc(zetuBombsNewmem,$1000,ZetuInfBombs)
registersymbol(ZetuNoDecrease)
registersymbol(ZetuInfBombs)
label(return)

ZetuNoDecrease:
  nop 2

zetuBombsNewmem:
  movzx eax,byte ptr [rbx+28]
  mov byte ptr [rbx+28],6
  mov [rdi+2C],al
  jmp return

ZetuInfBombs:
  jmp zetuBombsNewmem
  nop 2
return:

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ZetuNoDecrease:
  db FE C8

ZetuInfBombs:
  db 0F B6 43 28 88 47 2C

unregistersymbol(ZetuNoDecrease)
unregistersymbol(ZetuInfBombs)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: ZetuNoDecrease - Zetu.dll+6C410

Zetu.dll+6C3EA: E8 F3 7D F9 FF                 - call Zetu.dll+41E2
Zetu.dll+6C3EF: 48 85 C0                       - test rax,rax
Zetu.dll+6C3F2: 74 60                          - je Zetu.dll+6C454
Zetu.dll+6C3F4: 89 9F 1C 04 00 00              - mov [rdi+0000041C],ebx
Zetu.dll+6C3FA: FF 87 A8 04 00 00              - inc [rdi+000004A8]
Zetu.dll+6C400: 85 F6                          - test esi,esi
Zetu.dll+6C402: 75 15                          - jne Zetu.dll+6C419
Zetu.dll+6C404: 39 1D F6 1E FC 00              - cmp [Zetu.dll+102E300],ebx
Zetu.dll+6C40A: 0F B6 47 28                    - movzx eax,byte ptr [rdi+28]
Zetu.dll+6C40E: 75 05                          - jne Zetu.dll+6C415
// ---------- INJECTING HERE ----------
Zetu.dll+6C410: FE C8                          - dec al
// ---------- DONE INJECTING  ----------
Zetu.dll+6C412: 88 47 28                       - mov [rdi+28],al
Zetu.dll+6C415: 84 C0                          - test al,al
Zetu.dll+6C417: 7F 07                          - jg Zetu.dll+6C420
Zetu.dll+6C419: 88 5F 28                       - mov [rdi+28],bl
Zetu.dll+6C41C: 0F 1F 40 00                    - nop dword ptr [rax+00]
Zetu.dll+6C420: 48 8B 8F 00 03 00 00           - mov rcx,[rdi+00000300]
Zetu.dll+6C427: 8B D3                          - mov edx,ebx
Zetu.dll+6C429: E8 B6 4E F9 FF                 - call Zetu.dll+12E4
Zetu.dll+6C42E: FF C3                          - inc ebx
Zetu.dll+6C430: C7 80 E0 02 00 00 40 00 00 00  - mov [rax+000002E0],00000040

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: Zetu.dll+6E420

Zetu.dll+6E401: 33 C0                 - xor eax,eax
Zetu.dll+6E403: 89 47 04              - mov [rdi+04],eax
Zetu.dll+6E406: 85 C0                 - test eax,eax
Zetu.dll+6E408: 0F 84 A1 00 00 00     - je Zetu.dll+6E4AF
Zetu.dll+6E40E: 8B 43 08              - mov eax,[rbx+08]
Zetu.dll+6E411: 89 47 20              - mov [rdi+20],eax
Zetu.dll+6E414: 8B 43 14              - mov eax,[rbx+14]
Zetu.dll+6E417: 89 47 24              - mov [rdi+24],eax
Zetu.dll+6E41A: 8B 43 1C              - mov eax,[rbx+1C]
Zetu.dll+6E41D: 89 47 28              - mov [rdi+28],eax
// ---------- INJECTING HERE ----------
Zetu.dll+6E420: 0F B6 43 28           - movzx eax,byte ptr [rbx+28]
// ---------- DONE INJECTING  ----------
Zetu.dll+6E424: 88 47 2C              - mov [rdi+2C],al
Zetu.dll+6E427: 8B 43 38              - mov eax,[rbx+38]
Zetu.dll+6E42A: 89 47 30              - mov [rdi+30],eax
Zetu.dll+6E42D: 0F B6 83 84 00 00 00  - movzx eax,byte ptr [rbx+00000084]
Zetu.dll+6E434: 88 47 34              - mov [rdi+34],al
Zetu.dll+6E437: 0F B6 83 85 00 00 00  - movzx eax,byte ptr [rbx+00000085]
Zetu.dll+6E43E: 88 47 35              - mov [rdi+35],al
Zetu.dll+6E441: 0F B6 83 86 00 00 00  - movzx eax,byte ptr [rbx+00000086]
Zetu.dll+6E448: 88 47 36              - mov [rdi+36],al
Zetu.dll+6E44B: 0F B6 83 87 00 00 00  - movzx eax,byte ptr [rbx+00000087]
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>48</ID>
          <Description>"Infinite Summon Gauge"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ZetuGauge,Zetu.dll,2B C7 0F 48 C1)
aobscanmodule(ZetuInfGauge,Zetu.dll,8B 41 14 C3 CC)
alloc(zetuGaugeNewmem,$1000,ZetuInfGauge)
registersymbol(ZetuGauge)
registersymbol(ZetuInfGauge)
label(return)

ZetuGauge:
  nop 2

zetuGaugeNewmem:
  push rax
  mov eax,[rcx+1C]
  sub eax,[rcx+0C]
  mov [rcx+14],eax
  pop rax
  mov eax,[rcx+14]
  ret
  int 3
  jmp return

ZetuInfGauge:
  jmp zetuGaugeNewmem
return:

[DISABLE]
ZetuGauge:
  db 2B C7

ZetuInfGauge:
  db 8B 41 14 C3 CC

unregistersymbol(ZetuGauge)
unregistersymbol(ZetuInfGauge)
dealloc(zetuGaugeNewmem)

{
// ORIGINAL CODE - INJECTION POINT: ZetuGauge - Zetu.dll+6C8F9

Zetu.dll+6C8DA: 8B FA           - mov edi,edx
Zetu.dll+6C8DC: 48 8B D9        - mov rbx,rcx
Zetu.dll+6C8DF: E8 D6 5F F9 FF  - call Zetu.GMAppInitialize+28F
Zetu.dll+6C8E4: 84 C0           - test al,al
Zetu.dll+6C8E6: 75 19           - jne Zetu.dll+6C901
Zetu.dll+6C8E8: E8 1B 62 F9 FF  - call Zetu.GMAppInitialize+4DD
Zetu.dll+6C8ED: 85 C0           - test eax,eax
Zetu.dll+6C8EF: 75 10           - jne Zetu.dll+6C901
Zetu.dll+6C8F1: 8B 43 14        - mov eax,[rbx+14]
Zetu.dll+6C8F4: B9 00 00 00 00  - mov ecx,00000000
// ---------- INJECTING HERE ----------
Zetu.dll+6C8F9: 2B C7           - sub eax,edi
// ---------- DONE INJECTING  ----------
Zetu.dll+6C8FB: 0F 48 C1        - cmovs eax,ecx
Zetu.dll+6C8FE: 89 43 14        - mov [rbx+14],eax
Zetu.dll+6C901: 48 8B 5C 24 30  - mov rbx,[rsp+30]
Zetu.dll+6C906: 48 83 C4 20     - add rsp,20
Zetu.dll+6C90A: 5F              - pop rdi
Zetu.dll+6C90B: C3              - ret 
Zetu.dll+6C90C: CC              - int 3 
Zetu.dll+6C90D: CC              - int 3 
Zetu.dll+6C90E: CC              - int 3 
Zetu.dll+6C90F: CC              - int 3 

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: ZetuInfGauge - Zetu.dll+6CF00

Zetu.dll+6CEF6: C3        - ret
Zetu.dll+6CEF7: CC        - int 3
Zetu.dll+6CEF8: CC        - int 3
Zetu.dll+6CEF9: CC        - int 3
Zetu.dll+6CEFA: CC        - int 3
Zetu.dll+6CEFB: CC        - int 3
Zetu.dll+6CEFC: CC        - int 3
Zetu.dll+6CEFD: CC        - int 3
Zetu.dll+6CEFE: CC        - int 3
Zetu.dll+6CEFF: CC        - int 3
// ---------- INJECTING HERE ----------
Zetu.dll+6CF00: 8B 41 14  - mov eax,[rcx+14]
// ---------- DONE INJECTING  ----------
Zetu.dll+6CF03: C3        - ret
Zetu.dll+6CF04: CC        - int 3
Zetu.dll+6CF05: CC        - int 3
Zetu.dll+6CF06: CC        - int 3
Zetu.dll+6CF07: CC        - int 3
Zetu.dll+6CF08: CC        - int 3
Zetu.dll+6CF09: CC        - int 3
Zetu.dll+6CF0A: CC        - int 3
Zetu.dll+6CF0B: CC        - int 3
Zetu.dll+6CF0C: CC        - int 3
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>22</ID>
          <Description>"Invincibility"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(ZetuNoDmg,Zetu.dll,48 89 5C 24 10 48 89 6C 24 18 48 89 74 24 20 57 41 54 41 56 48)
aobscanmodule(ZetuNoLaserDmg,Zetu.dll,CC 48 89 6C 24 18 48 89 74 24 20 57 41 54)
registersymbol(ZetuNoDmg)
registersymbol(ZetuNoLaserDmg)

ZetuNoDmg:
  ret

ZetuNoLaserDmg+01:
  ret

[DISABLE]
ZetuNoDmg:
  db 48

ZetuNoLaserDmg+01:
  db 48

unregistersymbol(ZetuNoDmg)
unregistersymbol(ZetuNoLaserDmg)

{
// ORIGINAL CODE - INJECTION POINT: ZetuNoDmg - Zetu.dll+528C0

Zetu.dll+528B6: CC                    - int 3
Zetu.dll+528B7: CC                    - int 3
Zetu.dll+528B8: CC                    - int 3
Zetu.dll+528B9: CC                    - int 3
Zetu.dll+528BA: CC                    - int 3
Zetu.dll+528BB: CC                    - int 3
Zetu.dll+528BC: CC                    - int 3
Zetu.dll+528BD: CC                    - int 3
Zetu.dll+528BE: CC                    - int 3
Zetu.dll+528BF: CC                    - int 3
// ---------- INJECTING HERE ----------
Zetu.dll+528C0: 48 89 5C 24 10        - mov [rsp+10],rbx
// ---------- DONE INJECTING  ----------
Zetu.dll+528C5: 48 89 6C 24 18        - mov [rsp+18],rbp
Zetu.dll+528CA: 48 89 74 24 20        - mov [rsp+20],rsi
Zetu.dll+528CF: 57                    - push rdi
Zetu.dll+528D0: 41 54                 - push r12
Zetu.dll+528D2: 41 56                 - push r14
Zetu.dll+528D4: 48 83 EC 40           - sub rsp,40
Zetu.dll+528D8: 48 8B E9              - mov rbp,rcx
Zetu.dll+528DB: 49 8B D8              - mov rbx,r8
Zetu.dll+528DE: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Zetu.dll+528E5: E8 BC 1D FB FF        - call Zetu.dll+46A6

-----------------------------------------------------------------------------

// ORIGINAL CODE - INJECTION POINT: ZetuNoLaserDmg - Zetu.dll+542E0

Zetu.dll+542D6: CC                    - int 3
Zetu.dll+542D7: CC                    - int 3
Zetu.dll+542D8: CC                    - int 3
Zetu.dll+542D9: CC                    - int 3
Zetu.dll+542DA: CC                    - int 3
Zetu.dll+542DB: CC                    - int 3
Zetu.dll+542DC: CC                    - int 3
Zetu.dll+542DD: CC                    - int 3
Zetu.dll+542DE: CC                    - int 3
Zetu.dll+542DF: CC                    - int 3
// ---------- INJECTING HERE ----------
Zetu.dll+542E0: 48 89 6C 24 18        - mov [rsp+18],rbp
// ---------- DONE INJECTING  ----------
Zetu.dll+542E5: 48 89 74 24 20        - mov [rsp+20],rsi
Zetu.dll+542EA: 57                    - push rdi
Zetu.dll+542EB: 41 54                 - push r12
Zetu.dll+542ED: 41 57                 - push r15
Zetu.dll+542EF: 48 83 EC 20           - sub rsp,20
Zetu.dll+542F3: 48 8B F1              - mov rsi,rcx
Zetu.dll+542F6: 49 8B F8              - mov rdi,r8
Zetu.dll+542F9: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Zetu.dll+54300: 4C 8B FA              - mov r15,rdx
Zetu.dll+54303: E8 9E 03 FB FF        - call Zetu.dll+46A6
}
</AssemblerScript>
        </CheatEntry>
        <CheatEntry>
          <ID>17</ID>
          <Description>"Individual invincibilities"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>19</ID>
              <Description>"Projectile/Hitbox invincibility"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
aobscanmodule(ZetuHitbox,Zetu.dll,48 89 5C 24 10 48 89 6C 24 18 48 89 74 24 20 57 41 54 41 56 48)
registersymbol(ZetuHitbox)

ZetuHitbox:
  ret

[DISABLE]
ZetuHitbox:
  db 48

unregistersymbol(ZetuHitbox)

{
// ORIGINAL CODE - INJECTION POINT: Zetu.dll+528C0

Zetu.dll+528B6: CC                    - int 3
Zetu.dll+528B7: CC                    - int 3
Zetu.dll+528B8: CC                    - int 3
Zetu.dll+528B9: CC                    - int 3
Zetu.dll+528BA: CC                    - int 3
Zetu.dll+528BB: CC                    - int 3
Zetu.dll+528BC: CC                    - int 3
Zetu.dll+528BD: CC                    - int 3
Zetu.dll+528BE: CC                    - int 3
Zetu.dll+528BF: CC                    - int 3
// ---------- INJECTING HERE ----------
Zetu.dll+528C0: 48 89 5C 24 10        - mov [rsp+10],rbx
// ---------- DONE INJECTING  ----------
Zetu.dll+528C5: 48 89 6C 24 18        - mov [rsp+18],rbp
Zetu.dll+528CA: 48 89 74 24 20        - mov [rsp+20],rsi
Zetu.dll+528CF: 57                    - push rdi
Zetu.dll+528D0: 41 54                 - push r12
Zetu.dll+528D2: 41 56                 - push r14
Zetu.dll+528D4: 48 83 EC 40           - sub rsp,40
Zetu.dll+528D8: 48 8B E9              - mov rbp,rcx
Zetu.dll+528DB: 49 8B D8              - mov rbx,r8
Zetu.dll+528DE: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Zetu.dll+528E5: E8 BC 1D FB FF        - call Zetu.dll+46A6
}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>21</ID>
              <Description>"Laser invincibility"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
aobscanmodule(ZetuLaser,Zetu.dll,CC 48 89 6C 24 18 48 89 74 24 20 57 41 54)
registersymbol(ZetuLaser)

ZetuLaser+01:
  ret

[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ZetuLaser+01:
  db 48

unregistersymbol(ZetuLaser)

{
// ORIGINAL CODE - INJECTION POINT: Zetu.dll+542E0

Zetu.dll+542D6: CC                    - int 3
Zetu.dll+542D7: CC                    - int 3
Zetu.dll+542D8: CC                    - int 3
Zetu.dll+542D9: CC                    - int 3
Zetu.dll+542DA: CC                    - int 3
Zetu.dll+542DB: CC                    - int 3
Zetu.dll+542DC: CC                    - int 3
Zetu.dll+542DD: CC                    - int 3
Zetu.dll+542DE: CC                    - int 3
Zetu.dll+542DF: CC                    - int 3
// ---------- INJECTING HERE ----------
Zetu.dll+542E0: 48 89 6C 24 18        - mov [rsp+18],rbp
// ---------- DONE INJECTING  ----------
Zetu.dll+542E5: 48 89 74 24 20        - mov [rsp+20],rsi
Zetu.dll+542EA: 57                    - push rdi
Zetu.dll+542EB: 41 54                 - push r12
Zetu.dll+542ED: 41 57                 - push r15
Zetu.dll+542EF: 48 83 EC 20           - sub rsp,20
Zetu.dll+542F3: 48 8B F1              - mov rsi,rcx
Zetu.dll+542F6: 49 8B F8              - mov rdi,r8
Zetu.dll+542F9: 49 8B 88 88 00 00 00  - mov rcx,[r8+00000088]
Zetu.dll+54300: 4C 8B FA              - mov r15,rdx
Zetu.dll+54303: E8 9E 03 FB FF        - call Zetu.dll+46A6
}
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Change of call rax</Description>
      <AddressString>Arcade.dll+2B4CA</AddressString>
      <Before>
        <Byte>4D</Byte>
        <Byte>F0</Byte>
        <Byte>49</Byte>
        <Byte>8B</Byte>
        <Byte>D7</Byte>
      </Before>
      <Actual>
        <Byte>FF</Byte>
        <Byte>D0</Byte>
      </Actual>
      <After>
        <Byte>85</Byte>
        <Byte>C0</Byte>
        <Byte>75</Byte>
        <Byte>0F</Byte>
        <Byte>48</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of call rax</Description>
      <AddressString>Arcade.dll+2B67A</AddressString>
      <Before>
        <Byte>4D</Byte>
        <Byte>F0</Byte>
        <Byte>49</Byte>
        <Byte>8B</Byte>
        <Byte>D7</Byte>
      </Before>
      <Actual>
        <Byte>FF</Byte>
        <Byte>D0</Byte>
      </Actual>
      <After>
        <Byte>85</Byte>
        <Byte>C0</Byte>
        <Byte>75</Byte>
        <Byte>0F</Byte>
        <Byte>48</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
