<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>47</ID>
      <Description>"BULLET SOUL INFINITE BURST"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(One,BulletSoulIBWin.exe,8B 40 24 8B 8F A0 00 00 00 50 8B 49 2C E8 56)
aobscanmodule(Two,BulletSoulIBWin.exe,8B 40 24 8B 8F A0 00 00 00 50 8B 49 30 E8 1B)
aobscanmodule(Three,BulletSoulIBWin.exe,F3 0F 10 46 44 0F)

alloc(newmemOne,$1000)
alloc(newmemTwo,$1000)
alloc(newmemThree,$1000)
alloc(Four,1)
alloc(Five,1)
alloc(Six,1)
alloc(Seven,1)
alloc(Eight,1)
alloc(Nine,1)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)
registersymbol(Five)
registersymbol(Six)
registersymbol(Seven)
registersymbol(Eight)
registersymbol(Nine)

label(codeOne)
label(codeTwo)
label(codeThree)
label(codeFour)
label(codeFive)
label(codeSix)
label(codeSeven)
label(codeEight)
label(codeNine)
label(returnOne)
label(returnTwo)
label(returnThree)

Four:
  db 0

Five:
  db 0

Six:
  db 0

Seven:
  db 0

Eight:
  db 0

Nine:
  db 0

newmemOne:
  cmp byte ptr [Four],1
  je codeOne
  cmp byte ptr [Five],1
  je codeTwo
  jmp codeThree

codeOne:
  mov dword ptr [eax+24],3
  jmp codeThree

codeTwo:
  cmp dword ptr [eax+24],1
  ja codeThree
  mov dword ptr [eax+24],1

codeThree:
  mov eax,[eax+24]
  mov ecx,[edi+000000A0]
  jmp returnOne

One:
  jmp newmemOne
  nop 4

returnOne:

newmemTwo:
  cmp byte ptr [Six],1
  je codeFour
  cmp byte ptr [Seven],1
  je codeFive
  jmp codeSix

codeFour:
  mov dword ptr [eax+24],3
  jmp codeSix

codeFive:
  cmp dword ptr [eax+24],1
  ja codeSix
  mov dword ptr [eax+24],1

codeSix:
  mov eax,[eax+24]
  mov ecx,[edi+000000A0]
  jmp returnTwo

Two:
  jmp newmemTwo
  nop 4

returnTwo:

newmemThree:
  cmp [eax+4C],0
  jne codeSeven
  cmp byte ptr [Eight],1
  je codeEight
  jmp codeNine

codeSeven:
  cmp byte ptr [Nine],1
  je codeEight
  jmp codeNine

codeEight:
  mov dword ptr [esi+44],(float)999

codeNine:
  movss xmm0,[esi+44]
  jmp returnThree

Three:
  jmp newmemThree

returnThree:

[DISABLE]

One:
  db 8B 40 24 8B 8F A0 00 00 00

Two:
  db 8B 40 24 8B 8F A0 00 00 00

Three:
  db F3 0F 10 46 44

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)
unregistersymbol(Five)
unregistersymbol(Six)
unregistersymbol(Seven)
unregistersymbol(Eight)
unregistersymbol(Nine)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(newmemThree)
dealloc(Four)
dealloc(Five)
dealloc(Six)
dealloc(Seven)
dealloc(Eight)
dealloc(Nine)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>40</ID>
          <Description>"==== General ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>34</ID>
              <Description>"Infinite Lives"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Ten,BulletSoulIBWin.exe,48 89 47 28 8B 47 08)
registersymbol(Ten)

BulletSoulIBWin.exe+1D5375:
  db 90

[DISABLE]

Ten:
  db 48

unregistersymbol(Ten)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2</ID>
              <Description>"Infinite Health"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Eleven,BulletSoulIBWin.exe,89 47 50 8B 47 08 3D)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov dword ptr [edi+50],1E
  mov eax,[edi+08]
  jmp return

Eleven:
  jmp newmem
  nop

return:
registersymbol(Eleven)

