<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="45">
  <CheatEntries>
    <CheatEntry>
      <ID>333515</ID>
      <Description>"FoV Modifier"</Description>
      <Color>0000FF</Color>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>{ Game   : TheCallistoProtocol-Win64-Shipping.exe
  Version: 
  Date   : 2022-12-02
  Author : Akira Fudo

8B 42 18 89 41 18
8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 41 ? 33 42 ? 83 E0 ? 31 41 ? 8B 41 ? 33 42 ? 83 E0 ? 31 41 ? 8A 42 ? 88 41 ? 8B 42 ? 48 83 C2 ? 89 41 ? 48 83 C1 ? E8 ? ? ? ? F2 0F ? ? ? ? ? ? F2 0F
}

[ENABLE]

aobscanmodule(FieldOfView,$process,8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 42 ? 89 41 ? 8B 41 ? 33 42 ? 83 E0 ? 31 41 ? 8B 41 ? 33 42 ? 83 E0 ? 31 41 ? 8A 42 ? 88 41 ? 8B 42 ? 48 83 C2 ? 89 41 ? 48 83 C1 ? E8 ? ? ? ? F2 0F ? ? ? ? ? ? F2 0F)
alloc(newmem,$1000,FieldOfView)

label(code)
label(return)

newmem:

code:
  mov eax,[FieldOfView_F]
  mov [rcx+18],eax
  jmp return

FieldOfView_F:
  dd (float)90

FieldOfView:
  jmp newmem
  nop
return:
registersymbol(FieldOfView)
registersymbol(FieldOfView_F)

{$LUA}
memrec.Color = 0x0000FF00 --;AABBGGRR Green
{$ASM}
[DISABLE]
{$LUA}
memrec.Color = 0x000000FF --;AABBGGRR Red
{$ASM}

FieldOfView:
  db 8B 42 18 89 41 18

unregistersymbol(FieldOfView)
unregistersymbol(FieldOfView_F)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: TheCallistoProtocol-Win64-Shipping.exe+9CDA2A

TheCallistoProtocol-Win64-Shipping.exe+9CDA06: F2 0F 10 02     - movsd xmm0,[rdx]
TheCallistoProtocol-Win64-Shipping.exe+9CDA0A: 48 8B FA        - mov rdi,rdx
TheCallistoProtocol-Win64-Shipping.exe+9CDA0D: F2 0F 11 01     - movsd [rcx],xmm0
TheCallistoProtocol-Win64-Shipping.exe+9CDA11: 48 8B D9        - mov rbx,rcx
TheCallistoProtocol-Win64-Shipping.exe+9CDA14: 8B 42 08        - mov eax,[rdx+08]
TheCallistoProtocol-Win64-Shipping.exe+9CDA17: 89 41 08        - mov [rcx+08],eax
TheCallistoProtocol-Win64-Shipping.exe+9CDA1A: F2 0F 10 42 0C  - movsd xmm0,[rdx+0C]
TheCallistoProtocol-Win64-Shipping.exe+9CDA1F: F2 0F 11 41 0C  - movsd [rcx+0C],xmm0
TheCallistoProtocol-Win64-Shipping.exe+9CDA24: 8B 42 14        - mov eax,[rdx+14]
TheCallistoProtocol-Win64-Shipping.exe+9CDA27: 89 41 14        - mov [rcx+14],eax
// ---------- INJECTING HERE ----------
TheCallistoProtocol-Win64-Shipping.exe+9CDA2A: 8B 42 18        - mov eax,[rdx+18]
// ---------- DONE INJECTING  ----------
TheCallistoProtocol-Win64-Shipping.exe+9CDA2D: 89 41 18        - mov [rcx+18],eax
TheCallistoProtocol-Win64-Shipping.exe+9CDA30: 8B 42 1C        - mov eax,[rdx+1C]
TheCallistoProtocol-Win64-Shipping.exe+9CDA33: 89 41 1C        - mov [rcx+1C],eax
TheCallistoProtocol-Win64-Shipping.exe+9CDA36: 8B 42 20        - mov eax,[rdx+20]
TheCallistoProtocol-Win64-Shipping.exe+9CDA39: 89 41 20        - mov [rcx+20],eax
TheCallistoProtocol-Win64-Shipping.exe+9CDA3C: 8B 42 24        - mov eax,[rdx+24]
TheCallistoProtocol-Win64-Shipping.exe+9CDA3F: 89 41 24        - mov [rcx+24],eax
TheCallistoProtocol-Win64-Shipping.exe+9CDA42: 8B 42 28        - mov eax,[rdx+28]
TheCallistoProtocol-Win64-Shipping.exe+9CDA45: 89 41 28        - mov [rcx+28],eax
TheCallistoProtocol-Win64-Shipping.exe+9CDA48: 8B 42 2C        - mov eax,[rdx+2C]
}
</AssemblerScript>
      <Hotkeys>
        <Hotkey>
          <Action>Toggle Activation</Action>
          <Keys>
            <Key>116</Key>
          </Keys>
          <Description>Toggle on/off</Description>
          <ID>0</ID>
        </Hotkey>
      </Hotkeys>
      <CheatEntries>
        <CheatEntry>
          <ID>333514</ID>
          <Description>"FoV"</Description>
          <ShowAsSigned>0</ShowAsSigned>
          <Color>0052FB</Color>
          <VariableType>Float</VariableType>
          <Address>FieldOfView_F</Address>
          <Hotkeys>
            <Hotkey>
              <Action>Decrease Value</Action>
              <Keys>
                <Key>33</Key>
              </Keys>
              <Value>3</Value>
              <Description>Decrease FOV by 3</Description>
              <ID>0</ID>
            </Hotkey>
            <Hotkey>
              <Action>Increase Value</Action>
              <Keys>
                <Key>34</Key>
              </Keys>
              <Value>3</Value>
              <Description>Increase FOV by 3</Description>
              <ID>1</ID>
            </Hotkey>
            <Hotkey OnlyWhileDown="1">
              <Action>Set Value</Action>
              <Keys>
                <Key>2</Key>
              </Keys>
              <Value>60</Value>
              <Description>ADS</Description>
              <ID>2</ID>
            </Hotkey>
          </Hotkeys>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
  <UserdefinedSymbols>
    <SymbolEntry>
      <Name>gravbase</Name>
      <Address>7FF656D10000</Address>
    </SymbolEntry>
  </UserdefinedSymbols>
</CheatTable>
