<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
  <CheatEntries>
    <CheatEntry>
      <ID>63</ID>
      <Description>"Compact mode"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
--https://forum.cheatengine.org/viewtopic.php?t=570055
LuaCall(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]
LuaCall(cycleFullCompact(nil,false))
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>1</ID>
      <Description>"狀態 / Stats"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_GET_MONEY,nysD11_x64.exe,8B 88 DC 94 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_MONEY)

label(code)
label(return)
label(i_base_money_addr)

newmem:
  mov [i_base_money_addr], rax

code:
  mov ecx,[rax+000094DC]
  jmp return

align 10 cc
  i_base_money_addr:
  dq 0

INJECT_GET_MONEY:
  jmp newmem
  nop
return:
registersymbol(i_base_money_addr)
registersymbol(INJECT_GET_MONEY)

[DISABLE]

INJECT_GET_MONEY:
  db 8B 88 DC 94 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2C7EBD

nysD11_x64.exe+2C7E88: 0F 2E 05 55 40 0E 00        - ucomiss xmm0,[nysD11_x64.exe+3ABEE4]
nysD11_x64.exe+2C7E8F: 7A 02                       - jp nysD11_x64.exe+2C7E93
nysD11_x64.exe+2C7E91: 74 03                       - je nysD11_x64.exe+2C7E96
nysD11_x64.exe+2C7E93: 44 8B F3                    - mov r14d,ebx
nysD11_x64.exe+2C7E96: 49 8B 85 58 CF 14 00        - mov rax,[r13+0014CF58]
nysD11_x64.exe+2C7E9D: 45 33 E4                    - xor r12d,r12d
nysD11_x64.exe+2C7EA0: F3 0F 10 3D 7C 42 0E 00     - movss xmm7,[nysD11_x64.exe+3AC124]
nysD11_x64.exe+2C7EA8: 45 8B C4                    - mov r8d,r12d
nysD11_x64.exe+2C7EAB: F3 44 0F 10 15 AC AD 0D 00  - movss xmm10,[nysD11_x64.exe+3A2C60]
nysD11_x64.exe+2C7EB4: F3 44 0F 10 05 47 61 0D 00  - movss xmm8,[nysD11_x64.exe+39E004]
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2C7EBD: 8B 88 DC 94 00 00           - mov ecx,[rax+000094DC]
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2C7EC3: 45 8D 6C 24 08              - lea r13d,[r12+08]
nysD11_x64.exe+2C7EC8: F3 44 0F 10 3D 5B 41 0E 00  - movss xmm15,[nysD11_x64.exe+3AC02C]
nysD11_x64.exe+2C7ED1: 85 C9                       - test ecx,ecx
nysD11_x64.exe+2C7ED3: F3 44 0F 10 0D 6C 41 0E 00  - movss xmm9,[nysD11_x64.exe+3AC048]
nysD11_x64.exe+2C7EDC: F3 44 0F 10 35 9B 1B 11 00  - movss xmm14,[nysD11_x64.exe+3D9A80]
nysD11_x64.exe+2C7EE5: 44 0F 45 C1                 - cmovne r8d,ecx
nysD11_x64.exe+2C7EE9: 0F 1F 80 00 00 00 00        - nop dword ptr [rax+00000000]
nysD11_x64.exe+2C7EF0: F3 44 0F 11 7C 24 48        - movss [rsp+48],xmm15
nysD11_x64.exe+2C7EF7: B8 67 66 66 66              - mov eax,66666667
nysD11_x64.exe+2C7EFC: 41 F7 E8                    - imul r8d
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>42</ID>
          <Description>"Base addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_money_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>2</ID>
          <Description>"目前金錢 / Money"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money_addr</Address>
          <Offsets>
            <Offset>94DC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>8</ID>
          <Description>"EXP"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money_addr</Address>
          <Offsets>
            <Offset>936C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>67</ID>
          <Description>"Chain"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_base_money_addr</Address>
          <Offsets>
            <Offset>A24C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>79</ID>
          <Description>"Skill gauge"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>i_base_money_addr</Address>
          <Offsets>
            <Offset>94e0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>18</ID>
          <Description>"+基礎數值(唯讀) / Base stats (read only)"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>41</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9170</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>12</ID>
              <Description>"Level"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9174</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>16</ID>
              <Description>"HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9178</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>17</ID>
              <Description>"HP"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>917C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>13</ID>
              <Description>"STR"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9180</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>14</ID>
              <Description>"DEF"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9184</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>39</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9188</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>40</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>918C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>15</ID>
              <Description>"INT"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9190</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>38</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_base_money_addr</Address>
              <Offsets>
                <Offset>9194</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>4</ID>
      <Description>"設定道具數 (使用：開啟選單-&gt;Item)/ set item count (Menu -&gt; item)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_ITEM_MENU,nysD11_x64.exe,42 0F B7 84 7D 80 03 00 00) // should be unique
alloc(newmem,$1000,INJECT_ITEM_MENU)

label(code)
label(return)
label(i_min_item_check_cnt)
label(i_item_cnt_threshold)
newmem:
  push rax
  mov ax, [rbp+r15*2+00000380]
  cmp ax, [i_min_item_check_cnt]
  jle endp
  cmp ax, [i_item_cnt_threshold]
  jge endp
  mov ax, [i_item_cnt_threshold]
  mov [rbp+r15*2+00000380], ax
endp:
  pop rax

code:
  movzx eax,word ptr [rbp+r15*2+00000380]
  jmp return

align 10 cc
  i_min_item_check_cnt:
  dw 1
  i_item_cnt_threshold:
  dw 50

INJECT_ITEM_MENU:
  jmp newmem
  nop 4
return:
registersymbol(i_min_item_check_cnt)
registersymbol(i_item_cnt_threshold)
registersymbol(INJECT_ITEM_MENU)

[DISABLE]

INJECT_ITEM_MENU:
  db 42 0F B7 84 7D 80 03 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2DBF12