[DISABLE]

Eleven:
  db 89 47 50 8B 47 08

unregistersymbol(Eleven)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>33</ID>
              <Description>"Infinite Bombs"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Twelve,BulletSoulIBWin.exe,48 89 47 2C 8B 47 08)
registersymbol(Twelve)

BulletSoulIBWin.exe+1D5921:
  db 90

[DISABLE]

Twelve:
  db 48

unregistersymbol(Twelve)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>20</ID>
              <Description>"Infinite Burst"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Thirteen,BulletSoulIBWin.exe,F3 0F 10 46 70)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov dword ptr [esi+70],(float)100
  movss xmm0,dword ptr [esi+70]
  jmp return

Thirteen:
  jmp newmem

return:
registersymbol(Thirteen)

[DISABLE]

Thirteen:
  db F3 0F 10 46 70

unregistersymbol(Thirteen)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>7</ID>
              <Description>"Untouchable"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Fourteen,BulletSoulIBWin.exe,8B 81 58 03 00 00)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov dword ptr [ecx+00000358],3
  mov eax,dword ptr [ecx+00000358]
  jmp return

Fourteen:
  jmp newmem
  nop

return:
registersymbol(Fourteen)

[DISABLE]

Fourteen:
  db 8B 81 58 03 00 00

unregistersymbol(Fourteen)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>54</ID>
              <Description>"Quick Kills"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Fifteen,BulletSoulIBWin.exe,F3 0F 11 86 00 01 00 00 77 1E)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  xorps xmm0,xmm0
  movss [esi+00000100],xmm0
  jmp return

Fifteen:
  jmp newmem
  nop 3

return:
registersymbol(Fifteen)

[DISABLE]

Fifteen:
  db F3 0F 11 86 00 01 00 00

unregistersymbol(Fifteen)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>41</ID>
          <Description>"==== Player 1 ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>38</ID>
              <Description>"Minimum Lives"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Eight,BulletSoulIBWin.exe,8B 40 20 8B 8F A0 00 00 00 50 8B 49 1C E8 C2)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [eax+20],1
  ja code
  mov dword ptr [eax+20],1

code:
  mov eax,[eax+20]
  mov ecx,[edi+000000A0]
  jmp return

Eight:
  jmp newmem
  nop 4

return:
registersymbol(Eight)

[DISABLE]

Eight:
  db 8B 40 20 8B 8F A0 00 00 00

unregistersymbol(Eight)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>49</ID>
              <Description>"Minimum Bombs"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Five:
  db 1

[DISABLE]

Five:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>43</ID>
              <Description>"⬆Minimum means you will always have at least one."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>48</ID>
              <Description>"Maximum Bombs"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Four:
  db 1

[DISABLE]

Four:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>29</ID>
              <Description>"Maximum Soul"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Eight:
  db 1

[DISABLE]

Eight:
  db 0
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>42</ID>
          <Description>"==== Player 2 ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>39</ID>
              <Description>"Minimum Lives"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Nine,BulletSoulIBWin.exe,8B 40 20 8B 8F A0 00 00 00 50 8B 49 20 E8 87)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp dword ptr [eax+20],1
  ja code
  mov dword ptr [eax+20],1

code:
  mov eax,[eax+20]
  mov ecx,[edi+000000A0]
  jmp return

Nine:
  jmp newmem
  nop 4

return:
registersymbol(Nine)

[DISABLE]

Nine:
  db 8B 40 20 8B 8F A0 00 00 00

unregistersymbol(Nine)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>51</ID>
              <Description>"Minimum Bombs"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Seven:
  db 1

[DISABLE]

Seven:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>44</ID>
              <Description>"⬆Minimum means you will always have at least one."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>50</ID>
              <Description>"Maximum Bombs"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Six:
  db 1

[DISABLE]

Six:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>53</ID>
              <Description>"Maximum Soul"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Nine:
  db 1

[DISABLE]

Nine:
  db 0
</AssemblerScript>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com</Comments>
</CheatTable>
