<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>1337191861</ID>
      <Description>"Compact Mode"</Description>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]

function cycleFullCompact(sender,force)
local state = not(compactmenuitem.Caption == 'Compact View Mode')
 if force~=nil then state = not force end
  compactmenuitem.Caption = state and 'Compact View Mode' or 'Full View Mode'
   getMainForm().Splitter1.Visible = state
   getMainForm().Panel4.Visible    = state
   getMainForm().Panel5.Visible    = state
end

function addCompactMenu()
 if compactmenualreadyexists then return
end

local parent = getMainForm().Menu.Items
 compactmenuitem = createMenuItem(parent)
 parent.add(compactmenuitem)
 compactmenuitem.Caption = 'Compact View Mode'
 compactmenuitem.OnClick = cycleFullCompact
 compactmenualreadyexists = 'yes'
end

addCompactMenu()
cycleFullCompact(nil,true)


[DISABLE]

cycleFullCompact(nil,false)


</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1337191862</ID>
      <Description>"Disable All Scripts - (Always Run Before Closing CE)"</Description>
      <Color>800000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{$lua}
if syntaxcheck then return end
[ENABLE]

local mainHook = ('7 Sexy Sins')

local al = getAddressList()

for i = 0, al.Count - 1 do

    if al[i].Active == true and al[i].Description ~= mainHook then al[i].Active = false
 end
end

for i = 0, al.Count - 1 do
     if al[i].Active == true  then al[i].Active = false

 end
end

if not syntaxcheck then
 synchronize(function()
   local t = createTimer()
   t.Interval,t.OnTimer = 500,function(tm)
     tm.Destroy()
     memrec.Active = false
   end
 end)
end

[DISABLE]
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>30</ID>
      <Description>"7 Sexy Sins"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>6</ID>
          <Description>"Player (Enter Pause Menu A Few Times)"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]

aobscan(INJECT_Player,48 63 8E D8 00 00 00 48 63) // should be unique
alloc(newmem,$1000,INJECT_Player)
registersymbol(INJECT_Player Player)
label(return Player)

newmem:
  mov [Player],rsi
  movsxd  rcx,dword ptr [rsi+000000D8]
  jmp return

align 8,CC
Player:
dq 0

INJECT_Player:
  jmp newmem
  nop 2
return:


[DISABLE]

INJECT_Player:
  db 48 63 8E D8 00 00 00

unregistersymbol(*)
dealloc(*)

{
// ORIGINAL CODE - INJECTION POINT: 24906BD78EE

24906BD78C8: 48 89 75 F8                    - mov [rbp-08],rsi
24906BD78CC: 48 8B F1                       - mov rsi,rcx
24906BD78CF: 48 8B 46 20                    - mov rax,[rsi+20]
24906BD78D3: 48 63 40 60                    - movsxd  rax,dword ptr [rax+60]
24906BD78D7: 85 C0                          - test eax,eax
24906BD78D9: 0F 8E 44 00 00 00              - jng 24906BD7923
24906BD78DF: 0F B6 86 2C 01 00 00           - movzx eax,byte ptr [rsi+0000012C]
24906BD78E6: 85 C0                          - test eax,eax
24906BD78E8: 75 39                          - jne 24906BD7923
24906BD78EA: 48 8B 46 38                    - mov rax,[rsi+38]
// ---------- INJECTING HERE ----------
24906BD78EE: 48 63 8E D8 00 00 00           - movsxd  rcx,dword ptr [rsi+000000D8]
// ---------- DONE INJECTING  ----------
24906BD78F5: 48 63 C9                       - movsxd  rcx,ecx
24906BD78F8: 39 48 18                       - cmp [rax+18],ecx
24906BD78FB: 0F 86 2C 00 00 00              - jbe 24906BD792D
24906BD7901: 48 8D 44 C8 20                 - lea rax,[rax+rcx*8+20]
24906BD7906: 48 8B 00                       - mov rax,[rax]
24906BD7909: 48 8B C8                       - mov rcx,rax
24906BD790C: BA 01 00 00 00                 - mov edx,00000001
24906BD7911: 83 38 00                       - cmp dword ptr [rax],00
24906BD7914: 66 90                          - nop 2
24906BD7916: 49 BB 10 DE F8 7A 49 02 00 00  - mov r11,000002497AF8DE10
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>7</ID>
              <Description>"BASE"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <GroupHeader>1</GroupHeader>
              <Address>Player</Address>
              <Offsets>
                <Offset>0</Offset>
              </Offsets>
              <CheatEntries>
                <CheatEntry>
                  <ID>8</ID>
                  <Description>"waitTimeAfterHit"</Description>
                  <VariableType>Float</VariableType>
                  <Address>+A8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>9</ID>
                  <Description>"positionResetDuration"</Description>
                  <VariableType>Float</VariableType>
                  <Address>+AC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>10</ID>
                  <Description>"respawnPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+B0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>11</ID>
                  <Description>"playPosition"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+BC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>12</ID>
                  <Description>"numberOfFlashes"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+C8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>13</ID>
                  <Description>"opaqueDuration"</Description>
                  <VariableType>Float</VariableType>
                  <Address>+CC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>14</ID>
                  <Description>"transparentDuration"</Description>
                  <VariableType>Float</VariableType>
                  <Address>+D0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>15</ID>
                  <Description>"immune"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+D4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>16</ID>
                  <Description>"activeGunIndex"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+D8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>17</ID>
                  <Description>"ultiDuration"</Description>
                  <VariableType>Float</VariableType>
                  <Address>+DC</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>18</ID>
                  <Description>"ultiCount"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+E0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>19</ID>
                  <Description>"maxUltiCount"</Description>
                  <ShowAsSigned>0</ShowAsSigned>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+E4</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>20</ID>
                  <Description>"normalUltiCounterColor"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+E8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>21</ID>
                  <Description>"maxUltiCounterColor"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+F8</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>22</ID>
                  <Description>"unlimitedLives"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>+108</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>23</ID>
                  <Description>"collisionMask"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+10C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>24</ID>
                  <Description>"overlapFilter"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+110</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>25</ID>
                  <Description>"bossDead"</Description>
                  <VariableType>Byte</VariableType>
                  <Address>+12C</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>26</ID>
                  <Description>"livesCount"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+70</Address>
                  <Offsets>
                    <Offset>50</Offset>
                  </Offsets>
                </CheatEntry>
                <CheatEntry>
                  <ID>27</ID>
                  <Description>"Gun Level"</Description>
                  <VariableType>4 Bytes</VariableType>
                  <Address>+40</Address>
                  <Offsets>
                    <Offset>18</Offset>
                  </Offsets>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>29</ID>
          <Description>"999999 Score"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : 7SexySins.exe
  Version: 
  Date   : 2022-12-26
  Author : gsims824

  This script does blah blah blah
}