nysD11_x64.exe+2DBEE3: EB 10                       - jmp nysD11_x64.exe+2DBEF5
nysD11_x64.exe+2DBEE5: 83 FF 03                    - cmp edi,03
nysD11_x64.exe+2DBEE8: 75 44                       - jne nysD11_x64.exe+2DBF2E
nysD11_x64.exe+2DBEEA: 0F B6 83 86 00 00 00        - movzx eax,byte ptr [rbx+00000086]
nysD11_x64.exe+2DBEF1: 04 7E                       - add al,7E
nysD11_x64.exe+2DBEF3: A8 FB                       - test al,-05
nysD11_x64.exe+2DBEF5: 0F 85 3F 01 00 00           - jne nysD11_x64.exe+2DC03A
nysD11_x64.exe+2DBEFB: 48 63 86 CC 15 00 00        - movsxd  rax,dword ptr [rsi+000015CC]
nysD11_x64.exe+2DBF02: 66 44 89 BC 86 4C 06 00 00  - mov [rsi+rax*4+0000064C],r15w
nysD11_x64.exe+2DBF0B: 48 63 8E CC 15 00 00        - movsxd  rcx,dword ptr [rsi+000015CC]
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2DBF12: 42 0F B7 84 7D 80 03 00 00  - movzx eax,word ptr [rbp+r15*2+00000380]
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2DBF1B: 66 89 84 8E 4E 06 00 00     - mov [rsi+rcx*4+0000064E],ax
nysD11_x64.exe+2DBF23: FF 86 CC 15 00 00           - inc [rsi+000015CC]
nysD11_x64.exe+2DBF29: E9 0C 01 00 00              - jmp nysD11_x64.exe+2DC03A
nysD11_x64.exe+2DBF2E: 8D 47 F2                    - lea eax,[rdi-0E]
nysD11_x64.exe+2DBF31: 83 F8 02                    - cmp eax,02
nysD11_x64.exe+2DBF34: 0F 87 00 01 00 00           - ja nysD11_x64.exe+2DC03A
nysD11_x64.exe+2DBF3A: 80 BB 86 00 00 00 7E        - cmp byte ptr [rbx+00000086],7E
nysD11_x64.exe+2DBF41: 0F 85 F3 00 00 00           - jne nysD11_x64.exe+2DC03A
nysD11_x64.exe+2DBF47: 83 FF 0E                    - cmp edi,0E
nysD11_x64.exe+2DBF4A: 75 05                       - jne nysD11_x64.exe+2DBF51
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>5</ID>
          <Description>"觸發最小值(必須大於此值才設定) / trigger value (must &gt; this value)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_min_item_check_cnt</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>6</ID>
          <Description>"觸發後設定值 / set value to n, if triggered"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_item_cnt_threshold</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>9</ID>
      <Description>"EXP取得倍率 / EXP multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_EXP_MULTI,nysD11_x64.exe,01 B3 6C 93 00 00) // should be unique
alloc(newmem,$1000,INJECT_EXP_MULTI)

label(code)
label(return)
label(vf_exp_multi)

newmem:
  vmovss xmm14, [vf_exp_multi]
  cvtsi2ss xmm15, esi
  vmulss xmm13, xmm14, xmm15
  cvtss2si esi, xmm13

code:
  add [rbx+0000936C],esi
  jmp return

align 10 cc
  vf_exp_multi:
  dd (float)1.2

INJECT_EXP_MULTI:
  jmp newmem
  nop
return:
registersymbol(vf_exp_multi)
registersymbol(INJECT_EXP_MULTI)

[DISABLE]

INJECT_EXP_MULTI:
  db 01 B3 6C 93 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2A9707

nysD11_x64.exe+2A96E5: 85 C0              - test eax,eax
nysD11_x64.exe+2A96E7: 74 07              - je nysD11_x64.exe+2A96F0
nysD11_x64.exe+2A96E9: BD 55 00 00 00     - mov ebp,00000055
nysD11_x64.exe+2A96EE: EB 17              - jmp nysD11_x64.exe+2A9707
nysD11_x64.exe+2A96F0: BA C6 02 00 00     - mov edx,000002C6
nysD11_x64.exe+2A96F5: 48 8B CB           - mov rcx,rbx
nysD11_x64.exe+2A96F8: E8 C3 38 01 00     - call nysD11_x64.exe+2BCFC0
nysD11_x64.exe+2A96FD: 85 C0              - test eax,eax
nysD11_x64.exe+2A96FF: B9 46 00 00 00     - mov ecx,00000046
nysD11_x64.exe+2A9704: 0F 45 E9           - cmovne ebp,ecx
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2A9707: 01 B3 6C 93 00 00  - add [rbx+0000936C],esi
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2A970D: 8D 55 FF           - lea edx,[rbp-01]
nysD11_x64.exe+2A9710: 48 8B CB           - mov rcx,rbx
nysD11_x64.exe+2A9713: E8 A8 2C 01 00     - call nysD11_x64.exe+2BC3C0
nysD11_x64.exe+2A9718: 8B F0              - mov esi,eax
nysD11_x64.exe+2A971A: 3B 83 6C 93 00 00  - cmp eax,[rbx+0000936C]
nysD11_x64.exe+2A9720: 7D 08              - jnl nysD11_x64.exe+2A972A
nysD11_x64.exe+2A9722: 89 83 6C 93 00 00  - mov [rbx+0000936C],eax
nysD11_x64.exe+2A9728: EB 06              - jmp nysD11_x64.exe+2A9730
nysD11_x64.exe+2A972A: 8B B3 6C 93 00 00  - mov esi,[rbx+0000936C]
nysD11_x64.exe+2A9730: 8D 57 FF           - lea edx,[rdi-01]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>10</ID>
          <Description>"倍率 / Multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_exp_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>64</ID>
      <Description>"金錢取得倍率 / Money multiplier"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_MONEY_MULTI,nysD11_x64.exe,44 03 C2 41 81 F8 7F 96 98 00) // should be unique
alloc(newmem,$1000,INJECT_MONEY_MULTI)

label(code)
label(return)
label(vf_money_multi)

newmem:
  vmovss xmm14, [vf_money_multi]
  cvtsi2ss xmm15, edx
  vmulss xmm13, xmm14, xmm15
  cvtss2si edx, xmm13

code:
  add r8d,edx
  cmp r8d,0098967F
  jmp return

align 10 cc
  vf_money_multi:
  dd (float)1.5


INJECT_MONEY_MULTI:
  jmp newmem
  nop 5
return:
registersymbol(vf_money_multi)
registersymbol(INJECT_MONEY_MULTI)

[DISABLE]

INJECT_MONEY_MULTI:
  db 44 03 C2 41 81 F8 7F 96 98 00

unregistersymbol(INJECT_MONEY_MULTI)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2BD157

nysD11_x64.exe+2BD147: CC                             - int 3 
nysD11_x64.exe+2BD148: CC                             - int 3 
nysD11_x64.exe+2BD149: CC                             - int 3 
nysD11_x64.exe+2BD14A: CC                             - int 3 
nysD11_x64.exe+2BD14B: CC                             - int 3 
nysD11_x64.exe+2BD14C: CC                             - int 3 
nysD11_x64.exe+2BD14D: CC                             - int 3 
nysD11_x64.exe+2BD14E: CC                             - int 3 
nysD11_x64.exe+2BD14F: CC                             - int 3 
nysD11_x64.exe+2BD150: 44 8B 81 DC 94 00 00           - mov r8d,[rcx+000094DC]
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2BD157: 44 03 C2                       - add r8d,edx
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2BD15A: 41 81 F8 7F 96 98 00           - cmp r8d,0098967F
nysD11_x64.exe+2BD161: 76 14                          - jna nysD11_x64.exe+2BD177
nysD11_x64.exe+2BD163: BA 79 02 00 00                 - mov edx,00000279
nysD11_x64.exe+2BD168: C7 81 DC 94 00 00 7F 96 98 00  - mov [rcx+000094DC],0098967F
nysD11_x64.exe+2BD172: E9 79 FB FF FF                 - jmp nysD11_x64.exe+2BCCF0
nysD11_x64.exe+2BD177: 44 89 81 DC 94 00 00           - mov [rcx+000094DC],r8d
nysD11_x64.exe+2BD17E: 41 81 F8 40 42 0F 00           - cmp r8d,000F4240
nysD11_x64.exe+2BD185: 72 0A                          - jb nysD11_x64.exe+2BD191
nysD11_x64.exe+2BD187: BA 79 02 00 00                 - mov edx,00000279
nysD11_x64.exe+2BD18C: E9 5F FB FF FF                 - jmp nysD11_x64.exe+2BCCF0
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>65</ID>
          <Description>"倍率 / Multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_money_multi</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>76</ID>
      <Description>"四季魔法 / Magic count"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_MIN_MAGIC,nysD11_x64.exe,66 43 89 84 FD 38 92 00 00) // should be unique
