<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="46">
  <CheatEntries>
    <CheatEntry>
      <ID>2209</ID>
      <Description>"THE KING OF FIGHTERS '97 GLOBAL MATCH"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
      <Color>C08000</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]

aobscanmodule(One,KOF97.exe,0F B7 81 38 82 00 00)
aobscanmodule(Two,KOF97.exe,0F B7 04 08 C3 6A 02 50 E8 09)

alloc(newmemOne,$1000)
alloc(newmemTwo,$1000)
alloc(newmemThree,$1000)
alloc(Three,1)
alloc(Four,1)
alloc(Five,1)
alloc(Six,1)
alloc(Seven,1)
alloc(Eight,1)
alloc(Nine,1)
alloc(Ten,1)

registersymbol(One)
registersymbol(Two)
registersymbol(Three)
registersymbol(Four)
registersymbol(Five)
registersymbol(Six)
registersymbol(Seven)
registersymbol(Eight)
registersymbol(Nine)
registersymbol(Ten)

label(codeOne)
label(codeTwo)
label(codeThree)
label(codeFour)
label(returnOne)
label(returnTwo)

Three:
  db 0

Four:
  db 0

Five:
  db 0

Six:
  db 0

Seven:
  db 0

Eight:
  db 0

Nine:
  db 0

Ten:
  db 0

newmemOne:
  cmp byte ptr [Three],1
  je codeOne
  cmp byte ptr [Four],1
  je codeTwo
  movzx eax,word ptr [ecx+00008238]
  jmp returnOne

codeOne:
  mov word ptr [ecx+00008238],67
  jmp returnOne

codeTwo:
  mov word ptr [ecx+00008238],0
  jmp returnOne

One:
  jmp newmemOne
  nop 2

returnOne:

newmemTwo:
  cmp byte ptr [Five],1
  je codeThree
  cmp byte ptr [Six],1
  je codeFour
  movzx eax,word ptr [eax+ecx]
  ret
  jmp returnTwo

codeThree:
  mov word ptr [eax+ecx],67
  ret
  jmp returnTwo

codeFour:
  mov word ptr [eax+ecx],0
  ret
  jmp returnTwo

Two:
  jmp newmemTwo

returnTwo:

{$lua}
  writeBytes(getAddress("Seven"),0)
  writeBytes(getAddress("Eight"),0)
  writeBytes(getAddress("Nine"),0)
  writeBytes(getAddress("Ten"),0)
  if power ~= nil then
  power.destroy()
  power = nil
  end
  local pipOne = getAddress("KOF97.exe+2BFEC2")
  local gaugeOne = getAddress("KOF97.exe+2BFDC9")
  local pipTwo = getAddress("KOF97.exe+2C00C2")
  local gaugeTwo = getAddress("KOF97.exe+2BFFC9")
  power = createTimer()
  power.Interval = 1000
  power.OnTimer = function()
  local toggleOne = readBytes(getAddress("Seven"),1,false)
  local toggleTwo = readBytes(getAddress("Eight"),1,false)
  local toggleThree = readBytes(getAddress("Nine"),1,false)
  local toggleFour = readBytes(getAddress("Ten"),1,false)
  if toggleOne == 1 then
  writeBytes(pipOne,3)
  writeBytes(gaugeOne,0x81)
  elseif toggleTwo == 1 then
  writeBytes(pipOne,0)
  writeBytes(gaugeOne,0)
  end
  if toggleThree == 1 then
  writeBytes(pipTwo,3)
  writeBytes(gaugeTwo,0x81)
  elseif toggleFour == 1 then
  writeBytes(pipTwo,0)
  writeBytes(gaugeTwo,0)
  end
  end
{$asm}

[DISABLE]

One:
  db 0F B7 81 38 82 00 00

Two:
  db 0F B7 04 08 C3

unregistersymbol(One)
unregistersymbol(Two)
unregistersymbol(Three)
unregistersymbol(Four)
unregistersymbol(Five)
unregistersymbol(Six)
unregistersymbol(Seven)
unregistersymbol(Eight)
unregistersymbol(Nine)
unregistersymbol(Ten)