[ENABLE]

aobscan(INJECT_Score,F3 0F 11 68 18 48 8B 47) // should be unique
alloc(newmem,$1000,INJECT_Score)

label(code)
label(return)

newmem:

code:
  mov [rax+18],(float)999999999
  jmp return

INJECT_Score:
  jmp newmem
return:
registersymbol(INJECT_Score)

[DISABLE]

INJECT_Score:
  db F3 0F 11 68 18

unregistersymbol(INJECT_Score)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: Collector:Collect+1fa

Collector:Collect+1cb: 83 38 00                       - cmp dword ptr [rax],00
Collector:Collect+1ce: 49 BB 10 DE F8 7A 49 02 00 00  - mov r11,UnityEngine.GameObject:SetActive
Collector:Collect+1d8: 41 FF D3                       - call r11
Collector:Collect+1db: 48 8B 47 20                    - mov rax,[rdi+20]
Collector:Collect+1df: F3 0F 10 40 18                 - movss xmm0,[rax+18]
Collector:Collect+1e4: F3 0F 5A C0                    - cvtss2sd xmm0,xmm0
Collector:Collect+1e8: F3 41 0F 10 4F 18              - movss xmm1,[r15+18]
Collector:Collect+1ee: F3 0F 5A C9                    - cvtss2sd xmm1,xmm1
Collector:Collect+1f2: F2 0F 58 C1                    - addsd xmm0,xmm1
Collector:Collect+1f6: F2 0F 5A E8                    - cvtsd2ss xmm5,xmm0
// ---------- INJECTING HERE ----------
Collector:Collect+1fa: F3 0F 11 68 18                 - movss [rax+18],xmm5
// ---------- DONE INJECTING  ----------
Collector:Collect+1ff: 48 8B 47 28                    - mov rax,[rdi+28]
Collector:Collect+203: 48 8B C8                       - mov rcx,rax
Collector:Collect+206: 83 38 00                       - cmp dword ptr [rax],00
Collector:Collect+209: 48 8D 64 24 00                 - lea rsp,[rsp+00]
Collector:Collect+20e: 49 BB 20 29 BB 06 49 02 00 00  - mov r11,GameEvent:Raise
Collector:Collect+218: 41 FF D3                       - call r11
Collector:Collect+21b: 48 8B 47 38                    - mov rax,[rdi+38]
Collector:Collect+21f: 48 8B C8                       - mov rcx,rax
Collector:Collect+222: 33 D2                          - xor edx,edx
Collector:Collect+224: 41 B8 01 00 00 00              - mov r8d,00000001
}
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
</CheatTable>