alloc(newmem,$1000,INJECT_MIN_MAGIC)
aobscanmodule(INJECT_RESET_MAGIC_COUNT,nysD11_x64.exe,66 43 89 84 F5 38 92 00 00) // should be unique
alloc(newmem2,$1000,INJECT_RESET_MAGIC_COUNT)

label(code)
label(return)
label(i_min_magic_cnt)
label(i_min_magic_addr)

label(code2)
label(return2)

newmem:
  push rbx
  lea rbx, [r13+r15*8+00009238]
  mov [i_min_magic_addr], rbx
  pop rbx
  cmp ax, [i_min_magic_cnt]
  jge code
  mov ax, [i_min_magic_cnt]

code:
  mov [r13+r15*8+00009238],ax
  jmp return

align 10 cc
  i_min_magic_cnt:
  dw c
  i_min_magic_addr:
  dq 0

INJECT_MIN_MAGIC:
  jmp newmem
  nop 4
return:
registersymbol(i_min_magic_addr)
registersymbol(i_min_magic_cnt)
registersymbol(INJECT_MIN_MAGIC)



newmem2:
  mov ax, [i_min_magic_cnt]
code2:
  mov [r13+r14*8+00009238],ax
  jmp return2

INJECT_RESET_MAGIC_COUNT:
  jmp newmem2
  nop 4
return2:
registersymbol(INJECT_RESET_MAGIC_COUNT)



[DISABLE]

INJECT_MIN_MAGIC:
  db 66 43 89 84 FD 38 92 00 00

unregistersymbol(*)
dealloc(newmem)

INJECT_RESET_MAGIC_COUNT:
  db 66 43 89 84 F5 38 92 00 00

unregistersymbol(INJECT_RESET_MAGIC_COUNT)
dealloc(newmem2)
{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+285FCB

nysD11_x64.exe+285F92: C7 86 50 0B 00 00 10 00 00 00  - mov [rsi+00000B50],00000010
nysD11_x64.exe+285F9C: 48 8B 05 25 B2 1C 00           - mov rax,[nysD11_x64.exe+4511C8]
nysD11_x64.exe+285FA3: C7 45 94 02 00 00 00           - mov [rbp-6C],00000002
nysD11_x64.exe+285FAA: 4C 63 FB                       - movsxd  r15,ebx
nysD11_x64.exe+285FAD: 83 B8 AC A2 00 00 00           - cmp dword ptr [rax+0000A2AC],00
nysD11_x64.exe+285FB4: 75 1E                          - jne nysD11_x64.exe+285FD4
nysD11_x64.exe+285FB6: 43 0F B7 84 FD 38 92 00 00     - movzx eax,word ptr [r13+r15*8+00009238]
nysD11_x64.exe+285FBF: 66 85 C0                       - test ax,ax
nysD11_x64.exe+285FC2: 0F 8E A8 00 00 00              - jng nysD11_x64.exe+286070
nysD11_x64.exe+285FC8: 66 FF C8                       - dec ax
// ---------- INJECTING HERE ----------
nysD11_x64.exe+285FCB: 66 43 89 84 FD 38 92 00 00     - mov [r13+r15*8+00009238],ax
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+285FD4: 48 8B 06                       - mov rax,[rsi]
nysD11_x64.exe+285FD7: 48 8B CE                       - mov rcx,rsi
nysD11_x64.exe+285FDA: FF 50 48                       - call qword ptr [rax+48]
nysD11_x64.exe+285FDD: 66 43 83 BC FD 34 92 00 00 00  - cmp word ptr [r13+r15*8+00009234],00
nysD11_x64.exe+285FE7: F3 44 0F 10 0D 90 37 15 00     - movss xmm9,[nysD11_x64.exe+3D9780]
nysD11_x64.exe+285FF0: 0F 10 00                       - movups xmm0,[rax]
nysD11_x64.exe+285FF3: 0F 11 45 C0                    - movups [rbp-40],xmm0
nysD11_x64.exe+285FF7: 0F C6 C0 AA                    - shufps xmm0,xmm0,-56
nysD11_x64.exe+285FFB: F3 41 0F 58 C1                 - addss xmm0,xmm9
nysD11_x64.exe+286000: F3 0F 11 45 C8                 - movss [rbp-38],xmm0
}

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2D0B2B

nysD11_x64.exe+2D0B0A: E8 F1 B8 FE FF              - call nysD11_x64.exe+2BC400
nysD11_x64.exe+2D0B0F: 85 C0                       - test eax,eax
nysD11_x64.exe+2D0B11: 74 08                       - je nysD11_x64.exe+2D0B1B
nysD11_x64.exe+2D0B13: 81 FD FA 00 00 00           - cmp ebp,000000FA
nysD11_x64.exe+2D0B19: 7C 06                       - jl nysD11_x64.exe+2D0B21
nysD11_x64.exe+2D0B1B: 41 0F B7 C7                 - movzx eax,r15w
nysD11_x64.exe+2D0B1F: EB 0A                       - jmp nysD11_x64.exe+2D0B2B
nysD11_x64.exe+2D0B21: 48 8B 0F                    - mov rcx,[rdi]
nysD11_x64.exe+2D0B24: 8B D5                       - mov edx,ebp
nysD11_x64.exe+2D0B26: E8 25 E8 FE FF              - call nysD11_x64.exe+2BF350
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2D0B2B: 66 43 89 84 F5 38 92 00 00  - mov [r13+r14*8+00009238],ax
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2D0B34: BA A3 01 00 00              - mov edx,000001A3
nysD11_x64.exe+2D0B39: 48 8B 0F                    - mov rcx,[rdi]
nysD11_x64.exe+2D0B3C: E8 BF B8 FE FF              - call nysD11_x64.exe+2BC400
nysD11_x64.exe+2D0B41: 3B E8                       - cmp ebp,eax
nysD11_x64.exe+2D0B43: 75 13                       - jne nysD11_x64.exe+2D0B58
nysD11_x64.exe+2D0B45: 48 8B 0F                    - mov rcx,[rdi]
nysD11_x64.exe+2D0B48: BA A3 01 00 00              - mov edx,000001A3
nysD11_x64.exe+2D0B4D: 41 B8 FF FF FF FF           - mov r8d,FFFFFFFF
nysD11_x64.exe+2D0B53: E8 F8 B8 FF FF              - call nysD11_x64.exe+2CC450
nysD11_x64.exe+2D0B58: 45 85 F6                    - test r14d,r14d
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>80</ID>
          <Description>"Count"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_min_magic_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>77</ID>
          <Description>"最小彈數 / Min. count"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_min_magic_cnt</Address>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>78</ID>
      <Description>"戰技無限 / inf. skill gauge"</Description>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_INF_SKILL_GAUGE,nysD11_x64.exe,0F 2F C1 F3 0F 11 89 E0 94 00 00) // should be unique