dealloc(newmemOne)
dealloc(newmemTwo)
dealloc(newmemThree)
dealloc(Three)
dealloc(Four)
dealloc(Five)
dealloc(Six)
dealloc(Seven)
dealloc(Eight)
dealloc(Nine)
dealloc(Ten)

{$lua}
  if power ~= nil then
  power.destroy()
  power = nil
  end
{$asm}
</AssemblerScript>
      <CheatEntries>
        <CheatEntry>
          <ID>2210</ID>
          <Description>"==== Player 1 ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>2263</ID>
              <Description>"Freeze Time"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Eleven,KOF97.exe,88 1C 08 EB 0F 0F B6 D3 6A 01 52 50 E8 40 D1)
alloc(newmem,$1000)

label(code)
label(return)

newmem:
  cmp eax,A83B
  jne code
  movzx edx,byte ptr [KOF97.exe+2BFEE2]
  cmp dl,C8
  jb return
  cmp dl,FA
  ja return

code:
  mov [eax+ecx],bl
  jmp KOF97.exe+61073

Eleven:
  jmp newmem

return:
registersymbol(Eleven)

[DISABLE]

Eleven:
  db 88 1C 08 EB 0F

unregistersymbol(Eleven)
dealloc(newmem)
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2290</ID>
              <Description>"⬆It will still count down occasionally in some modes."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>2212</ID>
              <Description>"Infinite Health"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Three:
  db 1

[DISABLE]

Three:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2197</ID>
              <Description>"Infinite Power"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Seven:
  db 1

[DISABLE]

Seven:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2279</ID>
              <Description>"Infinite Combo"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if combo then
  combo.setEnabled(false)
  combo.destroy()
  combo = nil
  end
  do
  local addr = getAddress("KOF97.exe+2C0091")
  if not addr then return end
  local prev = readBytes(addr,1)
  local allow = false
  combo = createTimer(nil,false)
  combo.Interval = 500
  combo.OnTimer = function(timer)
  if getOpenedProcessID() == 0 then
  timer.setEnabled(false)
  timer.destroy()
  combo = nil
  return
  end
  local current = readBytes(addr,1)
  if not current then return end
  if current == 0x99 then
  allow = true
  elseif current == 0x00 and allow then
  allow = false
  elseif not allow and current &lt; prev then
  writeBytes(addr,prev)
  return
  end
  prev = current
  end
  combo.setEnabled(true)
  end
{$asm}

[DISABLE]

{$lua}
  if combo then
  combo.setEnabled(false)
  combo.destroy()
  combo = nil
  end
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2203</ID>
              <Description>"Opponent Zero Power"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Ten:
  db 1

[DISABLE]

Ten:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2213</ID>
              <Description>"Quick Win"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Six:
  db 1

[DISABLE]

Six:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2314</ID>
              <Description>"Costume"</Description>
              <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
              <Color>C08000</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>2311</ID>
                  <Description>"First"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2C242F</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2488</ID>
                  <Description>"Second"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2C242E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2489</ID>
                  <Description>"Third"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2C2431</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>2217</ID>
          <Description>"==== Player 2 ===="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>2218</ID>
              <Description>"Infinite Health"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Five:
  db 1

[DISABLE]

Five:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2202</ID>
              <Description>"Infinite Power"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Nine:
  db 1

[DISABLE]

Nine:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2288</ID>
              <Description>"Infinite Combo"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if combo then
  combo.setEnabled(false)
  combo.destroy()
  combo = nil
  end
  do
  local addr = getAddress("KOF97.exe+2BFE91")
  if not addr then return end
  local prev = readBytes(addr,1)
  local allow = false
  combo = createTimer(nil,false)
  combo.Interval = 500
  combo.OnTimer = function(timer)
  if getOpenedProcessID() == 0 then
  timer.setEnabled(false)
  timer.destroy()
  combo = nil
  return
  end
  local current = readBytes(addr,1)
  if not current then return end
  if current == 0x99 then
  allow = true
  elseif current == 0x00 and allow then
  allow = false
  elseif not allow and current &lt; prev then
  writeBytes(addr,prev)
  return
  end
  prev = current
  end
  combo.setEnabled(true)
  end
{$asm}

[DISABLE]

