<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="38">
  <CheatEntries>
    <CheatEntry>
      <ID>0</ID>
      <Description>"Gold"</Description>
      <LastState Value="25179" RealAddress="005C43AC"/>
      <VariableType>4 Bytes</VariableType>
      <Address>ysf_win_dx9.exe+1C43AC</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>1</ID>
      <Description>"HP"</Description>
      <LastState Value="120" RealAddress="0057EFB8"/>
      <VariableType>Float</VariableType>
      <Address>ysf_win_dx9.exe+17EFB8</Address>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"No Damage"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(no_damage,ysf_win_dx9.exe,D9 1D B8 EF 57 00 B9)
registersymbol(no_damage)

no_damage:
  db 90 90 90 90 90 90

[DISABLE]
no_damage:
  db D9 1D B8 EF 57 00

unregistersymbol(no_damage)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>10</ID>
      <Description>"MP"</Description>
      <LastState Value="3000" RealAddress="005C4388"/>
      <VariableType>Float</VariableType>
      <Address>ysf_win_dx9.exe+1C4388</Address>
      <CheatEntries>
        <CheatEntry>
          <ID>13</ID>
          <Description>"No Use MP"</Description>
          <LastState Activated="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
aobscanmodule(no_use_mp,ysf_win_dx9.exe,D9 1D 88 43 5C 00 E8 ED)
registersymbol(no_use_mp)

no_use_mp:
  db 90 90 90 90 90 90

[DISABLE]
no_use_mp:
  db D9 1D 88 43 5C 00

unregistersymbol(no_use_mp)
</AssemblerScript>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>4</ID>
      <Description>"EXP Multiplier (Percent)"</Description>
      <LastState Value="1000" Activated="1" RealAddress="005C5D0C"/>
      <ShowAsSigned>0</ShowAsSigned>
      <VariableType>4 Bytes</VariableType>
      <Address>ysf_win_dx9.exe+1C5D0C</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"Enable DMG Multiplier"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(dmg_multiplier,ysf_win_dx9.exe,DB 44 24 24 D9 5C 24 10) // should be unique
alloc(newmem,$1000)

label(code)
label(return)
label(dmg_factor)
registersymbol(dmg_factor)

newmem:

code:
  push eax
  mov eax, ebx
  mul [dmg_factor]
  mov ebx, eax
  pop eax
  mov [esp+24], ebx
  fild dword ptr [esp+24]
  fstp dword ptr [esp+10]
  jmp return

dmg_factor:
  dd 1

dmg_multiplier:
  jmp newmem
  nop 3
return:
registersymbol(dmg_multiplier)

[DISABLE]

dmg_multiplier:
  db DB 44 24 24 D9 5C 24 10

unregistersymbol(dmg_multiplier)
dealloc(newmem)
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>18</ID>
          <Description>"DMG Factor"</Description>
          <LastState Value="5" RealAddress="00C6001D"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>"dmg_factor"</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <CheatCodes>
    <CodeEntry>
      <Description>Change of fstp dword ptr [ysf_win_dx9.exe+17EFB8]</Description>
      <AddressString>ysf_win_dx9.exe+7A2C7</AddressString>
      <Before>
        <Byte>15</Byte>
        <Byte>BC</Byte>
        <Byte>EF</Byte>
        <Byte>57</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>D9</Byte>
        <Byte>1D</Byte>
        <Byte>B8</Byte>
        <Byte>EF</Byte>
        <Byte>57</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>B9</Byte>
        <Byte>88</Byte>
        <Byte>EF</Byte>
        <Byte>57</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of fstp dword ptr [ysf_win_dx9.exe+1C4388]</Description>
      <AddressString>ysf_win_dx9.exe+38A98</AddressString>
      <Before>
        <Byte>2C</Byte>
        <Byte>56</Byte>
        <Byte>00</Byte>
        <Byte>DE</Byte>
        <Byte>E9</Byte>
      </Before>
      <Actual>
        <Byte>D9</Byte>
        <Byte>1D</Byte>
        <Byte>88</Byte>
        <Byte>43</Byte>
        <Byte>5C</Byte>
        <Byte>00</Byte>
      </Actual>
      <After>
        <Byte>E8</Byte>
        <Byte>ED</Byte>
        <Byte>17</Byte>
        <Byte>04</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
    <CodeEntry>
      <Description>Change of fsub dword ptr [esp+10]</Description>
      <AddressString>ysf_win_dx9.exe+7C72F</AddressString>
      <Before>
        <Byte>86</Byte>
        <Byte>D8</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </Before>
      <Actual>
        <Byte>D8</Byte>
        <Byte>64</Byte>
        <Byte>24</Byte>
        <Byte>10</Byte>
      </Actual>
      <After>
        <Byte>D9</Byte>
        <Byte>9E</Byte>
        <Byte>D8</Byte>
        <Byte>00</Byte>
        <Byte>00</Byte>
      </After>
    </CodeEntry>
  </CheatCodes>
  <UserdefinedSymbols/>
</CheatTable>