alloc(newmem,$1000,INJECT_INF_SKILL_GAUGE)

label(code)
label(return)

newmem:
  vmovss xmm1, [vf_10000]

code:
  comiss xmm0,xmm1
  movss [rcx+000094E0],xmm1
  jmp return

align 10 cc
  vf_10000:
  dd (float)10000

INJECT_INF_SKILL_GAUGE:
  jmp newmem
  nop 6
return:
registersymbol(INJECT_INF_SKILL_GAUGE)

[DISABLE]

INJECT_INF_SKILL_GAUGE:
  db 0F 2F C1 F3 0F 11 89 E0 94 00 00

unregistersymbol(INJECT_INF_SKILL_GAUGE)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+279758

nysD11_x64.exe+279722: 48 83 EC 40                    - sub rsp,40
nysD11_x64.exe+279726: F3 0F 59 0D FA FF 15 00        - mulss xmm1,[nysD11_x64.exe+3D9728]
nysD11_x64.exe+27972E: 0F 57 C0                       - xorps xmm0,xmm0
nysD11_x64.exe+279731: 48 8B D9                       - mov rbx,rcx
nysD11_x64.exe+279734: 0F 2F C1                       - comiss xmm0,xmm1
nysD11_x64.exe+279737: 0F 86 BC 00 00 00              - jbe nysD11_x64.exe+2797F9
nysD11_x64.exe+27973D: 83 B9 DC 09 01 00 28           - cmp dword ptr [rcx+000109DC],28
nysD11_x64.exe+279744: 7D 0A                          - jnl nysD11_x64.exe+279750
nysD11_x64.exe+279746: C7 81 DC 09 01 00 3C 00 00 00  - mov [rcx+000109DC],0000003C
nysD11_x64.exe+279750: F3 0F 58 89 E0 94 00 00        - addss xmm1,[rcx+000094E0]
// ---------- INJECTING HERE ----------
nysD11_x64.exe+279758: 0F 2F C1                       - comiss xmm0,xmm1
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+27975B: F3 0F 11 89 E0 94 00 00        - movss [rcx+000094E0],xmm1
nysD11_x64.exe+279763: 0F 82 B3 00 00 00              - jb nysD11_x64.exe+27981C
nysD11_x64.exe+279769: 48 8B 81 18 03 00 00           - mov rax,[rcx+00000318]
nysD11_x64.exe+279770: 45 33 C9                       - xor r9d,r9d
nysD11_x64.exe+279773: BA 26 02 00 00                 - mov edx,00000226
nysD11_x64.exe+279778: C7 44 24 20 00 00 00 00        - mov [rsp+20],00000000
nysD11_x64.exe+279780: FF 80 F0 FB 16 00              - inc [rax+0016FBF0]
nysD11_x64.exe+279786: 45 8D 41 64                    - lea r8d,[r9+64]
nysD11_x64.exe+27978A: 48 8B 89 18 03 00 00           - mov rcx,[rcx+00000318]
nysD11_x64.exe+279791: 48 81 C1 68 13 16 00           - add rcx,00161368
}
</AssemblerScript>
    </CheatEntry>
    <CheatEntry>
      <ID>89</ID>
      <Description>"星星數 (切換區域) / Stars (Active: switch zone)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-27
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_GET_STAR_COUNT,nysD11_x64.exe,3B C3 7C 10 41 8D 56 24) // should be unique
alloc(newmem,$1000,INJECT_GET_STAR_COUNT)

label(code)
label(return)
label(i_star_count_addr)

newmem:
{
  call nysD11_x64.exe+2BC400==&gt;
  nysD11_x64.exe+2BC408 - mov rax,[rcx+00000318]
  nysD11_x64.exe+2BC40F - movsxd  rdx,edx
  nysD11_x64.exe+2BC412 - mov eax,[rax+rdx*4+0016F48C]
}
  push rbx
  push r15
  mov rbx,[rcx+00000318]
  lea r15,[rbx+rdx*4+0016F48C]
  mov [i_star_count_addr], r15
  pop r15
  pop rbx

code:
  cmp eax,ebx
  //jl nysD11_x64.exe+2AB63E
  reassemble(INJECT_GET_STAR_COUNT+2)
  lea edx,[r14+24]
  jmp return

align 10 cc
  i_star_count_addr:
  dq 0

INJECT_GET_STAR_COUNT:
  jmp newmem
  nop 3
return:
registersymbol(i_star_count_addr)
registersymbol(INJECT_GET_STAR_COUNT)

[DISABLE]

INJECT_GET_STAR_COUNT:
  db 3B C3 7C 10 41 8D 56 24

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2AB62A

nysD11_x64.exe+2AB604: E8 47 0E 02 00        - call nysD11_x64.exe+2CC450
nysD11_x64.exe+2AB609: BA B1 01 00 00        - mov edx,000001B1
nysD11_x64.exe+2AB60E: 48 8B CF              - mov rcx,rdi
nysD11_x64.exe+2AB611: E8 EA 0D 01 00        - call nysD11_x64.exe+2BC400
nysD11_x64.exe+2AB616: FF C0                 - inc eax
nysD11_x64.exe+2AB618: BA B0 01 00 00        - mov edx,000001B0
nysD11_x64.exe+2AB61D: 48 8B CF              - mov rcx,rdi
nysD11_x64.exe+2AB620: 8D 1C 40              - lea ebx,[rax+rax*2]
nysD11_x64.exe+2AB623: 03 DB                 - add ebx,ebx
nysD11_x64.exe+2AB625: E8 D6 0D 01 00        - call nysD11_x64.exe+2BC400
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2AB62A: 3B C3                 - cmp eax,ebx
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2AB62C: 7C 10                 - jl nysD11_x64.exe+2AB63E
nysD11_x64.exe+2AB62E: 41 8D 56 24           - lea edx,[r14+24]
nysD11_x64.exe+2AB632: 48 8B CF              - mov rcx,rdi
nysD11_x64.exe+2AB635: 45 8D 46 01           - lea r8d,[r14+01]
nysD11_x64.exe+2AB639: E8 12 0E 02 00        - call nysD11_x64.exe+2CC450
nysD11_x64.exe+2AB63E: BE FC 08 00 00        - mov esi,000008FC
nysD11_x64.exe+2AB643: 48 8D 9F 30 9B 00 00  - lea rbx,[rdi+00009B30]
nysD11_x64.exe+2AB64A: BD 7F 00 00 00        - mov ebp,0000007F
nysD11_x64.exe+2AB64F: 90                    - nop 
nysD11_x64.exe+2AB650: 66 83 3B 00           - cmp word ptr [rbx],00
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>90</ID>
          <Description>"值 / Value"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_star_count_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>20</ID>
      <Description>"戰鬥傷害管控 / Battle: damage control"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_DAMAGE_CONTROL,nysD11_x64.exe,F3 0F 58 B3 A0 06 00 00 48 8B CB E8 BE) // should be unique
alloc(newmem,$1000,INJECT_DAMAGE_CONTROL)

label(code)
label(return)
label(vf_damage_to_player)
label(vf_damage_to_enemy)
label(i_battle_last_target)
label(is_god_mode)

