<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="38">
  <CheatEntries>
    <CheatEntry>
      <ID>3</ID>
      <Description>"HP"</Description>
      <LastState Value="256" RealAddress="0065D35C"/>
      <VariableType>4 Bytes</VariableType>
      <Address>ys2plus.exe+25D35C</Address>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"No Damage"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscan(inj_health,0F 11 05 5C D3 65 00)

registersymbol(inj_health)

inj_health:
  db 90 90 90 90 90 90 90

[DISABLE]
inj_health:
  db 0F 11 05 5C D3 65 00

unregistersymbol(inj_health)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>7</ID>
      <Description>"MP"</Description>
      <LastState Value="256" RealAddress="0065D3AC"/>
      <VariableType>4 Bytes</VariableType>
      <Address>ys2plus.exe+25D3AC</Address>
      <CheatEntries>
        <CheatEntry>
          <ID>9</ID>
          <Description>"No Use MP"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscan(inj_magic,89 15 AC D3 65 00 33)

registersymbol(inj_magic)

inj_magic:
  db 90 90 90 90 90 90

[DISABLE]
inj_magic:
  db 89 15 AC D3 65 00

unregistersymbol(inj_magic)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>11</ID>
      <Description>"EXP"</Description>
      <LastState Value="68263" RealAddress="0065D37C"/>
      <VariableType>4 Bytes</VariableType>
      <Address>ys2plus.exe+25D37C</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>14</ID>
      <Description>"EXP Multiplier"</Description>
      <LastState/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(exp_multiplier,ys2plus.exe,01 B1 C0 00 00 00) // should be unique
alloc(newmem,$100)

label(code)
label(return)
label(exp_value)
registersymbol(exp_value)
newmem:

code:
  push eax
  push ebx
  mov eax, esi
  mov ebx, dword [exp_value]
  mul ebx

  add [ecx+000000C0],eax
  pop ebx
  pop eax
  jmp return

exp_value:
  dd 1

exp_multiplier:
  jmp newmem
  nop
return:
registersymbol(exp_multiplier)

[DISABLE]

exp_multiplier:
  db 01 B1 C0 00 00 00

unregistersymbol(exp_multiplier)
dealloc(newmem)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>15</ID>
          <Description>"EXP Factor"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>exp_value</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>19</ID>
      <Description>"Damage Multiplier"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(dmg_multiplier,ys2plus.exe,2B C8 89 8F A0 00 00 00 85 C9 0F) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(dmg_value)
registersymbol(dmg_value)
newmem:

code:
  push eax
  push ebx
  mov ebx, dword [dmg_value]
  mul ebx
  sub ecx,eax
  mov [edi+000000A0],ecx
  pop ebx
  pop eax
  jmp return

dmg_value:
  dd 1

dmg_multiplier:
  jmp newmem
  nop 3
return:
registersymbol(dmg_multiplier)

[DISABLE]

dmg_multiplier:
  db 2B C8 89 8F A0 00 00 00

unregistersymbol(dmg_multiplier)
dealloc(newmem)

</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>20</ID>
          <Description>"Damage Factor"</Description>
          <LastState Value="1" RealAddress="00FE0019"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>dmg_value</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>22</ID>
      <Description>"Gold"</Description>
      <LastState Value="82096" RealAddress="0065D378"/>
      <VariableType>4 Bytes</VariableType>
      <Address>ys2plus.exe+25D378</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>23</ID>
      <Description>"Herb"</Description>
      <LastState Value="3" RealAddress="0065C8BA"/>
      <ShowAsSigned>0</ShowAsSigned>
      <VariableType>Byte</VariableType>
      <Address>0065C8BA</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>24</ID>
      <Description>"Don't Consume Items"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(inf_item,ys2plus.exe,FE C8 32 D2 88 04 4D 40 C8 65 00) // should be unique
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  nop
  nop
  xor dl,dl
  mov [ecx*2+ys2plus.exe+25C840],al
  jmp return

inf_item:
  jmp newmem
  nop 6
return:
registersymbol(inf_item)

[DISABLE]

inf_item:
  db FE C8 32 D2 88 04 4D 40 C8 65 00

unregistersymbol(inf_item)
dealloc(newmem)

</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Change of mov [ys2plus.exe+25E098],eax</Description>
      <AddressString>ys2plus.exe+77B92</AddressString>
      <Before>
        <Byte>B9</Byte>
        <Byte>D0</Byte>
        <Byte>C6</Byte>
        <Byte>84</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>A3</Byte>
        <Byte>98</Byte>
        <Byte>E0</Byte>
        <Byte>65</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>E8</Byte>
        <Byte>34</Byte>
        <Byte>E0</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of movups [ys2plus.exe+25D35C],xmm0</Description>
      <AddressString>ys2plus.exe+17A4C</AddressString>
      <Before>
        <Byte>81</Byte>
        <Byte>A0</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>0F</Byte>
        <Byte>11</Byte>
        <Byte>05</Byte>
        <Byte>5C</Byte>
        <Byte>D3</Byte>
        <Byte>65</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>0F</Byte>
        <Byte>10</Byte>
        <Byte>81</Byte>
        <Byte>B0</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [ys2plus.exe+25D3AC],edx</Description>
      <AddressString>ys2plus.exe+1DA1F</AddressString>
      <Before>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>0F</Byte>
        <Byte>48</Byte>
        <Byte>D0</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>15</Byte>
        <Byte>AC</Byte>
        <Byte>D3</Byte>
        <Byte>65</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>33</Byte>
        <Byte>D2</Byte>
        <Byte>E8</Byte>
        <Byte>E4</Byte>
        <Byte>FE</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of mov [edi+000000A0],ecx</Description>
      <AddressString>ys2plus.exe+1F10D</AddressString>
      <Before>
        <Byte>0F</Byte>
        <Byte>4E</Byte>
        <Byte>C6</Byte>
        <Byte>2B</Byte>
        <Byte>C8</Byte>
      </Before>
      <Actual>
        <Byte>89</Byte>
        <Byte>8F</Byte>
        <Byte>A0</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>85</Byte>
        <Byte>C9</Byte>
        <Byte>0F</Byte>
        <Byte>8F</Byte>
        <Byte>16</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of dec al</Description>
      <AddressString>ys2plus.exe+6508A</AddressString>
      <Before>
        <Byte>84</Byte>
        <Byte>F2</Byte>
        <Byte>19</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>FE</Byte>
        <Byte>C8</Byte>
      </Actual>
      <After>
        <Byte>32</Byte>
        <Byte>D2</Byte>
        <Byte>88</Byte>
        <Byte>04</Byte>
        <Byte>4D</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