{$lua}
  if combo then
  combo.setEnabled(false)
  combo.destroy()
  combo = nil
  end
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2198</ID>
              <Description>"Opponent Zero Power"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Eight:
  db 1

[DISABLE]

Eight:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2219</ID>
              <Description>"Quick Win"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

Four:
  db 1

[DISABLE]

Four:
  db 0
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2315</ID>
              <Description>"Costume"</Description>
              <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1"/>
              <Color>C08000</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>2490</ID>
                  <Description>"First"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2C243E</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2492</ID>
                  <Description>"Second"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2C2441</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2491</ID>
                  <Description>"Third"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2C2440</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>2223</ID>
          <Description>"==== Extras ====="</Description>
          <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
          <Color>C080FF</Color>
          <GroupHeader>1</GroupHeader>
          <CheatEntries>
            <CheatEntry>
              <ID>2494</ID>
              <Description>"Debug"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>C08000</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>2224</ID>
                  <Description>"Menu"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2B7BE0</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2493</ID>
                  <Description>"Debug"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <ShowAsSigned>0</ShowAsSigned>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2B7BE1</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>2289</ID>
              <Description>"Animations"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>C08000</Color>
              <GroupHeader>1</GroupHeader>
              <CheatEntries>
                <CheatEntry>
                  <ID>2280</ID>
                  <Description>"Player 1"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2BFD52</Address>
                </CheatEntry>
                <CheatEntry>
                  <ID>2270</ID>
                  <Description>"Player 2"</Description>
                  <DropDownList DescriptionOnly="1" DisplayValueAsItem="1">??:Waiting
</DropDownList>
                  <Color>808080</Color>
                  <VariableType>Byte</VariableType>
                  <Address>KOF97.exe+2BFF52</Address>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>2225</ID>
              <Description>"View Gallery"</Description>
              <Options moHideChildren="1" moDeactivateChildrenAsWell="1"/>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

aobscanmodule(Twelve,KOF97.exe,66 83 3C 45 80 F6 53 00 00 75 10)
alloc(newmem,$1000)

label(code)
label(return)

newmem:

code:
  mov word ptr [eax*2+KOF97.exe+13F680],1
  jmp return

Twelve:
  jmp newmem
  nop 4

return:
registersymbol(Twelve)

[DISABLE]

Twelve:
  db 66 83 3C 45 80 F6 53 00 00

unregistersymbol(Twelve)
dealloc(newmem)
</AssemblerScript>
              <CheatEntries>
                <CheatEntry>
                  <ID>2226</ID>
                  <Description>"Enable before entering the gallery."</Description>
                  <Color>C0C0C0</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
                <CheatEntry>
                  <ID>2227</ID>
                  <Description>"The gallery is not permanently unlocked."</Description>
                  <Color>C0C0C0</Color>
                  <GroupHeader>1</GroupHeader>
                </CheatEntry>
              </CheatEntries>
            </CheatEntry>
            <CheatEntry>
              <ID>2502</ID>
              <Description>"CPU vs CPU"</Description>
              <Color>C08000</Color>
              <VariableType>Auto Assembler Script</VariableType>
              <AssemblerScript>[ENABLE]

{$lua}
  if versus then
  versus.destroy()
  versus = nil
  end
  local check = getAddress("KOF97.exe+2C68A7")
  local target = getAddress("KOF97.exe+2C23D3")
  versus = createTimer()
  versus.Interval = 100
  versus.OnTimer = function()
  if getOpenedProcessID() == 0 then
  versus.destroy()
  versus = nil
  return
  end
  local value = readBytes(check,1,false)
  if value == 1 then
  writeBytes(target,3)
  else
  writeBytes(target,0)
  end
  end
{$asm}

[DISABLE]

{$lua}
  if versus then
  versus.destroy()
  versus = nil
  end
  writeBytes("KOF97.exe+2C23D3",3)
{$asm}
</AssemblerScript>
            </CheatEntry>
            <CheatEntry>
              <ID>2237</ID>
              <Description>"⬆You may need to change your difficulty level in the game options."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>2229</ID>
              <Description>"⬆Enable before entering a match; if enabled mid-match, it activates next round."</Description>
              <Color>C0C0C0</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols/>
  <Comments>Created by: Outrun
https://opencheattables.com
</Comments>
</CheatTable>