newmem:
  mov [i_battle_last_target], rbx


  push r15
  cmp dword ptr [rbx+00000018], 4F544C41
  jnz to_enemy

  {
  mov r15d, [rbx+0000065C]
  test r15d, r15d
  jnz to_enemy
  movzx r15d, word ptr [rbx+000006C6]
  test r15d, r15d
  jnz to_enemy
  }
  cmp dword ptr [is_god_mode], 0
  jne player_god_mode
  vmovss xmm14, [vf_damage_to_player]
  vmulss xmm6, xmm6, xmm14
  jmp endp
player_god_mode:
  vmovss xmm6, [vf_zero]
  vmovss xmm15, [rbx+0000069C]
  vmovss [rbx+000006A0], xmm15
  jmp endp
to_enemy:
  vmovss xmm14, [vf_damage_to_enemy]
  vmulss xmm6, xmm6, xmm14
endp:
  pop r15

code:
  addss xmm6,[rbx+000006A0]
  jmp return

align 10 cc
  i_battle_last_target:
  dq 0
  vf_damage_to_player:
  dd (float)0.65
  vf_damage_to_enemy:
  dd (float)2.2
  is_god_mode:
  dd 0
  vf_zero:
  dd 0

INJECT_DAMAGE_CONTROL:
  jmp newmem
  nop 3
return:
registersymbol(is_god_mode)
registersymbol(i_battle_last_target)
registersymbol(vf_damage_to_player)
registersymbol(vf_damage_to_enemy)
registersymbol(INJECT_DAMAGE_CONTROL)

[DISABLE]

INJECT_DAMAGE_CONTROL:
  db F3 0F 58 B3 A0 06 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+279632

nysD11_x64.exe+27960Do: 0F 29 74 24 50           - movaps [rsp+50],xmm6
nysD11_x64.exe+279612p: 85 FF                    - test edi,edi
nysD11_x64.exe+279614e: 75 14                    - jne nysD11_x64.exe+27962A
nysD11_x64.exe+279616n: F3 0F 10 B3 A0 06 00 00  - movss xmm6,[rbx+000006A0]
nysD11_x64.exe+27961Ec: 41 0F 2F F1              - comiss xmm6,xmm9
nysD11_x64.exe+279622h: 73 06                    - jae nysD11_x64.exe+27962A
nysD11_x64.exe+279624e: 44 0F 2F C7              - comiss xmm8,xmm7
nysD11_x64.exe+279628a: 76 4B                    - jna nysD11_x64.exe+279675
nysD11_x64.exe+27962At: 0F 28 F7                 - movaps xmm6,xmm7
nysD11_x64.exe+27962Dt: BA 01 00 00 00           - mov edx,00000001
// ---------- INJECTING HERE ----------
nysD11_x64.exe+279632a: F3 0F 58 B3 A0 06 00 00  - addss xmm6,[rbx+000006A0]
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+27963Ab: 48 8B CB                 - mov rcx,rbx
nysD11_x64.exe+27963Dl: E8 BE F8 00 00           - call nysD11_x64.exe+288F00
nysD11_x64.exe+279642e: F3 0F 5D F0              - minss xmm6,xmm0
nysD11_x64.exe+279646s: 41 0F 2F F0              - comiss xmm6,xmm8
nysD11_x64.exe+27964A.: 76 1E                    - jna nysD11_x64.exe+27966A
nysD11_x64.exe+27964Co: 0F 28 F7                 - movaps xmm6,xmm7
nysD11_x64.exe+27964Fr: BA 01 00 00 00           - mov edx,00000001
nysD11_x64.exe+279654g: F3 0F 58 B3 A0 06 00 00  - addss xmm6,[rbx+000006A0]
nysD11_x64.exe+27965C.: 48 8B CB                 - mov rcx,rbx
nysD11_x64.exe+27965F.: E8 9C F8 00 00           - call nysD11_x64.exe+288F00
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>33</ID>
          <Description>"無敵模式 / God mode ? "</Description>
          <DropDownList DisplayValueAsItem="1">0:No
1:Yes
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>is_god_mode</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>31</ID>
          <Description>"玩家所受傷害倍率 / Damage to player multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_damage_to_player</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>32</ID>
          <Description>"敵方所受傷害倍率 / Damage to enemy multiplier"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>vf_damage_to_enemy</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>30</ID>
          <Description>"+最後受傷目標 / Last damaged target"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>21</ID>
              <Description>"Addr."</Description>
              <ShowAsHex>1</ShowAsHex>
              <ShowAsSigned>0</ShowAsSigned>
              <Color>808080</Color>
              <VariableType>8 Bytes</VariableType>
              <Address>i_battle_last_target</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>37</ID>
              <Description>"Name"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>String</VariableType>
              <Length>32</Length>
              <Unicode>0</Unicode>
              <CodePage>0</CodePage>
              <ZeroTerminate>1</ZeroTerminate>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>18</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>36</ID>
              <Description>"Target"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>String</VariableType>
              <Length>32</Length>
              <Unicode>0</Unicode>
              <CodePage>0</CodePage>
              <ZeroTerminate>1</ZeroTerminate>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>18</Offset>
                <Offset>4A8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>35</ID>
              <Description>"Level"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>4 Bytes</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>698</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>22</ID>
              <Description>"Max HP "</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>69C</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>23</ID>
              <Description>"HP "</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6A0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>24</ID>
              <Description>"Base STR"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6A4</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>25</ID>
              <Description>"Base DEF"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6A8</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>26</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6AC</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>27</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6B0</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>28</ID>
              <Description>"Base INT"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6B4</Offset>
              </Offsets>
            </CheatEntry>
            <CheatEntry>
              <ID>29</ID>
              <Description>"??"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>i_battle_last_target</Address>
              <Offsets>
                <Offset>6BC</Offset>
              </Offsets>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>93</ID>
      <Description>"部份成就資料顯示值 (取得資料：殺敵/取得小型晶石) / Some achievements (Update: Kill enemy / get small crystal)"</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-27
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_GET_ACHI,nysD11_x64.exe,66 89 8C 7B F0 94 00 00) // should be unique
alloc(newmem,$1000,INJECT_GET_ACHI)

label(code)
label(return)
label(i_base_5000kill_addr)

newmem:
  cmp rdi, 25C
  jne check2
  push r15
  lea r15, [rbx+rdi*2+000094F0]
  mov [i_base_5000kill_addr], r15
  pop r15
  jmp code

check2:
  cmp rdi, 261
  jne code
  push r15
  push rdi
  mov rdi, 25C
  lea r15, [rbx+rdi*2+000094F0]
  mov [i_base_5000kill_addr], r15
  pop rdi
  pop r15
  jmp code

code:
  mov [rbx+rdi*2+000094F0],cx
  jmp return

align 10 cc
  i_base_5000kill_addr:
  dq 0

INJECT_GET_ACHI:
  jmp newmem
  nop 3
return:
registersymbol(i_base_5000kill_addr)
registersymbol(INJECT_GET_ACHI)

[DISABLE]

INJECT_GET_ACHI:
  db 66 89 8C 7B F0 94 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+2BCD5F

nysD11_x64.exe+2BCD38: 0F B7 40 7C              - movzx eax,word ptr [rax+7C]
nysD11_x64.exe+2BCD3C: 0F B7 8C 7B F0 94 00 00  - movzx ecx,word ptr [rbx+rdi*2+000094F0]
nysD11_x64.exe+2BCD44: 66 85 C0                 - test ax,ax
nysD11_x64.exe+2BCD47: 75 0A                    - jne nysD11_x64.exe+2BCD53
nysD11_x64.exe+2BCD49: 66 85 C9                 - test cx,cx
nysD11_x64.exe+2BCD4C: 7E 0E                    - jle nysD11_x64.exe+2BCD5C
nysD11_x64.exe+2BCD4E: E9 AA 00 00 00           - jmp nysD11_x64.exe+2BCDFD
nysD11_x64.exe+2BCD53: 66 3B C8                 - cmp cx,ax
nysD11_x64.exe+2BCD56: 0F 8D 97 00 00 00        - jnl nysD11_x64.exe+2BCDF3
nysD11_x64.exe+2BCD5C: 66 FF C1                 - inc cx
// ---------- INJECTING HERE ----------
nysD11_x64.exe+2BCD5F: 66 89 8C 7B F0 94 00 00  - mov [rbx+rdi*2+000094F0],cx
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+2BCD67: 0F B7 45 7C              - movzx eax,word ptr [rbp+7C]
nysD11_x64.exe+2BCD6B: 66 85 C0                 - test ax,ax
nysD11_x64.exe+2BCD6E: 74 05                    - je nysD11_x64.exe+2BCD75
nysD11_x64.exe+2BCD70: 66 3B C8                 - cmp cx,ax
nysD11_x64.exe+2BCD73: 7C 7E                    - jl nysD11_x64.exe+2BCDF3
nysD11_x64.exe+2BCD75: 0F B7 45 68              - movzx eax,word ptr [rbp+68]
nysD11_x64.exe+2BCD79: 48 8D 15 90 D0 0E 00     - lea rdx,[nysD11_x64.exe+3A9E10]
nysD11_x64.exe+2BCD80: 66 01 83 E8 94 00 00     - add [rbx+000094E8],ax
nysD11_x64.exe+2BCD87: 48 8D 4C 24 30           - lea rcx,[rsp+30]
nysD11_x64.exe+2BCD8C: 0F B7 45 68              - movzx eax,word ptr [rbp+68]
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>105</ID>
          <Description>"完成「打倒5000個敵人」及「取得5000小型晶石」後，將無法取得資料"</Description>
          <Color>400080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>106</ID>
          <Description>"Data will not be updated if "5000 kill" and "get 5000 small crystals" reached"</Description>
          <Color>400080</Color>
          <GroupHeader>1</GroupHeader>
        </CheatEntry>
        <CheatEntry>
          <ID>95</ID>
          <Description>"完成關卡10次 / Completed 10 zones"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>-8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>104</ID>
          <Description>"完成關卡50次 / Completed 50 zones"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>-6</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>103</ID>
          <Description>"打倒200個敵人 / 200 Kill"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>-4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>96</ID>
          <Description>"打倒2000個敵人 / 2000 Kill"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>-2</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>94</ID>
          <Description>"打倒5000個敵人 / 5000 Kill"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>97</ID>
          <Description>"以魔法打倒1000個敵人 / Magic Kill 1000 times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>2</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>98</ID>
          <Description>"以劍技打倒1000個敵人 / Sword skill Kill 100 times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>4</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>99</ID>
          <Description>"防禦100次攻擊 / Defense 100 times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>6</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>100</ID>
          <Description>"掉落20次 / Fall down 20 times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>101</ID>
          <Description>"破壞物件1000次 / Objects broke 1000 times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>A</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>102</ID>
          <Description>"拾取5000小型晶石 / Get 5000 small crystals"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>C</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>107</ID>
          <Description>"無傷完成關卡10次 / Completed zone without get hurt 10 times"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>E</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>108</ID>
          <Description>"100 Chain (0 or 1)"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>2 Bytes</VariableType>
          <Address>i_base_5000kill_addr</Address>
          <Offsets>
            <Offset>10</Offset>
          </Offsets>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>47</ID>
      <Description>"座標 / Coords."</Description>
      <Options moHideChildren="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_CUR_COORDS,nysD11_x64.exe,89 83 CC 02 00 00) // should be unique
alloc(newmem,$1000,INJECT_CUR_COORDS)

label(code)
label(return)
label(i_base_coord_addr)
label(vf_coord_x1)
label(vf_coord_y1)
label(vf_coord_z1)
label(vf_coord_x2)
label(vf_coord_y2)
label(vf_coord_z2)
label(vf_coord_x3)
label(vf_coord_y3)
label(vf_coord_z3)
label(i_coord_option)

newmem:
  // 0018 = ALTO (0x4F544C41)
  // 2B4 = 0??
  cmp dword ptr [rbx+00000018], 4F544C41
  jnz code
  mov [i_base_coord_addr], rbx
  cmp dword ptr [i_coord_option], 0
  je code

  push r15
  cmp dword ptr [i_coord_option], 1
  jne check2
  mov r15d, [rbx+000001B8]
  mov [vf_coord_x1], r15d
  mov r15d, [rbx+000001BC]
  mov [vf_coord_y1], r15d
  mov r15d, [rbx+000001C0]
  mov [vf_coord_z1], r15d
  jmp endp

check2:
  cmp dword ptr [i_coord_option], 2
  jne check3
  mov r15d, [rbx+000001B8]
  mov [vf_coord_x2], r15d
  mov r15d, [rbx+000001BC]
  mov [vf_coord_y2], r15d
  mov r15d, [rbx+000001C0]
  mov [vf_coord_z2], r15d
  jmp endp

check3:
  cmp dword ptr [i_coord_option], 3
  jne check11
  mov r15d, [rbx+000001B8]
  mov [vf_coord_x3], r15d
  mov r15d, [rbx+000001BC]
  mov [vf_coord_y3], r15d
  mov r15d, [rbx+000001C0]
  mov [vf_coord_z3], r15d
  jmp endp

check11:
  cmp dword ptr [i_coord_option], B
  jne check12
  mov r15d, [vf_coord_x1]
  test r15d, r15d
  jz endp
  mov [rbx+000001B8], r15d
  mov r15d, [vf_coord_y1]
  mov [rbx+000001BC], r15d
  vmovss xmm15, [vf_coord_z1]
  vmovss xmm14, [vf_0015]
  vaddss xmm15, xmm15, xmm14
  movd r15d, xmm15
  mov [rbx+000001C0], r15d
  jmp endp

check12:
  cmp dword ptr [i_coord_option], C
  jne check13
  mov r15d, [vf_coord_x2]
  test r15d, r15d
  jz endp
  mov [rbx+000001B8], r15d
  mov r15d, [vf_coord_y2]
  mov [rbx+000001BC], r15d
  vmovss xmm15, [vf_coord_z2]
  vmovss xmm14, [vf_0015]
  vaddss xmm15, xmm15, xmm14
  movd r15d, xmm15
  mov [rbx+000001C0], r15d
  jmp endp

check13:
  cmp dword ptr [i_coord_option], D
  jne endp
  mov r15d, [vf_coord_x3]
  test r15d, r15d
  jz endp
  mov [rbx+000001B8], r15d
  mov r15d, [vf_coord_y3]
  mov [rbx+000001BC], r15d
  vmovss xmm15, [vf_coord_z3]
  vmovss xmm14, [vf_0015]
  vaddss xmm15, xmm15, xmm14
  movd r15d, xmm15
  mov [rbx+000001C0], r15d
  jmp endp

endp:
  mov dword ptr [i_coord_option], 0
  pop r15

code:
  mov [rbx+000002CC],eax
  jmp return

align 10 cc
  i_base_coord_addr:
  dq 0
  vf_coord_x1:
  dd 0
  vf_coord_y1:
  dd 0
  vf_coord_z1:
  dd 0
  vf_coord_x2:
  dd 0
  vf_coord_y2:
  dd 0
  vf_coord_z2:
  dd 0
  vf_coord_x3:
  dd 0
  vf_coord_y3:
  dd 0
  vf_coord_z3:
  dd 0
  i_coord_option: // 0:Nothing, 1: store #1, 2: store #2, 3: store #3, 11: restore #1, 12: rstore #2, 13: restore #3
  dd 0
  vf_0015:
  dd (float)0.015

INJECT_CUR_COORDS:
  jmp newmem
  nop
return:
registersymbol(i_base_coord_addr)
registersymbol(vf_coord_x1)
registersymbol(vf_coord_y1)
registersymbol(vf_coord_z1)
registersymbol(vf_coord_x2)
registersymbol(vf_coord_y2)
registersymbol(vf_coord_z2)
registersymbol(vf_coord_x3)
registersymbol(vf_coord_y3)
registersymbol(vf_coord_z3)
registersymbol(i_coord_option)
registersymbol(INJECT_CUR_COORDS)

[DISABLE]

INJECT_CUR_COORDS:
  db 89 83 CC 02 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+288D41

nysD11_x64.exe+288D03: 0F 11 83 B8 02 00 00     - movups [rbx+000002B8],xmm0
nysD11_x64.exe+288D0A: F3 0F 58 CF              - addss xmm1,xmm7
nysD11_x64.exe+288D0E: F3 0F 11 8B C0 02 00 00  - movss [rbx+000002C0],xmm1
nysD11_x64.exe+288D16: 8B 83 B8 02 00 00        - mov eax,[rbx+000002B8]
nysD11_x64.exe+288D1C: 8B 8B 2C 05 00 00        - mov ecx,[rbx+0000052C]
nysD11_x64.exe+288D22: 0F 28 7C 24 60           - movaps xmm7,[rsp+60]
nysD11_x64.exe+288D27: 81 E1 00 00 00 08        - and ecx,08000000
nysD11_x64.exe+288D2D: 48 8B B4 24 90 00 00 00  - mov rsi,[rsp+00000090]
nysD11_x64.exe+288D35: 89 83 C8 02 00 00        - mov [rbx+000002C8],eax
nysD11_x64.exe+288D3B: 8B 83 BC 02 00 00        - mov eax,[rbx+000002BC]
// ---------- INJECTING HERE ----------
nysD11_x64.exe+288D41: 89 83 CC 02 00 00        - mov [rbx+000002CC],eax
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+288D47: 48 8B 05 72 84 1C 00     - mov rax,[nysD11_x64.exe+4511C0]
nysD11_x64.exe+288D4E: 48 3B 98 28 BE 17 00     - cmp rbx,[rax+0017BE28]
nysD11_x64.exe+288D55: 75 08                    - jne nysD11_x64.exe+288D5F
nysD11_x64.exe+288D57: 85 FF                    - test edi,edi
nysD11_x64.exe+288D59: 0F 84 89 00 00 00        - je nysD11_x64.exe+288DE8
nysD11_x64.exe+288D5F: F3 0F 10 93 D0 02 00 00  - movss xmm2,[rbx+000002D0]
nysD11_x64.exe+288D67: 0F 2F D1                 - comiss xmm2,xmm1
nysD11_x64.exe+288D6A: 76 0D                    - jna nysD11_x64.exe+288D79
nysD11_x64.exe+288D6C: 80 BB 50 06 00 00 00     - cmp byte ptr [rbx+00000650],00
nysD11_x64.exe+288D73: 74 12                    - je nysD11_x64.exe+288D87
}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>48</ID>
          <Description>"Base addr."</Description>
          <ShowAsHex>1</ShowAsHex>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>808080</Color>
          <VariableType>8 Bytes</VariableType>
          <Address>i_base_coord_addr</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>49</ID>
          <Description>"X"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>i_base_coord_addr</Address>
          <Offsets>
            <Offset>1B8</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>50</ID>
          <Description>"Y"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>i_base_coord_addr</Address>
          <Offsets>
            <Offset>1BC</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>51</ID>
          <Description>"Z"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Float</VariableType>
          <Address>i_base_coord_addr</Address>
          <Offsets>
            <Offset>1C0</Offset>
          </Offsets>
        </CheatEntry>
        <CheatEntry>
          <ID>81</ID>
          <Description>"存入儲存點#1 / Save to #1 &lt;Ctrl-2&gt;"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('i_coord_option', 1)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Activate</Action>
              <Keys>
                <Key>17</Key>
                <Key>50</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound>Activate</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>83</ID>
          <Description>"存入儲存點#2 / Save to #2 &lt;Ctrl-3&gt;"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('i_coord_option', 2)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Activate</Action>
              <Keys>
                <Key>17</Key>
                <Key>51</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound>Activate</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>82</ID>
          <Description>"存入儲存點#3 / Save to #3 &lt;Ctrl-4&gt;"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('i_coord_option', 3)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Toggle Activation</Action>
              <Keys>
                <Key>17</Key>
                <Key>52</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound>Activate</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>84</ID>
          <Description>"傳送到儲存點#1 / Teleport to #1 &lt;Alt-2&gt;"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('i_coord_option', 11)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Activate</Action>
              <Keys>
                <Key>18</Key>
                <Key>50</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">Teleport #1</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>86</ID>
          <Description>"傳送到儲存點#2 / Teleport to #2 &lt;Alt-3&gt;"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('i_coord_option', 12)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Activate</Action>
              <Keys>
                <Key>18</Key>
                <Key>51</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">Teleport #2</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>85</ID>
          <Description>"傳送到儲存點#3 / Teleport to #3 &lt;Alt-4&gt;"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('i_coord_option', 13)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Activate</Action>
              <Keys>
                <Key>18</Key>
                <Key>52</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">Teleport #3</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>87</ID>
          <Description>"清除所有暫存點 / Clear all saved points"</Description>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeInteger('vf_coord_x1', 0)
writeInteger('vf_coord_y1', 0)
writeInteger('vf_coord_z1', 0)
writeInteger('vf_coord_x2', 0)
writeInteger('vf_coord_y2', 0)
writeInteger('vf_coord_z2', 0)
writeInteger('vf_coord_x3', 0)
writeInteger('vf_coord_y3', 0)
writeInteger('vf_coord_z3', 0)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
          <Hotkeys>
            <Hotkey>
              <Action>Activate</Action>
              <Keys>
                <Key>18</Key>
                <Key>52</Key>
              </Keys>
              <ID>0</ID>
              <ActivateSound TTS="EN">Teleport #3</ActivateSound>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
        <CheatEntry>
          <ID>52</ID>
          <Description>"座標傳送選項 / teleport options"</Description>
          <DropDownList DisplayValueAsItem="1">0:Nothing
1:Save to #1
2:Save to #2
3:Save to #3
11:Teleport to #1
12:Teleport to #2
13:Teleport to #3
</DropDownList>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>4 Bytes</VariableType>
          <Address>i_coord_option</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>110</ID>
          <Description>"+某些傳送點"</Description>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>109</ID>
              <Description>"利玆維特神殿後半/最尾部 =&gt; #3"</Description>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
writeFloat('vf_coord_x3', -34.1401062)
writeFloat('vf_coord_y3', 21.83120346)
writeFloat('vf_coord_z3', 182.4349976)


[DISABLE]
{$lua}
--NO_ACTIVATE
if syntaxcheck then return end
</AssemblerScript>
              <Hotkeys>
                <Hotkey>
                  <Action>Activate</Action>
                  <Keys>
                    <Key>18</Key>
                    <Key>52</Key>
                  </Keys>
                  <ID>0</ID>
                  <ActivateSound TTS="EN">Teleport #3</ActivateSound>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>62</ID>
          <Description>"+儲存點 / Saved coords"</Description>
          <Options moHideChildren="1"/>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>53</ID>
              <Description>"X1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_x1</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>54</ID>
              <Description>"Y1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_y1</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>55</ID>
              <Description>"Z1"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_z1</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>56</ID>
              <Description>"X2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_x2</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>57</ID>
              <Description>"Y2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_y2</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>58</ID>
              <Description>"Z2"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_z2</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>59</ID>
              <Description>"X3"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_x3</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>60</ID>
              <Description>"Y3"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_y3</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>61</ID>
              <Description>"Z3"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_coord_z3</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>74</ID>
      <Description>"_WIP"</Description>
      <Options moHideChildren="1"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>72</ID>
          <Description>"(會卡牆) 移動速度調整 / (buggy) Move speed hack"</Description>
          <Options moHideChildren="1"/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : nysD11_x64.exe
  Version: 
  Date   : 2022-05-26
  Author : bbfox @ https://opencheattables.org
}

[ENABLE]

aobscanmodule(INJECT_MOVE_SPEED_MULTI,nysD11_x64.exe,F3 0F 11 89 B8 01 00 00) // should be unique
alloc(newmem,$1000,INJECT_MOVE_SPEED_MULTI)

label(code)
label(return)
label(vf_move_speed_multi)

newmem:
  cvtss2sd xmm0,xmm1
  vmovss xmm13, [vf_move_speed_multi]
  vmovss xmm15, [rcx+000001B8]
  vsubss xmm14, xmm1, xmm15
  vmulss xmm14, xmm14, xmm13
  vaddss xmm1, xmm15, xmm14

  vmovss xmm15, [rcx+000001BC]
  vsubss xmm14, xmm6, xmm15
  vmulss xmm14, xmm14, xmm13
  vaddss xmm6, xmm15, xmm14

  vmovss xmm15, [rcx+000001C0]
  vsubss xmm14, xmm7, xmm15
  vmulss xmm14, xmm14, xmm13
  vaddss xmm7, xmm15, xmm14

  //movaps xmm2,xmm6
  //movaps xmm3,xmm7
  //movaps [rsp+30],xmm6
  //movaps [rsp+20],xmm7

code:
  movss [rcx+000001B8],xmm1
  //cvtss2sd xmm0,xmm1
  jmp INJECT_MOVE_SPEED_MULTI+C
  jmp return

align 10 cc
  vf_move_speed_multi:
  dd (float)1.5

INJECT_MOVE_SPEED_MULTI:
  jmp newmem
  nop 3
return:
registersymbol(vf_move_speed_multi)
registersymbol(INJECT_MOVE_SPEED_MULTI)

[DISABLE]

INJECT_MOVE_SPEED_MULTI:
  db F3 0F 11 89 B8 01 00 00

unregistersymbol(*)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: nysD11_x64.exe+29B6C7

nysD11_x64.exe+29B6AC: CC                       - int 3 
nysD11_x64.exe+29B6AD: CC                       - int 3 
nysD11_x64.exe+29B6AE: CC                       - int 3 
nysD11_x64.exe+29B6AF: CC                       - int 3 
nysD11_x64.exe+29B6B0: 48 83 EC 48              - sub rsp,48
nysD11_x64.exe+29B6B4: 0F 57 C0                 - xorps xmm0,xmm0
nysD11_x64.exe+29B6B7: 0F 29 74 24 30           - movaps [rsp+30],xmm6
nysD11_x64.exe+29B6BC: 0F 28 F2                 - movaps xmm6,xmm2
nysD11_x64.exe+29B6BF: 0F 29 7C 24 20           - movaps [rsp+20],xmm7
nysD11_x64.exe+29B6C4: 0F 28 FB                 - movaps xmm7,xmm3
// ---------- INJECTING HERE ----------
nysD11_x64.exe+29B6C7: F3 0F 11 89 B8 01 00 00  - movss [rcx+000001B8],xmm1
// ---------- DONE INJECTING  ----------
nysD11_x64.exe+29B6CF: F3 0F 5A C1              - cvtss2sd xmm0,xmm1
nysD11_x64.exe+29B6D3: F3 0F 11 B1 BC 01 00 00  - movss [rcx+000001BC],xmm6
nysD11_x64.exe+29B6DB: F3 0F 11 B9 C0 01 00 00  - movss [rcx+000001C0],xmm7
nysD11_x64.exe+29B6E3: FF 15 07 12 10 00        - call qword ptr [nysD11_x64.exe+39C8F0]
nysD11_x64.exe+29B6E9: 0F 57 C0                 - xorps xmm0,xmm0
nysD11_x64.exe+29B6EC: F3 0F 5A C6              - cvtss2sd xmm0,xmm6
nysD11_x64.exe+29B6F0: FF 15 FA 11 10 00        - call qword ptr [nysD11_x64.exe+39C8F0]
nysD11_x64.exe+29B6F6: 0F 57 C0                 - xorps xmm0,xmm0
nysD11_x64.exe+29B6F9: F3 0F 5A C7              - cvtss2sd xmm0,xmm7
nysD11_x64.exe+29B6FD: 0F 28 74 24 30           - movaps xmm6,[rsp+30]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>73</ID>
              <Description>"倍率 / Multiplier"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Float</VariableType>
              <Address>vf_move_speed_multi</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
    <CheatEntry>
      <ID>34</ID>
      <Description>"那由多之軌跡：改 / Nayuta no Kiseki:KAI  /  https://opencheattables.com  /  CE 7.4+"</Description>
      <Color>400080</Color>
      <GroupHeader>1</GroupHeader>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <LuaScript>function onMemRecPostExecute(memoryrecord, newState, succeeded )
    if memoryrecord.Type == vtAutoAssembler and memoryrecord.Script:find("NO_ACTIVATE") and newState and succeeded then
        memoryrecord.disableWithoutExecute()
    end
end
</LuaScript>
</CheatTable>
